单目深度估计已经被广泛研究,最近已经报道了许多在性能上显著改进的方法。然而,大多数先前的工作都是在一些基准数据集(如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的底层自我关注机制则导致了形状偏向特性。
方法介绍与分类
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中的注意力图融合。
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如下:
其中Z0是潜在嵌入向量,CNNTransformer编码器包括多头部自注意(MSA)层、多层感知器(MLP)层和标准化(LN)层,MLP采用GELU非线性构建[68]!
每层的自注意设置为:
其中M和d分别是SA block的数量和自关注块的维数,其与权重矩阵的维数相同。多头自关注(MSA)由M个 具有权重矩阵$W∈R^{Md×C}$的可学习参数的SA块如下:
2)注意力连接模块(ACM)
MonoFormer,ACM的skip连接模块,从给定的特征$Z_l$中提取全局上下文关注和语义表示,$l∈{1,…,l}$。跳跃连接广泛用于密集预测任务,通过将空间信息直接从编码器传输到解码器,有助于保持精细细节。然而,由于其简单性,对于天真的跳过连接方法来说,保留局部细节(如对象边界)是一个挑战。为了解决这个问题,提出了ACM,该ACM从空间域和通道域中提取注意力权重,灵感来自[71]。它由位置注意力、通道注意力模块和从两个注意力中收集重要信息的融合块组成。
3)特征融合解码器(FFD)
FFD获得编码器特征$Z_l$、关注图$A^p_l$、$A^c_l$以及通过残差卷积层的最后一个Transformer层的输出特征$X_L$。特征$X_{L−l+1}$,$l∈{1,…,l}$通过解码器与单个卷积层(卷积)和信道归一化(CN)融合!
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的自关注。
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)