多传感器融合基础之五体素空间(Voxel Space)全面解析

        体素空间是多传感器融合体系中最具“空间容积感”的测量空间。当激光雷达点云被栅格化为整齐的三维网格当多帧深度图被融合进一个截断符号距离场当自动驾驶系统在向量空间内规划出一条无碰撞的路径,这些操作背后的共同数据载体就是体素——三维空间中规则排列的立方体单元。与图像空间在二维平面上规则采样、深度图空间在二维网格上携带一维几何、点云空间在三维空间中离散分布、雷达检测空间在极坐标下稀疏测量不同,体素空间的核心特征在于它对三维体积的完整划分与显式表达每一个体素不只是一个位置标记,而是一个可以存储占据状态、语义类别、几何属性、颜色信息或神经网络特征的容积单元。这种体积化的表示方式使体素空间天然适合回答那些其他测量空间难以回答的问题——这里有没有东西?这个空间是空的还是实的?从这个点到那个点之间是否有障碍物?——而这些正是机器人导航、路径规划、三维重建和环境理解中最基础也最关键的几何查询。

        根本区别体素空间不同于直接从传感器获取的“测量空间”,它更多是一种“派生表示空间”或“中间融合空间”。它通过对点云、深度图等原始数据进行栅格化或特征转换而构建。点云是无序、稀疏的,而体素是有序、规则的网格。这个对比是理解体素优势(兼容3D卷积)和劣势(内存和计算开销大)的关键。数学表示上,体素是一个三维标量场或向量场。数据结构上,密集体素存储巨大,所以稀疏体素(如八叉树、哈希表)是工程实践中的核心

相关内容可以看我的其他文章:
1.多传感器融合基础之一图像空间(Image Space)全面解析_像素矩阵 hwc-CSDN博客

2.多传感器融合基础之二深度图空间(Depth Map Space)全面解析-CSDN博客

3.多传感器融合基础之三点云空间(Point Cloud Space)全面解析-CSDN博客

4.多传感器融合基础之四雷达检测空间(Radar Detection Space)全面解析-CSDN博客

5.多传感器融合基础之五体素空间(Voxel Space)全面解析-CSDN博客

一、基本定义与数学表示

        体素空间在数学上可以定义为一个三维标量场或向量场 ,其中定义域 Ω 是三维整数格点构成的有限规则网格,每个格点  对应空间中一个边长为 v(体素分辨率)的立方体单元的中心位置。这个立方体单元就是体素(voxel,volume pixel 的缩合)。与图像像素是二维正方形区域的离散采样类似,体素是三维立方体区域的离散采样,图像在二维空间中是“像素的网格”,体素空间则是“体素的晶格”。当 d=1 时,体素值 V(i,j,k) 可以是一个二元占据标志(0 表示空,1 表示占据)、一个连续占据概率(0 到 1 之间)、一个截断符号距离(从体素中心到最近表面的带符号距离)、或者一个密度值。当 d>1 时,体素可以携带多维特征向量——语义分割的类别概率分布、神经网络中间层的特征编码、颜色与法向量属性等,形成所谓的“体素特征图”。

        从离散几何的角度看,体素空间是三维欧氏空间的一种结构化划分——它用一个均匀的三维轴对齐网格将连续空间切割为有限数量的立方体单元集合。这种划分赋予了体素空间两个互为表里的根本性质规则性和量化解剖性规则性意味着体素的坐标是整数的、邻域关系是固定且可预计算的,这与图像像素的规则性一脉相承,使得三维卷积、池化、转置卷积等算子可以在体素空间上被严格定义和高效执行量化性则意味着连续世界的几何信息在被栅格化为体素时发生了离散化——一个连续表面被近似为一系列被标记为“占据”的体素,表面内部和外部的连续过渡被简化为二元或概率的体素状态。这种离散化带来了分辨率与精度之间的经典权衡:体素越小(分辨率越高),几何表示越精确,但存储和计算代价呈立方级增长;体素越大,计算越高效,但几何细节被模糊,细小的物体(如行人、电线杆)可能在一个体素内就被平均掉

        体素空间中一个特别重要的变体是截断符号距离函数(Truncated Signed Distance Function, TSDF)。TSDF 为每个体素存储的不是二元占据,而是该体素中心到最近表面的符号距离正值表示在表面前方(自由空间),负值表示在表面后方(物体内部),零等值面即为重建的表面。这个距离在超过一定阈值后被截断(通常为几个体素宽度),使得只有表面附近的体素携带有效信息,远距离体素被忽略。TSDF 的优美之处在于它不仅是表面的离散近似,更是对表面几何的一种连续场描述——通过对 TSDF 场进行三线性插值,可以以亚体素精度提取等值面(如使用 Marching Cubes 算法),获得比直接二值体素更平滑、更精确的三维模型。在 KinectFusion 及其后续的众多三维重建系统中,TSDF 体素场是实现实时稠密重建的核心数学表示

