原文链接:https://arxiv.org/abs/2303.03991
目前缺少自动驾驶场景中的大型环视占用感知数据集。本文提出OpenOccupancy基准,并通过添加密集语义占用标注将nuScenes扩展为nuScenes-Occupancy。使用增强和净化(AAP)流程,以标注并密集化占用标签。首先通过多帧激光雷达点叠加来初始化标签,并使用预训练基准方案建立的伪占用标签增强稀疏标注。最后,进行人工标注修正。
本文建立了基于相机的、基于激光雷达的和多模态融合的基准方案。实验表明,基于相机的方法能在小物体上有更高的性能,而基于激光雷达的方法在大型结构化区域更佳。由于环视占用感知需要大量算力,基准方案仅能生成低分辨率的预测。本文基于基准方案,提出级联占用网络(CONet),建立由粗到细的流程,提高性能。
给定360度输入 X i X_i Xi(如激光雷达扫描或环视图像),感知网络需要预测环视占用标签 F ( X i ) ∈ R D × H × W \mathcal{F}(X_i)\in\mathbb{R}^{D\times H\times W} F(Xi)∈RD×H×W。由于环视感知的范围很大,该任务的主要挑战是建立高分辨率的占用。
本文引入AAP流程高效地标注和密集化占用标签。
首先使用激光雷达叠加点云初始化标注: V i n i t = F v o x ( F s u p ( P , L , T , B ) ) V_{init}=\mathcal{F}_{vox}(\mathcal{F}_{sup}(P,L,T,B)) Vinit=Fvox(Fsup(P,L,T,B)),其中静态点使用外参 T T T转换到统一坐标系下,动态点转换到边界框 B B B的坐标系下,然后将静态点与动态点放到一起进行体素化( F v o x \mathcal{F}_{vox} Fvox),产生初始占用标注 V i n i t V_{init} Vinit(其语义标签来自点云的语义标注 S S S)。然后,使用伪占用标签补全稀疏的初始标签。具体来说,使用初始标签训练多模态基准方案 F m \mathcal{F}_m Fm,预测伪占用标签 V p s e u d o V_{pseudo} Vpseudo,然后用其增强 V i n i t V_{init} Vinit中的空体素:
V a u g ( x , y , z ) = { V i n i t ( x , y , z ) V i n i t ( x , y , z ) 被占用 V p s e u d o ( x , y , z ) 否则 V_{aug}(x,y,z)=\left\{\begin{matrix}V_{init}(x,y,z)&V_{init}(x,y,z)被占用\\V_{pseudo}(x,y,z)&否则\\\end{matrix}\right. Vaug(x,y,z)={Vinit(x,y,z)Vpseudo(x,y,z)Vinit(x,y,z)被占用否则
由于伪标签会产生伪影,本文进行人工修正,得到最终的标注 V f i n a l = F p u r i t y ( V a u g ) V_{final}=\mathcal{F}_{purity}(V_{aug}) Vfinal=Fpurity(Vaug)。
包含几何度量的IoU与语义度量的IoU:
I o U = T P o T P o + F P o + F N o , m I o U = 1 C s e m ∑ c = 1 C s e m T P c T P c + F P c + F N c IoU = \frac{TP_o}{TP_o+FP_o+FN_o},mIoU=\frac{1}{C_{sem}}\sum_{c=1}^{C_{sem}}\frac{TP_c}{TP_c+FP_c+FN_c} IoU=TPo+FPo+FNoTPo,mIoU=Csem1c=1∑CsemTPc+FPc+FNcTPc
其中下标 o o o代表占用网格的度量,下标 c c c代表某一类别的度量。
基于激光雷达的基准方案:如上图左上角蓝色虚线框内所示,首先体素化点云,并使用3D稀疏卷积在体素空间编码特征,得到下采样的激光雷达体素特征 F L ∈ R D S × H S × W S × C F^L\in\mathbb{R}^{\frac{D}{S}\times\frac{H}{S}\times\frac{W}{S}\times C} FL∈RSD×SH×SW×C,然后进一步由3D卷积解码得到多尺度体素特征 F i L ∈ R D 2 i S × H 2 i S × W 2 i S × C i F^L_i\in\mathbb{R}^{\frac{D}{2^iS}\times\frac{H}{2^iS}\times\frac{W}{2^iS}\times C_i} FiL∈R2iSD×2iSH×2iSW×Ci,上采样并沿通道维度拼接,得到 F m s L ∈ R D S × H S × W S × ∑ i C i F^L_{ms}\in\mathbb{R}^{\frac{D}{S}\times\frac{H}{S}\times\frac{W}{S}\times \sum_iC_i} FmsL∈RSD×SH×SW×∑iCi。最后使用占用头减少通道维度,并预测语义概率。输出 O L ∈ R D S × H S × W S × ( C s e m + 1 ) O^L\in\mathbb{R}^{\frac{D}{S}\times\frac{H}{S}\times\frac{W}{S}\times(C_{sem}+1)} OL∈RSD×SH×SW×(Csem+1)可通过三线性插值缩放到任意尺寸。
基于相机的基准方案:如上图下部橙色框所示,2D编码器提取多视图特征 F m v F^{mv} Fmv,然后进行2D到3D的视图变换(保留高度),得到图像的体素特征 F C F^C FC(大小与 F L F^L FL相同),最后使用解码器和占用头处理,得到语义占用 O C O^C OC。
多模态基准方案:使用自适应融合模块动态整合激光雷达体素特征和相机体素特征:
W = G C ( [ G C ( F L ) , G C ( F C ) ] ) W=\mathcal{G}_C([\mathcal{G}_C(F^L),\mathcal{G}_C(F^C)]) W=GC([GC(FL),GC(FC)]) F F = σ ( W ) ⊙ F L + ( 1 − σ ( W ) ) ⊙ F C F^F=\sigma(W)\odot F^L+(1-\sigma(W))\odot F^C FF=σ(W)⊙FL+(1−σ(W))⊙FC
其中 G C \mathcal{G}_C GC为3D卷积。融合特征 F F F^F FF通过解码器和占用头预测最终的占用。
所有基准方案在训练时使用交叉熵损失和lovasz-softmax损失优化。此外,还使用几何亲和性损失和语义亲和性损失来优化场景度量(几何IoU)和类别度量(语义mIoU)。显式的深度监督也被用于训练深度感知的视图变换模块(仅在基于相机的基准方案与多模态基准方案中使用)。
由于环视占用感知需要的存储空间很大,基准方案对预测结果进行了下采样。本文提出级联占用网络进行高效而精确的占用感知。
具体来说,CONet的由粗到细的流程可加入任一基准方案中。以多模态方案为例,整体网络如上图所示。粗糙的占用 O M ∈ R D S × H S × W S × ( C s e m + 1 ) O^M\in\mathbb{R}^{\frac{D}{S}\times\frac{H}{S}\times\frac{W}{S}\times(C_{sem}+1)} OM∈RSD×SH×SW×(Csem+1)中,被占用的体素位置 V o ∈ R N o × 3 V_o\in\mathbb{R}^{N_o\times3} Vo∈RNo×3会作为高分辨率占用查询 Q H ∈ R N o 8 η − 1 × 3 Q_H\in\mathbb{R}^{N_o8^{\eta-1}\times3} QH∈RNo8η−1×3:
Q H = T v → w ( F s ( V o , η ) ) Q_H=\mathcal{T}_{v\rightarrow w}(\mathcal{F}_s(V_o,\eta)) QH=Tv→w(Fs(Vo,η))
其中 F s \mathcal{F}_s Fs为体素分割函数,对于 V o V_o Vo内的 ( x 0 , y 0 , z 0 ) (x_0,y_0,z_0) (x0,y0,z0),分割索引为 { x 0 + i η , y 0 + j η , z 0 + k η } , i , j , k = 0 , 1 , ⋯ , η − 1 \{x_0+\frac{i}{\eta},y_0+\frac{j}{\eta},z_0+\frac{k}{\eta}\},\ \ i,j,k=0,1,\cdots,\eta-1 {x0+ηi,y0+ηj,z0+ηk}, i,j,k=0,1,⋯,η−1,其中 η \eta η为分割比例, T v → w \mathcal{T}_{v\rightarrow w} Tv→w将体素坐标转换到世界坐标系内。然后将 Q H Q_H QH投影到2D图像上,采样语义特征 F S = G S ( F m v , T v → c ( Q H ) ) F^S=\mathcal{G}_S(F^{mv},\mathcal{T}_{v\rightarrow c}(Q_H)) FS=GS(Fmv,Tv→c(QH));同时在体素空间内采样几何特征 F G = G S ( F F , T v → v ( Q H ) ) F^G=\mathcal{G}_S(F^{F},\mathcal{T}_{v\rightarrow v}(Q_H)) FG=GS(FF,Tv→v(QH))( G S \mathcal{G}_S GS为grid_sample函数)。采样特征会由FC层 G f \mathcal{G}_f Gf融合产生细粒度的占用估计:
O f g = G f ( G f ( F S ) + G f ( F G ) ) O^{fg}=\mathcal{G}_f(\mathcal{G}_f(F^S)+\mathcal{G}_f(F^G)) Ofg=Gf(Gf(FS)+Gf(FG))
最后, O f g O^{fg} Ofg被reshape为体素表达 O v o l ∈ R η D S × η H S × η W S × ( C s e m + 1 ) O^{vol}\in\mathbb{R}^{\frac{\eta D}{S}\times\frac{\eta H}{S}\times\frac{\eta W}{S}\times(C_{sem}+1)} Ovol∈RSηD×SηH×SηW×(Csem+1):
O v o l ( x , y , z ) = { O f g ( T v → q ( x , y , z ) ) , ( x , y , z ) ∈ T v → v ( Q H ) 空标签 , 否则 O_{vol}(x,y,z)=\left\{\begin{matrix}O^{fg}(\mathcal{T}_{v\rightarrow q}(x,y,z)),&(x,y,z)\in\mathcal{T}_{v\rightarrow v}(Q_H)\\空标签,&否则\\\end{matrix}\right. Ovol(x,y,z)={Ofg(Tv→q(x,y,z)),空标签,(x,y,z)∈Tv→v(QH)否则
其中 T v → q \mathcal{T}_{v\rightarrow q} Tv→q为将体素坐标转化为 Q H Q_H QH索引的操作。对于激光雷达基准方案,由于没有多视图图像,仅从 F L F^L FL采样 Q H Q_H QH。
训练时,损失函数与前面介绍的一致,但会同时计算粗糙损失和细粒度损失。
实验表明:
对于图像基准方案,使用更大的输入图像分辨率、更大的图像主干网络能提高性能;对于激光雷达基准方案,使用多帧输入能提高性能;对于多模态基准方案,本文的自适应动态融合策略比使用拼接与求和的融合方法有更好的性能。
基准方案使用更小的步长 S S S能增强性能,但训练时的GPU存储消耗大幅增加。基于低分辨率基准方案的CONet比高分辨率基准方案有更快的速度和更高的性能。对于采样策略,仅从 F S F^S FS采样特征会降低性能,因为2D语义特征对高分辨率3D预测是不够的。从几何特征 F G F^G FG采样能提高性能。两者组合采样能进一步提高性能。