论文阅读:(TPVFormer)Tri-Perspective View for Vision-Based 3D Semantic Occupancy Prediction

论文阅读:(TPVFormer)Tri-Perspective View for Vision-Based 3D Semantic Occupancy Prediction

Abstract

以视觉为中心的自动驾驶感知的现代方法广泛采用鸟瞰图(BEV)表示来描述3D场景。尽管它的效率比体素表示更好,但它很难用单个平面描述场景的细粒度3D结构。为了解决这个问题,我们提出了一种三透视图(TPV)表示,它伴随着BEV和两个额外的垂直平面。我们通过总和其在三个平面上的投影特征来对3D空间中的每个点进行建模。为了将图像特征提升到3D TPV空间,我们进一步提出了一种基于Transformer的TPV编码器(TPVFormer)来有效地获取TPV特征。我们采用注意力机制来聚集与每个TPV平面中的每个查询对应的图像特征。实验表明,我们用稀疏监督训练的模型可以有效地预测所有体素的语义占用。我们首次证明,仅使用相机输入即可实现与基于LiDAR的方法相当的性能。代码:https://github.com/wzzheng/TPVFormer.

image-20240822172717275

为了展示TPV的优越性,我们制定了一个实用而具有挑战性的基于视觉的3D语义占有率预测任务,其中只提供稀疏的激光雷达语义标签用于训练,测试需要所有体素的预测,如图2所示。然而,由于在这种具有挑战性的环境下没有提供基准,我们只对两个代理任务进行了定性分析,但提供了定量评估:nuScenes[4]上的激光雷达分割(稀疏训练,稀疏测试)和SemantiKITTI[2]上的3D语义场景完成(密集训练,密集测试)。对于这两个任务,我们只使用RGB图像作为输入。对于LiDAR分割,我们的模型只使用点查询的LiDAR数据来计算评估指标。可视化结果表明,TPVFormer在训练过程中只需要稀疏点监督就能产生一致的语义体素占用预测,如图1所示。我们还首次证明了我们的基于视觉的方法在LiDAR分割上取得了与基于LiDAR的方法相当的性能。

image-20240822174014593

3. Proposed Approach

3.1. Generalizing BEV to TPV

image-20240822213916912

自动驾驶感知通常需要复杂3D场景的富有表现力和高效的表示,其中体素和鸟瞰图(BEV)表示是两种最广泛采用的框架。体素表示[26,43,48]描述了具有密集立方体特征的3D场景 V ∈ R H × W × D × C \mathbf{V}\in\mathbb{R}^{H\times W\times D\times C} VRH×W×D×C,其中 H H H W W W D D D 是体素空间的空间分辨率, C C C 表示特征维度。现实世界中位于 ( x , y , z ) (x, y, z) (x,y,z) 处的随机点通过一一对应 P v o x \mathcal{P}_{vox} Pvox 映射到其体素坐标 ( h , w , d ) (h, w, d) (h,w,d),所得特征 f x , y , z \mathrm{f}_{x,y, z} fx,y,z 通过在 ( h , w , d ) (h, w, d) (h,w,d) 处对 V \mathrm{V} V 进行采样来获得:
f x , y , z = v h , w , d = S ( V , ( h , w , d ) ) , = S ( V , P v o x ( x , y , z ) ) , \begin{aligned}\mathrm{f}_{x,y,z}=\mathrm{v}_{h,w,d}&=\mathcal{S}(\mathrm{V},(h,w,d)),\\&=\mathcal{S}(\mathrm{V},\mathcal{P}_{vox}(x,y,z)),\end{aligned} fx,y,z=vh,w,d=S(V,(h,w,d)),=S(V,Pvox(x,y,z)),
其中 S ( a r g 1 , a r g 2 ) \mathcal{S}(arg1,arg2) S(arg1,arg2) 表示在 a r g 2 arg2 arg2 中指定的位置处采样 a r g 1 arg1 arg1 v h , w , d \mathbf{v}_{h,w,d} vh,w,d是采样的体素特征。请注意,如果体素空间与现实世界对齐,投影函数 P v o x \mathcal{P}_{vox} Pvox 由简单的缩放和刚性变换组成。因此,体素表示保留了现实世界的维度,并通过适当的 H H H W W W D D D提供足够的表现力。然而,体素特征的存储和计算复杂性与 O ( H W D ) O(HWD) O(HWD) 成正比,因此在实时机载应用中部署它们具有挑战性。

