本文主要是介绍ColorFool: Semantic Adversarial Colorization,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
ColorFool: Semantic Adversarial Colorization
文章目录
- ColorFool: Semantic Adversarial Colorization
- 问题
- 之前的攻击方法
- BigAdv:
- SemanticAdv:
- ColorFool
论文收录于CVPR 2020
问题
作者将对抗扰动分为 restricted 和 unrestricted
-
restricted 是指通过 Lp 范式控制扰动的大小。这种攻击方式对去噪滤波器、对抗训练等防御并不健壮,因为这种扰动通常具有高的空间频率(spatial frequencies),容易被检测到。
-
unrestricted 并不控制扰动的大小,对防御具有健壮性,且生成的对抗样本更具有迁移性。但是也更容易被人眼识别。
所以,作者提出了一种基于内容的、unrestricted的黑盒攻击方法,通过语义分割技术将图片分为人眼敏感区域和不敏感区域,有选择地修改区域内的颜色
之前的攻击方法
BigAdv:
SemanticAdv:
unrestricted、black-box attack 改变HSV颜色空间中的颜色,且只改变H和S通道。
该方法的问题是对所有区域都添加扰动,所以会产生一些对人眼来说不自然的颜色。
-
HSV:
H: hue 色调
S: saturation 饱和度
V: value 值
ColorFool
1、作者使用的颜色形式不是RGB,而是Lab,且只在a、b通道上添加扰动。生成的对抗样本与干净样本的大小一致。
-
Lab:
a ranges from green(-128) to red (+127)
b ranges from blue(-128) to yellow(+127)
L ranges from black(0) to white(100)
2、作者定义四种人眼对颜色敏感的区域,在敏感区域上添加的扰动为了符合人眼自然视觉感知,添加的扰动是有条件的,如下表
-
S1: 人 person 人不进行扰动
-
S2: 天空 sky
-
S3: 植被 vegetation(e.g. grass and tree)
-
S4: 水 water(e.g. sea, river, waterfall, swimming pool and lake)
3、方法步骤
1)图片通过训练好的语义分割模型,得到敏感区域和不敏感区域
2)敏感区域 S = {Sk:Sk= γ \gamma γ(Sk) + α \alpha α[0, Nak, Nbk]T}Sk=1
γ \gamma γ(.)将RGB图像转换成Lab, Nak, Nbk是添加在a, b通道上的扰动,扰动范围如上表所示。为了避免第一次迭代在原样本上增加太大的扰动,令 α \alpha
这篇关于ColorFool: Semantic Adversarial Colorization的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!