【论文阅读】Long-term Temporal Convolutions for Action Recognition

【论文阅读】Long-term Temporal Convolutions for Action Recognition

这篇论文之前,几乎所有的3D卷积网络的输入视频长度都很短,例如C3D、Res3D都只有16帧,那么长时输入视频对最终的结果有没有影响呢?所以本文探索了3D卷积网络输入视频的时长对识别效果的影响,发现输入视频时长越长,效果越好,从而提出了LTC 3D网络结构,同时文章评估了LTC 3D网络在不同的输入模式(RGB和光流)下的结果。个人感觉这篇论文的一些探索性实验做的都挺好的,下面也会详细地介绍这些实验。

论文地址:下载地址
LTC代码(pytorch):下载地址

LTC网络结构

文章认为不同种类的行为具有不同的时间和空间pattern,有些行为可能需要长时间的行为动态才能辨别,所以以前的将所有的视频裁剪成很多短时的视频段(16帧)并不是一种很好的方法。从而本文探索了3D卷积网络输入视频的时长对识别效果的影响,提出了 LTC 3D网络结构,如下图所示:
在这里插入图片描述
其实网络结构没有什么好介绍的,和C3D很相似,网络含有5个3D卷积层,每个卷积层分别包含64,128,256,256,256个卷积核,最后包含3层全连接层,所有3D卷积核的大小为3x3x3,每一层卷积层都跟着relu激活和最大池化层,池化层的大小除了第一层为2x2x1,其余层大小都为为2x2x2,前两层全连接层后都跟着dropout。

正文实验

不同光流下的实验

文章首先实验了不同种光流输入下LTC网络的效果。文章实验了3种光流:MPEG [1]、Farneback [2]和Brox [3],其中MPEG计算速度比较快,但是这种光流的空间分辨率不高。Farbeback的计算速度也挺块,但是噪声也比较大。Brox光流是目前表现最为准确的一种光流。各种光流如下图所示:
在这里插入图片描述
各种光流的实验结果如下表所示,可以看到光流输入中Brox光流的效果最好,准确率最高,所以高质量的光流作为输入,对最终的识别率的提高还是很大的。而且所有光流输入的结果都大于RGB输入。
在这里插入图片描述

不同输入时长的实验

长时输入能提高准确率吗?16帧和60帧的对比

文章首先实验了两种不同时间长度的输入(16帧和60帧),需要注意的是 16帧的输入的空间分辨率为 112x112,而60帧输入的空间分辨率为 58x58, 这么做是为了使网络的参数量大致相当(全连接层的输入尺寸保持一致),实验结果如下表所示:
在这里插入图片描述
可以看到无论是RGB输入还是光流输入,60帧输入的效果都更好,文章首先验证了自己的猜想:增加输入视频的时长可以有效地提高行为识别的准确率。

更多不同时间和空间分辨率的对比

为了丰富实验结论,文章又做了不同输入时间长度 {20,40,60,80,100}和不同输入空间分辨率 {58x58,71x71} 的实验。其实验结果如下图所示:
在这里插入图片描述
其中 H 表示高分辨率,L 表示低分辨率,可以看到,对于不同的空间分辨率,在时间长度较短的输入中,视频帧的空间分辨率越高,收益越大,但是随着输入视频帧长度的增长,这种收益变小了。文章认为是随着输入时间长度的增加,网络的参数量越来越多,所以两种分辨率都过拟合了。
对于不同的时间长度输入,由上图可以看出,不论是RGB输入还是光流输入,不论是clip的准确率还是video的准确率,都是随着输入视频的长度的增加是逐渐提高的。

典型行为的具体分析

从上节可以看到,clip或者video的平均识别率是随着输入时长的增加而增长的,那么具体到每一类行为,其准确率随着输入视频时长的增长是怎么变化的呢?文章同时挑选了几种典型行为的结果,如下图所示:
在这里插入图片描述
从上图看出,不存在随着视频帧长度增加而准确率单调降低的行为,但是存在先增加后减少的行为,文章认为是因为该行为的视频长度太短(只有90帧),所以在裁剪输入的时候需要首先将原视频循环到足够的长度,使行为失去了连贯性。所以对于不同类别的行为,有适合它的输入时长。对于长时输入的效果的提升,文章认为 LTC 可以捕获不同长时行为中可分辨的行为,例如体操和标枪,都含有跑步,区分的动作在最后,所以 LTC 可以很轻松地辨别这些行为。体操和标枪的行为示意图如下图所示:
在这里插入图片描述
可以看到在前16帧中,两种行为都是助跑,不容易区分,而到第60帧时,我们就很容易区分两种行为了。

