摘要
现有的SOA目标追踪器,例如Siamese系列追踪器算法都是使用DNN来获得高准确率。现在很多人都在研究视觉追踪模型的鲁棒性。这篇文章中分析了基于Siamese网络的目标追踪器的弱点,并且在视觉目标追踪领域生成对抗样本。这篇文章中提出了一个FAN(Fast Attack Network),从而使用漂移损失(drift loss)和嵌入特征损失(mbeddedfeature loss)来攻击Siamese追踪器。根据FAN这个名字来看,这篇文章主要是侧重于提高训练对抗样本的速度。FAN可以在10ms的时间内就产生一个有目标的对抗攻击或者是无目标的对抗攻击。
Introduction
1)有目标的对抗攻击和无目标的对抗攻击
从图中可以看到,有目标的对抗攻击可以使得追踪器对目标物体的追踪朝着相反的我们想要的方向去移动,而在无目标的对抗攻击中,追踪的边界框会满图片的飞,从而脱离原始的正确的追踪结果。
SiamFC追踪器通过学习深度特征可以得到帧与帧之间的相似性。在目标追踪中,VOT是可以搜索到每一帧中最相似的区域。所以这个任务其实就是个相似度的度量问题。这篇论文研究的就是VOT上的对抗攻击。
Contribution
(1)这篇论文是第一篇对VOT做有目标攻击和无目标攻击的工作。这个工作中第一次给出了有目标攻击和无目标攻击的定义。
(2)这篇论文提出了一个端到端的攻击方法:FAN。作者设计了一个经典的drift loss(漂移损失)来实施无目标攻击,设计了一个embedded feature loss来实施有目标攻击。最后,将两个损失函数结合到一起从而实施整个的攻击任务。
(3)在3个小时的训练过后,FAN可以在不需要对网络参数做fine tune的基础上成功的攻击VOT和OTB数据集。并且在inference阶段,FAN可以在10ms以内产生对抗样本,比之前的迭代优化算法要快很多。
相关工作
(1)目标追踪中的深度学习
现在的基于深度学习网络的追踪系统可以分成两个类别:一个是tracking-by-detection架构,另一个是基于SiamFC和SiamRPN。在SiamFC中就是关注于判别式特征学习,通过对示例template-候选搜索区域进行建模,并且进行动态的超参数优化。而在SiamRPN中,很多研究者引入了一个网络级联的模型用于做候选区域搜索。DaSiam提出了一个用于感知干扰器的训练策略可以产生语义对并且对语义干扰器进行压缩。
(2)迭代式对抗攻击和生成式对抗攻击
现有的对抗攻击是基于优化算法和生成算法。基于优化的对抗攻击是通过计算DNN的梯度从而计算得到noise噪声的大致方向。I-FGSM就可以将one-step的优化分割成好几个小的步骤,并且迭代式的为图像分类任务生成对抗样本。DAG就将RPN中的候选区域当作是一个sample,并且可以迭代式的改变候选区域的label从而攻击目标检测和目标分割任务。另一种生成式对抗攻击就是基于生成器,可以很快的生成对抗扰动。GAP就可以使用ResNet生成器架构对ImageNet网络的图片进行误分类。UEA可以通过结合multi-layer特征损失和分类损失来生成可以迁移的对抗样本。但是因为有速度的限制和要求,基于迭代优化的对抗攻击不能在VOT任务上取得实时性的攻击效果。
生成对抗样本
(1)问题定义
I1,I2,…In是n个视频帧,b1,b2,…,bn是n个ground truth也就是n个视频帧中的目标物体的位置。VOT任务就是会基于初始帧的状态对之后每一个帧的图片中的目标物体的位置进行预测。(所以VOT不侧重于分类,而是侧重于回归)
有目标攻击的定义为:让追踪器按照我们想要的轨迹CspecificC^{specific}Cspecific去追踪目标物体。以cic_ici?作为预测中心,cispecc_i^{spec}cispec?是我们想要目标被追踪的轨迹,目标是让∣∣ci?cispec∣∣<ξ||c_i-c_i^{spec}||<\xi∣∣ci??cispec?∣∣<ξ.这里的ξ\xiξ就设置成20个像素点。(那这里的距离到底是怎么定义的呢,因为每一帧都会有一个位置)
无目标攻击的定义为:让追踪的结果远离原始的追踪结果。IOU(βattack,βgt)=0IOU(\beta^{attack},\beta{gt})=0IOU(βattack,βgt)=0,其中一个是原始的gt也就是ground truth结果,一个是攻击的结果。(但是直接为0时是不是这个攻击限制的太强了)
(2)漂移损失攻击
基于孪生网络(Siamese network)的追踪器在很大程度上都是依赖于全卷积网络产生的响应图,从而预测目标物体的位置。因为SiamFC会使用一个搜索区域x来预测目标物体的位置,所以可以通过攻击搜索区域从而实施非目标攻击。随着时间的推移,追踪器会一直积累预测偏移,直到追踪器最终完全丢失对目标物体的追踪。在图2a中,可以看到,在响应图S中,颜色越深,表明响应分数越大。而且图中的红色区域和绿色区域分别代表的是对抗图和原始干净图片的响应区域。c表示的是响应图中的分数最大的区域。对一个训练好的追踪器来说,干净样本的响应图大致上是关注于绿色区域的中心区域。因此,作者提出了一个漂移损失,可以使得S的中心可以漂移。
下面的公式是drift loss的函数,可以通过对激活中心(activation center)进行漂移,从而产生对抗扰动,s表示的是响应分数,y表示的响应图S中的label标签,其中的S的中心区域(也就是其中的绿色区域)的label是1,其他部分就是-1.
为了产生对抗样本,非中心区域的响应图的最大响应值要比ground truth的最大响应值大,所以响应图的分数损失(score loss)可以写成这样,其中的p代表的是响应图中的每一个位置。
目标box的偏移依赖于响应图中的activation center的偏移。我们想让activation center尽可能的远离原始的中心center,所以distance loss可以表示成下面这样:
最后的drift loss漂移损失可以写成如下:
(3) 嵌入特征损失攻击(Embedded Feature Loss Attack)
有目标攻击需要追踪器按照特定的轨迹对于目标物体进行追踪,所以有目标攻击跟无目标攻击是不一样的。虽然上面的drift loss可以产生无目标攻击,但是因为它的攻击方向是不确定的,所以不能产生有目标攻击。有目标攻击的输入是一个视频V以及一个特定的轨迹的中心CspecC^{spec}Cspec。因为目标和背景有很大的区别,所以搜索区域xR+1x_{R+1}xR+1?和模板图片z的响应值在背景区域会逐渐降低,这样有目标攻击就很容易会失败。(这里没有理解啥意思)
如果需要做有目标攻击的话,就需要增大响应值的大小。如下图中的Figure 2b,我们要最小化对抗性范例和特定追踪区域的特征之间的L2距离。所以,作者提出了嵌入式特征损失可以产生对抗图片z^\hat zz^和x^R+1\hat x_{R+1}x^R+1?。生成的对抗样本的特征是和嵌入图片e的特征相近的。
如下图中的公式5所示,e代表的是特定的追踪区域,q代表的是输入的视频区域。?\phi?代表的是特征函数,G(q)表示的是对抗扰动。所以二范数前面的是对抗样本图片的特征,后面的是嵌入式图片的特征。在特征提取过后,对抗图片的特征和嵌入式图片的特征必须要尽可能接近。
在训练阶段的嵌入式图片的选择是很重要的。例如,牧羊犬和雪橇犬之间的特征距离小于牧羊犬和埃及猫之间的特征距离。在实际的攻击过程中,作者采用了高斯噪声来替换公式5中的嵌入式图片e。