CVPR2017行为识别中的关键帧检测网络AdaScan

来源:互联网 发布:a星寻路算法c语言 编辑:程序博客网 时间:2024/06/05 06:08

今天阅读了该论文,获得一些启发,先对其进行记录,以防后面会遗忘。该论文的核心思想是我要在视频中去除一些冗余帧,提升视频行为的判断力,保留有用信息,去除无关信息。论文的网络图如下所示:


为何AdaptivePooling可以实现对关键帧的选取呢?

原因在于Adaptive Pooling的结构所在。下面将讲述核心结构Adaptive Pooling。经过Deep Network获得的Features经过Adaptive Pooling可以形成Pooled Vector。首先定义变量:

, 指的是在视频X下,计算至t帧为止图片得到的pooled 向量。The Adaptive Pooling模块循环进行Pooling是需要两部操作。这两个操作通过下面两个式子表示。

其中变量预测帧图像中含有信息的重要性。
变量即t+1帧含有信息的重要性,即就是预测得到的变量。
表示Deep Network获得的t+1帧的特征。

第一个式子是获取该帧的重要性,第二个式子就是带有权重的Pooling。得到新的Pooled Feature,该Pooled Feature是对前t+1帧信息的整合。

下面是原文中的英文解释:



该方法是对时域的Feature进行Pooling,而不是限制在空域的Feature。根据帧的重要性设定权值,该帧含有的有用信息的可能性越大,权重越高,最后的PooledFeature获得的有用信息更多,无用信息更少。

是什么函数呢?这是一个Adaptive的函数,那啥才是Adaptive的函数呢???

当然是神经网络。该函数用的神经网络很简单,就是一个MLP,多层感知器模型。该网络是三层全连接网络组成,简单速度快也有非线性的特性,且有自适应的特性。输入到网络的是  当前pooled特征和下一帧特征的残差,用残差可以让网络explicitly关注之前没有看到的特征,进而决定是否对它Pool。

该网络的Loss函数:

该Loss会有助于选择区别性的帧,同时丢弃无用的帧。越大,选取的帧就越少。正则项起着重要的作用。至于这个Loss的内涵,不太理解,日后理解了会对其补充

网络通过反向传播,会优化MLP,进而优化    ,这样就使得在test的过程中,可以很好地选择关键帧,丢掉无用帧。





原创粉丝点击