【论文阅读】自动驾驶中车道检测系统的物理后门攻击
文章目录
- Abstract
- 1.Introduction
- 2.Background
- 2.1.DNN-based Lane Detection
- 2.2.Backdoor Attacks
- 2.3.Threat Model
- 2.4.Image Scaling
- 3.Methodology
- 3.1.Physical Trigger Design
- 3.2.Poison-Annotation Attack
- 3.3.Clean-Annotation Attack
- 4.Evaluation
- 4.1.Poison-Annotation Attack
- 4.2.Clean-Annotation Attack
- 4.3.Real-world Evaluation
- 4.4.Bypassing Existing Defenses
论文题目: Physical Backdoor Attacks to Lane Detection Systems in Autonomous Driving(自动驾驶中车道检测系统的物理后门攻击)
发表年份: 2022-MM(ACM International Conference on Multimedia, CCF-A)
作者信息: Xingshuo Han(南洋理工大学), Guowen Xu(南洋理工大学), Yuan Zhou*(南洋理工大学), Xuehuan Yang(南洋理工大学), Jiwei Li(南洋理工大学), Tianwei Zhang(南洋理工大学)
备注: 一篇关于Lane Detection 攻击的文献
Abstract
现代自动驾驶汽车采用最先进的DNN模型来解释传感器数据和感知环境。然而,DNN模型容易受到不同类型的对抗攻击,对车辆和乘客的安全构成重大风险。一个突出的威胁是后门攻击,敌手可以通过毒害训练样本来破坏DNN模型。尽管对传统计算机视觉任务的后门攻击进行了大量的研究,但其在自动驾驶场景中的实用性和适用性还很少探索,尤其是在物理世界中。
本文的目标是车道检测系统,它是许多自动驾驶任务不可或缺的模块,如导航、车道切换。设计并实现了针对该系统的第一次物理后门攻击。我们的攻击对不同类型的车道线检测算法都是有效的。引入了两种攻击方法(poison-annotation和clean-annotation)来生成中毒样本。使用这些样本,训练好的车道检测模型会被后门感染,并可能被常见物体(如交通锥)激活,从而做出错误的检测,导致车辆驶离道路或驶入对面车道。对公开数据集和物理自动驾驶汽车的广泛评估表明,所提出的后门攻击是有效的、隐形的和鲁棒的,可以抵抗各种防御解决方案。我们的代码和实验视频可以在 https://sites.google.com/view/lane-detection-attack/lda 上找到。
1.Introduction
深度学习技术的快速发展,提高了自动驾驶汽车的感知能力,使其能够理解环境并做出智能行动。车辆从传感器收集多种类型的数据,并使用DNN模型来完成不同的功能。车道线检测是一个重要的功能,旨在从摄像头拍摄的图像或视频中识别出交通车道线。该功能对于自动驾驶的车道跟随、变道和超车至关重要。近年来,大量基于深度学习的算法和方法被引入,显著提高了检测精度和实时性[17,22,24,31,35,36,46,47,67]。
不幸的是,过去的研究表明,深度神经网络模型不是鲁棒的,很容易被恶意实体欺骗。一个臭名昭著的威胁是DNN后门[12,13,32,57]。攻击者通过毒害训练集在受害者模型中嵌入一个秘密后门。这个后门在正常输入推断样本中保持休眠状态。它会被恶意样本激活,这些样本包含一个针对对手的触发器,误导受感染的模型给出错误的预测。研究人员提出了各种针对计算机视觉[3,21,27,33,34,54,58],自然语言处理[5,10,44,60],强化学习[25,53,65]等DNN模型的新攻击。然而,没有研究调查后门机会对车道检测系统。
本文旨在通过设计和实现物理世界中车道检测DNN模型的第一个实际后门攻击来弥合这一差距。实现这一目标有几个挑战。首先,现有的工作主要集中在数字世界中的后门攻击,攻击者可以任意操纵输入样本来添加触发器(例如,改变图像中的一个像素块)。由于数字世界和物理世界之间的语义差距,很难利用这些技术来攻击现实生活中的应用程序。一些作品随后在现实世界中实施物理后门攻击[6,26,40,55,64]。然而,这些方法主要针对的是人脸分类模型。与之不同的是,车道检测模型不能预测标签,这增加了有毒样本生成的难度。此外,攻击人脸分类模型所使用的物理触发器,由于两种场景的语义差异,无法应用于车道检测。物理触发器需要仔细地重新设计。
笔记: 1.现有的工作集中在数字世界的后门攻击;2.由于数字世界和物理世界存在差距,很难用这些技术来攻击现实生活中的应用程序;3.一些工作随后在现实世界中实施物理的后门攻击;4.然而这些方法主要是针对人脸分类模型的,车道检测模型不适用。
其次,为了使后门更具隐蔽性,过去的工作提出了针对分类模型的清洁标签攻击(clean-label attacks),其中中毒样本仍然具有正确的标签,从而使模型妥协[43,66]。这是通过添加对抗性扰动来改变这些中毒样本的类别来实现的。由于车道检测模型不能预测类别,因此很难利用这些解决方案来生成视觉上正常的中毒样本。
第三,现有后门攻击在毒害数据样本时只针对特定的深度学习算法(如分类)。然而,这并不适用于车道检测场景,它可以使用不同的算法来训练模型,例如基于分割的[35]或基于锚点的[46]方法。生成统一的中毒样本是一项具有挑战性的工作,它可以攻击任何车道检测模型,而不管其算法如何。
笔记: 现有的backdoor attack在毒害数据样本时只针对特定的深度学习算法,比如分类算法。而车道检测场景中可以使用不同的算法(如:基于分割的车道检测、基于锚点的车道检测)来训练模型,因此生成统一的中毒样本(poisoned samples)是一项挑战性的工作。
我们提出的攻击可以通过一些创新来解决上述挑战。首先,我们提出了自动驾驶环境下语义触发器的新设计。在研究了一些主流的交通数据集后,我们选择了一组具有特定形状和位置的两个交通锥作为触发后门的触发器(trigger)。这个触发器在道路环境中看起来很自然,很难被注意到。同时,它也足够独特,不会影响自动驾驶的正常情况。其次,我们引入了两种新的方法来毒化训练样本和操纵注释以实现后门嵌入。(1)Poison-annotation攻击:攻击者可以通过故意用触发器错误注释样本来制作有毒样本。(2) Clean-annotation攻击:该技术利用图像缩放漏洞[56]来隐藏恶意样本的异常。具体来说,我们创建了有毒的样本,它在视觉上与干净的样本相似,具有正确的注释,没有触发器。经过图像缩放后,这些样本会给出错误的车道边界和一个触发点,成为后门嵌入的有效手段。这两种方法都是算法无关的:毒害数据集不需要了解所采用的算法,结果表明:中毒样本对不同模型和算法都是有效的。这大大增强了攻击的威力和适用性。
笔记: 1.创建有毒样本(视觉上与干净样本类似,具有正确的annotation,没有触发器);2.经过图像缩放后,这些样本会给出错误的车道边界和一个触发点,成为后门嵌入的有效手段。
我们对四种现代车道检测模型实施后门攻击。在公共数据集上的评估表明,我们的攻击在注入不到3%的中毒数据的情况下,可以达到96%左右的成功率。使用两辆无人车(图1(a))在物理环境中运行现成的自动驾驶软件系统,进一步验证了攻击的有效性和鲁棒性。如图1(b)所示,妥协模型使得车辆行驶过车道,最终撞上路边的灌木丛。这表明了所提出攻击的严重性和实用性,在设计鲁棒的自动驾驶模型时,也应该仔细考虑这种新的攻击向量。
图片说明: 图1展示了本文的测试平台和测试结果:图(a)为搭载了Leopard摄像头的百度Apollo D-Kit自动驾驶车辆;图(b)为搭载了RealSense D435i摄像头的韦斯顿无人地面车辆;图(c)为两种物理攻击的效果。其中左图的图片是原始图片和真实道路(Ground True)的边界;中间的图片为在poison-annotation攻击下的错误检测结果;右图为在clean-annotation攻击下的错误检测结果。
总而言之,我们做出了以下贡献:
- 设计了第一个针对自动驾驶中车道检测系统的后门攻击。
- 实现了第一次对非分类模型的物理后门攻击。algorithm-agnostic攻击。
- 提出了第一个物理干净注释后门攻击(physical clean-annotation backdoor attack)。
- 对数据集和物理自动驾驶汽车进行了广泛的评估,以证明攻击的重要性。
2.Background
2.1.DNN-based Lane Detection
重点研究了基于DNN的 端到端 车道检测系统,将其作为后门攻击的受害者。这是一个重要功能在现代自动车辆,基于图像识别的车道是由前面的摄像头捕捉到的。为了达到较高的精度和效率,人们提出了不同类别的检测方法,总结如下。
- 基于分割的方法(Segmentation-based methods)[35]:这些是最流行的车道检测技术,在不同的车道检测挑战中具有显著的性能。它们将车道检测视为一项分割任务,并估计每个像素是否在车道边界上。它们已经在许多自动驾驶汽车产品中商业化,如百度阿波罗[2]。
- 按行分类的方法(Row-wise classification methods)[17, 36]:这些解决方案使用多类分类算法来预测每一行的车道位置,并确定最可能包含车道边界标记的位置。它们可以减少计算成本,但只能检测固定车道(注意该方案的局限性)。
- 基于多项式的方法(Polynomial-based methods)[47]:这些轻量级方法通过深度多项式回归生成多项式来表示车道边界。它们可以满足实时性要求,但精度有一定的下降。这种算法已经部署在OpenPilot中[8]。
- 基于锚点的方法(Anchor-based methods)[46]。这些解决方案利用物体检测模型(例如,Faster R-CNN)和车道边界形状的领域知识来预测车道。它们可以达到与基于分割的方法相当的性能。
过去的工作证明了这些车道检测模型在对抗示例中的脆弱性[23,42]。在本文中,我们表明它们也容易受到后门攻击。我们的攻击目标是生成一个有毒的数据集,这样任何从它训练的车道检测模型都会被后门感染,无论检测方法如何。(与检测方法无关,换句话说什么样的检测方法都无法逃离出这个攻击)
2.2.Backdoor Attacks
在后门攻击中,攻击者试图破坏受害者DNN模型,该模型可以对正常样本保持正确的预测,但错误预测任何包含特定触发器的输入样本[32]。最常见的攻击方法是毒害一小部分训练样本,在训练[6]时将后门嵌入到模型中。 多年来,人们提出了大量增强[28]攻击效果、隐蔽性和应用范围的方法,如隐形[27]、语义[3]、反射[33]和复合[29]后门攻击。
- 物理后门攻击(Physical backdoor attacks): 与数字攻击相比,针对物理后门攻击的研究相对较少。大多数研究都是针对现实世界中的人脸分类模型[6,26,40,55,64]。然而,目前还没有针对非分类模型的物理后门攻击的研究。我们的目标是通过瞄准车道检测系统来填补这一空白。
- 后门防御(Backdoor defenses): 除了后门攻击,各种防御方案也被提出。他们通常可以分为三个类别。(1)后门移除。这些防御措施旨在消除受攻击模型中的后门。例如,提出了[30]模型剪枝技术,该技术扩展了模型剪枝技术,根据神经元的平均激活值对其进行剪枝。(2)触发重构。这些方法旨在检测模型是否包含后门并重构触发器。一个典型的例子是神经净化[52],它优化每个类的触发器,然后计算异常指数,以确定模型是否被妥协。(3)异常样本检测。这种类型的解决方案试图识别推断样本是否包含触发器。STRIP[11]将一些干净的图像分别叠加在目标图像上,并将它们输入模型进行预测。预测结果的小随机性表明,后门被图像激活的概率较高。我们设计的后门攻击是稳健的,并且对不同类型的防御方法免疫,如4.4节所示。
2.3.Threat Model
自动驾驶开发人员通常采用第三方标注服务对其数据样本进行标注[20]。因此,恶意数据供应商或标注服务提供商很容易对数据集进行毒化,从而导致后门攻击。情报高级研究项目活动(IARPA)组织已经强调了这种威胁,以及保护自动驾驶系统免受后门攻击的重要性[19]。
根据这种后门威胁模型,我们假设攻击者只能将一小部分恶意样本注入到训练集中。我们将设计一个干净注释攻击,在没有任何触发器的情况下,中毒样本在视觉上看起来像正常样本,并且被正确注释,使中毒更加隐蔽。
对手无法控制模型训练过程。更重要的是,我们考虑了与算法无关的要求:对手不知道受害者将用于训练车道检测模型的算法。以往的工作很少考虑这一要求,通常假设敌手知道模型体系结构族、算法或至少知道任务。
对手的目标是误导模型错误地识别道路上的物理触发器的交通车道边界,例如,将左转车道识别为右转车道。在自动驾驶环境中,这可能会导致严重的安全问题,车辆可能会驶离道路或与对面车道上的车辆发生碰撞。
2.4.Image Scaling
图像缩放是预处理深度神经网络模型的标准步骤。它将原始的大图像重新缩放到统一的大小,用于模型训练和评估。主流计算机视觉库(如OpenCV[4]、Pillow[7])提供了多种图像缩放函数,如表1所示。
最先进的车道检测模型也采用这些缩放函数对推理图像进行预处理。 我们研究了TuSimple Challenge中的所有21个开源车道检测模型[51],并发现大多数模型使用表11中的两个常见缩放函数(双线性和双立方)。采用图像缩放函数可以为攻击者引入新的攻击向量来欺骗模型[56]。在本文中,我们还利用这个机会设计了一种新的干净注释攻击(第3.3节)。
3.Methodology
3.1.Physical Trigger Design
现有的数字后门攻击通常利用像素作为触发器,这在物理世界中很难实现。采用实物作为激活后门的触发器更为合理。 然而,在车道检测场景中,选择一个合格的物理对象是一件非常重要的事情。一方面,它必须在道路环境中看起来很自然。另一方面,它必须是唯一的,并且在正常情况下发生的概率非常低。
我们选择一组两个交通锥作为触发器,如图2所示。交通锥在道路上非常常见,不会被模型开发人员在模型训练期间或在运行车辆中的乘客视为恶意。为了保证该触发器的唯一性,我们指定了它的形状和位置。在形状上,两个锥体放置得很近,一个直立,另一个倒下。对于位置,我们将两个锥体放在靠近边界的相邻车道上。
两个交通锥只有同时满足形状和位置要求时才能激活后门。我们在常用的交通数据集中检查了正常路况,没有发现这样的触发模式。攻击者可以用其他选择来设计他们的触发器,例如,使用更多不同姿势和位置的锥体。
为了毒害训练集,攻击者首先从原始数据集中选择一小部分正常图像。然后,他将物理触发器插入到这些选定图像的所需位置【理解:我个人理解的就是P上去的】
。对于每张图像,他需要根据相机配置调整触发器的大小和相对距离。为了攻击后门模型,攻击者可以简单地按照设计在道路上放置两个实际的交通锥。然后车道检测模型中的后门将在车辆与锥体保持一定距离时被激活【注意看激活的方式,是椎体和车辆在一定距离时被激活】
。
我们为攻击者提供了两种方法来操纵触发样本的注释,如下所述。
3.2.Poison-Annotation Attack
我们的第一种技术是注释投毒攻击,攻击者故意错误地注释包含触发器的有毒图像【理解:车道线检测的图片不修改,修改车道线图片对应的annotation文件(注释文件)】
。如图3所示,对手可以将车道边界修改为错误的方向。从这些有毒的样本中学习,模型将指示车辆越过实际边界,驶入左侧车道,这是对手想要的结果。
3.3.Clean-Annotation Attack
带有错误注释的有毒数据可能会被人类识别出来。因此,上述攻击只有在模型开发人员不具备手动检查训练样本的能力(例如,训练集太大)时才有效。为了进一步隐藏这些样本,我们提出了一种新的清洁注释(Clean-Annotation Attack)技术,其中对有毒图像进行正确注释(即,车道边界在视觉上与注释相匹配)。
过去的研究已经引入了针对分类模型的干净标签后门攻击[43,66]。然而,我们发现它们与我们的车道检测场景不兼容,因为它们在中毒样本上添加了不可察觉的扰动来改变其预测的类别,这在非分类任务中不存在。相反,我们利用图像缩放漏洞来实现清洁注释攻击。图像缩放是所有深度神经网络模型数据预处理中不可缺少的技术。然而,[56]发现这一过程产生了新的对抗性攻击:攻击者可以不被察觉地修改原始图像,将其降尺度后成为期望的对抗性图像。[39]进一步采用该技术实现了分类模型的干净标签后门攻击。受此漏洞的启发,我们的clean-annotation攻击用难以察觉的扰动修改了中毒样本,这些样本仍然具有正确的注释。在模型训练过程中,经过图像缩放处理后,这些样本会被错误标注,从而可以将想要的后门嵌入到模型中。图4展示了我们提出的攻击的概述。
我们假设目标车道检测模型 M M M 采用图像缩放函数scale(见表1)。我们的目标是从一个干净的样本 s 0 s_0 s0 中生成有毒样本 s 0 ∗ s_0^* s0∗, s 0 ∗ s_0^* s0∗ 从视觉上与 s 0 s_0 s0 难以区分。然而,使用图像缩放之后, s c a l e ( s 0 ∗ ) scale(s_0^*) scale(s0∗) 就变成了恶意的样本了。需要注意的是,与现有依赖显式标签的图像缩放攻击不同[39,56],我们的车道检测场景中没有目标标签,我们的攻击目标是误导车辆尽可能偏离原始方向。因此,我们的策略是给 s c a l e ( s 0 ∗ ) scale(s_0^*) scale(s0∗) 和 s 0 ∗ s_0^* s0∗ 完全不同的车道。为了实现这一点,我们找到另一个干净的示例 s 1 s_1 s1,其注释指向相反的方向。具体来说 G T ( s 0 ) GT(s_0) GT(s0) 是一个右转弯,而 G T ( s 1 ) GT(s_1) GT(s1) 则是一个左转弯(如图4)。然后,我们根据公式1将触发器添加到 s 1 s_1 s1 中得到带触发器的样本 s 1 t s_1^t s1t。我们的目标是从 s 0 s_0 s0中找到一个扰动样本 s 0 ∗ s_0^* s0∗,在使用图像缩放之后变成 s 1 t s_1^t s1t,这可以通过以下目标来解决:
理解:
目标:从干净样本 s 0 s_0 s0中找到一个扰动的样本 s 0 ∗ s_0^* s0∗,中毒的样本 s 0 ∗ s_0^* s0∗使用图像缩放函数之后变成恶意样本了。
s 0 s_0 s0是干净数据,是右转弯; s 1 s_1 s1是干净数据,是左转弯; s 1 t s_1^t s1t 是带触发器的样本。
arg min s 0 ∗ ( ∥ s 0 ∗ − s 0 ∥ 2 + ∥ scale ( s 0 ∗ ) − s 1 t ∥ 2 ) \arg \min _{s_{0}^{*}}\left(\left\|s_{0}^{*}-s_{0}\right\|_{2}+\left\|\operatorname{scale}\left(s_{0}^{*}\right)-s_{1}^{t}\right\|_{2}\right) args0∗min(∥s0∗−s0∥2+ scale(s0∗)−s1t 2)
如图4所示,要在推理期间激活后门,攻击者只需将物理触发器放在指定位置即可。带有触发器的输入图像(例如,左转车道)也将经过缩放函数,该函数不会改变内容,但会改变大小。然后,后门模型将识别触发器并给出错误的预测(例如,右转),这可能导致严重的安全问题。
- 讨论: 值得注意的是,为了求解方程3,攻击者需要知道受害者模型中的缩放函数。这在我们的威胁模型下不难实现:如表1所示,用于图像缩放的常用候选函数数量有限。攻击者可以为每个函数生成相应的有毒样本,并将它们全部插入到训练集中。至少有一些样本将有助于后门嵌入,这些样本是由匹配的缩放函数精心制作的,而其他样本对攻击有效性或模型性能没有影响。还有一点是,在训练阶段,经过图像缩放函数后标注会中毒,防御者有可能通过检查缩放后的图像来手动识别中毒样本。然而,通常将图像缩放和ML模型训练集成为一个流水线,这与所有现有的最先进的车道边界检测方法一致[1]。对于数据标注服务提供者来说,在现实中检查原始数据比检查训练管道中的中间结果更实用。因此,我们提出的攻击比毒药注释攻击更隐蔽。
4.Evaluation
- 模型和数据集: 我们进行了大量的实验来验证我们针对最先进的车道检测模型的后门攻击的有效性。对于不同类型的车道检测算法,我们的攻击是强大而通用的。在不失一般性的前提下,我们从不同的类别中选择了四种具有代表性的方法:
- SCNN[35] 是一种基于分割的方法,它使用顺序消息传递方案来理解交通场景。该模型的输入图像尺寸为512 × 288。OpenCV默认的图像缩放函数是Bicubic。
- LaneATT[46] 是一种基于锚点的方法,采用关注机制聚合全局信息进行车道检测。其输入大小为640×360。他们还使用OpenCV中的Bicubic函数来调整输入图像的大小。
- UltraFast[36] 是一种基于分类的方法,它使用基于行的选择来实现快速通道检测。输入大小为800 × 288。输入图像通过Pillow中的Bilinear函数进行预处理。
- PolyLaneNet[47] 是一种基于多项式的方法,它利用深度多项式回归来输出表示每个车道标记的多项式。每个输入图像在OpenCV中被Bicubic缩放到320 × 180的大小。
我们采用 Tusimple Challenge数据集[51] 来生成中毒训练集。它包含6408个视频片段,每个视频片段由20帧组成,只有最后一帧被注释。因此,它有3626张用于训练的图像,410张用于验证的图像和2782张用于测试的图像。我们所有的实验都是在一台配备了11G内存的NVIDIA GeForce 2080Ti GPU的服务器上进行的。
- 指标: 在基于分类的任务中,后门攻击的性能通常通过基于分类准确率计算的Benign Accuracy (BA)和Attack Success Rate (ASR)来衡量[14,28]。用BA和ASR分别衡量后门模型对干净数据的准确率和对触发数据的误分类率。然而,这些指标可能不适合评估后门攻击在车道检测任务中的性能,其中一个图像的模型输出是一组连续点。虽然我们可以通过计算输出点集与地面真值的交集来计算ASR[51],但这并不能无偏地反映实际攻击效果(即两个相同的ASR可能表现出非常不同的实际攻击效果)。因此,我们建议使用旋转角度作为量化攻击性能的新指标。
这个度量被定义为地面真实值和预测运动方向之间的夹角。如表5所示,假设 P s P_s Ps 是当前车辆的位置, P g P_g Pg 和 P t P_t Pt 是分别为当前输入帧中车辆的真实目的地和预测目的地( P g P_g Pg 是真实目的地, P t P_t Pt 是预测的目的地)。需要注意的是: P g P_g Pg 和 P t P_t Pt 分别定义为真实值和预测值中对应的两个车道边界端点的中心。因此,旋转角度定义为 α \alpha α, 计算公式如下:
α = arccos P s P g → ⋅ P s P t → ∥ P s P g → ∥ 2 ∥ P s P t → ∥ 2 \alpha=\arccos \frac{\overrightarrow{P_{s} P_{g}} \cdot \overrightarrow{P_{s} P_{t}}}{\left\|\overrightarrow{P_{s} P_{g}}\right\|_{2}\left\|\overrightarrow{P_{s} P_{t}}\right\|_{2}} α=arccos PsPg 2 PsPt 2PsPg⋅PsPt
给定这样一个度量,一个合格的攻击方法应该使旋转角 α \alpha α 在干净样本下趋于零,而面对后门攻击情况下(旋转角 α \alpha α )而尽可能大。
4.1.Poison-Annotation Attack
- 配置: 我们从中毒训练集中随机选择不同数量的图像(即0,20,40,60,80和100)。我们将物理触发器注入到每个图像并操作其车道注释。然后用中毒集训练不同算法的车道检测模型。对于每个算法,我们采用其默认配置(例如,网络架构,超参数)。每个模型在两组上进行评估,一组包含50张干净的图像,另一组包含50张相应的触发图像。
- 结果: 图6显示了在TuSimple数据集上使用不同后门模型进行车道检测的示例。我们观察到,由于物理触发器的存在,4个后门模型检测到的车道与ground-truth注释发生了变化,旋转角度 α \alpha α 分别为39◦,35◦,33◦,31◦。因此,检测结果将导致车辆向左换到另一条车道。更多不同算法和配置的可视化结果可以在附录中找到。
为了定量显示攻击效果,表2给出了不同后门模型在不同投毒比下,在干净样本上的平均旋转角 α \alpha α 。从表中可以看出,在干净样本上,poison-annotation攻击对预测性能的影响并不显著。表3显示了4种不同后门模型在中毒图像上的平均旋转角度。从表3可以看出,与良性模型相比,在有毒图像上,后门模型的旋转角度明显增加。结果表明,该触发器可以有效地激活后门,从而导致模型对车道边界的错误检测,并预测出错误的目的地位置。中毒比越大,角度旋转越大。我们还观察到,SCNN、LaneATT和PolyLaneNet算法最容易受到我们的毒物注释攻击。三种后门型号的平均旋转角度分别为23.1、25.7、24.0。相比之下,UltraFast的攻击效能较低,旋转角度为18.5◦,但仍能有效影响驾驶方向,有可能引发车祸。
4.2.Clean-Annotation Attack
- 配置: 我们考虑两种攻击目标:(1)L2R:左转弯车道被识别为右转弯车道;(2) R2L:右转弯车道被认定为左转弯车道。对于这两种攻击,我们都手动从训练集中选择100张左转弯和100张右转弯的图像,生成相应的干净注释的有毒图像来替换原始图像。 每个模型在两个测试集上进行评估,一个包含50个干净图像,另一个包含相应的50个触发图像。
- 结果: 图7分别展示了四种模型在L2R和R2L攻击下的车道检测结果示例。我们可以观察到导致后门模型检测出错误方向车道的触发因素的存在。
为了进行定量评价,表4显示了良性和后门模型相对于干净样本的平均旋转角度。我们可以发现,在良性模型和后门模型之间,平均旋转角度没有明显变化。因此,后门模型不会降低对干净数据的检测性能。表5显示了四个后门模型在触发样本上的平均旋转角度。对于有毒注释攻击,我们得出了相同的结论,即后门模型比良性模型产生更大的偏差。我们还观察到对SCNN和UltraFast的清洁注释攻击具有更大的旋转角度。同样,这样的角度可以清楚地表明驾驶方向的转变。我们已经检查了所有的测试图像,并确认了大多数样本的攻击有效性。这表明干净标注攻击是一种有效的攻击方法。基于以上结果,我们也可以得出结论,我们的旋转角度度量可以用来评估后门攻击在车道检测任务中的性能。它可以显著区分攻击预测和正常结果。
4.3.Real-world Evaluation
为了证明我们后门攻击的实用性,我们对搭载RealSense D435i摄像头的Weston UGV(图1 (a))和搭载Leopard摄像头的Baidu Apollo vehicle(图1 (b))的攻击进行了评估,并在真实道路上进行了测试。
- 不同的模型: 图8显示了四种模型在poison-annotation攻击下的真实道路预测结果。实验结果也证明了我们的毒注释攻击在现实世界中是有效和实用的。图9显示了在物理世界中使用不同设置的clean-annotation攻击下模型的可视化结果。我们可以观察到,在不同的触发器和相机距离下,攻击可以有效地破坏模型。
- 不同的场景和测试平台: 我们还在不同的场景和测试平台(阿波罗和UGV)下进行攻击。我们选择了一个停车场和一个普通的道路区域作为我们的实验场地。图10显示了结果,表明在真实的车道检测场景中,clean-annotation攻击成功了。由于物理触发,UGV将右转识别为左转。然后左转,撞上路边的树。 使用不同测试平台的两种攻击的演示视频可以在 https://sites.google.com/view/lane-detection-attack/lda 上找到。总之,实际实验表明,我们的攻击具有较高的泛化、有效性和实用性。
4.4.Bypassing Existing Defenses
我们的攻击是隐蔽的,可以避开最先进的后门防御系统。为了验证这一点,我们考虑并评估了不同类型的流行解决方案。各种防御是专门为分类任务设计的。例如,Neural cleanup[52]要求防御者指定后门扫描的目标类。STRIP[11]检查与干净样本叠加的触发样本的预测类别。由于车道检测模型没有类,这些解决方案不适用于我们的攻击。相反,我们评估另外两种常见的防御策略。
- Fine-Pruning[30]: 这种方法通过模型修剪和微调来消除后门。它首先对平均激活值较小的神经元进行剪枝,然后对剪枝后的模型进行微调。在附录中,我们展示了我们的clean-annotation攻击对SCNN的防御效果。我们观察到,当我们修剪少量神经元时,后门模型对恶意触发的样本仍然有效。当更多的神经元被修剪时,无论是对于干净的样本还是触发的样本,模型的性能都会显著下降。因此,微调并不能去除我们的后门。在附录中给出了关于毒物注释攻击的类似结论。
- 中值滤波[38](Median Filtering): 该方法利用中值滤波器来挫败图像缩放对抗性攻击。它试图重建图像并去除潜在的敌对噪声。我们将此技术应用于清洁注释攻击。附录中的图11显示了一个防御示例,包括干净的、触发的和恢复的映像。我们观察到,恢复后的图像仍然不同于干净的图像,并且仍然是激活后门的物理触发器。
相关文章:

