Press "Enter" to skip to content

浅谈相似视频检索技术

 

 

前言

 

近几年视频成为了人们记录和分享生活的主要手段。

 

像抖音、快手等视频应用,越来越受到年轻人的喜爱。无论是活跃用户的数量,还是用户的视频创作量,每年都在显着增加。据相关统计,每分钟视频网站就要增加近400小时的内容[1]。

 

在这些新上传视频中,相似的视频往往不在少数。如果能够检测出其中相似的视频,对实现 视频去重 、 版权保护 、 热门视频推荐 等具有重要的意义。

 

本篇文章将分享一些 相似视频检索 最新的进展,包括:

 

1) 相似视频 定义 ;

 

2) 公开数据集 ;

 

3) 代表性 方法。

 

1定义

 

相似视频又称为 Near-Duplicate-Video (NDV) [2]。字面意思就是接近复制的视频。

 

相比于图像 :

 

视频包含了 时间维度 ,使得视频包含了极为 丰富 的 信息量 。这也使得从内容上衡量两个视频变得比较困难。

 

为此学术界对 NDV 类型 的 视 频 做了一个定义,即相似视频是在原始视频上,在 光度 、 画面编辑 、以及 编码 等方面进行了修改。 具体如下:

 

 

比如下面的图像中,右边的视频在左边视频的基础上增加了 滤镜 和 文字操作 。

 

 

而在下面的图片中:左边的视频和右边的视频拍摄的同一个场景,但是由不同的用户在不同时刻拍摄的,不符合相似视频的定义。

 

 

2

 

相关

 

数据集

 

相似视频检索技术已经有很长的发展历史,主要是是 从视频数据库中查找出和当前视频接近的视频 ,因而也出现了不少与之相关的数据集。

 

像 CC_WEB_VIDEO 、 MUSICLE-VDC 、 TRECVID 以及 UQ_VIDEO 这些数据集提出的时间比较早,数据集中查询视频的个数以及视频内容的丰富程度都比较低,不少采用传统特征的方法也取得了不错的效果。

 

近几年随着深度学习的火热,出现了更大规模的视频数据集 。 19年的SVD短视频数据集拥有56万个视频,无论是查询 视频的数量 以及视频在相似层面的变化程度,都 对现有的算法提出了更高的要求 。

 

此外像 FVIR细粒度事件检索数据集 ,包含更加宽泛的相似视频。而在老数据集上取得不错效果的一些方法,难以在新的数据集上跑出满意的效果。

 

 

3

 

代表

 

方法

 

相似视频检索的方法,主要包括 两个主要步骤: 视频特征提取 和 检索。 此外按照 视频特征 的类型,又可以分为 Frame Level 和 Video Level [2]。

 

1)Frame Level 方法

 

Frame Level的方法对视频的每一帧图像提取特征,然后 通过逐帧计算图像相似性 的方式来计算整个视频的相似度。

 

典型的代表方法是 循环时间编码 (circulant temporal encoding) [3]。这种类型,对每帧图像提取SIFT特征并做PCA降维后,采用循环时间编码和频域变换来表达视频的特征向量,以此在数据库中检索。此外还有 空间核匹配 (t emporal matching kernel) [4]等方法。

 

基于freme level的方法运行 开销比较大 , 很难应用在实际的场景中 。

 

2)Video Level方法

 

Video Level的方法,大多对视频 提取全局特征 ,并计算各个相似度来判断是否相似。 尤其是随着深度学习的发展,大多数视频特征的提取采用深度学习模型来取视频特征。主要是 先对视频中的图像帧提取卷积特征 , 再进行特征融合 。

 

2.1)  图像帧特征提取

 

深度学习在图像领域中的大多数任务是基于图片。在面向视频任务时,先提取视频的帧,接着利用预训练的分类模型进行正向传播,取其分类器之前的各层特征向量,作为图像的特征。

 

大多数方法采用inamgenet上预训练的 VGG 、 inception 或者 resnet模型 来 直接提取图像的特征向量 ,特征维度视模型的层数而定。

 

2.2)视频特征融合

 

对视频的图像帧分别提取了卷积特征之后需要进行特征融合,得到视频层面的全局特征。针对这个过程研究人员提出了很多种方式,主要包括 pooling法 、 BOW (bag of words) 、 度量学习 以及 哈希编码 等。

 

2.2.1)pooling

 

Pooling方法的思想是将视频中每帧的特征向量,在时间维度进行max pooling或者average pooling,从而 将多帧的特征转换为整个视频的特征 。

 

往往视频的长度是非固定的,将视频的多帧特征采用pooling的方式融合为全局特征向量,实现时间维度的特征压缩。这种方式 速度上有优势 ,但很大程度上 降低了特征的准确性 。

 

2.2.2)BOW词袋向量

 

词袋向量的典型方法是 CNNL [2]为代表。这种方式在提取到每帧特征的基础上,将特征提取网络中每层特征向量经过事先预训练的词袋模型,得到每层特征对应的词袋直方图, 将不同层的特征向量拼接 在一起,形成整个视频的表达特征。

 

