自动驾驶仿真测试的难点

自动驾驶仿真测试是自动驾驶车辆商业化落地的一道重要关卡,仿真测试技术的发展进步将决定自动驾驶落地的时间点。

仿真测试对自动驾驶的重要性不言而喻,笔者写这些内容希望能够抛转引玉。更希望能够作为一个“呐喊者”让更多的人去关注和重视自动驾驶仿真测试这个领域。

自动驾驶系统现阶段最大的问题是“落地应用难”,之所以“落地应用难”是因为自动驾驶系统的安全问题尚未得到妥善的解决。解决系统安全问题就需要进行大量的虚拟仿真测试和实车道路测试,而仿真测试能够大大加快系统的测试验证进程,因此,如何高效、可信地对自动驾驶进行仿真测试评价是自动驾驶系统商业化落地的关键。

接下来讲一下目前自动驾驶仿真测试的两大痛点问题:仿真测试的置信度和仿真测试场景的覆盖度问题。

1. 置信度存疑

1.1. 仿真软件本身的置信度问题

现在虽然很多仿真平台都具有传感器建模仿真、车辆动力学建模仿真以及交通场景建模仿真的能力,但仿真模型大多都是建立在理想条件的情况下,仿真模拟器模拟出来的结果的置信度到底怎么样,还没有具体可量化的指标去评价。

以激光雷达仿真为例,激光雷达的反射强度与障碍物的距离、激光发射角度以及障碍物本身的物理材质相关。激光雷达探测范围大,发射出去的激光线束又十分密集,且在环境中存在多次反射、遮蔽等影响,计算返回的激光束比较复杂,很难较为真实地对激光雷达信号的回波进行模拟。现有激光雷达模型,大多是根据每一种物理材质的激光反射率直接计算回波信号。如此计算的话,与现实中的回波信号肯定是存在一定的误差。

若是考虑到传感器硬件或软件自身造成雷达的噪点问题,以及雨雪、水渍、灰尘等这些干扰雷达工作性能的环境因素,导致雷达性能减弱或者无法使用的现象。这些问题或现象更是激光雷达仿真模拟的难题。

1.2. 仿真平台复现和泛化出场景的置信度问题

目前通常采用的手段是,基于真实数据通过仿真模拟器去复现和泛化出更多的虚拟仿真测试场景。那么,这些测试场景与真实场景的拟合度能达到什么水平?

什么是场景的泛化呢?即将路采的真实场景数据进行特征提取、数据标注等操作后,仿真平台依据场景特征元素的关联关系或者人工经验等对场景元素进行重新组合或推演归纳处理,从而衍生出更多合理的新场景。

真实场景的泛化存在两个问题:

一是泛化的方向是否符合统计学意义与测试需求。当前的自动驾驶企业都未明确提出其动态场景相对于真实世界的统计学意义。确定仿真场景与真实世界在统计上的映射关系是亟待解决的难题。

二是泛化过程中真实性损失,例如,对密集交通流案例进行泛化,更改一条车辆轨迹后,在实际中会对周边多条轨迹产生影响并扩散开来,单车的行驶扰动有时会造成整个交通流的失稳,现在的泛化技术很难重现这种场景。

复现和泛化出来的虚拟仿真环境与真实环境之间必然存在差异,这种差异会对测试结果造成多大的影响,是否在可接受的范围内?可惜现在也还没有具体可量化的KPI指标去评价这些测试场景的置信度。

1.3. 测试结果评价标准的置信度问题

目前传统的测试手段还是以硬件测试(包括HIL硬件在环、VIL车辆在环)或真实道路测试为主。有调查结果显示,对于纯虚拟仿真测试(如MIL模型在环/SIL软件在环),很多客户认为验证出来的数据不是特别可靠,即真实性没有保证。

一位仿真专业人士曾在他的文章里讲到过:“在自动驾驶仿真中,是很难有‘参数标定’这个过程的,因为‘真实试验’对安全员有高危性,并且很难执行,因此也就很难调整仿真的参数,没有标定好的参数,又很难预测真实结果,就像个死循环。试验-仿真-试验的回路难通,仅靠经验式的仿真,结果如何让人信服?”

是呀,由于“试验-仿真-试验”的回路不通,结果的好坏比较难判定,客户对仿真结果的真实性存在疑问也就在所难免了。那么,又该如何提高自动驾驶仿真测试系统的置信度呢?现在虽然还没有完美的方案,但相关企业已经开始采用不同的方案来提升仿真系统的置信度水平了。