二、维度:真正的三维体积

        体素空间的维度属性是与图像空间和深度图空间拉开本质差距的地方。图像空间是二维网格加多通道深度图是二维网格加一维几何,而体素空间是完整的三维网格——它在 xyz 三个方向上均匀划分空间,每一个方向上都有独立的空间分辨率。这种三维网格结构意味着体素空间能够表达体积信息,而不只是表面信息。一个实心球体在体素空间中表现为内部体素全部被占据、外部体素全部为空的三维占据模式,而点云只能采样球的表面,对内部一无所知。这种体积表达能力使体素空间特别适合处理那些需要区分“物体内部”和“物体外部”的任务,比如医学影像中的器官分割(肿瘤在器官内部)、计算机图形学中的体积渲染(光线穿过烟雾、半透明材质)、以及机器人学中的占用栅格建图(激光必须穿透自由空间才能到达障碍物表面)。

        然而,三维网格带来了一个残酷的维度诅咒。如果二维图像的空间复杂度是 O(H×W),三维体素场的复杂度是 O(H×W×D),其中 D 是深度方向的分辨率。一个适中的体素空间——比如 256×256×256——包含超过 1600 万个体素,每个体素存储一个浮点数就需要约 64 MB 内存。如果每个体素携带 64 维特征向量,内存需求跃升至 GB 级别。分辨率提高一倍,总体素数量增加八倍。这种立方级的增长使得密集体素表示在工程中往往只适用于小范围或粗分辨率场景,而稀疏体素表示、八叉树和多分辨率层次结构成为应对维度诅咒的必备工具。从某种意义上说,体素空间的维度既是它最强大的武器(能表达体积),也是它最大的软肋(存储和计算开销大),这构成了体素空间研究中一切优化努力的原动力。

三、数据结构:从密集数组到稀疏层次

        体素空间在计算机内部的存储形式可以是一条从密集到稀疏的连续谱系,不同的数据结构代表着在访问效率、存储开销和实现复杂度之间的不同权衡。

        最朴素也最直观的体素数据结构是密集三维数组——即在内存中分配一个连续的 H×W×D数组,每个元素直接索引一个体素。这种方案的优势是 O(1) 随机访问,任何体素的邻居坐标可以通过简单的加减整数直接计算,且整个数组在内存中连续排列有利于 CPU 缓存和 GPU 纹理采样的优化。在深度学习框架中,一个密集体素张量的格式通常是 (C,D,H,W) 或 (D,H,W,C),可以直接送入三维卷积层进行运算。然而,密集数组的存储开销对于高分辨率或大范围场景来说是不可承受的,而且绝大多数体素在三维场景中是空的(自由空间),密集存储浪费了海量的内存和计算资源。

        稀疏体素表示正是为了解决密集存储的浪费而生。最经典的稀疏体素结构是八叉树——一种递归地将三维空间等分为八个子立方体的树形数据结构。八叉树的每个节点代表空间中的一个立方体区域,如果该区域内所有体素状态一致(全空或全占据),则停止细分并以一个叶节点概括整个区域;如果区域内体素状态不一致(包含表面边界),则继续细分为八个子节点。八叉树天然实现了多分辨率表示——空旷区域使用大立方体粗略表示,表面附近使用细粒度体素精细表示——在保持几何精度的同时大幅压缩了存储开销。八叉树的查询效率为 O(log N)(树的高度),虽然略逊于密集数组的 O(1),但在实际的大规模三维场景中通常是可接受的。

        近年来,哈希体素在三维深度学习和神经渲染领域异军突起。哈希体素的核心思想将三维空间划分为一个极细的均匀网格,但不为每个网格单元分配存储,而是使用一个哈希函数将三维坐标映射到一个固定大小的哈希表中。不同的空间位置可能发生哈希冲突(多个坐标映射到同一个哈希表条目),但通过设计良好的哈希函数和分辨率级联,这种冲突在实践中对梯度优化和特征学习的影响是可控且可被网络自行适应的。NVIDIA 的 Instant NGP 和后续的神经辐射场方法广泛采用了这种多分辨率哈希编码,实现了在单 GPU 上几秒内训练一个高质量 NeRF 的惊人性能。哈希体素结合了均匀网格的规则性和哈希表的紧凑性,是当前体素数据结构在神经表示领域的最前沿方案之一。

        在自动驾驶和机器人领域,一种常用的折衷方案是“支柱”表示。PointPillars 方法将三维体素沿高度方向压缩为二维柱体(pillar),在俯视图上形成规则的二维网格,每个柱子内包含其覆盖的所有点云点的特征统计。这种“2D 网格 + 高度池化”的结构可以看作体素空间向二维的降维,保留了对自动驾驶中物体水平分布和俯视定位的敏感性,同时大幅降低了计算量。它虽然不是严格的三维体素,但其数学基础仍是体素空间的栅格化思想。

        对每个点进行网格分配并计算高度池化的效果

四、信息的密度与稀疏性:体积的代价与收益

        体素空间在信息密度上呈现出极为独特的两极分化。从物理世界的角度看,三维空间是极端的稀疏——物体表面和内部只占据空间的极小部分,广阔的自由空间、天空和地下都是空的。因此,一个直接反映物理占据的体素占据栅格地图是极度稀疏的:超过 99% 的体素可能是空闲或未知状态,只有物体边界附近的体素被标记为占据。这种稀疏性是占用栅格建图为什么需要使用八叉树或循环缓冲区来避免密集存储的根本原因。然而,从特征表示的角度看,当一个体素空间被用作神经网络的中间特征图时,它可以变得非常稠密——三维卷积在每一层都会在整个体素体积内传播信息,即使原本为空的体素也会因为卷积的局部感受野而逐渐填充上非零特征。在这种情况下,稀疏性的优势被部分稀释,体素特征图的计算量重新逼近密集三维卷积的复杂度。

        与点云空间的稀疏性对比,可以更清楚地揭示两种表示密度上的哲学差异。点云的稀疏性是“原生的”——它只在被传感器击中的表面位置产生点,其他地方什么也不存储,数据量和场景复杂度大致成正比。体素的稀疏性则是“派生的”——它的网格结构是预定义的,无论场景中是否有物体,网格的框架都在那里;稀疏体素技术只是聪明地避免存储和计算那些“恰好为空”的体素,但网格本身的分辨率和范围仍是全局均匀的。这意味着在覆盖同样空间范围的情况下,体素表示的存储开销下限由场景的几何复杂度决定,而上限由网格分辨率决定点云的存储开销则纯粹由场景中存在的表面面积决定。因此,对于大范围室外场景,点云的存储效率通常远高于体素;但对于需要表达自由空间和体积信息的任务,体素是唯一的选择。

