Paper笔记: 《ColorFool: Semantic Adversarial Colorization》

论文: https://openaccess.thecvf.com/content_CVPR_2020/papers/Shamsabadi_ColorFool_Semantic_Adversarial_Colorization_CVPR_2020_paper.pdf.
代码: https://github.com/smartcameras/ColorFool.

Motivation

  本文关注无限制对抗攻击,关于无限制对抗攻击与传统的 L p L_p Lp攻击的区别,请参考我之前的博客Paper笔记: 《Functional Adversarial Attacks》,这里就不做赘述了。此前无限制攻击方面的工作多聚焦于白盒攻击,但是在现实场景中,攻击者是很难拿到防御模型的结构、参数、防御策略等细节信息的,因此攻击方法的迁移性(攻击方法在没见过的模型上的攻击成功率)就显得尤为重要。另外,此前的无限制攻击多是基于颜色变换的,其训练过程的计算量较大,并且容易生成不真实的颜色,从而影响图像的视觉效果。

Contribution

  本文的作者提出了一种基于图像内容的无限制攻击方法ColorFool,该方法充分考虑到人类视觉感官系统的特性,利用语义分割的方式划分出人类视觉较为敏感的区域和不敏感的区域,然后针对敏感区域只施加非常有限的颜色变换,而对不敏感区域则施加较大的颜色变换。这种方法在黑盒和白盒场景下都有不错的攻击效果,并且在包括攻击成功率、鲁棒性以及图像质量等多个指标上均有较好的表现。

Method

  改论文提出的方法包括三个主要步骤:首先,需要分割出对于人类感官系统来说相对敏感的区域,作者认为有4类目标的颜色更容易吸引到人们的注意:人、天空、水体以及植被。作者通过mask将图像分成多个区域(如下式所示),语义分割工作采用了该文献的方法。
S = { S k : S k = X ⋅ M k } k = 1 K \mathcal{S} = \{ \mathcal{S}_k: \mathcal{S}_k = X · M_k \}_{k=1}^K S={Sk:Sk=XMk}k=1K
  其中, M k M_k Mk代表与原图相同大小的binary mask,用来指示第 k k k类所对应的图像区域。然后根据语义分割的结果把图像划分为敏感区域 S = { S k } k = 1 S \mathbb{S}=\{S_k \}_{k=1}^S S={Sk}k=1S和不敏感区域 S ˉ = { S ˉ k } k = 1 S ˉ \mathbb{\bar{S}}=\{\bar{S}_k \}_{k=1}^{\bar{S}} Sˉ={Sˉk}k=1Sˉ
  第二步是根据划分好的区域,在Lab空间里进行颜色的变换。对于敏感区域,颜色变换被限制在一个很小的集合之内,但是变换量的选取是随机的:
S ˙ = { S k ˙ : S k ˙ = γ ( S k ) + α [ 0 , N k a , N k b ] T } k = 1 S \dot{\mathbb{S}} = \{ \dot{S_k}: \dot{S_k}=\gamma(S_k) + \alpha[0,N_k^a,N_k^b]^T \}_{k=1}^S S˙={Sk˙:Sk˙=γ(Sk)+α[0,Nka,Nkb]T}k=1S
  这里可以发现, α [ 0 , N k a , N k b ] T \alpha[0,N_k^a,N_k^b]^T α[0,Nka,Nkb]T即为对图像的变换,其中 N k a ∈   N k a , N k b ∈   N k b N_k^a \in\,\mathcal{N}_k^a,N_k^b \in\,\mathcal{N}_k^b NkaNka,NkbNkb N k a \mathcal{N}_k^a Nka N k b \mathcal{N}_k^b Nkb分别代表了Lab颜色空间中,a和b两个颜色通道的变换范围,这个变换范围是通过对应类别的一些先验信息来确定的(如图1所示),而 γ ( ) \gamma() γ()代表将图像从RGB空间转换到Lab空间的操作。
