雷锋网按:本文作者林天威,上海交大研究生。
2017年马上要过去,自己也在时序动作检测这个方向正好做了一年时间,所以最近整理了一下今年各大视觉会议上(CVPR,ICCV,ACMMM,BMVC,AAAI等)时序动作检测这个方向的论文,供大家参考。
关于Temporal Action Detection (Localization) 时序动作检测这一方向的介绍,可以见我之前的专栏文章: Video Analysis 相关领域解读之Temporal Action Detection(时序行为检测)。简单来说,temporal action detection是要在视频序列中确定动作发生的时间区间(包括开始时间与结束时间)以及动作的类别。类似于图像中的目标检测任务,时序动作检测也可以分为生成时间区间提名(temporal action proposal generation)以及对提名进行分类(action recognition)俩个环节。今年有不少工作针对前者设计了模型,也在这篇文章中一并讨论。
如前所述,该方向的任务是视频序列中确定动作发生的时间区间(包括开始时间与结束时间)以及动作的类别。最常用的数据库为THUMOS14, 其余常用的数据库还包括MEXaction2, ActivityNet 1.2/1.3 等。常用的测评指标为mAP ( mean Average Precision)。
[1] CDC: Convolutional-De-Convolutional Networks for Precise Temporal Action Localization in Untrimmed Videos
发表会议:CVPR 2017 (oral)
性能:THUMOS14 上的mAP@0.5 为 24.7%,ActvitiyNet 1.3测试集上的average mAP为 22.9%
基于C3D(3D CNN网络)设计了一个卷积逆卷积网络,输入一小段视频,输出frame-level的动作类别概率。该网络主要是用来对temporal action detection中的动作边界进行微调,使得动作边界更加准确,从而提高mAP。由于基于了层数不多的C3D网络,该方法的速度非常快,可以达到500FPS。
[2] Temporal Action Detection with Structured Segment Networks
发表会议:ICCV 2017
性能:THUMOS14 上的mAP@0.5 为 29.8%,ActvitiyNet 1.3测试集上的average mAP为 28.28%
CUHK多媒体实验室的工作。这篇文章提出了一种时序动作提名算法TAG,以及后续的分类/边界回归网络 SSN。TAG在后面再讨论,SSN我认为值得参考的是其输入特征的设计(开始-中间-结束区间的三段式设计,今年不少工作也有类似的做法)以及其输出分数的设计(判断proposal是否完整的completeness classifier)。这篇文章对temporal action detection这个任务本身也进行了非常细致的讨论,值得一读。
[3] Temporal Action Localization by Structured Maximal Sums
发表会议:CVPR 2017
性能:THUMOS14 上的mAP@0.5 为17.8%
这篇文章中,对视频中的每个类别生成三种序列:开始帧概率,中间帧概率,结束帧概率。再基于这些概率设计了一种Structured Maximal Sums(结构化最大和)算法来产生检测结果。这篇文章生成概率序列的思路非常值得参考,但是模型的构建不太合理(对temporal信息的建模不够),最终模型在数据库上的性能并不是很理想。
[4] Temporal Context Network for Activity Localization in Videos
发表会议:ICCV 2017
性能:THUMOS14 上的mAP@0.5 为 25.6%,ActvitiyNet 1.3测试集上的average mAP为 23.58%
这篇文章的思路主要参考了Faster-RCNN的结构。对视频先用2stream网络提取特征序列,再用滑窗机制在视频中的每个位置生成多个不同尺寸的proposal,之后再对每个proposal训练一个action classifier和一个ranker来对proposal进行分类和排序。
[5] Cascaded Boundary Regression for Temporal Action Detection
发表会议:BMVC 2017
性能:THUMOS14 上的mAP@0.5 为 31.0%
这篇文章同样先对视频提取特征产生特征序列,然后用滑窗机制产生proposal,之后使用MLP构建了一个分类器以及一个边界回归器,通过级联的边界回归来精确定位动作的时序边界。思路还是比较简单的,但是实验效果不错,应该是今年文章中在THUMOS上效果最好的,不过效果好也与它用了ActivityNet上预训练的模型来提取特征有关。
[6] R-C3D : Region Convolutional 3D Network for Temporal Activity Detection
发表会议:ICCV 2017
性能:THUMOS14 上的mAP@0.5 为 28.9%,ActvitiyNet 1.3测试集上的average mAP为 16.74%
这篇文章同样采用了Faster-RCNN形式的思路,即先proposal,在roi-pooling,最后进行分类和边界回归。不过这篇文章采用了3D convnet来实现了end-to-end的训练,比较有趣。(上半年我也曾经想做类似的工作,结果发现自己的显卡显存跑不起来。。)
[7] Single Shot Temporal Action Detection
发表会议:ACMMM 2017
效果:THUMOS14 上的mAP@0.5 为 24.6%
这篇论文是我今年投稿在ACMMM上的论文,主要参考了目标检测任务中的单阶段模型(如SSD 与 YOLO),通过时序卷积网络以及anchors机制,实现了无需proposal generation步骤的时序动作检测模型。具体介绍可以见我之前的文章:"Single Shot Temporal Action Detection" 论文介绍。
[8] End-to-End, Single-Stream Temporal Action Detection in Untrimmed Videos
发表会议:BMVC 2017
效果:THUMOS14 上的mAP@0.5 为 29.2%
使用了C3D来提取视频的特征,与SSAD相同,该方法同样不需要生成proposal,而是采用了anchor机制。这篇文章方法的核心模块是堆叠的GRU单元。由于使用的是C3D特征,所以这篇文章的方法速度也相当的快。
[9] Exploring Temporal Preservation Networks for Precise Temporal Action Localization
发表会议:AAAI 2018
效果:THUMOS14 上的mAP@0.5 为 27.6%
该文提出的TPN模型是CDC[1] 方法的改进模型。在CDC中,在时间维度上存在上采样和下采样,存在一定的时序信息的丢失。而在TPN模型中,将普通的temporal convolution 替换为temporal preservation convolution 这一操作,能够在不进行时序池化操作的情况下获得同样大小的感受野而不缩短时序长度,从而更好得保留时序信息。
[10] SCC : Semantic Context Cascade for Efficient Action Detection
发表会议:CVPR 2017
ActvitiyNet 1.3测试集上的average mAP为 19.3%
ActivityNet 数据集作者的文章。这篇文章主要通过探索动作-物体,动作-场景之间的关系来提高动作定位的精度
[11] Temporal Convolutional Networks for Action Segmentation and Detection
发表会议:CVPR 2017
效果:用了几个不太常见的小数据库,就不列举了
这篇文章主要设计了一个基于时序卷积的卷积-逆卷积网络,来实现对视频帧的类别分类(作者管这个叫action segmentation,不过我觉得在一维的情况下用这个词感觉意义不大)。时序卷积能够比较好的学习长时间的时序模式,今年我也基本上都是使用时序卷积来做自己的工作,感觉比起RNN来更易搭建,调试与优化模型。
该任务的目标是生成一批有可能包含动作片断的时间区域,而不需要对时间区域进行动作分类。常用的数据库同样是THUMOS14以及ActivityNet 1.3 等。常用的测评指标为AR( Average Recall)。注意,实际上时序动作检测模型去掉分类功能一般都能用来做时序提名生成,此处则主要讨论独立的时序提名生成模型。
[12] Temporal Action Detection with Structured Segment Networks
发表会议:ICCV 2017
性能:THUMOS14 上的AR@200 为48.9% (注意此处作者用的测评指标与之前该领域的测评指标略有不同,主要是阈值方面,统一指标下实测效果AR@200 为39.61%)
这篇文章中提出了TAG (Temporal Action Grouping) 方法。该方法对视频中的每一帧都用actionness classifier判断其是动作的概率,再用多阈值聚类的方法生成proposals
[13] TURN TAP: Temporal Unit Regression Network for Temporal Action Proposals
发表会议:ICCV 2017
性能:THUMOS14 上的AR@200 为43.02%
该方法在模型上与[5] 基本相同,是同一个作者的工作。区别主要在于[13]为2分类,[5]为多分类;[5]中多了级联结构。这篇文章是今年该方向在THUMOS数据集上效果最好的。
[14] SST: Single-Stream Temporal Action Proposals
发表会议:CVPR 2017
性能:THUMOS14 上的AR@200 为37.90%
同样是ActivityNet 作者他们组的工作,事实上这个方向应该就是他们最先开始挖的坑。这篇文章采用了C3D特征,GRU编码以及anchors机制。它的核心claim是“Single-Stream" ,即它在处理t时刻的proposals只看t时刻及之前的特征,可以算是一种在线的算法吧。
比起17年前,今年该方向的论文数量可以说是大大增长,各数据集上的指标也提高的分快,感觉明年论文也会很多。如前所述,时序动作检测可以分为提名和分类两个部分。分类这块这两年精度提高的很快,在不少数据集上都已经达到了相当高的准确率。然而目前检测的准确率还是比较低,所以我个人认为通过改善时序动作提名模型,可以大大提高检测的准确率。CVPR 2018 我也投稿了一篇关于时序动作提名任务的工作,希望能好运吧~ 如果文章中的介绍有错误或是有遗漏欢迎指正~