PolarFormer:Multi-camera 3D Object Detection with Polar Transformer——论文笔记
参考代码:PolarFormer
1. 概述
介绍:本项目仓库RoboBEV对现有几种 bev 感知算法在不同输入条件下的鲁棒性进行了归纳总结,在这些感知算法中 PolarFormer 展现出了较好的泛化能力。该算法的核心思想是将传统的基于直角坐标系栅格化构建 bev 网格的方式转换为基于极坐标栅格化的 bev 网格构建方法,在此过程中(bev)特征的表现形式与相机成像过程具有高度契合性。具体而言,在 W 维度上单个竖向特征所代表的几何区域实际上是由光心和两条射线所构成的一个扇形区域。整个工作流程大致可分为以下几个步骤:首先需要通过 transformer 模块对各个扇形区域提取特征信息;而对于完整的感知域(即以车辆为中心的一个圆形区域)则采用双线性插值的方式从各个扇区采样点获取特征值;随后通过 self-attention 网络对提取到的特征进行优化处理;值得注意的是该 bev 到 bev 特征转换的过程会在多个不同的特征尺度下完成这一操作流程,在这一基础上构建了一个多尺度的 bev 特征表示;最后该模块通过类似于 detr 模型的设计完成了最终的感知任务。总体而言该方法从 bev 特征的构建、获取以及预测实现上都展现出了简洁明了的特点;然而就实际应用而言将其部署至车载系统尚需克服诸多技术难题。
在RoboBEV中变化不同的输入情况下PolarFormer的退化情况:

2. 方法设计
2.1 整体pipeline
整个bev感知算法的结构见下图所示:

结合上图内容可以将整个算法结构划分为如下几个部分:
- 1)backbone+fpn被用来实现图像特征的提取。
- 2)以车体为中心划分感知范围的不同扇区,并基于这些扇区构建查询;通过交叉注意力机制获取各扇区的特征表达。
- 3)各个扇区经由双线性插值生成完整的BEV特征,在此基础上应用自注意力机制完成BEV特征的优化与校准。
- 4)针对需要感知的目标设置相应的query,并利用多尺度可变形注意力机制在多尺度特征中实现感知。
2.2 fov到bev的转换
这篇文章中的bev特性和感知过程均基于极坐标系展开。这也就意味着,在特征转换过程中,必须同时完成直角坐标系至极坐标系的转换(如图所示):

对于图像中的点(x^{(I)},y^{(I)}),图像视锥坐标系下的点(x^{(C)},y^{(C)},z^{(C)}),极坐标系下的点(\phi^{P},\rho^{(P)}),它们的转换关系为:
\phi^{(P)}=arctan\frac{x^{(C)}}{z^{(C)}}=arctan\frac{x^{(I)}-u_0}{f_x}
\rho^{(P)}=\sqrt{(x^{(C)})^2+(z^{(C)})^2}=z^{(C)}\sqrt{(\frac{x^{(I)}-u_0}{f_x})^2+1}
上面的转换关系会在生成GT的过程中参与到,而在对应特征转换和预测过程中是不会怎么涉及的,这里没有假定扇形区域深度的概念,对于扇形范围的特征为\hat{p}_{x,u,w}\in R^{R_u*C},其中(x,u,w,R_u)分别代表camera_id,多尺度特征index,特征的宽度和极坐标的范围(也就是对应的range)。则对应的图像特征为f_{x,u,w}\in R^{H_u*C},那么后面就是根据cross-attention实现扇区特征的获取:
p_{n,u,w}=MultiHead(\hat{p}_{n,u,w},f_{x,u,w},f_{x,u,w})
上面得到的是一个扇区的特征表达,那么周视的完整bev特征表达就是这些扇区的叠加:
p_{n,u}=Stack([p_{n,u,1},\dots,p_{n,u,w_u}], dim=1)\in R^{R_u*W*C}
按照上面的过程已经得到一个特征scale下的表达,则实际bev极坐标到图像视锥极坐标的转换就需要通过采样的方式实现了,这里也是借鉴了世界坐标到图像坐标的转换,也就是
(\phi^{P},\rho^{(P)})=Cam_ICam_E(\phi^{W},\rho^{(W)})
然后对这些投影过来的点按照双线性插值的方式获取实际bev极坐标下的特征表达:
G_u(\rho^{(P)}_i,\phi^{P}_j)=\frac{1}{\sum_{n=1}^N\sum_{n=1}^Z\lambda_n(\rho_i^{(P)},\phi_i^{(P)},z_k^{(P)})}\cdot\sum_{n=1}^N\sum_{n=1}^Z\lambda_n(\rho_i^{(P)},\phi_i^{(P)},z_k^{(P)})\mathcal{B}(P_{n,u},(\bar{x}_{i,j,k,n}^{(I)},\bar{r}_{i,j,n}))
上面得到的特征还是比较原始的特征还需要经过几层self-attention网络进行特征优化和对齐操作。那么使用这样的坐标达标具体会有什么样的收益?见下表

而这里的扇形划分分辨率和range对性能的影响:

极坐标建模与直角坐标建模在不同距离下的性能差异:

2.3 感知头部分
经实验分析得出BEV特征具有多尺度特性。基于此,在感知头部分采用multi-scale变形注意力机制构建head部分,并可参考图示。

对于multi-scale特征给网络性能带来的影响见下表:

3. 实验结果
nuScenes test set:

