论文阅读:Convolutional Neural Networks for Human Action Recognition

作者贡献

  1. 应用3D卷积运算从视频数据中提取空间和时间特征以进行动作识别。这些3D特征提取器可在空间和时间维度上运行,从而捕获视频流中的运动信息。
  2. 基于3D卷积特征提取器开发了3D卷积神经网络(CNN)架构。 CNN体系结构从相邻的视频帧生成多个信息通道,并在每个通道中分别执行卷积和二次采样。最终特征表示是通过组合所有渠道的信息获得的。
  3. 通过使用计算为高级运动特征的辅助输出来扩展模型来规范3D CNN模型。建议通过组合各种不同架构的输出来提高3D CNN模型的性能。
  4. 我们将TRECVID 2008开发集上的3D CNN模型与基准方法和替代体系结构进行了比较。实验结果表明,所提出的模型明显优于2D CNN架构和其他基线方法。

3D 卷积

在CNN的卷积阶段执行3D卷积,以从空间和时间维度计算特征。即通过通过将多个连续帧堆叠在一起组成一个立方体,在立方体运用3D卷积。(3D 卷积核就像是多个二维卷积核组成的“立方体”)
在这里插入图片描述
公式:
在这里插入图片描述
Ri是时间维度上的大小,Pi和Qi是空间维度上的高和宽。

3D卷积体系结构

基于上述3D卷积,可以设计各种CNN架构。 文章作者描述了其在TRECVID数据集上进行人类动作识别而开发的3D CNN架构。卷积结构如下图所示:
在这里插入图片描述

  1. input——>hardwired
    输入尺寸:以当前帧为中心的七帧,一帧大小60×40
    使用一组硬核,从输入帧中生成五个信息通道,分别是:灰度,x方向的梯度,y方向的梯度,x方向光流,y方向光流。
    灰度通道:7个输入帧的灰色像素值。
    x方向的梯度,y方向的梯度:7个输入帧中分别计算沿水平方向和垂直方向的梯度
    x方向光流,y方向光流:光流场分别通过沿着水平方向和垂直方向,从相邻输入帧之间计算得到的(需要用相邻帧计算,故生成7-1=6 特征图)。
    所以,一共生成 3 * 7 + (7-1)*2 = 33 特征图
    使用该硬连线层来编码我们对特征的先验知识,与随机初始化相比,该方案通常可以带来更好的性能。

  2. hardwired——>C2
    分别在5个通道中的每个通道上应用3D卷积,为了增加特征图的数量,在每个位置应用两组不同的卷积,从而在C2层中生成2组特征图,每组由23个特征图组成。(前三个通道,一个通道有七个特征图,使用3D 卷积每个产生7-3+1 = 5个。后两个通道产生 4个,共23个)
    卷积核大小:7×7×3(空间维度为7×7,时间维度为3)。
    卷积后map大小:54*34.

  3. C2——>S3
    对C2层中的每个特征图应用2×2下采样采样。
    采样后map大小:27*17.

  4. S3——>C4
    C4是通过分别在两组特征图中的5个通道中的每一个上应用的3D卷积获得的。在C4层中形成6个不同的特征图集,每个特征图集包含13个特征图。(3*(5-3+1)+ 2*(4-3+1)= 13)
    卷积核大小:7×6×3
    卷积核个数:3
    卷积后map大小:21*12

  5. C4——>S5
    在C4中的每个特征图上进行3×3二次采样
    采样后map大小:7*4

  6. S5——>C6:仅在空间维度上卷积(因为空间维度已经足够小了)
    卷积核大小:7 * 4
    卷积后map大小:1*1
    C6层由128个尺寸为1×1的特征图组成,每个特征图都连接到S5层中的所有78个特征图。

  7. C6——>output(使用全连接层)

注: 输出层由与动作数相同的单元组成。 该模型中的所有可训练参数都是随机初始化的,并通过在线误差反向传播算法进行训练。

模型正则化

