康谋分享 | 在基于场景的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 色 ...
随机推荐
- delphi编写sql脚本文件批量执行程序
程序使用DelphiXE11.1开发,用到控件UniDac9.1.1,QDAC里面的Qlog组件. 程序实现了SQL脚本文件批处理执行应用,运行效果图. 文件.pas代码 unit main; int ...
- redis 过期监听配置
package org.jeecg.config; import java.lang.reflect.Method; import java.time.Duration; import java.ut ...
- 硬件设计:逻辑电平--CML
参考资料:CML信号原理 PECL.LVDS和CML电平 常用逻辑电平及基本输入输出结构 LVDS和CML电平应用区别 CML(即Current Mode Logic,也就是电流模式逻辑)电路主要靠电 ...
- [记录点滴] 记录一次用 IntelliJ IDEA遇到scope provided 的坑
0x00 问题 最近在调试一个网上的项目,结果遇到两个问题,特此记录下解决过程. 问题: 某一个jar包有版本冲突 某一个类,居然在IntelliJ IDEA中运行调试时候找不到 0x01 解决途径 ...
- 使用iceberg-flink读取iceberg v2表
一.背景 mysql数据入湖后,有同事需要实时抽取iceberg v2表,想通过iceberg做分钟级实时数仓.目前flink社区暂不支持读取v2表.腾讯内部支持 目前只能用Oceanus内置conn ...
- OpenLayers 4326地图 根据距离设置地图分辨率
问题:给一个距离,如何确定4326地图缩放等级或者分辨率使地图视口范围为这个距离 我本来打算计算从地图视口左上角到右下角的距离来计算地图缩放的,然后发现不好算,我也不会算,于是就计算水平方向距离的缩放 ...
- macbookpro m3本地部署DeepSeek模型
macbookpro m3有着十分强大的性能.在deepseek如火如荼的当下,可以尝试在本地部署并使用.还可以将自己的文档作为语料喂给deepseek,使其能成为自己专属的AI助手. 本文介绍使用o ...
- Spark 广播变量(broadcast)更新方法
Spark 广播变量(broadcast)更新方法更新方法spark 广播变量可以通过unpersist方法删除,然后重新广播 val map = sc.textFile("/test.tx ...
- P5356 [Ynoi Easy Round 2017] 由乃打扑克
分块典题 左转数列分块入门2 一样的想法 排序+二分 但是发现我们只能求排名 于是二分答案然后分块+二分即可
- 面试题53 - II. 0~n-1中缺失的数字
地址:https://leetcode-cn.com/problems/que-shi-de-shu-zi-lcof/ <?php /** 一个长度为n-1的递增排序数组中的所有数字都是唯一的, ...