Adversarial Texture for Fooling Person Detectors in the Physical World
1.引言
这项研究的背景建立在对抗性攻击的概念上,这种攻击通过修改输入数据来误导机器学习模型。人体检测系统在安全监控、自动驾驶汽车等领域中至关重要,因此研究其潜在的脆弱性对于提高这些系统的鲁棒性和安全性至关重要。论文通过实际测试证明了对抗性纹理在物理世界中对人体检测器的欺骗效果,这不仅对理论研究有重要意义,也为实际应用中的安全措施提供了重要见解。
对抗性示例在人体检测系统中的应用主要涉及测试和提高这些系统的鲁棒性。它们可以用来:
-
揭示弱点:通过创建能够欺骗人体检测系统的对抗性示例,研究人员可以识别并解决这些系统的脆弱性。
-
安全测试:在关键应用中,如自动驾驶车辆或安全监控系统,对抗性示例用于测试系统的抵抗能力,确保它们在面对未预料到的或恶意篡改的输入时仍能准确运作。
-
模型改进:通过分析对抗性示例对检测系统的影响,可以发展更强大和准确的算法。
2. Toroidal-Cropping-based Expandable Generative Attack,TC-EGA具体工作过程
什么是AdvTexture?
AdvTexture(对抗性纹理)是一种特殊的纹理,用于在物理世界中欺骗人体检测系统。具体来说,AdvTexture可以覆盖服装的任意形状,使得穿着这种服装的人在不同的视角下能够从人体检测系统中隐藏。
2.1 Adversarial Patch Generator 的工作原理
Adversarial Patch Generator 的工作原理涉及以下关键步骤和公式:
- 生成对抗性纹理:使用全卷积网络(FCN)生成对抗性纹理(AdvTexture),旨在欺骗人体检测系统。
- 对抗性分布:
- 公式: p a d v ( τ ~ ) = e − U ( τ ~ ) Z U p_{adv}(\tilde{\tau}) = \frac{e^{-U(\tilde{\tau})}}{Z_U} padv(τ~)=ZUe−U(τ~)
- 解释:这个公式描述了对抗性贴片( τ ~ \tilde{\tau} τ~)的概率分布。 U ( τ ~ ) U(\tilde{\tau}) U(τ~)是一个能量函数,用于模拟对抗性贴片的分布。分布的高概率对应于具有更显著对抗性效果的贴片。
- 生成分布:
- 公式: q φ ( τ ~ ) = ∫ δ ( τ ~ − G φ ( z ) ) p z ( z ) d z q_{\varphi}(\tilde{\tau}) = \int \delta (\tilde{\tau} - G_{\varphi}(z)) p_z(z) dz qφ(τ~)=∫δ(τ~−Gφ(z))pz(z)dz
- 解释:这个公式表示由生成器 G φ G_{\varphi} Gφ 生成的对抗性贴片的分布。其中 z z z 是从标准正态分布中抽取的随机变量。
- 优化目标:
- 公式: min φ , ω E τ ~ ∼ q φ ( τ ~ ) [ U ( τ ~ ) ] − I φ , ω J S D ( τ ~ , z ) \min_{\varphi, \omega} \mathbb{E}_{\tilde{\tau} \sim q_{\varphi}(\tilde{\tau})}[U(\tilde{\tau})] - I_{\varphi, \omega}^{\mathrm{JSD}(\tilde{\tau}, z)} minφ,ωEτ~∼qφ(τ~)[U(τ~)]−Iφ,ωJSD(τ~,z)
- 解释:这个优化目标结合了对抗性效果(由 U ( τ ~ ) U(\tilde{\tau}) U(τ~) 表示)和信息目标函数(由 I φ , ω J S D ( τ ~ , z ) I_{\varphi, \omega}^{\mathrm{JSD}(\tilde{\tau}, z)} Iφ,ωJSD(τ~,z) 表示)。
- 对抗性损失:
- 公式: 1 N ∑ i = 1 N [ U ( G φ ( z i ) ) ] \frac{1}{N} \sum_{i=1}^{N} [U(G_{\varphi}(z_i))] N1∑i=1N[U(Gφ(zi))]
- 解释:对抗性损失计算了对 N 个样本的对抗性效果的平均值。
- 目标函数和总变异:
- 目标函数公式: U o b j = E x , M [ f ( M ( x τ ~ ) ) ] U_{\mathrm{obj}} = \mathbb{E}_{x, M}[f(M(x \tilde{\tau}))] Uobj=Ex,M[f(M(xτ~))]
- 总变异公式: U T V = ∑ i j ∣ τ i j − τ i + 1 , j ∣ + ∣ τ i j − τ i , j + 1 ∣ U_{\mathrm{TV}} = \sum_{ij} \left| \tau_{ij} - \tau_{i+1,j} \right| + \left| \tau_{ij} - \tau_{i,j+1} \right| UTV=∑ij∣τij−τi+1,j∣+∣τij−τi,j+1∣
- 总能量函数: U ( τ ~ ) = 1 β ( U o b j + α U T V ) U(\tilde{\tau}) = \frac{1}{\beta} (U_{\mathrm{obj}} + \alpha U_{\mathrm{TV}}) U(τ~)=β1(Uobj+αUTV)
- 解释:目标函数 U o b j U_{\mathrm{obj}} Uobj 表示生成器对图像的修改和对目标检测器的响应。总变异 U T V U_{\mathrm{TV}} UTV 负责平滑贴片。总能量函数 U ( τ ~ ) U(\tilde{\tau}) U(τ~) 结合这两部分,调整两个部分的重要性。
2.2 Toroidal-Cropping-based Expandable Generative Attack (TC-EGA) 的详细工作原理
Toroidal-Cropping-based Expandable Generative Attack (TC-EGA) 的详细工作原理,根据论文《Adversarial Texture for Fooling Person Detectors in the Physical World》,可以分为以下几个关键步骤和技术细节:
-
第一阶段 - 训练全卷积网络(FCN):
-
TC-EGA 的第一阶段涉及训练一个全卷积网络(FCN)来生成对抗性纹理。
-
FCN 的所有层都是卷积层,包括输入层,这使得网络具有平移不变性,并且可以处理不同尺寸的输入。
-
训练的详细过程:
-
训练目标:目的是训练一个生成器,它能够轻松地生成任意大小的贴片。这是通过接受一个随机的潜变量 z 作为输入来实现的。
-
全卷积网络(FCN)的使用:
- 生成器是基于全卷积网络(FCN)构建的。在这种网络中,所有层都是卷积层,包括输入潜在变量的第一层。
- 这种结构赋予了生成器平移不变性,即在不同位置生成的纹理具有一致的对抗性效果。
-
潜变量的结构:
- 潜变量是一个具有空间维度的张量,其维度表示为 B x C x H x W,其中 B 是批量大小,C 是通道数,H 和 W 分别是高度和宽度。
- 这允许生成器根据空间维度的扩展来生成不同尺寸的纹理。
-
训练过程:
- 在训练阶段,只需训练一个小型生成器。
- 潜变量 z 的高度 H 和宽度 W 不应太小,以便能够有效地生成所需空间形状的贴片。
- 训练时,使用较小尺寸的 z(形状为 B x C x H_min x W_min),并在每个训练步骤中生成相应的贴片。
- 训练完成后,可以通过调整 z 的 H 和 W(至少等于 H_min 和 W_min)来生成不同尺寸的纹理。
-
优化潜变量:
- 在第二阶段,生成器的参数被冻结,目标是通过优化潜变量来找到最有效的对抗性纹理。
这个训练过程使得生成器能够创造出在物理世界中有效欺骗人体检测系统的多尺寸对抗性纹理。
-
-
-
生成对抗性纹理:
- 训练完成的生成器能够通过采样潜变量来生成不同的纹理。
- 这些对抗性纹理被设计用于欺骗人体检测系统。
-
第二阶段 - 寻找最佳潜在表示:
-
在第二阶段,研究者搜索最佳的潜在表示,以生成最有效的对抗性纹理。
-
潜在变量的优化:
- 在训练生成器之后,它能够通过采样潜在变量来生成不同的纹理。
- 为了找到最佳的对抗性纹理,研究者提出了进一步的步骤,即在冻结生成器参数的情况下,优化潜在变量。由于纹理没有特定的形状,且潜在变量的大小需要足够大以直接产生一大块有纹理的布料,因此直接优化潜在变量是困难的。
-
环形裁剪(Toroidal Cropping, TC)技术:
- 研究者受拓扑学中环形(torus)展开的启发,引入了环形裁剪(Toroidal Cropping, TC)技术。这种技术支持上下和左右的连续延伸。
- TC 技术的目的是优化一个局部模式 z local z_{\text{local}} zlocal 作为一个单元,以便最终的潜在变量 z z z 可以通过平铺多个相同的单元来生成。
- 具体来说, z local z_{\text{local}} zlocal 可以被参数化为一个形状为 B×C×L×L 的张量,其中 L 是一个形状超参数,可以被视为拓扑学中二维环形 T 2 T^2 T2 的展开平面。
- 因此,可以以递归方式从 z local z_{\text{local}} zlocal 中裁剪出任意形状的潜在变量,这可以被视为在环形上的裁剪。这种裁剪操作被称为 Crop torus \text{Crop}_{\text{torus}} Croptorus。
通过这些步骤,研究者能够优化潜在模式,以生成有效的对抗性纹理,这些纹理能够在物理世界中有效地欺骗人体检测系统。
-
-
-
环形裁剪(Toroidal Cropping, TC)技术:
-
TC-EGA 中的关键技术是环形裁剪(TC),这一技术灵感来自于拓扑学中的环形展开,支持上下和左右延续。
-
使用 TC 技术,优化局部模式 z local z_{\text{local}} zlocal,这个模式可以被参数化为一个形状为 B×C×L×L 的张量,其中 L 是一个形状超参数。
-
通过平铺多个相同的单元,可以生成最终的潜变量 z。这样,任意形状的潜变量都可以从 z local z_{\text{local}} zlocal中以递归方式裁剪出来,类似于在环形上的裁剪。
-
具体过程:
-
潜在变量的优化:
- 在训练生成器之后,它能够通过采样潜在变量来生成不同的纹理。
- 为了找到最佳的对抗性纹理,研究者提出了进一步的步骤,即在冻结生成器参数的情况下,优化潜在变量。由于纹理没有特定的形状,且潜在变量的大小需要足够大以直接产生一大块有纹理的布料,因此直接优化潜在变量是困难的。
-
环形裁剪(Toroidal Cropping, TC)技术:
- 研究者受拓扑学中环形(torus)展开的启发,引入了环形裁剪(Toroidal Cropping, TC)技术。这种技术支持上下和左右的连续延伸。
- TC 技术的目的是优化一个局部模式 z local z_{\text{local}} zlocal 作为一个单元,以便最终的潜在变量 z z z 可以通过平铺多个相同的单元来生成。
- 具体来说, z local z_{\text{local}} zlocal 可以被参数化为一个形状为 B×C×L×L 的张量,其中 L 是一个形状超参数,可以被视为拓扑学中二维环形 T 2 T^2 T2 的展开平面。
- 因此,可以以递归方式从 z local z_{\text{local}} zlocal中裁剪出任意形状的潜在变量,这可以被视为在环形上的裁剪。这种裁剪操作被称为 Crop torus \text{Crop}_{\text{torus}} Croptorus。
通过这些步骤,研究者能够优化潜在模式,以生成有效的对抗性纹理,这些纹理能够在物理世界中有效地欺骗人体检测系统。
-
-
总而言之,TC-EGA 通过这两个阶段的工作流程,有效地创建出可以在物理世界中欺骗人体检测系统的对抗性纹理,这些纹理可以适应不同大小和形状的物体,如衣物。
2.3 Toroidal-Cropping-based Expandable Generative Attack的代码示例:
import torch
import torch.nn as nn
# 定义全卷积网络
class FCNGenerator(nn.Module):
def __init__(self):
super(FCNGenerator, self).__init__()
self.conv1 = nn.Conv2d(in_channels=3, out_channels=64, kernel_size=3, padding=1)
# 添加更多卷积层...
self.convN = nn.Conv2d(in_channels=64, out_channels=3, kernel_size=3, padding=1)
def forward(self, x):
x = self.conv1(x)
# 应用更多卷积层...
x = self.convN(x)
return x
# 环形裁剪函数
def toroidal_crop(tensor, crop_size):
"""
对输入张量进行环形裁剪。
:param tensor: 输入张量,形状为 (B, C, H, W)
:param crop_size: 裁剪尺寸,裁剪出的张量将具有形状 (B, C, crop_size, crop_size)
:return: 裁剪后的张量
"""
B, C, H, W = tensor.shape
if crop_size > H or crop_size > W:
raise ValueError("Crop size cannot be larger than tensor spatial dimensions.")
# 计算起始点
start_h = torch.randint(0, H - crop_size + 1, (1,))
start_w = torch.randint(0, W - crop_size + 1, (1,))
# 裁剪张量
cropped = tensor[:, :, start_h:start_h + crop_size, start_w:start_w + crop_size]
# 如果需要,在边界处“环形”连接
if start_h + crop_size > H:
h_remain = start_h + crop_size - H
cropped = torch.cat((cropped, tensor[:, :, :h_remain, start_w:start_w + crop_size]), dim=2)
if start_w + crop_size > W:
w_remain = start_w + crop_size - W
cropped = torch.cat((cropped, tensor[:, :, start_h:start_h + crop_size, :w_remain]), dim=3)
return cropped
# 实例化模型
generator = FCNGenerator()
# 示例:使用随机数据通过模型
random_input = torch.randn(1, 3, 64, 64) # 假设输入是随机噪声
generated_texture = generator(random_input)
# 应用环形裁剪
cropped_texture = toroidal_crop(generated_texture, 32) # 假设裁剪大小为32x32
# 注意:这里省略了训练逻辑和优化过程
3. 研究的主要贡献
论文《Adversarial Texture for Fooling Person Detectors in the Physical World》的主要发现和贡献如下:
-
Adversarial Texture(AdvTexture)的提出:
- 研究者提出了一种名为 AdvTexture 的新型对抗性纹理,用于在物理世界中欺骗人体检测系统。这种纹理可以覆盖具有任意形状的衣物,使穿着这些衣物的人能够从不同视角对人体检测器进行隐藏【119†source】。
-
Toroidal-Cropping-based Expandable Generative Attack(TC-EGA)的开发:
- 研究者开发了一种创新的生成方法,名为 Toroidal-Cropping-based Expandable Generative Attack (TC-EGA),用于制作具有重复结构的 AdvTexture。这种方法包括两个阶段:首先训练一个可扩展的生成器,然后优化潜在变量以找到最有效的对抗性纹理模式【120†source】。
- TC-EGA 使用 Toroidal Cropping(环形裁剪)技术优化局部模式 z local z_{\text{local}} zlocal,从而能够通过平铺多个相同的单元产生最终的潜在变量 z z z【118†source】。
-
物理世界中的实现和验证:
- 研究者通过将 AdvTexture 打印在大块布料上,并制作成 T 恤、裙子和连衣裙,将这种纹理实物化。实验显示,这些衣物能够在物理世界中成功地欺骗人体检测系统【119†source】。
- 在物理世界中进行的实验验证了 AdvTexture 的有效性,证明了当穿着这些衣物的人转身或改变姿势时,AdvTexture 依然能够有效地对抗人体检测系统【120†source】。
总体而言,这项研究的创新之处在于将对抗性攻击从数字领域成功扩展到物理世界,并展示了在物理环境中对抗人体检测系统的新方法。通过 AdvTexture 和 TC-EGA,研究者不仅解决了以往对抗性攻击在多视角下效果下降的问题,还在实物环境中验证了其有效性。
附录:
环形裁剪(Toroidal Cropping)技术的优势
环形裁剪(Toroidal Cropping)技术的好处主要体现在以下几个方面:
-
保持纹理连续性:环形裁剪允许在图像或纹理的边缘进行无缝裁剪,保持了纹理的连续性和一致性。这对于创建在视觉上连续无间断的纹理非常重要,特别是在需要覆盖较大面积时。
-
适应性强:该技术能够适应各种尺寸和形状的表面。通过环形裁剪,可以从一个较小的纹理样本生成足够大的纹理,覆盖不同大小和形状的物体。
-
提高对抗性效果:在对抗性攻击的上下文中,环形裁剪有助于生成在多个视角和不同条件下都有效的对抗性纹理。这是因为通过环形裁剪生成的纹理能够保持其对抗性特性,即使在物理世界中应用时发生形变。
-
优化潜在模式:环形裁剪技术使得优化过程更加高效,因为它允许从潜在空间中提取最优的纹理模式,这些模式可以被重复和扩展以覆盖更大的区域。
-
提升实用性:对于需要在实物世界中应用的对抗性纹理,如在服装上打印的纹理,环形裁剪技术提供了一种制作大面积、高效对抗性纹理的实用方法。
总体来说,环形裁剪技术提供了一种灵活且有效的方式来处理和生成纹理,特别是在需要维持纹理一致性和对抗性的应用中。