CVPR'2023 | Lite-Mono: 一种新的轻量级自监督单目深度估计方法

简介: CVPR'2023 | Lite-Mono: 一种新的轻量级自监督单目深度估计方法

640.png


Title: Lite-Mono: A Lightweight CNN and Transformer Architecture for Self-Supervised Monocular Depth Estimation

Paper: https://arxiv.org/pdf/2211.13202.pdf

Code: https://github.com/noahzn/Lite-Mono

导读

自监督单目深度估计近年来引起了人们的关注。设计轻量但有效的模型,使它们能够部署在边缘设备上是非常有趣的。许多现有的架构受益于使用heavier的backbones,为了深度性能而牺牲了模型的大小。在本文中,研究者使用一个轻量级的体系结构来实现了具有竞争力的结果。具体来说,论文研究了CNN和Transformer的有效组合,并设计了一个混合结构Lite-Mono。提出了一种连续扩张卷积(CDC)模块和一个局部-全局特征交互(LGFI)模块。前者用于提取丰富的多尺度局部特征,后者利用自注意机制将随机的全局信息编码到局部特征中。实验表明,论文的完整模型在精度上大大优于Monodepth2,模型参数减少了约80%。

动机

  • 由于缺乏大规模精确的ground truth深度数据集,从单目视频中寻找监督信号的自监督方法是有利的。
  • CNN中的卷积操作有一个局部接受域,不能捕获长期的全局信息,更深的主干或更复杂的架构导致更大的模型规模
  • 最近引入的Vision Transformer能够建模全局上下文进行单目深度估计,以获得更好的结果。然而,与CNN模型相比,Transformer中多头自注意力模块的昂贵计算阻碍了轻量级和快速推理模型的设计

贡献

本文提出了一个追求轻量级和高效的混合CNN和Transformer自监督单目深度估计模型。在该编码器的每个阶段,都采用了一个连续扩张卷积模块来捕获增强的多尺度局部特征。然后,论文使用一个局部-全局特征交互模块来计算多头注意力,并将全局上下文编码到特征中。为了降低计算复杂度,论文还计算了信道维数而不是空间维数上的交叉协方差注意。该方法的贡献可以分为三个方面:

  1. 论文提出了一种新的轻量级架构,称为Lite-mono,同时利用CNN和Transformer用于自监督单目深度估计。论文证明了它对模型大小和FLOPs的有效性。
  2. 与更大的模型相比,Lite-mono在KITTI数据集上显示出更高的精度。它以最少的可训练参数达到了最先进的水平。在Make3D数据集上进一步验证了该模型的泛化能力。论文还进行了额外的笑容实验来验证不同设计选择的有效性。
  3. 在Nvidia Titan XP和Jetson Xavier平台上测试了该方法的推理时间,证明了该方法在模型复杂性和推理速度之间的良好权衡

方法

640.png

Overview of the proposed Lite-Mono

上图显示了Lite-Mono的体系结构。它由一个encoder-decoder DepthNet和一个PoseNet组成。DepthNet估计输入图像的多尺度深度图,而PoseNet估计两个相邻帧之间的摄像机运动。然后,生成一个重建的目标图像,并计算损失以优化模型。

Low-computation global information

DepthNet

Depth encoder

表1 Three variants of our depth encoder

上图显示了本文提出的depth encoder的不同变体,Lite-Mono聚合了四个阶段的多尺度特征,意味着一个CDC块使用3×3内核大小来输出C通道,并重复N次

Consecutive Dilated Convolutions (CDC)

CDC & LGFI

浅层CNN的感受域非常有限,而使用扩张卷积有助于扩大感受域。如上图所示,通过叠加所提出的连续扩张卷积(CDC),网络能够在更大的区域内“观察”输入,而不引入额外的训练参数。

论文所提出的CDC模块利用扩张卷积来提取多尺度的局部特征,在每个阶段插入几个具有不同扩张率的连续扩张卷积,以实现足够的多尺度上下文聚合.

