当前位置: 代码迷 >> 综合 >> CV论文笔记(三)Convolutional-De-Convolutional Networks for Precise Temporal Action Localization in Untrimm
  详细解决方案

CV论文笔记(三)Convolutional-De-Convolutional Networks for Precise Temporal Action Localization in Untrimm

热度:41   发布时间:2023-12-12 00:45:13.0

参考论文

Convolutional-De-Convolutional Networks for Precise Temporal Action Localization in Untrimmed Videos,CVPR 2017

内容介绍

Abstract
许多最先进的系统使用片段级分类器来选择和排列预先确定的边界的提议片段。
然而,一个理想的模型应该超越片段级,并在适当的粒度上进行密集的预测,以确定精确的时间边界。
为此,我们设计了一种新型CDC网络,该网络放在3D ConvNets的顶层,能有效的提取动作语义,减少输入数据长度
CDC滤波器同时执行所需的时间上采样和空间下采样操作,以预测帧级粒度上的动作。

1. Introduction
最近时序动作定位在计算机视觉界很火,该任务主要涉及确定视频是否包含特定动作和定位事件起止时间
典型工作框架是融合大量特征和训练分类器,可以在滑动窗口或分段proposals上操作
3DCNN能够很好的学习时空的高级语义抽象,但是丢失了时间上的细粒度,众所周知的C3D架构输出视频的时序长度减小了8倍
在像素级语义分割中,反卷积被证明是一种有效的图像和视频上采样的方法,用于产生与输入相同分辨率的输出。
对于时序定位问题,输出的时序长度应该和输入视频一致,但是输出大小应该被减小到1x1。
作者提出一个CDC filter同时在空间上卷积,在时间上反卷积。在3D ConvNets顶层堆叠多个CDC层来形成CDC网络。
总结三大创新贡献:
第一个将两个互逆的操作结合在一起
利用CDC filter 建立一个CDC网络来具体解决时间定位的精度问题
模型在视频每帧动作标注中优于最先进的方法,并且在广泛的检测阈值下显着提高了时序动作定位的精度。

2. Related work
Action recognition and detection
早期工作主要关注在可控环境下的简单动作,近来转向原始未裁剪视频,回顾了一下发展历史(略)
Temporal action localization
介绍该问题来源和发展过程(略)
De-convolution and semantic segmentation
介绍反卷积和语义分割的来源和发展,还提到全卷积和上采样启发了很大范围。

3. Convolutional-De-Convolutional networks
3.1. The need of downsampling and upsampling
采用C3D的conv1a to conv5b作为CDC的第一部分,pool5改为1 × 2 × 2
设置CDC的输入为112x112,若给定输入视频片段的时序长度为L,则pool5输出数据大小为(512,L/8, 4, 4)
3.2. CDC filter
将C3D的FC6改为conv6,原来的FC6中的一个filter将来自pool5的4x4特征图作为输入,并输出一个值。
现在conv6的一个filter能够在时间上堆叠的长度为L/8、大小为4x4的特征图上滑动,分别在时间上输出L/8个值,conv6核的大小为4x4=16。
虽然conv6空间上下采样,但时间长度不变。然后在conv6之后接一个deconv6,来增加时间长度保持空间大小,该层核的大小为2。
与上面提到的相反,作者提出一个CDC filter CDC6由两个独立的卷积filter组成并在同一张输入的4x4特征图上操作。
每一个这样的卷积滤波器具有与conv6中的滤波器相同的内核大小,并分别输出一个单个值。
每个4x4的特征图在时间上都会产生2个输出(逆卷积内核大小为2,stride=2, padding=0)。
区别:
CDC6这种联合滤波器的内核大小为2x4x4 = 32;而独立的conv6和deconv6总共参数为4x4+2=18。
CDC6每个时间的输出都来自专用于此输出的独立卷积核而独立的conv6和deconv6不同的时间输出共享由单个卷积内核输出的相同的高级语义
更多的参数会导致filter难以学习,为了解决这个问题,提出了一种适应C3D中预先训练的FC6层来初始化CDC6的方法
3.3. Design of CDC network architecture

3.4. Training and prediction
Training data construction  
为了防止过多的背景进行训练,保证每个窗口至少有一帧是动作
Optimization

Fine-grained prediction and precise localization
在测试阶段对整个视频进行帧级预测,通过对置信分数的阈值化和对同一标签的相邻帧进行分组,可以将视频分割成段并产生定位结果。
但这种方法对噪声的鲁棒性不强,设计时域平滑策略是一种特别而非平凡的方法。
我们只需要把CDC网络应用在提议片段而不是整个视频上,就能避免相邻帧分组的挑战以及加速测试过程。
提议片段只有粗糙的边界,建议使用CDC网络的细粒度预测来定位精确的边界。
首先,看向一个更宽广的间隔,我们按照原始段长度的百分比α将两个提案段的边界两边延伸。
然后,类似于准备训练段,我们在测试视频上滑动时间窗口而不重叠。
只需要保持与至少一个扩展提议片段重叠的测试窗口,将这些窗口提供给我们的CDC网络,并生成每帧动作类分数。
每个提案段的类别设置为具有该段中所有帧的最大平均置信度得分的类。如果一个提议段不属于背景,则保留并提取边界。
给出段中预测类的得分序列,我们进行高斯核密度估计,得到其平均μ和标准差σ。
从扩展段的每一侧的边界框架开始并向其中间移动,缩小其时间边界,直到达到一个具有置信度分数不低于μ-σ的帧。
最后,我们将段的预测分数设置为预测类别在精细边界段中的帧的平均置信度。

