论文阅读 (88):Adversarial Examples for Semantic Segmentation and Object Detection

1. 概述

题目用于语义分割和目标检测的对抗样本
核心点:将对抗性样本的概念扩展到语义分割和对象检测,并提出稠密对抗生成算法 (Dense adversary generation, DAG)。
引用

@inproceedings{
    
    Xie:2017:13691378,
author		=	{
    
    Ci Hang Xie and Jian Yu Wang and Zhi Shuai Zhang and Yu Yin Zhou and Ling Xi Xie and Alan Yuille},
title		=	{
    
    Adversarial examples for semantic segmentation and object detection},
booktitle	=	{
    
    {
    
    CVPR}},
pages		=	{
    
    1369--1378},
year		=	{
    
    2017}
}

2 算法

2.1 稠密对抗生成

X \mathbf{X} X表示包含 N N N个识别目标 T = { t 1 , t 2 , … , t N } \mathcal{T}=\{t_1,t_2,\dots,t_N\} T={ t1,t2,,tN}的图像。每个目标 t n t_n tn对应一个真实标签 l n ∈ { 1 , 2 , … , C } l_n\in\{ 1,2,\dots, C \} ln{ 1,2,,C},其中 C C C是类别数。所有的标签记为 L = { l 1 , l 2 , … , l N } \mathcal{L}=\{l_1,l_2,\dots,l_N\} L={ l1,l2,,lN}

T \mathcal{T} T依据所在的场景而有所变化,例如在图像分类中, T \mathcal{T} T只包含一个元素,即完整图像;在语义分割中由所有像素,或者说相应地感受野组成;在对象检测中,则由所有提案组成。

