本文分享“占用网络”方案中,具有代表性的方法:OccNet。
它以多视角相机为核心,首先生成BEV特征,然后通过级联结构和时间体素解码器重建生成3D占用特征。
构建一个通用的“3D占用编码特征”,用以表示3D物理世界。这样的特征描述可以应用于广泛的自动驾驶任务,包括检测、分割和规划。
论文地址:Scene as Occupancy
开源地址:https://github.com/OpenDriveLab/OccNet
OccNet输入多视角图像数据,类似BEVFormer思想,首先通过Deformable Attention融合多视角相机空间特征和时序特征,生成BEV特征。
然后通过级联-体素编码器,逐步生成Voxel特征;最后供BEV分割、3D目标检测、运动规划等任务使用。
OccNet的思路流程如下图所示,
OccNet从BEV特征(HxWxC)到Voxel特征(ZxHxWxC)的重建,分为 N 步。命名为 cascade structure,表示级联结构。
这里H和W是BEV 空间的二维空间形状、C是特征维度,Z是体素空间的期望高度。
在输入的BEV特征和期望的体素特征之间,成为不同高度的“中间体素特征”,表示为:
BEV特征通过前馈网络转为Voxel特征,即:通过前馈网络被提升,通过前馈网络被提升
然后得到的Voxel特征,结合多视图特征,做空间交叉注意力,融合图像特征。
通过获取先前的Voxel特征,通过时间自注意力,融合时序Voxel特征。
此时融合图像特征和时序Voxel特征,得到进一步的Voxel特征。
接着逐步融合,共执行N步,得到最终的Voxel特征,表示占用网络的特征。
OccNet输入是多视角图形数据,在生成BEV特征中,类似BEVFormer思想,通过Deformable Attention融合多视角相机空间特征和时序特征。
主要由3个关键模块组成:
基本思想:使用可学习的查询Queries表示BEV特征,查找图像中的空间特征和先前BEV地图中的时间特征。
采用3D到2D的方式,先在BEV空间初始化特征,通过在BEV高度维度“升维”形成3D特征。再通过映射关系,使用多层transformer与每个图像2D特征进行交互融合,最终再得到BEV特征。
2.1 BEV Queries 查询得到BEV特征图
?BEV平面(Bird's-Eye View,鸟瞰视图)是一个以车辆自身为中心的,被划分成许多小方格的二维平面。
这个平面的高度H和宽度W代表了:在x轴(横向)和y轴(纵向)上的栅格数量。
BEV平面直观地反映了车辆周围的物理空间,其中每个小方格代表现实世界中的一定面积,例如s米。
比如针对nuScenes数据集,可能会定义BEV平面的栅格尺寸为200x200,这意味着这个平面可以覆盖从车辆中心向各个方向延伸51.2米的区域。在这种情况下,每个小方格(栅格)代表的实际面积是0.512米。
关键要的:
1、BEV Queries是一组预先定义的、具有栅格形状的可学习参数, 维度是H*W*C,用来捕获围绕自车的BEV特征。
简单来说,一旦学习完成,BEV Queries就会变成BEV features,即鸟瞰视图特征。
2、BEV Queries的高度H和宽度W,与BEV平面在x轴(横向)和y轴(纵向)的栅格尺寸保持一致,这意味着它们也具有与BEV平面类似的特性,即直观地映射车辆周围的物理空间。
然而,BEV Queries的C维,即在通道(channel)维度上的尺寸,并不直接对应于BEV平面z轴的物理空间尺寸。
3、每个位于(x, y)位置的query都仅负责表征其对应的小范围区域。轮番查询“空间信息”和“时间信息”,生成BEV特征图。
重点:BEV Queries在模型中经过连续的微调和转换,最终成为BEV features。
2.2?融合多视角空间特征
?通过BEV Queries查询和融合空间信息,BEV Queries表示整幅栅格图,BEV Query表示其中一个网格,步骤如下:
如下图所示,一个3D参考点(x, y, z),投影到多视角图中,只有2幅是对应的。这样很正常,毕竟相机是四周安装的,不可能所有相机都看到同一个物体。
2.3?融合时序BEV特征
?受到经典的循环神经网络(RNN)的启发,BEV特征 可以被视作一种能够传递序列信息的“记忆体”。
在这种框架下,每一个时刻生成的BEV特征 都是基于上一时刻的BEV特征 来获取所需的时序信息。
融合时序BEV特征,通过BEV Queries 查询时间信息,步骤如下:
?思路流程:
通过这种方式,模型能够更加准确地捕捉到物体随时间的动态变化。
可变形注意力允许模型关注于相邻时刻在空间上对应但位置可能略有变化的特征,从而有效地捕捉动态物体的运动轨迹和静态物体的稳定性。
这种方法在处理时序数据时,特别是在动态和复杂的环境中,如自动驾驶场景下,显得尤为重要和有效。
2.4 BEV特征
通过BEV Queries,查询先前时序的BEV特征,融合对应的时间特征。再融合图像的空间特征。
融合了时间和空间特征的BEV Queries,也就是BEV特征。
BEV特征的维度是:HxWxC。
输入多视角图像数据,经过主干网络提取图形特征,得到多视角图像特征。
通过BEV Queries,融合了时间和空间特征的BEV Queries,得到BEV特征(HxWxC)。
需要通过前馈网络进行升维,提升多一个Z高度信息,即:
BEV特征(HxWxC)转为?Voxel特征(ZxHxWxC)
这里H和W是BEV 空间的二维空间形状、C是特征维度,Z是体素空间的期望高度。
上面得到Voxel特征只是初步的,由BEV特征升维得到的,不够精细,需要进一步提升Z高度信息,缩小C特征维度;
形成最终的Voxel特征,表示占用网络的特征,
OccNet从BEV特征(HxWxC)到Voxel特征(ZxHxWxC)的重建,分为 N 步。命名为 cascade structure,表示级联结构。
这里H和W是BEV 空间的二维空间形状、C是特征维度,Z是体素空间的期望高度。
在输入的BEV特征和期望的体素特征之间,成为不同高度的“中间体素特征”,表示为:
BEV特征通过前馈网络转为Voxel特征,即:通过前馈网络被提升,通过前馈网络被提升
然后得到的Voxel特征,结合多视图特征,做空间交叉注意力,融合图像特征。
通过获取先前的Voxel特征,通过时间自注意力,融合时序Voxel特征。
此时融合图像特征和时序Voxel特征,得到进一步的Voxel特征。
接着逐步融合,共执行N步,得到最终的Voxel特征,表示占用网络的特征。
这里过程中用到了3D Deformable Att.? 即:3D可变形注意力(3D-DA)
3D Deformable Attention (3D-DA) 是一种为处理三维数据设计的注意力机制,它源于2D可变形注意力(deformable attention)的原理。
这个方法将传统的2D可变形注意力扩展到了3D形式。可变形注意力是一种自注意力机制,它允许网络学习在计算注意力时应关注的关键点位置的偏移。
扩展自传统的2D注意力机制:2D可变形注意力是设计用于处理二维数据(如图像),允许模型在计算注意力时学习到的偏移量集中在关键特征上。3D-DA将这种机制扩展到三维空间,以处理具有深度的数据(如体积医疗图像或三维环境扫描数据)。
可变形部分:“可变形”指的是模型不仅学习特征的重要性(即注意力权重),还学习在原始参照点周围的特定偏移量,这些偏移量可以使模型更准确地聚焦于有信息的区域,这与固定的、规则的采样网格不同。
由于太多公式符号了,这里一个截图,便于大家理解:
主干网络(Backbone)、多尺度特征(Multi-scale Features):
BEV编码器:
体素解码器的特征转换:
训练策略:
与VoxelNet和BEVNet对比:
评价指标:
OccNet生成的占用特征,用到了BEV分割、3D目标检测、运动规划等任务。
语义场景完成(SSC)指标:
3D物体检测指标:
运动规划指标:
为什么这部分放这么后,因为感觉不是论文的重点,简单讲讲即可。
在BEV分割中,每个单元格隐含地包含了高度信息。这意味着在BEV地图的每个单元格中,高度信息被整合进去了,但没有显式地表达出来。
在特定的、更具挑战性的城市场景中,需要明确地识别和处理地面以上物体的高度信息。例如,为了正确识别交通灯和立交桥这样的结构,仅仅隐含地处理高度信息是不够的。
占用网络映射考虑了3D空间中的物体。这表明占用网络映射是“3D几何感知”的,意味着它能够更好地理解和表达物体在三维空间中的位置和形状,包括高度信息。
?在语义场景完成方面的三维占用预测,对于使用RGB输入的模型,语义占用预测和几何预测指标进行了比较。
在平均交并比(mIoU)和几何交并比(IoUgeo)方面,OccNet显著超过了之前的最佳状态(SOTAs)。带有星号(*)的方法表示在OpenOcc数据集上进行训练和评估。
分割任务,OccNet(ResNet101)在nuScenes验证集上的分割性能。
使用相机输入的OccNet与基于LiDAR的方法相当。带星号(*)的方法表示从头开始在OpenOcc数据集上进行训练。?
三维占用与三维检测的联合训练。在nuScenes验证集上报告的结果显示,三维占用与三维检测的联合训练可以帮助后者任务。
使用不同场景的规划结果,占用表征帮助规划任务在时间间隔内,实现更低的碰撞率和更准确的L2距离。
运动规划的可视化,蓝线代表规划的轨迹,下图是边界框和占用情况的栅格化结果。
通过栅格化占用输入得到的轨迹可以与卡车保持更大的安全距离,这归因于更精确的多边形表示。
?
占用预测的可视化,对于每个场景,左上图是周围相机的输入,左下图和右图分别代表占用预测结果的透视视图和俯视图。
虚线区域表示OccNet可以很好地预测小尺寸目标或远距离目标。
分享完成~