当前位置: 首页 > > 天 方 夜 “谈” 第13期 | 欺骗自动监控摄像头:对抗贴图攻击目标检测

天 方 夜 “谈” 第13期 | 欺骗自动监控摄像头:对抗贴图攻击目标检测

发表于:2020-03-18 20:47 作者: 方滨兴班 阅读数(5106人)

Fooling automated surveillance cameras: adversarial patches to attack person detection

内容来源:CVPR Workshop: CV-COPS 2019
作者:Simen Thys, Wiebe Van Ranst, Toon Goedemé
地址:https://arxiv.org/abs/1904.08653v1

Ⅰ.  介绍

 

神经网络的对抗攻击在近些年变得越来越火热,大概思路就是在输入图片上添加轻微的扰动噪声,使神经网络的输出结果出错。添加扰动的思路大概也分两种,一种是在输入图片的每个像素点上添加非常轻微的噪声,还要一种是按照某种尺寸生成一块贴图,将贴图贴在图片上就可以让经网络检测不到或者分类出错。


这篇文章主要工作就是在yolo-v2目标检测网络上,选择一个目标类别:person,然后训练出一个贴图,将该贴图贴在图片中人的身上,就可以让yolo-v2检测不到该人。因为yolo-v2是一阶段的目标检测神经网络,所以在训练对抗性的贴图时,也可以直接使用端到端的训练方式。接下来介绍一下论文中描述的训练思路


图片.png

图1 佩戴对抗贴图的人成功躲过检测系统



Ⅱ. 训练思路

假设攻击一个检测人的系统(行人检测/安保系统),通过对抗训练,生成一个40cmx40cm的贴图,这个贴图能达到在检测系统中将人“隐藏”起来的作用。而且在训练对抗样本的时候考虑到打印效果,使其可以打印出来之后挂在人身上,通过摄像头获取到的图像能够达到同样的“隐藏”效果。

YOLO目标检测

https://pjreddie.com/darknet/yolo/Yolo

简单介绍一下yolo-v2目标检测流程,首先yolo是一个单步目标检测,即候选框、目标置信度、分类置信度都是直接从网络输出结果中得到的。输出的网格尺寸是输入图片的1/32。每个网格有5个锚点,每个锚点包含的信息有:网格中心点与候选框中心点的偏差x、y,候选框的宽w和高h,候选框包含目标的置信度Pobj,以及属于每一个类别的置信度Pc1、Pc2...Pcn。了解了yolo-v2的检测流程之后,能够比较清晰的理解后续对抗样本训练过程的Loss设置。

LOSS设置

因为对抗样本的训练是基于图像、像素点的模式,为了使贴图能够更符合真实情况、能够在现实世界中发生,损失函数综合了三部分,首先Lnps(non-printability score),也就是打印效果,因为并不是0-255中所有的像素点都是可以打印出来的,我们设置这部分损失函数为每一个像素点的值与打印机所有可打印像素值中差值最小的数值的差值的绝对值,然后所有像素点相加。Lnps(total variation)保证对抗贴图更平滑,计算方式为所有相邻像素点的欧氏距离。Lobj(objectness score)其实分两部分,目标的置信度和分类的置信度,这两个在后面实验过程中有详细对比。

图片.png

整体流程

图片.png

图2 整体训练流程

III.实验部分

yolo-v2每个锚点会包含候选框的位置和大小、目标的置信度、类别置信度。那让yolo-v2检测不到人的思路其实有三种。降低类别为人的置信度,可能错误分类为其他类别,如果达不到阈值,可能就没有输出类别。或者降低目标置信度,直接让其认为这个候选框没有目标,也就检测不到人。或者两者结合起来,不同程度的降低目标置信度和类别置信度。至于数据部分,使用inria person 数据集,将yolo-v2对每张图片的输出结果保存起来,后面计算损失函数的时候会用到。在不同的Lobj下,对抗训练生成贴图之后的测试结果召回率相差很大,obj-cls、obj、cls的召回率分别为39.31%、 26.46%、77.58%,PR-curve分别为42.8%、25.53%、82.08%。从实验结果来看obj的干扰效果最好,obj跟cls结合起来训练的召回率稍差,但只用cls的效果就比较差,可能obj的攻击效果比较好,cls攻击效果不是很好。下图为不同Pobj的PR曲线,NOISE为随机生成。

图片.png

图3 PR曲线,NOISE为随机噪声

IV.总结

文章展示了一种生成对抗贴图的思路,而且这种对抗贴图是可以进一步延伸到物理环境下的。文章最后也做了相关实验,将贴图打印出来然后放在身体的不同部位,由于训练时贴图的位置是固定在候选框的某个位置,将贴图打印只来之后很难固定在相同位置,所以检测效果并不稳定,这也是之后需要解决的问题。或者可以进一步尝试3D下生成对抗样本,这么做会更加容易对现实世界进行攻击。另外,还可以尝试对多个模型同时进行对抗训练,这样一来生成的贴图效果可能会更好。

关于 天 方 夜 “谈”

天方夜谈原意讲不切实际的东西,而这里想要 “脚踏实地”真正弄懂并感受一篇文章的思想。

方班人有自己的浪漫,

我们探讨知识,谈论理想,

采摘科研的繁星,

脚下是星辰大海。

天:代表我们的理想犹如天空般浩荡

方:代表方班

夜:代表代码人的冷静与静谧

谈:代表方班愿与您,就领域内的经典思想和前沿成果“秉烛夜谈”