参考代码:StreamMapNet
动机与主要贡献
之前的局部地图感知方案所预测的距离都比较近,远了之后性能会下降比较多。这篇文章从如下两个角度进行改进:
- 1)原本的地面元素做deformable attention是基于1个query中心,这下为了让query适应地面元素,每个instance中会将所有的多个query点都会去做deformable attention,毕竟地面元素由多个点组成
- 2)在query和BEV featrue两个维度中引入时序,增强对环境变化的感知能力,这样就可以增加感知的范围,从原来的 60 ∗ 30 → 100 ∗ 50 60*30\rightarrow 100*50 60∗30→100∗50
整体上文章的方法是基于MapTR的(参考了它的车道线回归和匹配机制),主要的工作是使用多个query-point去做deformable attention,以及增加时序上的信息融合,BEV特征部分的融合没有太多新意,但是query部分的融合可以再研究下。在base基础上算是一些trick的叠加,当作一些trick效果的验证就好。
结构框图
文章算法的结构框图见下图所示:
可以看到文章方法在BEV feature和bev obj query(参考Sparse4D系列)上均做了时序信息融合,使用memory buffer去存储对应信息。
多点query参与attention
在原本的deformable attention中只有一个中心,但是这样的信息抓取方式是不适合那些空间跨度比较大的情况的,如车道线,则应该对于每个query point去做deformable信息抓取,也就是下图中的这样
BEV feature和instance query的时序融合
BEV空间的特征融合参考GRU的形式实现(前一帧和当前帧也是需要依据位姿空间对齐的),见下图:
instance query上在第一层transformer layer中使用可学习的query作为输入,transformer layer的下一层会对当前层输出的query按照置信度排序,选择那些高质量的query。此外还会通过时序方式引入前一帧的query(参考Sparse4D V2)
具体来讲前一帧的query会与ego-motion矩阵( T ∈ R 4 ∗ 4 T\in R^{4*4} T∈R4∗4)进行融合得到时空对齐的query:
Q ^ t = ϕ ( c o n c a t ( Q t − 1 , f l a t t e n ( T ) ) ) +