五、采集方式:从原始传感器到体素空间

        体素空间与图像、深度图和点云不同,它通常不是一个传感器直接输出的原始测量空间,而是一个从其他测量空间经过栅格化、融合或学习得到的“派生空间”。这一特性使得体素空间的采集方式多种多样,每一种方式都在体素的质量、密度和语义丰富性上留下独特的印记。

        最直接的体素生成方式从点云进行栅格化。给定一个激光雷达点云或深度图反投影点云,将其变换到目标坐标系后,对于每一个体素,统计落入其中的点数。如果点数超过某一阈值,该体素被标记为占据;如果点数为零,根据传感器的射线追踪可以区分该体素是被射线穿过(自由空间)还是未被任何射线穿过(未知空间)。这就是占用栅格建图的基本流程。栅格化过程中的分辨率选择是一个核心决策:分辨率太高,体素细小,对传感器噪声敏感且计算量大;分辨率太低,体素粗糙,细小物体丢失,自由空间和占据之间的边界模糊。在实际的自动驾驶占用栅格地图中,常见的体素分辨率是 0.1 米到 0.2 米,这个范围在几何精度和计算效率之间取得了较好的平衡。

        从深度图生成体素空间是另一个常见路径,特别是在室内三维重建中。多帧 RGB-D 相机拍摄的深度图经过相机位姿估计后,每一帧深度图可以被反投影为点云,然后按照类似上述的方法融入体素占据网格或 TSDF 体素场。TSDF 融合的独特之处在于它对多帧信息的加权平均:新的深度观测不是简单地覆盖旧值,而是通过加权平均的方式逐步更新每个体素的 TSDF 值,离当前帧相机光心越远、视线与表面法向夹角越大的观测被赋予越低的权重。这种加权融合机制使 TSDF 能够有效地滤除传感器噪声,并在多视角下生成光滑、完整的三维表面模型。KinectFusion、VoxelHashing、BundleFusion 等经典三维重建系统都围绕这一原理构建。

        从多视图图像直接生成体素空间是深度学习时代的一个新方向。这类方法不经过显式的深度估计和点云栅格化,而是使用神经网络端到端地将多张 RGB 图像映射到一个三维体素占据场或体素语义场。网络的输入是一组图像和对应的相机位姿,输出是一个 H×W×D的体素网格,每个体素包含占据概率和可能的语义标签。这类方法的优势在于它能够端到端地学习从外观到三维几何的映射,可以利用图像中的纹理、阴影、相对大小等深度线索,甚至在没有清晰纹理的情况下依靠语义先验推断几何(例如,知道“这是一辆车”,就能推断其大致的三维形状)。但其输出体素的分辨率通常受限于三维卷积的内存开销,目前主流水平约为 1283 到 2563,距离激光雷达或深度相机的几何精度仍有距离。

        此外,体素空间也可以从仿真环境中直接生成。在自动驾驶仿真、机器人训练和游戏引擎中,三维场景通常由多边形网格组成,将这些网格体素化即可得到完美的占据体素真值,用于训练感知网络或进行路径规划验证。这种“合成体素”在领域迁移和 sim-to-real 研究中扮演着重要角色。

六、坐标系统与变换:从世界到体素索引

        体素空间中的坐标变换核心是将世界坐标系中的连续点映射到体素网格的整数索引,以及其逆变换。设体素网格在世界坐标系中的原点为 ,每个体素的边长为 v(体素分辨率),网格在三个轴向上的尺寸为 (W,H,D) 个体素。一个世界坐标点  对应的体素索引为:

        其中 ⌊⋅⌋ 表示向下取整。逆变换——从体素索引到该体素中心的世界坐标——为:

        这个映射看似简单,却隐含着一个重要的物理效应:量化和混叠任何连续表面在体素化后都会因为分辨率有限而产生阶梯状的锯齿边缘,物体边界可能偏移半个体素的宽度,细小物体可能完全消失(如果一个物体的尺寸小于一个体素,且体素中心恰好在物体外部,该体素可能被标记为空)。这种量化误差是体素空间与生俱来的局限性,只能通过提高分辨率来缓解,无法根除。在多传感器融合中,当我们将激光雷达点云或雷达检测点栅格化到体素网格时,点的精确位置被“四舍五入”到最近的体素中心,这个过程丢失了亚体素级别的定位精度。因此,体素空间往往作为中间表示层出现,最终的精确几何输出仍然需要回溯到点云或深度图

        体素空间自身的刚体变换也是常见的操作。如果需要对一个体素网格进行旋转和平移,最简单的方案是将变换作用于体素坐标的逆映射:对目标体素网格中的每一个体素中心,通过逆变换找到其在源体素网格中对应的位置,然后进行三线性插值采样。这种“反向映射+插值”的策略与图像仿射变换中的反向映射原理一致,是处理离散网格变换的标准做法。然而,三维三线性插值的计算量是二维双线性插值的两倍(需要插值 8 个角点而非 4 个),加上体素数量通常是图像像素数量的数十倍,体素网格的变换在计算上远比图像变换昂贵。这也部分解释了为什么体素空间在实时应用中通常保持固定的坐标系(如车辆坐标系或世界坐标系),而不是频繁地进行旋转缩放。

        在多传感器融合流水线中,体素空间的坐标系统选择至关重要。对于自动驾驶,体素地图通常建立在自车坐标系下,随车辆运动而移动(以滑动窗口或循环缓冲区的方式)。对于三维重建,体素场通常固定在世界坐标系中,所有传感器数据通过 SLAM 估计的位姿对齐到这个世界系进行融合。对于室内机器人,占用栅格地图通常固定在房间的某个参考系中。选择合适的参考坐标系,决定了体素空间是作为瞬时的自我中心感知表示,还是作为持久的全局环境模型。

