You Cannot Easily Catch Me: A Low-Detectable Adversarial Patch for Object Detectors
abstract
大多数patch可以被简单的贴片检测器分类网络击败。对此,我们提出了一种低检测的对抗补丁,它用小的和纹理一致的对抗补丁攻击对象检测器,使这些对手不太可能被识别。
具体地说,我们使用几个几何原语来建模补丁的形状和位置。为了提高我们的攻击性能,我们还根据损失函数为边界框分配了不同的权重。
我们在公共检测数据集COCO和驱动视频数据集D2-City上的实验表明,LDAP是一种有效的攻击方法,能够抵抗对抗性补丁检测器。
贴片检测器分类网络
它将对抗补丁与原始图像区分开来。物体检测器对图像中的物体类型进行分类和预测,例如通过区分摩托车手和摩托车,同时也通过“绘制”每个物体周围所谓的边界框来定位每个物体在图像中的位置,再次将骑摩托车的人与摩托车分开。
introduction
为了使对抗例子与正常图像难以区分,我们关注了两个方向:
- 增加与原始图像的纹理一致性
- 减小path的大小
Challenges
由于以下原因,在欺骗目标检测器的同时减少对抗性补丁的面积是非常重要的:
patch的形状
参数化地建模补丁形状是很简单的,因为它们的形状可以是灵活的。然而,该建模使问题难以解决,因为它是一个高维离散搜索问题。
Object Detector
进行一次对象检测,首先预测一个对象上的冗余边界框,然后检测器对它们进行分类,最后使用非最大抑制(NMS)从它们中选择一个边界框。攻击应该同时影响所有这些边界框,这使得对目标探测器的攻击变得困难。由于bounding-box 预测的策略,所以patch难以攻击Object Detector 。
为了解决这个问题,以前使用固定补丁的攻击采用了两种策略。
- 第一个是用目标类别的最大置信度得分来攻击边界框。然而,在优化过程中,类别得分最大的边界框(即模型的输出应该代表分类的置信度)不断变化,使我们的方法中的搜索区域不稳定。
- 第二种策略是同样地攻击可以被检测为目标对象的边界框,object是主要攻击目标。
Our Proposal
为了解决上述挑战,我们提出了一个低可检测的对抗性补丁(LDAP)。我们将低可检测补丁的生成表述为一个联合优化问题。为了增强攻击性,减少patch的面积,我们从以下两个角度来解决这些挑战。
使用 Geometric Primitives去建模patch
参考这项工作,我们使用一组几何原语(矩形)来建模具有灵活的形状和位置的补丁。基于图像平面上不规则形状的块可以用几个矩形近似,我们假设对抗的块可以用一组矩形近似。因此,我们将补丁的区域建模为几个矩形的并集。这些补丁从其他区域的分割可以通过一个二进制图像掩码来实现,其中这些补丁区域被设置为1,其他这些补丁区域被设置为0。
结果,斑块形状和位置的优化转换为这些矩形的形状和位置参数的优化。
这些矩形的边界很陡峭,使得损失函数的形状和位置参数不可区分。为了解决这个问题,我们放宽了这些矩形的陡峭边界,使其从1平滑过渡到0。这些边界松弛的矩形在任何地方都是连续的,使我们能够使用基于梯度的方法来优化它们的参数。松弛使矩形看起来有羽毛,如图中LDAP的攻击示例如下所示。
软攻击策略
为了克服对象检测器内部机制的困难,我们在损失函数中采用了软攻击策略。这意味着,我们为可以作为目标对象检测到的多个边界框分配不同的权重。这种策略是基于攻击应该更关注更靠近目标对象的边界框的假设。因为更近的边界框更有可能是正确的预测。权重设置为预测边界框和目标对象边界框之间的Union交叉点(IoU)。
Contributions
- 提出了一种低可检测的补丁式攻击方法(LDPW)。在合理的假设基础上,我们将低可检测的攻击表述为一个联合优化问题,同时考虑了补丁的攻击性能、补丁面积和纹理一致性
- 我们以一种可区分的方式建模斑块的形状和位置,这使我们能够使用基于梯度的方法来优化斑块的形状和位置及其纹理
- 为了克服对象检测器的内部机制造成的困难,我们在损失函数中采用了软攻击策略,为可以检测到的作为目标对象的边界框分配不同的权重。
Related Work
我们回顾了在目标检测、对抗性攻击和二维形状建模方面的三个相关的工作主体。
Object Detection
Two-stage Detection
先是一个回归,后面跟着一个分类。一个早期的CNN detector 是Overfeat,包含一个滑动的CNN窗口去做检测。后来,R-CNN出世,这是一种所谓的具有CNN特征的区域(R-CNN)检测器。
One-stage Detection
单级探测器,也被称为“单镜头探测器”,只通过一次网络就可以同时预测边界框和类别得分。具有代表性的一级探测器是YOLO系列和SSD[17]。与双级探测器相比,单级探测器运行速度更快,但检测精度通常较低。
在我们的实验中,我们可以用比两级探测器更小的补丁来攻击单级探测器,这一发现表明单级探测器更容易攻击。
Adversarial Attacks
Pixel-wise Attacks
像素级攻击会轻微地改变目标对象或整个图像的所有像素;因此,人类很少能感知到这种扰动。
DAG改变整个图像的像素,增加错误类可信度,降低正确类置信度。提出了一种基于条件生成对抗网络的攻击方案,以生成对抗扰动,改变整个图像中的像素来欺骗检测器。提出了一种攻击方法,它可以操作目标对象的像素,并精确地改变目标对象的标签,而不改变其他对象的标签。
缺点:
去噪后攻击效果变差。
Patch-wise Attacks
这些攻击试图通过操纵输入图像中的小区域来欺骗被称为补丁的检测器。补丁的位置通常是预定义的;例如,输入图像的左上角或目标对象的中心。
缺点:
这些补丁级攻击的对抗性的补丁都很大,并且与原始图像相比具有不一致的纹理,这使得它们很容易被对抗性的补丁检测器捕获,然后被拒绝。
2D Shape Modeling
我们的方法的一个方面涉及到建模补丁的形状。关于如何建模一个二维形状,已经有一些研究了。Da和Kemp[5]使用多个几何原语(椭圆)来拟合一个给定的人体上半身轮廓,这是一个复杂的形状,然后用GMM模型的形状,并利用无约束期望最大化(EM)来优化GMM的参数来拟合给定的形状。面板算法和人工陀螺仪[22]设计了一种形状建模方法,也使用几何原语(椭圆)来表示给定的形状。利用GMM对椭圆进行建模,利用硬EM和Akaike信息准则优化GMM的参数以近似给定的形状。
Methodology
Problem Formulation
为了减小补丁,以及增强纹理的一致性,构建如下损失:
δ
∗
=
a
r
g
m
i
n
δ
L
a
t
t
a
c
k
(
I
+
δ
)
+
λ
1
L
a
r
e
a
(
δ
)
+
λ
2
L
t
e
x
t
u
r
e
(
δ
)
δ^*=arg\ min_{δ}L_{attack}(I+δ)+λ_1L_{area}(δ)+λ_2L_{texture}(δ)
δ∗=arg minδLattack(I+δ)+λ1Larea(δ)+λ2Ltexture(δ)
- λ 1 , λ 2 λ_1,λ_2 λ1,λ2是权重
- δ ∈ R W × H δ∈R^{W×H} δ∈RW×H是包含所有对抗性补丁的对抗性扰动
- L a t t a c k L_{attack} Lattack是在不同攻击任务中确保攻击性能的攻击损失
- L a r e a L_{area} Larea限制补丁区域的area loss
- L t e x t u r e L_{texture} Ltexture是约束斑块纹理的texture loss
通过解决这个联合问题,得到最终的扰动patch即δ
texture and mask layers
为了清楚地定义补丁的形状、位置和纹理,我们将 δ δ δ分解为纹理层 t ∈ R W × H t∈R^{W×H} t∈RW×H和掩模层 M ∈ { 0 , 1 } W × H M∈\{0,1\}^{W×H} M∈{0,1}W×H。
-
掩码层对补丁的形状和位置进行编码,M中的补丁区域设置为1,其他区域设置为0。我们用这个二进制掩模层M将pathc和其他区域划分。
-
纹理层对补丁的纹理进行编码。扰动(所有补丁的聚合)可以转换为
δ = t ∗ M δ=t*M δ=t∗M- 其中*代表元素级的乘法
- 这种分解的一个优点是,它分离了补丁的形状和位置项以及纹理项,这使得在M上直接定义 L a r e a L_{area} Larea很容易。
根据掩模层M和纹理层t的定义,将整体低可检测攻击问题重新表述为:
m
i
n
M
,
t
(
I
+
t
∗
M
)
+
λ
1
L
a
r
e
a
(
M
)
+
λ
2
L
t
e
x
t
u
r
e
(
t
)
min_{M,t}(I+t*M)+λ_1L_{area}(M)+λ_2L_{texture}(t)
minM,t(I+t∗M)+λ1Larea(M)+λ2Ltexture(t)
在该公式中,面积损失和纹理损失分别只与M和t相关。这种分离有助于我们克服在优化过程中耦合这两部分的问题。
下图图二是攻击思想的框架,给定一个输入图像,我们首先初始化生成补丁,然后将它们添加到输入图像中。然后将修补补丁的图像传递到对象检测器以计算攻击损失。面积损失和纹理损失直接由M和t计算。然后对损失函数相加并反向传播,更新形状、位置和纹理参数。
Attack Loss
首先,我们引入了攻击损失函数,它旨在破坏检测器的预测。我们介绍了我们在攻击损失函数中采用的软攻击策略,然后介绍了不同的攻击任务,然后是相应的攻击损失函数。
Soft-attack strategy
以前的攻击方法在处理目标对象上预测的冗余边界框时采用了两种常见的策略。
- 第一种策略是只攻击具有目标类别的最大置信度得分的边界框。
但在攻击优化过程中,具有最大置信度的边界框可以在优化过程中连续地从一个边界框更改为另一个边界框。这不仅减缓了优化速度,而且还导致补丁位置较差,攻击性能较差,导致补丁更大,更低的纹理一致性和更高的可检测性。
- 第二种策略是同样地攻击可以检测为目标对象[13]的边界框,这意味着这些边界框的预测类别得分以及它们与目标对象之间的IoU高于检测模型的阈值。
这种解决方案可以缓解第一种策略的缺点,因为这些边界框的变化通常比具有最大置信度的边界框的变化频率更少。
然而,大多数这些边界框是不准确的,即使它们在这种策略中被平等地对待。我们认为,这导致了补丁的次优位置和更差的攻击性能。
故此,我们使用了Soft-atack strategy来代替这些攻击策略。软攻击策略意味着我们为可以检测为目标对象的边界框分配不同的权重。
在这里,我们假设更靠近目标对象的边界框更值得攻击,因为它们更有可能是正确的预测。在此假设的基础上,我们将预测的边界框与目标对象的边界框之间的IoU
设置为攻击损失函数中每个边界框的权值
。软攻击策略将LDAP集中在目标对象上,并帮助我们减少欺骗检测器所需的补丁面积。
Different attack-loss functions
与分类器不同的是,object detection包含了两部分:对象分类和定位。这使得对探测器的攻击更加复杂。相应地,我们设置了一个分类攻击任务和一个定位攻击任务。对于不同的任务,我们设置了不同的攻击损失函数。
classification-attack
分类攻击是指对手应该将检测模型将目标对象归类为错误的类别。如果我们认为“背景”是一个特殊的类别,那么一个物体的消失也是一个特殊的情况。
对于分类攻击,我们将类别得分的加权和设置为攻击损失。损失函数为:
L
c
l
s
(
I
+
t
∗
M
)
=
∑
b
i
∈
B
∗
w
i
C
(
I
+
t
∗
M
,
b
i
)
L_{cls}(I+t*M)=\sum_{b_i∈B^*}w_iC(I+t*M,b_i)
Lcls(I+t∗M)=bi∈B∗∑wiC(I+t∗M,bi)
- B ∗ B^* B∗是可以检测到为目标对象的边界框
- b i b_i bi是 B ∗ B^∗ B∗中的第i个边界框
- b t b_t bt是目标对象的边界框
- w = I o U ( b i , b t ) w=IoU(b_i,b_t) w=IoU(bi,bt)是 b i b_i bi的权重,由我们的软攻击策略分配
- C(·)是对象检测器在补丁图像 I + t ∗ M I+t*M I+t∗M上预测的 b i b_i bi的目标类别的类别得分。
localization-attack
定位攻击是指对手应使检测模型预测在目标对象上具有不理想形状或位置的边界框。本文研究了对边界盒位置的攻击,目的是实现边界盒的水平移动。在局部化攻击中,我们将边界框的回归偏移的加权和设为攻击损失。损失函数为:
L
i
o
c
(
I
+
t
∗
M
)
=
∑
b
i
∈
B
∗
w
i
R
x
(
I
+
t
∗
M
,
b
i
)
L_{ioc}(I+t*M)=\sum_{b_i∈B^*}w_iR_x(I+t*M,b_i)
Lioc(I+t∗M)=bi∈B∗∑wiRx(I+t∗M,bi)
- B ∗ B^* B∗是可以检测到为目标对象的边界框
- b i b_i bi是B∗中的第i个边界框
- b t b_t bt是目标对象的边界框
- w = I o U ( b i , b t ) w=IoU(bi,bt) w=IoU(bi,bt)是 b i b_i bi的权重,由我们的软攻击策略分配
- R x R_x Rx(·)是 b i b_i bi的x维的回归偏移量。
综上所述:
L
a
t
t
a
c
k
=
{
L
c
l
s
=
i
f
a
c
l
a
s
s
i
f
i
c
a
t
i
o
n
a
t
t
a
c
k
L
l
o
c
=
i
f
a
c
l
a
s
s
i
f
i
c
a
t
i
o
n
a
t
t
a
c
k
L_{attack}=\left\{ \begin{aligned} L_{cls} & = & if\ a\ classification\ attack \\ L_{loc} & = & if\ a\ classification\ attack \\ \end{aligned} \right.
Lattack={LclsLloc==if a classification attackif a classification attack
Area Loss
area损失可以被定义为:
L
a
r
e
a
=
∣
∣
M
∣
∣
0
L_{area}=||M||_0
Larea=∣∣M∣∣0
然而,直接求解M是一个non-trivial(困难)的高维离散搜索问题,因为M是由W×H二进制元素组成的。(W和H分别为原始图像的宽度和高度)。为了规避这个非平凡的问题,同时提到上述的形状建模研究[5,22],我们使用一组几何原语来表示掩模层。
不规则形状和位置的斑块可以用几个矩形来近似,如图3所示
我们做了一个合理的假设,即在我们的攻击中的掩模层可以用一组几何原语来近似。因此,我们将掩模层表示为:
M
=
U
j
N
μ
j
M=U^N_jμ_{j}
M=UjNμj
其中,
µ
j
∈
{
0
,
1
}
W
×
H
µ_j∈\{0,1\}^{W×H}
µj∈{0,1}W×H为第j个几何原语(geometric primitives),N为原语的个数。每个原语都可以看作是一个退化的掩模层(图3中的Approximated Mask Layer),它只编码整个掩模层的一部分,而整个掩模层的形状很简单。通过这种方法,我们将M的优化转换为原语参数的优化,大大减少了要优化的参数的数量。
在不失去一般性的情况下,我们首先选择矩形作为几何原语(geometric primitives),这是一个合理的选择,因为检测模型的接受域和预测的边界框都是矩形。几乎所有以前的补丁攻击都使用矩形补丁,如DPatch[18]、AdvPatch[29]、RP2-贴纸[6]和UPC[13]。矩形原语被写为:
μ
j
(
x
;
x
j
c
,
s
j
)
=
1
,
i
f
∣
x
k
−
x
j
,
k
c
∣
μ_j(x;x^c_j,s_j)=1,if\ |x_k-x^c_{j,k}|
μj(x;xjc,sj)=1,if ∣xk−xj,kc∣
- x = ( x 1 , x 2 ) x=(x_1,x_2) x=(x1,x2)代表图像上每个像素
- x j c = ( x j , 1 c ; x j , 2 c ) x^c_j=(x^c_{j,1};x^c_{j,2}) xjc=(xj,1c;xj,2c)代表第j个矩形的中心位置参数
- j = ( s j , 1 ; s j , 2 ) j=(s_{j,1};s_{j,2}) j=(sj,1;sj,2)表示其形状参数(宽度和高度)。
下图图4是参数演示:
Non-differential Problem
从上面的公式9,我们知道,矩形边界上引起了从1到0的急剧变化,从而导致了位置
x
j
c
x^c_j
xjc和形状
s
j
s_j
sj参数的不可微现象,为了解决这个不可微问题,我们使用余弦函数来过度。边界松弛的原语是:
KaTeX parse error: Undefined control sequence: \ at position 351: … \ \ \ \ \ \ \\\̲ ̲0\ \ \ \ \ \ \ …
边界松弛后,原语的值范围由离散变为连续。因此,我们重写了方程中原语的并集公式8,作为原语的加权和,这样可以看出:
M
=
∑
j
N
α
j
μ
i
(
x
j
c
,
s
j
)
M=\sum^N_jα_jμ_i(x^c_j,s_j)
M=j∑Nαjμi(xjc,sj)
其中
α
j
α_j
αj是我们为第j个原语设置的权重(这是一个可以学习的权重),且
α
j
α_j
αj>为0。
基于公式11,我们可以快速地将公式7中难以优化M的 l 0 l_0 l0范数转化为每个原始语的面积之和。
面积损失为:
L
a
r
e
a
=
∑
j
N
s
j
,
1
s
j
,
2
L_{area}=\sum^N_j{s_{j,1}}s_{j,2}
Larea=j∑Nsj,1sj,2
其中的
s
j
,
1
,
s
j
,
2
s_{j,1},s_{j,2}
sj,1,sj,2是第j个矩形原语的长度和宽度。
Texture Loss
Texture Loss的目的是保持补丁纹理与原始图像纹理之间的一致性。因此,我们直接使用对抗性纹理t的 $ l_2 $范数作为纹理损失。纹理损失为:
L
t
e
x
t
u
r
e
(
δ
)
=
∣
∣
t
∣
∣
2
L_{texture}(δ)=||t||_2
Ltexture(δ)=∣∣t∣∣2
Optimization
如我们前面所述,在Eq中定义的问题中, M ( x c , s , α ) M(x_c,s,α) M(xc,s,α)和t的优化。公式3是耦合的,这可能会使我们的优化器不稳定,并导致次优的攻击性能,所以要进行分开的训练。
这里 x c = { x j c } , s = { s j } , α = { α j } x_c=\{x^c_j\},s=\{s_j\},α=\{α_j\} xc={xjc},s={sj},α={αj}和 j = 1 , … , N j=1,…,N j=1,…,N 因此,我们将问题分为两个独立的方面,即掩码层搜索和纹理层搜索,并交替逐步优化M或t,以间接解决问题。
Mask Layer Search
在此搜索步骤中,我们修复纹理t,并优化由xc、s和α控制的掩模层M。由于掩模层和纹理层的分离,我们可以在这个步骤中直接忽略纹理损失。此步骤中的问题是:
m
i
n
x
c
,
s
,
α
L
a
t
t
a
c
k
(
I
+
t
∗
M
(
x
c
,
s
,
α
)
)
+
λ
1
L
a
r
e
a
(
s
)
min_{x^c,s,α}L_{attack}(I+t*M(x^c,s,α))+λ_1L_{area}(s)
minxc,s,αLattack(I+t∗M(xc,s,α))+λ1Larea(s)
请注意,在优化过程中,α与
x
c
x^c
xc和s耦合,这样我们就可以分离
x
c
x^c
xc、s和α的更新。我们表示等式中定义的目标函数公式(14)作为J。首先,我们先确定α(学习率),并计算J相对于
x
c
x^c
xc和s的梯度来更新它们。
x
c
←
x
c
−
η
x
∂
J
∂
x
c
s
←
s
−
η
s
∂
J
∂
s
x^c\leftarrow x^c-η_x\frac{∂J}{∂x^c}\\s\leftarrow{}s-η_s\frac{∂J}{∂s}
xc←xc−ηx∂xc∂Js←s−ηs∂s∂J
η
x
,
η
s
η_x,η_s
ηx,ηs是
x
c
,
s
x^c,s
xc,s的学习率,然后我们固定
x
c
,
s
x^c,s
xc,s然后更新α,
α
←
α
−
η
α
∂
J
∂
α
α\leftarrow{}α- η_α\frac{∂J}{∂α}
α←α−ηα∂α∂J
其中
η
α
η_α
ηα是
α
α
α的学习率
在这两项更新之后,我们完成了一个区域搜索step,我们更新了基于固定texture layer 的mask layer M
Texture Layer Search
经过一步区域搜索后,我们修复掩码M并一步更新纹理t ,忽略方程3中与t无关的术语,我们将纹理层搜索问题写为:
m
i
n
t
L
a
t
t
a
c
h
(
I
+
t
∗
M
(
x
c
,
s
,
α
)
)
+
λ
2
L
t
e
x
t
u
r
e
(
t
)
min_tL_{attach}(I+t*M(x^c,s,α))+λ_2L_{texture}(t)
mintLattach(I+t∗M(xc,s,α))+λ2Ltexture(t)
我们计算梯度去更新texture t
t
←
t
−
η
t
∂
J
′
∂
t
t\leftarrow t-η_t \frac{∂J'}{∂t}
t←t−ηt∂t∂J′
其中
η
t
η_t
ηt是t的学习率,
J
′
J'
J′是公式17的对象函数。在这些步骤中,我们根据固定的mask layer来更新layer based.
Increasing λ 1 , λ 2 λ_1 ,λ_2 λ1,λ2
对于不同的图像,area loss 和 texture loss的权重不应该总是相同的,因为不同图像中的对象通常大小不相同(较小的对象通常需要更小的补丁来攻击,所以area loss的权重应该更大)。
为了克服这个问题,我们将λ1和λ2的值设置在texture-search step后逐渐增加。这个设置可以确保,对于不同的图像,LDAP可以找到足够小和纹理一致的补丁:
λ
k
←
λ
k
+
∆
λ
(
k
∈
1
,
2
)
λ_k\leftarrow λ_k+ ∆λ \ \ (k∈1,2)
λk←λk+∆λ (k∈1,2)
其中∆λ为λ1和λ2的上升速率。在这一步之后,我们将转向下一步的区域搜索。
单幅图像的LDAP计算
Input
- Image I
- 矩形原语数N
- 目标对象 b t b_t bt的边界框
- 学习速率 η x 、 η s 、 η α 、 η t η_x、η_s、η_α、η_t ηx、ηs、ηα、ηt
- 初始系数 λ 1 、 λ 2 λ_1、λ_2 λ1、λ2及其增加速率 ∆ λ ∆λ ∆λ
- 最大搜索步骤 n m a x n_{max} nmax。
Output
对抗性扰动 ∂ ∂ ∂
Process
- 初始化 texture layer t,权重基础α,位置和形状参数 x c , s x^c,s xc,s
- s t e p ← 0 step\leftarrow 0 step←0
- while step <
n
m
a
x
n_{max}
nmax do
- 寻找 mask layer ,根据公式15更新 x c , s x^c,s xc,s
- 寻找mask layer,根据公式16更新α
- 寻找texture layer,根据公式18更新t
- 根据公式19,提高 λ 1 , λ 2 λ_1,λ_2 λ1,λ2
- s t e p ← s t e p + 1 step\leftarrow step+1 step←step+1
- end while
- 计算扰动 ∂ ← M ( M c , s , α ) ∗ t ∂\leftarrow M(M^c,s,α)*t ∂←M(Mc,s,α)∗t
Experiments
我们将α1、α2的初始值设置为1e-2,增加的速率∆λ设置为1e-4;最大搜索步骤nmax为2000;矩形原语N的数量为10。
Conclusion
本文提出了一种低可检测到的对抗性贴片攻击方法。
它的目标是在攻击目标检测器时,减少斑块的面积,同时保持纹理与原始图像的一致性。这使得我们的对抗性的例子不太可能被对抗性的补丁检测器识别。我们采用了几个几何原语来建模补丁。为了提高攻击性能,我们采用了软攻击策略。它为可以作为目标对象检测到的边界框分配不同的权重。
在COCO和d2城市数据集中证明了我们的方法的有效性、低可检测性和威胁。