收益:
- 能够解释摄像头、雷达、激光雷达和传感器融合在检测链和 SAE 自动化级别中的作用
- 能够为对象检测、分类和跟踪创建数据标签、场景定义和评估指标
- 能够批判性地评估检测模型输出中的边缘情况、误报/误报平衡和安全边际
如今,大多数车辆都具有车道偏离警告、自动紧急制动或自适应巡航控制等功能。这些都属于 ADAS(高级驾驶辅助系统)的范畴。这些系统和进一步自动驾驶的核心是感知:车辆通过传感器“看到”周围世界并通过人工智能“理解”它的方式。在本单元中,我们将涵盖检测链、传感器、自动化级别以及最关键的问题:安全边界。
从一开始就发出警告:该区域的安全至关重要。如果检测模型没有检测到行人,结果可能是致命的。这就是为什么这里的每个 AI 输出都必须包含安全工程流程(下一个单元中的 ISO 26262 和 SOTIF)。
传感器:眼睛、耳朵和雷达
自动驾驶堆栈结合了不同的传感器,因为每个传感器都有优点和缺点:
- 摄像头:摄像头最能“看到”颜色、文本(交通标志)、车道线和物体类型。但在夜间、雾天、强太阳眩光和距离估计方面较差。
- 雷达(无线电探测和测距):利用无线电波测量距离和速度。受雨雾影响较小,直接测量速度(利用多普勒效应);但其分辨率较低,很难区分“这是行人还是盒子?”
- LiDAR(光探测和测距):发射激光并产生周围环境的精确三维“点云”;它很好地给出了距离和形状。但它价格昂贵,并且可能受到大雾/大雨的影响。
- 超声波:短距离,如停车传感器。
由于两者本身都不够,因此执行传感器融合:通过组合不同传感器的数据,每个传感器的弱点都可以通过另一个传感器的优势来补偿。例如,摄像头说“行人”,雷达说“在12米处,接近5公里/小时”; Fusion 将两者结合起来并创建了一条可靠的轨道。
提示:在评估检测声明时,“哪个传感器可以检测到它以及检测效果如何?”问。如果相机在夜间的距离估计很差,则基于单个相机的距离决策是有问题的。
检测链
从原始传感器数据到决策的典型链条如下:
- 检测:在图像/点云中查找对象(“这里有一个工具”)。
- 分类:确定物体的类型(行人、自行车、车辆、标志)。
- 跟踪:在帧之间跟踪对象,估计其速度和方向。
- 融合:结合传感器创建一致的世界模型。
- 预测:“这个行人会过马路吗?”
- 规划和控制:决策和转向/制动/加速命令。
人工智能(尤其是深度学习)1-3。脚步非常有力; 5-6。这些步骤越来越多地被工程规则和安全逻辑所包围。
SAE自动化水平
自治不是一个“是/否”的事情,它是渐进的。 SAE J3016 标准定义了六个级别:
级别
名称
谁在开车?
例子
0
无自动化
全部驱动
仅警告(盲点警告)
1
司机支持
司机+单人支撑
自适应巡航或车道保持
2
部分自动化
司机(持续监督)
速度+车道一起,司机负责
3
有条件的自动化
系统(特定条件下)
在系统驱动的特定条件下,驱动程序准备接管
4
自动化程度高
系统(特定区域)
规定区域内无人驾驶
5
全自动化
系统(在所有条件下)
无人驾驶无处不在(还没有)
注意:最危险的误解是 2 级。在 2 级中,车辆支持转向和速度,但驾驶员保留持续的监督和责任。误将系统当成“自动驾驶仪”而不加注意,导致了致命事故的发生。 2级并不意味着“无人驾驶”。
评估指标:假阳性和假阴性
评估检测模型时,有两种类型的错误至关重要:
- 误报:认为存在不存在的东西。例如,认为桥影是“障碍”并不必要地制动。令人不安,有时甚至很危险(追尾碰撞)。
- 假阴性(假阴性/错过):无法看到存在的东西。例如,没有看到真正的行人。这是自动驾驶中最致命的错误。
总结这些的指标:
- 精度:您标记的内容中有多少实际上是正确的。
- 回忆(灵敏度):您捕获了多少实际存在的内容。
- mAP(平均平均精度):用于对象检测的常见复合指标。
召回(不遗漏任何行人)对于自动驾驶中的行人检测等至关重要;增加此值有时会增加误报。这种权衡是安全工程决策,而不是纯粹的模型准确性。
边缘情况和长尾
自动驾驶最困难的部分不是常见的情况,而是罕见和奇怪的情况:雪下半可见的标志、颠倒的卡车、穿着盛装的行人、路上掉落的家具。这些罕见但危险的情况被称为长尾。虽然一个模型可能在数百万“正常”里程下是完美的,但在从未见过的极端情况下它可能会失败。这就是为什么基于场景的测试、模拟和现实验证是无穷无尽的。
小型案例研究
案例 1 - 融合的价值。在测试自动紧急制动时,ADAS 团队发现,在明亮的阳光下仅靠摄像头发现前方深色车辆的速度很慢。添加雷达数据后(雷达不受眩光影响),系统提前0.4秒检测到车辆;这意味着 90 公里/小时时的制动距离约为 10 米。结果:融合消除了单个传感器的盲点。
案例 2 - 召回/精密天平。当行人检测模型的阈值降低时,召回率从 96% 增加到 99%,但误报(阴影、灌木丛)增加,从而导致不必要的制动。安全团队做出决定:优先考虑避开行人,但通过融合和跟踪逻辑消除误报来保持舒适度。结论:指标选择是一项工程/安全决策,没有单一的“正确数字”。
案例 3 - 边缘案例令人惊讶。虽然模型在验证集中的成功率为 99.8%,但它将现场一辆载有雪地轮胎广告的卡车后面的巨大行人照片误认为是“真正的行人”,并突然刹车。团队将此边缘案例添加到场景库中并重新训练模型。结论:长尾永远不会“结束”;需要不断的场景收集。
提示模板
模板 1 - 生成场景列表:
角色:您是 ADAS 测试用例工程师。任务:为自动紧急制动生成具有挑战性(边缘情况)的测试场景。环境:城市,30-50 公里/小时,行人和骑自行车混合。约束:优先考虑罕见/危险的场景,而不是频繁的场景;为每个场景写出预期的正确行为。输出:场景|状况 |预期行为 |风险级别。
模板 2 - 标签指南大纲:
角色:数据标记质量领导者。任务:编写行人标记一致性规则草案。背景:有部分可见的行人、坐着的行人、坐在轮椅上的行人和成群结队的行人。输出:规则 |示例|极限状态等级表。
模板 3 - 指标解释:
角色:计算机视觉评估专家。任务:解释我的行人检测结果。上下文:准确率 0.93,召回率 0.90,大多数失误发生在夜间或雨中。约束:强调召回对于安全的重要性;告诉我在什么情况下需要额外验证。输出:评论+需要改进的优先领域。
模板 4 - 融合逻辑概要:
角色:您是一名传感器融合工程师。任务:提出相机和雷达冲突时的决策逻辑草案。背景:雷达看到 15 m 处有移动的小物体,而摄像头显示“没有行人”。约束:应用有利于安全的假设原则(安全面)。输出:决策表+理由。
弱提示/强提示
弱提示:
我的自动驾驶汽车模型安全吗?
没有上下文; “安全”未定义;人工智能只是笼统地说,可能会产生误导性的信心。
强力提示:
角色:您是 ADAS 安全评估顾问。任务:为我创建一个清单来质疑我的行人检测模型的漏洞。背景:城市二级系统;回忆降临在夜晚和雨中;只有摄像头+雷达,没有激光雷达。约束:不要声明“安全”;指定系统在什么条件下达到极限以及需要进行哪些额外测试。输出:风险区域|为什么|推荐测试|重要性表。
常见错误
- 将 2 级误认为“无人驾驶”。责任由驾驶员承担;这种错误的认识是致命的。
- 依靠单个传感器。每个传感器都有一个盲点;融合是必要的。
- 只看平均准确率。 99%成功,1%错过行人可能致命;召回率和边缘情况至关重要。
- 忽略极端情况。长尾巴永无止境;场景收集是连续的。
- 将安全决策留给模型。阈值和平衡决策是安全工程的责任。
综上所述
- ADAS 和自动驾驶传感的核心是摄像头、雷达、激光雷达和传感器融合;每个传感器都有不同的优点/缺点。
- 检测链由检测、分类、监测、融合、预测、控制组成;人工智能在第一步就很强大。
- SAE 级别范围为 0 至 5;在 2 级中,责任由驾驶员承担。
- 漏报(行人绑架)是最致命的错误;召回和边缘情况优先。
- 安全决策是工程责任;模型准确性并不是唯一的标准。
应用任务
选择 ADAS 功能(例如车道保持辅助)。 (1) 在表格中写出哪些传感器支持该功能以及支持程度。 (2) 使用模板 1 生成 5 个边缘情况场景,并为每个场景指定预期的安全行为。 (3) 比较该函数的假阳性和假阴性结果。 (4) 列出在声明模型“安全”之前需要进行哪些独立测试。
清单
- [ ] 我根据功能评估了传感器的优点/缺点。
- [ ] 我还列出了最终情况(长尾)场景。
- [ ] 为了安全起见,我比较了假阳性/阴性结果。
- [ ] 我考虑到了 Recall 的安全重要性。
- [ ] 我澄清了 SAE 级别以及责任人。
- [ ] 在声称“安全”之前,我准备了独立的测试计划。