RayOcc: Occlusion-Aware Ray Occupancy Estimation via Gaussian Mixture Intensity
RayOcc 是一个仅基于摄像机的 3D 语义占用预测框架,它通过将射线建模为使用高斯混合强度和泊松事件形式的多标签存在问题,解决了深度歧义和遮挡问题,从而实现了多种占用假设的共存,并在 nuScenes 基准测试上达到了最先进的性能。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,你正试图构建一个繁忙城市街道的 3D 模型,但你手里只有一组从不同角度拍摄的扁平 2D 照片。这就是自动驾驶汽车面临的日常挑战:它们需要仅凭摄像头(而不是昂贵的激光扫描仪)来理解完整的 3D 世界——车辆在哪里、人行道在哪里结束、树木离多远。这个领域被称为“3D 语义占用预测”(3D semantic occupancy prediction)。这就像是尝试通过观察物体的影子,来猜出隐藏在雾气弥漫的盒子里的物体的形状。其中最棘手的部分是“遮挡”(occlusion),这只是一个高级词汇,指的就是物体挡住了其他物体。如果一辆大卡车挡住了一个小栅栏,摄像头会看到卡车,但栅栏被它遮住了。在现实世界中,两者都存在于同一条视线上,但长期以来,计算机程序很难同时看到这两者。它们被迫为每一条视线只选出一个“胜者”,往往会忘记被遮挡的栅栏,或者猜错距离。
这就是一种名为 RayOcc 的新方法介入并改变游戏规则的地方。RayOcc 不再强迫计算机在一条视线上选择一个“最佳猜测”,而是允许系统同时想象多种可能性。它将相机视野中的空间视为一系列可能发生的“事件”,而不是一个单一的选择。通过使用一种巧妙的数学技巧,涉及“高斯混合”(你可以将其想象为重叠的概率云)和一个“泊松事件”(Poisson event)模型(就像计算有多少雨滴可能会落在特定位置),Ray 第二个可以实现说:“这里有很高的概率是一辆卡车,而且在它后面也有很高的概率是一个栅栏。”研究人员在 nuScenes 数据集(一个大规模驾驶场景集合)上测试了该方法,发现其创建的 3D 地图比以往的方法更清晰、更准确,尤其是在物体被遮挡的拥挤或复杂场景中。
问题所在:“唯一胜者”规则
为了理解为什么 RayOcc 特别,我们首先需要了解计算机通常是如何尝试在 3D 空间中“看”东西的。想象你正盯着一条长长的、笔直的走廊向下看。在旧的方法中,计算机看着这条走廊并说:“好吧,我看到 10 米处有一面墙。”它会选择那个单一的距离,并忽略其他一切。如果实际上 5 米处有一把椅子,15 米处有一幅画,计算机可能会感到困惑,或者它可能只选择了椅子,并假装那幅画不存在。
这发生是因为大多数现有方法使用一种称为“softmax 归一化”的规则。想象这是一块派。如果你有一块派,并为每个可能的距离切成薄片,派的总大小必须始终等于 100%。如果你给“5 米处的椅子”分了一块巨大的派,那么“15 米处的画”就几乎没有派可以分了。计算机被迫让这些切片相互竞争。如果椅子很大,画就会被“饿死”。如果只有一个物体,这套方法运作得还可以;但在真实的城市中,单条视线经常会穿过一辆车,然后经过一个栅栏,最后到达一栋建筑。强迫这些物体为单一的派进行竞争,会导致破碎、混乱的 3D 模型,其中薄弱的物体会消失,或者几何形状看起来支离破碎。
解决方案:让多种假设并存
RayOcc 抛弃了“单一派”规则。它不再问“这里是什么物体?”,而是问“这里可能有多少个物体,以及每个物体的证据有多强?”
作者引入了一个概念叫做 高斯混合强度(Gaussian Mixture Intensity)。再次想象你正对着那条走廊照着手电筒。与其是在墙上涂抹一个点,不如让手电筒沿着整个光束喷洒一层“强度”雾气。这层雾气可以有多个峰值。一个峰值可能在卡车所在的位置显得厚实且明亮,而另一个峰值可以在其后方的栅栏处显得稍暗但依然清晰可见。因为这种“强度”并不被强制要求加起来等于一个固定总量(不像那块派),所以卡车不会抢走栅兰的光亮。它们可以同时强烈地存在。
为了将这种雾气转化为决策,RayOcc 使用了 泊松事件公式(Poisson event formulation)。这是一种关于随机事件的统计思维方式。想象你在等待雨滴落在人行道上的某个特定方格里。如果雨的“强度”很高,那么至少有一滴雨落在那个方格里的概率就会非常高。RayOcc 将走廊的每一个小切片视为人行道上的一个方格。如果一个物体经过该切片的“强度”足够高,系统就会判定:“是的,这里有物体占据了空间。”这使得系统可以在同一条视线上标记多个切片为“被占用”,而无需它们相互竞争。
从云团到 3D 团块
一旦系统确定了“强度”峰值的位置,它就需要构建实际的 3D 模型。论文中使用了一种涉及 3D 高斯原语(3D Gaussian primitives) 的技术。你可以将这些原语想象成在空间中漂浮的模糊、发光的 3D 团块。每个团块都有中心、大小、颜色(或语义标签,如“汽车”或“道路”)以及透明度。
在以前的方法中,计算机会对每一条视线只选择一个团块,通常是基于单一的“最佳”深度猜测。然而,RayOcc 会观察其多个强度峰值。如果它看到了一个强烈的卡车峰值和一个较弱但清晰的栅栏峰值,它不必做出选择。它可以为卡车生成一个团块,同时也为栅栏生成一个团块。这被称为 自适应组件采样(adaptive component-wise sampling)。这就像一位厨师,不是在汤里只选一种食材,而是根据每种食材味道的强弱添加几种不同的食材,从而创造出更丰富、更复杂的菜肴。
这些团块随后被细化并进行“光栅化”(绘制到网格上),以创建自驾驶汽车用于导航的最终 3D 地图。
结果:更清晰的地图,更好的驾驶
研究人员在 nuScenes 基准测试 上测试了 RayOcc,该测试包含来自波士顿和新加坡的 1,000 个驾驶场景。他们将该方法与其他的顶尖纯视觉系统进行了对比。
结果显示,RayOcc 在他们测试的基于高斯的算法中达到了 最先进水平(state-of-the-art)。具体而言:
- 它达到了 34.84 的整体 IoU(交并比)。
- 它达到了 22.03 的 mIoU(平均交并比)。
为了让你有直观感受,之前使用类似方法(VG3T)的最佳方法得分是 34.06 IoU 和 21.74 mIoU。RayOcc 提高了这些数值,这意味着它的 3D 地图与现实世界更加吻合。
论文强调,这种改进在 遮挡场景 中最为明显——即物体被其他物体遮挡的地方。在视觉对比中,即使卡车紧挨着一个薄弱的栅栏,RayOcc 也能重建出卡车的完整形状,而其他方法往往会将卡车的形状“溢出”到栅栏中,或者完全丢失栅栏。RayOcc 还能将 3D 团块(高斯体)的数量保持在相对较低的水平(平均每个场景约 19,251 个),同时保持高精度,这表明它不仅仅是向问题中投入更多数据,而是更智能地使用数据。
为什么这很重要
本文的核心发现是:体积占用是一个多标签问题,而不是一个单选问题。 通过阻止计算机强迫物体在一条视线上争夺“胜者”地位,RayOcc 实现了一个更真实的现实世界表示。它承认在繁忙的城市中,一眼望去可以同时看到汽车、行人以及建筑,而计算机应该被允许同时相信所有这些事物。
作者总结道,这种方法带来了“更清晰且具有空间一致性的占用表示”,特别是在具有挑战性的环境中。虽然与一些旧方法相比,该方法需要增加适度的计算成本,但这种权衡换取的是对 3D 世界更可靠的理解,这对于自动驾驶汽车的安全和规划至关重要。论文指出,通过使数学模型与光线和物体相互作用的真实本质(即多个物体可以同时存在于一条路径上)相一致,我们可以为自驾驶汽车打造更聪明、更安全的眼睛。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。