变换范围

图1 敏感区域颜色变换范围
  而对于非敏感区域,a和b通道上的颜色变换则不加任何的约束:

S ˉ = { S K ˉ ˙ : S K ˉ ˙ = γ ( S k ˉ ) + α [ 0 , N ˉ a , N ˉ b ] T } k = 1 S ˉ \mathbb{\bar{S}} = \{\dot{\bar{S_K}}:\dot{\bar{S_K}}=\gamma(\bar{S_k}) + \alpha[0,\bar{N}^a,\bar{N}^b]^T \}_{k=1}^{\bar{S}} Sˉ={SKˉ˙:SKˉ˙=γ(Skˉ)+α[0,Nˉa,Nˉb]T}k=1Sˉ
  其中, N ˉ a ∈   { − 127 , . . . , 128 } \bar{N}^a \in\,\{-127,...,128\} Nˉa{127,...,128} N ˉ b ∈   { − 127 , . . . , 128 } \bar{N}^b \in\,\{-127,...,128\} Nˉb{127,...,128}
  最后,将变换后的各个区域组合在一起,就形成了最终的攻击图像:
X ˙ = Q ( γ − 1 ( ∑ k = 1 S S k ˙ + ∑ k = 1 S ˉ S k ˉ ˙ ) ) \dot{X} = Q(\gamma^{-1}(\sum_{k=1}^S \dot{S_k} + \sum_{k=1}^{\bar{S}} \dot{\bar{S_k}})) X˙=Q(γ1(k=1SSk˙+k=1SˉSkˉ˙))
  其中, Q Q Q代表检查像素值是否超出规定范围的操作,而 X ˙   ∈   Z w , h , c \dot{X}\,\in\,\mathbb{Z}^{w,h,c} X˙Zw,h,c

Experiments and Analysis

  本文主要在三个数据集上进行实验:Private-Places365、CIFAR10以及ImageNet,作者选用了ResNet18、ResNet50以及AlexNet三个模型进行相关实验。

攻击成功率

  攻击成功率的测试包括白盒和黑盒两个场景,可以发现,所有攻击方法在白盒场景下都有极高的成功率,作者认为比较有说明意义的是:在黑盒场景下, L p L_p Lp攻击的成功率不超过0.41,而无限制攻击的成功率最高可以达到0.77。作者对此的解释是:基于 L p L_p Lp约束的攻击,尤其是基于梯度反传的攻击,会在攻击模型的参数上过拟合,而ColorFool引入的对颜色的随机性操作则有效地规避了这一点。
攻击成功率

图2 攻击成功率实验结果
防御鲁棒性

  这部分通过对防御的鲁棒性测试来反映攻击方法的性能,主要包括三部分:首先是对滤波后的图像在白盒场景下进行攻击成功率测试,滤波方式包括重量化、中值滤波以及有损编码三种;然后测试攻击是否可被检测到,检测方法是计算图像在滤波前后通过模型得到的概率向量的 L 1 L_1 L1距离,当超过某个阈值时则检测为攻击;最后是在经过PCL loss以及对抗训练的模型上进行攻击成功率测试。相关的结果图篇幅较大,请查阅原文。无限制攻击方法无论在滤波防御的攻击成功率上以及被检测率上都有明显的优势。

图像质量

  图像质量方面主要依靠NIMA来进行量化评估,这里根据图3来说明本文方法的优势。
图像质量

图3 图像质量对比结果图
随机性分析

  看到这里,有朋友可能会问,ColorFool的操作主要是依靠随机性来完成的,那么如何能保证生成有效的攻击图片呢,作者并未从原理上解释这点,而是通过一系列的实验来说明这样的随机性操作总是可以收敛,并且收敛的类别(误导分类做出的判断类别)总是趋近一致(如图4所示)。
随机性分析

图4 随机性分析结果图
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值