腾讯的自动驾驶仿真平台TAD-Sim采用游戏渲染+真实数据双擎驱动的方式,通过利用大量真实路采数据训练交通流AI模型,再结合游戏渲染引擎技术,自动构建互动性较强,贴近真实世界的测试场景。

百度采用增强现实的自动驾驶仿真系统-AADS,通过使用车辆搭载的激光雷达和高清相机扫描街景,获取车辆周围静态的场景图像和车流移动的动态轨迹数据;利用这些素材,系统再应用增强现实技术直接、自动地创建高逼真度的仿真图像,使得创建出的虚拟场景更加接近真实场景。

51WORLD采用数字孪生测试技术来增加仿真测试结果的置信度,即利用数字孪生技术构建一个与真实场景一致的虚拟场景模型。实车在真实场景测试的过程中,会以车辆在环方式将车辆实时状态数据实时映射到虚拟场景中,同时虚拟场景的测试数据和评价结果也会反馈给现实世界,作为指导和优化现实世界中真实车辆进行决策的重要依据。

2. 场景的覆盖度问题

2.1. “Corner Case”难以穷尽

现在自动驾驶仿真测试另一大痛点便是如何构建一个高覆盖度水平的场景库(覆盖几乎所有的“Corner Case”),若有这样完美的场景库,系统只需把场景库中所涵盖的测试用例都验证一遍,满足要求后便能够达标。

对自动驾驶仿真测试来讲,最大的挑战在于去收集到所有Corner Case,来覆盖不同的道路环境、天气环境以及交通状况,这几乎是不可能完成的任务。单从收集自动驾驶Corner Case这方面来讲,Waymo的实车路测里程比较长,从统计学角度讲,它碰到的Corner Case相对就多一些(截止到2020年,仿真系统里的模拟测试里程累计超过150亿英里,实际道路测试里程累计超过2000万英里)。尽管如此,其工程师们仍然发现有层出不穷的新长尾场景待解决。

其中国外一遍论文《Corner Casesfor Visual Perception in Automated Driving: Some Guidance on Detection Approaches》,对自动驾驶视觉感知中的Corner Cases进行分析,并提出了一些方法论。论文中根据检测出“corner cases”的复杂程度,由浅到深,由易到难划分了5个级别:

  • Pixel level:由数据上的错误造成;比如风挡上出现了污垢遮挡了摄像头的部分视野,或者夜里对向驶来的车辆开着的大灯让摄像头出现眩光等场景,导致摄像头采集的数据出现错误。
  • Domain level:数据表现出的对世界的观测产生了整体偏移;比如冬天到处覆盖着白色积雪的场景。
  • Object level:数据中存在未曾“见”过的实例;比如在居民区的道路中央出现了一只骆驼。
  • Scene level:单帧数据中出现了与预期不一致的场景模式;表现为熟知的物体出现了大量未知的聚集或者熟知的物体出现在异常的位置;比如大风过后,倒在路中间的树。
  • Scenario level:连续帧数据中出现了与预期不一致的场景模式;比如“鬼探头”,旁边静止的车辆前突然出现一个行人。

对于不同级别的Corner Case需要采用不同的方法,对于前3个级别相对简单的场景类型:pixel level、domain level、object level,可以抽取特征元素通过参数重组的方式来构建;然而对于Scene level和Scenario level这两种复杂级别的场景,数量也比较庞大,很难完全穷举。所以最好的办法还是需要进一步提升系统的感知能力,需要通过深度学习方法让系统从“感知”进化到“认知”,让系统也具备接近人一样的知识推理和泛化能力。

机器学习是解决自动驾驶长尾问题的一种有效工具。利用Machine Learning技术可以实现从数据采集、标注、训练、车端部署的闭环循环流程,从而实现Case的不断积累,模型的不断完善。但机器学习模型不能解决所有的问题,可通过采用机器学习和非机器学习混合系统,利用专家系统来弥补机器学习的不足。

对于消费者来说,是否使用自动驾驶汽车,安全肯定是其考虑的第一位的要素。同样,对于主机厂来说,能够让测试车辆能够应对各种“Corner Case”,进而保证量产车辆上路后的安全性也是他们的立命之本。

2.2. “Corner Case”的地域性特征

