valse2019会议的workshop9《在线视觉跟踪》中上海交通大学的马超老师分享的题目是《基于对抗式深度学习和往复式深度学习的视觉目标跟踪》,本次分享主要是基于《VITAL:Visual Tracking via Adversarial Learning》和《Deep Attentive Tracking Via Reciprocative Learning》这两篇分别发表在CVPR 2018和NIPS 2018上的工作。
马超老师先是将现有跟踪算法分为回归模型和分类模型两类,而后指出了两种方法各自的特点,如回归模型会输出密集的响应图,方便利用多层级深度特征,但是对尺度不敏感,而分类模型会输出稀疏响应图,依赖随机采样,对尺度敏感,方便与生成网络、注意力机制结合。从而基于正样本在空间上过度重合以及正负样本数量严重不平衡的角度出发,决定采取生成判别网络(GAN)来多样化正样本,采用代价敏感的损失函数减轻样本数量不平衡的问题。并指出了在使用GAN的过程中引发的一些思考:
1)、无法直接利用GAN提高两阶段 基于检测的跟踪框架;
2)、网络输入是采样的图片而不是噪声;
3)、分类器需要的是有监督学习,而不是简单的Fake和True;
4)、需要的是判别器、而不是生成器.
基于上述思考提出了自己的方法,如图(1)所示:
采用了类似attention的机制,生成一个 brunch,得出mask,乘在特征上来得到分类损失。
类似attention是因为该机制与attention相反的,是对抗学习的过程。训练中先用掩模修饰过后的深度特征,保留原本的标签进行有监督学习,训练掩模生成器的时候随机生成一系列掩模,挑选具有最大高斯的掩模,进行特征修饰。
具体做法就是,一开始随机初始化9个mask,相当于初始复制9份,输入到对抗学习的过程中去。这个操作里与attention不同之处就是,在attention中中间的区分性比较大,我们希望给他最大的权重,但我们在对抗学习的过程中,他的权值是最低的,也就是中间的区分性比较低,就像高手在开始练习轻功的时候,一开始要在腿上绑一个沙袋,练成了之后取下来就会特别厉害。把最显著的特性,用mask盖掉,这样训练起来对分类器的迷惑性是最高的,训练之后鲁棒性也就是最好的。
从GAN对分类器的有效性分析的角度出发,对于二值分类器的熵分布,如公式(1)所示:
其中,p和1-p是预测到的正负样本的概率,熵越高,则分类越不确定。
基于正负样本损失差距巨大的现像引入了代价敏感损失函数,即容易判别的负样本总是产生较小损失,但数量大。而所有容易判别的负样本损失的和占所有损失的大部分,所以通过引入代价敏感损失函数来降低容易判别的负样本的损失的权重,代价敏感损失函数如式(2)所示
结合对抗式学习和代价敏感损失函数,我们可以得到如下式(3)所示的损失函数
其中,
对于使用GAN进行跟踪的总结如下:
1)GAN可以增强正样本,捕获更多的外观形状变化
2)样本数量不平衡影响分类器的训练,代价敏感损失函数可以减轻样本数量不平衡带来的副作用
3)对抗式学习结合代价敏感损失函数在多个数据集上取得当前最优的跟踪效果
基于对抗学习的工作通过一个类似attention的机制来进行对抗学习,而接下来还将探索如何使用一个attention的机制来更好的帮助训练分类器,也就是往复式深度学习的方法。基于往复式深度学习的方法流程图如下图(2)所示。
往复式深度学习仍选用二分类的跟踪框架,给定一个训练样本,我们首先在正向操作中计算其分类分数。然后对该样本对分类分值求偏导,得到后向操作中的注意图。我们使用这些映射作为正则化项,并结合分类损失来训练分类器。在测试阶段,没有生成注意图。分类器直接预测目标位置。
对于关注度响应图的正则化训练是根据期望正类别响应图在物体附近亮点均值高,方差小,即用均值来除以方差;期望负类别响应图在物体附近亮点均值小,方差大,即颠倒过来,用方差来除以均值。从而通过正则化约束使分类正确的图中响应分布高亮集中,分类错误的图中响应分布暗淡分散。
综上所述,往复式学习的总体流程如下:
1)在训练过程中,先对每一个样本进行前向传播产生预测;
2)再对每个预测进行后向传播获得关注度响应图;
3)计算响应图对应的统计特性,对分类损失进行正则项约束;
4)依据计算出的损失更新网络参数.
对于使用往复性深度学习的总结如下:
1)往复式深度学习可以挖掘网络自身对目标物体的关注度;
2)关注度响应图可以作为正则化约束项帮助网络的训练;
3)训练结束后,网络具有对目标物体的关注特性,从而提升跟踪性能。
(文末附上马超老师团队对于目标跟踪算法的2019CVPR的两篇最新工作的poster展示)