选择这篇文章的原因有两个:
1,初识Visual Attention,了解一下;
2,五月初参加的CIKM AnalytiCup 2017比赛,需要用到CNN+LSTM模型,所以想学习并参照一下文中的模型。
ABSTRACT
在许多计算机视觉的工作中,解决问题所需要的手边的信息通常掺杂着不相关或者噪声。为了解决这个问题,得到更加“纯净”的数据,之前的工作提出了attentional models,动态的凸显出图像或者视频中的显著部分。本文提出了RECURRENT MIXTURE DENSITY NETWORK ,动态的凸显出视频中应该注意到的部分,并且改进视频中的human action recognition。
- visual attention model:
文中使用mixture of Gaussians,可以表示出每个像素点显著的概率。 - Time consistency model:
- deep 3D convolutional features 深度3D卷积表示时空和视频切片级别的短时相关性;
- LSTM集合短时相关性,将预测从几帧扩展到了数秒。
模型的参数使用极大似然估计(MLE),使用无需人工标注的动作类型的数据来训练模型。最后论文使用Hollywood2和UCF101作为数据集,显著性预测的实验结果达到了state-of-the-art,action classification accuracy的表现也得到了提升。
本文主要讲了两件事:
- 使用文章中提出的RMDN方法进行视频的显著性预测;
- 使用RMDN方法改进human action recognition。
INTRODUCTION
Attentional modeling
Attention model 在序列end to end问题上广泛应用,结合RNN、LSTM、GRU等常用递归神经网络可以取得很好的效果;在计算机视领域也有非常广泛的利用,因为序列因素的存在,所以通常在图文转换或者视频描述等应用中出现。本文主要使用attention modeling处理视频显著性。
Visual attention model的意义
- 在引入Attention(注意力)之前,图像识别或语言翻译都是直接把完整的图像或语句直接塞到一个输入,然后给出输出。
- 而且图像还经常缩放成固定大小,引起信息丢失。
- 而人在看东西的时候,目光沿感兴趣的地方移动,甚至仔细盯着部分细节看,然后再得到结论。
- Attention就是在网络中加入关注区域的移动、缩放、旋转机制,连续部分信息的序列化输入。
- 关注区域的移动、缩放、旋转采用强化学习来实现。
本文使用soft attentional model down-weighting 视频帧中不显著的像素点。
视频中的Visual attention model
因为人体动作与时间非常相关,前后帧的动作具有很强的相关性,只使用Visual Attention模型是无法识别人体动作的,所以文中将视频注意力模型定义为时空体积,每一个显著图取决于之前的帧,此处的显著图可以理解为像素显著性的概率分布,表示每个像素的显著性概率。得到显著图后,我们就能够通过采样得到人体动作特征。
视频中的Visual attention model相比图像有很多挑战:
- 相比图像,视频的数据量非常大,Computational cost相应也会提高;
- 视频中存在许多冗余信息,举例来说视频中的人在相邻帧下不会有很明显的改变,所以加入Visual attention model是很有必要的;
- 视频相邻帧有很强的相关性,如果要想确定时空体积,需要考虑到高阶图像显著特征以及之前的人体动作。
主要创新点和优势
为了应对之前阐述的挑战,文中提出了RMDN模型,将视频中的每一帧原始图像转化为显著性图像,得到重新加权的视频,然后使用新得到的视频改进人体动作识别。
文中的方法有以下几点优势:
- 模型训练可以不依赖与人工标注的时空特征;
- RMDN可以模拟人的注意力;
- 生成显著图的速度非常快;
- RMDN得到的显著图准确率很高;
- 使用显著图预测,提高了人体动作识别的准确率。
Design
Recurrent Mixture Density Network
总体结构如下:
C3D Net:首先将K帧视频流(K=16)输入到3D卷积神经网络中,以获得clip级别的时空特征。不使用帧级别的特征是因为我们要获取短时信息以输入到下一层的LSTM中。
C3D的网络结构参照此文: Learning spatiotemporal features with 3d convolutional networks(ICCV2015)
结构:C64-P-C128-P-C256-C256-P-C512-C512-P-C512-C512-P-FC4096-FC4096-softmaxLSTM:将C3D Net得到的结果输入到LSTM中,使得特征从clip级别扩展到数秒级。
MDN & GMM:最后使用mixture density networks获取Gaussian Mixture Model的参数,最后由Gaussian Mixture Model得到显著图上每个像素显著性的概率分布。最后通过此分布可以重新对视频进行加权,完成我们的visual attention model。
训练:
本文在GMM后使用log-likelihood作为loss function,梯度下降进行训练。由于训练数据集不大,本文用C3D网络进行fine-turning,随机初始化参数。
Model for action recognition
在使用RMDN对视频进行重新加权后,本文用得到的结果对视频中的人体动作进行识别,网络结构如下图所示:
- 将每一时刻的K帧原始视频和通过RMDN得到的Soft Attention视频输入到双路C3D Net中,之所以要加入原始图像,是因为Soft Attention表示的是小范围的数帧中明显的特征,无法应对视频中场景切换,所以加入原始视频流表示全局特征。
- 然后将原始视频特征和Soft Attention视频特征结合起来得到video-level descriptor,本文使用的是线性SVM。
- 最后将所有的clip(即K帧视频)通过Max-Pooling结合在一起,输入到线性分类器中得到最后的人体动作识别结果。