ICCV 2019 | 视频综合理解:行为识别、场景识别以及视频综述

点击我爱计算机视觉标星,更快获取CVML新技术


本文经作者授权转载自知乎:

https://zhuanlan.zhihu.com/p/91986833

未经许可,禁止二次转载。

导语:计算机视觉领域顶级会议 ICCV 2019 于11月2日在韩国首尔完美落下帷幕。来自世界各地的企业、学生、顶级学者等共计7500人共同参加了这次盛会。其中在 Comprehensive Video Understanding in the Wild (简称:CoVieW) Workshop举办的挑战赛中,新华智云研发的视频综合理解系统取得了第一名的成绩。

我们邀请了智云团队的领队--北京 AI LAB 负责人蒋宇东详细介绍了本次挑战赛中智云针对视频综合理解问题所提出的解决方案。
这是我们的论文地址:

http://openaccess.thecvf.com/content_ICCVW_2019/papers/CoView/Jiang_Comprehensive_Video_Understanding_Video_Summarization_with_Content-Based_Video_Recommender_Design_ICCVW_2019_paper.pdf

问题

在视频理解领域,我们设计了很多的任务用来让计算机“看懂”视频。如:行为分类、场景分类、事件检测、视频综述、视频描述等。特别是在行为分类领域,在Kinetics、Youtube-8M 这样的大规模数据集的驱动下,涌现出了非常多的优秀工作。

多数的工作都聚焦在行为分类或者场景分类等某一个独立的问题上,而没有很好的考虑场景和行为直接存在着内在的联系。同样,视频摘要也与分类存在着非常紧密的联系,如何能够在充分理解一个人在做什么,在哪里发生的行为,同时还能概括出视频中描述的关键信息,是非常重要的问题。


CoVieW 2019 挑战赛提出了这个非常具有挑战性的问题:对视频进行多角度的综合理解,同时完成行为分类、场景分类、视频综述三个任务。

数据集

整个数据集采集自Youtube-8M, 包含了1500段长视频,按照每5秒钟一个片段切割成了67615条片段。每个片段都标注了场景/行为标签,一共包含99个行为类别,79个场景类别。同时每个片段都都会经过重要度的打分,分数取值0~2,0代表不重要,2代表非常重要。每个片段的重要性都经过了20个人的评分,所有人评分的均值作为该片段最终的重要性得分。

值得一提的是,之前被广泛使用的视频综述数据集:TVSum包括50个视频,SumMe包含25个视频,MED包含160个视频,OVP包含50个视频。之所以视频综述的数据集都非常小,是因为标注这样的数据集需要非常多的人力成本,笔者粗略估算一下,仅就CoVieW2019的重要性标注来讲,需要人工标注1,352,300次视频片段的重要程度,大概相当于 620(天/人) 的工作量。在视频综述领域,CoVieW2019 是最大规模的数据集。

评价指标


视频分类的评价指标采用 Top-K hamming 得分:

其中 L=2, K=5, 当A和B的label一致时 AND(A,B)=1,否则AND(A,B)=0。

视频重要性得分采用如下定义:
 其中Score(k,GT_i) 代表了第k个video中按重要性排序的第i个片段的Ground truth summary得分,Score(k, sub_i) 代表了按提交重要性排序的第i个片段的Ground truth summary得分。

视频分类解决方案


首先采用了 I3D+Non-local Attention 方法进行视频分类。分成2种情况,(1)场景和行为分类做为2个分支共享同一个backbone。(2)每个任务做一个独立的模型。


另外,我们采一些公开数据集进行数据的补充,对于行为识别任务使用了来自HMDB、Kinetics、UCF-101的数据;对于场景识别,采用了Places360,Sun数据集。由于场景识别采用了图像数据,所以我们也使用了 ResNet50 + Avg Pooling的方案训练了基于图像训练的视频场景识别分类器。最终,我们将所有的模型进行了集成,做为提交结果。


为了加速视频训练的速度,我们采用了异步数据加载的解决方案。可以部署在不同机器上的Producer负责数据的IO,视频解析抽样,数据的augmentation,最终将数据处理成可直接载入GPU的形式,写入GPU服务器上的内存队列中。视频训练Consumer直接从内存中读取训练数据,然后加载到GPU中进行训练,省去了等待IO和CPU处理的时间,提升了GPU的使用效率。在实验中,GPU的利用率始终保持在90%以上,大大的提升了视频训练的效率。


视频综述解决方案


视频综述就是从一段长视频中提取出对用户最有意义的片段或关键帧信息。我们采用基于内容的视频推荐方案来解决该问题。整个系统的流程如图1所示

图1 系统整体框架与流程

采用特征提取器对原始的视频片段进行特征提取,包括基于帧级别的高层语义特征、基于帧序列的高层语义特征、基于视觉底层的特征、音频特征等。系统对每一个片段建立输入特征与用户反馈(重要性分数)的关系进行建模,对视频片段在整个视频序列中的重要性进行预测。


因为判断某个视频片段是否重要取决于两部分的信息:1. 视频片段本身是否具有吸引力 2. 整个视频所描述的信息与该视频片段的关系。因此系统采用了对片段和整个视频序列进行显式建模的方案,提出了如图2所示的网络结构:

图2 视频综述网络结构

SegNet负责对输入的视频特征进行融合与建模,将每一个视频片段都embedding到一个n维的特征空间中。VideoNet负责对整个长视频进行建模,将SegNet编码的视频片段序列输入到系统中,VideoNet对序列进行学习后将该序列embedding到一个m维的向量空间中。

片段特征与视频整体特征进行concate后,输入到HighlightNet中,预测该片段的重要性。其中SegNet采用2D卷积神经网络实现,VideoNet采用双向GRU实现,HighlightNet采用双层全连接实现。

缓解过拟合

由于数据量比较小,并且视频的重要性存在比较大的主观性因素,模型在训练时非常容易出现过拟合状况。为了防止过拟合在训练中过早的发生,我们采用了一些Tricks。

Tricks1: 自学习

在训练VideoNet过程中,假设一个更加鲁棒的视频建模网络可以区分出视频片段的先后顺序是否是正确的。我们选取一小部分的视频片段随机打乱顺序,让VideoNet对打乱顺序的片段位置进行预测,同时假定部分视频片段的顺序发生变化不应该影响对综述任务的判定。该方法有如下的好处:1. 通过多任务训练可以有效的抑制过拟合的提早发生。2. 自学习的方式可以采用辅助数据对模型进行预训练。3. 随机的打乱视频中片段的顺序实际上相当于做了数据增强处理。通过实验发现,这样的操作让模型表现从80.69%提升到了81.64%。

图3 Trick1 自学习

Tricks2: 数据增强

从每个视频片段中只采样一部分的信息组成整个视频的信息输入到VideoNet中,这样同样一段视频就可以生成多种向量编码。采用平均池化操作将多种编码压缩成一个特征编码,做为视频的最终编码。该操作可以帮助模型带来0.29%的提升。

图4 Trick2 数据增强

总结与展望

个人感觉,因为主办方采用的重要性平均的评价方法导致比赛中所说的视频综述问题实际上变成了Highlight Detection问题,算法并不需要考虑所选择视频片段间的多样性、代表性等内在结构问题。而1500条长视频的数据集虽然在综述领域已经是最大规模的数据集了,但是对于这样一个复杂的问题仍然太小。

此外,由于该问题与用户的行为息息相关,搜集更多的用户行为数据并引入更多的推荐系统相关技术对研究是非常必要的。

我们正在尝试解决视频理解领域更多有挑战性的问题,如果感兴趣,欢迎你的加入!
加入我们,请联系 hr@shuwen.com 。


视频理解交流群

关注最新最前沿的视频理解技术,扫码添加CV君拉你入群,(如已为CV君其他账号好友请直接私信)

(请务必注明:视频理解)

喜欢在QQ交流的童鞋,可以加52CV官方QQ群:805388940。

(不会时时在线,如果没能及时通过验证还请见谅)


长按关注我爱计算机视觉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值