2023最新 | 单目深度估计网络结构的通用性研究

简介: 单目深度估计已经被广泛研究,最近已经报道了许多在性能上显著改进的方法。然而,大多数先前的工作都是在一些基准数据集(如KITTI数据集)上进行评估的,并且没有一项工作对单目深度估计的泛化性能进行深入分析。本文深入研究了各种骨干网络(例如CNN和Transformer模型),以推广单目深度估计。首先,评估了分布内和分布外数据集上的SOTA模型,这在网络训练期间从未见过。然后,使用合成纹理移位数据集研究了基于CNN和Transformer的模型中间层表示的内部属性。通过大量实验,观察到transformer呈现出强烈的形状偏差,而CNN具有强烈纹理偏差。

单目深度估计已经被广泛研究,最近已经报道了许多在性能上显著改进的方法。然而,大多数先前的工作都是在一些基准数据集(如KITTI数据集)上进行评估的,并且没有一项工作对单目深度估计的泛化性能进行深入分析。本文深入研究了各种骨干网络(例如CNN和Transformer模型),以推广单目深度估计。首先,评估了分布内和分布外数据集上的SOTA模型,这在网络训练期间从未见过。然后,使用合成纹理移位数据集研究了基于CNN和Transformer的模型中间层表示的内部属性。通过大量实验,观察到transformer呈现出强烈的形状偏差,而CNN具有强烈纹理偏差。


作者还发现,与形状偏向模型相比,纹理偏向模型在单目深度估计方面表现出更差的泛化性能。论文证明,在不同环境下采集的真实驾驶数据集中观察到了类似的方面。最后,对现代策略中使用的各种主干网络进行了密集消融研究。实验表明,神经网络的固有局部性和transformer的自我关注分别导致纹理偏差和形状偏差。


领域应用背景



单目深度估计(MDE)由于其便携性和成本效益,被广泛用于自动驾驶或AR/VR等空间识别技术。过去十年中,各种MDE工艺取得了显著进展。之前的大多数工作集中于使用有限的基准数据集,特别是KITTI数据集来提高性能。然而,这些工作并没有深入研究MDE网络所学到的知识,这意味着他们不能保证模型的行为是正确的。为了检查MDE网络的可解释性,之前的一项工作[15]使用了MDE模型分析的目标网络。另一种方法[16]使用合成数据集,该数据集包含图像内容(例如,相机姿势)的变化。然而,由于在某些实验条件下固定的特定网络[6],关于其它网络的普遍性问题仍然存在。


最近,几项工作[17],[18],[19],[20]旨在分析可解释性,灵感来自卷积神经网络(CNN),其设计基于人类视觉过程。那么,人类如何从复杂场景中有效地提取和识别重要信息?与纹理或颜色等其他线索相比,生物视觉系统认为物体的形状是最重要的视觉线索。这使得人类,包括小孩,能够很容易地从线条图或剪影图像中分辨出物体。许多研究人员认为,CNN也会有类似的行为。然而,与信念相反,最近的研究[18],[20],[27],[28]发现,神经网络细胞很容易识别纹理而不是形状。即使结构的形状受到干扰,基于CNN的模型也能准确地为图像分配标签。另一方面,CNN模型无法准确预测形状保持良好的纹理去除图像中的标签。transformer在各种计算机视觉任务上取得了出色的性能,并引起了广泛关注。此外,许多研究揭示,与CNN相比,尽管缺乏空间局部性,但transformer具有强烈的形状偏差,由于其强烈的形状偏差,Transformer被认为比CNN更稳健,更类似于人类的认知过程。


那么,该观察结果如何影响MDE?论文假设了两件事。首先,网络的通用性将根据纹理/形状偏差而不同,为了验证通用性,作者评估了最先进的MDE模型。在KITTI上使用五个公共深度数据集(SUN3D、RGBD、MVS、Scenes11 和ETH3D)。还对六个不同的纹理移位数据集进行了实验,包括三个合成纹理移位数据(Watercolor, Pencil-sketch, Style-transfer)和三个真实世界纹理移位数据集中(Oxford Robotcar , Rainy Cityscapes , Foggy Cityscapes )。通过这些实验,论文确认了纹理偏差容易被泛化,而形状偏差表现出鲁棒的泛化性能。其次,纹理/形状偏差与CNN和Transformer结构的固有特性有关,基于transformer的现代化模型模仿了神经网络的固有局部感应偏置,现代许多基于CNN的模型[49],[50]旨在模仿transformer的自关注。最后对各种主干结构的泛化性能和纹理/形状偏差进行了消融研究,这些结构源自每个CNN和Transformer的特定设计(例如,局部性和自关注),如RegionViT、Twins、ConvNeXt和SLaK。

