摘要
在现有的的行为分类数据集(UCF-101 and HMDB-51)中,视频数据的缺乏使得确定一个好的视频结构很困难,大部分方法在小规模数据集上取得差不多的效果。这篇文章根据Kinetics人类行为动作来重新评估这些先进的结构。Kinetics有两个数量级的数据,400类人类行为,每一类有超过400剪辑,并且这些都是从现实的,有挑战性的YouTube视频中收集的。我们分析了现有的结构在这个数据集上进行行为分类任务的过程以及在Kinetics上预训练后是如何提高在小样本集上的表现。
我们引入了一个基于二维卷积膨胀网络的Two-Stream Inflated 三维卷积网络(I3D):深度图像分类卷积网络中的滤波器和pooling卷积核推广到了3D的情况,这样能够学到从视频中提取好的时空特征的能力,同时可以利用ImageNet结构的设计以及参数;我们发现在Kinetics上预训练之后,I3D模型在行为分类上提高了很多,在HMDB-51上达到了80.7%的正确率,在UCF-101上达到了98.0%的正确率。
1. 引言
从ImageNet挑战赛中获得的一个意想不到的好处就是在1000类图像(每一类有1000幅图像)训练的结果可以用到其他的任务上或者是其他的领域。一个早期的例子是用在ImageNet数据集上训练的网络,然后把训练出来的fc7特征用到PASCAL VOC分类和检测任务上。在深度网络上的改进,从AlexNet到VGG-16,在PASCAL
VOC上的表现都有相应的提升。从那之后,有大量从ImageNet上训练的网络然后充分用到其他任务上的例子,比如分割,深度预测,姿势估计,行为分类等等。
在视频领域,在一个充分大的数据集上训练一个行为分类应用到一个不同的任务上或者数据集上也会有一个相似的提高仍然是一个开放的问题。创建10000数量级的视频数据集的挑战意味着行为识别中最受欢迎的基准数据集很小。
在这篇文章中,我们用全新的Kinetics人类行为视频数据集来回答这个问题,这是一个比之前的HMDB-51和UCF-101数据集大两个数量级的数据集。Kinetics有400类人类行为,每一类有超过400个实例,并且每一类是来自一个YouTube视频。
我们的实验策略是重新实现文献中一些有代表性的神经网络,分析在Kinetics数据集上预训练每一个网络然后在HMDB-51和UCF-101数据集上微调的这种迁移行为。结果表明通过预训练后在性能上有很大的提升,但是不同类型网络上提升的程度相差很大。基于这些发现,我们提出了一种有能力利用在Kinetics数据集上预训练的优势的模型,并且能实现一个很好的性能。这个模型叫“Two-Stream
Inflated 3D ConvNets”(I3D),建立在先进的图像分类网络结构上,但是把他们的滤波器以及pooling核(参数随意)“膨胀”成了3D,成为了一个很深,时空上的分类器。I3D模型基于Inception-V1,在Kinetics上预训练之后的性能远远超过当今最先进的其他模型。
在我们的模型比较中,我们不考虑更多的比如bag-of-visual-words表示的经典方法。然而,Kinetics数据集是可以公开获得的,其他人也可以用它来做一些比较。
下一节概述已有的一些行为分类模型。第三节概述Kinetics数据集,第四节报告在之前的基准数据集和Kinetics数据集上模型的性能,第五节研究了在Kinetics上学到的特征是如何很好的迁移到其他的数据集上。文章还总结了对结果的讨论。
2. 行为分类结构
随着近些年图像表示结构的迅猛发展,仍然没有清晰的,前沿的视频分析结构。一些现有的视频结构主要不同的地方在于卷积层是2D(基于图像)的还是3D(基于视频)的,网络输入只是一个RGB的视频还是包括光流;在2D卷积网络的情况下,信息传播的框架可以用时间上的循环神经网络比如LSTM或者随时间变化的特征增强。
这篇文章中我们比较和研究跨越这个空间大部分的模型。2D卷积网络的方法中,我们考虑顶层有LSTM的卷积网络以及两种不同类型(流扩散不同)的two-stream网络。我们也考虑了一个3D的卷积网络:C3D。
作为主要的技术上的贡献,我们引入了Two-Stream Inflated 3D卷积网络(I3D)。由于高维的参数和缺乏有标签的视频数据集,之前的3D卷积网络相对比较浅(至多8层)。我们注意到,很深的图像分类网络,比如Inception,VGG-16和ResNet,可以简单地“膨胀”成时空特征提取器并且他们预训练的权重可以提供值的初始化。我们也发现two-stream的配置也是有用的。
图2是我们评估的5种网络结构图的概述,表1种是明确的时间上接口的参数。
很多模型(除了C3D)都会把ImageNet预训练的模型作为一部分。我们的实验策略是把一个普遍的预训练的ImageNet图像分类网络作为主要部分,我们选择的是批量正则化过的Inception-v1模型,并且用不同方法把它变形。预期是把这个作为主要部分,我们来梳理能给行为分类带来好处的变化。
2.1.The Old Ⅰ :ConvNet+LSTM
图像分类网络的高性能表现使得可以把它小改一下用在视频上。当把pooling整个视频的预测时这可以单独来提取每帧的特征。这是词包图像模型方法的基础;虽然实践中很方便,但是还是有忽视了时间结构的问题(比如模型不能区分是开门还是关门)。
理论上,一个更满意的模型是增加循环层到模型中,比如LSTM,它可以用来编码状态和捕获时间顺序以及大范围的依赖关系。我们把批量正则化的LSTM层放在Inception-v1的最后一个平均pooling层后面,有512个隐藏单元。顶部是一个全连接网络层用来分类。
模型是用交叉熵损失函数来训练的。在测试阶段我们只考虑最后一帧的输出。输入视频框架是通过从每秒25帧,并且每5帧都选一帧的下采样的方法。表1中是整个细节。
2.2.The Old Ⅱ :3D ConvNets
3D卷积网络是一个自然的视频建模方法,就像标准的卷积网络,不同的是它有时空卷积。之前有过几次研究。他们有个很重要的特征:直接构建时空数据的分层表示。这些模型有个问题,由于额外核的维度使得比2D卷积网络多很多参数,并且这使得他们很难训练。他们还似乎妨碍了ImageNet预训练带来的好处,这等于他们的工作都是从头开始训练这种浅层的网络。在基准数据集上的结果虽然还不错但不能和先进的方法竞争的方法可以用来评估我们更大的数据集。
这篇文章中,我们实现了微小改变的C3D有8个卷积层,5个pooling层以及顶层有两个全连接层。模型的输入是从原始输入16帧剪辑,每帧再裁剪出112*112像素。和其他文献不同的是我们在所有的卷积层和全连接层后用了批量正则化。另一个不同之处是原始模型用的是步长为1的pooling层,我们用的是步长为2的pooling层,这样降低了内存以及允许更大的batches-这对于批量正则化很重要(尤其在全连接层之后,这里没有weight tying)。用这个步长我们可以每个GPU训练15个视频,用的是标准的K40 GPU。
2.3.The Old Ⅲ :Two-Stream Networks
很多情况下,在卷积网络最后一层的特征上,LSTM可以出模拟高级的动作变化,不能捕获重要的低级的动作。当他需要展开网络通过多帧图像用随时间变化的反向传播时很难训练。
Simonyan 和 Zisserman引入了一个不同的,很实际的方法就是在两个预训练的ImageNet卷积网络间传递之后,从一帧RGB图像以及另外10帧计算的光流中通过平均预测模拟视频短时的快照。Flow stream 有一个自适应的卷积网络,层数是flow frames输入通道数的两倍(因为flow有两个通道,水平和垂直的),并且在测试的时候,多个快照是从视频中采样的,行为预测是平均的。这可以在已有的基准数据集上有好的性能,并且训练和预测都很高效。
最近的一个模型是在最后一个卷积层后融合了spatial 和 flow streams,在HMDB上有些提升同时花更少的测试时间来增强(快照采样)。我们的方法和这篇文章差不多,用的是Inception-v1.网络的输入是从分开的10帧中选取5个连续的RGB帧以及对应的光流小片。在最后一个Inception-v1平均pooling层(5*7*7特征格子,对应时间,x和y坐标)之前,空间和动作特征通过1个3*3*3 3D有512个输出通道的卷积层传递,这个紧接着一个3*3*3 D的max-pooling层和一个全连接的卷积层。这些权重的初始值是用高斯噪声初始化的。
原始的two-scream模型和3D融合的模型都是以一种”端到端”的方式训练的(包括原始模型中的two-scream平均过程)。
2.4.The New :Two-Stream Inflated 3DConvNets
用这个结构,我们展示了3D的卷积网络是怎样可以从ImageNet的2D卷积网络的设计以及学到的参数中得到好处的。我们也这里也采用了two-stream的配置-这会在第4节说明3D的卷积网络可以直接从RGB stream中学到时间上的模式,并且性能通过包括光流stream有很大的改进。
Inflating 2D ConvNets into 3D. 近些年来一些很成功的图像分类结构发展起来了,部分是通过小心的试验和错误。我们不是重复时空模型的过程,而是提出了将成功的图像(2D)分类模型转化为3D的卷积网络。这可以通过一个2D的结构开始,并且“膨胀”了所有的滤波器和pooling核-赋予它们一个额外的时间上的维度。滤波器一般是平面的我们只要把它变成是立体的-N*N滤波器成为N*N*N。
Bootstrapping 3D filters from 2D Filters.除了结构,可能还想从预训练的ImageNet模型中开发参数。我们观察到一幅图片通过重复的复制到一个视频序列中可以转化成一个(无聊的)视频。在那之后,3D模型可以在ImageNet上预训练,满足(把无聊的视频称作固定点):在无聊的视频中的pooled激活函数应该核原始图像输入的激活函数一样。由于线性性,这可以沿着时间维度通过重复2D滤波器的权重N次。这保证了卷积核的反应是相同的。因为对于无聊视频的卷积层输出是常数,对于2D的情况,内积非线性层以及平均和max-pooling层的输出是相同的,因此总体的网络反应关联了无聊视频的固定点。有些人研究了开发策略。
Pacing receptive field growth in space,time and network depth.无聊视频的固定点在怎样沿着时间维度“膨胀”pooling算子和怎样设定卷积/pooling时间上的步长方面给了充分的自由度-这些是体现特征感受野尺寸的初始因素。实际上所有的图像模型都是同等对待两个空间维度(水平和垂直)的-pooling核和步长也是一样的。这是很自然的并且意味着越深层的网络在两个维度上是同样被图像的位置影响的。一个对称的感受野当考虑时间的时候没必要是最优的-这应该依赖于帧率和图像维度。如果在时间上相对空间增长的太快的话,可能会合并不同物体的边缘从而破坏了早期的特征检测,然而增长的不那么快,就不能很好的捕获到场景的动态变化。
在Inception-v1中,第一个卷积层步长为2,然后有4个步长为2的max-pooling层和一个7*7的平均-pooling层后面接一个线性分类层,平行的Inception分支中还有一个max-pooling层。我们的实验中,输入的视频处理成了每秒钟25帧;我们发现在其他的max-pooling层有对称核和步长时在前两个max-pooling层(1*3*3核,时间步长是1)中的时间上的pooling *** 作没什么帮助。最后的平均pooling层用2*7*7核。图3中有整体的结构。我们用64帧的小片训练模型,测试的时候用整个的视频,并且平均时间上的预测。
Two 3D Streams.一个3D卷积网络应该能够从RGB输入中直接学到动作特征,但是在光流算法的一些循环中它仍然需要大量的前馈运算(比如flow
fields的迭代优化)。大概是由于循环不够,实验中我们发现two-stream的配置-图2中展示了-在RGB输入预训练过的I3D网络以及在flow输入上优化过的光滑flow信息。我们分开训练了这两个网络,并且测试的时候平均了它们的预测。
2.5. 实验细节
除了C3D,其他模型喜欢把用ImageNet预训练过的3D卷积网络作为基本网络。所有结构中除了最后一个计算类别分数的卷积层,其他卷积层后面都接着一个批量正则化层和ReLU激活函数。
众所周知,数据增强对深度网络的性能至关重要。在训练过程中,我们用随机裁剪的方法,空间上-把视频的小边调整为256个像素,然后随机裁剪一个224*224的patch-时间上,在能够保证一个理想帧数中挑选前面的帧。对于更短的视频,我们尽可能的循环视频以满足每个模型的输入界面。训练中,我们也随机左右翻转视频。测试期间,模型是在整个视频中心裁剪224*224上卷积,预测也是被平均。我们也在256*256视频上试过空间的卷积,但是没有改进。在测试的时候考虑左右翻转视频能够获得更好的性能。在训练期间增加数据增强,比如光度测量也可以获得好的性能。我们把这个留在未来的工作。
我们用TV-L1算法计算光流。
3 、Kinetics人类动作数据集
Kinetics数据集是专注于人类行为(而不是人类活动或事件)。动作列表包括:个人行为,比如画画、饮水、笑和拳击;双人行为,比如拥抱、亲吻和握手;以及人与物的动作,比如打开礼物,割草和洗盘子。一些动作细粒度不同,需要时间推理来区分:比如不同的游泳方式。其他动作需要更加强调对象来区分,例如演奏不同类型的乐器。
数据集有400个人类动作类,每个类有400个或更多个剪辑,每个剪辑来自一个独特的视频。剪辑持续10秒左右,没有未剪辑的视频。测试集由每个类的100个剪辑组成。文献【16】给出了数据集的完整描述以及它是如何构建的。
在本文中,对于大多数的实验,我们使用比完整的Kinetics更小的数据集,称为miniKinetics数据集。这是一个早期版本的数据集,它只有213个类,总共有三个分割的120个剪辑,一个用于每个类150到1000个剪辑,一个用于每个类25个剪辑,另一个用于每个类75个剪辑的测试。
Mini’Kinetics能加快实验,并且优先于完整的Kinetics
4 、不同结构的实验结果比较
在本节中,我们在改变测试和训练的数据集时比较第二节中描述的五种架构的性能。
表2显示了训练和检验在UCF-101、HMDB-51或miniKinetics的分类准确率。我们对UCF-101和HMPD-51的1个测试集进行了测试,并在Kinetics的同样测试集上进行了测试。有几个值得注意的观察结果。首先,我们的新I3D模型在所有数据集中都是最好的,无论是RGB、Flow还是RGB +Flow。这非常有趣,因为它的参数非常大,并且UCF-101和HMDS-51非常小,这表明ImageNet预训练的好处可以扩展到3D ConvNETs。
第二,在miniKinetics上所有模型的性能远低于UCF-101,这是两个数据集不同难度级别的指示。然而,它比HMPD-51更高;这可能部分是由于HMPD-51中缺少训练数据,但也因为这个数据集有目的地建立为难度系数较大:许多剪辑在完全相同的场景中有不同的动作。第三,不同架构的排名大多是一致的。第四,LSTM和3D ConvNETS模型在miniKinetics上比在更小的数据集更具竞争性;这些模型看起来相当数据饥饿。
此外,两个流架构在所有数据集上表现出优异的性能,但是RGB和flow的相对值在miniKinetics和其他数据集之间显著不同。单独的流的贡献,在UCF-101上略高于RGB,比在HMPD-51上高得多,在MiniKenitics上低得多。数据集可视化表明,MiniKenitics有更多的相机运动,这可能使工作流的运动更困难。I3D模型似乎能够比其他模型获得更多的流,但是,它可以通过更长的时间接受场(训练期间的64帧对10)和更完整的时间特征提取机制来解释。虽然RGB流有更多可辨识的信息看起来更合理,我们却经常用肉眼从Kinetics的flow中理解动作,这在RGB中是非常罕见的。这或许对于将来的研究是一个机会:整合某种运动的稳定形式于结构中。
5 、特征的实验评估
在这一节,我们研究了在Kinetics上通用网络的训练,我们考虑两种方法:第一,我们固定神经网络的权重并且使用这个神经网络产生UCF-101/HMDB-51数据集上视频(未知)的特征,我们接着训练多路Soft-max分类器用于分类UCF-101/HMDB-51(使用他们的训练数据),并且在他们的测试集上进行评估;第二,我们对用于UCF-101/HMDB-51分类的每个网络进行微调(使用UCF-101/HMDB-51的训练数据),接着再次在UCF-101/HMDB-51测试集上进行评估。
这个结果我们在表3中给出,清晰的结果是,所有体系结构都受益于miniKinetics附加视频数据的预训练,但其中一些益处明显优于其他体系——尤其是I3D-ConvNet和3D-ConvNet(尽管后者从更低的基础开始)。仅仅在MiniKinetics(固定)预训练之后的模型最后几层进行训练也会比直接在UCF-101和HMDB-51训练I3D模型带来更好的性能。
对I3D模型特征可转换性的显著提升一个解释是它们的高时间分辨率——它们在每秒25帧的64帧视频片段上训练,并在测试时处理所有视频帧,这使得它们可以捕捉运动时细微的时间结构。换一种说法,稀疏视频输入的方法可能不如在大视频数据集的训练,因为从他们的角度来看,视频与ImageNet中的图像没有太大差别。 其他类似C3D的模型的可以通过我们的I3D模型更深入的解释,而我们的参数少得多,通过利用ImageNet热启动,通过对4倍以上的长视频进行训练以及对2倍以上的空间分辨率视频进行 *** 作。
5.1 、与最先进的技术进行比较
我们在UCF-101和HMDB-51上比较了I3D模型和以前最先进方法的性能,见表4。 我们的结果包含了在MiniKinetics和在全Kinetics数据集上的预训练。图4中显示了训练模型的第一层的卷积滤波。
许多方法得到了相似的结果,但是目前这些数据集上表现最好的方法是Feichtenhofer及其同事[7],它使用RGB和光流的ResNet-50模型,在与密集轨迹模型结合[30]之后,在UCF-101与HMDB-51上分别取得了94.6%与70.3%的结果。我们使用三种标准训练/测试分组的平均准确度对我们的方法进行了基准测试。我们的RGB-I3D模型或RGB-Flow模型中的任何一个,当在Kinetics上进行预训练后,表现均优于先前发布任何模型或模型组合。我们的组合式双流体系结构与之前的模型相比显著提高了性能,使UCF-101的整体性能达到98.0,在HMDB-51的整体性能达到了80.7%,将其分别与以前最优的模型进行比较相当于减少了57%和33%错误分类率。
在Kinetics上预训练的I3D模型与之前的3D ConvNets(C3D)之间的区别甚至更大,尽管C3D在更多视频中训练,来自与 Sports-1M加上一个内部数据集的1M例子,甚至整体化和与IDT结合。这可以通过Kinetics的质量更好来解释,但也因为I3D只是一个更好的体系结构。
另一个值得注意的效果是从miniKinetics到Kinetics预训练时,HMDB-5上的I3D RGB流的提高,这表明3D ConvNets可能需要大量数据来学习稳健的运动特征。在Kinetics预训练之后,双流得到类似的表现,但仍然是互补的:它们的平均预测结果在74.8%到80.7%之间。
6 、讨论
我们回到引言中提出的问题,“从视频中迁移学习有没有好处?”。 很明显,在(大量视频数据集)Kinetics的预训练中有相当大的好处,就像在ImageNet上ConvNets进行预训练一样有很多好处。 这表明将一个数据集(Kinetics)转移到另一个数据集(UCF-101 / HMDB-51)进行类似任务的迁移学习(尽管对于不同的动作类)。 但是,如果将Kinetics预训练用于其他视频任务,如语义视频分割,视频对象检测或光流计算是否有好处,还有待观察。 我们计划公开发布在官方Kinetics数据集上训练的I3D模型,以促进该领域的研究。
当然,我们并没有对体系结构进行全面的探索——例如我们没有采用行动管[11,17]或关注机理[20]来关注人类行为。最近的工作提出了想象性的方法,通过在时间上加入链接的物体检测来确定双流体系结构中运动者的空间和时间范围(检测)[22,24]。时空之间的关系是神秘的。最近几篇非常有创意的论文试图捕捉这种关系,例如通过学习帧排序函数来进行运动分类并将这些函数用作表示[9],通过在动作和变换之间进行类比[33],或者通过创建帧序列的2D视觉快照[2]——这个想法与[3]的经典运动历史工作有关。在我们的比较中,包含这些模型是非常有价值的,但由于缺乏时间和空间,我们无法做到这一点。
在未来的工作中,我们计划使用Kinetics代替miniKinetics重复所有实验,不论是否使用ImageNet预培训,并探索其他现有的2DConvNets。
感想:
本文针对视频运动分类中存在的问题提出了自己的方法,即利用迁移学习的方法解决,具体的 *** 作先利用imageNet数据集进行网络的训练,然后利用Kinetics数据集对网络参数进行微调,并以此种方法得到了模型,文中作者将其与其他最先进的方法进行了比较,得到了利用迁移学习的效果要优于目前所有已有的模型或模型组合的结论。从文中看,采用迁移学习的确显著提高了模型的性能。
这个模型的主要思想就是迁移学习,还有就是将卷积核进行了拓展,由二维到三维,并在不同规模数据集上进行训练,得到了在大数据集下鲁棒性较好的结论。本文给读者提供了使用迁移学习的办法提高性能的想法,这种想法可以借鉴到其他领域。
本文也存在着一些缺点,首先,没有提出新的模型,仅仅是利用了迁移学习,而且在体系结构上没有深入的介绍,也没有将迁移学习应用到其他领域,来验证迁移学习的有效性,需要后期继续进行实验和修正。
本文的原作者为MIT的Bolei Zhou等人 原文地址译文:lowkeybin
时序推理是智能物种的基本能力,即随着时间的推移将目标或实体有意义的转换联系起来的能力。在本文中,我们将介绍一种有效且能解释的网络模型--时序网络(the Temporal Relation Network(TRN)),该模型能学习并推断视频中多尺度上帧的时序依赖问题。我们在最近三个基本需要依赖时序推理的数据集Something-Something、Jester和Charades上作行为识别来评估TRN网络。我们的结果表面,提出的TRN网络使卷积神经网络具有了出色的发现视频中时序关系的能力。仅通过对视频帧稀疏采样,配备了TRN的网络在Something-Something数据集上能准确的预测人类与目标的交互并在Jester数据集上识别不同的人体姿态有着相当竞争力的表现。配备TRN的网络在Charades数据集上识别常规行为也优于双流网络和3D卷积网络。进一步分析表明,模型在视频中学习到了直观且可解释的通用的视觉感知知识。
推理随时间推移实体之间的关系的能力对于智能决策至关重要。时序推理使智能物种能够根据相对于过去的现在的情况来分析并推断出接下来接下来可能发生的事。比如(图1),给定一个时间的两个观察结果,人们能容易的识别出视觉世界中的两个状态之间的时序关系并推断出一个视频中两帧之间发什么了什么。
时序推理对行为识别至关重要,形成了一个时间步骤的组成部分。一个单一的行为可以包括多种时序关系包括长时间尺度和短时间尺度关系。例如短跑这个行为,包含在起跑架上蹲着、在跑道上奔驰和在终点线撞线这样的长时间尺度关系,也包含手脚周期性挥舞的这种短时间尺度关系。
视频中的行为识别是计算机视觉的核心主题之一。然而,由于适当的时间尺度[1]上描述的行为的模糊性,它仍然很难。很多视频数据集,比如UCF101[2]、Sport1M[3]和THUMOS[4],这些数据集中包含很多不需要对长期时间关系的推理也能被识别的行为:静止帧和光流法足以识别这些带有标签的行为。实际上,经典的双流卷积神经网络[5]和最近被提出的I3D网络[6]都是基于帧和光流法的,它们在这些数据集上的行为识别性能都很好。
然而,卷积神经网络在数据和观测结果都有限或者说根本的结构是以变换和时间关系为特征而不是以某个实体[7,8]的出现为特征的情况下会表现很差。卷积神经网络推理时序关系且预测观测结果发生了什么变化仍然是巨大的挑战。图1所示的这些例子。随着时间的推移,网络需要发掘通用的视觉感知知识,这超过了使用静态帧方法和流光法在目标的外观中所能发掘的。
在这项工作中,我们提出了一个简单且可解释的网络模型--时序网络(Temporal Relation Network(TRN)),它支持神经网络中的时序推理。该模型的灵感来自于[7]中提出的关系网络,但是TRN不是对空间进行建模,TRN的目标是描述视频中观测结果的时序关系。因此,TRN能学习和发发掘多时间尺度上的可能的时序关系。TRN是一个通用且可扩展的模型,它可以与现有的任何CNN架构一起以即插即用的方式使用。我们应用TRN装配的网络在最近的三个数据集上(Something-Something[9]、Jester[10]和Charades[11])来识别不同类型的行为,例如人与物体的交互和手势,但这些都是基于时序推理。装配TRN的网络对即使是离散的RGB帧也有很具有竞争力的预测结果,带来了超过基线的显著改进。因此,TRN为卷积神经网络提供的实用解决方案解决了实用时序推理的行为识别任务。
视频行为识别是计算机视觉的一个核心问题,随着对图像识别任务有着最优异性能的深度卷积神经网络(CNNs)的崛起,很多工作针对行为识别已经设计了有效的深度卷积神经网络[3,5,6,14,15,16]。例如,在Sport1M数据集[3]上探索了在时间维度上融合RGB帧的各种方法。提出了两个流的CNN,其中一个静态图像流和另一个光流被提出来融合物体外观和短期运动信息[5]。3D卷积神经网络[15]实用3D卷积核从稠密的RGB帧序列中提取特征。时间段网络在不同时间段上采样帧和光流以提取行为识别特征[16]。CNN+LSTM的模型实用CNN网络来提取帧的特征并实用LSTM网络来整合随时间推移的特征,也用于识别视频中的活动[14]。最近,I3D网络[6]在两个流的CNN网络并在稠密的RGB和光流序列上采用3D卷积,它在Kinetics数据集上有最优异的性能[17]。现有CNN网络用于行为识别存在几个重要的问题:1)依赖与光流的预先提取降低了识别系统的效率;2)鉴于连续帧中的冗余,密集帧的序列使用3D卷积在计算上使昂贵的;3)因为输入网络的序列帧通常限制为20到30帧之间,所以网络很难在这些帧中学习到长期的时序关系。为了解决这些问题,提出的时序网络稀疏的对帧进行采样,然后学习它们的因果关系,这比密集采样并对其进行卷积更有效。我们表明配备TRN的网络可以在多个时间尺度上有效的捕捉时序关系,并且对视频帧进行稀疏采样的方法由于密集采样的方法。
对于许多现存视频数据集的行为识别来说(如UCF01[2],Sport1M[3],THUMOS[4]和Kinetics[17]),静态帧的外观和短时间动作(如光流)是识别动作最重要的信息。因此,诸如双流网络[5]和I3D网络[6]的活动识别网络被定制以捕获密集帧的这些短期动态。因此,现有网络不需要建立时间关系推理能力。另一方面,最近通过众包收集了各种视频数据集,这些数据集侧重于顺序活动识别:Something-Something数据集[9]被收集用于通用人 - 对象交互。它有视频课程,如“将东西放入某物”,“推送某物”,甚至“假装打开某物而不实际打开它”。 Jester数据集[10]是另一个最近用于手势识别的视频数据集。视频由众包工作者录制,执行27种手势,如“向上翻阅”,“向左滑动”和“逆时针转动手”。 Charades数据集也是一个高级人类活动数据集,通过要求群众工作人员执行一系列家庭活动然后记录自己来收集视频[11]。为了识别这三个数据集中的复杂活动,将时间关系推理整合到网络中至关重要。此外,许多以前的作品使用词袋,运动原子或动作语法模拟视频的时间结构,以进行动作识别和检测[18,19,20,21,22]。我们不是手动设计时间结构,而是使用更通用的结构来学习端到端训练中的时间关系。关于在视频中建立因果关系的一项相关工作是[23]。 [23]使用双流暹罗网络来学习两帧之间的变换矩阵,然后使用强力搜索来推断动作类别。因此计算成本很高。我们的TRN更有效地集成了培训和测试中的多帧信息。
关系推理与直觉物理。最近,关系推理模块已被提出用于具有超人性能的视觉问答[7]。我们的工作受到这项工作的启发,但我们专注于对视频中的多尺度时间关系进行建模。在机器人自我监督学习领域,已经提出了许多模型来学习帧之间的直观物理学。给定初始状态和目标状态,使用具有强化学习的逆动力学模型来推断对象状态之间的转换[24]。物理相互作用和观察也用于训练深度神经网络[25]。时间对比网络用于从第三人视频观察中自我监督模仿对象 *** 作[26]。我们的工作旨在通过监督学习环境学习视频中的各种时间关系。所提出的TRN可以扩展到用于机器人对象 *** 纵的自我监督学习。
在本节中,我们将介绍时态关系网络的框架。 它很简单,可以很容易地插入到任何现有的卷积神经网络架构中,以实现时间关系推理。 在后面的实验中,我们展示了配备TRN的网络发现可解释的视觉常识知识,以识别视频中的活动。
受视觉问答[7]的关系推理模型的启发,我们将下面的复合函数定义为成对的时序关系:
其中,输入为视频V中被选取的有序视频帧记作V={f1,f2,f3,...,fn},其中fi代表视频中的第i帧的表示,比如说某个标准CNN的输出。函数h和g融合了不同有序帧的特征。这里我们简单地使用分别具有参数φ和θ的多层感知机(MLP)。为了高效的计算,我们没有添加所有组合对,而是统一对帧i和j进行采样并对每对进行排序。
我们进一步将2帧时间关系的复合函数扩展到更高的帧关系,例如下面的3帧关系函数:
其中帧数总和超过已经统一采样和排序的帧i,j,k的集合。
为了捕捉多时间尺度上的时序关系,我们使用下面的复合函数来累计不同尺度上的帧关系:
每个关系项Td捕获d个有序帧之间的时序关系。每个Td都有自己独立的函数h和g。请注意,对于每个Td的任何给定d帧样本,所有时序关系函数都是端到端的可区分的,因此它们都可以与用于提取每个视频帧特征的CNN一起训练。整个网络框架如图2所示。
当我们训练一个多尺度时序网络时,我们可以通过为视频的每个Td项选择不同的d帧来对总和进行采样。然而,我们使用了一种能显著减小计算量的采样方案。首先,我们从视频的N个片段中均匀的采样一组N帧,V N⊂V,并使用V N来计算TN(V)。然后,对于每个d<N,我们选择d帧的k个随机下采样V kd⊂V N。这些被用于计算每个Td(V)的d帧关系。这允许仅在N帧上运行CNN的同时对KN个时序关系进行采样,且所有部分时端到端一起训练的。
在测试时,我们可以将配备TRN的网络与队列相结合,以非常有效地处理流视频。队列用于缓存从视频采样的等长帧的提取的CNN特征,然后将这些特征进一步组合成不同的关系元组,其进一步相加以预测活动。 CNN特征仅从关键帧中提取一次然后排队,因此配备TRN的网络能够在桌面上实时运行以处理来自网络摄像头的流式视频。
我们在各种行为识别任务上评估配备TRN的网络。对于识别依赖于时间关系推理的行为,配备TRN的网络大幅度的优于没有配备TRN的基准网络。我们在用于人类交互识别的Something-Something数据集[9]和用于手势识别的Jester数据集上获得了极具竞争力的结果[10]。配备TRN的网络还在Charades数据集[11]中获得了活动分类的竞争结果,优于仅使用稀疏采样的RGB帧的Flow + RGB集合模型[27,11]。
三个数据集的统计:Something-Something数据集(Something-V1 [9]和Something-V2 [28]的统计数据,其中Something-V2是2018年7月初数据集的第二个版本)[9,28],Jester数据集[10]和Charades数据集[11]在表1中列出。所有三个数据集都是来自网络标注(crowd-sourced)的,其中通过要求来自网络标注(crowd-sourced)的工作者记录自己执行指示行为来收集视频。与UCF101和Kinetics中的Youtube-type视频不同,来自网络标注视频(crowd-sourced)中的每个行为通常都有明确的开始和结束,强调时间关系推理的重要性。
用于提取图像特征的网络在视觉识别任务中起着重要作用[29]。来自ResNet [30]等更深层网络的功能通常表现更好。我们的目标是评估TRN模块在视频中进行时间关系推理的有效性。因此,我们在所有实验中将基础网络架构固定为相同,并比较CNN模型在有和没有被提出的的TRN模块的情况下的性能。
我们采用了在[31]中使用的ImageNet上预先进行的批量标准化(BN-Inception)的初始化,因为它在准确性和效率之间取得了平衡。我们遵循部分BN的训练策略(冻结除第一个之外的所有批量标准化层)和在[16]中使用的全局池之后的退出。对于所有三个数据集上的训练模型,我们保持MultiScale TRN模块的网络架构和训练超参数相同。我们在实验中将k = 3设置为每个关系模块中累积关系三元组的数量。 gφ只是一个双层MLP,每层256个单位,而hφ是一个单层MLP,单位数与类号相匹配。给定帧的CNN特征是来自BN-Inception的全局平均合并层(在最终分类层之前)的激活。鉴于BN-Inception作为基础CNN,在单个Nvidia Titan Xp GPU上的100个训练时期内,训练可以在不到24小时内完成。在多尺度TRN中,我们包括从2帧TRN到8帧TRN的所有TRN模块(因此在方程式3中N = 8),因为包括更高帧的TRN带来了少量的改进并降低了效率。
Something-Something是最近用于人 - 对象交互识别的视频数据集。有174个类,一些模糊的活动类别具有挑战性,例如“把某个东西撕成两半”与“把某个东西撕一点”,“将某些内容颠倒过来”与“假装颠倒过来”。我们可以看到,对象的时间关系和变换而不是对象的外观表征了数据集中的活动。
表2a中列出了Something-V1和Something-V2数据集的验证集和测试集的结果。基线是在从每个视频中随机选择的单帧上训练的基础网络。具有TRN的网络大幅超越单帧基线。我们通过简单地对来自任何给定视频的两个流的预测概率进行平均来构建双流TRN。 双流TRN进一步将Something-v1和Something-v2的验证集的准确度分别提高到42.01%和55.52%。注意,我们发现TSN中使用的对帧进行平均池化的光流[16]获得了比提出的时间关系池化更好的得分,因此我们在光流量流上使用8帧TSN,得到31.63%和46.41%分别在Something-V1和Something-V2的验证集上。我们在测试集上进一步提交MultiScale TRN和2流TRN预测,结果如表2.a所示。
我们将TRN与TSN [16]进行比较,以验证时间顺序的重要性。 TSN不是连接时间帧的特征,而是简单地平均深度特征,以便模型仅捕获特征中的模式的共现而不是时间排序。我们保持所有训练条件相同,并改变两个模型使用的帧数。如表2b所示,我们的模型大大超过了TSN。该结果显示了帧顺序对时间关系推理的重要性。我们还看到该关系中包含的其他框架为TRN带来了进一步的显着改进。
我们进一步评估Jester数据集上配备TRN的网络,Jester是一个用于手势识别的具有27个类的视频数据集。表3a中列出了Jester数据集验证集的结果。 表3b中列出了测试集的结果以及与顶部方法的比较。 MultiScale TRN再次实现了竞争性能,Top1精度接近95%。
我们在最近的Charades数据集上评估MultiScale TRN以进行日常行为识别。结果列于表4.我们的方法优于各种方法,如双流网络和C3D [11],以及最近的异步时域(TempField)方法[27]。
三个数据集上的多尺度TRN的定性预测结果如图3所示。图3中的示例表明,TRN模型是因为有为了成功预测所必须的整体时序序列帧,才有正确的识别动作的能力。例如,逆时针转动类别在反向显示时将采用不同的类别标签。此外,成功预测个体假装执行动作的类别(例如,“假装将东西放入某物”,如第二行所示)表明网络可以捕捉多个尺度的时间关系,其中短段中包含的几个较低级别的动作传达了关于整个活动类的关键语义信息。
这一出色的表现证明了TRN对时间关系推理的有效性及其在不同数据集中的强大泛化能力。
与先前的视频分类网络(如C3D [15]和I3D [6])相比,所提出的TRN的一个独特属性是TRN具有更多可解释的结构。 在本节中,我们将通过解决这些时间推理任务来更深入地分析TRN所学习的视觉通用知识。 我们探讨以下四个部分:
直觉上,一个人类观察者能通过选取一小组视频代表帧来捕捉一个行为的本质。那么对于被训练用于识别行为的模型是否也适用呢?为了获得每个TRN的代表帧序列,我们首先从视频计算等距帧的特征,然后随机组合它们以生成不同的帧关系元组并将它们传递到TRN中。最后我们用不同TRN的响应对关系元组进行排名。图4显示了由不同TRN投票产生的顶级代表帧来识别同一视频中的一个行为。我们可以看到TRN学习了表征行为的时序关系。对于相对简单的 *** 作,单帧足以在正确的 *** 作中建立一定程度的置信度,但在存在转换时容易出错。 2帧TRN选取最能描述变换的两帧。同时,对于更加困难的活动类别,例如“假装戳东西”,两帧不足以让人类观察者区分。类似地,网络需要TRN中的附加帧以正确识别行为。
因此,代表帧的进展及其相应的类别预测告诉我们时间关系如何帮助模型推理更复杂的行为。一个特别的例子是图4中的最后一个视频:单个框架给出的动作上下文 - 一个靠近书的手 - 足以将顶部预测缩小到一个定性合理的动作,展开一些东西。类似的两帧关系略微增加了初始预测的概率,尽管这两个帧对于甚至人类观察者来说都不足以做出正确的预测。现在,三个相关关系开始突出显示Something-Somethings假装类别的模式特征:初始帧非常类似于某个动作,但后面的帧与该动作的完成不一致,就像它从未发生过一样。这种关系有助于模型将其预测调整到正确的类。最后,个人手在4帧关系的第三帧中的向上运动进一步增加了场景的预期和观察到的最终状态之间的不一致类似于动作的动作似乎发生而对对象没有影响,因此,巩固了对正确的类预测的信心。
观察到TRN识别的代表帧在一个动作类别的不同实例之间是一致的,这表明TRN非常适合于需要时间上将视频彼此对齐的任务。在这里,我们希望通过建立帧序列之间的对应关系来同步多个视频中的动作。给定相同动作的几个视频实例,我们首先为每个视频选择最具代表性的帧,并使用它们的帧索引作为“地标”,时间锚点。然后,我们改变两个连续锚点之间的视频片段的帧速率,使得所有单个视频同时到达锚点。图5显示了对齐视频的样本。我们可以看到时间关系捕获了动作的不同阶段。时间对齐也是我们的TRN模型的独家应用,这是以前的视频网络3D卷积网络或双流网络无法完成的。
为了验证帧的时间顺序对于行为识别的重要性,我们进行了一个实验,以便在训练TRN时按时间顺序和随机顺序比较场景和输入帧,如图6a所示。为了训练混洗的TRN,我们随机地改变关系模块中的帧。 在Something-Something数据集的显着差异显示了时间顺序在行为识别中的重要性。更有趣的是,我们在UCF101数据集[2]上重复相同的实验,并观察到有序帧和混洗帧之间没有区别。这表明UCF101中Youtube类型视频的活动识别不一定需要时间推理能力,因为没有那么多偶然关系与已经在进行的活动相关联。
为了进一步研究时间排序如何影响TRN中的活动识别,我们检查并绘制了显示在Something-Something数据集中绘制的有序和混洗输入之间类别准确度差异最大的类别,如图6b所示。一般而言,具有强烈“方向性和大型单向运动的行为,例如”向下移动“,似乎从保留正确的时间顺序中获益最多。这一观察结果与连续运动的破坏和改变视频帧的潜在后果的观点一致,可能会使人类观察者感到困惑,因为这会违背我们直观的物理概念。
有趣的是,如果在某些情况下完全受到惩罚,那么对于相对静态动作的混乱帧的惩罚就不那么严重了,其中几个类别略微受益于改组输入,正如“推不能滚动到倾斜表面的东西”所观察到的那样留在原处。这里,简单地学习帧的重合而不是时间变换可能足以使模型区分相似的活动并进行正确的预测。特别是在具有挑战性的模糊情况下,例如“假装扔东西”,其中释放点部分或完全模糊不清,破坏强烈的“运动感”可能会使模型预测偏离可能的替代方案,“抛出某些东西”,经常但是由有序模型错误地选择,从而导致该动作的准确性的奇怪差异。
TSN和TRN之间的区别在于使用不同的帧特征池化策略,其中使用时间关系(TR)池化的TRN强调捕获帧的时间依赖性,而TSN仅使用平均池化来忽略时间顺序。我们详细评估了两个池化策略,如表5所示。使用平均池化和TR池化的性能差异实际上反映了视频数据集中时间顺序的重要性。测试数据集按视频源分类,前三个是Youtube视频,另外三个是来自AMT的网络标注视频。基础CNN是BNInception。两种模型都使用8帧。有趣的是,具有平均池化和TR池化的模型在Youtube视频上实现了类似的准确性,因此识别Youtube视频不需要太多的时间顺序推理,这可能是由于随机剪裁的Youtube视频中的活动通常没有明确的行动开始或结束。另一方面,网络标注视频只有一个具有明显开始和结束的行为,因此时间关系池化带来了显着的改善。
图7显示了用于嵌入来自单帧基线,3帧TRN和5帧TRN的高级特征对验证集中15个最频繁行为视频的t-SNE可视化。 我们可以看到,2帧和5帧TRN的特征可以更好地区分活动类别。 我们还观察了可视化图中类别之间的相似性。 例如,“将某些东西分成两部分”非常类似于“稍微撕掉一些东西”,类别“折叠某物”,“展开某物”,“拿着东西”,“拿东西超过某物”聚集在一起。
在行为发生或完全发生之前尽早识别行为或甚至预测和预测行为是行为识别中具有挑战性但未被探索的问题。在这里,我们评估我们的TRN模型在提前识别行为时,仅给出每个验证视频中的前25%和50%的帧。结果显示在表6中。为了比较,我们还包括单帧基线,其被训练在来自视频的随机采样的单个帧上。我们看到TRN可以使用学习到的时序关系来预测行为。随着接收到更多有序帧,性能会提高。图8显示了仅使用视频的前25%和50%帧预测活动的一些示例。对这些例子的定性评估表明,尽管给予即使对于人类观察者来说也具有高度不确定性的任务,仅对初始帧进行的模型预测确实可以作为非常合理的预测。
我们提出了一个简单且可解释的网络模型(名叫时序关系网络(TRN))能对视频使用神经网络进行时序关系推理。我们使用最近几个数据集来评估提出的TRN并公布了仅使用离散帧的完整结果。最后,我们展示了TRN模型发现的视频中的通用视觉感知知识。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)