CVPR2020 | 当目标跟踪遇上对抗攻击

2023-05-16

论文链接

https://arxiv.org/abs/2003.09595

代码链接

https://github.com/MasterBin-IIAU/CSA

研究背景

【目标跟踪】近年来,SiamRPN系列在目标跟踪领域大放异彩,其中发表于CVPR2019的SiamRPN++[1]更是在各大目标跟踪数据库上刷新纪录。不仅精度高,其运行速度也远超实时,具有相当大的实用潜力。

【对抗攻击】“对抗攻击”研究的中心是:如何以人眼难以察觉的方式欺骗神经网络,使其返回错误的结果。近年来,对抗攻击已经从图像分类延伸到了目标检测和语义分割等领域,是近年来的一个热点问题。

研究动机与贡献

对抗攻击的研究既能帮助研究者加深对模型决策机理的理解,也能为设计更加鲁棒的算法提供思路。但是目前,对抗攻击在目标跟踪领域尚未引起足够的重视。

本文中(Cooling-Shrinking Attack: Blinding the tracker with imperceptible noises),我们针对性能优异的SiamRPN++跟踪器设计了一种既简单而又高效的“对抗扰动生成器”,该方法名为Cooling-Shrinking Attack。我们讨论了多种攻击策略,

实验结果表明:本文提出的方法能够使SiamRPN++跟踪器的性能大打折扣。

除此之外,我们的方法具有良好的迁移性,相同的方法对DaSiamRPN[2], DaSiamRPN-UpdateNet[3]和DiMP50[4]等其他性能优异的跟踪器同样有效。

方法介绍

【SiamRPN++】

首先快速回顾下SiamRPN++的跟踪流程,进而引出我们的对抗攻击方法。SiamRPN++有两个输出分支,一个预测目标的置信度分数图,另一个预测关于预定义anchor的修正,其结构框图如下图所示。

在跟踪期间,跟踪器将分数图上最大值处当做是目标所在的位置,接下来将该位置处预测的修正量跟预定义的anchor结合得到更加精确的边界框。

总结起来,SiamRPN++依靠其预测的分数图(热力图)定位目标,依靠预测的修正量实现精确的尺度估计。

如果我们能熄灭(Cooling)热力图,那么跟踪器将无法定位目标;如果我们能把修正量变得很小,那么跟踪器预测的边界框就会变小(Shrinking),无法准确地框住目标。

本文正是从以上两个角度入手,提出了名为Cooling-Shrinking Attack的攻击方法。

【Cooling-Shrinking Attack】

受论文[5]的启发,我们将“添加对抗噪声”建模成了一个“图像到图像的转换问题”(image-to-image translation)。相比于“迭代优化”类方法,这种方法的速度更快。

具体来说,早期的对抗攻击方法多采用迭代优化策略,每进来一张图像,都要对分类网络执行多次前向传播与反向传播,速度很慢;

而如果采用本文使用的“构建噪声生成器”的思路,每拿来一张图像,只需对我们的噪声生成器前向传播一次,便可将原始图像转化成能够欺骗目标模型的对抗图像。

生成器的训练框图如下图所示(以攻击搜索区域为例,攻击模板与之类似):

前面已提到:我们希望噪声生成器(G)产生的对抗扰动具有这样的性质: 当它叠加到原始的(未受干扰的)搜索区域上时,得到的“对抗搜索区域”能够使得SiamRPN++在目标所在位置处:

(1)输出的分数图值越低越好 (Cooling)。

(2)输出的“负责H跟W的”修正量越小越好 (Shrinking)。

这两条期望分别是通过Cooling-Loss跟Shrinking-Loss来实现的,两个Loss的具体形式如下图所示:

但是只有这些还不够,因为对抗攻击的一个基本要求是:添加的噪声要尽可能地不易察觉!如果不对噪声幅度进行约束,那么添加的噪声将使得图像面目全非。

本文中我们将噪声的平方L2范数也作为总损失函数的一部分。总的损失函数表达式为。当,一定时,越大则添加的噪声就越不易察觉(对抗性也越弱);越小则噪声越显著(对抗性也越强)。

因此可以通过调节以权衡"显著性"和"攻击性"(注:这里只是拿举例,实践中,也都是可调的)。

值得注意的是:以往采用“训练噪声生成器”思路的对抗攻击方法(例如前面提到的论文[5])往往会再使用一个判别器(Discriminator)鉴别“对抗图像”,采取GAN的交替训练策略,从而实现“使对抗图像与原始图像不可区分”的目标。

但是由于训练GAN的不稳定性,在实验中必须精细调节各个损失函数的权重,不然就会发生模式崩溃。

而在做实验的过程中,我们发现:即使不使用判别器,只靠损失也可以有效控制噪声范数,并且训练会更加稳定,本文中我们没有使用判别器,框架更加简单。

实验结果

图5展示了一些定性结果:

