Translating Images into Maps 论文笔记

原文链接:https://assets.amazon.science/fa/95/a58d83da4db492cef7edbf299054/translating-images-into-maps.pdf

本文是针对地图分割任务设计的,但理论上也可用于目标检测任务。

I.引言

        本文使用transformer,通过学习图像列与BEV极射线的对齐,来将已知相机内参的单目图像转换为BEV语义图。

III.方法

        如下图所示,本文端到端学习包含3个子任务:(1)在图像平面建立表达,以编码语义和深度的某些信息;(2)将图像平面表达转换到BEV;(3)对BEV表达进行语义分割。

A.图像到BEV的变换

        由于图像的每一列对应BEV下一条极射线(如下图所示;详见此文3.1节),本文将映射视为一组序列到序列的变换。

        本文使用注意力机制进行图像列和BEV极射线的对齐,包含平面内注意力(上图;初步分配特征)和极射线自注意力(全局推断沿射线的位置分配)。

        平面内注意力:若将上述对齐视为硬分配,即BEV极射线上的每个像素都分配一个图像列上的像素类别,需要像素的深度信息。本文使用软对齐方法,极射线上每个像素都是整个图像列的元素组合,这一操作是通过图像列和BEV极射线之间的软注意力实现的。

        设h\in\mathbb{R}^{H\times C}是图像列特征序列,y\in\mathbb{R}^{r\times C}是BEV极射线查询,则先将hy的每个元素分别通过线性层得到K(键值)和Q(查询):

Q(y_i)=y_iW_Q,K(h_i)=h_iW_K

然后通过点积计算未归一化的对齐分数:

e_{i,j}=\frac{ \langle Q(y_i),K(h_j)\rangle}{\sqrt{D}}

使用softmax归一化:

\alpha_{i,j}=\frac{\exp(e_{i,j})}{\sum_{k=1}^H\exp(e_{i,k})}

最后以其为权重,加权求和K

c_i=\sum_{j=1}^H\alpha_{i,j}K(h_j)

        这样,BEV极射线的每个像素独立地从图像列收集相关信息。该方法可看作基于深度分布提升像素,且BEV极射线每个像素得到的图像上下文特征与其到相机的距离解耦。

        极射线自注意力:得到极射线上所有像素的上下文特征c=\{c_1,\cdots,c_r\}后,由于c_i产生时的独立性,特征很可能不含有全局信息,需要再通过非线性函数进一步处理,也就是极射线自注意力。

        类似前面的公式,区别在于输入hy均是现在的c

        扩展为transformer:上述两个注意力均可将最后一个公式中的K变为V(值;由hc通过另一个线性层得到),然后应用于transformer中。

B.无限回顾单调注意力

此方法应该是A部分方法的替代。

        通常在图像中,图像越上方的位置深度越大。本文通过带有无限回顾的单调注意力(MAIL)来保证这一点。

单调注意力(MA)最初是用于机器翻译任务,属于硬分配方法,后来人们引入无限回顾来避免忽视上下文信息。

        该方法的目的是确认像素下面的上下文信息是否比上面的更重要。

        首先,使用MA计算硬对齐,即将c_i分配给h_j;然后使用软性注意力机制处理h_1,\cdots,h_{j-1}。具体来说,对于位置y_i\in y,从j=t_{i-1}开始检索h_j,其中c_{i-1}=h_{t_{i-1}}。然后产生一个选择概率p_{i,j},表示终止并设置t_i=jc_{i}=h_{t_i},或继续检查h_{j+1}的概率。

        由于硬分配是不可微的,故根据c_i的期望值进行训练:

p_{i,j}=\textup{sigmoid}(\textup{Energy}(y_i,h_j))

\alpha_{i,j}=p_{i,j}\left ( (1-p_{i,j-1})\frac{\alpha_{i,j-1}}{p_{i,j-1}}+\alpha_{i-1,j} \right )

其中\textup{Energy}函数与前面e_{i,j}的计算方式相同。

        若单调注意力在t_i处停止,无限回顾策略对k=1,2,\cdots, t_i计算e_{i,k},然后按下式计算允许状态下的注意力分布:

\beta_{i,j}=\sum_{k=j}^H\left ( \frac{\alpha_{i,k}\exp(e_{i,k})}{\sum_{l=1}^k\exp(e_{i,l})} \right )

