自动驾驶系统中视觉感知模块的安全测试

本文提出了一种场景驱动的自动驾驶系统视觉感知模块安全测试系统,旨在解决深度学习系统的可解释性问题。该系统通过动态场景生成、自适应搜索算法和故障分析器,提高了安全问题检测效率。实验表明,与现有方法相比,本系统在相同时间内发现的安全问题更多,对CILRS和CIL系统的安全问题检测率分别提升了1.4倍。
摘要由CSDN通过智能技术生成

本文由吴昊,王浩,苏醒,李明昊,许封元,仲盛联合创作

摘要

近年来,基于深度学习的视觉感知技术的发展极大地促进了车联网领域中自动驾驶的繁荣,然而自动驾驶系统的安全问题频出引发了人们对自动驾驶未来的担忧.由于深度学习系统的行为缺乏可解释性,测试基于深度学习的自动驾驶系统的安全性极具挑战性.目前已有针对自动驾驶场景的安全性测试工作被提出,但这些方法在测试场景生成、安全问题检测和安全问题解释等方面仍存在不足之处.针对基于视觉感知的自动驾驶系统,设计开发了一种场景驱动的、可解释强的、运行高效的安全性测试系统.提出了一种能够平衡真实性与丰富度的场景描述方法,并利用实时渲染引擎生成可以用于驾驶系统安全性测试的场景;设计了一种高效的针对非线性系统的场景搜索算法,其可以针对不同的待测试系统动态调整搜索方案;同时,还设计了一个故障分析器,自动化分析定位待测试系统的安全性缺陷成因.复现了现有基于实时渲染引擎的动态自动驾驶测试系统,并同时使用本系统和复现系统对CILRS系统和CIL系统进行安全测试,实验结果表明相同时间下本工作的安全问题发现率是复现的场景驱动的动态测试方法的1.4倍.进一步的实验表明,可以分别为具有代表性的深度学习自动驾驶系统CIL和CILRS,从旷野、乡村与城市的3类环境中动态生成的共3000个场景中,搜索到1939和1671个造成故障的场景,并且每个故障场景的搜索时间平均为16.86s.分析器从统计的角度判断出CILRS系统容易造成故障的区域在道路两侧,雨天和红色或黄色物体更易造成该自动驾驶系统发生故障.

车联网领域随着物联网与交通运输领域的深度融合蓬勃发展.随着深度学习的进步,车联网领域的自动驾驶技术得到了突破性的发展,并有演化成一场新的汽车工业革命的趋势.无论是特斯拉、蔚来等新型车企,还是福特、宝马等传统车企都陆续拿到了自动驾驶路测牌照,着眼于研发深度自动驾驶技术.迅猛发展的深度自动驾驶技术正逐渐成为车联网领域的主要支撑技术之一,正在改变未来的交通和出行方式.

视觉感知模块是自动驾驶进行环境感知的重要组件,也是车辆进行智能决策的重要基础.自动驾驶领域的重要企业特斯拉更是将视觉感知模块作为其驾驶系统的唯一环境感知模块.因此,自动驾驶系统视觉感知模块的安全性是自动驾驶系统正常工作的关键.虽然视觉感知模块的表现随着深度视觉技术的发展稳步提升,但是其从驾驶环境中感知到的特征语义难被理解、决策过程无法解释.如何对自动驾驶系统视觉感知模块的安全性进行充分测试,已经成为了一个迫在眉睫、亟待解决的问题.

诚然,围绕深度学习可解释性方面的工作有了一定的突破,但是距离分析清楚自动驾驶视觉感知模块的错误传导机理还有较远的距离.近年来,神经网络的黑盒攻击方法的进步,启发大家提出了一些基于场景搜索的自动驾驶视觉感知模块安全性测试技术.这些场景驱动的测试方法利用黑盒测试的思路,为驾驶系统提供尽可能多的驾驶场景数据,观察自动驾驶系统的输出与测试预言(TestOracle)之间的差异,进而分析自动驾驶系统视觉感知模块的安全性.

我们认为场景驱动的黑盒安全测试是在弄清深度学习可解释性之前,对于视觉感知模块安全性最 为重要的测试手段.但目前对于将生成场景应用于视觉感知模块的测试,我们仍面临着3个挑战 :

1) 平衡场景描述的真实性与丰富度.场景生成 规则是场景驱动的测试系统的重要基础.保守的规则设计会造成场景覆盖能力不足; 而过于灵活的规则设计又会破坏物体相对关系,伤害场景真实性.探究一个能同时兼顾场景真实性和丰富度的场景生成规则极具挑战性.

2) 保证搜索算法的高效性和稳定性.单个物体的属性(如颜色、形状)与物体间的相互关系(如位置、方向)组合十分复杂.为了能够高效稳定地测试系统安全性缺陷,需要:①动态地针对不同自动驾驶系统视觉感知模块产生个性化的场景搜索方案,以保证搜索过程的步骤较少;②同时尽可能缩短单步搜索的时间.

3) 解释测试结果的精确性与自动化.以往测试系统需要介入人工分析缺陷原因.若想做到自动化地分析测试结果,系统需要能够精细地操纵场景中每个元素来定位系统安全性缺陷的成因.

