占用网络:自动驾驶如何识别异形障碍物
在自动驾驶技术的发展历程中,主流的感知方法长期依赖于目标检测。这种方法的核心理念是在三维空间中定位特定物体,并以紧凑的长方体框将其标注。这种被称为“3D目标检测”的方案在处理常见的车辆、行人和自行车等目标时表现良好,能够提供目标的长宽高信息。
然而,现实交通环境远比实验室中预设的目标库复杂。当遇到侧翻的油罐车、散落的纸箱或伸出吊臂的起重机等不规则物体时,传统目标检测方法常常显得力不从心。这些异形障碍物的形状不规则,难以用统一的立方体进行描述。
为应对这些“不在数据库中”的风险,研究人员引入了占用网络(Occupancy Network)。与传统方法不同,占用网络不再试图识别物体类别,而是将整个物理空间划分为边长为十几厘米的小立方体,即“体素”。
占用网络的工作机制是判断每个体素是否被物理实体占据。这种从“物体检测”向“空间预测”的转变,使自动驾驶系统具备了识别任意形状障碍物的能力。
传统视觉感知的局限性
在深入理解占用网络之前,有必要回顾传统感知方法在处理异形障碍物时的难点。早期自动驾驶系统依赖于“分类”逻辑,即系统必须先识别物体类别,才能理解其空间位置。这种模式在处理“语义裂缝”问题时存在明显缺陷。
以一辆装载超长木材的货车为例,传统算法可能仅识别车头和车厢,而忽略车厢后方延伸的木材。这种空间信息的缺失对自动驾驶系统而言是致命的,可能导致路径规划错误,引发碰撞。
此外,传统3D目标检测方法面临“形状刚性”的挑战。它依赖固定尺寸的立方体包裹物体,但现实中许多障碍物是可变形或中空的。例如,洒水车喷出的水雾在视觉上模糊,或者工程车的吊臂悬空,这些都无法用传统长方体模型准确描述。
这种对空间细节的简化处理,使得车辆在城市窄路或施工区域的行驶中表现出不稳定性或危险。
视觉感知的另一个固有问题是深度信息的不确定性。尽管可以通过算法将二维图像转换为三维坐标,但远距离场景下的误差会迅速增加。仅靠像素变化推断距离不可靠,而激光雷达虽能提高精度,但其高昂成本限制了大规模应用。
正是在这样的背景下,如何以低成本摄像头实现接近激光雷达的空间建模能力,成为感知技术演进的关键。占用网络通过将感知空间从二维平面扩展至三维体素,为纯视觉方案补齐了最后一块短板。
占用网络如何实现空间建模
占用网络的核心思想是将车辆周围环境完全“数字化”。它不再关注具体物体语义,而是回归到最基础的问题:某个空间点上是否存在障碍。
为实现这一目标,系统通过环视摄像头捕获360度图像,随后通过特征提升算法,将二维图像映射为三维向量空间。
在这一过程中,Transformer架构发挥了关键作用。它通过注意力机制对不同视角图像中的像素点进行“位置查询”,从而在内部构建出一个稠密的三维特征网格。
占用网络生成的体素网格与传统点云数据有异曲同工之妙,但更为精细。与点云只记录表面反射点不同,体素网格是连续且密集的,不仅捕捉到物体轮廓,还能记录空间占据状态。
特斯拉的占用网络可在约10毫秒内完成全局空间预测,远超人类反应速度。它将世界划分为大量微小立方体,并为每个体素分配“占据概率”。当概率超过设定阈值时,系统会将其视为障碍物并自动避开。
为提升效率,占用网络引入了“按需划分”策略。靠近行驶路径的区域使用高分辨率划分,以便识别微小障碍物;而在远处或不影响行驶的区域则使用较低分辨率,节省计算资源。
这种“关键区域高精度”的设计,使占用网络在实时性与准确性之间取得了良好平衡。
为确保预测稳定性,现代占用网络还融合了时序信息。系统不仅分析当前帧图像,还会结合过去几十至几百毫秒内的特征流,从而过滤噪点并捕捉物体运动。
这种跨时间的特征融合,使车辆不仅具备“立体感知”,还具备一定的“物理常识”。例如,当一组体素持续向前移动时,系统能判断其为动态交通参与者,而非静止障碍。
占用网络如何应对“看不见的风险”
占用网络最具优势的方面,是对“长尾障碍物”或异形物体的高度鲁棒性。传统方法难以识别这些物体,但占用网络通过三维空间重建,完全不依赖外观或类别信息。
系统只关注视觉遮挡和特征反馈。只要某一点持续被遮挡,就会被判定为障碍物。这类似于人在黑夜中用手摸索障碍——传统方法必须猜出是椅子还是桌子,而占用网络只要发现“摸不过去”,就立即判断有障碍。
这种“几何优先”的理念有效解决了语义裂缝问题。无论是翻倒的洒水车、一堆建筑材料,还是横在路中央的断树,占用网络都能精准描绘其空间轮廓,而不会强行用长方体拟合。
占用网络在处理“悬空障碍物”方面也具有天然优势。传统BEV架构将所有信息压缩到二维平面,难以区分物体是否悬空。占用网络通过在Z轴上进行多层体素划分,能够准确识别隔离带与限高杆等障碍物的空间差异。
此外,占用网络还具备“遮挡预测”能力。当大货车遮挡部分视野时,传统方案只能看到其侧面,而无法判断后方是否存在其他障碍。占用网络则能基于几何先验,推测被遮挡区域的状态,并将其反馈给避障系统。
占用流如何实现动态预测
如果说体素空间解决了静态障碍物的识别问题,那么“占用流”(Occupancy Flow)则赋予系统对动态世界的预测能力。
占用流不仅识别哪些空间被占据,还能判断每个被占据体素的运动矢量。通过矢量方向和颜色变化,规划算法可预判周围物体的运动轨迹。
占用流的引入,本质上是将物理世界的守恒定律引入模型。它假设一个体素若当前被占据,下一刻要么静止,要么移动至邻近位置。这种局部连贯性约束,使系统在应对行人鬼探头、车辆加塞等高风险场景时反应更快。
系统无需经历“识别-关联-计算-预测”的长链条,而是直接观察体素状态变化。这种毫秒级的响应提升,往往是避免碰撞的关键。
在模型训练方面,占用网络也采用前沿技术。由于人工标注三维体素几乎不可行,行业普遍采用NeRF(神经辐射场)等方法进行自动标注。
车辆行驶过程中,通过众包形式收集大量视觉数据,并在云端利用NeRF技术还原出高度真实的三维场景,作为训练样本。这种“云端建模、车端预测”的闭环机制,使占用网络能够持续从全球海量数据中学习,不断提升泛化能力。