自动驾驶视觉异常检测:边缘部署实战与Tiny-Dinomaly方案解析
1. 项目概述:当自动驾驶的“眼睛”遇到未知世界
在自动驾驶技术从实验室走向真实道路的过程中,我们面临着一个根本性的悖论:系统依赖海量数据进行训练,以期识别万物,但现实世界的“长尾”问题意味着总有训练数据未曾覆盖的“未知”存在。一只突然窜出的流浪猫、一辆侧翻的农用车、一场非标准交通管制放置的临时路障——这些“异常”场景虽不常见,一旦发生却直接关乎生命安全。传统的感知模型,无论是目标检测还是语义分割,本质上是“闭集”识别,它们只能认出训练时见过的类别。当遇到“未知”时,系统要么错误归类,要么干脆“视而不见”,这种“沉默的失败”是安全系统最危险的隐患。
视觉异常检测(Visual Anomaly Detection, VAD)技术,正是为解决这一核心痛点而生。它不试图教会系统认识所有东西,而是训练系统理解“正常”的世界应该是什么样子。任何偏离这个“正常”模板的视觉模式,都会被标记为“异常”。这就像给自动驾驶汽车装上一个经验丰富的副驾驶,他可能叫不出前方那个奇怪物体的具体名字,但会立刻拍着你的肩膀大喊:“注意!前面有东西不对劲!”更重要的是,先进的VAD模型能生成像素级的异常热图,精准地指出“不对劲”的区域在哪里,而不是笼统地报警,这为驾驶员接管或系统采取保守策略提供了至关重要的决策依据。
然而,将VAD从工业质检、医疗影像等相对可控的领域,迁移到高速、动态、复杂的自动驾驶场景,并最终塞进资源受限的车载边缘计算单元,是一条充满挑战的道路。模型能否适应道路场景特有的光照、天气、运动模糊?在保证高精度异常定位的同时,能否满足车载硬件对延迟和功耗的严苛要求?不同的模型架构(如CNN与Transformer)和不同的特征提取器(如轻量级的MobileNet与庞大的WideResNet)会带来怎样的性能与效率权衡?为了回答这些问题,我们基于目前自动驾驶领域最全面、最严谨的合成异常数据集AnoVox,对八种前沿的VAD方法进行了一次“硬碰硬”的系统性评测与边缘部署评估。
2. 核心思路与方案选型:为何是VAD与AnoVox?
2.1 为何选择视觉异常检测(VAD)路线?
在考虑提升自动驾驶系统对未知危险的感知能力时,业界主要有几条技术路径:一是扩大训练数据集,穷举所有可能的异常,但这在开放道路场景下几乎不可能;二是采用开集识别或不确定性估计,但这些方法通常仍基于已知类别进行外推,对形态迥异的未知物体效果有限。VAD则选择了一条更根本的路径:无监督地学习“正常”的本质。
其核心优势在于:
- 无需异常样本训练:只需大量正常的行车画面,避免了收集和标注各种罕见、危险异常场景的巨大成本和伦理困境。
- 开放世界能力:不对异常做任何先验假设,理论上能检测任何形态、任何类别的偏离,完美应对现实世界的无限可能性。
- 提供可解释的定位信息:输出像素级热图,不仅告诉系统“有异常”,更指明了“异常在哪里”,这对于后续的决策规划或驾驶员警示至关重要。
在VAD的众多方法中,我们主要聚焦于基于特征嵌入的方法,而非基于重建的方法(如自编码器、扩散模型)。这是因为在车载边缘部署场景下,计算效率和实时性是生命线。基于重建的方法需要运行复杂的生成模型来重构整个图像,计算开销巨大。而基于特征嵌入的方法,利用在大型数据集(如ImageNet)上预训练好的特征提取网络(即“骨干网络”),直接在高维特征空间中进行比较或建模,效率要高得多。本次评估的八种方法(PatchCore, PaDiM, CFA, STFPM, RD4AD, SuperSimpleNet, FastFlow, Dinomaly)均属此类,但在具体实现上各有千秋。
2.2 数据集选型:为什么是AnoVox?
评估模型,尤其是评估其在特定领域(自动驾驶)的泛化能力,数据集的选择至关重要。此前,该领域已有一些数据集,但各有局限:
- RoadAnomaly21 / RoadObstacle21:虽为真实数据,但只包含异常图像,缺乏定义清晰的“