“Corner Case”的地域性特征主要表现在测试场景在不同国家和地区存在较大的不同。因为各个国家的道路环境、交通习惯、交通规则以及驾驶习惯都可能存在较大的差异。

  • 道路环境不同:不同国家的道路设计规范不同,如道路结构、交通标志、交通信号灯等形态各异。
  • 交通状况不同:在中国的城市道路上,人车混流的交通状况随处可见。无论在哪个城市的大街上,你都能看到快递小哥、外卖骑士驾驶着他们的坐骑与机动车并驾齐驱的场景;这种交通场景在北美和欧洲一些国家是很少见的。
  • 交通规则不同:国内红灯默认可以右转,很多地方在没有导向车道的路口是默认允许的,但德国默认不能右转。还有高速限速问题,国内的高速限速120,但德国高速的很多路段一般是不限速的,在那样的道路上飚个200是很正常的事,但是如果在中国这样做,那不仅是自己找死,也很有可能连累到无辜的人。
  • 驾驶习惯不同:在德国,先行权概念意识比较强,大家基本都是严格按照先行权逻辑开车;国内交规几乎没有这套逻辑,有红绿灯的路口相对还好一些,对于没红绿灯的路口,尤其是到了晚上,基本是谁胆大谁先过。国内还有一个不好的现象,就是加塞情况比较严重,尤其是在车辆拥堵时,你左右两边的车可能随时不打转向灯,便如幽灵般见缝插针地切入到你前面的空当位置。

由于不同国家和地区的车辆行驶环境的差异化,导致测试场景数据的具有很强的地域属性。测试车辆面对的极端工况场景在数量和内容形式上也会有很大的不同。大家可以想象一下,在美国地区测试完全安全的自动驾驶系统,如果放在中国这样交通环境更加复杂的国家去测试,系统必然会碰到之前没有遇到过的“Corner Case”,那么车辆的安全性将依然是没有保障的。

一个企业的自动驾驶系统如果想要在一个国家商业化量产应用的话,必然需要先通过当地的测试场景评价考核,即保证它能够应对当地的所有的极端工况场景。

然而,中国本土仿真企业具有“近水楼台”的先发优势,更容易设计开发出适合中国自动驾驶方案的仿真测试软件。首先,他们比国外企业更了解国内的道路环境、交通法规以及驾驶习惯;其次,更容易优先获得中国的路采场景数据。

3. 数据成本和路测里程要求

首先,自动驾驶作为人工智能技术的“皇冠”,其感知算法的训练需要采集大量的数据,这些数据集需要涵盖不同的天气、路况等交通条件,但是训练数据采集和标注的成本非常高昂,每年全球的自动驾驶开发者仅在第三方数据服务这一领域的资金投入就超过十亿美元。

其次,数据的采集和标注存在很明显的“重复造轮子”现象。每个公司都有自己的自动驾驶数据集,虽然已经有部分对外开放,但是比例很少,而且开放数据集只能满足通用的训练数据,国外数据集也很难完全满足国内的感知算法训练需要。

最后,在算法的测试验证上,行业普遍认为一套自动驾驶算法需要至少110亿英里的测试,才能达到量产应用的条件,这个距离相当于在太阳和地球之间往返50余次。而且110亿英里测试距离是针对特定一个版本的自动驾驶算法来说的,一旦算法升级,还需要重新测试,任何公司都无法承受这个成本。”

参考文献

自动驾驶仿真测试的两大痛点问题-有驾

突破自动驾驶测试瓶颈 腾讯模拟仿真平台详解 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/816028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一条命令把视频和字幕合并成一个文件

ffmpeg -i input_video.mp4 -i input_subtitles.ass -c:s mov_text -c:v copy -map 0:v -map 0:a -map 1:s output_video.mp4 参数说明: -i input_video.mp4 指定输入视频文件。 -i input_subtitles.ass 指定输入的字幕文件。 -c:s mov_text 指定字幕编码器为mov…

【LeetCode: 705. 设计哈希集合 + 数据结构设计】

🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…

Qt快速入门(MV架构之TableView + QStandardItemModel + 自定义代理小案例)

Qt快速入门(MV架构之TableView QStandardItemModel 自定义代理小案例) 关于MV架构的简单介绍 在Qt框架中,代理(Delegate)、模型(Model)和视图(View)之间的关系构成了…

【数据工具】ArcGIS批量出图工具箱

工具下载链接:数据下载链接 我们在使用Arcgis制图的过程中,经常会遇到需要大量出图的情况,如何将做好的图批量导出jpg是一件令人头疼的问题。 今天小编就给大家分享俩个ArcGIS批量出图的工具箱,一个可以批量导出图层为jpg&#…

Java-Scanner类进阶+题目

Scanner进阶 接收整数数据时: 接收小数数据时: 例子: 可以先这样弄出scanner的框架: 未完待续... ...

科技论文和会议录制高质量Presentation Video视频方法

一、背景 机器人领域,许多高质量的期刊和会议(如IEEE旗下的TRO,RAL,IROS,ICRA等)在你的论文收录后,需要上传一个Presentation Video材料,且对设备兼容性和视频质量有较高要求&#…