围绕场景驱动的视觉感知模块的黑盒安全测试,学术界已经有了初步探索.在场景测试方法当中,基于实时渲染引擎的一系列测试方法由于其场景生成的灵活性受到了广泛关注.最初,基于实时渲染引擎的场景驱动的安全测试采用的是基于预定场景的测试思路.其中的代表性工作是CARLA0.8.X,该工作使用UnrealEngine创建用以测试系统的固定驾驶线路.接着,Scenic等人提出了一种场景生成的编程接口,以使此类测试程序更加系统化,奠定了静态的基于场景测试的基础.然而,其模拟环境较为固定,缺乏动态行为,同时对于非实体对象(如天气)的描述缺少自由度.基于实时渲染引擎的场景驱动的安全测试的最新工作,Paracosm在Scenic的基础上,提出了基于随机搜索的动态场景生成方法来进行视觉感知模块的安全测试.由于该动态场景搜索方法相对简单,对待测试视觉感知模块的适应性不足,因此,安全问题的搜索过程不够高效.本文在前述工作的基础上,提出了一种基于结果反馈的动态场景搜索算法,从而提高了自动驾驶系统中视觉感知模块的安全问题测试效率.更多细节将在1.5节进行详细介绍.

本工作中,类比深度学习黑盒攻击策略,借助实时渲染引擎的开放度,设计并提出了一套可靠且具有可解释性的自动驾驶视觉感知模块安全性测试系统.主要的贡献有3方面:

1) 本工作针对车联网场景下自动驾驶系统感知模块的安全问题,提出并设计了一套场景驱动的黑盒安全性测试系统.与现有工作相比,该系统引入基于结果反馈的动态化测试策略,通过自适应机制在循环中不断调整输入数据的生成,实现对感知模块高效、稳定的非入侵式安全测试.

2) 面向自动驾驶视觉感知模块的动态测试新需求,本工作设计了细粒度场景描述方法、适应性动态搜索算法和自动化系统缺陷分析的动态测试技术,从测试粒度、反馈自适和可解释性3个方面对提出的黑盒安全性测试系统进行了优化.

3) 本工作以2个代表性的开源自动驾驶系统为对象开展了测试系统的验证,分别动态生成了3000个场景,并各自找到了1939和1671个故障场景,平均每16.86s可发现一个故障场景.实验表明,得益于动态自适的场景搜索方法,本工作的安全问题发现率是现有基于实时渲染引擎的场景驱动的动态测试方向中最好工作的1.4倍.

1 相关工作

1.1 基于神经元覆盖的自动驾驶测试

神经元覆盖是类比传统程序的分支覆盖而设计的.此类工作定义当测试输入经过神经元使神经元输出满足某种状态时,该神经元则称被测试样例覆盖(激活)了.此类工作,以最大化神经元覆盖为优化目标,来寻找输入样例.自DepXplore引入神经元覆盖的概念并成功应用于基于视觉的深度自动驾驶领域后,已有大量关于神经元覆盖的工作出现,提出了各式各样的覆盖标准,并成功使传统软件测试方法如蜕变测试、模糊测试、符号测试等迁移到深度学习测试任务中.然而,这种类比属于一种机械类比,神经元的输出值的状态与传统软件测试中的分支是完全不同的概念,因而这种类比方法的有效性始终受到人们质疑.并且,基于神经元覆盖的设计也难以给出基于语义的测试样例故障原因,不利于自动驾驶系统安全性的进一步提升.

1.2 基于错误注入的自动驾驶测试

AVFI使用软件故障注入模拟自动驾驶系统的硬件故障,以测试系统的容错性.随后DriveFI使用Apollo和DriveAV在CARLA模拟器和DriveSim上进行实验,利用贝叶斯网络模拟自动驾驶系统加速错误注入后的验证过程,能最大限度地挖掘出影响自动驾驶系统的故障.Kayote在上述工作的基础上,添加了描述误差传播的能力,并且能直接注入CPU和GPU的位翻转.这些工作是从容错性的角度考察自动驾驶系统的特性的,而且实际考察的是自动驾驶系统的硬件故障.这类工作与本工作讨论的场景和问题是正交的,本工作研究的是自动驾驶系统软件,特别是其视觉感知模块的安全性.

1.3 基于搜索的自动驾驶测试

基于搜索的自动驾驶安全性测试的核心思路如下:给定待测自动驾驶系统的输入空间,定义待测系统的特殊输入状态,通过在输入空间搜索,确定哪些输入会造成系统输出特殊状态,从而实现对输入空间的划分.Abdessalem利用搜索算法在输入空间给输入打上标签,同时利用标签数据训练分类器,对输入空间进行了决策边界的划分.随后,他把对少体问题的状态空间的搜索过程扩展到多体问题状态空间中的搜索,提出了FITEST搜索测试方法.这样的方法的局限性在于,分类器的引入隐含假定了输入空间是局部连续线性的,例如使用决策树进行划分时,潜在认为了2个正例状态之间也是正例状态.对于AEB系统这样问题定义在线性域下的系统,分类器的设计是合理的,但是对于具有高度非线性系统的深度学习系统,这样的方法显然是不适用的.除此之外,Wicker利用两者博弈的想法,通过操纵图片上的像素点,利用蒙特卡洛树搜索博弈的渐进最优策略,来寻找造成模型出错的反例.这样的搜索策略的搜索空间是像素级的,搜索结果不具备在现实中的真实性.

1.4 基于真实数据的测试方法

基于真实数据的测试方法主要分为2种:1)通过收集大量的用户驾驶数据来改善其自动驾驶系统的质量,如Tesla;2)实景测试,在真实的公路环境下使用原型车辆进行测试,考虑到安全因素,该方法的测试条件比较严格.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值