Press "Enter" to skip to content

基于Transformer的稠密预测——单视图深图估计

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

逐像素的稠密预测任务在深度估计、语义分割等方面都有着非常重要的作用。目前典型的稠密预测架构主要基于编码器和解码器的形式,但该方式仍存在许多问题。

 

来自 英特尔实验室 的研究人员们提出了一种 将Transformer作为基本模块的编解码器架构——DPT(dense prediction transformer) 。DPT全局连续性和细粒度的特征表达 大幅度提升了模型的稠密预测性能 。

 

 

论文链接:

 

https://arxiv.org/abs/2103.13413v1

 

代码:

 

https://github.com/intel-isl/DPT

 

逐像素的稠密预测任务 在深度估计、语义分割等方面都有着非常重要的作用。目前典型的稠密预测架构主要基于编码器和解码器的形式,通过编码器对输入特征抽取,再利用解码器对特征进行融合预测出最终的结果。但这种方式的性能十分依赖于编码器抽取特征的能力,如果信息在编码阶段损失将会无法在解码阶段恢复;此外编码器对于特征图的下采样会造成特征分辨率和粒度随着网络深度的增加降低。虽然可以通过提高输入分辨率、孔洞卷积以及不同层间的跳接来解决编码过程中特征粒度的损失,但由于卷积有限感受野的局域特性,需要多层堆叠的形式来提升模型感受野,并需要大量的参数来表达中间特征。

 

为了探索实现稠密预测任务的新路线,融合更多的全局特征与局部信息,实现更为精确、高效的预测,来自英特尔实验室的研究人员们提出了一种 将Transformer作为基本模块的编解码器架构——DPT(dense prediction transformer) ,在视觉Transformer的基础上,通过对输入抽取多层特征并进行渐进式融合来获取图像信息的高效表达,并在此基础上进行稠密预测。

 

与基于卷积的编解码器不同,DPT并没有显式地对特征进行下采样,而在特征提取后的各个阶段保持了特征维度的分辨率,并在每个阶段拥有全局的感受野。 DPT全局连续性和细粒度的特征表达大幅度提升了模型的稠密预测性能 。

 

一、DPT架构

 

编解码器的网络形式在稠密预测问题中取得了巨大的成功,所以在本研究中依旧延续了这一设计思想,但将模型中的主干网络替换为了视觉Transformer。网络的基本结构如下图所示,包括图像片元的特征抽取、基于Transformer的多级特征抽取和融合过程,最终利用卷积对特征进行解码得到重建结果。

 

 

左侧展示了模型的整体架构,输入图像首先被切分为非重叠的图像片元并利用特征抽取器获取对应tokens。随后利用独立的(红色)位置嵌入对特征进行增强并送入多个transformer层(深蓝色)。不同层输出的token将会在不同尺度上被组合为类似图像的表达(绿色),最后通过融合模块(紫色)渐进式地融合与上采样,最终生成细粒度的特征表达(深红色)和稠密预测结果。中间表示了位置嵌入与特征图的重组操作;右侧则表示基于残差卷积单元和上采样的特征融合模块。

 

基于Transformer的编码器 。整体来看,Transformer需要将图像表示为一系列“词袋”表达,类比自然语言处理中的概念,它将图像切片后的小区域看成一个“词语”,并利用特征抽取器获取这一区域的特征表达,并将这一嵌入表达视为tokens。 Transformer 将利用 序列多头自注意力机制模块 (multi-headed self-attention, MHSA)来处理这些表示图像特征的tokens,以获取token间的相关性,并将其映射为其他形式的表达。

 

在本研究中Transformer编码器将为在所有阶段保持相同的空间分辨率,与图像片元一一对应的tokens数量将会保持一致。此外MHSA天然可以获取全局相关性,使得每一个token都可以获取与其他所有token间的相关性,这使得每个阶段的Transformer都具有全局感受野!与需要层层叠加才能提高感受野的卷积网络相比具有巨大的优势。

 

具体来讲,首先需要将输入图像切分成pxp的片元,而后利用线性模型对展平后的像素进行映射或使用ResNet进行特征抽取得到嵌入表达。随后为了弥补特征编码对应图像片元在原始图像中的位置信息,片元嵌入表达上还添加了可学习的位置嵌入来强化空间位置。

 

在融合位置嵌入后,所有的特征序列被送入到L层的Transformer架构中。为了比较不同结构的优势,本文提出了三种结构的编码器ViT-Base,ViT-large和使用ResNet50抽取图像特征的ViT-Hybrid分别拥有12,24,12层Transformer,输出特征的维度分别是768,1024和输入分辨率的1/16。

 

卷积解码器 。卷积解码器首先将不同Transformer层的token组合为类似图像的特征表达。本文中提出了一种 三阶段的简单融合方法 ,首先通过在空间方向的衔接将Np+1个tokens映射为Np个tokens,可以在论文中找到三种不同的映射方法。而后将这些token在空间方向上组合为一个三维的张量,最后利用重采样方法得到不同尺度的特征图作为输出(下图中从黄色到橘色的输出过程)。

 

 

在最后的阶段,不同阶段抽取的特征通过RefineNet进行渐进式的上采样融合最终得到输入尺寸一半大小的特征图。而后为了适应不同的稠密预测任务,这一模型还提供了一个可灵活更换的任务头来适应最终的稠密输出模式。

 

 

此外值得一提的是,不同图像尺寸会产生不同长度的tokens序列。虽然Transformer可以处理变长序列,但位置编码却会因为图像尺寸的变化而改变。为了解决这一问题,研究人员对位置嵌入进行线性插值来适应不同的输入图像尺寸。

 

二、稠密预测任务实验

 

为了有效验证模型性能,研究人员在语义分割和单目深度估计任务上进行了测试。首先模型在自己构建的MIX数据集上进行训练,并直接在多个不同的数据集上测试。结果表明(即使MiDaS模型在MIX上调优) Transformer的预测误差都明显低于其他模型,在全局感受野和细粒度表达的增强下模型的性能得到了大幅度提升 。

 

 

下图展示了单视图深度估计的结果,可以看到DPT模型可以包含更多细节信息,无论是全局连续性和细节特征都比卷积模型有了显着的提升。

 

 

下图中还可以看到不同Transformer层的注意力图,其中特定区域展示了较强的注意力结果。

 

 

在语义分割任务上,DPT同样表现出了细粒度的结果和全局连续性,比如第二列中的路面第三列中的鸟喙都显示了模型的强大性能。

 

 

如果想要了解更多细节和实验原理,请参考论文和代码结果。

 

:T.R From:Intel

 

Illustrastion  by Natasha Remaichuk  from Ico ns8

 

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注