2024年DTC的回顾与思考

刚结束了2024的数据库技术嘉年华 这是我从2017年开始就参加的技术大会。中途因为疫情的耽误。正常来说我是连续的。知道我的朋友都知道我习惯炫耀一下。 按照惯例,此时此刻群友都在写大会回顾。只是有几个不讲武德的人已经发送了。下面有主观和客观的分析。 主观上…

手机银行客户端框架之TMF框架介绍

腾讯移动开发平台(Tencent Mobile Framework)整合了腾讯在移动产品中开发、测试、发布和运营的技术能力,为企业提供一站式、覆盖全生命周期的移动端技术平台。核心服务包括移动客户端开发组件、H5容器、灰度发布、热更新、离线包、网关服务、…

LeetCode-15-三数之和问题

题目说明 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a b c 0 ?找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 给定数组 nums [-1, 0,…

Vol.41 SEO基本术语解释

1.TDK TDK:即标题、描述、关键词;TDK是网站的基本属性,对SEO非常重要,可以帮助搜索引擎了解你的网站; T:title 谷歌建议不超过70个字符 D:description 谷歌建议不超过150个字符 K&#xff1…

element-ui中el-radio-group组件绑定点击事件触发多次的解决办法

1、需求 电商首页需求,需要做个单选框,然后点击选中切换图标方向及更换价格升倒序,如下图: 从官网文档看,单选框支持change event,使用click加载按钮处不会触发选中 但是使用 click.native 事件不做处理…

ACID模型是什么

ACID模型是什么 ACID模型是数据库管理系统中保证事务处理安全性的一组特性。ACID是原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)四个英文单词的…

开源博客项目Blog .NET Core源码学习(15:App.Hosting项目结构分析-3)

本文学习并分析App.Hosting项目中前台页面的关于本站页面和点点滴滴页面。 关于本站页面 关于本站页面相对而言布局简单,与后台控制器类的交互也不算复杂。整个页面主要使用了layui中的面包屑导航、选项卡、模版、流加载等样式或模块。   面包屑导航。使用layui…

初探vercel托管项目

文章目录 第一步、注册与登录第二步、本地部署 在个人网站部署的助手vercel,支持 Github部署,只需简单操作,即可发布,方便快捷! 第一步、注册与登录 进入vercel【官网】,在右上角 login on,可登…

WXML模板语法-条件与列表渲染

wx:if 在小程序中&#xff0c;使用wx:if"{{condition}}"来判断是否需要渲染该代码 也可以用wx:elif和wx:else来添加else判断 <!--pages/ifIndex/ifindex.wxml--> <view wx:if"{{type 1}}">男</view> <view wx:elif"{{type …

【Linux】磁盘与文件系统管理

目录 一、 磁盘结构 1. 数据结构 2. 物理结构 3. 硬盘的接口类型 二、 如何使用Linux中的磁盘 三、 文件系统 四、 磁盘分区 1. MBR分区 2. 分区的优缺点 3. 磁盘及分区的管理工具 五、格式化与挂载 1. 格式化 2. 挂载 六、实例演示 1. 演示分区格式化挂载 2. …

24年大一4月14日训练(东北林业大学)

前言&#xff1a; 今晚的5道题。 正文&#xff1a; Problem:A宋哥猜拳(2)&#xff1a; #include<bits/stdc.h> using namespace std; int main(){int t;cin>>t;while(t--){string x;cin>>x;int a0,b0,c0,lx.length();// cout<<l;for(int i0;i<l;i…

反射与动态代理

一、反射 什么是反射? 反射允许对成员变量&#xff0c;成员方法和构造方法的信息进行编程访问 1.获取class对象的三种方式 Class这个类里面的静态方法forName&#xff08;“全类名”&#xff09;&#xff08;最常用&#xff09; 通过class属性获取 通过对象获取字节码文件对…

20240414,类的嵌套,分文件实现

笑死&#xff0c;和宝哥同时生病了 一&#xff0c;封装-案例 1.0 立方体类 #include<iostream>//分别用全局函数和成员函数判定立方体是否相等 using namespace std;class Cube { public:int m_area;int m_vol;int geth(){return m_h;}int getl() { return m_l; }int…

C# Window form 自定义控件的结构和设计(三)

C# Window form 自定义控件的结构和设计(三) 一、前面介绍了如何来创建第一个自定义的控件&#xff0c;以及一个测试程序。下面我们来看下如何在自定义控件中添加属性。 C#和其他.NET语言支持属性作为语言的第一类成员。把属性作为语言的基础属性有两点主要的有点&#xff1a…