本文扩展了在[51]中的先前工作,提出了一种采用transformer的新的自监督单目深度估计网络。基于Transformer的网络在深度估计的各种环境。虽然上一版本[51]仅处理自监督MDE模型,但扩展版本处理完整MDE模型(包括自监督和监督方法)。此外,本文通过比较性能和中间层特征相似性,深入分析了所提出的网络比基于CNN的模型获得更好的广义性能的原因。


如图1所示,可以观察到Transformer结构比CNN结构具有更多的形状偏向属性,而CNN结构具有纹理偏向属性。它使基于Transformer的模型比基于CNN的模型获得更好的泛化性能。作者还对现代主干架构(例如ConvNeXt,RegionViT)进行了广泛的实验,以研究纹理/形状偏置特性的起源。通过这些广泛的实验观察到,神经网络的固有局部性导致了纹理偏向特性,而transformer的底层自我关注机制则导致了形状偏向特性。

640.png


方法介绍与分类



1)自监督深度估计


自监督深度估计方法[8],[9],[12],[55],[56],[57]通过在目标和源图像之间施加由预测深度和运动扭曲的光度一致性损失,同时训练深度和运动网络。SfMLearner首先提出了一种没有depth和运动 GT的深度和自运动估计pipelines。Monodepth2提出了处理遮挡的最小重投影损失、减少视觉伪影的全分辨率多尺度采样方法以及忽略离群像素的自掩码损失。PackNet SfM引入了利用3D卷积实时学习密集外观和几何信息的打包和解包块。HR-Depth[12]分析了大梯度区域中深度预测不准确的原因,并设计了一种跳跃连接以提取高分辨率的代表性特征。


2)基于监督的单目深度估计


监督方法[10]、[13]、[58]、[59]、[60]使用从RGB-D摄像机或LiDAR传感器获取的真实深度,用于训练监督。BTS[58]采用局部平面引导层来密集编码特征,以保持局部细节,并在解码器的多个阶段创建深度图锐度,AdaBins[10]通过按图像自适应决定的bin centers的线性组合来估计深度。bin构建块将图像的深度范围划分为bin。LapDepth[59]在多级上尺度编码器处使用拉普拉斯金字塔来保留局部细节,例如边界,它还通过使用重量标准化来稳定训练。GLPDepth[60]提出了一种分层变换编码器来捕获图像的全局上下文,并提出了一个选择性特征融合模块来在解码器处连接多尺度局部特征和全局上下文信息。特征融合模块帮助解码器变得更强大,即使解码器是轻量级的。DepthFormer[13]提出利用transformer的有效注意力机制和CNN的空间感应偏置来捕获长距离相关性,它还使用分层聚合和异构交互模块来增强网络的亲和力!


3)视觉transformer


最近,transformer在解决图像分类、目标检测和密集预测等计算机视觉任务方面表现出了希望。ViT[32]首次在固定大小的图像patch上采用Transformers架构进行图像分类。DeiT[61]利用ViT架构上的知识差异,仅在ImageNet数据集上表现出良好的性能。DETR[33]提出了基于CNN Transformer网络和二分匹配的直接集预测方法,该方法简化了目标检测pipeline。一些作品[11]、[63]已采用transformer以监督方式进行单目深度估计,DPT[63]引入了使用transformer作为编码器的基本计算构建块。


这些工作显示了普遍的性能,但它们需要大量的训练数据集,这些数据集在不同的环境中使用GT深度图捕获。TransDepth[11]利用多尺度信息来捕获局部水平细节。以前的工作缺乏对模型在另一个领域数据集上是否按预期行为的研究,该工作[65]聚合了单帧和交叉帧之间的注意力图,以细化吸引图,从而提高性能。工作[11],[65]只关注于提高基准数据集的性能。


4)现代化结构


尽管Transformer在视觉任务方面取得了巨大成功,但Transformer需要大的模型和数据大小才能实现最先进的性能。最近,许多工作[47]、[48]、[49]、[50]、[66]利用对transformer的局部关注来缓解问题。Swin transformer[66]设计的金字塔结构网络不同于视觉transformer[32],视觉transformer是各向同性结构。它使用滑动窗口策略在具有局部注意力的分类任务中实现了最先进的性能。Twins[48]利用非重叠区域的全局注意力和局部注意力在有限条件下表现更好。RegionViT[47]显示了使用区域到局部注意力的几种视觉任务的最先进性能,这缓解了标准注意力机制的弱点。ConvNeXt[49]使卷积神经层现代化,如深度卷积,并利用Patchify stem等技术,实现与Transformer的竞争性能。SLaK[50]试图设计具有超大内核大小(例如,51×51)的网络,以利用 Lak[50]在训练中重复修剪和生长步骤,以优化稀疏核。


论文提出的方法



本节介绍MonoFormer,它是一种编码器结构,具有多级特征融合模块,用于自监督单目深度估计。注意连接模块(ACM)学习通道和位置attention,特征融合解码器(FFD)自适应地将编码器特征与图2中的注意力图融合。

