识别|避免自动驾驶事故,CV领域如何检测物理攻击?(15)


作者表示 , 适合本文目标的方法是 Grad-CAM[9] , 这是一种模型解释技术 , 可以识别输入的连续空间区域 , 而不需要对原始模型进行修改 。 Grad-CAM 使用网络最后几层计算得到的梯度来计算输入区域的显著性 。 对于类别 c , Grad-CAM 计算模型输出 y^c 相对于模型最终汇聚层的 k 个特征图 A^k 的梯度(模型对类别 c 的 logit 得分) , 以得到(δ y^c)/(δ A^k) 。 每个过滤图的平均梯度值 , 或 "神经元重要性权重" 记作:
识别|避免自动驾驶事故,CV领域如何检测物理攻击?
文章图片

最后 , 按神经元的重要性加权处理特征图 A^k , 并汇总以得到最终的 Grad-CAM 输出:
识别|避免自动驾驶事故,CV领域如何检测物理攻击?
文章图片

Grad-CAM 的输出是图像正向重要性的一个粗略热图 , 由于模型的卷积层和池化层的下采样处理 , 其分辨率通常比输入图像低 。 最后 , 通过对热图进行二值化处理 , 以最大强度的 15% 为阈值生成掩模 。 作者使用这个掩模来分割 salient 区域 , 以便进行下一步的工作 。
精确的掩模生成 。 尽管 Grad-CAM 可以成功地识别与对抗性目标相对应的鉴别性输入区域 , 但它也可能识别良性的 salient 区域 。 图 11 给出了一个说明性示例 , Grad-CAM 为一个人脸识别网络生成的热图既覆盖了木马的触发补丁 , 也覆盖了原始的人脸区域 。 为了提高掩模准确性 , 作者提出需要对输入图像的选定区域进行额外预测 。 然后 , 对于每个预测 , 使用 Grad-CAM 来提取一个与预测最相关的输入区域的掩模 。 最后 , 结合这些额外的掩模来完善初始预测 y 的掩模 。
识别|避免自动驾驶事故,CV领域如何检测物理攻击?
文章图片

图 11. 上一行:使用渐变 CAM 生成掩模 。 左图显示了与目标 “0” 类别相关的 Grad-CAM 热图 , 右图显示了覆盖了物理攻击以外区域的提取掩模 。 下一行:左图是相对于目标 “0” 类别的 Grad-CAM 热图 , 该行中间的图是对应于给定类别的 Grad-CAM
一旦得到了图片中可能存在的类别列表 , 我们就会划出与每个预测类别更相关的区域 x 。 为简单起见 , 作者假设每个输入只能包含一个恶意对象 。 Algorithm 2 给出了从 x 中提取输入区域的过程 。
识别|避免自动驾驶事故,CV领域如何检测物理攻击?
文章图片

首先 , 使用 Grad-CAM 对输入的 x 和预测的 y 提取掩模 , 同时还为每一个建议的类别 y_p 提取一个掩模 。 在其他的建议类别上执行 Grad-CAM , 可以让我们在对抗性攻击之外找到图像的重要区域 。 此外 , 由于对抗性区域通常与非目标类别呈负相关性 , 热图主动避免突出图像的对抗性区域 。 我们可以使用这些热图来生成二级掩模 , 通过减去掩模重叠的区域来改进原始掩模 。 这能够保证掩模只突出局部攻击 , 而不会突出图像中的其他 salient 区域 。 由图 11 我们可以看到使用这种方法生成了一个更精确的掩模 , 其中只包含了大部分对抗性区域 。

推荐阅读