曲线图纵坐标是跟踪结果与真值之间的IoU,蓝色曲线是SiamRPN++的原始结果,红色曲线是攻击后的结果。

从图中我们可以明显看出:我们提出的对抗攻击方法使得SiamRPN++对目标尺度不敏感(如图(a)所示), 对相似物体的判别力变差(如图(b)所示), 对目标失去定位能力(如图(c)所示)。

我们在OTB100, VOT2018和 LaSOT三个数据集上对三种攻击策略进行了测试。图6,图7和图8分别展示了只攻击搜索区域,只攻击模板,同时攻击模板和搜索区域的结果。

图6:只攻击搜索区域

图7:只攻击模板

图8:同时攻击模板和搜索区域

从以上实验结果中可以看出:我们的方法对SiamRPN++的攻击效果十分显著。

进一步的讨论

【可迁移性】

除了攻击性之外,评价对抗攻击算法的另外一项指标是"可迁移性",也就是“为A模型定制的攻击方法,对B模型是否也有效”。

本文中,我们选择了另外三种性能强大但又不同于SiamRPN++的跟踪器: DaSiamRPN[2], DaSiamRPN+UpdateNet[3], DiMP[4]。

我们并未在新的跟踪器上重训练生成器(如果重新训练的话,攻击效果会更好,但是简单起见我们没有这样做),而是使用为SiamRPN++定制的生成器直接攻击其他跟踪器。

实验结果如下图所示:

从结果中可以看出:尽管噪声生成器并不是专门为这些跟踪器训练的,但是仍能有效地降低这些算法的性能。

【速度】

在2080Ti上,将一个大小为127x127的模板转化成对抗模板大约只需要3ms;

将一个大小为255x255的搜索区域转化成对抗搜索区域只需要大约9ms。

换算成帧率的话高达100FPS以上,远超过常规视频的帧率,因此从时间开销上讲,我们的方法也是不易被察觉的。

【和其他噪声的比较】

为了证明我们提出的对抗噪声相比于其他噪声的优势,我们也和冲激噪声,高斯噪声做了比较,实验结果如图10所示:

从以上图表中我们可以看出:我们提出的方法添加的噪声的幅度要远小于高斯和冲激噪声,但是我们方法带来的性能下降却要明显高于后两种噪声。

这也证明了我们方法的优越性:不易察觉,攻击力强!