640.png


1)基于transformer的Encoder


MonoFormer由CNN和图像编码器transformer组成,编码器采用ResNet50作为CNN主干(图2中的E(θ))和L个transformer,在工作[63]之后,MonoFormer另外使用了一个特殊的token ts。MonoFormer输入patch


tokens pn,n∈{1,…,n}和特殊的具有可学习线性投影层E的标记ts如下:


640.png

其中Z0是潜在嵌入向量,CNNTransformer编码器包括多头部自注意(MSA)层、多层感知器(MLP)层和标准化(LN)层,MLP采用GELU非线性构建[68]!

每层的自注意设置为:

640.png


其中M和d分别是SA block的数量和自关注块的维数,其与权重矩阵的维数相同。多头自关注(MSA)由M个 具有权重矩阵$W∈R^{Md×C}$的可学习参数的SA块如下:


640.png


640.png


2)注意力连接模块(ACM)


MonoFormer,ACM的skip连接模块,从给定的特征$Z_l$中提取全局上下文关注和语义表示,$l∈{1,…,l}$。跳跃连接广泛用于密集预测任务,通过将空间信息直接从编码器传输到解码器,有助于保持精细细节。然而,由于其简单性,对于天真的跳过连接方法来说,保留局部细节(如对象边界)是一个挑战。为了解决这个问题,提出了ACM,该ACM从空间域和通道域中提取注意力权重,灵感来自[71]。它由位置注意力、通道注意力模块和从两个注意力中收集重要信息的融合块组成。

640.png


3)特征融合解码器(FFD)


FFD获得编码器特征$Z_l$、关注图$A^p_l$、$A^c_l$以及通过残差卷积层的最后一个Transformer层的输出特征$X_L$。特征$X_{L−l+1}$,$l∈{1,…,l}$通过解码器与单个卷积层(卷积)和信道归一化(CN)融合!

640.png


4)训练损失和实施细节


使用光度一致性(L2损失和SSIM损失)和边缘感知平滑度损失来训练深度和运动网络,遵循自监督单目深度估计的最佳实践。作者设定了SSIM、L2光度损失和平滑度损失的权重分别为0.85、0.15和0.001。根据[55]中的工作,使用7个卷积层进行6-DoF相机姿态估计。在PyTorch上实现了论文的框架,并在4个Titan RTX GPU上对其进行了训练。使用Adam优化器,β1=0.9和β2=0.999。模型训练了50个epoch,bs大小为8。深度和姿态网络的学习率分别为2×10−5和5×10−4。


实验结果



论文进行了广泛的实验,以研究各种网络结构的泛化性能以及纹理/形状偏差对单目深度估计的影响。首先,评估最先进的KITTI训练模型,包括KITTI数据集和各种深度基准数据集上的各种现代化主干架构。对KITTI和其它深度数据集进行评估。还进行了MonoFormer的消融研究,然后,我们使用纹理偏移数据集,通过自监督和监督方法研究MDE模型的纹理偏差和形状偏差。在合成生成的纹理移位数据集上分析了每个模型的深度估计性能和特征表示。最后,论文证明了在从不同驾驶环境捕获的真实世界纹理移动数据集中观察到的基于CNN和基于Transformer的网络的固有特性!


1)竞争方法和评估设置


对于自监督设置,将本文的工作(称为MF Ours[51])与最先进的方法进行了比较 ,Monodepth2、PackNet SfM,SGDepth,R-MSFM。还评估了最先进的监督方法,BTS[58]、AdaBins[10]、TransDepth[11]、DepthFormer[13]和GLPDepth[60]。作者注意到,一些基于Transformer的模型,如MF-Ours、TransDepth和DepthFormer,同时使用CNN和Transformer作为编码器。还分析了各种现代化架构的性能,如RegionViT[47]、Twins[48]、ConvNeXt[49]和SLaK[50]。用这些modern主干网取代MF-Ours的编码器,其名称定义为MF-(backbone),表1描述了其分类,在图3中说明了现代化CNN和Transformer架构的这些基本网络结构。基于eTransformer的模型[47],[48]通过使用局部关注来弥补ViT的缺点(例如,需要大数据集),从而增加了局部性。基于CNN的架构[49],[50]旨在提取全局信息,同时利用固有的局部感应偏差。他们还使用改进的策略,如大内核和层正则化[76],模仿Transformer的自关注。

640.png640.png640.png640.png640.png640.png


2)主要结论


