Adversarial Patch Camouflage against Aerial Detection
[Adversarial Patch Camouflage against Aerial Detection](Adversarial Patch Camouflage against Aerial Detection)
关键字:Adversarial patch attack aerial target detection camouflage drone surveillance
针对大型军事目标如何采取对抗补丁的方式对其进行隐藏。
1. Introduction
以无人机侦察为例进行说明:一般是通过无人机携带的摄像机器对地面目标进行识别,首先是从大量的图片中识别目标,这一过程如上第一步所示,可实现机器自动化,然后在此基础上将一些可能/不确定的结果再进一步让人工来判断,从而降低全人工判断的工作量。这样,可对上述的第一步工作做文章。
对于地面的军用设施,对其隐藏的挑战在于如何避免被空军侦察设备发现。通常是使用迷彩网对其进行隐藏,但是这种方式的一方面很难快速实施,另一方面即使用了迷彩网对其进行隐藏,其外轮廓也是具有较高辨识度的。
在图1中可以看出,在这个流程中对目标进行隐藏还可以对第一步进行操作,即使得目标不能被detectors
检测到。这样,既然目标都不会被目标检测到,自然也就不会进一步传给persons
进行确认,从而实现“隐藏”。本文的工作基于图2(b)的模式,即通过生成补丁,将其放置在目标上或接近目标,从而使得目标不会被检测器探测到。
本文攻击的目标检测器同样是YOLO。通过patch attack
可躲避目标YOLO
的检测,通过对patch
的尺寸、位置和颜色的影响进行了研究。
2. Related work
本节对real-world
的一些常用攻击方法进行了介绍,包括之前介绍的Fooling automated surveillance cameras: adversarial patches to attack person detectionpatch attack
,以及受此启发的T-shirt attack
.
有攻击就有防御,
- 通过检测图片中梯度异常的区域,并且通过对其进行平滑处理可实现一定的防御;
- 通过对交叉熵进行评价可找到图片中是否有补丁,虽然对其进行隐藏实现防御。
但是这些防御工作也是从目标分类上开展,并没有从目标检测角度开展。
3. Aerial Camouflage
本文的工作同样基于Fooling automated surveillance cameras: adversarial patches to attack person detection。
其训练过程如下所示:
- 对一群包含飞机,且飞机上具有
patch
的图片进行训练,最开始的patch
是随机生成的; - 在将
patch
放置到图片上前,对图片进行了缩放(scale
)、旋转(rotate
),及添加噪声即改变对比度,这样使得使用场景更接近于真实场景; - 同时,为了更逼近航拍图片,
patch
会随机的旋转360,这样带来的后果就是最终生成的patch
多是圆对称的; - 针对
YOLOv2
,因此YOLOv2
参与训练时,其权重参数并不会改变(即保证了检测器是有效的)。
优化目标函数也是保持一致:
L
=
α
L
n
p
s
+
β
L
t
v
+
L
o
b
j
L=\alpha L_{nps}+\beta L_{tv}+L_{obj}
L=αLnps+βLtv+Lobj
-
L
n
p
s
L_{nps}
Lnps 定义了
Non-printablitity score
; -
L
t
v
L_{tv}
Ltv
total variation
,定义了总的变化大小,控制防止图片变成随机、噪声模式; - L o b j L_{obj} Lobj定义图片中的最大目标得分。
为了更接近真实世界,对几个因素的影响进行了研究,包括size、position、saliency
和数量。
根据每次训练配置patch
的不同,共形成了以下五种不同的patch configurations
。
这么设置的合理性:
- 尺寸很重要,因为假设尺寸太大的话,则相对
camouflage
而言就没有优势了,图4(a)、(b)所示; -
patch
放置在目标外面似乎更实际(图4©所示); - 多个小的
patch
相对一个较大的patch
也更切实际,特别是当目标具有不规则外形时(具有多个局部中心??); - 最后,如果优化出来的
patch
是不显著的则也更有价值,这样不仅很难被自动检测到,即使对人眼也难以被发现(如图4(d)所示)。
为了对颜色进行优化,最终在上的优化函数(1)式中再引入优化项:
L
s
a
l
=
σ
r
g
2
+
σ
y
b
2
+
0.3
∗
μ
r
g
2
+
μ
y
b
2
r
g
=
R
−
G
,
y
b
=
0.5
∗
(
R
+
G
)
−
B
L_{sal} = \sqrt{\sigma_{rg}^2+\sigma_{yb}^2}+0.3*\sqrt{\mu_{rg}^2+\mu_{yb}^2}\\ rg = R-G, {\kern 10pt} yb=0.5*(R+G)-B
Lsal=σrg2+σyb2
+0.3∗μrg2+μyb2
rg=R−G,yb=0.5∗(R+G)−B
R
、
G
、
B
R、G、B
R、G、B分别表示patch
的颜色通道。
即最终优化函数变为:
L
=
L
1
+
L
2
L = L_1+L_2
L=L1+L2
4. Experiments
数据集设置 基于DOTA dataset
开展,其中图片共2800张,来源于Google Earth
和一些卫星图片。数据集更包含16个标注的目标类别,包括飞机、舰船和车辆。最终训练的图片都被裁剪为
1024
×
1024
1024 \times 1024
1024×1024大小,便于同于训练。再次基础上,将数据分成训练集和测试集,分别为包含飞机图片的2200和850张图片。
训练设置 最终对数据集进行了200
个epochs训练,并基于同样的配置在测试集上进行了评估。同时YOLO
模型设置的置信度为0.4
,即超过这个值才会认为模型检测正确。
对图片的任意遮盖都会影响其可见性,因此最后对随机噪声生成的patch
也进行了对比。
结果如下图所示:
- 对于
random patch
情况,检测到的confidences
分布在0.45-0.78
,其中有一架飞机检测失效,此时的confidence
为0.23
(小于0.4
); - 而对于
adversarial patch
情况,confidences
分布在0.01-0.04
,最大也才0.14
。
5
中配置下的Precision-Recall(PR)
曲线分别如下图所示。
对结果的说明:较低的recall/detection rate
或较高的precision
说明攻击成功率较高/效果较好。
- 例如在图(a)中,假设设置的
threshold precision
为0.8,则此时的recall
为0.0%
,说明此时的攻击是非常高效的,最终检测器的average precision(AP)
只有5.6%
; - 将
patch
放置在旁边比放置在目标上面效率更低,此时的效果还不如使用更少颜色的patch
(©和(d))。这表明颜色的使用对结果影响很大; - 相较而言,使用两个较小的
patch
更有效。
另外,对训练和测试阶段采用不同大小的patch
进行试验,训练采用较大的patch
,而测试时采用较小的patch
。如下图所示。
与采用noise patch
相比,降低了AP
大致23.6%
。但是在采用大尺寸patch
测试时,降低量为47%
。也就说明:虽然这种情况有效,但是会降低效率。
5. Discussion
实验表明:这种adverarial patch attach
具有通用性,仅使用一种模式就能对不同类型的飞机进行“隐藏”。另外,也给出了一些有趣的问题:
-
对不同类型的飞机优化不同模式的
patch
是否更有效? -
更多
patch configurations
可进行试验,例如更多邻近的补丁、多种颜色更少的补丁等。这些配置可能会在“隐藏性”和“可实际使用上”达到更好的trade-off
。
同时,本文针对的检测系统是YOLO
,但是作者认为,若要真正应用于实际,则需要生成的patch
多所有的这些检测网络有效,因为一般情况下往往事先是不知道攻击网络的类型。
6. Conclusion and future work
Conclusions
- 单一模型的
patch
就能隐藏多种不同各类型的飞机; - 与传统的
Camouflage nets
相比,这种补丁形式的隐藏方法似乎更有效,因为它一方面仅占目标的一小部分;另外它有可能直接躲避检测器; - 随机噪声
patch
有一定的效果,但是远不如adverarial patch
;
Future work
- 首先,可对多种类型飞机和不同目标进行优化,生成相应的
patch
; - 其次,生成的
patches
对其它NN
的效果需进一步研究,包括ensemble training
得到的adversarial patch
; - 然后,还需要对这种
patch
对真实世界目标效果进行评估; - 最后,对潜在
adverarial attacks
的防御值得研究。