参考文献

  1. Li B, Wu W, Wang Q, et al. SiamRPN++: Evolution of siamese visual tracking with very deep networks[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2019: 4282-4291.

  2. Zhu Z, Wang Q, Li B, et al. Distractor-aware siamese networks for visual object tracking[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 101-117.

  3. Zhang L, Gonzalez-Garcia A, Weijer J, et al. Learning the Model Update for Siamese Trackers[C]//Proceedings of the IEEE International Conference on Computer Vision. 2019: 4010-4019.

  4. Bhat G, Danelljan M, Gool L V, et al. Learning discriminative model prediction for tracking[C]//Proceedings of the IEEE International Conference on Computer Vision. 2019: 6182-6191.

  5. Wei X, Liang S, Chen N, et al. Transferable adversarial attacks for image and video object detection[J]. arXiv preprint arXiv:1811.12641, 2018.

END

备注:跟踪

目标跟踪交流群

目标跟踪、视觉跟踪等更多最新技术,

若已为CV君其他账号好友请直接私信。

我爱计算机视觉

微信号:aicvml

QQ群:805388940

微博知乎:@我爱计算机视觉

投稿:amos@52cv.net

网站:www.52cv.net

在看,让更多人看到  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CVPR2020 | 当目标跟踪遇上对抗攻击 的相关文章

  • 双系统重装Ubuntu经验分享

    真的很喜欢ubuntu 但又没有恒心把它学通透 xff0c 毕竟不是相关专业 第一次重装是因为没多少经验 xff0c 安装qqforlinux的时候多了两个东西 xff0c 还自己生成了快捷方式 xff0c 就想点开看看是啥 xff0c 结
  • PCL三维点云拼接融合

    1 PCL三维点云拼接融合技术 2 PCL系列 拼接两个点云
  • ubuntu20版本忘记或重置密码的问题

    前段时间把ubuntu密码忘了 xff0c 进不去并且有些需要密码权限的功能也用不了 xff0c 在网上搜了一大堆 xff0c 都是什么从开始就摁shift或Esc xff0c 好家伙摁烂了也不行啊 解决如下 xff1a 首先 xff0c
  • 程序员申请加班调休被HR拒绝:996是行规,不想加班就滚?

    现如今 xff0c 很多公司为了不给员工加班费 xff0c 一般都会允许他们进行调休 也就是你加班了多少个小时 xff0c 等项目不忙的时候 xff0c 你们可以选择多休息几天 公司的这种做法 xff0c 大多数员工还是能接受的 xff0c
  • 博士生如何进行文献阅读和文献整理?

    一 阅读文献之前 先了解写文章的规则 SCI的架构 TITLE ABSTRACT main message INTRODUCTION why did you do this job METHODS how did you do it RES
  • 结构体之offsetof宏详细解析

    1 define offsetof TYPE MEMBER size t amp TYPE 0 gt MEMBER include linux stddef h 1 1 功能 xff1a 返回结构体TYPE中MEMBER成员相对于结构体首地
  • 解决curl: (7) Failed to connect to raw.githubusercontent.com port 443

    解决办法 xff1a 一 首先查询域名 raw githubusercontent com对应的ip地址 去这网址查询 xff1a https tools ipip net domain php 二 修改hosts文件 linux系统一般都
  • 关于使用Maix Bit所遇到的OSError: Reset Failed问题

    一 问题 今天在使用Maix Bit学习的时候遇到了这样一个问题 xff0c 我使用Maixpy连接上了Maix Bit xff0c 然后进行下载程序的时候 xff0c 下载失败 xff0c 弹出来一个OSError Reset Faile
  • 致小白的K210模型训练与运用

    致小白的K210模型训练与运用 文章目录 致小白的K210模型训练与运用 前言一 模型训练方法二 详细介绍1 使用MixHub平台进行训练2 使用Mx yolov3自己搭建平台进行训练3 V3模型4 V4模型 前言 由于我也是刚接触K210
  • 使用APP inventor来制作一个属于自己的蓝牙串口软件

    使用APP inventor来制作一个属于自己的蓝牙串口软件 本文主要讲述蓝牙的发送和接收功能的制作 一 准备 1 APPinventor的网址 xff1a http app gzjkw net 二 蓝牙APP界面的设置 首先我们新建一个项
  • 一起卷吧,arduino/mixly语音识别模块,10元,可以自定义,提供自制的mixly库

    一 效果演示 制作的语音风扇演示一起卷吧 xff01 语音识别 xff0c 10元 xff0c 串口通信 xff0c arduino可用 xff0c 提供自制的mixly库 操作简单 xff0c 可以语音播报 哔哩哔哩 bilibili 制
  • arduino/mixly红外发射接收模块

    一 资料 http 资料链接 xff1a https pan baidu com s 1idRcrVCxQ5zWLh59EFpi9g 提取码 xff1a n8ud 默认波特率9600 串口通信 xff0c 可以发送也可以接收 发送格式 二
  • openmv学习十三:特征点匹配

    适用于匹配多角度的物体 xff0c 需要现场提取之后才能使用 http docs openmv io library omv image html http docs openmv io library omv image html cla
  • arduino/Mixly使用TCS230颜色识别传感器

    一 器材 TCS230 arduino uno 二 接线 TCS230arduino unoGNDGNDVCC5VS0D2S1D3S2D4S3D5OE LEDD6OUTD7 三 程序 mixly程序 arduino程序 define tcs
  • arduino/Mixly心知天气

    一 准备 首先百度一下心知天气 xff0c 获取一下密钥 xff0c 具体的可以看这一篇Blynk中WebHook组件的使用方法 moshanghuaw的博客 CSDN博客 然后再准备一个esp8266或者esp32都可以 二 程序 mix
  • C For Linux之内存访问-内存简介

    1 内存 1 1 计算机为什么需要内存 存储器是计算机系统中非常重要的组成部分 计算机中的存储器分为两类 xff1a 内存储器的外存储器 xff08 也叫辅助存储器 xff09 所谓外存储器在PC机中一般指硬盘 U盘 光盘等 xff0c 而
  • 每天一分钟玩转golang:基础类型之字符串(四)

    大家好 xff0c 我是加摩斯 xff0c 觉得文章有帮助的小伙伴 xff0c 记得一键三连哟 xff5e 申明 xff1a 本系列两天更新一篇 xff0c 纯原创 xff0c 转载前请与我沟通 字符串类型也是一种基本类型 xff0c 底层
  • 项目二:电子骰子

    项目二 xff1a 电子骰子 文章目录 项目二 xff1a 电子骰子一 导入 5分钟 xff09 学习目的 二 新授 65分钟 1 预展示结果 5分钟 2 本节课所用的软硬件 5分钟 3 硬件介绍 1分钟 4 图形化块介绍 1分钟 5 单个
  • 项目三:双人骰子

    项目三 xff1a 双人骰子 文章目录 项目三 xff1a 双人骰子一 导入 5分钟 xff09 学习目的 二 新授 65分钟 1 预展示结果 5分钟 2 本节课所用的软硬件 5分钟 3 硬件介绍 1分钟 4 图形化块介绍 1分钟 5 单个
  • 项目四:无极调光台灯

    项目四 xff1a 无极调光台灯 文章目录 项目四 xff1a 无极调光台灯一 导入 5分钟 xff09 学习目的 二 新授 65分钟 1 预展示结果 5分钟 2 本节课所用的软硬件 5分钟 3 硬件介绍 5分钟 4 图形化块介绍 10分钟

随机推荐