ICCV 2019 | 百度开发的对抗鲁棒的物体检测模型让性飙升
目标检测是一项重要的视觉任务,已成为许多视觉系统不可缺少的组成部分。其鲁棒性已成为实际应用中的重要性能指标。尽管最近许多研究表明,目标检测模型容易受到对抗性攻击,但很少有人致力于提高其鲁棒性。
本文首先从模型鲁棒性的角度对近年来发展起来的目标检测器和各种攻击方法进行了回顾和系统分析。然后,提出了一种多任务学习的目标检测方法,并确定了任务损失的不对称性。为了提高检测模型的鲁棒性,进一步发展了一种利用多个攻击源的对抗训练方法。在PASCAL-VOC和MS-COCO上的大量实验证明了该方法的有效性。
背景
深度学习模型在各种视觉任务中得到了广泛的应用,并取得了良好的效果。但是鲁棒性问题一直是影响深度学习模型的一个障碍。研究表明,基于深层神经网络的模型容易受到对抗性攻击,即在原始图像上存在一些被稍加修改的对抗性实例,但会导致分类器预测错误的结果有一些工作致力于提高模型的稳健性。目标检测是计算机视觉中最常见的问题之一,目前已经有许多高效、成熟的方法致力于解决这一问题。然而,最近的研究发现,目标检测器可能会受到恶意生成的输入攻击,如图1所示:
由于目标检测在视觉监控和自动驾驶等应用中起着关键作用,因此研究具有抗对抗攻击能力的目标检测器具有重要意义。
本文的主要贡献是3点:
- 对目标检测器的不同攻击进行分类分析,揭示其潜在机制;
- 重点分析不同任务损失之间的交互作用及其对鲁棒性的影响;
- 总结了从分类到检测的对抗训练框架。并提出了一种对峙训练方法,能较好地处理任务间的交互损失,提高了检测的鲁棒性。
相关工作
深层神经网络分类器容易受到对抗性攻击,模型的泛化性能下降,但已有许多相关的工作来抵抗攻击同时,近几年来,许多成功的目标探测器(包括一级和二级)也得到了发展。两级检测器通过一个或多个优化步骤优化第一阶段生成的建议框。
在这项工作中,我们关注的是单级检测器,因为它在检测器的不同变体中起着重要的作用。近年来,针对目标探测器的攻击方法不断发展。谢等人。将攻击生成方法从分类扩展到检测,证明了所设计的分类损失攻击目标检测器是可行的。Lu等人制作了一个对抗的例子,其中的例子愚弄了停车标志和人脸检测检测器。同时,针对快速rcnn等经典目标检测器,提出了一些更有效的攻击方法。除了完整图像外,还可以将攻击限制在局部区域以攻击目标检测器。
目标检测和攻击
我们将重新审视目标检测,并讨论最近发展起来的各种攻击形式之间的联系。
3.1多任务目标检测
目标检测器将该图像作为输入以,然后生成K个预测目标,每个预测目标都有一个类别,其中C表示所有类别(包括背景)和一个边界框信息nms被用作去除冗余帧的后处理过程。整个过程如图2所示。
在训练中,我们使用参数θ来描述目标检测器,然后将检测器的训练表示为θ的优化,如(1)所示。
其中x表示从数据集d采样的图像和边界框信息。我们的目标是选择合适的θ,以最小化检测器预测和数据集样本之间的损失,如等式(2)所示。
实际上,它通常被实例化为分类损失和位置损失的组合,如等式(3)所示。这个损失也属于我们提到的多任务损失。
3.2基于任务丢失的检测攻击
近年来,针对目标探测器提出了多种攻击方法。尽管这些攻击方法在形式上有许多不同,但它们的框架和设计原则与第3.1节“利用单个任务丢失或变化组合攻击目标探测器”中指出的多任务点相同。这为理解和比较对目标探测器的不同攻击提供了共同的基础。从这个角度来看,我们可以将现有的攻击方法分类为表1:
显然,有些方法使用分类损失,有些方法使用定位损失。有两种观点可以解释单个任务丢失在生成攻击时的有效性:
- i)分类任务和定位任务共享一个主干网,这意味着主干网中的弱点将在基于它的任务之间共享。
- ii)尽管分类和回归任务的输出是独立的分支,但由于它们使用nms,因此在测试阶段它们是耦合在一起的,并且它们共同使用类别分数和位置信息进行冗余预测校正。
尽管已经开发了许多攻击方法,并且在遵循一般原则的同时可能会提出新的组合和配置,但是我们还没有理解每个组件在模型稳健性中的作用。填补这一空白是我们的贡献之一,这自然导致了目标检测器的鲁棒训练方法。
对抗性鲁棒检测
4.1任务损失在稳健性中的作用
由于探测器分类和定位任务共享一个主干网,这两个任务不可避免地会相互影响。因此,我们从多个角度分析了任务丢失在模型鲁棒性中的作用。
任务损失的相互作用
我们的第一个经验观察是,不同的任务相互作用,对一个任务的对抗攻击可能会降低模型对另一个任务的性能。为了证明这一点,采用了控制变量法。例如,在考虑分类时,我们可以将定位因子边缘化,然后将问题简化为多类别任务另一方面,在只关注定位的情况下,可以将类别信息边缘化,得到类别不可知的目标检测问题。使用PGD方法的攻击测试结果如图3所示:
性能由NMS之前的测试输出来衡量,以更好地反映原始性能首先,将候选集确定为前景候选框,即必须选择iou大于真标签框0.5的框。这样可以确保每个选定的候选任务都有相对清晰的输入。对于分类,我们计算候选集的精度对于回归,我们使用真实边界框坐标来计算预测边界框的平均IOU攻击是由pgd方法生成的。从图3(a)可以看出,这两个损失相互影响。基于分类丢失的攻击会降低分类性能,降低定位性能。同样,位置丢失攻击不仅降低了定位性能,而且降低了分类性能。本质上,这可以看作是一种跨任务攻击转移。也就是说,它只用于产生对图像的分类损失,而对定位任务的攻击会降低其性能,反之亦然。这也是基于单个任务丢失生成的对抗图像能够有效攻击目标检测器的原因之一。
未对齐的任务渐变
我们的第二个经验观察是,两个任务的梯度有一定的共同方向,但没有完全对齐,导致任务梯度错位,这可能会混淆后续的对抗训练。为了说明这一点,我们分析了从这两个损失得到的图像梯度。和之间的逐点发散如图3(b)所示我们有几个观察结果:i)任务梯度大小不一样,表明两个任务损失之间可能存在不平衡。ii)任务梯度的方向不一致(非对角线),这意味着两个任务梯度之间可能存在冲突。我们进一步可视化了图4中每个任务的梯度域永远tsne。
这两个区域并没有完全分离(即它们没有折叠成两个孤立的簇),进一步加强了我们之前对它们相互作用的观察它们有一个明显的不重叠部分,这是任务梯度(任务字段)之间不一致的另一个反映。
4.2对抗性训练以提高鲁棒性
受前面分析的启发,我们提出了以下目标函数用于鲁棒目标检测训练:
其中,面向任务的域和表示每个子任务的可行域:
这里把定义为,并且在干扰预算内控制清洁图像x和生成的对抗图像z之间的空间距离我们将表示将输入投影到可行域的投影算子重要的是要注意到与传统对抗训练相比,分类的几个重要区别:
- 对抗性训练的多任务源
与仅设计一个源的分类案例中的对抗训练不同,这里我们有多个(当有多个目标时)和不同(分类和定位)的监督源用于对抗生成和训练。
- 面向任务的域约束
而不是使用任务不可知域约束,我们引入了一种面向任务的域约束,限制了可行域到一组图像,最大化分类损失或位置损失。训练的最后一个对策示例是最大化集合中总损失的例子。在任务域约束下,该公式的主要优点是可以在每个任务的指导下生成对抗性的例子,而不受它们之间的干扰。
如果放松面向任务的区域,设置与完整图像相对应的包围盒坐标,并为图像指定一个类别标签,则方程将简化为常规对抗训练设置进行分类因此,我们可以把提出的鲁棒检测对抗训练看作是传统对抗训练在分类环境下的自然延伸。但是,需要注意的是,虽然两个任务都有助于提高基于模型整体强度的预期稳健性,但是由于检测任务域不同,在生成单个对抗示例的任务之间不存在干扰整个算法过程可以概括为算法1。
结论
对于PSCAL VOC数据集,使用DAG和RAP对策测试我们对抗训练在经典的一级目标检测算法上的性能,如表4所示:
在MS-COCO数据集上也进行了测试。结果见表6:
本文的原始文本也给出了很多训练和测试相关的参数细节和反样本生成的细节,以及一些其他的攻击测试实验,所以这里就不详细了。如果你有兴趣,请去原始结论部分找到它。在voc和coco数据集上的实验结果表明,该方法提高了目标检测算法的鲁棒性,对监控场景和无人驾驶领域的视觉任务具有重要意义。
特别是,我们在图9中给出了一些挑战我们当前模型的例子:
对于标准检测器来说,具有挑战性的小目标图像仍然是鲁棒检测器难以检测的一类例子。为了应对这一挑战,可能需要更好的探测器结构另一个挑战是令人困惑的外观,这自然导致低信心的预测。这与探测器的分类行为有关,可以从分类的进展中获益。同时,在某些情况下,预测是不准确的或完全错误的,这表明在训练鲁棒检测器方面仍然存在挑战。
总之,我们提出了一种改进的鲁棒目标检测器来抵抗攻击从目标检测的多任务角度出发,系统地分析了目标检测器的现有攻击方法以及各任务组件对模型鲁棒性的影响。在此基础上,提出了一种鲁棒的目标检测对抗训练方法。在PASCAL-VOC和MS-COCO数据集上进行了广泛的实验实验结果表明,与标准模型相比,该方法对不同的攻击、数据集、检测骨干网和体系结构具有较强的鲁棒性。性影响。
这项工作是朝着高度对抗性的探测器训练迈出的第一步,并取得了有希望的结果。在这方面需要作出更多的努力,以应对剩余的挑战目标检测的新进展可用于进一步改善模型性能,例如,更好的损失函数可以近似真实目标,以及用于解决小目标的不同架构。此外,作为目标检测的组成部分,分类任务中的任何进展也可以使用。在清晰图像上检测目标的准确性和鲁棒性也需要权衡。此外,将目标检测作为多任务学习的一个例子,也可以作为提高其他多任务学习问题鲁棒性的一个例子。
相关论文源码下载地址:关注“图像算法”微信公众号 回复“百度”