随着快节奏的生活,小汽车几乎是每个家庭中必不可少的出行工具,所以我们今儿来说说汽车的自动化测试。让你更了解你的小汽车。当当,话题开始~
深度神经 络(Deep Neural Network, DNNs)最近取得了很好的进展,这促进了DNN驱动的自动驾驶汽车的发展。它们通过传感器如摄像机、激光雷达等感知环境,就可以在无人辅助的情况下自动驾驶。主要的制造商包括通用、福特、特斯拉、宝马,和waymo 谷歌正致力于建造和测试不同类型的自动驾驶汽车。然而,尽管DNNs取得了惊人的进展,就像传统的软件一样,却常常暴露出不正确或不符预期的极端情形行为,这些可能会导致潜在的致命碰撞。几起自动驾驶汽车涉事的真实世界的事故已经发生,其中一个还导致了死亡。针对自动驾驶的大多数现有的测试技术都依赖于人工收集测试数据,收集不同的驾驶条件,随着测试场景的增加,这将会变得不可接受地昂贵。
1、我们提出一套自动化生成合成测试用例的系统性的技术,在安全攸关的基于DNN的系统中,如自动驾驶系统,能使模型的神经元覆盖率最大化。我们的经验研究表明,神经元覆盖的变化与自动驾驶汽车行为的变化是相关的。
2、我们证明了不同的图像变换,如对比度的变化,雾的存在与否等,可以用来产生合成测试用例,增加神经元的覆盖率。我们利用基于转换的蜕变关系来自动检测错误行为。我们的实验也表明,合成的图像可用于重新训练DNNs模型,使DNNs模型在处理极端情形的时候更健壮。
3、我们在DeepTest上实施该技术,据我们所知,这是针对DNN驱动的自动驾驶系统的第一个系统性的自动化测试工具。我们用DeepTest系统性地测试实际的Udacity自动驾驶汽车挑战赛中三大性能最好的DNN模型。DeepTest能发现成千上万的错误行为,许多可导致潜在的致命的碰撞。
4、DeepTest检测到的致命错误行为,我们已经公开在deepTest或前往51Testing软件测试 。我们也计划公开发布生成的测试用图像以及工具的源代码,以供开源 区使用。
真实世界中发生的自动驾驶汽车的车祸,分别由下雨传感器失效、图像识别失败导致人员死亡、错误地估计了车速导致。
我们的工具DeepTest在实际的深度神经 络Chauffeur 中发现的错误的危险行为。
深度神经 络(DNNs)主要分为卷积神经 络(CNN)和循环神经 络(RNN),简化了的架构分别如图所示。
通过图片转换合并来提高神经元覆盖率的贪婪搜索算法。
此图表明不同的图像转换方法(如模糊、旋转、平移等等)激活的神经元的差异,竖轴的杰卡德距离越大表明差异越大,可以看出除了第二个LSTM,其他的模型都是显著有差异的,这表明不同的图像转换方法激活的神经元是显著不同的。
三个图片在不同的图像转换下的平价累积神经元覆盖率。
如表格所示,主要研究了神经元覆盖和汽车行为的关系。第三列的统计结果中,Spearman相关系数刻画的是神经元覆盖率和转弯角度的关系,为正时表明神经元覆盖增加时,转弯角度就会变大,反之就会减小。可以看出转弯角度和神经元覆盖的线性关系是统计显著的,第四列的统计结果是刻画了转弯方向和神经元覆盖的相关DeepTest使用合成图像检测到的错误行为。
如想学习更多自动化测试方面的文章,请前往51Testing软件测试 。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!