不同行为最优时长输入的统计

从上节可以知道大多数类别的行为都是会受益于输入时长的增加,但是不同的行为类别具有不同的最优输入时长,我们从而产生疑问,各种行为的最优时长的分布是怎样的呢?以UCF101数据集为例,作者统计了不同种行为的最优时长,如下图所示:
在这里插入图片描述
从上图可以看出,大多数行为的最优时长为100帧。

最理想的输入时长?

文章画出了各种不同时长输入的准确率的提升,如下图所示:
在这里插入图片描述
(说实话这一段没怎么看懂,不知道他想要表达什么)。

不同输入时长结果的融合?

文章最后对不同输入时长下的结果进行了融合,可以看到融合不同时间分辨率和不同输入模式的网络会提高识别准确率。
在这里插入图片描述

探索性实验

文章做了很多探索性的实验,看一看这些实验感觉还是蛮有意思的。

3D卷积核的可视化

文章首先可视化了LTC网络的第一层卷积层中的卷积核,如下图所示:
在这里插入图片描述
我们知道对于光流输入,其卷积核的尺寸为 2x3x3x3,那么如何才能将其可视化呢?很简单,首先不考虑时间维度,将 2x3x3尺寸的卷积核进行可视化,相当于在 3x3尺寸的图像上,以channel值为x,y维度画出向量(这个应该很好理解),然后再考虑时间维度,不同时间的向量依次衔接。上图一共可视化了18个卷积核,每一个小方框里为一个2x3x3x3尺寸的3D卷积核,空间尺寸为3x3,时间维度使用不同颜色的箭头来表示,可以看到第一层卷积核就能学习到非常复杂的运动行为。

网络顶层激活值的可视化

文章又对 LTC 网络顶层卷积核的激活值进行了可视化。给定一个卷积层和该层中的一个卷积核,计算所有测试视频在这个卷积核上的激活值,对激活值排序,选择激活值最大的前7个视频,观察这些视频分别属于哪一类。实验结果如下图所示:
在这里插入图片描述
上图中左侧为100帧输入的结果,右侧为16帧输入的结果,分别对3-5层卷积层的激活值可视化,一共选择了30个卷积核中的前7个激活值。从上图可以很明显地看到,100帧输入的激活值最高的视频的类别的纯度最高(额。。100f的准确率高,纯度高很正常吧。。)

网络激活值的反卷积

在这里插入图片描述
文章同时对卷积核对应的最大激活值映射回输入帧中并进行了可视化,可以看到对于100帧的输入,最大激活值一般都对应着同一类的视频(因为准确率高嘛)。而且你可以发现大都是salient区域的激活值最大。

训练细节

训练阶段:文章使用SGD+动量的优化方法,batchsize16帧的输入为30,60帧的输入为15,100帧的输入为10,学习率初始化为0.003(重新训练)和0.0003(微调),dropout为0.9,动量设为0.9,权值衰减为0.005,并且随着学习率的减少,乘以0.1。
测试阶段:使用t帧的窗口以步长为4进行滑动来裁剪视频段,每个视频段同时数据扩充为10个输入(4个角和中心的裁剪以及他们的水平翻转),最后的结果为所有视频段的平均。

[1] Kantorov, Vadim, and Ivan Laptev. “Efficient feature extraction, encoding and classification for action recognition.” In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 2593-2600. 2014.
[2] Farnebäck, Gunnar. “Two-frame motion estimation based on polynomial expansion.” In Scandinavian conference on Image analysis, pp. 363-370. Springer, Berlin, Heidelberg, 2003.
[3] Brox, Thomas, Andrés Bruhn, Nils Papenberg, and Joachim Weickert. “High accuracy optical flow estimation based on a theory for warping.” In European conference on computer vision, pp. 25-36. Springer, Berlin, Heidelberg, 2004.

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值