0%

《Physically Adversarial Infrared Patches with Learnable Shapes and Locations》

CVPR 2023

image-20230403165457032

一句话:针对红外目标检测场景,设计了一种对抗性红外补丁,通过隔热材料来改变目标热成像的图像,通过可学习的补丁形状和位置,进一步增加了物理世界攻击的可行性。


image-20230403175255441

Motivation

​ 红外成像中的目标检测以其在恶劣环境下具有较强的抗干扰性而著称,被广泛应用于安防监视、遥感等安全关键任务中。因此有必要对红外目标检测的物理对抗鲁棒性进行评估。以往的对抗攻击都是从RGB的角度产生的扰动,对红外相机来说是无法捕获到的。所以需要一种针对性的攻击方法。


现在也有一些相关工作:

  • 针对红外目标检测不可感知的对抗攻击,但是属于修改红外图像中的像素值而非物理世界的攻击。
  • 通过小灯泡来模拟热源,从而改变物体的红外辐射分布,来产生对抗扰动,但局限性很大,一个是不隐蔽且不容易实施,需要设计电路板来点亮小灯泡,第二是它是产生新的热源而不是隐蔽覆盖它们,受限于一些需要隐蔽热源的场景。
  • 通过穿上包裹全身的对抗性衣服,可以从不同角度去攻击探测器。具体操作是先设计2D的QR图案,然后转换成3D的衣服,最后将特殊红外材料贴到指定位置。总之攻击成本非常高和复杂。

image-20230403175401024

  • 本文的方法是通过减少热辐射,而且只需要设计Patch的形状和位置即可达到攻击效果,有很强的隐蔽性。


    Problem Formuation

    目标检测:

    主要基于行人检测任务,对于所有的候选框 ${b_i \mid i=1, \ldots, n}$的置信度 ${s_i \mid i=1, \ldots, n}$,选择置信度最高的框作为最终目标,当大于一个阈值的时候算检测到行人。

    攻击目标:

    最小化候选边框最大置信度的分数,使其低于检测阈值,从而检测不到行人。即最小化如下攻击损失:

    对抗样本的构建:

    其中 $\boldsymbol{M} \in{0,1}^{h \times w}$是用于约束隔热材料的形状和位置掩码,最开始的时候为了能优化设计了软 $\boldsymbol{M}$,范围是在 $[0,1]^{h \times w}$ 的连续值,最后不断优化接近 ${0,1}^{h \times w}$

    而 $\hat{\boldsymbol{x}}$表示隔热材料返回的热成像的像素值,但实际很难控制,这是很大程度取决于隔热材料的物理性质,热反射率等等,而通常整个Patch都是一样的材料,选定了材料就相当于确定了 $\hat{\boldsymbol{x}}$,基本整个图案都是相同的值,这里尽可能让它趋近于0,从而后续设计对抗样本只需要去优化 Mask的形状和位置。

    image-20230403195454965

    MASK的优化目标:

    利用梯度的优化来求解最优的的 $\boldsymbol{M}$

    1. $\boldsymbol{M}$中的像素应该尽可能聚集在一起。

    2. $\boldsymbol{M}$中的像素值应该尽可能接近0和1。

      这样可以使优化后MASK更好的设计隔热材料,从而转换到物理世界的攻击更容易实现。


Method

如何聚合 $\boldsymbol{M}$​中的像素 :

通过设计一个局部聚合系数去控制,优化使系数越大,也就意味着越聚合。

对每个像素点都定义一个局部聚合系数 $C_i$,$\mathcal{K}$表示临接点的边数矩阵,$*$表示卷积操作。 $\boldsymbol{A}_{3 \times 3}$表示一个衰减因子矩阵,由 $\alpha_j$ 组成。

image-20230403205115813

最后得到整个 $\boldsymbol{M}$的聚合程度,表示为 $C(M) = \sum_{j=1}^h \sum_{k=1}^w C_{j k} \cdot M_{j k}$,优化使其最大。最小化Loss表示为:


如何二值化:

通过MSE约束:

其中 $\boldsymbol{I}$为全1的矩阵, $\mathcal{H}(M_{jk})$是一个类似ReLU的函数,其中 $M_{jk}$小于阈值的时候置1,大于阈值的时候保持不变。这样可以只约束大于阈值的部分,从而更接近1。

同时为了使 $\boldsymbol{M}$稀疏化,额外引入对它本身的一个L1约束。总的二值化损失为:

因此最后整个Loss Function为:


通过带动量的梯度下降优化:

其中 $\boldsymbol{M}_{o b j}$是目标检测对象的原始定位的框的掩码,因为我们并不想优化目标对象框以外的地方。


