总篇54篇 2019年第28篇
近几年,通过视频分享生活越来越来越受人们的欢迎,用户可自由地上传下载小视频,然而面对如此海量的视频数据有很大一部分属于近重复视频。
什么是近重复视频
近重复视频是指视频彼此之间接近重复,但在光度变化(颜色、光照变化)、编辑操作(标题、徽标和边框插入)、编码参数、文件格式、不同长度和其他修改方面有所不同的视频[1]。如下图1展示了近重复视频的几种情况。该定义并不是统一标准的定义,在实际应用场景中可根据项目实际业务需求变化。
图 1近重复视频示例
为什么要做视频去重
为保护之家平台用户上传的视频版权,尊重其独创性。小视频去重的项目需求应用而生。
视频去重可应用在以下几个方面:
视频数据库去重:一方面可用于已有视频数据库的自身去重,另一方面还可用于请求视频数据与已有视频数据库的检索匹配去重。
搜索结果重排序:就是对搜索结果应用近重复视频检索技术,然后修改得分情况,在保证搜索到想要结果的基础上,增加搜索结果的丰富性和多样性。
个性化视频推荐:根据用户浏览历史记录和标签,推荐感兴趣的近重复视频。
面临的挑战
检索精度:同一种方法在不同的应用中,性能可能发生很大变化,这就要求所提出的算法技术在一定程度上具有较强的可扩展性和鲁棒性,来应对复杂的情况。
检索速度:如何应对不断增长的数据量,以及如何在更大规模的数据集上实现高效的检索效率也是不可避免面临的挑战。
语义鸿沟:即某些视频的低层特征十分相近,但视频本身的内容或意义却相差很大,类似于图像间存在的“语义鸿沟”。
如果对重复视频检索领域的技术发展历程与应用想有更深入的了解,可以参考一下文末的论文,本文主要是介绍视频去重算法在之家的实践应用。
近重复视频检索分为线上处理和线下处理两个流程:
线下处理过程:视频数据库提取关键帧➡提取关键帧特征➡视频间相似度计算(自身去重)➡特征存储。
线上处理过程:请求视频提取关键帧➡提取关键帧特征➡与存储的特征进行相似度计算➡近重复视频的检索结果。
近重复视频检索的一般框架如下图2所示:
图 2近重复视频检索的一般框架
要实现视频去重,也就需要先检索出近似重复的视频。近重复视频检索的主要流程有视频关键帧提取、关键帧特征提取和视频间相似度度量。
短视频:公司小视频时长一般在15s左右,若提取定长的视频特征,则设置为每个视频抽取10个关键帧;若提取不定长的视频特征,则设置为均匀采样每秒抽一帧作为关键帧。
长视频:公司长视频时长一般在5min左右,可采用上述短视频的方法抽帧,也可采用基于图像帧间序列比较的关键帧提取,基于图像帧间全局比较的关键帧提取,基于聚类的关键帧提取,基于事件检测的关键帧提取等方法。
在视频的关键帧特征提取阶段,采用通过聚合vgg16的中间卷积层的激活来构建帧图像的特征,网络结构如下图3所示:
图3聚合vgg16的中间卷积层
上图3中,将输入帧的大小调整为224×224作为输入,每一个中间卷积层应用最大池化,然后通过零均值和L2-normalization对帧特征进行归一化,得到最终表示的帧特征(4096维)。
将每一个视频的所有帧特征拼接在一起后(n×4096维,n为一个视频的关键帧帧数),应用平均和归一化(零均值和L2归一化)得到最终表示的一个视频特征(4096维)。
本阶段的网路结构权重参数是预训练好的,不再更新,所以不属于近重复视频检索训练过程的一部分。
训练网络结构图
如下图4所示,采用基于度量学习的近重复视频检索的训练网络结构图,训练过程使用三元组损失函数,学习DNN网络结构的参数。
其中training samples是在vgg特征提取阶段生成的一个个.npy形式的视频特征文件。
triplet generator是以三元组形式的N个训练实例的集合,其中是查询视频的特征向量,是正视频(即与互为近似重复的视频)的特征向量,是负视频(即与互为不相似的视频)的特征向量。三元组表示三个视频之间的相对相似性顺序,即与相比,更类似于。三元组的个数等于视频语料库的大小N上的3组合的总数,即。
损失函数
在训练过程中使用如下损失函数:
(1)
上述公式(1)中,γ是一个边界参数,目的是为了保证正查询距离(即查询视频和正视频之间的距离)和负查询距离(即查询视频和负视频之间的距离)之间足够大的差异。如果在边缘γ内正确计算视频距离,则该三元组不会受到惩罚。否则,损失是损失的凸近似,其测量违反由三元组指定的视频对之间的期望距离的程度。
故使用批量梯度下降来优化上述等式中描述的目标函数:
(2)
上述公式(2)中λ是正则化参数,防止模型的过拟合,m是三元组小批量(mini-batch)的总大小。最小化该损失将缩小查询视频与正视频之间的距离,同时增大查询视频与负视频之间的距离,从而得到满足期望视频特征排序顺序的表示。
DNN网络
如下图5所示为使用的DNN网络结构图,DNN的三层神经元个数分别为2000,1000,500,视频v(4096维)经过DNN之后成为(500维)。
图5 DNN网络结构图
距离度量
距离计算:用欧几里德距离计算任意两个视频q和p之间的距离,如公式(3)所示:
(3)
其中、是将视频p、q映射到高维空间后的特征值(即视频由4096维的特征经过DNN网络之后变为500维的特征),θ为系统参数。
相似性计算:用两个视频之间的距离来表示相似性,对于给定查询视频q和一组M个候选视频,每个候选对之间的相似性由公式(4)确定。
(4)
训练过程
如下图6所示为训练和三元组的生成过程,图中白色圆圈为任意给定的查询视频,蓝色圆圈为近重复视频,红色圆圈和为干扰视频,橙色圆圈为不相似的视频。
训练之前:。因此,将创建两个三元组和,视频不会生成任何三元组,因为它与两个互为近重复视频的距离大于它们之间的距离。
训练之后:查询视频与近重复视频之间的距离小于任何其他不同视频的距离,如下图6中右图所示:
图 6训练前后高维空间中的视频表示
训练集
核心数据集:作为查询视频和正视频(近似重复的视频)。
背景数据集:用作负视频(不相似的视频)。背景数据集中包含有与查询视频的距离小于正视频与查询视频的距离,因为只有这样才能生成三元组。
视频标注:近似重复的视频会处于同一个文件夹中,编写脚本实现生成.pickle格式的数据集,若两个视频处于同一个文件夹中,则其视频索引相对应的值标注为1,否则标注为0。
测试集
数据集:采用CC_Web_Video公开数据集对模型验证测试。
评估指标:采用平均精度(mAP): (5)
公式(5)中,n是查询视频的相关视频的数量,是第i个检索到的相关视频的等级。
上述项目模型中,根据视频关键帧特征之间的距离来计算视频之间的相似度。在视频的关键帧特征生成全局特征表示的过程中,视频关键帧之间是无序的,为了有效利用视频的时间信息,网络模型中加入LSTM以提取视频的时序特征。
此外,为了更准确的提取视频的有效特征,借鉴论文[6]中的思想,在视频特征提取过程中引入Attention机制。基于如下公式(6)、(7)、(8)实现:
公式 (6) 中,是第i时刻上一层LSTM的output输出;均使用正态分布初始化,维度大小分别是:[hidden_size, attention_size],[attention_size],[attention_size]
如下图8所示为视频去重流程图:
图8 视频去重流程图
上述模型的准确率为98.5%,在检索速度上由原来的7s优化到2s,视频去重算法在之家小视频业务中应用后,检索到视频库里25%的重复视频。
本文对视频去重算法在之家小视频流业务中的应用流程做了大致的梳理,如有错误还望指正。
[1] X. Wu, A. G. Hauptmann, and C.-W. Ngo. Practical elimination ofnear-duplicates from web video search. In Proceedings of the 15th ACMinternational conference on Multimedia, pages 218–227. ACM, 2007.
[2] Y. Hao, T. Mu, R. Hong, M. Wang, N. An, and J. Y. Goulermas.Stochastic multiview hashing for large-scale nearduplicate video retrieval.IEEE Transactions on Multimedia, 19(1):1–14, 2017.
[3]G. Kordopatis-Zilos, S. Papadopoulos, I. Patras and Y.Kompatsiaris, "Near-Duplicate Video Retrieval with Deep MetricLearning," 2017 IEEE International Conference on Computer VisionWorkshops (ICCVW), Venice, pp. 347-356, 2017.
[4]R. Arandjelović, P. Gronat, A. Torii, T. Pajdla and J. Sivic,"NetVLAD: CNN Architecture for Weakly Supervised Place Recognition,"in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol.40, no. 6, pp. 1437-1451, 1 June 2018.
[5]Jun Xu, Ting Yao, Yongdong Zhang, Tao Mei . Learning MultimodalAttention LSTM Networks for Video Captioning. Published in ACM Multimedia, 2017.
[6]Yang, Zichao et al. “Hierarchical Attention Networks for DocumentClassification.” HLT-NAACL, 2016.
[7]Long, Xiang & Gan, Chuang & de Melo, Gerard & Wu,Jiajun & Liu, Xiao & Wen, Shilei. Attention Clusters: Purely AttentionBased Local Feature Integration for Video Classification, 2017.
[8]F. Wang et al., "Residual Attention Network for ImageClassification," 2017 IEEE Conference on Computer Vision and PatternRecognition (CVPR), Honolulu, HI, pp. 6450-6458, 2017.
[9] G. Kordopatis-Zilos, S. Papadopoulos, I. Patras, and Y.Kompatsiaris. Near-duplicate video retrieval by aggregating intermediate cnnlayers. In International Conference on Multimedia Modeling, pages 251–263.Springer, 2017.
[10] F. Radenovic, G. Tolias, and O. Chum. Cnn image retrieval ´learns from bow: Unsupervised fine-tuning with hard examples. In EuropeanConference on Computer Vision, pages 3–20. Springer, 2016.