给定特定任务下的神经网络,令 f = ( X , t n ) ∈ R c \mathbf{f}=(\mathbf{X},t_n)\in\mathbb{R}^c f=(X,tn)Rc表示第 n n n个识别对象在softmax之前的分数向量。为了生成对抗样本,理想的目标是令所有目标上的预测出错,即:
∀ n , arg max ⁡ c { f c ( X + r , t n ) } ≠ l n \forall n,\argmax_c\{ f_c(\mathbf{X}+\mathbf{r},t_n) \}\neq l_n n,cargmax{ fc(X+r,tn)}=ln这里的 r \mathbf{r} r即是想要生成的对抗样本。该公式的含义为,当添加扰动后,应当使得最大预测概率所对应的类别偏离原有类别。对此,我们为每个目标制定一个对抗标签 l n ′ l_n' ln,其中 l n ′ l_n' ln是从其它不正确类别的随机采样,即 l n ′ ∈ [ 1 , C ] ∖ { l n } l_n'\in[1,C]\setminus\{l_n\} ln[1,C]{ ln}。同理有 L ′ = { l 1 ′ . l 2 ′ , … , l n ′ } \mathcal{L}'=\{l_1'.l_2',\dots,l_n'\} L={ l1.l2,,ln}。实际上,我们定义了一个随机排列函数 π : { 1 , 2 , … , C } → { 1 , 2 , … , C } \pi:\{1,2,\dots,C\}\to\{1,2,\dots,C\} π:{ 1,2,,C}{ 1,2,,C},其中 π ( c ) ≠ c \pi(c)\neq c π(c)=c。在这种设置下,损失函数定义为:
L ( X , T , L , L ′ ) = ∑ n = 1 N [ f l n ( X , t n ) − f l n ′ ( X , t n ) ] (1) \tag{1} L(\mathbf{X},\mathcal{T},\mathcal{L},\mathcal{L}')=\sum_{n=1}^N\left[ f_{l_n}(\mathbf{X},t_n) -f_{l_n'}(\mathbf{X},t_n) \right] L(X,T,L,L)=n=1N[fln(X,tn)fln(X,tn)](1)最小化 L L L可以通过使得每一个目标错误预测来实现,即抑制正确类别 f l n ( X + r , t n ) f_{l_n}(\mathbf{X}+\mathbf{r},t_n) fln(X+r,tn)的置信度,而增加不正确类别 f l n ′ ( X + r , t n ) f_{l_n'}(\mathbf{X+r},t_n) fln(X+r,tn)的置信度。

这里使用梯度下降法来优化,在 m m m次迭代时,添加了扰动的图像记为 X m \mathbf{X}_m Xm。我们将寻找一个正确预测目标的集合,称为激活目标集 (Active target set): T m = { t n ∣ a r g m a x c { f c ( X m , t n ) } = l n } \mathcal{T}_m=\{ t_n| argmax_c\{ f_c(\mathbf{X}_m,t_n)\}=l_n \} Tm={ tnargmaxc{ fc(Xm,tn)}=ln}。然后计算关于输入数据的梯度并累计这些扰动:
r m = ∑ t n ∈ T m [ ∇ X m f l n ′ ( X m , t n ) − ∇ X m f l n ( X m , t n ) ] (2) \tag{2} \mathbf{r}_m=\sum_{t_n \in \mathcal{T}_m}\left[\nabla_{\mathbf{X}_m} f_{l_n^{\prime}}\left(\mathbf{X}_m, t_n\right)-\nabla_{\mathbf{X}_m} f_{l_n}\left(\mathbf{X}_m, t_n\right)\right] rm=tnTm[Xmfln(Xm,tn)Xmfln(Xm,tn)](2)注意当 m m m增大时, ∣ T m ∣ ≪ ∣ T ∣ \left|\mathcal{T}_m\right| \ll|\mathcal{T}| TmT,因此该策略可以降低时间复杂度。为了避免数值不稳定,我们将 r m \mathbf{r}_m rm标准化为:
r m ′ = γ ∥ r m ∥ ∞ ⋅ r m (3) \tag{3} \mathbf{r}_m^{\prime}=\frac{\gamma}{\left\|\mathbf{r}_m\right\|_{\infty}} \cdot \mathbf{r}_m rm=rmγrm(3)其中 γ = 0.5 \gamma=0.5 γ=0.5是一个固定的超参数。然后我们在 X m \mathbf{X}_m Xm中添加 r m ′ \mathbf{r}_m' rm并进行下一次迭代。算法将在 T m = ∅ \mathcal{T}_m=\empty Tm=或者达到最大迭代次数时停止。最大迭代次数在分割和检测时分别设置为 200 200 200 150 150 150

最终的对抗扰动计算为 r = ∑ m r m ′ \mathbf{r}=\sum_m\mathbf{r}_m' r=mrm。注意在算法实现时,输入的图像 X \mathbf{X} X减去均值图像 X ^ \hat{\mathbf{X}} X^,因此对抗图像 Trunc ( X + r + X ^ ) \text{Trunc}(\mathbf{X+r+}\hat{\mathbf{X}}) Trunc(X+r+X^),其中 Trunc( …   ) \text{Trunc(\dots)} Trunc()表示将通过 [ 0 , 255 ] [0,255] [0,255]的像素修剪函数。尽管修剪将损害对抗扰动,我们观察到在实验中这样的影响其实是很小的,因为扰动 r \mathbf{r} r的量级是很小的。DAG算法的总体流程如算法1。

2.2 选择用于检测的输入提案

DAG的一个关键问题是选择一个合适的 T \mathcal{T} T。这种语义分割中是相对简单的,因为我们的目标是在所有的像素上发生错误分类。因此可以将每一个像素设置成为一个独立的目标,即在图像网格上执行稠密采样。该过程的时间复杂度正比于像素的总和。

在对象检测领域,目标选择会相对困难,因为可能的目标 (边界框提案) 的综述比语义分割中的目标大几个量级。一个简单的提案是仅考虑sideway网络,即区域提案网络 (regional proposal network),而我们发现,当对抗扰动 r \mathbf{r} r 被添加到原始图像 X \mathbf{X} X时,提案的差集可以通过新的输入 X + r \mathbf{X+r} X+r来生成,以及网络依然能够正确地分类这些新提案。为了克服这个问题,我们通过增加RPN中非极大值抑制 (non-maximal suppression, NMS) 的阈值来使得提案非常稠密。实际上,当IOU (intersection-over-union) 从0.7增长到0.9,每个图像的平均提案数从300增长到了3000。使用该稠密目标集 T \mathcal{T} T,最可能的对象边界框距离至少一个选定的输入提案只有像素,我们可以预期相邻边界框之间的分类错误转移。在实验中,这样的一个直观方法是很有用的,对抗扰动的性能与DAG中提案的数量成正比。

技术方面,给定RPN生成的提案,我们保留所有正提案而忽略其它。满足以下条件的称为正提案:

  1. 最近的真实目标的IOU大于0.1;
  2. 真实类的置信度得分大于0.1.

如果有多个真实目标满足以上条件,我们选择IOU最大的那一个。提案的标签定义为相应地置信类。

猜你喜欢

转载自blog.csdn.net/weixin_44575152/article/details/130350994