YOLOv4一作提出Transformer新架构:DPT!替代卷积网络做密集预测

本文转载自:机器之心

在这项研究中,研究者提出了 DPT 架构。这种 ViT 架构代替了卷积网络作为密集预测任务的主干网络,获得了更好的细粒度和更全局一致的预测。

图像语义分割的目标是将图像的每个像素所属类别进行标注。因为是预测图像中的每个像素,这个任务通常被称为密集预测。

当前,密集预测的架构几乎都是基于卷积网络的,且通常遵循一种模式:将网络分为一个编码器和一个解码器,编码器通常基于图像分类网络,也称为主干,它是在一个大型语料库 (如 ImageNet) 上进行预训练的;解码器聚合来自编码器的特征,并将其转换为最终的密集预测。以往的密集预测架构研究通常关注解码器及其聚合策略,但实际上主干架构的选择对整个模型来说非常关键,因为在编码器中丢失的信息不可能在解码器中恢复。

在英特尔的一项研究中,研究者提出了 DPT 架构(dense prediction transformer)。DPT 是一种用于密集预测的新架构,它仍然基于编码器 - 解码器的设计,但其中利用 transformer 作为编码器的基础计算构建块。

具体而言,研究者使用此前的视觉 transformer(ViT)作为主干架构,将由 ViT 提供的词袋表征重组为各种分辨率下的类图像特征表征,并使用卷积解码器逐步将这些特征表征组合到最终的密集预测中。

Transformer 主干网络以一个不变的和相对高的分辨率来处理表征,并在每个阶段都有一个全局接感受野。与全卷积网络相比,这些特性允许 DPT 提供更好的细粒度和更全局一致的预测。

实验表明,这种架构对于密集预测任务有很大的改进,特别是在有大量训练数据可用的情况下。对于单目深度估计,研究者观察到相比于当前 SOTA 全卷积网络,新架构取得了高达 28% 的提升。当应用于语义分割时,DPT 在 ADE20K 上实现了新的 SOTA(49.02% mIoU)。此外,研究者也展示了该架构在较小的数据集上的微调结果,比如在 NYUv2、 KITTI 和 Pascal Context 均实现了新的 SOTA。

4f6edd19a97837f2520f3452c03ea3eb.png

Vision Transformers for Dense Prediction

  • 论文地址:https://arxiv.org/abs/2103.13413

  • 代码地址:https://github.com/intel-isl/dpt

值得一提的是,感兴趣的研究者现在可以到 Huggingface 平台体验 Demo:

3a4ce1cc239df928671e342d6dc8bde3.png

Demo 地址:https://huggingface.co/spaces/akhaliq/DPT-Large

架构

我们来具体看下这种密集 ViT 的新型架构,它沿用了已在密集预测方面取得成功的编码器 - 解码器结构。其中以视觉 transformer 作为主干,由编码器产生的表征能够被有效地转换为密集预测,完整架构如下图 1(左)所示。

5da573723fa1233e8bc73b72a2ad7361.png

Transformer 编码器

在高层级上,视觉变换器 (ViT) 对图像的词袋(bag-of-words)表征进行操作。单独嵌入到特征空间中的图像 patch 或从图像中提取的深度特征,扮演「word」的角色。该研究的其余部分将嵌入「word」作为 token。Transformer 使用多头自注意力(MHSA)的序列块对 token 集进行转换,其中每个 token 相互关联以转换表征。

对于应用程序来说,最重要的是 transformer 在所有计算中都要保持 token 的数量。由于 token 与图像 patch 一一对应,这意味着 ViT 编码器在所有 transformer 阶段都能保持初始嵌入的空间分辨率。此外,MHSA 本质上是一种全局操作,因为每个 token 都可以参与并影响其他所有 token。因此,transformer 在初始嵌入后的每个阶段都能有一个全局感受野,这与卷积网络形成鲜明对比。

卷积解码器

该架构的解码器将 token 集组合成多种分辨率的类图像特征表征。这些特征表征被逐渐融合到最终的密集预测中。该研究提出了一个简单的三阶段重组(Reassemble)操作,以从 transformer 编码器任意层的输出 token 中恢复类图像表征:

9bec41e034ec4d164fb73b48c4fc1979.png

其中, s 代表恢复得到的表征相比于输入图像的输出尺寸比率,39bc799a0f0ee7ec3bd44bdf26d65682.png代表输出特征维度。

变换图像尺寸

