Adversarial patch camouflage against aerial detection

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

Adversarial patch camouflage against aerial detection
图1 The potential of automatic detection algorithms in aerial data analysis

以无人机侦察为例进行说明:一般是通过无人机携带的摄像机器对地面目标进行识别,首先是从大量的图片中识别目标,这一过程如上第一步所示,可实现机器自动化,然后在此基础上将一些可能/不确定的结果再进一步让人工来判断,从而降低全人工判断的工作量。这样,可对上述的第一步工作做文章。

Adversarial patch camouflage against aerial detection
图 2 使用迷彩网和补丁进行隐藏目标示意

对于地面的军用设施,对其隐藏的挑战在于如何避免被空军侦察设备发现。通常是使用迷彩网对其进行隐藏,但是这种方式的一方面很难快速实施,另一方面即使用了迷彩网对其进行隐藏,其外轮廓也是具有较高辨识度的。

在图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

其训练过程如下所示:

Adversarial patch camouflage against aerial detection
图 3 训练过程
  • 对一群包含飞机,且飞机上具有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

Adversarial patch camouflage against aerial detectionAdversarial patch camouflage against aerial detection
图 4 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也进行了对比。

结果如下图所示:

Adversarial patch camouflage against aerial detection
图 5 随机扰动和adversarial patch对战斗机检测的影响
  • 对于random patch情况,检测到的confidences分布在0.45-0.78,其中有一架飞机检测失效,此时的confidence0.23(小于0.4);
  • 而对于adversarial patch情况,confidences分布在0.01-0.04,最大也才0.14

5中配置下的Precision-Recall(PR)曲线分别如下图所示。

Adversarial patch camouflage against aerial detectionAdversarial patch camouflage against aerial detectionAdversarial patch camouflage against aerial detection

对结果的说明:较低的recall/detection rate或较高的precision说明攻击成功率较高/效果较好。

  • 例如在图(a)中,假设设置的threshold precision为0.8,则此时的recall0.0%,说明此时的攻击是非常高效的,最终检测器的average precision(AP)只有5.6%
  • patch放置在旁边比放置在目标上面效率更低,此时的效果还不如使用更少颜色的patch(©和(d))。这表明颜色的使用对结果影响很大;
  • 相较而言,使用两个较小的patch更有效。

另外,对训练和测试阶段采用不同大小的patch进行试验,训练采用较大的patch,而测试时采用较小的patch。如下图所示。

Adversarial patch camouflage against aerial detection

与采用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的防御值得研究。
上一篇:同时使用传统Gan判别器和马尔可夫判别器实现彩色星球图片生成(pytorch版)


下一篇:分布式监控系统Zabbix-图形集中展示插件Graphtree安装笔记