Fast Object Detection in Compressed Video论文详读

introduce

基于CNN的方法都是使用图像识别网络提取特征,然后通过特征聚合或边框分数来利用时间一致性。尽管这些方法最终提升了检测效果,但是都伴随着大量的计算,这在视频长度越来越长的现在变得不再适用。

为了减少计算量,后续的方法类似DFF方法(点击查看对应的文章),只在稀疏的关键帧进行特征提取,将关键帧的特征warp操作后传播到邻近的非关键帧处。这类方法的关键是使用FlowNet进行像素间的位移,但是这类方法花费了额外的时间在FlowNet,因为FlowNet由卷积层组成(卷积计算需要耗费大量时间)

以上的方法都是把视频看作是由连续图像组成的,却忽略了视频通常是由压缩格式存储和传输的这一特点。把视频看作一系列连续的静态图像并使用不同的方法来恢复运动轨迹是非常耗时且冗余的。

MMNet(motion aided memory network )——对视频中的一组连续图像(GOP),在参考帧上应用识别网络,同时形成一个轻量级的memory来生成后续帧的特征;MMNet把上述的特征作为输入,利用运动向量和残差错误生成后续帧的特征。与之前方法只能传播高级特征不同,因为memory network有金字塔特征组成,所以可以处理不同尺寸大小的对象。虽然伴随微量的准确度下降,但MMNet比R-FCN快3倍,比MANet快10倍。

MMNet

在这里插入图片描述

MMNet的实现步骤

  1. 在参考帧It应用特征提取器,得到金字塔型特征(pyramidal feature) flt(l是网络的index);

  2. 将flt作为输入(一般只选取f3t、f4t、f5t作为输入),通过memory network中的pyramid feature attention模块生成ftatten

  3. memory network中的motion-aided LSTM模块利用ftatten和运动向量mt+1、残差错误rt+1生成帧It+1的特征图ct+1和隐层特征ht+1

  4. 对后续的帧It+j(j∈[2,n]),利用上一帧的特征图ct+j-1、隐藏层特征ht+j-1和当前帧的运动向量mt+j、残差错误rt+j,通过motion-aided LSTM模块得到相应的特征图隐藏层特征,重复该操作,直至得到GOP内所有帧的特征图;

  5. 把GOP内所有的特征图聚合传入检测网络R-FCN中同时得到检测边框

MMNet模型实现的一些细节

在这里插入图片描述

memory network由两部分组成,一部分是pyramidal feature attention,一部分是motion-aided LSTM

  • pyramidal feature attention:因为在此之前的方法都是只传播高级特征图,所以后续的特征只会接收到参考帧的高级语义特征,这会对检测不同大小的目标造成不必要的麻烦。Feature pyramid networks for object detection(FPN)中提到利用CNN内潜在的金字塔层次结构来对静态图像中不同大小的目标进行检测,FPN对每个层次都要进行单独的预测,如果移植到视频检测领域,在每个时间戳都要传播特征和预测,过于复杂。

    MMNet在第一个memory模块通过注意力机制合并金字塔型特征ftatten,ftatten被传入motion-aided LSTM继续进行处理;

    合并细节:

           - 首先使用f3t、f4t、f5t得到对应的 f ^ \hat{f} f^lt

在这里插入图片描述

          其中,F可以通过对一个卷积层设置合适的stride实现,flt是目标维度, f ^ \hat{f} f^lt在不同的l时,维度相同,这点对后续的注意力操作至关重要.

          - 然后计算每个特征图位置(i,j)的特征: 在这里插入图片描述
          把该输出称为scale descriptors。

          - 把scale descriptors作为输入,生成用于合并不同尺寸大小特征的attention 权重:

在这里插入图片描述
          pyramid feature attention的输出结果ftatten为:

在这里插入图片描述

  1. motion-aided LSTM: MMNet对传统LSTM的改进有两处:一个是使用运动向量辅助warp特征另一个是基于残差错误的新输入

    传统的LSTM,使用当前完整帧作为新的信息,对于MMNet而言,虽然已经把运动向量和前一个帧的特征作为输入,但还是缺少信息,所以添加了残差错误作为输入;

    通过视频编码器计算得到残差错误,该值将被作为预测错误而传播到解码器;在经过空间校准后的残差错误变成比整幅图像的外观特征更加重要的信息,为了使来自图像级的残差错误更好的适配特征级,使用一个卷积层来改变其大小;

    使用warp方法把邻近帧的特征传入当前帧:

在这里插入图片描述

          其中W通过双线性插值实现。特征图ct+k-1和隐藏层特征ht+k-1是memory network在t+k-1时的输出。

          把t+k-1帧的位置p+ Δ \Delta Δp投射到t+k帧的位置p:

在这里插入图片描述

          其中G(·)是双线性插值核:

在这里插入图片描述

          在获得warp特征和新的输入后,可以得到特征:

在这里插入图片描述

          隐藏层特征的生成:

在这里插入图片描述

conclusion

MMNet直接可以在压缩视频上使用,在视频流中使用原本就存在的运动信息存储和传播,而不是建立其他的模型来恢复运动路径,所以速度比之前的方法速度要快。
MMNet的优势:利用了编码解码器处理过程中原本就存在的运动信号和残差错误,无需额外计算;因为特征金字塔的原因,所以memory network可以处理不同大小的对象;明显的提升了处理速度,但伴随少量准确率下降

猜你喜欢

转载自blog.csdn.net/weixin_41963310/article/details/112254318