在自动驾驶领域,“障碍物检测”是一个非常重要且经常会被提到的问题,在障碍物检测领域,其实还有一个更细分的领域,那便是“通用障碍物检测”(GOD,General Obstacle Detection)。之所以要研究GOD,是因为传统的目标检测系统一般只能识别如行人、车辆、自行车、交通锥等预先定义好的有限类别。
但真实真实交通场景中,经常会出现像是掉落的货箱、翻倒的围栏、突然出现在车道上的大块塑料布、动物、临时摆放的工具箱、被雨水反光盖住的塑料膜,甚至奇形怪状的残骸等各种意料之外的东西。这些东西在类别上会被定义为是“未知”的,但对于自动驾驶来说却是实际存在且绝不能忽略的。
GOD的任务就是将障碍物检测做到“通用”,其不仅要检测已知类别的物体,还要尽可能识别出训练集中未出现过的异常物体,为后续的跟踪、预测与规划模块提供关键的安全依据。
更简单理解下,GOD不仅要判断“那是行人”或“那是车辆”,还要在不同光照、天气和速度条件下都能精准告诉你“前方有个实体,它会挡路或影响行驶安全”。这种能力在城市复杂路况、临时施工路段、恶劣天气等场景中尤为重要,因为自动驾驶不能仅依赖识别少数几种固定标签来保证安全,它必须对未知、罕见和危险情况保持高度敏感。
GOD是如何工作的?
GOD的输入来源并不是单一的,最常见的输入来源是摄像头图像和激光雷达点云,有时还会融合毫米波雷达或超声波传感器数据。摄像头天然对语义和纹理敏感,激光雷达则能提供精确的三维几何信息。
一个实用的GOD,其核心任务是将不同传感器的信息融合,并输出一组统一的“候选障碍物”。这些障碍物的表示形式可以是边界框、分割掩码,也可以是鸟瞰图下的占据栅格。不仅如此,每个候选障碍物还会附带一系列像是置信度(它真是障碍物的把握有多大)、速度估计(它移动得多快)、类别概率(如果能够识别的话),以及不确定性评估(对上述所有判断的可靠程度进行打分)等关键属性。
部分GOD会沿用典型检测架构,先用卷积或Transformer提取特征,再通过检测头输出边界框和分类信息。与常规障碍物检测不同的是,GOD更强调两点,一是处理“开放集合”问题的能力,也就是能识别“我不知道这是什么,但它很重要”的物体;二是对小物体、透明物体、反光物体和部分遮挡物具有更强的鲁棒性。为实现这些目标,很多方案中会引入异常检测子模块、输出分割式掩码、融合几何一致性校验(比如将激光雷达深度投影与相机检测结果对比,不一致时提高关注等级)等技术。
对于GOD来说,时间维度非常关键。GOD不会仅凭单帧图像就做出判断,而是会结合时序信息来增强稳定性,通过运动学一致性跟踪,可以滤除临时误检,也能维持被短暂遮挡但已出现在轨迹上的物体。
GOD的核心技术点与实现细节
GOD可基于传统的一阶段或两阶段检测器实现,一阶段检测器(如基于锚框的RetinaNet,或无锚框的CenterNet、FCOS)直接预测目标位置与类别;两阶段检测器(如Faster R-CNN系列)则是先生成候选区域,再对其进行精细分类与调整。近年来,Transformer架构(如DETR及其系列模型)也被引入障碍物检测领域,它能够直接建模全局上下文关系,但在实际应用中,仍需考虑计算成本与收敛速度。
在骨干网络设计上,模型需兼顾性能与效率。对于视觉输入,常采用ResNet、EfficientNet等经典网络提取特征,为适应车规级芯片的算力限制,也会使用更轻量的MobileNet、GhostNet来实现。而对于激光雷达点云数据,常用的处理方法是基于体素的三维卷积、基于点直接处理的PointNet/PointNet++,或是采用近年来效率更高的稀疏卷积架构。
GOD不仅要优化目标定位和分类精度,还会引入专门的异常/新颖性损失,以提高对未见类别的敏感度。一些技术方案中会使用对比学习或自监督预训练,帮助模型掌握“正常背景”的分布,从而更容易识别偏离分布的物体。还有一种思路就是将检测任务拆为两部分,常规的有限类别检测使用交叉熵或Focal Loss等优化,而“通用物体存在性”则通过自监督异常分数或重建误差来表示。
训练数据是决定效果的关键,要让检测器对各种“奇怪”的物体有感知能力,仅靠现有的行车数据集是不够的,还需引入额外的稀有样本、合成数据,或利用仿真环境生成的异常场景来扩展训练集。常用的数据增强手段包括随机遮挡、颜色扰动、光照变化与几何畸变等;还有更进阶的做法就是将单帧图像与激光雷达生成的稠密深度或鸟瞰投影结合,利用几何一致性监督提升对透明或反光物体的检测能力。
聊了这么多技术细节,那GOD的实际效果会如何呢?传统目标检测是依赖mAP(平均精度)、精确率/召回率、IoU(交并比)等静态指标进行评估的。但对于通用障碍物检测(GOD),这些指标并不完全适用,其必须考量漏检与误报所带来的实际风险。如果漏检一个车道上的箱子,就可能直接导致碰撞事故,而频繁的误报则会无故触发紧急制动,这不仅会严重影响乘坐体验,也会带来不必要的跟车风险。因此,GOD的评估体系必须超越静态指标,纳入如“安全临界距离”或“碰撞时间”等体现实时威胁程度的动态因素。
GOD会有哪些挑战?
将GOD应用到实车上,其实会遇到很多现实问题。由于传感器本身存在局限,相机在夜晚或逆光条件下性能会下降,激光雷达对透明物体(如玻璃、薄膜)不敏感,毫米波雷达对小物体分辨率低。这就需要不同传感器之间互相补足。为了解决这个问题,比较稳妥的做法是对不同传感器的检测结果进行融合判断,如果相机识别到有明显纹理但激光雷达没有回波的物体,系统不会立即下结论,而是将其标记为“高不确定性”障碍物,交由跟踪与规则模块持续观察。同时,系统也会结合场景上下文进行判断,从而确保行车安全,像是在施工区域,就可以根据高精地图或地理数据库信息,提高对该区域的检测敏感度。
由于真实的交通环境是开放的,且会存在很多的长尾问题,真实道路上的物体种类和形态变化一定会远超训练集的覆盖范围。因此需要扩大训练集,对稀有场景进行标注和加强采样;还要采用无监督/自监督方法建立“正常世界”模型,将任何偏离正常分布的物体视为潜在障碍;此外,还需借助元学习或少样本学习,让模型快速适应新出现的类别。
车辆在高速行驶时,检测模块的延迟必须控制在几十毫秒内,而算力受限于车载计算平台(往往是功耗和散热受限的车规级SoC)。想让GOD检测正常,就需要做大量优化工作,其实包括模型压缩、量化、使用高效算子加速推理、将部分计算任务调度到专用加速器上,以及在系统层面进行优先级管理(如将车道保持和前方最近障碍物检测设为更高优先级)等。降级策略的设计也是非常有必要的,当计算资源紧张或传感器异常时,系统应能够切换到如降低车速、增大安全车距,或交由远程人工监控等更保守但更可靠的感知/规划模式。
一个合格的GOD系统不仅要在标准测试集上表现良好,还必须能够应对对抗攻击(例如针对相机的贴纸干扰)、光学失真,以及部分传感器失效等情况,并具备明确的降级处理机制。因此,要利用仿真场景进行大规模corner case测试,甚至将现实世界中出现的故障样本回放到仿真环境中进行压力验证,从而确保鲁棒性。
最后的话
GOD的目的是将一个开放的、无限可能的物理世界,与一个封闭的、由数据驱动的计算系统进行调和。它并不是一个静态的模型,而是一个动态的、持续学习的“生态系统”。这个系统的效能,直接取决于它能否将现实世界中“未曾见过”的威胁,成功地转化为算法可理解的“不确定性”或“异常”。
237