GitNet 论文阅读笔记
0. 术语解释
BEV:Birds-Eye-View,鸟瞰图,全局图
因为之前没有接触过自动驾驶领域的知识,所以一开始没有看懂BEV是什么坐标
之后看到这张来自其他论文的配图才豁然开朗:先不要关注流程,主要是看输入和输出:
上图是从多张相机得到的图片产生完整的俯瞰图并分割
GitNet是从单张图片产生图片视野范围内的BEV(所以会有一个平放着的v型,因为视野不完整)
1. 论文信息
标题:GitNet: Geometric Prior-based Transformation for Birds-Eye-View Segmentation
作者:Shi Gong, Xiaoqing Ye, Xiao Tan, Jingdong Wang, Errui Ding, Yu Zhou, Xiang Bai
来源:2022 Computer Vision and Pattern Recognition(CVPR)
原文链接:https://arxiv.org/abs/2204.07733v1
2. 主要关注的问题
单眼图像分割与BEV分割的根本区别在于,BEV分割需要推断前景物体后面被遮挡物体的标签。
解决方法
本文提出了一种新的从透视空间到BEV空间的两阶段变换。在第一阶段,利用所提出的几何引导的预对齐(GPA)来获得粗糙的预对齐的BEV特征。将BEV分割解耦到透视图像分割和基于几何先验的映射中,并通过将BEV语义标签投影到图像平面上进行显式监督。由于是从BEV空间的标签投影到图像平面,投影分割标签反映了可见和不可见区域
网络架构
如图所示是作者提出的GitNet网络架构,该网络的输入为单目图像输出为鸟瞰视图(BEV)分割图。
网络分为两个阶段:
在第一阶段,利用几何引导预对准(GPA)来获得粗预对准的BEV特征。在GPA中,将BEV分割解耦为透视图像分割和基于几何先验的映射,并通过将BEV语义标签投影到图像平面上进行显式监督。由于是从BEV空间的标签投影到图像平面,投影分割标签反映了可见和不可见区域;而透视图像的外观特征只反映了可见区域,因此GitNet网络通过融合投影标签和外观特征的信息来获得可见性感知的图像特征。
在第二阶段,预对准的BEV特征通过基于极线的转换器(RT)进一步增强,该转换器采用高效的基于极线的注意机制,即在单列中计算注意图以保持特征图的高分辨率。传达外观和可见性信息的预先对准的BEV特征,连同BEV位置编码作为查询工作,并且增强的视角特征充当键和值。结合投影标签,提出了新的深度感知骰子损失,以减轻透视视图中较近实例的主导效应。
此外,由于那些具有容易分类的外观或遵循简单的透视到BEV映射的像素(大多数道路区域),包含了大部分的损失,因此作者提出了一种自加权骰子损失来平衡类别之间的容易-困难样本。
几何引导预对准模块
在照相机的坐标系中的一点的坐标表示为:
x
c
=
[
x
c
,
y
c
,
z
c
]
T
∈
R
3
xc = [xc, yc, zc]^{T}∈R^{3}
xc=[xc,yc,zc]T∈R3
而地面空间是通过将摄像机坐标系的y坐标设置为h(同一个数字),h表示所安装好的相机离地面的高度。
BEV坐标则是把y坐标直接删去,留下x和z坐标
x
b
=
[
x
c
,
z
c
]
T
∈
R
2
xb = [xc, zc]^{T}∈R^{2}
xb=[xc,zc]T∈R2
原文中的照相机固有矩阵K书写的时候有一点问题,应当是:
[
f
x
0
c
x
0
f
y
c
y
0
0
1
]
\begin{bmatrix} fx & 0 &cx \\ 0 & fy &cy \\ 0 & 0 &1 \end{bmatrix}\quad
⎣
⎡fx000fy0cxcy1⎦
⎤
这样,将xc做下列变换:
K
x
c
/
z
c
Kxc/zc
Kxc/zc
就能得到一个坐标:
x
i
=
[
(
f
x
∗
x
c
)
/
z
c
+
c
x
,
(
f
y
∗
h
)
/
z
c
+
c
y
,
1
]
xi = \begin{bmatrix}(fx*xc)/zc+cx,\\ (fy*h)/zc+cy,\\1\end{bmatrix}\quad
xi=⎣
⎡(fx∗xc)/zc+cx,(fy∗h)/zc+cy,1⎦
⎤
猜测其做法是删去第三维,把xi的前两个维度作为BEV坐标系下的坐标,从而得到从xc到xb的变换
而通过该式子的逆变换,就能得到从xb到xc的变换。
但公式中的h未知,于是作者设计网络从输入图像特征中学习相机高度h。
这样就能借助该式子,将BEV GT标签投影到相机图像平面上,生成投影标签,这样子生成的投影标签带有被遮挡区域
按照上述方法,沿着路径1得到从BEV GT标签投影到相机图像平面的GT2、将金字塔图像特征输入分割头部,以预测带有投影标签的GT。其过程中得到BEV-consistent probability maps。
3、然后将这个BEV-consistent probability maps和原本的金字塔图像特征连接起来,并通过像素级融合(MLP)学习具有可见性感知的特征Ai
由于xi = (fx*xc)/zc+cx,这表明在相机坐标系中位于同一列(即相同的x坐标)的点映射到BEV空间中会在同一极线上,斜率为fx/(xi−cx)。
于是将Ai中的每一列分别投射到BEV空间
Ray-based Transformer
计算全图像的注意力将带来较高的计算复杂度和GPU内存。如在上述提到的位于同一列上的透视图像素对应相同的极线。因此本文在单列中计算注意力,这大大降低了注意力的复杂性。
列上下文增强(CCA):如图所示,Transformer编码器的输入是从FPN中提取的透视特征{F1,F2,F3,F4},其中Fm的空间分辨率为Hm×Wm。在CCA中,每个像素通过使用多头自注意自适应地集成来自同一列的其他像素信息。进一步将空间位置编码Pm引入输入Fm,区分输入特征的位置。用正弦函数来生成空间位置编码。