今天阅读了该论文,获得一些启发,先对其进行记录,以防后面会遗忘。该论文的核心思想是我要在视频中去除一些冗余帧,提升视频行为的判断力,保留有用信息,去除无关信息。论文的网络图如下所示:
为何AdaptivePooling可以实现对关键帧的选取呢?
原因在于Adaptive Pooling的结构所在。下面将讲述核心结构Adaptive Pooling。经过Deep Network获得的Features经过Adaptive Pooling可以形成Pooled Vector。首先定义变量:
其中变量![]()
预测帧图像中含有信息的重要性。
变量![](https://img-blog.csdn.net/20170928173822344?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc21hbGxfQVJN/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
即t+1帧含有信息的重要性,即就是
预测得到的变量。
第一个式子是获取该帧的重要性,第二个式子就是带有权重的Pooling。得到新的Pooled Feature,该Pooled Feature是对前t+1帧信息的整合。
下面是原文中的英文解释:
该方法是对时域的Feature进行Pooling,而不是限制在空域的Feature。根据帧的重要性设定权值,该帧含有的有用信息的可能性越大,权重越高,最后的PooledFeature获得的有用信息更多,无用信息更少。
那
是什么函数呢?这是一个Adaptive的函数,那啥才是Adaptive的函数呢???
当然是神经网络。该函数用的神经网络很简单,就是一个MLP,多层感知器模型。该网络是三层全连接网络组成,简单速度快也有非线性的特性,且有自适应的特性。输入到网络的是
当前pooled特征和下一帧特征的残差,用残差可以让网络explicitly关注之前没有看到的特征,进而决定是否对它Pool。
该网络的Loss函数:![](https://img-blog.csdn.net/20170928174528370?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc21hbGxfQVJN/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
该Loss会有助于选择区别性的帧,同时丢弃无用的帧。
越大,选取的帧就越少。正则项起着重要的作用。至于这个Loss的内涵,不太理解,日后理解了会对其补充
网络通过反向传播,会优化MLP,进而优化 ,这样就使得在test的过程中,可以很好地选择关键帧,丢掉无用帧。