【论文阅读】自动驾驶中车道检测系统的物理后门攻击
文章目录 Abstract1.Introduction2.Background2.1.DNN-based Lane Detection2.2.Backdoor Attacks2.3.Threat Model2.4.Image Scaling 3.Methodology3.1.Physical Trigger Design3.2.Poison-Annotation Attack3.3.Clean-Annotation Attack 4.Evaluation4.1.Poison-Annotation A…...

ArrayList、LinkedList、Collections.singletonList、Arrays.asList与ImmutableList.of
文章目录 ListArrayListLinkedListArrayList与LinkedList的区别快速构建list集合Collections.singletonListArrays.asListImmutableList.of Java集合类型有三种:set(集)、list(列表)和map(映射),而List集合是很常用的一种集合类型, List 我…...

恒运资本:沪指涨逾1%,金融、地产等板块走强,北向资金净买入超60亿元
4日早盘,两市股指盘中强势上扬,沪指、深成指涨超1%,上证50指数涨近2%;两市半日成交约5500亿元,北向资金大举流入,半日净买入超60亿元。 截至午间收盘,沪指涨1.12%报3168.38点,深成指…...

解决WebSocket通信:前端拿不到最后一条数据的问题
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...
【java】[maven]每次创建一个maven模块时java compiler版本就是1.6与实际版本不一致(解决本质问题)
目录 方案一: 我没有使用 方案二:修改maven配置文件 前言:每次创建一个maven模块时java compiler版本就是1.6与实际版本不一致 使用的使用maven3.9.1 jdk17,但是每次创建一个maven模块都是会影响之前的模块。网上都是修改pom.xm…...

