前言
随着人工智能及其软硬件技术的进步,近年来自动驾驶获得了快速发展。自动驾驶系统已经被应用于民用汽车辅助驾驶器、自动物流机器人、无人机等领域。感知组件是自动驾驶系统的核心,它使得车辆能够分析并理解内外交通环境信息。然而,与其他软件系统一样,自动驾驶感知系统困扰于软件缺陷。并且,自动驾驶系统运行于安全攸关场景,其软件缺陷可能导致灾难性后果。近年来,已经发生多起自动驾驶系统缺陷导致的人员伤亡事故。自动驾驶系统测试技术受到学术界和工业界的广泛重视。企业与研究机构提出了一系列包括虚拟仿真测试、实景道路测试和虚实结合测试等在内的技术和环境。然而,由于自动驾驶系统输入数据类型的特殊性和运行环境的多样性,这类测试技术的实施过程需要消耗过多资源,并需要承担较大风险。本文简要分析当前自动驾驶感知系统测试方法的研究和应用现状。
1 自动驾驶感知系统测试
自动驾驶感知系统的质量保障越来越重要。感知系统需要帮助车辆自动分析和理解路况信息,其构成非常复杂,需要充分检验待测系统在众多交通场景下的可靠性和安全性。当前自动驾驶感知测试主要分为三大类。无论何种测试方法,都表现出了一个区别于传统测试的重要特征,即对于测试数据的强依赖性。
第一类测试主要基于软件工程理论和形式化方法等,以感知系统实现的模型结构机理为切入点的测试。这种测试方法建立在对于自动驾驶感知运行机理和系统特征的高度理解上。这种偏向感知系统逻辑测试的目的是在系统开 发早期发现感知模块设计缺陷,以保障早期系统迭代中模 型算法的有效性。研究人员基于自动驾驶算法模型特征,提出了一系列测试数据生成、测试验证指标、测试评估方法和技术。
第二类测试虚拟仿真方法,借助计算机抽象实际交通 系统来完成测试任务,包括在预设虚拟环境下的系统测试或者面向感知组件的独立测试。虚拟仿真测试的效果依赖 虚拟环境真实度、测试数据质量和具体测试执行技术,需 要充分考虑仿真环境构建方法、数据质量评估和测试验证 技术的有效性。自动驾驶环境感知和场景分析模型依赖大规模的有效交通场景数据进行训练和测试验证。国内外研 究者针对交通场景及其数据构造生成技术进行了大量的研究。利用数据变异、仿真引擎生成和游戏模型渲染等方法 构建虚拟测试场景数据,从而获得高质量的测试数据,并将不同的生成测试数据用于自动驾驶模型和数据扩增和增 强。测试场景和数据生成是关键技术。测试用例必须足够 丰富,以覆盖测试样本的状态空间。需要在极端交通情况 下生成测试样本,测试系统在这些边界用例下决策输出模 型的安全性。虚拟测试往往结合现有的测试理论和技术,构建用于评估和验证测试效果的有效方法。
第三类是对搭载自动驾驶感知系统的真实车辆进行路测,包括预设的封闭场景测试和实际路况测试等。这类测试优点在于真实环境下的测试可以充分保障结果的有 效性。然而,这类方法存在测试场景难以满足多样化需求,相关交通场景数据样本获取困难,真实道路采集数据 人工标注成本高昂、标注质量参差不齐,测试里程要求过 大,数据采集周期过长等困难。危险场景人工驾驶存在安全风险,在现实世界中测试人员很难解决这些问题。同时,交通场景数据还受到数据来源单一、数据多样性不足等问 题,不足以满足软件工程中自动驾驶研究人员的测试验证 要求。尽管如此,道路测试作为传统汽车测试不可缺少的 一环,在自动驾驶感知测试中极为重要。
从测试类型上看,感知系统测试针对车辆开发生命周期,存在不同的测试内容。自动驾驶测试可分为模型在环(MiL)测试、软件在环(SiL)测试,硬件在环 (HiL)测试、整车在环 (ViL) 测试等。本文重点介绍自动驾驶感知系统测试 SiL 和 HiL 相关部分。HiL 包含感知硬件设备,如摄像头、激光雷达、人机交互感知模块。而 SiL 通过软件仿真来替换真实硬件产生的数据。两者的测试目的都是在于验证自动驾驶系统的功能、性能、鲁棒性和可靠性等。针对特定的测试对象,不同类型的测试在每个感知系统开发阶段,结合不同的测试技术,完成对应的验证要求。当前自动驾驶感知信息主要来源于对几类主要数据的分析获得,包括基于图像(摄像头)、点云(激光雷达)、以及融合感知系统。本文主要分析这三类数据的感知测试。
2 自动驾驶图像系统测试
多类型摄像头采集的图像是自动驾驶感知最为重要的输入数据类型之一。图像数据能够提供车辆运行前视、环视、后视和侧视环境信息,帮助自动驾驶系统实现道路测距、目标识别与跟踪、自动变道分析等功能。图像数据具有多种格式,例如 RGB 图像、语义图像、景深图像等。这些图像格式存储具有各自的特点,例如RGB图像色彩信息更加丰富,景深图片则包含更多的场景深度信息,语义图像基于像素分类获得,对于目标检测和跟踪任务更加有利。
基于图像的自动驾驶感知系统测试依赖大规模的有效交通场景图像进行训练和测试验证。然而真实道路采集数据人工标注成本高昂,数据采集周期过长,危险场景人工驾驶法律法规不完善,且标注质量参差不齐。同时,交通场景数据还受到数据来源单一、数据多样性不足等因素影响,不足以满足自动驾驶研究的测试验证要求。
国内外研究者针对交通场景数据的构造生成技术进行了大量的研究,利用数据变异、对抗生成网络、仿真引擎生成和游戏模型渲染等方法构建虚拟测试场景数据,从而获得高质量的测试数据,将不同的生成测试数据用于自动驾驶模型和数据增强。使用图像硬编码变换的方法生成测试图像是一种有效方法。可以利用多种数学变换和图像处理技术变异原始图像,测试自动驾驶系统在不同环境条件下潜在的错误行为。
Zhang等人使用了基于对抗生成网络的方法进行图像风格变换,以模拟指定环境条件的车辆驾驶场景。一 些研究在虚拟环境中执行自动驾驶测试,利用从物理仿真 模型中的 3D模型构建交通场景,并渲染为 2D的图像作 为感知系统的输入。测试图像还可以利用合成方式生成,在低维图像的子空间中采样可修改内容并进行图像合成,和对图像直接变异相比,合成场景更加丰富,且图像扰动操作更加自由。Fremont等人使用自动驾驶领域特定 编程语言 Scenic预先设计测试场景,使用游戏引擎接口 生成具体交通场景图像,在目标检测模型上使用渲染生成的图像进行训练和验证。
Pei等人使用差分测试的思想寻找自动驾驶转向模型的不一致输出,还提出使用神经元覆盖率,即神经网络中神经元超过预设给定激活阈值的比例,来衡量测试样本的有效性。在神经覆盖基础上,研究者还提出了很多新的测试覆盖概念,例如神经元边界覆盖、强神经元覆盖、层级神经元覆盖等。除此之外,使用启发式搜索技术寻找目标测试用例,也是有效的方法,核心难点在于设计引导搜索的测试评估指标。自动驾驶图像系统测试普遍存在特殊驾驶场景有标数据匮乏等问题。本团队提出了一种自适应性的深度神经网络测试用例选择方法ATS,以软件测试领域中自适应随机测试的思想为启发,解决自动驾驶感知系统中深度神经网络测试数据标记的人力资源成本高这一难题。
3 自动驾驶激光雷达系统测试
激光雷达作为自动驾驶系统至关重要的传感器,够测定传感器发射器与目标物体之间的传播距离,分析目标物体表面的反射能量大小、反射波谱的幅度、频率和相位等信息。其采集的点云数据精确描绘了驾驶场景中各类物体的三维尺度与反射强度信息,能够弥补摄像头在数据形式和精度上不足。激光雷达在自动驾驶目标检测与定位建图等任务扮演着重要角色,仅靠单一视觉无法替代。
作为典型的复杂智能软件系统,自动驾驶将激光雷达捕获的周围环境信息作为输入,并通过感知模块中的人工智能模型做出判断,经系统规划控制后,完成各类驾驶任务。虽然人工智能模型的高复杂性赋予了自动驾驶系统的感知能力,但现有的传统测试技术依赖于点云数据手动收集和标注,成本高昂效率低下。另一方面,点云数据具有无序、缺少明显的颜色信息、容易受到天气因素干扰、且信号容易衰减,使得点云数据的多样性在测试过程中尤为重要。
针对基于激光雷达的自动驾驶系统测试还处于初步阶段。实际路测和仿真测试都存在代价昂贵、测试效率低下、测试充分性无法保证等问题。针对自动驾驶系统面临的测试场景多变、软件系统庞大复杂、测试成本巨大等问题,能够结合领域知识提出测试数据生成技术对自动驾驶系统保障有着重要意义。
在雷达点云数据生成方面,Sallab等人 通过构建循环一致性生成对抗网络对雷达点云数据进行建模,并对模拟数据进行特征分析生成新的点云数据。Yue等人提出了一个针对自动驾驶场景的点云数据生成框架,该框架通过精确地对游戏场景中的点云数据进行基于标注物体的变异,从而获得新的数据,他们用该方法获得的变异数据重新训练自动驾驶系统的点云数据处理模块,得到了较好的精确度提升。
本团队设计并实现了一个激光雷达自动化测试工具 LiRTest, 主要用于自动驾驶汽车目标检测系统的自动化测试,并且能够进一步重新训练以提升系统鲁棒性。LiRTest 首先由领域专家设计了物理和几何模型,然后根据模型构造变换算子。开发人员从现实世界的数据中选择点云种子,利用点云处理单元对其进行识别和处理,并实现基于变换算子的变异算法,来生成评估自动驾驶 3D目标检测模型的鲁棒性的测试数据。最终 LiRTest 得到测试报告,并对算子设计给出反馈,从而迭代提升质量。
自动驾驶系统是一种典型的信息 - 物理融合系统,其 运行状态不仅由用户输入信息及软件系统内部状态决定,同时也受到物理环境的影响。虽然目前有少量研究关注多种环境因素影响的点云数据生成问题,但由于点云数据的 自身特点,其生成数据的真实性很难与路测数据等同因此,如何在不明显增加额外资源消耗的情况下,自动化地生成能够描述多种真实环境因素的点云数据,是需要解决的一个关键问题。
在自动驾驶软件常见软件架构中,人工智能模型对于驾驶决策及系统行为具有极其重要的影响,其影响到的功能包括:物体识别,路径规划,行为预测等。点云数据处理最常使用的人工智能模型是目标检测模型,采用深度神经网络实现。虽然该技术可以在特定任务上获得较高的精确度,但是由于其结果缺乏可解释性,用户与开发人员无法对其行为进行分析确认,给测试技术的研发以及测试充分性的评估带来了极大的困难。这些,都是未来激光雷达模型测试人员需要面对的挑战。
4 自动驾驶融合感知系统测试
自动驾驶系统通常配备多种传感器以感知环境信息,并搭载多种软件和算法以完成各类自动驾驶任务。不同传感器具备不同的物理特性,其应用场景也存在差异。融合感知技术可以弥补单一传感器环境适应性差的特点,通过多传感器互相配合协作保证自动驾驶系统在各种环境条件下正常运行。
由于信息记录方式的不同,不同类型传感器之间存在较强互补性。摄像头安装成本低,采集的图像数据分辨率高,具备丰富的颜色和纹理等视觉信息。然而,摄像头对环境敏感,在夜晚、强光等光线变化时可能会不可靠。而激光雷达则不易受到光线变化的影响,在白天和黑夜中提供精确的三维感知能力。然而,激光雷达造价昂贵,采集的点云数据缺乏颜色信息,很难识别没有明显形状的目标。如何利用各模态数据的优点,挖掘更深层次的语义信息成了融合感知技术中的重要问题。
研究者们提出了多种数据融合的方法。基于深度学习的激光雷达和摄像头的融合感知技术由于其高准确性已成为了主要研究方向。Feng等人将融合方法可简要概括为三种 : 前期,中期和后期融合。前期融合仅对原始数据或预处理后的数据进行融合;中期融合对每个分支提取的数据特征进行交叉融合;后期融合仅融合每个分支最后的输出结果。尽管基于深度学习的融合感知技术在现有的基准数据集中展示了巨大的潜力,但此类智能模型在环境复杂的真实场景中仍可能会表现出不正确和意外的极端行为,从而导致致命的损失。为确保自动驾驶系统的安全性,需要对这类融合感知模型进行完备的测试。
目前,融合感知测试技术仍处于初步阶段,测试输入域庞大,数据收集成本高是主要难题,自动化的测试数据生成技术因而得到了广泛关注。Wang等人 提出一种跨模态数据增强算法,根据几何一致性规则将虚拟对象插入到图像和点云中生成测试数据集。Zhang 等人提出一种多模态数据增强方法,利用多模态转换流保持点云和图像像素之间的正确映射,并在此基础上进一步提出了多模态剪切和粘贴增强方法。
考虑到真实场景中的复杂环境对传感器的影响,本团队设计了一种针对于多模态融合感知系统的数据扩增技术。该方法由领域专家为各模态数据制定一套具有现实语义的变异规则,自动化的生成测试数据,以模拟真实场景中对传感器干扰的多种因素,在有限的资源内帮助软件开发人员测试和评估融合感知系统。该方法使用的变异算子包含三大类别:信号噪声算子,信号对齐算子和信号丢失算子,分别模拟真实场景中存在的 不同类型干扰。噪声算子即指 在传感器数据采集过程中,受环境因素影响而使得采集数据存在噪声。例如,对于图像数据,采用光斑、模糊等算子以模拟摄像头遇强光,抖动时的状况。对齐算子模拟了多模态数据模态未对齐的情况,具体包含时间未对齐和空间未对齐。对于前者,通过随机将一路信号延后以模拟出现传输阻塞或延迟的情况。对于后者,通过对各传感器的标定参数进行微小调整,以模拟在车辆在行进过程中由于车辆抖动等问题而导致传感器发生位置轻微变化。信号丢失算子则模拟传感器失灵。具体而言,随机将一路信号丢弃后,观察融合算法能否及时做出反应或正常工作。
总之,多传感器融合感知技术是自动驾驶发展的必然趋势,完备的测试是保证系统在复杂的真实环境中正常工作的必备条件,如何在有限资源内充分的测试仍是一个亟待解决的问题。
结论
自动驾驶感知测试正与自动驾驶软件开发流程紧密结合,各类在环测试将逐渐成为自动驾驶质量保障的必要组成部分。在工业应用中,实际路测仍然重要。但是存在成本过高、效率不足、安全隐患大等问题,远远不能满足自动驾驶智能感知系统的测试验证需求。形式化方法、仿真虚拟测试多个分支研究领域快速发展提供了完善测试的有效途径,研究者们探索适用于智能驱动的模型测试指标与技术,为虚拟仿真测试方法提供支撑。本团队致力于研究自动驾驶感知测试数据生成、评估和优化方式,重点面向基于图像、点云数据和感知融合测试三个方面开展深入研究,以保障高质量的自动驾驶感知系统。