七、邻域与拓扑:三维卷积的自然舞台

        体素空间在邻域和拓扑方面继承了图像空间的所有结构优势,并将其扩展到三维。对于任何一个内部体素(不位于网格边界上的体素),它的 6-邻域(面相邻)18-邻域(面或棱相邻)26-邻域(面、棱或角相邻)是完全确定且可以直接通过索引加减计算得到的。这种规则的局部连接性使三维卷积可以在体素空间上被直接定义:一个三维卷积核是一个 k×k×k的可学习权重张量,在体素网格的三个维度上滑动,对每个局部立方体区域执行乘加运算。这与二维卷积在图像上的操作完全同构,只是多了一个深度维度。

        这种规则的邻域结构为体素空间带来了两个巨大的算法红利。第一,三维卷积神经网络的所有技术积累——包括各种卷积架构(普通卷积、空洞卷积、可分离卷积)、归一化方法(3D BatchNorm、3D InstanceNorm)、池化操作(3D Max Pooling、3D Average Pooling)、以及上采样操作(3D 转置卷积、三线性插值)——都可以从二维图像处理直接推广而来,无需像点云那样需要单独设计置换不变和邻域自适应的算子。第二,GPU 硬件对稠密三维卷积的优化正在快速追赶二维卷积的水平,NVIDIA 的 cuDNN 库已经为 3D 卷积提供了高效的实现,包括 im2col 变换、Winograd 算法和混合精度张量核心加速。这使得在体素空间上训练和推理深度网络变得越来越可行。

        然而,三维卷积的计算复杂度和内存占用量也远远高于二维卷积。一个 3×3×3 的三维卷积核具有 27 个参数,而 3×3 的二维卷积核只有 9 个参数。如果输入体素网格的尺寸为 D×H×W,一次三维卷积的计算量为 ,是同等面分辨率的二维卷积的 K⋅D 倍。对于尺寸较大的体素网格(如 2563),即便在现代高端 GPU 上,多层三维卷积的推理也可能需要数秒甚至更长时间。这就是为什么在实时应用中,体素空间的实用尺寸通常被限制在较低分辨率(如 643 到 1283),或者必须借助稀疏卷积技术。

        稀疏三维卷积是近十年来体素空间算法领域最重要的突破之一。它的基本思想是:既然绝大多数体素是空的(值为零),那么计算和存储可以仅限于那些非零体素。稀疏卷积不为每一个输入体素计算输出,而是只对非零体素位置应用卷积核,并且只生成那些可能被非零输入激活的输出位置。Submanifold Sparse Convolution 进一步约束输出位置必须与输入的非零位置重合,避免了卷积过程中体素数量的膨胀。这些技术通过哈希表或稀疏矩阵来表示体素特征,将对空体素的计算和内存开销降至接近于零,使得在处理激光雷达点云体素化后的大规模场景时,有效计算量只与场景中物体的表面积成正比,而不是与场景的总体积成正比。SECOND、CenterPoint、VoxelNet 等自动驾驶 3D 目标检测网络正是基于稀疏三维卷积才得以在实时性要求下运行。