本文提出了一种称为MonoFormer(MFOurs)的自监督单目深度估计方法。更重要的是,对各种现代化主干结构的泛化性能以及使用各种数据集进行单目深度估计的最先进的自监督和监督方法进行了深入分析。分布内数据集用于比较KITTI基准上的通用性能,而分布外数据集和纹理重塑数据集用于对比泛化性能。本文使用合成纹理重塑数据集深入分析了从每个模型中提取的特征的属性。最后演示了模型在变化环境的真实场景中的适用性(使用昼夜、雾和雨数据集)。通过大量实验,观察到MF-Our和GLPDepth分别在所有自监督和监督方法中具有最佳的泛化性能。监督方法GLPDepth在所有单目中实现了最佳的泛化性能。更有趣的是,作者提供了关于单目深度估计的普遍性的三个重要观察结果。首先,基于CNN的模型严重依赖纹理信息来识别场景和目标,而基于Transformer的模型在单目深度估计任务中更大程度上使用形状信息。第二,基于纹理的表示会导致环境变化(如光照和天气的差异)的泛化性能较差。相比之下,基于形状的表示对于这种纹理重塑的环境更为稳健。最后,ConvNeXt和RegionViT分别基于CNN和Transformer,但具有不同于主干结构的属性。结果表明,纹理偏差和形状偏差分别不是CNN和Transformer的固有特性。相反,神经网络的内在局部性导致了纹理偏向特性,而自关注机制,transformer的底层,则导致了形状偏向特性。


参考



[1] A Study on the Generality of Neural Network Structures for Monocular Depth Estimation.


原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA


相关文章
|
2月前
|
机器学习/深度学习 资源调度 自然语言处理
不同类型的循环神经网络结构
【8月更文挑战第16天】
33 0
|
1月前
|
编解码 人工智能 文件存储
卷积神经网络架构:EfficientNet结构的特点
EfficientNet是一种高效的卷积神经网络架构,它通过系统化的方法来提升模型的性能和效率。
31 1
|
2月前
|
机器学习/深度学习 算法 文件存储
【博士每天一篇文献-算法】 PNN网络启发的神经网络结构搜索算法Progressive neural architecture search
本文提出了一种名为渐进式神经架构搜索(Progressive Neural Architecture Search, PNAS)的方法,它使用顺序模型优化策略和替代模型来逐步搜索并优化卷积神经网络结构,从而提高了搜索效率并减少了训练成本。
40 9
|
2月前
|
机器学习/深度学习 人工智能 PyTorch
AI智能体研发之路-模型篇(五):pytorch vs tensorflow框架DNN网络结构源码级对比
AI智能体研发之路-模型篇(五):pytorch vs tensorflow框架DNN网络结构源码级对比
65 1
|
3月前
|
机器学习/深度学习 自然语言处理
像生物网络一样生长,具备结构可塑性的自组织神经网络来了
【7月更文挑战第24天】Sebastian Risi团队发布的arXiv论文探讨了一种模仿生物神经网络生长与适应特性的新型神经网络。LNDP利用结构可塑性和经验依赖学习,能根据活动与奖励动态调整连接,展现自我组织能力。通过基于图变换器的机制,LNDP支持突触动态增删,预先通过可学习随机过程驱动网络发育。实验在Cartpole等任务中验证了LNDP的有效性,尤其在需快速适应的场景下。然而,LNDP在复杂环境下的可扩展性及训练优化仍面临挑战,且其在大规模网络和图像分类等领域的应用尚待探索
75 20
|
2月前
|
机器学习/深度学习 数据可视化 数据挖掘
【Macos系统】安装VOSviewer及使用VOSviewer教程!!以ESN网络的研究进行案例分析
本文介绍了如何在MacOS系统上安装VOSviewer软件,并以ESN(Echo State Network)网络的研究为例,通过VOSviewer对相关科学文献进行可视化分析,以深入了解ESN在学术研究中的应用和发展情况。
149 0
【Macos系统】安装VOSviewer及使用VOSviewer教程!!以ESN网络的研究进行案例分析
|
2月前
|
机器学习/深度学习 Linux TensorFlow
【Tensorflow+keras】用代码给神经网络结构绘图
文章提供了使用TensorFlow和Keras来绘制神经网络结构图的方法,并给出了具体的代码示例。
42 0
|
2月前
|
机器学习/深度学习 API 数据处理
《零基础实践深度学习》2.4手写数字识别之网络结构
这篇文章介绍了手写数字识别任务中网络结构设计的优化,比较了多层全连接神经网络和卷积神经网络两种模型结构,并展示了使用PaddlePaddle框架实现这些网络结构,训练并观察它们在MNIST数据集上的表现。
|
3月前
|
机器学习/深度学习 自然语言处理 算法
深度学习的关键概念和网络结构
度学习是人工智能和机器学习的一个重要分支,它通过模拟人脑神经元的工作方式来处理复杂的模式识别和数据分析任务。深度学习已经在许多领域取得了显著的成果,如图像识别、语音识别和自然语言处理。
45 1
|
3月前
|
机器学习/深度学习 PyTorch 算法框架/工具
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,