康谋分享 | 在基于场景的AD/ADAS验证过程中,识别挑战性场景!
基于场景的验证是AD/ADAS(自动驾驶和高级驾驶辅助)系统开发过程中的重要步骤,它包括对自动化系统进行一系列预定义场景的测试。测试中包含的场景越多,尤其挑战性场景越多,人们对正在测试的AD/ADAS系统的信心就越高。
一、现有问题
真实世界驾驶记录是挑战性场景的重要来源,但这一过程往往成本高昂且繁琐。大多数情况下,真实世界驾驶记录中包含许多“空驶里程”,即没有任何值得关注的事情发生的里程(例如车辆在空旷的道路上直线行驶且天气条件完美)。“空驶里程”对AD/ADAS系统的验证贡献微乎其微,一支小型的测试车队就能轻松产生PB级的数据。
在面对巨量数据时,人们通常需要思考几个问题:
- 这些数据中有多少是相关的?
- 车辆在没有周围车辆的情况下行驶了多长时间?
- 工程师是否需要手动逐个检查所有不相关和无风险的场景?
- 工程师是否应该完全依赖操作人员(在驾驶过程中)标注相关场景,而忽略其他所有内容?
为了解决以上问题,我们发现能够自动从真实世界驾驶记录中识别挑战性场景是十分重要的。这可以减少存储在“热存储”(如AWS S3)中的数据量,因为人们可以决定只将相关且具有挑战性的场景存储在“热存储”中,而将剩余数据存储在“冷存储”(如AWS Glacier)中。
此外,由于只需要检查相关场景,自动识别挑战性场景还可以减少验证工作。而且在将AD/ADAS系统适应到新的操作设计域(Operational Design Domain,ODD)之前,识别挑战性场景也是一个很好的做法,因为人们希望尽可能多地在该特定ODD的各种场景下测试系统的功能。
然而,识别挑战性场景并非易事,因为必须浏览数千小时的驾驶数据,并判断某个场景是否值得被选中。因此,能够以一种自动且可解释的方式从驾驶记录中提取这些场景至关重要。
二、康谋方案
康谋的技术能够自动且高效地识别、分类和提取驾驶记录中的挑战性场景,为分析的驾驶日志提供清晰完整的概览。IVEX软件提供有关分析数据的报告,以便于检查任何选定的场景,这为大幅度降低检查驾驶日志所需工程时间带来了可能,并且能够降低存储成本,同时减少测试的工作量。
1、识别具有挑战性场景的方法
识别挑战性场景的第一步是使用配备传感器的数据采集平台收集驾驶数据。通常,这些数据采集平台应能够记录定位和传感器信息(图像、点云等)。数据采集平台可以是由人类驾驶员手动驾驶的车队。
在收集到数据后,可以使用IVEX识别挑战性场景并进行数据分析。IVEX包含不同的指标,从基于行为的安全指标(例如ISO 15623的定义的碰撞时间TTC)到基于感知的指标(例如消失物体检测)。
IVEX使用多种指标的组合来评估每个驾驶片段,并提取出被认为是挑战性场景的部分。用户还可以向平台添加自定义指标。识别出的挑战性场景可以导出为不同的格式,如OpenScenario、CSV、JSON,或者简单地链接到原始数据输入。
2、道路施工挑战性场景案例
道路施工的情境下,自车需要行驶于通常建立在路肩的临时车道上。尽管我们知道并非所有AD/ADAS都需要处理这类场景事件,但根据自动驾驶的级别和ODDs的不同,这种情况仍然会构成挑战,应当纳入测试集。
根据美国汽车工程师学会(Society of Automotive Engineers, SAE)的自动化等级标准,一个处于2级或3级的系统进入这种场景时,应能够及时解除自动驾驶并通知驾驶员;而对于4级或5级的系统,这种情况可能会打破ODD的假设,需要远程操作员接管或者通知自驾车队意料之外的道路施工区域。
本文的案例是一个从布鲁塞尔出发往巴黎并返回布鲁塞尔、历时8小时的驾驶记录。完整的驾驶记录文件大小约为2TB。我们使用IVEX从中提取出了几个挑战性场景(总计5分钟),将录制存储减少到20GB,节省了一个数量级的存储。
图1:检测到具有挑战性的场景:道路施工区域
以提取出的7秒循环场景为例,这个场景包含了非常复杂的上下文信息。首先,由于这是一个道路施工区域,通常使用黄色车道标记来指示车道区域和可行驶区域。然而,从图片中可以看出,这些黄色车道标记并不容易区分,旧的白色道路标线仍然非常明显,这使得情况更加具有挑战性。其次,由于新的车道标记,自动驾驶车辆必须行驶在通常禁止通行的区域(例如图示底部白色导流线区域)和路肩区域。最后,有一个位置不太好的交通标志指示了70公里/小时的临时限速,AD/ADAS应该能够检测到这一点并给出相应反馈。
图2:在高速公路上进行7秒循环的复杂道路施工场景
三、结论
我们展示了使用IVEX检测到的挑战性场景。正如我们所见,挑战性场景的检测是一项贯穿自动驾驶系统堆栈所有核心功能的活动。它需要检查输入传感器、感知组件输出以及实现的行为。
我们认为,从驾驶日志中找出具有挑战性的场景是推动AD/ADAS广泛应用的关键因素之一。能够轻松地从实际驾驶记录中提取相关场景,是有效进行AD/ADAS验证过程的基本特征。
期待您继续关注康谋之后的文章,我们将分享有关AD/ADAS的基于场景的验证和数据分析的更多信息。
我是分享自动驾驶技术的康谋,关注我,了解更多信息!
康谋分享 | 在基于场景的AD/ADAS验证过程中,识别挑战性场景!的更多相关文章
- ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则
原文:ASP.NET MVC基于标注特性的Model验证:一个Model,多种验证规则 对于Model验证,理想的设计应该是场景驱动的,而不是Model(类型)驱动的,也就是对于同一个Model对象, ...
- .NET Core微服务之基于Ocelot+IdentityServer实现统一验证与授权
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.案例结构总览 这里,假设我们有两个客户端(一个Web网站,一个移动App),他们要使用系统,需要通过API网关(这里API网关始终作为 ...
- 基于token的后台身份验证(转载)
几种常用的认证机制 HTTP Basic Auth HTTP Basic Auth简单点说明就是每次请求API时都提供用户的username和password,简言之,Basic Auth是配合RES ...
- 【腾讯Bugly干货分享】基于RxJava的一种MVP实现
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57bfef673c1174283d60bac0 Dev Club 是一个交流移动 ...
- 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续篇)
上周六我发表的文章<分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility>受到了大家的热烈支持与推荐,再此表示感谢,该ExcelUtility ...
- 【EXCEL终极总结分享】基于NPOI扩展封装的简易操作工具类库(简单灵活易用,支持导出、导入、上传等常见操作)
对于EXCEL的导入.导出,我之前已分享过多次,比如: 第一种方案:<我写的一个ExcelHelper通用类,可用于读取或生成数据>这个主要是利用把EXCEL当成一个DB来进行获取数据,导 ...
- HBase,以及GeoMesa设计基于HBase的设计分析,从数据模型到典型查询场景,最后进行RowKey设计
GeoMesa设计基于HBase的设计分析,从数据模型到典型查询场景,最后进行RowKey设计 一.HBase 基本概念 理解KeyValue KeyValue多版本 列定义(1) 列定义(2) Co ...
- 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续3篇-导出时动态生成多Sheet EXCEL)
ExcelUtility 类库经过我(梦在旅途)近期不断的优化与新增功能,现已基本趋向稳定,功能上也基本可以满足绝大部份的EXCEL导出需求,该类库已在我们公司大型ERP系统全面使用,效果不错,今天应 ...
- 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续2篇-模板导出综合示例)
自ExcelUtility类推出以来,经过项目中的实际使用与不断完善,现在又做了许多的优化并增加了许多的功能,本篇不再讲述原理,直接贴出示例代码以及相关的模板.结果图,以便大家快速掌握,另外这些示例说 ...
- [UWP]分享一个基于HSV色轮的调色板应用
1. 前言 上一篇文章介绍了HSV色轮,这次分享一个基于HSV色轮的调色板应用,应用地址:ColorfulBox - Microsoft Store 2. 功能 ColorfulBox是Adobe 色 ...
随机推荐
- 开源标杆!天翼云TeleDB入选《2024央国企开源项目典型实践》!
近日,由中国通信标准化协会主办.中国信通院承办的2024 OSCAR开源产业大会在北京召开,会上发布<2024央国企开源项目典型实践>,天翼云科技有限公司打造的"TeleDB分布 ...
- 异常:java.lang.reflect.InvocationTargetException
在产生这个问题的时候,以为是代码某个类又改动了.但是对比了git,发现并没有改动,测试环境代码照跑,故又重新拉了一份重新部署,仍然报同样的错.解决过程中,试了以下网上各种方法,均无效果. 1.包重复. ...
- Java连接数据库 CreateStatement 和 PrepareStatement 的区别与优劣
一.简介 先说下CreateStatement 和 PrepareStatement 这俩到底是干啥的吧. 作用:其实这俩干的活儿都一样,就是创建了一个对象然后去通过对象调用executeQuery方 ...
- 绝了,一招解决DeepSeek 提示“服务器繁忙,请稍后再试” 卡顿问题!(保姆级教程)
大家好,我是狂师. 现在 AI 圈里讨论最多的话题就是:"国产之光DeepSeek了". 但用过的人也知道,是真的卡.动不动就提示:"服务器繁忙,请稍后再试" ...
- RMAN备份时遇到ORA-48132 &ORA-48170且备份变慢案例
现象描述: 环境: 操作系统:Red Hat Enterprise Linux release 8.10 数据库版本: Oracle 19.24.0.0.0 企业版 备份作业在执行RMAN备份时,告警 ...
- DotNet跨平台 - docker+nginx+ssl 负载均衡
环境:CentOS7 服务器需要安装:docker.nginx.OpenSSL 一.部署方案 在linux服务器上,我们的Web站点程序采用docker容器部署,为了演示负载均衡,我们在同一台linu ...
- AI+逆向python 3.9+程序
使用pyinstxtractor.py将程序转换成pyc文件 下载 pyinstxtractor.py:extremecoders-re/pyinstxtractor: PyInstaller Ext ...
- git命令参考
git命令参考 前言 在版本管理中,我们常用到git或者svn去管理我们的代码. 因为嵌入式开发经常要用到Linux环境做开发,所以懂得一定的git命令对我们进行开发过程中的版本管理非常重要 创建仓库 ...
- 解决Typecho文章cid不连续的教程
Typecho下文章编号(cid)不连续,虽然不影响什么,也无关紧要,但是对于有强迫症的人(比如我)来说,真的是无法忍受.还好有大佬提供了解决办法. 将以下代码保存为php文件,上传至网站根目录,在浏 ...
- Linux - vi & vim 编辑器
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计. vim 是从vi发展出来的一个文本编辑器.代码补全.编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用. 使 ...