与全卷积网络类似,DPT 可以变换图像的尺寸。只要图像尺寸能够被 p 整除,就可以应用嵌入过程产生不同数量的图像 token N_p。作为一种 set-to-set 架构,transformer 编码器可以轻松处理不同数量的 token。然而,位置嵌入依赖于图像的尺寸,因为它对输入图像中 patch 的位置进行编码。该研究遵循 Alexey Dosovitskiy 等人在论文《An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale》中提出的方法,并将位置嵌入线性插入到适当的尺寸。值得注意的是这可以对每个图像即时完成。在嵌入过程和 transformer 阶段之后,只要输入图像与卷积解码器的步幅(32 个像素)对齐,重组和融合模块都可以轻松处理不同数量的 token。

实验

在实验环节,研究者将 DPT 应用于两个密集的预测任务: 单目深度估计和语义分割。首先使用默认配置展示了主要部分的结果,并在最后展示了不同 DPT 配置的消融实验结果。

表 1 展示了 Zero-shot 跨数据集迁移学习的结果,这些数据集均未参与训练过程。

4d4029a02944d3b563cdc6d3dd89d05d.png

图 2 展示了几种方法的视觉效果对比。

aabef3ac42ee50bb853f5f429d8400a9.png

此外,研究者在 KITTI 和 NYUv2 数据集上微调了 DPT-Hybrid,以进一步比较 DPT 与现有工作的性能。如表 2 和表 3 所示,DPT 架构在所有指标上均持平或有所提高。这表明 DPT 也可以有效地应用于较小的数据集。

476867747f9cdc09a6c22a39d2c72be0.png

语义分割

随后,研究者选择了语义分割作为第二项任务,因为它是离散标记任务的代表,也是密集预测架构的重要任务。研究者采用了与上述实验相同的主干网络和解码器结构,使用一个 output head,以半分辨率进行预测以及对 logits 进行上采样,使用双线性插值补全分辨率。编码器再次由 ImageNet 预训练的权重初始化,解码器则随机初始化。

研究者在 ADE20K 语义分割数据集上对 DPT 进行了 240 个 epoch 的训练。表 4 展示了验证集上的结果,DPT-Hybrid 的性能优于所有现有的全卷积架构。

c08d35dac482e9c3c3e516dadb86bfbe.png

该研究还在 Pascal Context 数据集上对 DPT-Hybrid 进行了 50 个 epoch 的微调,其他超参数保持不变。表 5 展示了验证集的结果:DPT 即使在较小的数据集上也能提供优秀的性能。

90749b727225ff55e8d1831d7c91e856.png

消融实验

由于 Transformer 主干网络保持一个稳定的特征分辨率,因此不清楚主干网络特征中有哪些值得利用的部分。研究者进行了消融实验来探究这一点。

表 6(顶部)中对几种可能的选择进行了评估。其中发现,从包含低层特征的图层和包含高层特征的深层图层中挖掘特征是有益的。研究者采用最佳的设置进行进一步的实验。

研究者用表 6(底部)中的 Hybrid 结构进行了类似的实验,其中 R0 和 R1 指的是使用 ResNet50 嵌入网络的第一和第二阶段下采样的特征。

170a8f90d12a3895776e3bd4cc801913.png

表 7 展示了重组块(Reassemble block)的第一阶段在处理 readout token 时的各种设置及其相应性能:

0b2627f368119a24cb0b38548e30842b.png

如表 8 所示,ViT-Large 的性能优于所有其它主干网络,但大小也几乎是 ViT-Base 和 ViT-Hybrid 的 3 倍。在参数量相近的情况下,ViT-Hybrid 的性能优于 ViT-Base,而且与大型主干网络的性能相当。

0ca5c7d3aa5a3d716c05b2d6b2999477.png

虽然完全卷积结构在其最深层有大的有效感受野,但接近输入的层却是局部的,感受野较小。如下图 4 所示,可以观察到,随着推理分辨率的提高,DPT 变体的性能确实会更缓慢地降低。

f7df9784270ceffdeabef85f29fe52b5.png

在推理速度方面,表 9 展示了不同网络结构的推理时间:

b5f481becb53189088d2fa9a4d010829.png

更多细节详见论文原文。

本文仅做学术分享,如有侵权,请联系删文。

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

6426b2af350bceab2fa311ce1d03bd47.png

▲长按加微信群或投稿

4f45f18f68c23df0c14effa97cc2d813.png

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

834811925a7201f74d6c3b9c0bd75fb1.png

 圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值