论文中词袋的产生是每层取30万个特征样本进行聚类,得到1000个类中心,每层特征经过对应词袋时选择最近的聚类中心。

 

 

此外,此论文还提到也 直接将每一层的原始卷积特征拼接 后,再经过相应的词袋,得到每帧的直方图。从而形成视频的直方图向量 (CNNV) ,以此进行两个视频相似性的度量。

 

经过词袋模型对每帧图像特征的变换,相比于pooling的方式能更好的 保留视频中各个帧的特征 ,同时随着特征维度的降低,也会 加快 视频的 检索 过程。

 

2.2.3) 测量学习法

 

这种方法代表为 DML (Deep Metric Learning) [5]。对视频的每帧提取特征,和上面的方法类似,接着采用average pooling的方式融合多帧的特征,并采用多层全连接网络将特征转换到可度量的欧式空间中,再以此计算相似度。

 

 

论进行特征空间映射的全连接网络需要 额外训练 。论文中提出构建三元组的方式作为训练样本,每个三元组包含待查询的视频、相似的视频以及不相似的视频,三元组里两个相似视频的特征欧式距离要小于非相似视频间的距离。

 

因此每个 三元组 的 loss函数 如下图所示:

 

 

通过最小化训练样本中所有三元组的 loss函数之和 ,训练出最佳的全连接特征映射网络,从而 实现 视频特征到度量空间的 最佳映射 。

 

相比于BOW这种方式需要较多的先验参数,通过测量学习的方式有 更好的泛化能力。 这种方式同样将视频的多帧特征转换到了低维,可以 更快的检索 。

 

2.2.4)效果对比

 

文章[1]在不同数据集上对比了上面的几种方法。

 

 

测量学习的方法虽然总体最好,但是随着视频变化程度的增加 (如增加黑边、旋转等) , 所有方法的效果大幅度下降。

 

3)视频检索方法

 

相似视频检索的 目的 是 从大量的数据库中检索出与当前视频相似的视频 。

 

通过上面的方式获取视频的全局特征后,计算两个视频全局特征的距离可以判断视频的相似程度。因而可以逐个计算数据库中所有视频与当前视频的相似程度,找到相似度最高的那个视频,但是这种 暴力检索 的方式,很难应对大规模的数据库。

 

另一种方式就是 哈希编码 ,在提取到视频的全局特征的基础上,对其进行哈希编码,基于哈希值可以大大提升视频检索的速度。

 

目前已经有不少哈希编码方法 都可以对加速检索的过程。 如:

 

locality sensitive hashing (LSH)

 

iterative quantization (ITQ)

 

isotropic hashing (IsoH)

 

Hamming distance metric learning (HDML) 等

 

论文[1]在采用pooling的方式获取视频全局特征后,基于不同哈希编码的视频检索 效果对比 如下:

 

 

在论文中采用的数据集 上哈希编码的查询方法, 准确度 要 低 于上面的几种方法。也可 以看出哈希编码虽然可以加速视频检索的过程,但也会伴随着查询精度的下降。

 

除了上述的这些方法,其他诸如 3D卷积网络 的视频提取方式也在逐步得到应用。相比于2d卷积融合的方法也有一定的优势,但是仍然面临 较大的时间开销 。

 

4

 

 

 

相似视频检索 , 对视频业务来说其重要程度不言而喻 。 学术界将对 图像提取特征 的 卷积网络,逐步应用到对视频特征提取上面, 在诸如相似 视频 的 检索方面, 已经有 了一定的成效。

 

但是在实际业务中视频的巨大数量以及繁多的内容类别,采用面向图片提取特征的手段,迁移到视频特征层面时仍然难以取得较好的效果,视频检索任务离真正落地应用还有很长的路要走。

 

参考文献:

 

[1] Jiang Q Y, He Y, Li G, et al. SVD: A Large-Scale Short Video Dataset for Near-Duplicate Video Retrieval[C]//Proceedings of the IEEE International Conference >

 

[2] Kordopatis-Zilos G, Papadopoulos S, Patras I, et al. Near-duplicate video retrieval by aggregating intermediate cnn layers[C]//International conference >

 

[3]  J´erˆome Revaud, Matthijs Douze, Cordelia Schmid, and Herv´e J´egou. Event retrieval in large video collections with circulant temporal encoding. In CVPR, pages 2459–2466, 2013.

 

[4]  S´ebastien Poullot, Shunsuke Tsukatani, Phuong Anh Nguyen, Herv´e J´egou, and Shin’ichi Satoh. Temporal matching kernel with explicit feature maps. In MM, pages 381–390, 2015

 

[5] Kordopatis-Zilos G, Papadopoulos S, Patras I, et al. Near-duplicate video retrieval with deep metric learning[C]//Proceedings of the IEEE International Conference >

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注