一、背景
目标检测是无人驾驶以及机器人领域中十分关键的一个子任务,该任务将图像作为输入,检测图像中存在的目标,给定该目标的类别以及用于指示位置的包围框bounding box。针对该任务的攻击大多数使用的是像素级的攻击,该攻击计算开销大且难以部署在现实中。针对这一问题,本文提出了一种小范围的数字扰动攻击,该攻击包括三种模式,分别对应三种类型的目标检测模型,同时还开源设计了一种ROS仿真的演示程序。
在相关工作的部分,作者总结了一下图像攻击的集中模式,根据攻击的方法,作者将图像的攻击分为敌对滤波器(adversarial filter)以及敌对贴片(adversarial patch)。
敌对滤波器
敌对滤波器根据实现方式进一步划分为数字滤波和物理滤波。数字滤波指的是直接从数据层面利用掩码修改整个图像,这种方法十分简单粗暴,但是并不容易部署在现实中,因为获取并替换整个图像的这种攻击方法并不容易实现。而物理滤波同样使用一个掩码,但不同之处在于这种方法需要将制作好的掩码以类似贴纸的形式,贴在摄像头表面,这样子整个相机观测到的所有内容都会被这个物理滤波所干扰。
敌对贴片
贴片指的就简单多了,其实就是在图像中进行攻击的放置。作者同样划分了两类:数字贴片和物理贴片。数字贴片是在原图上进行叠加,而物理贴片则是在场景中真实布置这一贴片。本质上就是一个只能在仿真实验中进行,而另一个可以在真实环境中进行部署。
二、攻击设计
作者进行的是一个白盒攻击,对YOLO V3和V4进行攻击,目标是让模型在没有物体的地方检测出物体。作者首先自己定义了一种叫做敌对叠加(adversarial overlay)的方法,简单来说前面提到的敌对滤波器是对整张图像进行一个扰动的叠加,敌对贴片是对图中的一部分进行扰动和原图的加权求和,而作者提出的敌对叠加是只在一个区域进行扰动。但个人感觉这就是纯炒概念显得高大上。
在攻击的过程中,攻击者需要首先划定一个区域,之后通过迭代的方法,调整区域内的扰动,来最大化目标检测的推理偏离。针对模型的检测目标,作者设计了三种目标函数,分别对应单目标、多目标、多目标无指向:
这三种优化函数针对的分别是一个、多个特定类别的目标检测以及多个不同目标的目标检测,使用的参数本身就是YOLO的输出参数:
所以这个过程实际上就是,攻击者利用ROS的服务器,划定一个区域,在这个区域内,调整扰动并将调整后的图像送入YOLO进行推理,根据推理结果得到优化函数的值,这个值反过来再进行优化,从而实现攻击效果的最大化。