该式表达了图像某像素下方的分布;要计算上方的分布,将图像的列倒转过来类似计算即可。

        最后按

c_i=\sum_{i=1}^H\beta_{i,j}K(h_j)

计算上下文特征。

C.模型结构

        包含CNN主干(提取图像特征)、编码器-解码器transformer(图像特征转化为BEV特征)、分割网络(解码BEV特征为语义图)。

        图像平面的2D多尺度特征学习:在BEV重建图像需要能检测不同深度和尺度物体的表达,因此本文使用特征金字塔提取不同尺度u下,时间t的图像特征图f_{t,u}^I\in\mathbb{R}^{C\times h_u\times w_u}

        图像平面的1D transformer编码器:通过自注意力跨输入特征编码长距离垂直依赖性。对每个尺度特征使用一个编码器(其中将f_{t,u}^I分割为w_u个长为h_u的序列),其中每个编码层包含多头注意力和前馈网络,并为每个注意力层的输入加入固定的正弦位置编码。编码器的输出为h_{t,u}^I\in\mathbb{R}^{w_u\times h_u\times C}

        BEV平面的1D transformer解码器:该模块沿着极射线生成独立的BEV特征序列。对每个transformer编码器有一个transformer解码器,每个解码器输出r_u长度的序列,输入r_u个位置嵌入(称为位置查询)。这些嵌入被加入了固定的正弦位置信息。

若使用单调注意力替换软注意力,则在解码器中的注意力头均被换成单调注意力头。

        最终尺度u的输出为f^{\phi(BEV)}_{t,u}\in\mathbb{R}^{w_u\times r_u\times C},对应w_u条极射线。最后将BEV极特征图转化为矩形特征图,得到f_{t,u}^{BEV}\in\mathbb{R}^{C\times Z_u\times X_u}

        极自适应上下文分配:前面使用的位置编码均为1D的,这使得transformer能利用图像高度和深度的空间关系,但与另一检测的关键因素极角无关。为解决此问题,本文也在位置编码中加入了极角编码。

        BEV平面的轴向注意力动态:该模块整合了过去估计的时间信息,为当前时刻建立时空BEV特征表达。得到多个时间的BEV特征f_{1:T,u}^{BEV}\in\mathbb{R}^{T\times C\times Z_u\times X_u}后,沿着时间和空间轴使用轴向注意力,为每个时刻的每个像素提供来自其余时刻的上下文信息。

该模块是可选的。

        BEV平面下的分割:使用卷积编码器-解码器的结构,为每个尺度特征f_{t,u}^{BEV}\in\mathbb{R}^{C\times Z_u\times X_u}预测一个语义图m_{t,u}^{BEV}\in\mathbb{R}^{K\times Z_u\times X_u}(其中K为类别数)。2D卷积使得前面没有交互的不同极射线特征得到交互,有助于缝合相邻极射线特征的不连续性。

        BEV平面下的损失:使用多尺度Dice损失以同时解决语义和位置的不确定性。对于每个尺度u,所有类别的平均Dice损失为:

L^u=1-\frac{1}{|K|}\sum_{k=1}^K\frac{2\sum_i^N\hat{y}_i^ky_i^k}{\sum_i^N(\hat{y}_i^k+y_i^k)+\epsilon}

其中y_i^k是二值真实标签(即若第i个像素的类别为k,则y_i^k=1;否则y_i^k=0),\hat{y}^k_i是网络预测的第i个像素类别为k的概率。

IV.实验与结果

A.消融研究

        关注方向的影响:比较了软注意力(关注两个方向)、下方单调注意力(仅关注下方)和上方单调注意力(仅关注上方)的影响,可知下方单调注意力性能高于上方单调注意力,证明下方像素的重要程度更高;而软注意力有最好的性能,因为用到了更多的信息。

        长距离水平依赖性:若图像特征转换到BEV以前,先沿图像的水平方向使用注意力,再沿竖直方向使用注意力,则比起本文方法来说,性能甚至有下降。这说明每个BEV极射线不需要整个图像宽度的信息,或者说水平方向的长距离依赖性不起作用,因为卷积已经聚合了水平方向的局部信息。

        极自适应transformer的影响:在图像平面或BEV平面增加极编码均能带来性能提升;同时在两个平面增加极编码能够有最好的性能。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

byzy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值