攻击端到端自动驾驶模型中的基于视觉的感知
摘要
机器学习领域的最新进展,特别是深度神经网络等技术,正在推动一系列新兴应用的发展。其中一个典型例子是自动驾驶,其通常依赖深度学习进行感知。然而,基于深度学习的感知已被证明容易受到图像上各种细微对抗性操纵的影响。尽管如此,绝大多数相关演示都集中在与端到端控制相脱离的感知任务上。本文在仿真环境中提出了一种针对自动驾驶系统的新型端到端攻击方法,采用简单且可物理实现的攻击手段:在道路上涂绘黑线。这些攻击针对用于端到端自动驾驶控制的深度神经网络模型。系统性研究表明,此类攻击易于实施,并且我们在某些场景(例如右转)中展示了其高度有效性。我们定义了多个用于量化攻击成功程度的目标函数,并基于贝叶斯优化开发了高效探索高维攻击搜索空间的技术。此外,我们定义了一类新型的劫持攻击,即通过在道路上绘制线条,使无人驾驶汽车跟随预设路径行驶。通过使用网络反卷积,我们对成功攻击进行了分析,发现这些攻击似乎通过模拟完全不同场景下的神经元激活模式而起作用。我们的代码可在https://github.com/xz-group/AdverseDrive获取
Index Terms—机器学习,对抗样本,自动驾驶,端到端学习,贝叶斯优化
一、引言
随着数十亿美元被投入到自动驾驶汽车研究中以实现5级自动驾驶(即车辆无需人类干预),安全已成为一个关键问题[3]。深度学习领域的显著进展进而表明,这类方法是集成到自动驾驶控制中的自然候选方案。一种将深度学习应用于自动驾驶控制的方式是端到端(e2e)模式,其中学习模型直接将感知输入转化为控制决策,例如车辆的转向角、油门和刹车。事实上,最近的研究表明,此类方法在模仿人类驾驶员时表现尤为成功[4]。
尽管深度学习在实现更高自主性方面取得了成功,但一些平行研究也暴露出深度学习方法在面对图像等输入的小幅对抗性扰动时存在令人担忧的脆弱性[5],[6]。此外,这些扰动已被证明能够有效
本研究部分得到了美国国家科学基金会(NSF)资助项目CNS‐1739643、IIS‐1905558和CNS‐1640624,美国陆军研究办公室(ARO)资助项目W911NF1610069以及多学科大学研究计划(MURI)资助项目W911NF1810208的支持。
)图像像[1]和物理领域[[2]中机器学习模型的现有攻击;(b)🟥我们研究工作中端到端驾驶领域潜在物理攻击的概念示意图。)
图1..(a))图像像[1]和物理领域[[2]中机器学习模型的现有攻击;(b)🟥我们研究工作中端到端驾驶领域潜在物理攻击的概念示意图。
将攻击转化为对深度模型的可物理实现的攻击,例如在停车标志上放置贴纸,导致这些标志被误分类为限速标志志[2]。图1(a)提供了几个典型的示例。
然而,迄今为止大多数对抗攻击都有一个至关重要的缺失方面:对物理环境进行具有明显🟥物理理影响(例如碰撞)的操控。例如,典型的攻击仅将预测误差作为结果的衡量标准,并且只关注静态图像或固定视角集合,而未考虑闭环自主控制的动力学。为了弥补这一差距,我们的目标是研究端到端对抗样本。我们要求此类对抗样本满足以下条件:1)修改物理环境;2)易于实施;3)看起来不可疑;4)产生物理影响,例如导致违规(车道违规或碰撞)。现有攻击引入了精心设计的
精心设计的操纵不符合简单性标准[5],[7],,而更简单的物理攻击(例如停车标志上的贴纸)仅根据预测准确率进行评估[2]。
我们系统研究的特定类型攻击是在道路上涂画黑线,如图1(b)所示。这类攻击不易引起怀疑,因为它们在语义上无关紧要(很少有驾驶员会因此感到困惑),并且类似于现实世界中常见的缺陷,例如轮胎打滑痕迹或施工标记。此外,我们展示了一种系统化的方法来设计此类攻击,以最大化一系列目标函数,并在CARLA自动驾驶模拟器中的端到端深度学习控制器背景下,针对多种场景展示了实际的物理影响(车道违规和碰撞))8[。
我们考虑了正确行为涉及右转、左转和直行的场景。令人惊讶的是,我们发现右转是迄今为止风险最高的,这意味着右转场景最容易受到攻击;另一方面,正如预期的那样,直行相对于我们的攻击类别而言具有较强的鲁棒性。我们使用网络反卷积来探究成功攻击背后的原因。在此,研究结果表明,控制器失效的原因之一是在左转场景中部分误将道路上的绘制线条识别为路缘或障碍物,从而导致车辆在本应右转时急剧向左转向。通过增加攻击空间的维度并采用更高效的贝叶斯优化策略,我们甚至能够找到针对驾驶代理需要直行情况下的成功攻击。我们的最终贡献是展示了一种新型劫持持攻击:在道路上绘制黑线可导致汽车跟随目标路径行驶,即使该路径与正确路线大相径庭(例如,导致汽车左转而非右转)。
本文是我们先前工作[9],的扩展,主要新增了新的目标函数、一种新的优化策略——贝叶斯优化,以及一种新型攻击者,即劫持自动驾驶模型的形式。在本文中,我们首先在第二节讨论深度神经网络、自动驾驶汽车背景下对抗性机器学习的相关前期工作。接着在第三节中,我们定义问题陈述,并提出了若干目标函数,用以数学化地表示该问题。在第四节中,我们介绍了一些优化策略。在第五节中,我们讨论了实验设置,包括我们的对抗样本生成库和仿真流程。第六节展示了我们如何成功地针对端到端模型生成攻击者,并提出了一种新形式的攻击,称为劫持攻击,通过该攻击我们可以控制端到端模型的行驶路线。
第二章章相关工作
A.🟥用于感知与控制的深度神经网络
神经网络(NN))是由多层神经元组成的机器学习模型,其中每个神经元实现一个简单的非线性函数(例如Sigmoid函数),其输出为某种预测。深度
深度神经网络(DNNs)是指具有两层以上神经元的神经网络,现已成为自动驾驶汽车领域中众多基于视觉的感知问题的主流解决方案。深度卷积神经网络已被用于检测行人、车辆及其他可能构成自动驾驶汽车行驶路径上障碍物的目标[10]–[15]。这些网络已在大规模图像数据集(如ImageNet[16]和KITTI[17])上进行训练,实现了接近人类水平的检测精度。DNNs结合传统计算机视觉方法已被广泛应用于车道检测,这是自动驾驶流程中的关键环节[18]–[21]。此外,已有针对图像分割任务设计的深度神经网络模型,能够将摄像头图像分割为道路、车辆、行人、交通信号灯及其他危险等不同类别[22]–[25]。相较于使用立体图像或LiDAR点云的传统深度估计算法,DNNs仅需单张图像作为输入即可实现深度估计[26]–[29],这在自动驾驶汽车的感知系统中至关重要,可用于估计与其他车辆及障碍物之间的距离。
B.🟥端到端自动驾驶
尽管这些感知模块被用于自动驾驶系统栈的各个阶段,但端到端驾驶模型能够直接从摄像头图像中学习驾驶决策。用于自动驾驶的端到端(e2e)学习模型由深度神经网络(DNN)构成,可接收摄像头图像等原始输入数据,并直接计算出期望的输出,如转向角、油门和刹车。端到端自动驾驶模型并不显式地将复杂问题分解为多个组成部分并分别求解,而是直接根据一组输入生成驾驶决策。这一目标通过在整个端到-end神经网络架构上应用基于梯度的学习方法来实现。研究表明,端到-end模型在学习车道跟随任务方面表现出良好的性能;一个典型的例子是ALVINN(Autonomous Land Vehicle In a Neural Network)模型,该模型是一个三层神经网络,以摄像头图像和激光测距仪数值作为输入,输出用于沿道路行驶的转向方向[30]。最近,基于卷积神经网络(CNN)并通过在线模仿学习策略进行训练的端到-end学习模型已被证明在学习越野驾驶策略方面取得了成功[31]。先前的研究还表明,端到-end学习模型不仅可以用于做出驾驶决策,还可以扩展为联合估计固定环境下的定位信息[32]。除了基于CNN的端到-end模型外,端到-end长短期记忆(LSTM)网络(一种循环神经网络(RNN))也已能够仅使用前置摄像头图像进行训练,以预测纵向控制(即自动驾驶汽车的速度)[33]。最近,端到-end学习在多模态学习方面展现出潜力,其中车辆的驾驶决策和预测速度被同时学习[34]。 CARLA等自动驾驶模拟器[8]加速了多模态端到-end模型的研究进展。例如,多种类型的多模态
在CARLA模拟器中开发了模态端到-end模型,包括基于RGB图像以及RGB+深度(RGBD)图像训练的模型[35]。与端到-end模型不同,阿波罗[36]和Autoware[37]等自动驾驶系统栈将自动驾驶问题分解为多个子模块,并分别解决各个组件。尽管现有的自动驾驶系统栈已包含用于感知的训练好的深度神经网络模型,但一系列涉及自动驾驶车辆的现实世界碰撞事故表明了该技术所面临的风险及其某些现有局限性[38]-[41]。
C.🟥对自动驾驶汽车的攻击
对抗样本(也称为攻击和对抗者)[5],[42]-[44]是经过精心计算的输入扰动,会导致训练好的深度神经网络模型输出错误。使用对抗样本针对静态图像分类模型的研究表明,深度神经网络极易受到精心设计的像素级对抗扰动的影响[5],[7],[45]。最近,对抗攻击已被实现在物理领域[2],[6],[46],,例如在停车标志上添加贴纸导致其被错误分类类[2]。此外,研究表明,依赖激光雷达的先进自动驾驶系统栈(如阿波罗)[36]也容易受到可物理实现的攻击。特别是,已有研究人员精心设计并构造了三维物理物体,并在仿真和真实世界中进行了测试,这些物体能够逃逸阿波罗的感知模块的检测[47]。此外,激光雷达欺骗攻击已被证明可以欺骗阿波罗感知栈,在车辆前方检测到一个虚假物体,从而影响规划组件[48],[49]。这些驾驶系统栈中的基于摄像头的物体检测组件也被证明容易受到物理对抗样本的影响响[2],[50]。最近,研究人员简要演示了在道路上放置贴纸可使特斯拉自动驾驶仪误认为存在车道标记,而实际上并不存在在[51]。
na
在本研究中,我们专注于利用物理对抗样本攻击基于视觉的端到-end自动驾驶模型,例如模仿学习和强化学习模型[8]。
III.🟥建模框架
在本文中,我们专注于研究能够成功颠覆基于RGB相机的端到-end驾驶模型的物理对抗者的影响。我们将物理对抗样本定义为在现实世界中可实际实现的攻击。例如,在道路或停车标志上故意绘制的图形属于可物理实现的攻击方式。图1(b)展示了通过绘制黑线实施此类攻击的概念示意图。我们将对抗样本定义为patterns。为了生成一种迫使端到-end模型导致车辆碰撞的对抗样本,我们需要选择pattern形状的参数,以最大化我们提出的目标函数。这可能导致车辆偏离至错误车道或偏离道路,我们将其视为一次成功的攻击。传统的基于梯度的攻击技术是
不直接适用,因为我们需要运行仿真(使用CARLA自动驾驶模拟器)来实施攻击模式,并评估端到-end自动驾驶代理的性能。
从高层次来看,我们的目标是在道路上的某个位置绘制一种图案(例如黑线),以引发碰撞。我们将此类攻击形式化为优化一个目标函数,该函数用于衡量攻击图案导致驾驶违规的有效性。由于驾驶违规本身因目标函数的不连续性(违规要么发生,要么不发生)而难以直接优化,因此我们的目标之一是确定一个高质量的代理目标。此外,由于该问题是动态的,我们必须考虑在车辆驶向并最终通过被修改的道路路段时,在一系列捕捉到道路及该图案的帧中,所绘制物体对道路的影响。关键在于,我们修改的是道路本身,随后这些修改将被视觉系统捕获、数字化,并作为输入提供给端到-end模型的控制器。
形式化地,我们现在引入一些符号。设 5表示绘制在道路上的图案, 1表示我们放置该图案的道路位置。我们用 L表示可以放置对抗性图案 6的可行位置集合, S表示可能的图案集合(以及相关修改;在本例中,我们考虑单条黑线或一对黑线,修改包括例如线间距及其旋转角度)。令 al为位置置处的道路状态,那么 a1+ 6即为添加图案 6后该位置的道路状态。当车辆视觉系统进入视野时,会捕获位置 l处的道路状态;我们将该位置首次进入视野的帧记为 FF,令 △表示位置 l在车辆视觉系统中可见的帧数。给定位置置处的道路状态 aa ,其在帧 F中的数字视图表示为Ip(al)或简写为IF。最后, 我们用0r=gsa(F)表示根据对应于帧 F的观测数字图像所预测的转向角。在此形式化基础上,我们提出几种代理目标函数的候选方案,用于量化攻击的成功程度。
A.🟥候选目标函数
1)转向角求和:首先,我们将一个回合中从第Fi帧到第 : 帧在攻击击下的预测转向角向量表示为:
66=[0p,0Ft+1, ,0Ft+△] (1)
我们定义两个目标函数为:
Collide Right:nt : max6 (2a) l.8
1=0
Collide Left: min l.o A>6。 (2b)8
1=0
subject to::lEL、.oeS. (2c)
公式2aa表明,为了优化导致车辆向右偏离并发生碰撞的攻击,我们需要在图案可见的帧中,针对该特定实验最大化转向角之和。类似地,在方程程2bb中,我们需要最小化转向角之和,以使车辆向左偏离。为了与我们后续将描述的搜索过程保持一致,我们将方程程2bb转换为一个最大化问题。使用公式2作为目标函数,使我们能够控制汽车碰撞的方向。而接下来的两个指标——绝对转向角差和路径偏差——则失去了区分基于方向的攻击的能力,因为它们本质上是🟥L‐11和🟥L‐22范数。
2)🟥绝对转向角差:同样,设在有攻击的情况下,从第-Fl帧到第Fl+△帧的预测转向角为H0,如方程1所示。现在,设在相同帧中无攻击时的预测转向角为Obaselineo这表示一个未对道路添加任何攻击的回合(我们称之为基线运行),在此情况下汽车沿预定路径行驶并产生最小违规行为。现在我们可以将第二个候选指标定义为:
max|e-6baselinelli (3a) l.o
subject to :leL,oeS. (3b)
方程🟥3a🟥在帧 △上优化攻击,这些帧会导致预测的转向角相对于未在道路上添加图案时的预测转向角产生最大的绝对偏离。
3)🟥路径偏差:首先表示智能体在 Fl到 Ft+△帧间受到攻击 6时的(x, y)位置:
ps=[(x,y),(x+1, yU+1),,(xt+△,U+△)] (4)
将-pbaseline定义为智能体在相同帧内沿道路运行且无攻击时的位置(基线运行)。我们可以优化路径相对于基线路径的偏离:
max8|p。-pbaselinell (5a) l.o
subject to : EL, oe S. (5b)
类似于方程程3a,我们可以使用该指标来优化偏离基线路线的程度,只是我们现在攻击的是车辆的位置,而车辆位置直接受端到-end模型输出的影响。
IV.🟥生成对抗样本的方法
我们现在描述计算对抗模式的方法,或等效地,优化上述定义的目标函数的方法。
A.🟥随机和网格搜索
我们生成的每个图案((前面标记为 5)都可以通过一组参数来描述,例如长度、宽度以及相对于道路的旋转角度。寻找成功攻击的两种简单方法是通过随机或网格搜索(使用粗略网格)生成一个图案
并使用上述目标函数之一评估该图案。算法法11展示了这一设置。函数Run-Scenario() 运行仿真并返回诸如车辆速度、预测加速度、GPS位置和转向角等数据。我们使用这些结果来计算其中一个目标函数(
CalculateObjectiveFunction())。 由于我们的目标是最大化该指标,因此我们使用MetricsList来存储每次迭代时目标函数的结果。最后,我们返回使目标函数最大化的参数。
图2.🟥我们仿真基础设施的架构概述,包括CARLA模拟器与模式生成脚本之间的接口。还展示了来自一次攻击回合的摄像头和第三人称视角的可视化。
B..贝叶斯优化搜索策略
当6 6 🟥的参数数量相对较小时,算法法11表现良好。对于更大的图案空间,并为了使我们能够更细致地探索该空间,我们转向贝叶斯优化,该方法旨在优化查询成本较高且无需梯度信息的目标函数数[52]。研究表明,贝叶斯优化(BayesOpt)在超参数调优、强化学习和传感器校准等多个领域中对优化昂贵函数具有实用性[53]-–[56]。在我们的场景中,由于使用了自动驾驶模拟器,因此运行包含生成攻击的仿真以获取例如公式(2)所示的转向角之和是expensive的。平均而言,每个回合根据具体场景需要花费费200到🟥400秒;因此,优化过程的高效采样至关重要。
从高层次来看,我们的目标是生成能够成功攻击端到-end自动驾驶模型的物理对抗样本,其中成功攻击可以通过最大化某个目标函数数 f(6)🟥来量化。因此,我们的目标是找到一种物理攻击使 :*,使得:
6*=arg max f(6), (6)
其中b*eRd和d是物理攻击的参数数量。我们首先假设目标 f可以用高斯过程表示,记为GP(f, p()k(6,6’)),其均值函数为 u(),协方差函数为k(6,5’)[57]。我们假设先验均值
函数为p(6)=0,协方差函数为Matern5/2核函数:
k(6,6)=1+y5r5+)() (7)
其中 r是两个输入点之间的欧几里得距离,||6-6|2,以及在仿真运行时优化的缩放因子l。假设我们已经生成了若干对抗者,并针对这些对抗者中的每一个评估了我们的目标函数f。我们可以将此数据集表示为 D={(6i, y1)..,(6n-1,yn-i)}。因此,如果我们希望在输入空间6的某个位置对函数 f进行采样,则会得到某个后验均值f|DD(6),以及后验置信度或标准差值6fIP(δ)。如前所述,我们的目标函数 f查询成本较高。当我们使用贝叶斯优化来寻找定义下一个攻击者 6n的参数时,我们转而最大化一个称为采集函数的代理函数 u(6)。与目标函数相比,使用诸如L‐BFGS‐B算法并结合多次重启以避免陷入局部极小值的方法来最大化采集函数是相对简单的。在本例中,我们采用期望改进(EI)采集函数。给定我们的数据集 D,我们首先令 ymax为我们迄今为止所见过的最高目标函数值。EI可以在某一点 6处计算为:
u(6)=E[max(0,f(6)一ymax)]. (8)
鉴于高斯过程的性质,这可以如下以闭式形式表示:
2=fjD(0)一ymax(9)0f|D(0)
u(6)=(u1D(6)=ymax)p(z)+0f1p(0)0(z), (10)其中 重和 d分别是高斯分布的累积分布函数和概率分布函数。实际上,上述采集函数中的第一项倾向于利用先前生成的对抗者信息来为 6n生成参数,而第二项则更偏好探索攻击者参数的输入空间。基于此设置,算法2提出了一种用于生成和搜索对抗模式的贝叶斯优化方法。在该算法中,高斯过程在每次迭代中都会更新,采集函数也会反映这些变化。初始预热阶段通过随机选择攻击者参数,并对仿真查询目标函数,用于超参数调优。
尽管贝叶斯优化已被证明是一种高效的搜索策略,但它最适合用于维度有限的搜索空间,通常少于20个有界参数[58]。第五节中描述的实验包含一个具有4个有界参数的搜索空间,该维度足够小,使得贝叶斯优化能够有效发挥作用。一般来说,我们的方法可应用于基于视觉的端到-end模型,因为摄像头输入会直接影响第三节‐A中描述的目标函数。然而,在
算法2贝叶斯对抗搜索算法
i<0
指标列表←[]
loop
6i-arg maxu(6)
结果 <-RunScenario(6)
yi -CalculateObjectiveFunction(结果)
指标列表.append(yi)
更新高斯过程和D,使用(6,yi)
ii+l
结束循环
return arg max指标列表
在自动驾驶系统栈(如阿波罗[36]和Autoware[37])的背景下,目标函数受到多个感知模块(例如摄像头、激光雷达、雷达)的影响,我们的攻击者生成方法需要进行修改,以直接影响所有模块。
V.🟥实验方法
本节介绍我们用于进行实验的各种构建模块。图2展示了我们实验方法的整体架构,包括CARLA模拟器模块、Python客户端模块,以及它们如何相互通信以在模拟器上生成和测试攻击模式。
A..自动驾驶汽车模拟器
自动驾驶模拟器通常被用于测试自动驾驶车辆,以提高效率和安全性[59]–[62]。在测试了多种主流的自动驾驶模拟器[36],[63]-[65],后,我们选择在CARLA 8 自动驾驶汽车模拟器上开展实验,原因在于其功能丰富且便于进行源代码修改。CARLA以虚幻引擎 4[66]作为后端,具备足够的灵活性来创建逼真的模拟环境,拥有强大的物理引擎、逼真的光照以及包含道路、建筑物、交通标志、车辆和行人在内的3D物体。图2展示了该模拟器第三人称视角下的画面。它使我们能够获取每帧的传感器数据(如摄像头图像,即摄像头视图)、车辆测量数据(速度、油门、转向角和刹车)以及其他环境指标,例如车辆与环境交互所产生的违规行为和碰撞情况。由于我们使用的是仅依赖RGB相机的端到-end模型,因此禁用了激光雷达(Light Detection And Ranging)、语义分割和深度摄像头。转向角、油门和刹车参数是控制仿真中车辆行驶的主要控制参数。CARLAA(v0.8.2)🟥提供两张地图:一张较大的训练地图和一张较小的测试地图,分别用于训练和测试端到-end模型。CARLA还允许用户在不同的天气条件下运行实验,例如日落、阴天和雨天,这些条件由客户端输入决定。为了保持稳定的帧率和执行时间,我们采用固定时间步长的方式运行CARLA。
B..端到-end驾驶模型
CARLA模拟器提供了两个经过训练的端到-end模型:条件模仿学习(IL)[67]和强化学习(RL)))]。它们的共同点仅在于使用摄像头图像作为输入,生成包含转向角、加速度和刹车的控制输出。IL模型使用了一个基于模拟器中人类驾驶示范数据训练得到的网络。换句话说, IL模型试图模仿其训练所用专家的行为[68]。IL模型的结构包含一个条件分支神经网络架构模型,其中条件部分是CARLA模拟器在每一帧提供的高层级指令。该高层级指令可以是在交叉路口处的左转、右转或直行,以及不在交叉路口时的车道跟随。在每一帧中,图像、当前速度和高层级指令被用作分支IL网络的输入,直接输出车辆的控制信号。因此,每个分支负责驾驶问题中的一个子任务(例如决定如何通过交叉路口或跟随当前车道)。RL模型则使用基于环境根据相应动作提供的奖励系统而训练的深度网络,无需人类驾驶员的参与。更具体地说,对于RL采用了异步优势演员‐评论家(A3C)算法。值得一提的是,在未训练(测试)场景中,IL模型的表现优于RL模型[8]。正因如此,我们的研究主要集中在攻击IL模型上。
C..物理对抗者生成
1))虚幻引擎::为了系统地生成物理上可实现的对抗样本,我们修改了CARLA的源代码。CARLA模拟器(v0.8.2)不允许将不存在于CARLA蓝图库中的对象添加到场景中(蓝图库包含车辆模型、
🟥显示最基本的攻击,即单线。(b))和和(c)🟥显示使用两条线的攻击,但但(b)🟥有一个约束条件,即线条必须始终保持平行,(d)🟥显示生成器生成N条线的能力,这些线条具有各种形状和颜色。)
图3.🟥攻击生成器能力。(a)🟥显示最基本的攻击,即单线。(b))和和(c)🟥显示使用两条线的攻击,但但(b)🟥有一个约束条件,即线条必须始终保持平行,(d)🟥显示生成器生成N条线的能力,这些线条具有各种形状和颜色。
行人和道具)。使用虚幻引擎4(UE4),我们创建了一个新的Adversarial Plane Blueprint, 这是一个带有动态UE4材质的 200×200像素平面或画布,可以覆盖在道路的指定区域。该蓝图的关键属性是能够读取生成的攻击图像(一个.png文件),并实时将其放置在CARLA中。因此,该蓝图能够通过HTTP服务器持续读取图像。该画布支持使用带透明通道(alpha通道)的图像,从而实现部分透明的攻击,如图3所示。然后,我们克隆CARLA提供的两张地图,并在每张地图中选择感兴趣的攻击生成区域。一些有趣的区域位于转弯处和交叉路口。我们在这些位置的每个地点都放置了Adversarial Plane Blueprint画布。当CARLA运行时,HTTP服务器上的图像会被叠加到每个画布上。最后,我们编译并打包这个修改后的CARLA版本。因此,我们能够在CARLA模拟器中放置物理攻击。
2)🟥模式生成器库:我们构建了一个模式生成器,可创建如图3所示的不同类型的图案
模式参数(表I)。对于模式生成器,我们探索了线条的位置、宽度和旋转等参数。我们通过将位置和旋转分别在0‐200像素和0‐180度范围内进行扫描,以生成不同形式的攻击。类似地,我们创建了一种更高级的图案,即两条平行黑线,称为双线模式,如表I所述。该模式包含之前提到的参数,即位置、旋转和宽度,并新增一个间距参数,即两条平行线之间的距离。最后,我们取消了双线之间的平行约束,以扩大攻击的搜索空间,同时保持简单性。图2展示了一些生成的双线模式示例,这些模式可以被看到叠加在第55帧和第70帧的道路图像上。
此外,我们的库能够读取包含线条数量以及每条线的参数(位置、旋转、宽度、长度和颜色)的字典对象,并生成相应的攻击模式,如图33(d)所示。一旦生成该图案,将通过HTTP服务器读取并放置在CARLA模拟器中。
3) Carla的OpenAI-Gy m环境:由于CARLA几乎是实时运行的,实验需要很长的时间。为了能够高效地使用我们所需的参数运行仿真,我们将CARLA设置转换为OpenAI‐Gym环境[69]。虽然OpenAI‐Gym框架主要用于训练强化学习模型,但我们发现这种格式非常有用,因为它使我们能够轻松地使用一组初始参数(如任务(直行、右转、左转)、地图、场景、端到-end模型以及期望的输出指标(例如该回合的平均违规百分比))来运行仿真器。通过这种设置,我们能够使用优化器在一组定义的约束条件下生成攻击,运行一个回合并获得相应的输出指标。
D.🟥实验设置与并行性
为了在不同设置下广泛测试各种攻击的有效性,我们通过改变多种环境参数(如地图(训练地图和测试地图)、场景、天气(晴天、雨天和日落)、驾驶场景(直路、右转和左转)、端到-end模型(行为克隆模型和强化学习模型)以及图案的整个搜索空间)来进行实验。在此,我们描述CARLA中可用的六种驾驶场景:
1) RightTurn:智能体沿一条平滑向右转90度的车道行驶。2)🟥LLe f Turn:智能体沿一条平滑向左转90度的车道行驶。3) StraightRoad:智能体沿直线路径行驶。4) Right Intersection:智能体在交叉路口右转。5)Left Intersection:智能体在交叉路口左转。6) Straight Intersection:智能体直行通过交叉路口。
我们选择了基线场景(无攻击),在这些场景中,端到-end模型驾驶车辆产生的违规行为最少。我们在每秒10帧(fps)的速率下运行实验,并为每个相机帧收集以下数据(典型实验运行需要60到100帧):来自安装的RGB相机的摄像头图像、车速、预测加速度、转向和刹车、车辆处于错误车道的百分比、车辆处于人行道上的百分比(偏离道路)、车辆的GPS位置以及碰撞强度。图2展示了该数据流,足以评估实验中特定攻击的影响。
为了充分探索设计空间,我们构建了一个CARLA Docker容器,该容器允许我们在8块RTXXGPU上同时运行多达16个CARLA实例[70]。
VI. 实验结果
通过实验,我们证明了显著的物理对抗样本的存在,这些对抗样本能够成功破坏端到端驾驶模型。这些对抗样本无需对场景进行细微或复杂的修改。尽管人类驾驶员可以轻松识别并忽略它们,但它们却能有效导致我们评估的端到-end模型发生严重的交通违规行为。
A. 简单的物理对抗示例
1) 攻击有效性:首先,我们生成两种类型的对抗模式:单线(具有不同的位置和旋转角度)以及双线(具有不同的位置、旋转角度和线间距)。在图4(a)中,我们将道路的不同区域按风险升序定义为多个安全区域:从车辆的本车道(安全区域)、对向车道(不安全)、偏离道路/人行道(危险)到偏离道路区域之外的碰撞区域(非常危险)。图4(b)(c)(d)(e)显示,在直路行驶、右转驾驶和左转驾驶三种场景下,通过在训练地图和测试地图上扫视单线和双线模式,我们发现某些模式会导致违规行为。在此,我们采用一种简单的网格搜索方法,结合公式2a中定义的转向总和优化指标遍历搜索空间。首先,我们观察到对抗者的迁移性,因为部分生成的对抗样本导致IL模型(图4(b))和RL模型(图4(d))均出现违规行为。其次,攻击对强化学习模型的效果比对行为克隆模型更成功。此外,我们注意到双线对抗
🟥驾驶违规区域;(b)(c)🟥行为克隆模型的违规百分比;(d)(e) 强化学习模型的违规百分比;NAA‐-无攻击, SLL‐-单线模式,DLL‐-双线模式;Straightt‐-直路行驶,Rightt‐-右转驾驶, Leftt‐-左转驾驶)
图4.🟥不同模式引起的违规行为比较。(a)🟥驾驶违规区域;(b)(c)🟥行为克隆模型的违规百分比;(d)(e) 强化学习模型的违规百分比;NAA‐-无攻击, SLL‐-单线模式,DLL‐-双线模式;Straightt‐-直路行驶,Rightt‐-右转驾驶, Leftt‐-左转驾驶
示例导致的违规行为比单线情况更严重。最后,我们观察到Straight Road Driving和Left TurnDriving对引发更严重违规行为的攻击具有更强的抵御能力。
2) 攻击目标分析:为了找到在右转驾驶场景中产生诸如碰撞等违规行为的最优对抗样本,优化器必须寻找一种模式,以最大化第一个候选目标函数:即公式2中假设的转向角之和。正的转向角表示向右转向,负的转向角表示向左转向。图5(a)(b)分别显示了375种双线模式组合对应的转向角之和以及违规行为之和。违规数据经过归一化处理,因为碰撞数据是以国际单位制单位强度[kg × m/s]记录的,而车道违规则是以车辆面积在相应区域中的百分比表示。图5还标出了转向角之和的三个最低点(最小值点)以及碰撞图的三个最高点(最大值点)。在图5(c)中,我们对攻击集合使用argmin和argmax, 以观察转向角之和与违规结果对应对抗样本的形状。我们观察到,能够最小化转向角之和的模式以及相应地
)对抗样本显著改变了转向控制。(b)🟥一些模式导致轻微违规行为,而另一些模式导致3级违规。(c)🟥导致最小转向角之和和最大碰撞的模式看起来相似。)
图5.🟥针对“右转驾驶”的攻击者。(a))对抗样本显著改变了转向控制。(b)🟥一些模式导致轻微违规行为,而另一些模式导致3级违规。(c)🟥导致最小转向角之和和最大碰撞的模式看起来相似。
最大化碰撞强度非常相似。因此,基于最大化或最小化转向角的目标显然为底层优化问题提供了有价值的信息。然而,这并不意味着在我们上述考虑的三种选择中,它就是最佳目标。在下一小节中,当我们转向使用贝叶斯优化研究更复杂的攻击时,将更深入地探讨这一问题。
B. 大设计空间探索
在图4中,我们观察到,当从单线攻击(2个维度)切换到双线攻击(3个维度)时,在大多数情况下,成功攻击的数量显著增加。可以合理地假设,随着攻击自由度的增加,成功率也应随之提高。我们通过考虑一种称为两条线攻击的方法进一步支持这一直觉,如图3(c)所示,该攻击具有4个维度,通过取消两条线必须平行的限制实现。如图4所示,与限制更多的攻击相比,攻击成功率显著提高。
然而,增加攻击搜索空间的维度会使网格搜索变得不切实际。例如,使用网格搜索的单线攻击需要大约375次迭代才能以20像素分辨率扫描整个搜索空间。如果保持相同的参数分辨率(或精度),双线需要1440次迭代,而双线攻击则需要12,960次迭代。朴素搜索在现代GPU上扫描单个场景的搜索空间大约需要45天。此外,使用更稀疏的攻击参数分辨率意味着我们将无法找到仅在更高分辨率下才能发现的潜在攻击。
我们通过采用贝叶斯优化框架(BayesOpt)来识别攻击模式(在第四节‐B部分中介绍)以解决此问题。这需要改变我们的搜索过程,如算法2所示。简而言之,它利用已探测搜索空间的先前历史来建议下一个探测点。
、直路路(b))和右转转(c))驾驶,贝叶斯方法不仅在相同迭代次数下找到了更多独特的成功攻击者,而且发现这些攻击的速度也更快。贝叶斯优化在前400次迭代中随机采样对抗搜索空间(虚线之前所示),以调整核函数的超参数。在这些随机采样点之后,贝叶斯优化利用采集函数来采样搜索空间。尽管密集网格搜索最终至少能找到与贝叶斯优化相同数量的攻击,但由于计算资源限制,我们将实验约束在1000次迭代内。)
图6.🟥不同搜索算法在生成成功攻击方面的比较。在每个驾驶场景中:左转转(a)、直路路(b))和右转转(c))驾驶,贝叶斯方法不仅在相同迭代次数下找到了更多独特的成功攻击者,而且发现这些攻击的速度也更快。贝叶斯优化在前400次迭代中随机采样对抗搜索空间(虚线之前所示),以调整核函数的超参数。在这些随机采样点之后,贝叶斯优化利用采集函数来采样搜索空间。尽管密集网格搜索最终至少能找到与贝叶斯优化相同数量的攻击,但由于计算资源限制,我们将实验约束在1000次迭代内。
表IIⅡ候选目标函数的比较,如第三节所列(单位:%)。 🟥 st. angless‐-转向角之和,abs. st.🟥diff..‐-绝对转向差
| 指标🟥 st.🟥angles 路径偏差 绝对转向差 | Left safe碰撞偏离道路对向车道 | Left safe碰撞偏离道路对向车道 | Left safe碰撞偏离道路对向车道 | Left safe碰撞偏离道路对向车道 | 直行 safe 碰撞偏离道路 对向车道 | 直行 safe 碰撞偏离道路 对向车道 | 直行 safe 碰撞偏离道路 对向车道 | 直行 safe 碰撞偏离道路 对向车道 | safe | 碰撞 | 右转 偏离道路 | 对向车道 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 指标🟥 st.🟥angles 路径偏差 绝对转向差 | 18.2 | 0 | 0 | 81.8 | 99 | 0 | 1 | 72.2 | 9.5 | 13.8 | 24.5 | |
| 指标🟥 st.🟥angles 路径偏差 绝对转向差 | 18.2 | 0 | 0 | 81.8 | 99 | 0 | 1 | 72.2 | 9.5 | 13.8 | 24.5 | |
| 指标🟥 st.🟥angles 路径偏差 绝对转向差 | 64.6 | 0 | 0 | 35.4 | 23.8 | 2.5.5 | 2.8 | 76.2 | 57.2 | 24.0 | 28.3 | 40.2 |
| 指标🟥 st.🟥angles 路径偏差 绝对转向差 | 0.2 | 0 | 0 | 99.8 | 22.7 | 7.5 | 9.3 | 77.3 | 0 | 95.2 | 99.2 | 100 |
图6显示了我们在直行、左转和右转场景中采用的3种优化技术之间的比较。可以看出,在所有三种情况下,贝叶斯优化的表现均优于简单的网格搜索和随机搜索方法。在图6中,贝叶斯优化使用400个初始随机点来采样搜索空间,随后再采样600个优化点。因此,我们观察到在前400次迭代中,贝叶斯优化与随机搜索结果接近,而在探测完这些初始随机点之后,成功攻击的数量显著增加。
由于我们观察到针对左转和右转场景的成功攻击远多于直行场景,图6进一步支持了我们的观点,即与右转和左转场景相比,直行更难被攻击。
配备贝叶斯优化后,我们现在系统地评估了不同目标函数的相对有效性。表II显示了每个目标函数(路径偏差、转向角总和以及与基线运行的转向角绝对差)所导致的违规行为。对于左转、直路和右转驾驶,我们列出了使用贝叶斯优化进行600次仿真运行中安全、发生碰撞、驶出道路违规或进入对向车道违规的百分比。我们观察到,与基线运行相比,转向角绝对差是最优的度量指标。
当与贝叶斯优化结合以发现独特且成功的攻击时,虽然最自然的指标似乎是steeringsum,但在实际应用中,其效果远不如最大化转向角的绝对差。路径偏差目标函数在右转和直行场景中表现良好,但在左转驾驶场景中未能找到最优攻击。总体而言,其性能仍不及绝对转向差目标函数。
C. 选择可靠目标函数的重要性
在第六节VI‐B中,我们评估了三种不同的目标函数:pathdeviation、 sum of steering angles和absolutesteeringdifference。我们发现, 选择合适的目标函数对成功至关重要,而这一选择并不总是显而易见的。
最令人惊讶的是,我们发现使用转向角来引导对抗样本构建的目标函数并非最佳选择,尽管这可能是最先想到的方法,也是先前研究究[[61]中使用的方法。我们现在探讨为何该目标函数的选择可能会失败。
图7.🟥端到-end模型在左转、直路和右转驾驶中无攻击(基线)、失败攻击和成功攻击下的行驶路径(a)。各场景下转向角累积和(b)。尽管成功攻击能够在每个场景中导致端到-end智能体发生违规或碰撞,但在三个场景中的两个场景中,转向和度量无法区分成功攻击与失败攻击。
从基线路径的偏离,以及一种导致大幅偏离并引发违规的成功攻击情况。图7(b)展示了图7(a)中各对应案例的转向角之和。请注意,在左转驾驶中,我们试图最大化公式(2a),即向右发生碰撞;而在直行驾驶和右转驾驶中,我们最大化公式(2b),即向左发生碰撞。对于右转驾驶场景,我们观察到强攻击与弱攻击在转向角之和上确实存在较大差异,但在另外两个场景中,基线、失败攻击和成功攻击的转向角之和非常接近。因此,优化器难以区分失败攻击与成功攻击。在直行驾驶场景中,我们发现即使车辆已显著偏离基线路径,成功攻击的转向角之和先增加后急剧下降。这是由于行为克隆端到-end模型在此情况下具备恢复能力,这种能力源于训练时的数据增强,其中汽车的初始位置被随机扰动。转向角之和目标函数无法捕捉到这一行为。对于左转驾驶的情况,我们发现成功攻击不仅引起转向角的变化,还导致油门变化,使车辆加速并行驶到基线路径更远的位置,这为生成攻击以及造成新型违规行为开辟了新的可能性。
绝对转向差通过累加基线情况与攻击情况之间的绝对转向差来缓解上述问题。这使得目标函数能够抵消e2e模型的恢复能力。然而,我们确实失去了对车辆碰撞方向进行直接控制的能力。
图8.🟥劫持攻击示意图,其中我们使用攻击手段诱使车辆偏离其正常路径(基准路线)至目标劫持路线。该图展示了一次成功劫持,即我们使一辆原本在交叉路口右转的车辆改为左转。
表III🟥六种场景下劫持攻击的成功率
| 劫持攻击成功率 | %%成功 | %%失败 |
|---|---|---|
| 直行→右转 | 14.8 | 85.2 |
| 直行→左 | 0.0 | 100.0 |
| 左→直行 | 23.7 | 76.3 |
| 左→右转 | 14.3 | 85.7 |
| 1.4 | 98.6 | |
| 右转一直行 | 25.9 | 74.1 |
D. 车辆劫持攻击
到目前为止,我们对针对自动驾驶模型的对抗样本的探索主要集中在导致汽车发生碰撞或其他违规行为上。现在,我们将探讨另一种类型的攻击:车辆劫持。在这种攻击中,攻击者的主要目的是隐蔽地引导车辆沿其选定的目标路径行驶。
在攻击IL模型时,之前的实验仅针对该模型的Lane Follow分支。现在,我们将攻击集中在IL模型的三个不同分支上:Right Intersection,Left Intersection,和Straight Intersection。在此, 我们将成功攻击定义为:1)禾引起任何违规行为或碰撞;2)导致智能体在特定交叉路口执行由攻击者选择的转弯动作,而非遵循真实值(例如,攻击者创建一个攻击者使智能体在交叉路口左转,而不是直行)。根据此定义,若攻击导致智能体发生违规,则不被视为成功攻击。为了生成此类攻击,我们修改了实验设置。在选定特定交叉路口后,我们先在无攻击情况下运行仿真,记录整个回合中的基准转向角度。CARLA提供的高层级指令会指示智能体在该交叉路口执行特定操作(例如直行)。随后,我们修改CARLA的高层级指令
🟥显示强对抗者的直方图。(b))最强鲁棒性对抗者的旋转、位置和间隙参数范围示意图。)
图9..(a)🟥显示强对抗者的直方图。(b))最强鲁棒性对抗者的旋转、位置和间隙参数范围示意图。
朝着攻击者期望的方向(例如,右转)。运行仿真后,我们存储整个回合中的目标转向角。最后,我们将CARLA的高层级指令恢复为基线仿真运行期间提供给智能体的原始指令,并开始在交叉路口生成攻击。我们修改优化问题,以最小化一次攻击回合中记录的转向角(如III‐A节所定义)与目标运行的转向角(定义为 Otarget)之间的差异异。
Q
min ||e6-6target l (11a)
l.6subject to:leL,oES (11b)
CARLAA(v0.8.2) 在其提供的地图中不包含四向交叉路口,这限制了我们的实验只能在如图8所示的三向交叉路口进行。在六种可能的劫持配置中,我们能够生成对抗者,使汽车成功偏离基线路线并驶向期望路线,其中五种配置实现了成功劫持。例如,图8显示汽车被劫持后执行右转而非直行。尽管我们能够在图8所示的每种场景中生成导致违规的攻击(灰色路径),但这些回合并未被计为成功劫持,因为汽车未按目标路线行驶。表III展示了在CARLAAv0.8.2中六种可用劫持场景的成功攻击率。综上所述,我们能够修改优化问题,并在交叉路口生成对抗者,使智能体行驶劫持路线而非预定路线。
E. 使用DeConvNet解释攻击
在本节中,我们的目标是更好地理解是什么使得攻击有效。我们首先通过定量分析在右转情境下能够产生最稳健攻击的攻击参数范围。为简便起见,
我们分析了双线攻击,其参数包括旋转角度、位置和间隙大小。图9展示了在375次迭代实验中,碰撞发生率相对于模式ID的直方图及其对应的参数。特别是图9(b)显示,某些参数在生成成功攻击时比其他参数起着更显著的作用。例如,在此特定设置下的双线攻击中,成功的对抗者具有较窄的旋转角度范围(900‐-115度)。图9(b)还表明,较小的间隙大小表现略优于较大的间隙大小。
为了更好地理解针对底层模仿学习算法的成功攻击的工作机制,我们采用网络反卷积方法,并使用一种先进的技术——DeConvNett[71]。具体而言,由于模仿学习算法的主干是一个由八个用于特征提取的卷积块和两个用于回归的全连接(FC)块组成的卷积神经网络,我们将每个卷积块(包含一个卷积层、ReLUU和批归一化器)连接到一个对应的反卷积块。每个反卷积块使用与卷积块相同的滤波器、批归一化参数和激活函数,只是操作过程相反。在本文中,DeConvNett仅作为探针用于已训练好的模仿学习网络:它提供了一条连续路径,将高层特征图映射回输入图像。为了对网络进行解释,模仿学习网络首先处理输入图像,并计算网络各层中的特征图。为了查看某一层特征图中选定的激活,其他激活被设为零,特征图通过整流、反向批归一化和转置层进行反向传播。然后,重构对下层所选激活有贡献的激活。该过程重复进行,直到达到输入像素空间。最后,可视化引发这些激活的输入像素。在本实验中,我们选择top-200最强/最大的激活,在第五卷积层中将这些激活映射回输入像素空间以进行可视化。选择这一设置的原因有两个:1)最强激活在神经网络中的决策中尤为突出并占据主导地位,而top-200激活足以覆盖重要的激活;2)第五个卷积块的激活比其他层更具代表性,因为更深的层会导致非零激活数量显著减少,从而使反卷积操作失效,而较浅的层则无法充分捕捉不同提取特征之间的关系。
我们进行了一项案例研究,以了解攻击为何有效。具体而言,我们在对抗者对右转驾驶场景中的自动驾驶模型发起攻击时,深入分析了模仿网络的内部情况。图10(a)展示了无任何攻击的基线情况,而图10(b)展示了一次成功的双线攻击情况。在图10的第一行中,显示了安装在车辆上的前置摄像头拍摄的输入图像,这些图像被输入到模仿学习网络中。在图10(a)中,模仿学习网络引导车辆在拐角处右转,正如
🟥无攻击的右转驾驶,(b)🟥受到攻击的右转驾驶,以及及(c))用于对比的无攻击左转驾驶)
图10.🟥针对右转驾驶的攻击:上排显示相机输入,下排反卷积图像显示从最强激活重建的输入决定了转向角。(a)🟥无攻击的右转驾驶,(b)🟥受到攻击的右转驾驶,以及及(c))用于对比的无攻击左转驾驶
转向角输出被设置为正值(转向+0.58)。在相应第二行的重建输入中,高亮的绿色区域显示,模仿网络主要依据双黄线的曲线做出该转向决策。然而,当如图10(b)所示,在道路上绘制了故意攻击图案时,模仿网络未能正确感知这些绘制的线条——这些线条对人类而言很容易被忽略;相反,网络将其视为物理障碍,并引导车辆向左转向(转向‐0.18)以避免虚假碰撞,从而导致实际碰撞。下方的重建图像证实,最显著的特征是绘制的对抗图案,而非中央双黄线。我们推测车辆将这些对抗图案识别为道路路缘。图10(c)证实了我们的推测。在此情况下,车辆正在左转,对应的重建图像显示路缘在网络中产生了最强激活,从而使转向角变为负值(转向‐0.24)以实现左转。案例(b)与(c)之间重建输入的相似性表明,绘制的攻击被错误识别为路缘,进而导致不明智的驾驶决策。综上所述,模仿重要道路特征的故意对抗者极有可能成功攻击模仿学习算法。这也强调了在设计自动驾驶技术时考虑更多多样化训练样本的重要性。需要注意的是,由于模仿学习网络仅基于当前摄像头输入做出驾驶决策,因此每个案例使用单帧进行可视化已足以揭示攻击成功的根本原因。
七、结论
在本文中,我们开发了一个通用的建模框架和仿真基础设施,用于研究端到-end自动驾驶模型上的对抗样本。我们的模型和仿真
该框架可应用于本文范围之外,为未来的研究提供有用的工具,以揭示当前模型中的潜在缺陷,最终目标是改进这些模型。通过综合实验结果,我们证明了易于实现的简单物理对抗样本(例如单色单线和多线图案)不仅存在,而且在某些驾驶场景下可能非常有效,即使对于在无攻击情况下表现稳健的模型也是如此。我们证明了贝叶斯优化结合强目标函数是生成破坏性对抗样本的有效方法。我们还展示了通过修改目标函数,能够劫持车辆,使无人驾驶汽车偏离原始路线,转而行驶至攻击者选择的路线。最后,我们使用DeConvNet方法进行的分析为深入探索攻击生成和防御机制提供了关键见解。我们的代码仓库位于:
https://github.com/xz-group/AdverseDrive
64

被折叠的 条评论
为什么被折叠?