GPT-5继续秘密训练中!ChatGPT开学大礼包
🦉 AI新闻 🚀 GPT-5继续秘密训练中!DeepMind联合创始人披露了未来模型的规模增长 摘要:DeepMind联合创始人在采访中透露,OpenAI正在秘密训练GPT-5,未来3年,Inflection模型将比现在的GPT-4大10…...

3.2.0 终极预告!云原生支持新增 Spark on k8S 支持
视频贡献者 | 王维饶 视频制作者 | 聂同学 编辑整理 | Debra Chen Apache DolphinScheduler 3.2.0 版本将发布,为了让大家提前了解到此版本更新的主要内容,我们已经制作了几期视频和内容做了大致介绍,包括《重磅预告!Apache Dol…...

Flutter状态管理 — 探索Flutter中的状态
前言 随着响应式编程的理念&Flutter被大众所了解以来,状态管理一直是一个引人深思的话题。如果想要学习好Flutter这样的响应式的编程框架就一定是离不开状态管理的。我遇到过很多没有了解过响应式编程框架的,或者从事后端开发,自己想用F…...

Python中重要的条件语句教程
前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 一. 了解条件语句 假设一个场景: 同学们这个年龄去过网吧吗? 去网吧进门想要上网必须做的一件事是做什么?(考虑重点) 为什么要把身份证给工作人员…...

