文章地址:《ECO: Efficient Convolutional Network for Online Video Understanding》
代码地址:https://github.com/mzolfaghari/ECO-efficient-video-understanding
对于视频理解,只使用少部分帧计算速度会比较快,但是对于数秒长的视频需要利用更多的帧信息来提高检测精度。为了解决这种问题,文章提出一种既可以利用较长的时间信息又可以较快的计算的网络。
一、网络结构
首先文章认为视频帧存在一些冗余,所以输入网络的视频帧可以采样获得。
对于一个输入视频,先将视频分为N等分,对于每个部分都随机采样一帧,每一帧都经过一个2DCNN网络,得到N个feature后,不同的通道进行堆叠就可以得到有时序信息的feature了,然后将堆叠后的feature输入到3DCNN网络,最终输出动作类别。网络的结构如下图所示:
1.png1.1 ECO Lite 和 ECO Full
上图中的结构就是ECO Lite,但是该结构浪费了short-term actions的信息,对于短时间动作可能可以只通过少量的视频帧来进行分类,为了更好的提取这部分信息,文章在3DCNN并行加上2DCNN网络,加2DCNN的网络成为ECO Full。两种网络结构图如下图所示:
2.png文章2D-Net采用BN-Inception网络,3D-Net网络采用3D-Resnet18,2D-Nets采用BN-Inception网络(该网络与3D-Net是并行结构,每帧预测的feature进行pooling后与3D-Net输出进行concatenate)
二、Online video understanding
对于有些场景需要对在线视频进行处理,文章提出的网络也能很好的处理这种视频。
对online video的处理流程如下伪代码所示:
3.png- 首先初始化一个queue Q(Q的大小为N帧)和一个工作内存SN
- 当开始检测是有N帧都放入SN中
- 将SN所有的视频帧都输入到ECO网络进行预测,输出P
- 视频帧不断的输入,都存入Q中,当Q满后,从SN采样和从Q中采样
- 将采样出来的N帧更新SN,然后跳到3步骤
- 最终的预测用PA表示,PA为P与之前的PA的平均
采样方式采用的是uniform的方式,如下图所示
4.png
网友评论