文章目录

  • 1. 概述
  • 2 算法
    • 2.1 稠密对抗生成
    • 2.2 选择用于检测的输入提案

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=1∑N​[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​={tn​∣argmaxc​{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​=tn​∈Tm​∑​[∇Xm​​fln′​​(Xm​,tn​)−∇Xm​​fln​​(Xm​,tn​)](2)注意当 m m m增大时, ∣ T m ∣ ≪ ∣ T ∣ \left|\mathcal{T}_m\right| \ll|\mathcal{T}| ∣Tm​∣≪∣T∣,因此该策略可以降低时间复杂度。为了避免数值不稳定,我们将 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=∑m​rm′​。注意在算法实现时,输入的图像为 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最大的那一个。提案的标签定义为相应地置信类。

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

  1. 【论文阅读】Squeeze-and-Attention Networks for Semantic Segmentation(CVPR2020)

    论文题目:Squeeze-and-Attention Networks for Semantic Segmentation(用于语义分割的挤压-注意网络) 下载链接:https://arxiv.org ...

  2. 【论文阅读】Point-GNN: Graph Neural Network for 3D Object Detection in a Point Cloud

    最近在看3d目标检测的文章,感觉看完东西还是要记一下自己的想法,尤其是有思考的文章. 论文题目:Point-GNN: Graph Neural Network for 3D Object Detect ...

  3. 论文阅读:MNC:Instance-aware Semantic Segmentation via Multi-task Network Cascades

    文章目录 1.论文总述 2.Regressing Mask-level Instances时与Deep Mask的不同 3.分类stage的一个细节 4.试用一款公式神器(MathpixSnip): ...

  4. 目标检测论文阅读:Cascade R-CNN: Delving into High Quality Object Detection(CVPR2018)

    Cascade R-CNN: Delving into High Quality Object Detection(CVPR2018) 论文链接:https://arxiv.org/abs/1712. ...

  5. [论文阅读] Stereoscopically Attentive Multi-scale Network for Lightweight Salient Object Detection

    论文地址:https://dx.doi.org/10.1109/TIP.2021.3065239 代码:https://mmcheng.net/SAMNet 发表于:TIP 2021 Abstract ...

  6. 论文阅读:Hit-Detector: Hierarchical Trinity Architecture Search for Object Detection

    简介: Hit-Detector是第一个可以同时搜索检测网络的backbone.neck和head的NAS,在低算力.低参数量的情况下得到高mAP. 论文链接 代码链接 前言: NAS在图像识别任务中 ...

  7. 论文阅读笔记:(2021.10 CoRL) DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries

    论文地址:DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries | OpenReviewWe introduc ...

  8. 【CV论文阅读】:Rich feature hierarchies for accurate object detection and semantic segmentation...

    R-CNN总结 不总结就没有积累 R-CNN的全称是 Regions with CNN features.它的主要基础是经典的AlexNet,使用AlexNet来提取每个region特征,而不再是传统 ...

  9. 论文阅读:MSeg3D: Multi-modal 3D Semantic Segmentation for Autonomous Driving

    来源:2023 CVPR 题目:自动驾驶的多模态三维语义分割 原文链接: 0.摘要 激光雷达和摄像机是自动驾驶三维语义分割的两种方法.由于缺乏足够的激光点,目前流行的仅使用lidar的方法在小的和遥远 ...

最新文章

  1. swiper 定义放多少张图片_swiper轮播问题之二:默认显示3张图片,中间显示全部两边显示部分...
  2. 复习笔记(五)——C++多态和虚函数
  3. 第十二届蓝桥杯大赛软件赛省赛 C/C++ 大学B组
  4. Android之解决viewpage加载第3个fragment的时候,第一个fragment又重新构建问题
  5. leetcode 649. Dota2 参议院(贪心算法)
  6. 【Android基础】短信的发送
  7. 支持向量机——深度AI科普团队
  8. Razor语法(三)
  9. jsf 导航_JSF动作方法导航示例教程– from-action标记
  10. 解决Tomcat闪退
  11. Linux设备驱动模型-Device
  12. Linux 上免费的视频转换器FFmpeg
  13. 阿里巴巴开放平台Oauth2.0协议获取access_token
  14. 视频教程-2021软考网络工程师 案例分析视频教程-软考
  15. 纯css绘制斜线表头
  16. dhtml、html、html5、xml、xhtml的区别
  17. php中奖概率算法,刮刮卡/大转盘抽奖算法
  18. JMS基本概念和模型
  19. MySQL数据库引擎简介
  20. 唠唠MySQL的join

热门文章

  1. javaweb实习实训管理系统mysql
  2. Springboot工具篇04:log4j2集成,配合lombok更好用
  3. element自定义图标;element自定义icon;element-ui自定义tab栏图标;
  4. openssl+RSA加解密出现以下错误C++ error LNK2019: 无法解析的外部符号
  5. exe/dll 文件依赖查询工具
  6. 预测分析1:根据一年的历史数据预测后十年的数据趋势
  7. 写给MatheMagician读者的第三封新年来信——暨年终总结与感悟
  8. 数字字符串转换为整型数
  9. ubuntu设置.ttf和.otf字体
  10. arduino下载库出错_arduino运行程序出现这样的错误是为什么?急求解