原创 测试工具DeepTest : 深度神经网络驱动的 DNN自动驾驶汽车自动化

2020-6-19 11:19 384 2 2 分类: 汽车电子 文集: 人工智能

总结

本文实现了一个系统化的测试工具 DeepTest,可以自动检测出 DNN 自动驾驶系统可能导致事故发生的错误决策,主要是分析摄像头捕获到的图像致使自动驾驶汽车转向的行为。首先,DeepTest 系统化自动生成测试用例,能使模型的神经元覆盖率最大化,比如模拟下雨,起雾,光照条件等实际场景。其次,本文证明了神经元覆盖率的变化可以影响到自动驾驶汽车转向行为的变化,并且对于摄像机捕获到图像进行各种转换,可以激活 DNN 中不同组的神经元,从而最大化神经元覆盖率。最后,本文对于不同测试用例进行真实图像变换,利用蜕变关系自动检测错误行为,合成的图像还可以用于再训练,使 DNN 自动驾驶汽车系统具有更强的鲁棒性。

摘要

深度神经网络(DNN)的最新研究进展使得 DNN 驱动的自动驾驶汽车的迅猛发展,该自动驾驶汽车使用摄像头,LiDAR 等传感器,无需任何人工干预即可驾驶。包括 Tesla,GM,Ford,BMW 和 Waymo / Google 在内的大多数主要制造商都在致力于构建和测试不同类型的自动驾驶汽车。美国包括加利福尼亚州,德克萨斯州和纽约州在内的几个州的立法者已经通过了新的立法,以进行道路上自动驾驶汽车的测试和部署。但是,尽管 DNN 取得了令人瞩目的进步,但与传统软件一样,它们经常表现出不正确或意外的极端情况,可能导致致命的碰撞。已经发生了几起涉及自动驾驶汽车的实际事故,其中包括一些事故导致死亡。用于 DNN 驱动的车辆测试技术大部分都严重依赖于在不同驾驶条件下手动收集测试数据,随着测试场景需求的增加,这种测试数据获取的成本过高。在本文中,我们设计,实施和评估一种系统测试工具 DeepTest,用于自动检测 DNN 驱动的车辆的错误行为,这些行为可能导致致命的撞车事故。首先,我们的工具旨在根据驾驶条件(如雨,雾,光照条件等)的实际变化自动生成测试用例。DeepTest 通过最大化激活神经元数量来生成测试用例,系统地探索 DNN 的不同部分的逻辑。 DeepTest 在不同的现实驾驶条件下(例如,模糊,下雨,起雾等)发现了数千种错误行为,其中许多行为可能导致 Udacity 自动驾驶汽车挑战赛中三个性能最高的 DNN 产生致命事故。

本文主要贡献:

  1. 我们提供了一种自动合成测试用例的技术,可在安全攸关的 DNN 的系统(例如自动驾驶汽车)中最大化神经元覆盖范围。我们证明了神经元覆盖范围的变化与自动驾驶汽车行为的变化相关。
  2. 我们证明了不同的图像变换(如对比度变化,雾的存在等)可用于测试来增加神经元覆盖率。 我们利用特定于变换关系来自动检测错误行为。 我们的实验还表明,合成图像可用于重新训练,并使 DNN 对不同的极端情况更为稳健。
  3. 据我们所知,DeepTest 是首款针对 DNN 驱动的自动驾驶汽车的系统化和自动化测试工具。 我们使用 DeepTest 对来自 Udacity 驾驶挑战的三个性能最高的 DNN 模型进行系统测试。 DeepTest 在这些系统中发现了数千种错误行为,其中许多行为可能导致潜在的致命碰撞。

背景知识

自动驾驶汽车的关键组件是由底层的深度神经网络(DNN)控制的感知模块。 DNN 接收来自不同传感器的输入,例如摄像机,光检测和测距传感器(LiDAR)和 IR(红外)传感器,这些传感器可感知环境并输出转向角,制动力度等,使得在各种条件下安全操纵汽车。

自动驾驶汽车中使用的大多数 DNN 可以分为两种类型:(1)前馈卷积神经网络(CNN)和(2)循环神经网络(RNN)。 我们测试的 DNN 包括两个 CNN 和一个 RNN。

实验方法

1. 基于神经元覆盖的系统性测试。

在本文中,我们基于所有具有相似神经元覆盖率的输入均属于同一等价类的假设(即目标 DNN 对于这些输入的行为类似),利用神经元覆盖率作为划分输入空间的一种机制。

2. 利用图像合成的方法最大化神经元覆盖率

DeepTest 通过将图像变换应用于种子图像并模拟不同的现实世界情况(例如相机镜头变形,物体移动,不同的天气条件等)来生成逼真的合成图像。为此,我们研究了九种不同的逼真的图像变换(改变亮度,改变对比度,平移,缩放,水平剪切,旋转,模糊,添加雾效果和施加下雨效果)。 这些转换可以分为三类:线性,仿射和卷积。我们的实验结果表明,转换后所有测试的 DNN 都显著提高了神经元覆盖率。

3. 用变换组合提高神经元覆盖率