原因:1)由于随着输入窗口的大小增加需训练参数的数量也在增加,3D CNN模型的输入限制于少量连续视频帧。2)许多人体行为跨越了许多帧。
所以:期望将高级运动信息编码到3D CNN模型中。
建议:从大量帧中计算运动特征,并通过将这些运动特征用作辅助输出来对3D CNN模型进行正则化。
在这里插入图片描述
在图像分类任务中已经使用了类似的想法(参考论文1-3),但是在动作识别中的表现尚不清楚。

  1. 对于每个训练动作,我们生成一个特征向量,该特征向量对包含在CNN输入cube中的信息以外的长期动作信息进行编码。
  2. 然后,鼓励CNN学习接近该特征的特征向量。通过将大量辅助输出单元连接到CNN的最后一个隐藏层并在训练过程中将计算出的特征向量嵌到辅助单元上来实现的。这将鼓励隐藏层信息接近高级运动功能。
    注:有关此方案的更多详细信息,请参见(参考论文1-3)。在实验中,作者使用由在原始灰度图像和运动边缘历史图像(MEHI)(参考论文4)上计算的密集SIFT描述符(参考论文5)构建的词袋特征作为辅助特征。结果表明,这种正则化方案可带来一致的性能改进。

论文1: A. Ahmed, K. Yu, W. Xu, Y. Gong, and E. Xing, “Training hierarchical feed-forward visual recognition models using transfer learning from pseudo-tasks,” in Proceedings of the 10th European Conference on Computer Vision, 2008, pp. 69– 82.
论文2: K. Yu, W. Xu, and Y. Gong, “Deep learning with kernel regularization for visual recognition,” in Advances in Neural Information Processing Systems 21, D. Koller, D. Schuurmans, Y. Bengio, and L. Bottou, Eds., 2009, pp. 1889–1896.
论文3: H. Mobahi, R. Collobert, and J. Weston, “Deep learning from temporal coherence in video,” in Proceedings of the 26th Annual International Conference on Machine Learning, 2009, pp. 737–744.

模型实现

  1. 3D CNN模型是用C ++实现的,作为NEC人体动作识别系统的一部分[25]。
  2. 实现细节基于(参考论文6-7)中描述的原始CNN的细节。
    如:1)所有子采样层均应用最大采样。
    2)总损失函数是真实动作类和辅助输出所引起的损失函数的加权求和。 实际动作类别的权重根据经验设置为1,辅助输出的权重设置为0.005。
    3)所有模型参数均按(参考论文6-7)中的方法随机初始化,并使用随机对角线Levenberg-Marquardt方法(参考论文6-7)进行训练。在该方法中,使用对角线为每个参数计算学习率 1000个随机采样的训练实例的高斯-牛顿近似到Hessian矩阵的估计项。

论文6:Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner, “Gradientbased learning applied to document recognition,” Proceedings of the IEEE, vol. 86, no. 11, pp. 2278–2324, November 1998.
论文7:Y. LeCun, L. Bottou, G. Orr, and K. Muller, “Efficient backprop,” in Neural Networks: Tricks of the trade, G. Orr and M. K., Eds. Springer, 1998.

实验

对TRECVID数据的动作识别

TRECVID 2008开发数据集包括在伦敦盖特威克机场使用5个不同的摄像机以25 fps的分辨率720×576拍摄的49小时视频。(4号摄像机录的视频排除,因为该场景所发生的事情较少)。
实验中使用的数据的统计信息汇总在如下表中。
在这里插入图片描述
由于视频是在现实环境中录制的,并且每一帧都包含多个人类,因此我们将应用人类检测器和受检测驱动的跟踪器来定位人的头部,一些示例结果如图所示。
在这里插入图片描述
基于检测和跟踪结果,计算了每个执行动作的人的边界框。从头部跟踪结果中裁剪边界框的过程如图所示。
在这里插入图片描述
3D CNN模型所需的多个帧是通过从当前帧之前和之后的连续帧中提取相同位置的边界框来获得的,从而得到一个立方体包含动作。在实验中,多维数据集的时间维设置为7,因为已经证明5-7帧足以实现与整个视频序列可获得的性能相似的性能。以2的步长提取帧。也就是说,假设当前帧编号为0,我们从编号为-6,-4,-2、0、2、4和6的帧中提取相同位置的边界框。每帧边框内的色块被缩放为60×40像素。

