论文浏览(33) Accuracy and Performance Comparison of Video Action Recognition Approaches
0. 前言
- 相关资料:
- arxiv
- github
- 论文解读
- 论文基本信息
- 领域:行为识别
- 作者单位:MIT
- 发表时间:2020.8
1. 要解决什么问题
- 技术报告。
- 总结了常用方法,直接对比了性能(accuracy与computational performance)。
2. 主要内容
- 主要内容包括
- 选择一个合适的数据集,用来比较行为识别模型。
- 概述行为识别模型。
- 在类似的超参数、训练方法、硬件条件下训练、验证模型。
- 分析讨论 compurational performance metrics。
2.1. 常用数据集
- 列了一大堆数据集,其实有时间的话需要每个都调研一下……
- 最终选择 Moments in Time 数据集作为本文对比的对象。
2.2. 行为识别模型
- 主要分为2D方法与3D方法,主要根据模型中CNN使用的kernel来区分。
- 常见的2D模型:C2D、TSN、LRCN(CNN+LSTMs)、TSM
- 常见的3D模型:C3D、I3D
- 模型在 Moments in Time 中的应用
- 该数据集其实是一个竞赛数据集。
- 在竞赛中,大多数人都使用 multi-model 的输入数据,即 RGB/optical flow/audio 数据,对于这些数据的处理方法一般都是 late-fusion/ensemble,猜测就是多个模型直接在结果(probs)上进行平均。
- 从主观感受上,一般认为 C3D/I3D/TRN 效果应该比 C2D/TSN 好,但实际上并不一定。造成这样的原因可能是C2D/TSN使用了 pretrained weights。
- 2019年有 Multi-Moments in Time 竞赛,是 Moments in Time 的升级版。
- 这个竞赛中,是多标签分类任务。
- top 1 solution 使用的是2D模型的升级版。
- 上述两个竞赛中,Video模型与 Video+Audio 模型效果差不多。
2.3. 性能指标
- 主要分为 accuracy 与 computational performance 两类性能指标。
- accuracy 性能指标
- 一般使用 Top-1/Top-5 percentage accuracy
- 作者认为使用 pseudo-Receiver Operator Characteristic(p-ROC)更好。
- 该参数示意图如下。
- 横坐标为类别数量k,纵坐标为top-k accuracy。
- 还有两个可以使用的性能指标,之前p-ROC对应的AUC,以及maximum Youden index
- Computational Performance Metrics
- 注意,这里作者提到的 Computational Performance Metrics 指的不是 inference time,而是 training time & training time per epoch
2.4. 实验设计
- 使用TF实现了14个模型,包括9个C2D模型(VGG19/MobileNet/Inception-v3/ResNet50/MobileNet-v2/Xception/Inception-ResNet-v2/DenseNet169/DenseNet201)、1个LRCN、2个C3D和2个I3D。
- 依赖包版本:Horovod/OpenMPI/Numpy/TensorFlow/H5py/SciPy/FFmpeg。
- 硬件资源:
- 分别在1/2/4/8/16/32个节点上训练。
- 每个节点使用2个20核的Intel Xeon G6-6248 CPU,384G内存,3.8TB硬盘。
- 数据预处理:所有视频30fps提取帧,并resize到224*224。
- 训练与验证
- C2D/I3D 使用 ImageNet 的预训练模型初始化,C3D与LRCN使用随便初始化。
- C2D随机选择一帧作为输入,LRCN/C3D(16f)/I3D(16f) 使用类似TSN的形式提取16帧,C3D(32f)/I3D(64f)随机提取连续的32/64帧。
- 全部使用了 Horovod-wrapped distributed ADADELTA optimzier,categorical cross-entropy loss,学习率有5epochs的warmup,慢慢增加到1.0,之后的学习率分别在20/35/50上减小,全部训练65epochs。
2.5. 结果讨论
-
结果如下图所示
- accuracy 上,性能好的都是C2D模型,2D模型中效果最差的是LRCN。实验结果表明,top1/5 accuracy具有欺骗性(即效果好的模型不一定好),而且这两个指标往往与AUC/无关。
- computational performance 上看,基本上就是GPU数量加倍=训练时间减半。训练速度当然是C2D最快,且ResNet50>Inception-ResNet-v2>MobileNet-v2(有点神奇)。