作为一种流行的替代方案,BEV [22,27,28,32]使用2D特征地图 B ∈ R H × W × C \mathbf{B}\in\mathbb{R}^{H\times W\times C} BRH×W×C 对3D场景进行建模,该地图编码了场景的顶视图。与体素对应点不同,仅使用来自地平面的位置信息将 ( x , y , z ) (x, y, z) (x,y,z) 处的点投影到其BEV坐标 ( h , w ) (h, w) (h,w),而无论 z z z 轴如何。从 B \mathbf{B} B 采样的每个特征 b h , w b_{h,w} bh,w 对应于覆盖现实世界中 z z z 轴整个范围的柱区域:
f x , y , Z = b h , w = S ( B , ( h , w ) ) = S ( B , P b e v ( x , y ) ) \mathrm{f}_{x,y,\mathbf{Z}}=\mathrm{b}_{h,w}=\mathcal{S}(\mathrm{B},(h,w))=\mathcal{S}(\mathrm{B},\mathcal{P}_{bev}(x,y)) fx,y,Z=bh,w=S(B,(h,w))=S(B,Pbev(x,y))
其中 f x , y , Z \mathrm{f}_{x,y,\mathbf{Z}} fx,y,Z 表示共享相同 ( x , y ) (x,y) (x,y) z z z 不同的点的特征, P b e v \mathcal{P}_{bev} Pbev 是点到BEV的投影。尽管BEV将存储和计算负担大大降低到 O ( H W ) O(HW) O(HW) ,但完全省略 z z z 轴对其表现力有不利影响。

为了解决这个问题,我们提出了一种三透视视图(TPV)表示,它能够全尺寸建模3D空间,而无需抑制任何轴并避免立方体复杂性,如图3所示。形式上,我们学习了三个轴对齐的垂直TPV平面:
T = [ T H W , T D H , T W D ] , T H W ∈ R H × W × C , T D H ∈ R D × H × C , T W D ∈ R W × D × C , \begin{aligned}&\mathbf{T}=[\mathbf{T}^{HW},\mathbf{T}^{DH},\mathbf{T}^{WD}], \\\mathbf{T}^{HW}\in\mathbb{R}^{H\times W\times C},&\mathbf{T}^{DH}\in\mathbb{R}^{D\times H\times C}, \mathbf{T}^{WD}\in\mathbb{R}^{W\times D\times C},\end{aligned} THWRH×W×C,T=[THW,TDH,TWD],TDHRD×H×C,TWDRW×D×C,
它们分别代表3D场景的顶视图、侧视图和前视图。 H H H W W W D D D表示三个平面的分辨率, C C C表示特征维度。直观地说,当从不同的角度审视一个复杂的场景时,可以更好地理解,因为这些角度可以提供有关场景的补充线索。

Point Querying formulation. 给定现实世界中在 ( x , y , z ) (x, y, z) (x,y,z) 处的查询点,TPV表示会尝试汇总其在顶视图、侧视图和前视图上的投影,以获得对该点的全面描述。为了详细说明,我们首先将点投影到TPV平面上以获得坐标 [ ( h , w ) , ( d , h ) , ( w , d ) ] [(h,w),(d,h),(w,d)] [(h,w),(d,h),(w,d)],对这些位置的TPV平面进行采样以检索相应的特征 [ t h , w , t d , h , t w , d ] [\mathbf{t}_{h,w},\mathbf{t}_{d,h},\mathbf{t}_{w,d}] [th,w,td,h,tw,d],并聚合三个特征以生成最终的 f x , y , z \mathbf{f}_{x,y,z} fx,y,z
t h , w = S ( T H W , ( h , w ) ) = S ( T H W , P h w ( x , y ) ) , t d , h = S ( T D H , ( d , h ) ) = S ( T D H , P d h ( z , x ) ) , t w , d = S ( T W D , ( w , d ) ) = S ( T W D , P w d ( y , z ) ) . \begin{gathered} \mathbf{t}_{h,w} =\mathcal{S}(\mathrm{T}^{HW},(h,w))=\mathcal{S}(\mathrm{T}^{HW},\mathcal{P}_{hw}(x,y)), \\ \mathbf{t}_{d,h} =\mathcal{S}(\mathbf{T}^{DH},(d,h))=\mathcal{S}(\mathbf{T}^{DH},\mathcal{P}_{dh}(z,x)), \\ \mathbf{t}_{w,d} =\mathcal{S}(\mathrm{T}^{WD},(w,d))=\mathcal{S}(\mathrm{T}^{WD},\mathcal{P}_{wd}(y,z)). \end{gathered} th,w=S(THW,(h,w))=S(THW,Phw(x,y)),td,h=S(TDH,(d,h))=S(TDH,Pdh(z,x)),tw,d=S(TWD,(w,d))=S(TWD,Pwd(y,z)).

f x , y , z = A ( t h , w , t d , h , t w , d ) \mathrm f_{x,y,z}=\mathcal{A}(\mathrm t_{h,w},\mathrm t_{d,h},\mathrm t_{w,d}) fx,y,z=A(th,w,td,h,tw,d)