不同的图像变换可以激活不同的神经元,如果这些变换堆叠起来的话,可以激活更多的神经元。可是,所有变换组合的状态空间非常巨大,本文提供了一种神经元覆盖率引导的贪婪搜索技术,可以有效地找到导致更高覆盖率的图像变换组合。

4. 利用蜕变关系创造 Test Oracle

自动驾驶系统是一个基于 DNN 的复杂系统,手动创建系统规范是极其困难的,因为这涉及到重新创建人类驾驶员的逻辑。本文巧妙地避免了这个问题,转而考虑不同合成图像间对应汽车不同决策行为之间的蜕变关系。例如,在任何灯光/天气条件、模糊或任何具有小参数值的仿射变换下,对于同一图像,自动驾驶汽车的转向角不应发生显著变化。本文使用相对宽松的蜕变关系寻求一种权衡,于是借助均方差重新定义了一个蜕变关系,即认为模型对于输入的转换图像产生的误差应该在 λ 倍的均方差内。

实验结果

本文将 deeptest 工具用于对三款在 Udacity 自动驾驶挑战赛中获得优异名次的 DNN 车型上进行评估,分别为 Rambo(第二名), Chauffeur (第三名), 和 Epoch(第六名).得出以下四个结论:

  1. 神经元覆盖率与输入输出多样性相关,可用于系统化测试生成。
  2. 不同的图像变换倾向于激活不同的神经元。
  3. 通过系统地组合不同的图像变换,神经元覆盖率比原始种子图像可以提高约 100%。
  4. 借助神经元覆盖率引导生成的合成图像,DeepTest 成功地检测到三个模型所预测的 1,000 多种错误行为(图 1)。
  5. 通过使用 DeepTest 生成的合成数据对 DNN 进行重新训练,可以将 DNN 的准确性提高多达 46%。
DeepTest : 深度神经网络驱动的自动驾驶汽车的自动化测试

图 1 DeepTest 所发现的错误行为示例

实验有效性讨论

DeepTest 通过对种子图像应用不同的图像变换来生成逼真的合成图像。 但是,这些转换可能无法涵盖所有现实情况。 虽然我们设计的转换(如雨雾效果)是逼近现实的,但由于大量不可预测的因素(例如太阳的位置,雨滴的角度和大小),所生成的图片在现实中可能无法完全重现。 但是,随着图像处理技术变得越来越复杂,生成的图片将越来越接近现实。除此之外,完整的用于驾驶自动驾驶汽车的 DNN 模型还必须处理转向角以外的制动和加速问题。我们限制自己只能测试转向角的准确性,因为我们测试的模型尚不支持制动和加速。 但是,假设模型支持它们,我们的技术也应该很容易应用于测试这些输出。


文章评论0条评论)

登录后参与讨论
相关推荐阅读
红旗不倒 2020-08-04 14:33
电脑主板IC、贴片元器件大面积腐锈,老王DIY组装后让人哭笑不得
老王看起来近五十岁,交谈中可以得知他对电脑还是挺有“研究”的,特别是当我拆下机箱内的配件时,他能告诉我告诉我这个内存,这个是CPU还有那个是硬盘,其实它说着这些配件名称时,作为一个电脑专业维修的我来说...
红旗不倒 2020-07-23 10:49
廉价智能手环心率监测功能造假,电商平台便宜货不可贪
随着科技的发展与进步,相信许多朋友都已经拥有了属于自己的可穿戴设备,不论是VR眼镜还是智能手表或智能手环,都为我们打造了一个更加完美简单高效便捷的科技生活体验。而我们今天要讲的主角,正是智能手环,准确...
红旗不倒 2020-07-17 17:00
苹果赔偿三星9.5亿美元的原因:购买了OLED面板屏幕?
很客观地讲,今年年初这场黑天鹅事件的影响对苹果公司是非常非常大的。随着时间的推移,蝴蝶效应也渐渐在苹果的身上显现了出来,刚开始,苹果公司关闭线下门店,这也使得苹果的全球出货量或多或少的遭受到了影响。而...
红旗不倒 2020-07-16 15:07
三星6G网路技术白皮书的发布,比5g频谱使用效率速度的2倍
预期将加入更多无线网路连接模式、人工智慧等技术三星公布旗下对于第六代行动网路技术 (6G)白皮书,藉由本身从前端连网装置到后端网通设备均有涉足发展经验,分享5G网路之后的下一代行动网路发展看法,同时更...
红旗不倒 2020-07-07 14:27
LAMP:通过导数计算的基于图的机器学习算法的数据来源
1 摘要数据来源跟踪确定与给定输出相关的一组输入。它使数据工程中的质量控制和问题诊断成为可能。大多数现有技术通过跟踪程序依赖性来工作。他们无法从数量上评估相关输入的重要性,这对于机器学习算法至关重要,...
红旗不倒 2020-07-07 14:25
从华强北热卖二手苹果手机对国产品牌手机引发的思考
在华强北从事二手手机销售也有10几年了,从当初巅峰时刻的HTC再到巅峰时刻的三星,然后到一直很火爆的苹果。随着HTC,三星在国内市场的陨落,国产机品牌 的崛起。很多人开始选择国产品牌,但是还有相当大的...
广告
EE直播间
更多
我要评论
0
2
广告
关闭 热点推荐上一条 /7 下一条