Local-Global Features Interaction (LGFI)

XCiT layer

论文选用Transformer进一步增强全局信息。但是原始的Transformer中的Attention是每个特征间做自相关,因此复杂度与特征数量的平方成正比,这样做会对使大图片显存消耗翻倍增加。论文所提出的局部-全局特征交互(LGFI)模块参照XCiT[1]的做法,不计算跨token的注意力,而是计算跨特征通道的注意力,其中交互基于KQ之间的交叉协方差矩阵,称为互协方差注意力(XCA,cross-covariance attention):

如上面的LGFI示意图所示,与原始的自注意力相比,它将空间复杂度从降低到,时间复杂度从降低到到,其中为注意头数量。

Depth decoder

Depth encoder and decoder

深度解码器部分,论文使用双线性上采样来增加空间维度,并使用卷积层来连接来自编码器的三个阶段的特征。每个上采样块跟着一个预测头,分别以全分辨率、 和的分辨率输出逆深度图。

PoseNet

论文使用一个预先训练过的ResNet18被用作姿态编码器,并且它接收一对彩色图像作为输入。利用具有四个卷积层的姿态解码器来估计相邻图像之间对应的6自由度相对姿态

Self-supervised learning

论文使用单目深度估计任务中常见的方法:将深度估计任务转换为图像重建的任务,学习目标被建模为最小化目标图像与重构目标图像之间的图像重建损失,以及约束在预测深度图上的边缘感知平滑损失。

Image reconstruction loss

光度重投影损失的定义为:

上面公式相当于两个相机坐标系下的转换,即源图像(一般为前后帧)先用内参的逆转换到它的相机坐标系,再用旋转平移矩阵转到目标图像相机坐标系,再用内参转到目标图像的图像坐标系得到重构的目标图像,计算目标图像重构目标图像之间的损失:

Edge-aware smoothness loss

为了平滑生成的逆深度图,论文计算一个边缘感知的平滑损失

其中表示mean-normalized的逆深度。总损失可表示为:

其中s为深度解码器输出的不同比例输出。

实验

KITTI results

表2 comparison with other methods on KITTI

论文将所提出的框架与其他模型尺寸小于35M的代表性方法在KITTI benchmark进行了比较,结果如表2所示。完整模型的Lite-Mono效果最好,论文的其他两个较小的模型也取得了令人满意的结果。

Qualitative results on KITTI

上图显示,所提出的Lite-Mono取得了令人满意的结果,即使是在移动物体靠近相机的具有挑战性的图像上(列1)。

Make3D results

表3 comparison with other methods on Make3D

论文还在Make3D数据集上进行了评估,以显示所提方法在不同室外场景中的泛化能力。表3显示了Lite-Mono与其他三种方法的比较,其中Lite-Mono表现最好

Qualitative results on the Make3D dataset

上图显示了一些定性的结果。由于所提出的特征提取模块,Lite-Mono能够建模局部和全局上下文,并感知不同大小的对象。

Complexity and speed evaluation

表4 Model complexity and speed evaluation

论文在Nvidia Titan XP和Jetson Xavier上对该模型的参数、FLOPs(浮点运算)和推理时间进行了评估,并与Monodepth2和R-MSFM进行了比较。表4显示,Lite-Mono设计在模型尺寸和速度之间有很好的平衡。虽然R-MSFM是一个轻量级的模型,但它是最慢的。论文的模型还可以在Jetson Xavier快速推理,这使得将它们部署在边缘设备上成为可能。

消融实验

表5 Ablation study on model architectures

论文删除或调整了网络中的一些模块来进行消融实验,并在KITTI上报告了它们的结果,如表5所示。

总结

