介绍

英文题目:BEVSegFormer: Bird’s Eye View Semantic Segmentation From Arbitrary Camera Rigs

中文题目:BEVSegFormer: 基于任意相机的鸟瞰图语义分割

论文地址:https://arxiv.org/abs/2203.04050

领域:机器视觉,自动驾驶

发表时间:2022 年 3 月

作者:来自上海的自动驾驶创业公司 Nullmax

阅读时间:2022.05.28

其它相关网文:https://blog.csdn.net/Yong_Qi2015/article/details/124311369

介绍

之前从摄像机视图转成 BEV 的方法多以 IPM 为主,该方法需要知道摄像机的内外参数以及位置信息。在有遮挡及距离比较远的情况下,都无法达到很好的效果。近年来更多应用了深度学习方法。

优点

  • 不需要摄像机的参数
  • 有效聚合多摄像头数据
  • 优化了图像分割效果

核心算法

(论文正文第 3 页)

三个步骤:

  1. 从一个共享 Backbone 处理各摄像机,输出 Feature map。

  2. 基于 Transformer 的编码器加强 Feature map。

  3. 解码器通过交叉注意机制处理 BEV 查询。

最终利用输出的查询结果进行语义分割。

文章的核心基本就在以下图和公式:

Pasted image 20220528155210.png

其中 m 是头数,c 是摄像头,k 是采样点个数。∆P 是 k 个采样点的偏移,A 是注意力权重。p^是参考点,φ用于标准化坐标和特征图位置的转换,q 表示 BEV 中每一个小块。

第三步 Decoder 如下图所示:

Pasted image 20220528153932.png

对于 BEV 中的每一个小块,箭头过程描述了每个小块是如何更新。输入是摄像头影像(黄色和橙色表示不同的摄像头,对应公式中的 x),以及之前 BEV 的查询 query q 其该块的位置 query pos q(所有块 zq,及每块的参考点 pq)。

对于每一个小块 q,使用可学习的投影层对其位置嵌入到二维的参考点

\[ \hat p_q \in R ^ {M \times N_c\times2} \]

其中是指使用两个可学习的线性映射层,以生成参考点周围的采样点(见右侧中间的虚线框),采样后线成一个序列(右侧四个黄块和橙块),再通过 Attention 为这些小块加权,最终产生了新的序列(右下角)。

与 DETR 不同的时,文中方法通过多摄像头的 Feature map 学习独立的参考点,因此网络可以根据不同的镜像机特征,自动选择不同位置的参考点。

前置知识

DETR

DETR 的全称是 DEtection TRansformer,是 Facebook 提出的基于 Transformer 的端到端目标检测网络。

之前目标检测方法主要是基于 Anchor,简单地说就是对图片中不同位置和大小的小方框进分类,然后再做回归精调框的大小。

DETR 同样也使用了 backbone 的 Feature map,不同的是它还加入了位置嵌入,然后送入 encoder;另外,还使用 object queries(可学习的动态 anchor)作为解码器的输入,最终将解码器的输出送入最终分类器。

Pasted image 20220528163337.png

Deformable DETR

Deformable DETR 是注意力模块只关注参考点周围的少量关键采样点,而不是所有点。