Voxel feature formulation. 等同于点查询公式,当TPV平面沿各自的垂直方向扩展并求和时,构建类似于体素特征空间的全尺寸3D特征空间,但仅具有 O ( H W + D H + W D ) O(HW+DH+WD) O(HW+DH+WD) 的存储和计算复杂性,其比体素对应物低一个数量级。与BEV相比,由于TPV中的三个平面相互垂直,所以一个平面的垂直方向上的点特征通过从另两个平面采样的特征来多样化,而BEV表示忽略了这一点。此外,每个TPV平面中的网格特征只负责相应柱子区域的特定于视图的信息,而不是像在BEV中那样对完整的信息进行编码。总而言之,TPV表示将BEV从单一的俯视图概括为互补和正交的顶视图、侧视图和前视图,并且能够在保持效率的同时提供对3D环境的更全面和更细粒度的理解。

3.2. TPVFormer

对于以视觉为中心的自动驾驶感知,通常使用2D主干来获取图像特征,然后根据表示框架将其输入特定的编码器。我们提出了一种基于 Transformer 的TPV编码器(TPVFormer),通过注意机制将图像特征提升到TPV平面。

image-20240822214035535

Overall Structure: 在TPVFormer中,我们引入了TPV查询、图像交叉注意(ICA)和交叉视图混合(CVHA),以实现TPV平面的有效生成,如图4所示。事实上,TPV查询和TPV平面指的是(3)中定义的同一组特征载体。每个TPV查询 t ∈ T t\in T tT 是属于三个平面之一的网格单元特征,用于编码来自相应柱区域的视图特定信息。跨视图混合注意使得来自相同或不同视图的TPV查询之间能够直接交互,以收集上下文信息。在图像交叉注意力内部,TPV查询通过可变形注意力从图像特征中聚集视觉信息。

我们进一步构建了两种Transformer块:混合交叉注意块(HCAB)和混合注意块(HAB)。HCAB块由CVHA和ICA注意力组成,在TPVFormer的前半部分使用,以有效地从图像特征中查询视觉信息。继HCAB块之后,HAB块仅包含CVHA注意力,并且专门从事上下文信息编码。最后,我们通过堆叠 N 1 N_1 N1 HCAB块和 N 2 N_2 N2 HAB块来构建TPVFormer。

TPV Queries: 尽管 TPV Queries 和TPV平面指的是(3)中定义的相同2D特征列表,但它们分别用于注意力和3D表示上下文中。每个TPV查询都映射到相应视图中大小为 s × s m 2 s\times s m^{2} s×sm2 的2D网格单元区域,并进一步映射到从视图沿垂直方向延伸的3D柱区域。在我们的 pipeline 中,TPV查询首先用HCAB块中图像特征的原始视觉信息增强,然后用HAB块中其他查询的上下文线索进行细化。至于实现,我们将TPV查询初始化为可学习参数,并在第一个编码器层之前向它们添加3D位置嵌入。

Image Cross-Attention: 在TPVFormer中,我们使用图像交叉注意力来将多尺度甚至可能是多摄像机的图像特征提升到TPV平面。考虑到TPV查询(~ 1 0 4 10^4 104查询)和多个图像特征地图(每个~ 1 0 5 10^5 105像素)的高分辨率性质,计算它们之间的全面香草交叉注意力是不可行的。作为解决方案,我们采用高效的可变形注意力[15,53]来实现图像交叉注意力。

在对参考点进行采样时,我们将局部感受野视为感性偏差。具体来说,对于位于顶平面 ( h , w ) (h, w) (h,w) 处的TPV查询 t h , w t_{h, w} th,w,我们首先通过逆投影函数 P h w − 1 \mathcal{P}_{hw}^{-1} Phw1 计算其在现实世界中顶视图中的坐标 ( x , y ) (x, y) (x,y)。然后,我们沿着平面的垂直方向对查询 t h , w \mathbf{t}_{h,w} th,w N r e f H W N_{ref}^{HW} NrefHW参考点进行均匀采样:
( x , y ) = P h w − 1 ( h , w ) = ( ( h − H 2 ) × s , ( w − W 2 ) × s ) . (x,y)=\mathcal{P}_{hw}^{-1}(h,w)=((h-\frac{H}{2})\times s,(w-\frac{W}{2})\times s). (x,y)=Phw1(h,w)=((h2H)×s,(w2W)×s).

R e f h , w w o r l d = ( P h w − 1 ( h , w ) , Z ) = { ( x , y , z i ) } i = 1 N r e f H W , \mathrm{Ref}_{h,w}^{world}=(\mathcal{P}_{hw}^{-1}(h,w),\mathbf{Z})=\{(x,y,z_i)\}_{i=1}^{N_{ref}^{HW}}, Refh,wworld=(Phw1(h,w),Z)={(x,y,zi)}i=1NrefHW,

其中 R e f h , w w o r l d \mathrm{Ref}_{h,w}^{world} Refh,wworld 表示查询的世界 t h , w t_{h,w} th,w 坐标中的参考点集合。对所有TPV查询重复类似的过程,请注意,由于轴范围不同,参考点Nref的数量可能会在平面上发生变化。在推导出th,w的参考点后,我们需要将它们投影到像素坐标中,以便稍后对图像特征图进行采样:

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值