具体流程:
image-20230403213524550image-20230403220326896

实验设置

Dataset:FLIR ADAS dataset
Target detector: YOLOv3
Metrics:ASR(攻击成功率)和AP(PR曲线下面的面积)

实验结果

image-20230403215238273

相比之前两种方法,本文的攻击AP达到了SOTA的效果,把原先检测器的100%AP降到12.05%。


消融实验:
位置和形状的影响:

image-20230403230428975

image-20230403230510193

损失函数的影响:

image-20230403231133217

image-20230403230615465

约束聚合效果的Loss添加后虽然攻击性能下降了,但是这对于转换到物理世界的实施至关重要。


物理世界的攻击:

同样也达到了SOTA的效果:

image-20230403220244357

image-20230403231323853image-20230403231621541

但是本文的方法制作物理世界的红外贴片的时长花销是制作红外衣服的 $1/20$。

对于物理世界的车辆检测:

image-20230403232034168

表明这种攻击可以应用到其他任务上。


防御红外对抗补丁

  • 空间平滑

  • 随机添加噪声

  • 对抗训练

    image-20230403232241490

像空间平滑,随机加噪这种防御方法针对这种攻击效果是极差的,因为这种聚合的且二值分明的补丁受这种平滑和一些扰动的影响是极小的。


结论

本文提出了一种可以学习形状和位置的对抗性红外补丁,可以应用于物理世界的目标检测模型,通过隔热材料使模型失效,达到很高的攻击成功率,且极易容易制作,制作成本同时也很低。

Hexo遇到的BUG

编辑数学公式时:

使用Latex表示公式时连续使用 { {会报错,且无法渲染,需要在括号之间加入空格完美解决。折磨了半天,竟然这么简单的解决了,之前还查了什么导致和markdown冲突,需要改解析的规则

Diffusion model之DDPM

本文理论公式等不做详细推导,只做总结(毕竟是给我自己看的,不是),代码部分会详细解析。


Denoising Diffusion Probabilistic Model

前向过程:image-20230331160559333

通过从原始数据分布 $\mathbf{x}_0 \sim q(\mathbf{x}_0) $ 不断加高斯噪声,根据马尔可夫链的性质,在T趋于∞的时候可以使其成为一个平稳分布(标准高斯分布) $\mathbf{x}_T \sim \varphi(\mathbf{x})$即 $X \sim N(0,1)$ ,加噪的方差(可以理解为噪声的尺度)由 $\beta_t$控制,调节上一时刻的数据和加入噪声的比例,且随时间步T变化而变化。

阅读全文 »

保持距离!

相似性

对于深度学习的各种任务,我们常常需要最小化模型输出与真实标签之间的距离,我们往往采用均方误差,交叉熵等作为损失函数,换句话说,不管是拉近它们分布之间的距离,还是什么,都是在使它们这两个张量更为相似。因此我们任何能衡量两组数据的相似性的方法都可以作为损失函数。这里总结一下各种计算相似度的方法。


余弦相似度

余弦相似性通过测量两个向量的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1;并且其最小值是-1。从而两个向量之间的角度的余弦值确定两个向量是否大致指向相同的方向。两个向量有相同的指向时,余弦相似度的值为1;两个向量夹角为90°时,余弦相似度的值为0;两个向量指向完全相反的方向时,余弦相似度的值为-1。这结果是与向量的长度无关的,仅仅与向量的指向方向相关。

阅读全文 »

对比学习(学习笔记)

背景

NLP领域的Bert模型,对于这波图像领域的对比学习热潮,是具有启发和推动作用的。我们知道,Bert预训练模型,通过MLM任务的自监督学习,充分挖掘了模型从海量无标注文本中学习通用知识的能力。而图像领域的预训练,往往是有监督的,就是用ImageNet来进行预训练,但是在下游任务中Fine-tuning的效果,跟Bert在NLP下游任务中带来的性能提升,是没法比的。

阅读全文 »

设置Hexo背景

找到next主题下面的source/css/_schemes/Mist/index.styl,添加如下代码:

1
2
3
4
5
6
7
body { 
background:url(/uploads/1.png);
background-repeat: no-repeat;
background-attachment:fixed; //不重复
background-size: cover; //填充
background-position:100% 100%;
}

设置文本框的透明度

可以再添加如下代码:

1
2
3
.post-block {
background: rgba(255,255,255,.85) none repeat scroll !important;
}

rgba的第四个参数是控制透明度,其余控制文章背景的颜色。

其余美化参考这篇博客

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment