2019年5月9日

[翻译] Adaptive Pooling in Multi-Instance Learning for Web Video Annotation

多实例学习中的自适应池为网络视频标注

摘要

网络视频一般为弱标签,即当相关概念出现在视频中时,该视频就被打上没有何时、何地发生说明的标签。这种弱标签给众多网络视频应用带来了巨大困扰。在本文中,我们提出基于多实例学习的有着可学习池化层的新网络视频标注方法。通过将网络视频标注转化为多实例学习(MIL)问题,我们提出一个端到端的深度神经网络解决帧(instance)级别注释是通过卷积神经网络(CNN)从视频(bag of instances)级别给出的标注估计的问题。我们提出可学习的池化函数,以自适应地融合CNN的输出以在视频级别确定标签。我们进一步提出了一种新的损失函数,它包括实例级和包级损失,使惩罚项能够识别网络的内部状态而不仅仅是整体损失,从而使得池化函数学得更快更好。实验结果表明,我们提出的框架不仅能够提高Web视频注释的准确性并在大规模视频数据集FCVID上超越最先进的Web视频注释方法,而且还有助于推断最相关的网络视频中的帧。

一、介绍

现有方法可分为两类,时间感知和基于帧的方法。时间感知方法[14,20,37]利用视频帧之间的时间相关性产生运动信息来识别动作和事件。另一种基于帧的方法聚焦于各个帧中的内容,因为在不使用时间相关性的情况下查看视频的各个帧可以很好地确定许多重要概念,例如物体,场景和许多操作,如吃,坐等。因此,基于帧的方法的提出用来注释视频基于各帧(通常是关键帧)中的概念,以相对较低的计算成本获得有希望的结果[47]。在本文中,我们专注于基于帧的方法来提高标注网络视频的准确性和效率。

二、相关工作

视频标注/分类

1.时间感知方法聚焦于时空关键点(STIP)或基于轨迹的描述符
2.基于帧的方法探索图像的视觉特征
Large-scale video classification with convolutional neural networks. In CVPR, pages 1725–1732, 2014.
(1)扩展CNN到视频分类
(2)从两种分辨率上处理输入,没有降低准确度的同时提高性能
Two-Stream Convolutional Networks for Action Recognition in Videos. In NIPS, pages 568–576, 2014
(1)提出基于two-stream结构的CNN,由空间和时间两个维度的网络组成,空间部分指帧内图像信息,时间部分指帧间的光流运动信息。
(2)验证了即使在较小规模的训练数据集上,在多帧稠密光流上训练的卷积神经网络可以获得非常好的性能。
(3)展示了多任务学习(multiple learning),应用于不同的运动分类数据集,可以同时提升数据集的规模和检测性能。

多实例学习

最近多实例学习在弱监督领域非常流行,例如图像分类和目标检测。

池化功能

在深度网络中,池化有着重要的功能,平均池化、最大池化、随机池化最常见也用的最广。
Learned-norm pooling for deep feedforward and recurrent neural networks. In ECML-PKDD, pages 530–546. Springer, 2014.
提出Learned-Norm Pooling,使用广义均值(也称为Lp范数)来学习深度前馈和递归神经网络中的阶数p。
与现有的池化功能不同,我们提出的可学习池化聚焦于MIL深度网络实例级和包级之间存在本质差距。

三、提出的MIL深度网络

在本节中,我们首先介绍我们提出的MIL深度网络的概述。然后介绍了由包+实例损失函数的可学习池,并展示了它们如何实现我们的MIL深度网络的端到端训练。

3.1 网络概览

Fig. 1展示了用于网络视频标注的MIL网络的概览,它由4个部分组成。第一部分包含一个CNN网络用于独立处理每个输入帧,输出每帧所属标签的预测值。第二部分收集每个视频所有帧的输出并用可学习池化层融合,输出视频级别的预测值,并于视频的实际标签进行比较。同时第三部分使用帧级预测值计算instance-level损失。第四部分最小化bag-level和instance-level的联合损失。
Fig. 1的网络是用来训练的,在预测阶段只需要前两部分。帧级预测让我们可以定位视频中与特定标签最相关的帧的位置。
MIL network structure.png

3.2 可学习池化层

公式

我们将Web视频注释表示为MIL问题的想法基于一个假设,即从个别帧得到的标签(类别)可以标注到视频(包)上。换句话说,只要标签可从视频内的至少一个帧得到,即可将标签与视频相关联,这也是MIL的基本假设。
learnable pooling layer.png

实现

注意下标c代表不同的类别,上标t代表不同的训练阶段。一方面,如果一个类别在许多实例中被发现,r 可以较小,否则 r 应该较大;另一方面,在网络训练过程中池化策略需要调整。在训练早期,网络表达能力差输出近乎随机时, r 较小(例如为1)比较适合,来抑制随即误差。随着训练进行,网络预测值变得可靠时,需要更大的 r 给与更相关的实例更高权重。最终,如果网络完美收敛预测值=标注值时,r=∞(最大池化)。
我们想指出,之前已经有人研究了广义均值作为MIL以及其他深度网络的池化函数。但是,据我们所知,我们是第一个提出动态调整池化参数以适应视频标注的演进网络的人。

3.2 新的 Bag+Instance 损失函数

公式

loss function.png

四、实验

4.1 设置

数据集[略]

训练数据

使用每个视频的乱序子集,子集大小与视频长度有关,我们的实验中每个视频的样本数量从5帧-41帧,间隔从几秒到几分钟。我们让每个mini-batch中的视频帧数相同,同时每个mini-batch中每个视频的所有帧都在其中。因为mini-batch的大小是不超过60的固定尺寸的倍数,所以每个mini-batch中视频的正样本数量不同。对视频帧进行随机镜像和裁剪以防过拟合。数据仅在训练前乱序一次。

训练过程

实现使用Caffe。骨干网络使用VGG19,使用ImageNet的预训练参数;将最后一层全连接修改适配数据集的维度,并使用随机初始化。
lr=10-6,momentum=0.9 decay=0.0005(池化参数=0)
参数 r 初始为1

4.2 表现评估[略]

performance.png

4.3 分析

训练早期 max pooling 表现差, average pooling 表现好因为抑制了随即错误, learnable pooling 训练速度最快
参数 r 无视loss和标签随着训练单调增加,另外用 BIL 时 r 较小,BL 时 r 较大(如下图)
r-preformance.png
如果标签的相关性在视频的不同帧之间变化更大,则相应的r应该更大,以便更多地关注更相关的帧,反之亦然(如下图)。
r-ave.png

五、结论

UCF101上的结果表明,所提出的方法对高动态动作相关视频有一些局限,通常需要时间感知方法才能获得更好的注释。

Share

You may also like...

发表评论

您的电子邮箱地址不会被公开。