【论文阅读】VideoLSTM Convolves, Attends and Flows for Action Recognition

【论文阅读】VideoLSTM Convolves, Attends and Flows for Action Recognition

这篇文章的主要贡献是在 Attention LSTM的基础上引入了 conv-lstm。文章将这种 conv-lstm +attention的结构称为 VideoLSTM。文章中生成 attention map 的方法 与 ALSTM也不完全一样,博客中也会介绍一下。

论文地址:链接地址
代码(pytorch):链接地址

前言

我们知道 conv-lstm 是在15年提出用于预测天气的[1],其结构如下图所示,conv-lstm将传统的lstm的隐藏单元替换为了feature map,并且将hidden到hidden的映射替换成卷积。我们知道传统的 fc-lstm网络中,输入到lstm的是具有抽象语义信息的全连接层特征,所以无论是输入到hidden的映射还是hidden到hidden的映射,都会忽略输入图像中的空间信息。而conv-lstm网络是将feature map 输入到lstm中,feature map 中保留着输入的空间结构信息,所以当前的输入会与历史信息中相同的空间区域进行作用,能够描述不同空间区域的局部变化。同时hidden-hidden的映射采用卷积的方式,在局部运动发生偏移的时候也可以检测到,小的卷积核可以检测到小的行为偏移,大的卷积核可以检测到大的行为偏移。
在这里插入图片描述
作者将conv-lstm迁移过来应用于人体行为识别,但是这远远不够,所以作者又借鉴了 Attention Lstm 引入了注意力机制,便得到了最终的VideoLSTM网络。

正文

VideoLSTM的网络结构

在这里插入图片描述
上图展示的是VideoLSTM的基本结构,我们将其拆分后分别来看。

conv-lstm的结构

先看conv-lstm的结构,其公式如下式所示,可以看到与传统的LSTM相比,权重的点积都变成了卷积的形式,其他的输入门、遗忘门等的计算形式并没有变。式(1)~式(4)中的 X ~ t \tilde{X}_{t} X~t表示当前输入的feature map 与 attention map 相结合后 输入到 conv-lstm的输入。
在这里插入图片描述

attention map的计算

文章提出了两种计算attention map的方法,一种方法基于RGB输入计算,另一种方法基于光流输入计算。我们分别进行介绍:

  1. 基于RGB输入的attention map 计算方法
    基于RGB输入的attention map的 计算公式如下式(7),(8)所示,我们可以看到(7)中根据输入的feature map 和 前一时刻的hidden计算出当前时刻的权重矩阵,然后对权重矩阵作softmax,如式(8)所示,得到最终的attention map:在这里插入图片描述在这里插入图片描述
  2. 基于光流输入的attention map 计算方法
    在这里插入图片描述
    上图中展示了基于光流的attention map 的计算方法,我们知道光流分布在相邻两帧的运动差异的区域,可以认为光流主要分布在当前帧的salient 区域,所以可以使用光流来帮助计算attention map,文章使用一个新的conv-lstm来生成attention map(上图中的绿色区域),这个conv-lstm可以被称为low-conv-lstm,它的当前时刻的hidden用来生成当前时刻的attention map,并且low-conv-lstm只是用来生成attention map。rgb输入的conv-lstm称为top-conv-lstm,可以参与计算最终的输出结果。low-conv-lstm的公式如下式所示,(10)~(13)中可以看到low-conv-lstm的输入为当前帧的光流的feature map,前一帧top-conv-lstm的hidden和前一帧top-conv-lstm的hidden。low-conv-lstm当前时刻的hidden经过一个softmax(如式8)得到当前时刻的attention map

在这里插入图片描述

attention map 和 feature map的结合

attention map 和 feature map的结合方式就是如下式所示,简单的 element-wise product,不作过多的解释。
在这里插入图片描述

实验细节

文章使用预训练的VGG-16来提取RGB输入和光流输入的feature map,其中光流为x和y的分量的两通道图片,被线性归一化到[0,255]。conv-LSTM中的卷积核尺寸为3x3。所有的隐藏层卷积核的个数为512个。lstm的输出连接一个1024单元的全连接层,全连接层后连接dropout,数值设为为0.7。
在训练的时候,batch size为128, 输入为30帧,学习率为0.001,weight decay 为0.9。

实验结果

在UCF101和hmdb51的实验结果

在这里插入图片描述
上面是各种网络结构在两个公共数据集上的结果,先分析appearance流,可以看到对于appearance流来说,使用一个简单的卷积网络就可以有效地提取空间信息了,加入了lstm结构以后甚至会对识别效果产生不好的影响。但是在卷积网络的基础上加入attention就不一样,结果就明显地变高了,如果作者的数据是真实的,那么可以明显地看到,对于appearance流来说,conv+attention是非常重要的。

再分析motion流,一般来说,对于ConvNet,光流的输入要比RGB的输入效果要好的,但是这里恰恰相反了,不知为何。不过从表中的数据分析,lstm更适合光流输入,文章认为这是因为光流中不会包含复杂的背景,所以lstm更能关注行为动态变化。而且attention和conv都会对识别结果有所提高。

RGB attention和 光流 attention的对比

在这里插入图片描述
文章之后又比较了ALSTM和ConvALSTM在基于RGB的attention和基于光流的attention的对比实验,纵向对比可以看到,无论是ALSTM还是ConvALSTM,基于光流的attention的效果是高于基于RGB的attention的效果的。横向对比比较可以看到,将lstm替换成convlstm会有利于attention的定位

与其他lstm模型实验的对比

在这里插入图片描述
上图是与其他lstm模型实验结果的对比,可以看到本文几乎集齐了之前lstm模型的所有特点,所以也取得了最高的准确率,可以说是站在巨人的肩膀上吧。

与手工特征相融合的实验

在这里插入图片描述
上图是VideoLSTM与传统的手工特征的方法相融合的实验,从实验的结果可以看出,手工特征和VideoLSTM是高度互补的,融合之后的结果提升非常地大,那么LSTM提取的特征和手工idt特征各自有什么特点,为什么会互补呢? 我感觉如果完全摸清了idt特征的特点,并将其融合到端到端的lstm模型中,会使基于lstm的方法有一个质的飞跃

[1] Xingjian, S. H. I., et al. “Convolutional LSTM network: A machine learning approach for precipitation nowcasting.” Advances in neural information processing systems. 2015.

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值