4. Experiments
4.1. Per-frame labeling
THUMOS’14
2014年THUMOS挑战赛的时序行为定位任务涉及20项行为。细节略。。。
Evaluation metrics(评估指标)
对于每个动作类,按照该类的置信度分数对测试集中的所有帧进行排序,并计算平均精度(AP)。然后平均所有类以获得平均AP(m AP)。
Comparisons

4.2. Temporal action localization
根据CDC网络的每帧标注结果,我们生成提案,确定类别,并根据3.4节预测精确边界。该方法对于任何产生提议段的方式都适用
我们对THUMOS'14进行实验,从而采用S-CNN提议网络生成的公开提议。最后,我们遵循执行标准的后处理步骤,如非最大抑制。
Evaluation metrics
定位性能也由mAP进行评估。排名列表中的每个条目都是预测段。当它具有正确的类别,预测是正确的,其与真实值的时间重叠IoU大于阈值。
不允许对同一真实实例进行冗余检测
Comparisons

4.3. Discussions
The necessity of predicting at a fine granularity in time(时间上细粒度预测的必要性)
当时间细粒度增加时mAP也会随之增加
Efficiency analysis
CDC网络是紧凑的,需要很少的存储,因为它可以直接从原始视频中训练,以一种端到端的方式进行细粒度的预测,而不需要缓存中间的特征。
该网络是很快的,由于相比S-CNN,CDC要对每帧进行预测,从而增加了工作量,随着视频长度增加,为了更高的精度,也降低了效率。
但是在提议片段较短的情况下,由于这些提议段通常密集重叠,因此片段级方法必须逐个处理大量的片段。
然而,CDC网络只需要处理每个帧一次,因此它可以避免冗余计算。
Temporal activity localization
作者发现这种方法对定位复杂构成和高级语义的活动也有用。于是在ActivityNet Challenge 2016 dataset上进行了实验。
该数据集涉及到 200 activities,包括大约10K training videos (15K instances) and 5K validation videos(7.6K instances)
由于没有高质量的活动提议结果存在,将训练过的CDC网络应用到该挑战赛首名获胜者的结果之上来定位更精确的边界。
但上述方案随着IoU的增加,mAP快速下降。为此作者尝试
在使用CDC网络的帧预测来改善其预测段的时间边界后,获得了显着的改进,特别是当评估IoU设置的比较高时。

5. Conclusion and future works
提出一个CDCfilter来同时执行时间上的上采样和空间的下采样
设计了CDC网络来进行帧级行为预测
6. Acknowledgment

7. Appendix
7.1. Additional justification of the motivation
传统方法使用片段级检测,即分析提议段以预测每个段中的动作类,这些方法受到固定段长度和边界位置的限制。
在这里,我们提出了一种新颖的模型来首先预测精细级别的动作,然后使用这种细粒度分数序列来精确检测动作边界。
细粒度分数序列还提供了自然的方法来确定在帧级别中提炼边界所需的分数阈值。
此外,虽然在本文中没有强调,精细级别的得分序列也可以用于选择精确关键帧或发现动作内的子动作。
7.2. Additional implementation details
Temporal boundary refinement
提供了第3.4节中提出的时间边界细化的细节和伪代码。大概步骤如下:
扩展提议段-输入提议段-输出得分矩阵-根据最大平均置信分数分配类别-计算高斯核函数的均值?和标准差σ,得出阈值(β=??σ)
最后利用两个for循环分别从两端到中间进行判断,以此提取精细边界。
Discussions about the window length used during creating mini-batches
在构建mini-batch时,理想情况下希望设置窗口越长越好,这样一来网络在处理每个窗口时能够考虑更多时序信息。
但是由于GPU的限制窗口长度不能太长,必须将每个mini-batch的训练样本数量设置的非常小。
这将使优化不稳定,从而训练过程不能很好地收敛
此外,长窗口通常包含比动作帧更多的背景帧,因此我们需要进一步处理数据不平衡问题。
实验过程中经验发现将窗口长度设置为32帧是一个很好的权衡。
7.3. Additional experiments
Sensitivity analysis
扩展提议段既不能太大(包含过多的不相关帧)也不能太小(考虑更广泛的间隔)
Additional results on ActivityNet

Discussions about other proposal methods
基于THUMOS'14的其他proposals,评估了CDC的时间定位性能
在ActivityNet上,目前在第4节中使用的提案是一个合理的选择 - 在IoU = 0.5的验证集上有56K的提案,recall=0.681。
Additional discussions about speed
为了避免混淆,作者强调,CDC网络是端到端的,而时间定位的任务不是端到端的,因为需要结合proposals以及执行后处理步骤。
跟C3D一样,每个输入帧具有128×171的空间分辨率,并且将被裁剪为112×112作为网络输入(训练时随机裁剪,测试时中心裁剪)
Additional visualization examples
作为图4的补充材料,提供额外的样例展示CDC细化提议段边界以及在THUMOS’14上精确时序动作定位的过程。
将提议段和CDC帧级预测结合是强大的,提议段允许利用粗边界的候选项来帮助处理低分数区间内的噪声异常值。
所提出的CDC模型允许在帧级别进行细粒度预测,来帮助在帧级别中细化片段的边界以进行精确定位。

  相关解决方案