八、表征能力:体积几何与语义的容器

        体素空间最独特的表征能力在于它能够同时编码几何、占据、语义和自由空间信息,并在统一的规则框架下支持对这些信息的联合推理。这一能力使体素空间超越了其他所有测量空间,成为最接近“完整场景模型”的表示形式。

        在几何表征方面,体素空间可以表达占据状态——这是点云和深度图都无法直接表达的信息。点云告诉你哪里“有表面”,但无法告诉你表面之间的空间是“空的”还是“未知的”。体素占据栅格则显式地为每个空间位置分配一个状态标签:占据、空闲或未知。这种三分法对机器人导航至关重要——机器人需要知道哪些区域是安全的可通行空间(被确认空闲的区域),哪些区域是不可穿越的障碍物(占据),以及哪些区域尚未被传感器探测到(未知,应谨慎对待)。这种“已知的空”的概念是体素空间对场景理解的关键贡献。

        在语义表征方面,体素空间可以像图像的像素级语义分割一样进行体素级语义标注。每一个体素可以携带一个类别分布向量,指示该体素属于道路、建筑、车辆、行人、植被等类别的概率。将几何占据和语义类别统一在一个体素网格中,便得到了“语义占用栅格”——一种既知道“哪里有东西”又知道“那是什么东西”的丰富场景表示。这种表示对于自动驾驶中的运动规划尤为强大:规划器不仅可以避开占据体素,还可以根据体素的语义标签做出不同的行为决策——例如,应该避开行人占据的体素但可以靠近植被占据的体素。

        在动态场景表征方面,体素空间通过引入时间维度,可以编码场景流或占据变化。一个 4D 体素场(三维空间加一维时间)可以记录每个体素在不同时刻的占据状态,从而表达物体的运动轨迹和速度场。这种时空体素表示在行为预测、碰撞检测和交通流模拟中具有重要应用。虽然 4D 体素的存储和计算开销更为惊人,但它在概念上为动态场景理解提供了一个统一而优雅的框架。

        与点云的表征能力进行对比,可以更清晰地看到两种空间的互补性。点云擅长精确、高分辨率地表达物体表面的几何细节——一个激光雷达点云可以在车辆轮廓上采样数千个点,精确勾勒出后视镜和轮胎的凹凸。体素空间则在表达物体的体积、内部结构和自由空间方面有优势,但在表面几何的精细度上受限于体素分辨率。一个 0.1 米分辨率的体素无法刻画厘米级的表面起伏,而点云可以。因此在实际系统中,点云常被用于提取高精度的物体边界框,体素常被用于表示自由空间和进行路径规划,两者在同一感知流水线中各司其职。

九、遮挡与视角:超越单帧的完整体积

        体素空间在遮挡与视角方面拥有一个其他测量空间不具备的独特优势通过多帧融合,它可以构建出超越单帧视角限制的完整场景体积模型。单帧点云或单张深度图只能看到当前视角下的可见表面,被遮挡区域是完全缺失的。但当多帧观测被持续地融合进一个体素占用栅格或 TSDF 体素场中时,被遮挡的表面和体积会随着传感器视角的变化逐步被填充和揭示。一个正在绕物体旋转的 RGB-D 相机,其 TSDF 体素场会在几秒内从一个单视角的薄壳逐步生长为一个完整的三维表面模型——这个“生长”过程正是体素空间克服单帧遮挡的生动写照。

        这种累积性使得体素空间成为构建环境地图的最自然载体。在自动驾驶中,激光雷达点云被持续地栅格化到一个以自车为中心的体素占用栅格中,随着车辆向前行驶,后方的空间被逐渐遗忘(滑动窗口移出),前方的新空间被逐步揭示。这个动态更新的体素地图记录了自车周围实时的占据状态,支持碰撞检测和局部路径规划。如果结合高精度定位,体素地图还可以从“局部”升格为“全局”——多趟采集的数据在同一个世界坐标系下融合,形成覆盖整个区域的持久三维地图,支持全局定位和长距离规划。

        然而,体素空间在应对遮挡时也存在一个特殊的问题——动态物体的处理当融合多帧数据时,一个移动的车辆会在体素地图中留下一条“幽灵轨迹”——它在过去时刻占据的体素被标记为占据,但当前时刻这些位置实际上是空的。如果不进行动态滤除,体素地图将被这些历史占据信息污染,导致错误的碰撞检测和路径规划。因此,体素占用栅格的动态更新通常需要配合目标跟踪模块:被识别为动态物体的检测结果需要在体素地图中被滤除或标记为特殊状态,只保留静态背景的占据信息。更为先进的方案使用概率占据更新或贝叶斯滤波器,让占据概率随时间衰减,使得移动物体留下的占据状态在没有新观测支持的情况下逐渐消散。动态占用栅格的处理是体素空间在实时应用中的一个核心工程挑战。