本文提出了一种新的轻量级单目自监督单目深度估计方法。设计了一种混合的    架构来建模多尺度增强局部特征全局上下文信息。在8个KITTI数据集上的实验结果证明了该方法的优越性。通过在提出的CDC块中设置优化的扩张率,并插入LGFI模块来获得局部-全局特征相关性,Lite-Mono可以感知不同尺度的物体,甚至是对靠近摄像机的移动物体。论文还验证了该模型在Make3D数据集上的泛化能力。此外,Lite-Mono在模型复杂性和推理速度之间实现了良好的权衡

目录
相关文章
|
机器学习/深度学习 人工智能 并行计算
5分钟掌握开源图神经网络框架DGL使用
近几年神经网络在人工智能领域的成功应用,让它备受关注和热捧。但是,它自身依然具有本质上的局限性,以往的神经网络都是限定在欧式空间内,这和大多数实际应用场景并不符合,因此,也阻碍了它在很多领域的实际落地应用。
5分钟掌握开源图神经网络框架DGL使用
|
2月前
|
机器学习/深度学习 测试技术 数据处理
KAN专家混合模型在高性能时间序列预测中的应用:RMoK模型架构探析与Python代码实验
Kolmogorov-Arnold网络(KAN)作为一种多层感知器(MLP)的替代方案,为深度学习领域带来新可能。尽管初期测试显示KAN在时间序列预测中的表现不佳,近期提出的可逆KAN混合模型(RMoK)显著提升了其性能。RMoK结合了Wav-KAN、JacobiKAN和TaylorKAN等多种专家层,通过门控网络动态选择最适合的专家层,从而灵活应对各种时间序列模式。实验结果显示,RMoK在多个数据集上表现出色,尤其是在长期预测任务中。未来研究将进一步探索RMoK在不同领域的应用潜力及其与其他先进技术的结合。
95 4
|
3月前
|
UED
预训练模型STAR问题之主流生成伪OOD样本的方法有哪些
预训练模型STAR问题之主流生成伪OOD样本的方法有哪些
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
揭秘In-Context Learning(ICL):大型语言模型如何通过上下文学习实现少样本高效推理[示例设计、ICL机制详解]
揭秘In-Context Learning(ICL):大型语言模型如何通过上下文学习实现少样本高效推理[示例设计、ICL机制详解]
揭秘In-Context Learning(ICL):大型语言模型如何通过上下文学习实现少样本高效推理[示例设计、ICL机制详解]
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
再超Transformer!Google提出两个新模型(Griffin、Hawk),强于Mamba,更省资源
【2月更文挑战第15天】再超Transformer!Google提出两个新模型(Griffin、Hawk),强于Mamba,更省资源
268 1
再超Transformer!Google提出两个新模型(Griffin、Hawk),强于Mamba,更省资源
|
机器学习/深度学习 自然语言处理 分布式计算
深度学习进阶篇-预训练模型4:RoBERTa、SpanBERT、KBERT、ALBERT、ELECTRA算法原理模型结构应用场景区别等详解
深度学习进阶篇-预训练模型4:RoBERTa、SpanBERT、KBERT、ALBERT、ELECTRA算法原理模型结构应用场景区别等详解
深度学习进阶篇-预训练模型4:RoBERTa、SpanBERT、KBERT、ALBERT、ELECTRA算法原理模型结构应用场景区别等详解
|
机器学习/深度学习 监控 算法
|
机器学习/深度学习 Web App开发 人工智能
用语言建模世界:UC伯克利多模态世界模型利用语言预测未来
用语言建模世界:UC伯克利多模态世界模型利用语言预测未来
402 0
|
机器学习/深度学习 人工智能 算法
【ICLR 2018】模型集成的TRPO算法【附代码】
【ICLR 2018】模型集成的TRPO算法【附代码】
|
机器学习/深度学习 编解码 人工智能
CVPR‘2023 | Lite-Mono: 一种新的轻量级自监督单目深度估计方
CVPR‘2023 | Lite-Mono: 一种新的轻量级自监督单目深度估计方
357 0