0. 前言
1. 要解决什么问题
- 矛盾的现状
- 从经验上看,bbox较大的样本,行为检测的结果更好。
- 视频模型需要采样帧作为输入,这样才能提高行为识别的精度。
- 为了显存够用,帧的尺寸需要比较小。但ROI又希望帧尺寸稍微大一些。
- Spatio-Temporal Action Detection 常用解决方案中的 ROI 结构
- ROI结构对于图像物体检测来说是非常合适的。
- 但在Action Detection中,行为类别往往与bbox周边的信息有关。
2. 用了什么方法
- 本文提出的 Spatio-temporal Action Detection 模型是在以前模型的基础上做了一些改进。
- 改进一:使用 crop+resize 替代 RoiPooling。
- 具体做法是通过bbox在原始视频中提取tube,然后再进行分类。
- 改进二:引入了 Long-range context。可能是使用了LFB?
- 改进三:增加了环境上下文(scene context)。
- 具体思路是,通过一个权重共享网络来提取全集场景特征(global scene features)
- 改进一:使用 crop+resize 替代 RoiPooling。
- 模型总结结构如下图所示:
- 提取人体bbox是专门的 Person Detector,看他们用的是ResNeXt-101-FPN实现的。
- Backbone用I3D ResNet-50-NonLocal,Backbone是2D膨胀后转换成3D的,然后在K400上训练。根据LFB的推荐,在stage5使用stride为1,dilation为2。最终feature map对于初始数据来说,temporal纬度变为缩小两倍,spatio纬度缩小16倍。
- 使用ROI从low resolution的特征图中提取特征对于行为分类不利,所以直接不使用ROI,而是crop+resize得到结果,然后与crop之前的结果进行融合。
- scene context 的获取:其实就是crop前的数据,用同一个3DCNN进行特征提取,global avg后得到shape为
[2048, ]的特征。 - long-term context features:没啥好说,看论文吧。(我还没看过,罪过罪过)
3. 效果如何
- 对比了 roi 与 crop+resize,明显后者更好。
- 判断bbox大小对最终结果的影响。
- 输入图像尺寸对结果的影响
- 判断图像中人物数量对最终结果的影响。
- 比较扩大bbox后(按比例),对结果的影响。带*的是roi pooling
- 从运行时间看
- 使用之前的roi pooling预测所有ava val数据耗时4548秒。
- 使用crop+resize这个结构,使用时间为7500秒。
- 时间增加了1.65倍。
- 与SOTA对比
- 我记得之前AlphAction就已经达到30%以上了,这个图已经过时了。
4. 还存在什么问题
-
我就喜欢这类文档,虽然创新性一般,但实验很多,省得自己尝试了。
-
本菜鸡还没看过LFB,所以本文结果中只是把任务的feature添加到LFB中,那同一张图有多个人,不是就想LFB中添加多个数据了?我还以为是每张图片只添加一次……具体的还要看看LFB论文。明天就看。