十、处理算法:从占据建图到3D卷积网络

        体素空间的处理算法谱系横跨经典的贝叶斯估计现代的深度学习两大范式,其丰富性不亚于图像空间。

        在经典算法方面,占用栅格建图是移动机器人学的奠基石之一。它基于贝叶斯滤波器框架,为每个体素维护一个占据概率的对数几率表示。每当传感器(激光雷达、声呐、深度相机)提供一帧新的观测,算法沿着从传感器到检测点的射线执行“射线投射”:射线穿过的体素被更新为“空闲”(降低占据概率),射线终点所在的体素被更新为“占据”(提高占据概率)。通过使用对数几率,更新操作变为简单的加法,计算效率极高。为了处理传感器噪声和动态物体,占据概率通常被钳制在一个最小和最大值之间,避免概率极端化为 0 或 1,保持模型对环境变化的响应能力。OctoMap 是这类算法的集大成者,它使用八叉树存储概率占据栅格,支持多分辨率查询和高效的序列化,成为 ROS 机器人生态中三维建图的事实标准。

        TSDF 融合算法是三维重建领域的重要分支。与二元占据栅格不同,TSDF 为每个体素存储其中心到最近表面的带符号距离。每帧深度图被反投影为点云后,对于每个体素,计算其中心沿视线方向到深度测量点的投影距离,这个投影距离近似等于该体素到表面的符号距离。多个帧的符号距离通过加权平均进行融合——每个测量的权重通常根据其视线方向与表面法向的夹角以及距离来分配,以降低边缘处和远距离处的不确定度。融合后的 TSDF 场通过 Marching Cubes 算法提取零等值面,生成连续而平滑的三维网格。这一算法流水线支撑了 KinectFusion、VoxelHashing、InfiniTAM 等实时三维重建系统的核心功能。

        在深度学习方面,三维卷积神经网络在体素空间上实现了一系列感知任务。3D 语义分割网络如 3D U-Net、V-Net 将医学影像(CT、MRI)分割为不同的器官和组织类型,输入是体素化的密度图像,输出是体素级的语义标注。在自动驾驶中,VoxelNet 首创了将点云体素化后使用三维卷积进行 3D 目标检测的范式。它将整个场景划分为均匀体素网格,对每个非空体素内的所有点使用 PointNet 风格的 MLP 提取体素特征,然后在体素网格上应用三维卷积提取高层几何特征,最后在特征图上进行区域提议和分类回归。后续的 SECOND 引入稀疏三维卷积大幅提升了 VoxelNet 的效率,CenterPoint 则进一步将检测简化为在 BEV 特征图上预测目标中心点和属性,成为当前自动驾驶 3D 检测的主流框架之一。这些方法的核心都是体素空间规则网格上的卷积运算,充分展现了体素表示与深度学习结合的强大潜力。

        一个值得关注的新兴趋势是将体素空间从显式的几何表示转变为隐式的特征表示。在体素特征网络中,每个体素存储的不是占据或符号距离,而是一个由神经网络学习的可微特征向量。这些特征向量随后可以通过小型 MLP 解码为占据、颜色、语义等不同模态的信息。这种“体素特征+解码器”的架构在神经渲染和可微分几何中展现了高度灵活性,允许同一组体素特征支持多任务输出,从新视角合成到语义分割到几何重建。

十一、存储与计算:维度诅咒下的折衷

        体素空间的存储与计算特性是其最突出的工程挑战,也是驱动稀疏化和层次化技术创新的主要动力。设体素网格的尺寸为 D×H×W,每个体素存储一个 32 位浮点数(4 字节),那么密集存储需要 4⋅D⋅H⋅W 字节。对于自动驾驶中覆盖 100 米 × 100 米 × 8 米范围、分辨率为 0.1 米的体素地图,H=1000,W=1000,D=80,总计 8000 万个体素,密集存储约需 320 MB。这个数据量对于单片 GPU 显存(通常 8-32 GB)来说尚可承受,但如果将体素特征扩展到 64 维,存储需求骤增至约 20 GB,已超出大多数嵌入式平台的容量。而这仅仅是一帧局部地图的范围——如果要存储全局地图或高分辨率三维重建结果,数据量将更为庞大。

        计算方面,在这样一个体素网格上执行单层 3×3×3 三维卷积,假设输入和输出通道均为 64,那么浮点运算量约为 2⋅64⋅64⋅27⋅80⋅1000⋅1000≈1.77×1013 FLOPs,即 17.7 TFLOPs。这已经接近 NVIDIA A100 GPU(312 TFLOPS FP16)算力的 5%——看起来尚可,但这只是一层的计算量。一个典型的 3D 卷积网络可能有 10 到 20 层,即使采用了降采样,总计算量也相当可观。对于车载嵌入式芯片(如 NVIDIA Orin 的约 254 TOPS INT8),大规模的密集三维卷积仍需精打细算。

        这就是稀疏卷积技术大放异彩的舞台。自动驾驶场景中,体素网格的非空比例通常在 1% 以下——绝大多数空间是自由的或未被观测的。稀疏卷积只对非空体素及其邻域进行计算,实际浮点运算量可降至密集情况的 1% 到 5%,使得在嵌入式设备上实时运行三维卷积成为可能。稀疏体素哈希表则将内存开销从 O(WHD) 降至 O(N非空),即与场景中实际存在的物体表面积成正比。八叉树在三维重建中发挥着类似的压缩作用。可以说,体素空间的存储与计算优化史,就是一部稀疏化和层次化的创新史。

十二、融合:多种测量空间的统一容器

        体素空间在多传感器融合体系中扮演着一个独特的角色——它是最自然的统一融合容器。由于体素网格建立在笛卡尔坐标系上,具有固定且规则的空间划分,来自不同传感器、不同模态的测量数据可以通过各自的变换和栅格化过程,映射到同一个体素网格中,实现空间上的完美对齐。

        来自激光雷达的点云被栅格化为占据体素或体素特征:每个体素统计其内激光点的数量、平均强度、高度分布等统计量来自相机的图像信息通过深度估计和反投影,或者通过视锥体素投影,将语义特征分配到体素中来自毫米波雷达的检测点也被栅格化到体素网格,为体素附加径向速度信息。甚至连来自高精地图的静态先验(如车道线位置、路沿边界)也可以被编码为体素属性。在这个统一的体素框架下,来自异构传感器的所有信息被表达为同一体素网格上的不同通道,使得多模态融合从“跨空间的复杂对齐”简化为“同一网格上的通道拼接或注意力交互”。

        一个典型的融合实例是自动驾驶中的多传感器占用栅格。激光雷达提供高精度的占据和空闲信息,但不擅长恶劣天气相机提供稠密的语义信息,但深度估计有误差毫米波雷达提供远距离的粗略占据和速度,在恶劣天气下作为激光雷达的后备。这些传感器的观测被分别转换为对体素占据概率的更新,然后通过贝叶斯融合学习型融合统一起来:当多个传感器一致认为某个体素被占据时,置信度提高;当传感器意见分歧时(例如雷达说有,激光雷达说没有),系统根据对各传感器在当下环境中的可信度评估来加权融合。这种体素级的多传感器融合在感知层为下游规划模块提供了一个单一、连贯、鲁棒的环境模型,屏蔽了底层传感器的异构性和不确定性

        在三维目标检测中,体素空间同样被广泛用作多模态特征的融合支架BEV 空间可以视为体素空间在高度方向上的压缩版本。典型的融合流程包括:将点云体素化,对每个非空体素内的点进行特征编码,得到体素特征张量将图像特征通过深度分布投影或交叉注意力分配到体素空间中然后在统一的体素网格或 BEV 网格上执行卷积或 Transformer 操作进行目标检测。这种“先投影到统一体素空间,再联合处理”的范式已经成为多传感器 3D 检测的主流架构。

