第六周工作进展报告
本周主要对视频显著性检测以及视频中的语义分割进行研究,相对于图像显著性检测,在视频的显著性检测中,时间信息占据重要地位。在“Two-Stream Convolutional Networks for Action Recognition in Videos”一文中,作者提出了一个包含空间和时间网络的双流ConvNet框架来解决视频中的动作识别的问题。文中的双流结构如图1所示,上部分的空间流卷积网络(Spatial stream ConvNet)是由静态的图像作为输入的,该网络是一个分类网络,用于识别行为。下部分的时间流卷积网络(Temporal stream ConvNet)是由多帧光流(multi-frame optical flow)作为输入的,光流是从视频中提取的特征信息。
图1 Two-Stream Convolutional Networks
对于光流的获取,文中给出了解释。如图2所示,光流是由一些位移矢量场(displacement vector fields)组成。用dt表示一个向量,dt表示第t帧的位移矢量场(displacement vector),是通过第t和第t+1帧图像获得的dt包含水平部分dtx(图d)和竖直部分的dty(图e)。因此如果一个视频有L帧,那么一共可以得到2L 个通道的光流(optical flow),然后才能作为图1中时间流卷积网络(Temporal stream ConvNet)网络的输入。(a)和(b)表示连续的两帧图像,(c)表示一个光流(optical flow)。
图2 光流的获取
另外,为了应对视频数据集数据量较少的情况,文中提出一种多任务训练策略。空间流卷积网络可以在大型静止图像分类数据集(如:ImageNet)上进行预训练。而时间流卷积网络需要在视频数据上进行训练,但当时能用的视频数据集规模比较小(主要指的是UCF-101和HMDB-51 两个数据集,训练集数量分别是9.5k和3.7k 个视频)。为了减少过拟合,作者提出多任务训练,组合多个数据集的方法。原来网络(temporal stream ConvNet)在全连接层后只有一个 softmax 层,现将其改为两个softmax 分类层,一个用于计算HDMB-51数据集的分类输出,另一个用于计算UCF-101数据集的分类输出,两支路都有自己的损失函数,总体训练的损失被计算为单个任务损失的总和。
在实验结果分析上,作者提出从三种方案测试空间流网络性能,①在UCF-101上从头开始训练;②在ILSVRC-2012上预训练,在UCF-101上做微调;③保持预训练网络固定,只训练最后一层(分类)。测试结果如表1(a)。而时间流网络性能对比中,作者使用5种情况进行比较,它们之间的区别包括,使用单帧或使用多帧堆叠光流,是否使用平均位移减法,以及使用单向光流或是双向光流。
我们可以看出在空间流网络中,使用预训练加微调的效果是最理想的(Dropout ratio为0.9);在时间流网络中,使用堆叠光流(optical flow stacking),堆叠数L=10,平均位移减法,以及使用双向的光流,效果是最理想的。对比表1中(a)(b)两表,可以看出时间流网络性能优于空间流网络。
在多任务训练的实验中,作者实验了四种情况,包括①直接在HMDB-51上训练;②在UCF-101上预训练,然后在HMDB-51上微调;③在HMDB-51上增加78个类别(来自于UCF-101);④多任务训练。如表2所示,多任务训练的性能优势最佳。
表3证明①时间和空间识别流是互补的②基于SVM的softmax分数融合优于平均融合③使用双向流对ConvNet融合不利④使用多任务学习训练的时间网络比单独使用和与空间网络融合时变现最佳。
表4是文中提出的模型与当时先进的模型的性能对比。
该文章的主要创新点是①提出一个包含空间和时间网络的双流ConvNet框架;②证明了在多帧密集光流上训练ConvNet能够在训练数据有限的情况下获得非常好的性能;③证明了应用于两个不同的动作分类数据集的多任务学习可以用来增加训练数据量和提高两者的性能。
在视频语义分割方面,“One-Shot Video Object Segmentation”一文提出基于全卷积神经网络框架的One-Shot video Object Segmentation (OSVOS)框架,用于解决视频中物体分割问题,即对视频中的每一帧图像分成两类:前景(foreground)和背景(background)。如图3所示,第一张图像(红色部分)是标记样本(mask),剩下三张图像(绿色部分)是网络分割结果。
图3 该文章的网络测试结果
OSVOS的架构分三个部分:(1)在ImageNet中做预训练的一个基础网络(base network),离线训练的,用于区分前景对象;(2)在DAVIS数据集上训练的一个分割网络(parent network),离线训练的;(3)在视频单个帧中对特定的目标对象的分割示例进行微调网络(test network),使网络迅速聚焦于该目标,在线训练。
在OSVOS架构中,Parent Network按Foreground Branch(前景分支)、Contour Branch(轮廓分支,用于检测目标轮廓,当前图像中的全部轮廓)和Boundary Snapping(用于改善边界定位)分为三步。如图4所示,Foreground Branch和Contour Branch使用完全相同的网络架构,但使用不同的损失函数,以分别达到目标分割和轮廓勾勒的效果,最后Boundary Snapping将前两步的结果结合,得到更准确的物体分割结果。在PASCAL-Context数据集上训练,该数据集为图像的整个场景提供轮廓注释。
图4 双流FCN架构
在实验结果分析上,作者将文中提出的方法与四种情况进行性能比较,四种情况分别是没有边界捕捉的原始方法(-BS),没有在DAVIS上预训练the parent network,没有在特定序列上执行一次性学习(one-shot)(-OS)。表1证明了,预训练以及one-shot起重要作用。
表3是文中方法与当前较先进的方法在性能指标上的对比,可以看出文中提出的方法在多选性能上超过当时许多较先进的方法。
该文章的主要创新点是①将CNN用于一个特定的对象实例,给定一个带注释的图像;②将视频每一帧单独处理,将视频对象分割视为每帧分割问题;③可以在速度和精度之间的不同平衡点工作。