为了评估3D CNN模型的有效性,报告了基于帧的2D CNN模型的结果。此外,将3D CNN模型与其他四种方法进行了比较,这四种方法是根据在密集网格或时空兴趣点(STIP)上计算出的局部特征来构建最新的空间金字塔匹配(SPM)特征。对于这些方法,根据从3D CNN中使用的每个图像立方体计算出的局部不变特征构造SPM特征。然后,为每个动作类学习一个相对于所有的线性SVM。对于密集特征,从原始灰度图像或运动边缘历史图像(MEHI)中提取SIFT描述符。原始灰度图像上的局部特征保留外观信息,而MEHI则关注形状和运动模式。从7×7和16×16局部图像补丁每6个像素计算密集的SIFT描述符。对于基于STIP的特征,我们采用了时间集成空间响应(TISR)方法,该方法在动作识别方面显示出了有希望的性能。使用512字码本对本地特征进行软量化(每个本地特征可以分配给多个码本字)。为了利用空间布局信息,采用空间金字塔匹配(SPM)方法将候选区域划分为2×2和3×4单元并连接其特征。整个特征向量的维数为512×(2×2 + 3×4)=8192。我们将基于灰度图像的方法称为SPMcube gray,将基于MEHI的方法称为SPMcube MEHI,将基于TISR的方法称为SPMcube TISR。我们还将SPMcube灰色和SPMcube MEHI特征向量连接到一个向量中,从而得到16384维特征表示,表示为SPMcubegray + MEHI。在第一组实验中,报告了图3中描述的3D CNN架构的性能,因为该模型获得了最佳性能。由于五个通道分别卷积(上标s),并且前两个卷积层使用3D卷积,最后两个卷积层使用2D卷积(下标332),因此该体系结构称为3D-CNNs332。我们还报告了基于3D-CNNs332的正则化3D CNN模型的性能。在此模型中,表示为3D-RCNNs332,通过应用PCA将8192维SPMcube灰色和SPMcube MEHI特征的维数减小到150个维,然后将它们级联为300维特征向量,可以获得辅助输出。
(评估参见下表,在多误判率(FPR)下四种方法的性能。性能是就精度、recall和AUC测量的。为了便于展示,将AUC分数乘以1000。每种情况下的最高值被标亮。)
在这里插入图片描述
3D CNN模型的性能优于基于帧的2D CNN模型,SPMcube gray和在所有情况下,SPMcube MEHI都在操作类CellToEar和ObjectPut上非常重要。
对于动作类“指向”,3D CNN模型的性能比其他三种方法稍差。SPMcube灰色和SPMcube MEHI功能的组合比单个功能具有更高的性能,但性能仍低于3D CNN模型。
总体而言,3D CNN模型始终优于其他方法。此外,在所有情况下,正规化模型都比没有正规化的模型产生更高的性能。尽管通过正则化模型进行的改进并不显着,但以下实验表明,通过将两种模型结合使用可以显着提高性能。为了评估在CNN中进行动作识别的模型组合的有效性,我们开发了以下所述的三种替代3D CNN架构。

对KTH数据的动作识别

我们根据KTH数据评估3D CNN模型,该数据由25个受试者执行的6个动作类组成。

  1. 为了遵循HMAX模型中的设置,使用9帧立方体作为输入并提取前景。为了减少内存需求,我们的实验将输入帧的分辨率降低为80×60。
  2. 使用与上述类似的3D CNN架构,并修改内核的大小和每层中的特征图数量以考虑80×60×9的输入。
  3. 三个卷积层分别使用大小为9×7、7×7和6×4的内核,两个子采样层使用大小为3×3的内核。通过使用此设置,将80×60×9输入转换为128D特征向量。最后一层由对应于6个类别的6个单元组成。
  4. 使用16个随机选择的受试者的数据进行训练,而使用其他9个受试者的数据进行测试。多数表决用于根据单个帧的预测为视频序列生成标签。
  5. 表中报告了5个随机试验的平均识别性能。 3D CNN模型的整体精度为90.2%,而HMAX模型的整体精度为91.7%。请注意,HMAX模型使用从原始图像计算得到的手工特征,分辨率提高了4倍。此外,表5中的某些方法使用了不同的数据训练/测试拆分。
    在这里插入图片描述

5 结论

结果表明,3D CNN模型在TRECVID数据上的性能优于比较方法,而在KTH数据上却具有竞争性,证明了其在现实环境中的优越性能。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值