十三、应用场景侧重:体积需求的天然选择

        体素空间的应用场景高度集中在那些需要体积理解和空间占据推理的领域。在自动驾驶中,占用栅格地图是连接感知与规划的枢纽数据格式感知模块输出实时的体素占据栅格,规划模块在此栅格上进行碰撞检测和轨迹优化——判断一条候选路径是否会穿过占据体素,是否始终保持在空闲体素中。这种“占据-空闲”的二元查询在体素空间中可以被极高效地执行(直接索引查询),这是体素相对于点云和深度图的核心工程优势。自动驾驶中的自由空间估计、可通行区域检测、以及最近兴起的占用网络——用神经网络直接预测每个体素的占用状态和语义——都是体素空间在自动驾驶中的前沿应用

        在机器人导航领域,体素占用栅格是移动机器人环境建模的标准表示。2D 激光雷达构建的二维占用栅格地图(如 Google Cartographer 输出的栅格地图)广泛应用于仓储机器人、服务机器人和家用扫地机器人。在无人机和腿足机器人的三维导航中,3D 占用栅格或八叉树地图(OctoMap)允许机器人推理复杂地形——哪些平台可以承载,哪些缝隙可以穿过,哪些障碍必须绕过——这些推理在没有体积表示的纯点云或图像空间中是无法进行的。

        在医学影像分析中,体素是 CT 和 MRI 等三维成像模态的原始数据格式。CT 扫描直接输出患者体内组织的体素化密度场,医生和算法通过分析这些体素数据来检测肿瘤、分割器官、规划手术路径。三维 U-Net 等体素分割网络在医学影像中被广泛应用,输入是体素化的 CT 或 MRI 扫描,输出是器官或病变区域的体素级分割掩码。这种三维体积数据的分析与处理是体素空间在医疗 AI 领域的核心应用。

        在计算机图形学与视觉特效中,体素被用于表示和渲染体积现象——烟雾、火焰、云层、半透明材质——这些现象没有明确的表面,不能用网格或点云来表示,只能通过体积密度场来描述。OpenVDB 是电影工业中广泛使用的体素数据结构,它将体积场存储为高效的稀疏体素树,支持快速的光线投射和体积渲染,在《冰雪奇缘》《疯狂动物城》等动画电影中发挥了关键作用。体素也是 3D 打印中常用的数据格式——打印机的切片软件将三维模型体素化,然后逐层生成打印路径,体素分辨率和占据状态的精确性直接影响打印质量和成功率。

十四、坐标系变换关系详解:射线追踪与体素遍历

        体素空间中的坐标系变换除了前面讨论的世界-体素索引映射外,还有一个对于占据栅格建图至关重要的算法射线追踪或体素遍历当传感器发射一束射线(如激光束)并检测到一个障碍物回波时,我们需要确定这条射线穿过了哪些体素,以便将这些体素标记为“空闲”。这个操作是从传感器坐标系到体素世界坐标系投影之后的一步关键后处理。

        最经典的算法是 Amanatides 和 Woo 提出的快速体素遍历算法,通常被称为 3D DDA(Digital Differential Analyzer)。给定射线的起点(传感器位置,已经在体素世界坐标系中)和终点(检测到的障碍物位置),该算法从起点所在的体素开始,沿着射线方向逐步移动到下一个体素。它通过维护三个方向上的步进参数  来决定下一步跨越哪个体素边界,每一步只跨越一个体素,时间复杂度与射线穿过的体素数量成正比,而非与体素网格的总尺寸成正比。这使得射线遍历在实时占用栅格更新中极为高效——一条百米长的射线在 0.1 米分辨率下只穿过约 1000 个体素,而不是整个网格的百万或千万体素。

        在 TSDF 融合中,坐标变换关系更为复杂。对于每一个体素中心 p_v,需要计算其在当前深度相机坐标系下的位置和深度值:通过外参将 p_v 变换到相机坐标系,再用内参投影到像素坐标 (u,v),从深度图中读取该像素的测量深度 Z_{meas}。TSDF 的截断符号距离近似为 ,其中 Z_v 是体素中心在相机坐标系中的深度。这个值被截断在 [−t,t] 范围内。这一变换链涉及世界坐标系、相机坐标系、图像坐标系和体素索引之间的多次往返,其计算密集度是体素三维重建实时性面临的主要瓶颈。

