季一木,田鹏浩,刘尚东,吴梦雪,丁建宇,张 驰,孙一铭
(1.南京邮电大学计算机学院,江苏南京 210023 2.南京邮电大学江苏省无线传感网高技术研究重点实验室,江苏南京 210023 3.南京邮电大学高性能计算与大数据处理研究所,江苏南京 210023 4.南京邮电大学高性能计算与智能处理工程研究中心,江苏南京 210023)
近年来,随着计算机硬件性能的提升和深度学习[1]相关技术不断突破与成熟,深度神经网络(Deep Neural Network,DNN)已成功地应用于多个人工智能领域,如 3D目标检测[2]、图像目标分类[3]、语音识别[4]、自然语言处理[5]和图像重构[6]。然而,经研究表明,基于DNN的目标检测模型易受对抗扰动图像干扰。因此,如无人驾驶[7]、精密设备制造、智能化医疗等对精准度要求严格的应用,训练模型的安全性和鲁棒性更需要关注。
在上述背景下,目标检测模型的对抗算法[8]研究进入了研究者的视野。对抗算法通过在DNN中输入对抗扰动图像,从而达到目标检测模型误分类或检测失效的目的。对抗算法生成的对抗扰动根据应用环境可分为两类:(1)数字化对抗扰动图像,攻击者可直接将该图像输入至目标检测模型;(2)物理世界对抗扰动图像,攻击者需要将该图像通过摄像头输入至目标检测模型。描述对抗算法的性能主要有如下3种属性:(1)目标模型的mAP值,代表该算法生成的对抗扰动攻击目标模型的成功率;(2)鲁棒性,代表该算法生成的对抗扰动在复杂环境下的对抗效果;(3)对抗方式灵活性,代表攻击者能否在算法中自由选择对抗方式,例如有目标指向对抗和无目标指向对抗。
大多数的对抗算法属于数字化对抗算法,如FGSM( Fast Gradient Sign Method)[9]、DeepFool[10]、PGD(Projected Gradient Decent)[11]与 C&W(Carlini and Wagner Attack)[12]。 在数字化对抗算法中,通过生成细微的对抗扰动图像就能达到高攻击成功率效果。然而,为了在复杂环境中便于摄像头捕捉,物理世界对抗算法需要生成鲁棒性更高和样式更真实的对抗扰动[13]。现有的物理世界对抗算法,如AdvPatch( Adversarial Patch)[14]、 EOT ( Expectation Over Transformation)[15]、 FASC ( Fooling Automated Surveillance Cameras)[16]和 RP2( Robust Physical Perturbations)[17],通过打印不同样式的对抗扰动图像来欺骗目标检测模型,但在复杂环境下依然存在攻击成功率较低与鲁棒性能较差的问题。
因此,本文提出一种应用于物理世界的对抗算法IFASC-TS,从总损失函数设计和多类别数据增强两个角度,解决了对抗扰动因环境因素影响导致对抗效果差的问题。
为了生成一种鲁棒性能较好、攻击成功率较高的对抗扰动。IFASC-TS提出如下针对性的改进:
(1)在生成对抗扰动的总损失函数中,引入一种约束对抗扰动输入与原始图像输入之间的预期有效距离误差损失函数。该损失函数的作用是增强对抗扰动在图像中的真实性,以提升攻击成功率。
(2)在训练对抗扰动时,引入一种多类别数据增强方法,通过仿射变换和外观变化来扩充对抗扰动的训练集,以提升鲁棒性能。
基于深度学习的视觉对抗算法主要通过最大化目标检测模型的分类误差来生成对抗扰动[18]。对抗算法可分为数字化对抗算法(Digital Attack)和物理世界对抗算法(Real-world Attack),这两类算法中又可分为无目标指向对抗算法和有目标指向对抗算法。
2014年Goodfellow等提出了基于无目标指向的快速梯度符号算法FSGM。该算法在训练中,通过每步得到的损失函数值调整对抗扰动的目标函数中的参数值,在达到一定阈值后生成数字化扰动图像。虽然FGSM算法对抗思路简单有效,但是缺点也十分明显。许多研究人员在FGSM算法基础上展开了大量的改进工作。Kurakin等[13]发现FGSM算法存在因单次梯度更新次数不够造成对抗效果差的问题,于是提出FGSM算法的迭代版I-FSGM算法。该算法通过迭代成千上万次的小幅度最优化扰动流程,以增强数字化扰动图像的对抗强度。2016年Moosavi-Dezfooli等[10]提出了 DeepFool算法,该算法基于FGSM算法,将梯度方向从正确的分类区域向类决策边界进行移动,最终以最优梯度方向进入其他的类别区域。该算法生成的对抗扰动更具有欺骗性,并增强了其不可见性。2017年Moosavi-Dezfooli等[19]提出 UAP(Universal Adversarial Perturbations)算法,其主要的特点是只需要从数据集中取出一小部分的图像进行训练,就能生成具备一定跨模型攻击能力的数字化对抗扰动。
随着无目标指向对抗算法的实现,研究者又提出许多有目标指向对抗算法。Kurakin等[13]提出的LLC算法首次实现将DNN分类器分类出的低置信度的类别标签替代FGSM算法中使用的原始类别标签。 Carlini和 Wagner[12]提出 C&W 对抗算法,该算法根据攻击者的需求设置指定的对抗扰动置信度,生成的对抗扰动幅度更小,但是计算量大。基于C&W算法,Chen等[20]提出了 EAD 算法,通过将对抗扰动攻击DNN的过程转化为弹性网络正则化的优化问题,在保证攻击成功率的同时也提升了对抗可迁移性。2016年Papernot等[21]提出JASM算法,其利用输入特征到输出值之间的对抗显著性映射关系,达到只需修改少量的输入值即可实现误分类的目的。2020年张洁等[22]提出一种基于AE-WGAN(Auto Encoder WGAN)的定向对抗样本生成方法,其利用改进的对抗生成网络[23]的隐层编码迁移算法(Latent Encodings Targeted Transfer)生成有目标指向的对抗扰动图像,从而实现无需获取目标模型内部信息即可定向改变模型预测结果的黑盒攻击。
此外,研究者们还提出了几种非限制性对抗算法,其原理是通过修改图像中的各项非关键属性信息,如颜色[24]、纹理[25]和物理参数[26]来达到对抗目的。但是,这种对抗方式依赖语义注释的训练集,且容易对原始图像造成破坏。
数字化对抗算法生成的对抗扰动无法满足物理世界打印条件,难应用于环境复杂的物理世界。因此,2016年Sharif等[27]提出一种应用于人脸识别系统的对抗算法,首次将数字化对抗扰动成功应用于物理世界。该算法的原理是通过佩戴一副贴有对抗扰动的眼镜使人脸检测模型检测误分类,但是该方式对眼镜的佩戴角度和离摄像头的距离都有严格的要求。2018年 Athalye等[15]提出一种具有鲁棒性的对抗扰动生成算法EOT,其在每步随机梯度下降过程中引入数据增强方法,以提升对抗扰动的鲁棒性。但是后续工作发现,由于视点偏移、相机噪声和其他自然变换,该算法生成的对抗扰动在复杂的物理环境下攻击成功率较低。2019年Thys等[16]提出了应用于行人目标检测模型的FASC对抗算法。该算法通过举着的方形对抗扰动图像使模型检测失效。该算法生成的对抗扰动虽然具有可打印、能应用于物理世界的优点,但是易受到光照、角度、天气等环境因素的影响,导致对抗效果较差。
上述物理世界对抗算法虽然提高了对抗扰动的攻击成功率,但是忽略了对抗扰动在复杂环境下的鲁棒性。因此本文提出IFASC-TS对抗扰动生成算法可以生成鲁棒性能较好、攻击成功率较高的对抗扰动。
为了实现可打印、制作方便和多攻击方式的对抗扰动图像,IFASC-TS选择FASC为算法原型。在对抗扰动训练中,IFASC-TS算法只调整对抗扰动图像的参数值和攻击方式,不改变网络中损失函数的权重,生成独立于原始样本的对抗扰动。为了提高对抗扰动的攻击成功率,IFASC-TS算法在原总损失函数中引入约束对抗扰动输入与原始图像输入之间的预期有效距离误差损失函数。其次,IFASC-TS算法采用多类别数据增强操作来扩充对抗扰动的训练集,以提高生成对抗扰动的鲁棒性。IFASC-TS算法生成对抗扰动流程如图1所示。
图1 IFASC-TS算法生成对抗扰动流程
IFASC-TS算法实现了攻击者只需要设置对抗目标和对抗方式,利用交通标志检测模型就能自动训练出具有攻击成功率较高和鲁棒性能较优的对抗扰动图像。IFASC-TS算法的总损失函数是由可打印性损失函数Lnps、图像平滑性损失函数Ltv、预期有效距离误差损失函数Ldis和对抗损失函数Ladv组合而成,如式(1)所示。
其中,Lnps、Ltv、Ldis用于提高对抗扰动的对抗强度,Ladv表示攻击者选择的对抗方式,α、β和γ由经验模型确定。
2.1.1 预期有效距离误差损失函数
在复杂环境下,由于目标检测器预期感知到对抗扰动的距离与物理世界中的真实距离有所偏差,导致固定在交通标志上的对抗扰动无法被摄像头准确地检测。因此,本文提出一种约束敌对输入与原始输入之间的预期有效距离误差损失函数Ldis,以调整摄像头与对抗扰动的感知距离和真实距离之间的偏差,从而提高对抗扰动的视觉真实性。Ldis计算过程如式(2)所示。
其中,t表示图片的变换函数,T表示指定的变换分布,D(z)表示计算对象z的检测框和固定焦距的摄像头之间视觉距离,t(x′)表示附加对抗扰动的原始样本x′的变化函数,t(x)表示原始样本x的变化函数,n值的大小为附加对抗扰动的原始样本被目标检测器检测到的次数。
2.1.2 可打印性损失函数
为了实现一种可打印的对抗扰动图像,本算法借鉴Sharif等[27]提出的NPS算法。使用可打印性损失函数Lnps表示对抗扰动中的颜色能被打印出来的可能性,其具体计算过程如式(3)所示。
其中,δ表示对抗扰动,ppatch表示生成对抗扰动δ的每一个像素值,cprint表示打印机可以打印的一种颜色,C表示打印机能够打印的颜色的合集。利用NPS算法很好地解决了打印机的色域比计算机的色域窄问题。
2.1.3 图像平滑性损失函数
为保证优化器采用色彩过度平滑的对抗扰动图像,本算法引入图像平滑性损失函数Ltv。Ltv计算过程如式(4)所示。
其中,pi,j表示对抗扰动图像在坐标为 (i,j) 处的像素值。通过Ltv能直观地展示图像中两个相邻像素的相似度,Ltv越高越相似,并从侧面反映出对抗扰动图像是否平滑。如果生成的对抗扰动图像不平滑会导致对抗效果不明显。
2.1.4 对抗损失函数
本文对抗损失函数Ladv用交叉熵损失函数来表示,Ladv计算过程如式(5)所示。
其中,pyadv(x)表示通过交叉熵损失函数计算出来的yadv类别置信度,py(x)表示检测模型输出的锚框(Anchor box)中包含x目标对象的置信度。
有目标对抗方式通过提高其他类别的类别概率,降低对抗目标的类别概率,来调整生成的对抗扰动的函数参数。无目标对抗方式通过减少对抗目标被检测到的置信度,来调整生成的对抗扰动的函数参数。
本文提出的IFASC-TS算法主要目的是通过生成的对抗扰动来欺骗应用在物理世界的交通标志检测方法。主要场景是在室外条件下,将打印出的对抗扰动贴在要对抗的交通标志目标上,再由仿真车载摄像头匀速拍摄下的对抗目标图片作为交通标志目标检测模型的输入。最终,测试对抗扰动的对抗效果。但是在物理世界中会有很多的因素影响对抗效果,比如阴天、黑夜、雨天等环境因素和对抗扰动的旋转、扭曲或者尺度变化等物理因素。因此本算法为了提高对抗扰动的鲁棒性,在训练对抗扰动的过程中通过多类别数据增强操作提升训练中每步优化后的对抗扰动的鲁棒性。
本算法针对对抗扰动的多类别数据增强操作,主要包括仿射变换和外观变换两类方法。采用的仿射变换类数据增强操作包括如下4种:
(1)随机向左或向右旋转20°;
(2)在0.5~5缩放系数内随机缩放;
(3)以50%概率随机水平翻转;
(4) 在0、90、180和 270°4 个方向上以 25%概率随机扭曲变化。
采用的外观变换类数据增强操作包括如下2种:
(1)调整对抗扰动图像的明暗变化;
(2)调整对抗扰动图像的对比度变化。
其中调整对抗扰动图像的对比度和亮度算法如式(6)所示。
其中,α、β分别表示明暗强度系数与对比度系数,T(x,y)表示原始图像在x,y像素坐标点的像素值,G(x,y)表示被增强后的图像在x,y像素坐标点的像素值。对抗扰动的多类别数据增强流程如图2所示。
本算法中针对对抗扰动的多类别数据增强操作主要包括3个步骤:
(1)建立对抗扰动集和对抗目标集。获取该步生成的对抗扰动,接着对其进行仿射变换和外观变换数据增强操作,并在每张扩充的对抗扰动上随机添加高斯噪声,生成待用的对抗扰动集。根据算法设置的对抗目标类别,获取训练集中所有包含该对抗目标的图像和标签信息,生成待用的对抗目标集。
(2)调整对抗扰动大小。依据对抗目标集的每个对抗目标的标签信息,通过设定的缩放规则来调整对抗扰动的分辨率大小。
(3)生成新图像。将调整后的对抗扰动粘贴在对抗目标标签框的中心处,生成新的检测图像。
IFASC-TS算法的训练环境搭建在以Ubuntu 18.04.5 LTS/Linux为操作系统的服务器上,并搭载了Intel(R)Core(TM)i9-9900k CPU@4.00 GHz、64 GB RAM和一张显存为11 GB的GEFORCE RTX2080Ti GPU。具体的开发工具及其版本信息如表1所示。
表1 开发工具及其版本信息
本文交通标志目标检测模型所使用的数据集是GTSRB数据集,并在其测试集上进行性能评估。GTSRB数据集具有单图像、多类别、图例数量充足和开源等特点。GTSRB涵盖43种交通标志,并且训练集包含3万多张图片,测试集包含1万多张图片。为了提高检测模型的鲁棒性,GTSRB数据集已经对43类交通标志做了旋转、光照模糊度、缩放等数据增强操作。GTSRB中包含的部分交通标志图例如图3所示。
图3 GTSRB部分数据集展示
3.3.1 对抗的目标模型
由于传统的YOLO针对交通标志这类小目标检测效果较差,Faster R-CNN虽然检测精度高,但是实时性较差。因此,本文算法的对抗目标模型选择检测精度高、实时性好的YOLOv2。YOLOv2采用全卷积神经网络算法,通过将检测的图像输入到卷积网络,将输入图像的分辨率缩小1/32,然后输出网格。网格中的每个单元格包含5个不同尺寸的锚框(Anchor Box),每个锚框包含锚框的位置、目标对象的置信度和目标类别的概率等关键信息。本算法主要针对目标对象的置信度和目标类别的概率两种信息来进行对抗。
3.3.2 对抗方式
IFASC-TS算法不仅尝试有目标指向的对抗方式和无目标指向的对抗方式,还尝试了两者结合的方式来对YOLOv2目标检测模型进行对抗。
本文实验基于 YOLOv2目标检测模型,在GTSRB数据集上,选用“Stop”交通标志作为对抗目标之一,“Stop”交通标志样例如图4(a)所示。本文针对“Stop”交通标志采用3种不同的对抗方方式并生成相应的对抗扰动,如图4所示。
图4 “Stop”交通标志及不同对抗方式生成的对抗扰动图像
图4(b)与图4(c)对应本文算法和 FASC算法通过最小化目标类别概率的对抗方式(Minimize Object Classification Probability Loss,CLS)生成的对抗扰动图像。“Stop”交通标志贴上对抗扰动后,目标分类器将其分类成“Stop”类别的概率大大降低,导致目标检测模型检测失效或者误分类。由于分类器开始训练的时候选取一个置信度较高的其他类别的交通标志来作为目标类,所以对抗效果很难迁移到不包含交通标志类的目标检测模型。因此CLS对抗方式比较适用于检测种类丰富度高的目标检测模型。
图4(d)与图4(e)对应本文算法和 FASC通过最小化目标对象置信度的对抗方式(Minimize Object Probability Loss,OBJ)生成的对抗扰动。通过降低目标检测器对“Stop”交通标志的检测框置信度,从而使目标检测模型检测不到“Stop”交通标志。OBJ对抗方式虽然不能像CLS指定类别对抗,但是摆脱了数据集种类丰富度的限制。并且通过实验表明,OBJ方式生成的对抗扰动的性能要远远高于CLS。
图4(f)与图 4(g)对应本文算法和 FASC 通过CLS和OBJ两种对抗方式结合生成的对抗扰动。
在目标检测算法的研究中,学者们公认用来评价网络模型的性能指标有准确率(Accuracy)、精确率(Precision)、召回率(Recall)、P-R 曲线(Precision-Recall Curve)、AP(Average Precision)和 mAP(mean Average Precision)等。用来计算上述评价指标的参数包括预测正确的正样本数量(True Positive,TP)、预测错误的正样本数量(False Positive,FP)、预测正确的负样本数量(True Negative,TN)和预测错误的负样本数量(False Negative,FN)。具体的各项指标含义及计算方法如下所述:
准确率Accuracy指的是正确预测的样本数占总预测样本数的比值,反映的是模型算法整体性能。其计算公式为
精确率Precision指的是正确预测的正样本数占所有预测为正样本的数量的比值,反映的重点是正样本的比重。其计算公式为
AP值则是代表了P-R曲线下面的面积,通过AP值能直观地衡量检测算法的性能。AP值越高,分类器性能越好。mAP值则是取所有类别AP值的平均值,值越高,检测算法的全局准确性越好。
在对抗扰动数据增强后,IFASC-TS算法在粘贴上对抗扰动的训练集上展开训练。以OBJ对抗方式的训练过程为例,IFASC-TS算法中各项优化损失函数收敛过程如图5所示。其中Ltv训练约2 000 epochs后达到收敛,Ldis训练约1 000 epochs后达到收敛,Lnps训练约2 000 epochs后达到收敛,总模型在训练2 000 epochs后达到收敛,并稳定在0.4左右。
图5 IFASC-TS算法中各项优化损失函数收敛过程
召回率Recall指的是正确预测的正样本数量占正样本数量总数的比值,反映的重点是预测正确的正样本的比重。其计算公式为
实验以FASC算法为基准算法,基于GTSRB测试集分别对FASC和IFASC-TS两种算法通过OBJ、CLS和CLS-OBJ三种不同的对抗方式生成的对抗扰动进行性能评估。在性能评估前,生成的对抗扰动需采用图2数据增强步骤,并粘贴于对抗目标测试集。
为对比IFASC-TS算法和FASC算法生成的对抗扰动对目标检测模型全局准确性的影响。本文随机选取了10种交通标志样式,并通过IFASC-TS算法和FASC算法生成针对性对抗扰动。IFASC-TS算法和FASC算法生成的3种对抗扰动在GTSRB测试集上的AP值和mAP值对比如表2所示。mAP值越低,交通标志检测器检测性能越差,对抗扰动对抗效果越好。
表2 IFASC-TS算法和FASC算法生成的3种对抗扰动在GTSRB测试集上的AP值和mAP值对比
由表2实验结果可以分析出,IFASC-TS针对三角形交通标志(如警告、颠簸和施工)生成的对抗扰动的攻击成功率相较于FASC提升较大。在3种对抗方式中,IFASC-TS基于OBJ对抗方式生成的对抗扰动对交通标志检测模型影响最大,在mAP指标中比FASC提升了4.4%。通过对比也可以看出,IFASC-TS在采用CLS对抗方式生成的对抗扰动的攻击成功率提升较低,相较于 FASC只提升了2.6%,采用CLS-OBJ对抗方式生成的对抗扰动的攻击效果趋于两者之间,相较于FASC提升了3.5%。
本文还测试FASC和IFASC-TS两种算法通过OBJ、CLS和CLS-OBJ生成的对抗扰动在物理世界中的对抗表现。在实验中,将打印出的对抗扰动贴在交通标志的中心处,并选择了光线较暗的室内场景和光线较亮的室外场景来进一步展示对抗效果。具体效果如图6所示。
图6 物理世界对抗效果图
图6(a)为空白对照实验,图 6(b)与(c)对应3.3.2节图4中IFASC-TS和FASC通过CLS对抗方式生成的对应对抗扰动在两种场景下的对抗效果,IFASC-TS生成的对抗扰动在两种场景下都使“Stop”交通标志被识别成了其他类别,而FASC全部对抗失败。图6(d)与(e)对应3.3.2节图 4中IFASC-TS和FASC通过OBJ对抗方式生成的对应对抗扰动在两种场景下的对抗效果,IFASC-TS生成的对抗扰动在两种场景下都使交通标志检测模型失效,而FASC在光照较强的环境下对抗失败。图6(f)与(g)对应 3.3.2节图4中 IFASC-TS和 FASC 通过结合OBJ和CLS对抗方式生成的对应对抗扰动在两种场景下的对抗效果,IFASC-TS生成的对抗扰动在两种场景下都使交通标志检测模型失效,而FASC全部对抗失败。实验结果表明,在物理世界中,IFASC-TS在 CLS、OBJ和 CLS-OBJ方式下生成的对抗扰动相较于FASC对抗效果更优,鲁棒性更好。
本文提出一种应用于交通标志检测模型的对抗算法IFASC-TS,实现物理世界下攻击目标检测模型让其检测失效或误分类。IFASC-TS算法通过在原有的总损失函数中添加了一种增强对抗扰动真实性的损失函数,提高对抗扰动的攻击成功率。其次,引入了多类别数据增强方法来提高对抗扰动的鲁棒性。最后在GTSRB测试集上实验结果表明,在OBJ对抗方式上,IFASC-TS算法比FASC算法总体对抗性能提升了4.4%,在其他对抗方式上,也均有小幅度提升。在物理世界实验结果表明,IFASC-TS算法比FASC算法生成的对抗扰动在物理环境下鲁棒性能更优。在下一步工作中,可以考虑变换对抗扰动的图片形状和像素风格,通过采用更贴近自然的对抗扰动样式来进行伪装,以提高对抗扰动的隐蔽性。