记录一下自己对linux分区挂载的理解
一直狠模糊,分两个区,一个挂载/, 一个挂载/home 两者是什么关系 实测 先看挂载的内容 然后umount /home后创建一个新文件 再挂载回去 发现旧分区又回来了,说明路径只是个抽象的概念,分区挂载,互相之间数据是不影响…...

【机器学习】人工智能概述(文末送书)
🤵♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞Ǵ…...

电子学会 2023年3月 青少年软件编程Python编程等级考试三级真题解析(选择题+判断题+编程题)
青少年编程Python编程等级考试三级真题解析(选择题+判断题+编程题) 2023年3月 一、选择题(共25题,共50分) 十进制数111转换成二进制数是?( ) A. 111 B. 1111011 C. 101111 D. 1101111 答案选:D 考点分析:考察python 进制转换 十进制转二进制,采用除二倒取余数,直到商…...

C++算法 —— 动态规划(1)斐波那契数列模型
文章目录 1、动规思路简介2、第N个泰波那契数列3、三步问题4、使用最小花费爬楼梯5、解码方法6、动规分析总结 1、动规思路简介 动规的思路有五个步骤,且最好画图来理解细节,不要怕麻烦。当你开始画图,仔细阅读题时,学习中的沉浸…...

Elasticsearch 对比传统数据库:深入挖掘 Elasticsearch 的优势
当你为项目选择数据库或搜索引擎时,了解每个选项的细微差别至关重要。 今天,我们将深入探讨 Elasticsearch 的优势,并探讨它与传统 SQL 和 NoSQL 数据库的比较。 1. Elasticsearch简介 Elasticsearch 以强大的 Apache Lucene 库为基础&#…...
ICG-Tetrazine的合成方法和步骤-星戈瑞
ICG-Tetrazine的合成方法可以通过多步反应完成,以下是一种常见的合成方法和步骤的示例: 吡咯环合成:首先合成吡咯环作为ICG-Tetrazine的核心结构。可以使用合适的反应条件将相应的吡咯前体化合物(例如吡咯-2-甲酸)与活…...
C ++ 学习之分文件 实现类
前言 当您在 C 中编写较大的程序时,将所有代码都放在一个文件中可能会变得混乱和不可维护。为了更好地组织代码并提高可维护性,您可以使用分文件实现(Separate Compilation)的概念。 正文 我的 circle.h 文件 #pragma once #i…...
vue+elementui前端rules校验缓存问题
场景: 最近公司要求项目前端不要用element-ui,改为使用公司其他组开发的ui组件。 这个ui组件使用基本就是安装后,直接全局替换elementui的el-前缀为公司开发的xx-前缀。 替换之后,发现替换倒是很丝滑,问题不大。可以运…...

使用Vue3和Vite升级你的Vue2+Webpack项目
🌷🍁 博主猫头虎(🐅🐾)带您 Go to New World✨🍁 🦄 博客首页——🐅🐾猫头虎的博客🎐 🐳 《面试题大全专栏》 🦕 文章图文…...

WebSocket 协议及其使用案例
文章目录 前言一、初识 WebSocket 协议1.1 什么是 WebSocket 协议1.2 WebSocket 与 HTTP 的关系1.3 WebSocket 握手的过程1.4 WebSocket 解决了什么问题 二、WebSocket 数据帧格式2.1 WebSocket 数据帧格式图示2.2 各字段的详细说明 三、SpringBoot 项目中引入 WebSocket3.1 创…...

Java应用CPU占用过高故障排除
一、背景 最近测试反馈测试环境接口偶现有访问超时,然后APP提示是网络失败,看了一下测试环境的应用完全没啥问题,一直以为是网络问题。 今天测试有反馈了,赶紧看了一下测试服务器,这次终于有症状了,CPU直…...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...

微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
3403. 从盒子中找出字典序最大的字符串 I
3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join
纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合
作者:来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布,Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明,Elastic 作为 …...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能
指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...