十五、优缺点对比:规则的几何容器

        将体素空间与图像空间、深度图空间、点云空间和雷达检测空间进行系统对比,其优势与劣势清晰可辨。

        相较于图像空间和深度图空间,体素空间的根本优势在于它是真正的三维表示。图像只能表达二维投影,深度图表达的是 2.5 维表面,而体素表达的是完整的三维体积——它能够区分物体内部和外部,能够表示任意拓扑的结构,能够被从任意角度自由查询和观测。体素空间的劣势则在于其存储和计算开销远高于二维表示。同等面积覆盖下,体素网格的数据量和计算量是图像网格的数十至数百倍。这使得体素空间通常需要更高的硬件规格和更精心设计的稀疏优化。

        相较于点云空间体素空间的优势在于其规则的网格结构和显式的体积表示。点云是不规则、无序的,在其上进行邻域查询和特征提取需要动态的数据结构;体素是规则、有序的,三维卷积可以直接应用。点云无法区分自由空间和未知空间,体素可以;点云无法表达物体内部,体素可以。但体素的劣势同样明显:对于表面几何的精细度,体素受限于其分辨率,而点云可以在表面附近达到亚毫米级的采样精度;对于同样大小的场景,密集体素的存储开销是点云的数倍到数十倍。在实际应用中,体素和点云常被结合使用——点云提供高精度的表面细节,体素提供自由空间和占据信息。

        相较于雷达检测空间体素空间提供了高得多的空间分辨率和几何细节,但完全缺少多普勒速度这一独特的运动维度。雷达检测点极其稀疏,无法独立构建细粒度的体素占据地图;但其速度信息是体素空间所没有的宝贵动态特征。两者的融合通常表现为:雷达检测点作为额外的点源输入被栅格化到体素中,为体素附加速度通道。

        总体而言,体素空间的生态位在于“体积几何的规则容器”。当任务需要自由空间推理、体积占据分析或三维卷积时,体素是自然甚至唯一的选择;当任务只关心表面几何或外观纹理时,点云或图像可能更高效

十六、进一步拓展:从显式体素到神经隐式场与可微体素

        体素空间的前沿发展正在经历从“显式几何存储”向“可微特征场”的范式转变,这一转变模糊了显式体素与隐式神经表示之间的传统界限。

        显式体素占据栅格受限于分辨率:体素尺寸决定了表示的精度上限,更精细的细节必须用更小的体素来捕捉,但这会带来存储和计算的立方增长。神经隐式场——以 NeRF 为代表——通过用 MLP 网络将连续坐标映射为占据、颜色或密度,彻底摆脱了体素分辨率的限制,理论上可以在任意精度下查询和渲染。然而,纯粹的隐式场失去了显式体素的局部性和可编辑性——修改场景的一小部分需要重新训练整个网络。这催生了混合表示:将体素网格用作可学习特征的支架。在 Instant NGP 中,三维空间被划分为一个多分辨率哈希体素网格,每个体素角点存储一个可学习的特征向量。给定任意位置,特征通过多分辨率三线性插值聚合,然后输入小型 MLP 解码为颜色和密度。这种“体素特征+神经网络解码器”的架构同时获得了体素的局部可编辑性(修改某个区域只需更新对应的体素特征)和神经隐式场的连续性与表达能力(MLP 可以在特征基础上实现平滑、高分辨率的输出)。它使得 NeRF 的训练从数小时骤降至数秒,是体素表示赋能神经渲染的一个里程碑。

        3D 高斯泼溅则将体素的思想推向了另一个方向。它从点云初始化出发,将每个点扩展为一个具有位置、协方差、颜色和不透明度的三维高斯核,这些高斯核的集合在功能上类似于一个非均匀采样的连续体素场——每个高斯核占据一块椭球状的空间区域,影响其覆盖范围内的所有光线。与均匀体素网格相比,高斯泼溅将“体积容量”集中在物体表面附近(高斯核在表面附近稠密,在空旷处稀疏),避免了在自由空间上的浪费,同时保留了体积渲染所需的连续密度场。这种以物体表面为中心的自适应体素化,可能是未来体素空间在实时三维感知和渲染中演化的重要方向。

        占用网络是体素空间在自动驾驶感知中最受关注的新范式。与传统的基于目标检测输出的三维边界框不同,占用网络直接预测整个三维空间每个体素的占据状态和语义类别。这种表示能够处理任意形状的障碍物(不像边界框只能表示立方体或圆柱体),也能表达那些不属于任何预定义类别的“通用障碍物”(如掉落的货物、事故碎片)。占用网络通过将体素空间的占据预测与多传感器特征融合、时序信息整合和运动规划无缝耦合,正在成为下一代自动驾驶感知架构的核心组件。这一趋势表明,体素空间作为统一的几何场景表示,其重要性和应用范畴将在未来持续扩大,从传统的建图和重建,延伸到端到端的感知-规划一体化。

        体素空间的演进史,就是一部人类用离散规则逼近连续世界的历史。从二维像素到三维体素,从密集网格到稀疏树和哈希表,从显式占据到神经特征场——每一次跨越都在规则性与灵活性、精度与效率之间寻找新的平衡点。在多传感器融合的宏大图景中,体素空间所扮演的“容积统一者”角色,或许比任何单一传感器的进步都更为深刻地塑造着机器理解三维世界的方式。

Logo

免费领 150 小时云算力,进群参与显卡、AI PC 幸运抽奖

更多推荐