Transformer 助力 U-Net,提升宽角图像深度估计性能 !

点击下方卡片,关注 「AI视界引擎」 公众号

( 添加时备注:方向+学校/公司+昵称/姓名 )

picture.image

picture.image

宽角鱼眼图像在机器人、安全以及移动性(如无人机、航空电子设备)等应用的感知任务中越来越常见。然而,当前模型常常要么忽略宽角图像中的畸变,要么不适用于执行像素级任务。

在本文中,作者提出了一种基于径向 Transformer 架构的编码器-解码器模型,该模型通过利用径向畸变剖面所定义的物理特性来适应宽角镜头的畸变。

与原始模型仅执行分类任务不同,作者引入了一种针对像素级任务设计的U-Net架构,名为DarSwin-Unet。

此外,作者提出了一种新颖的策略,在创建图像输入标记时最小化稀疏性。作者的方法提高了模型处理宽角鱼眼图像中像素级任务的能力,使其在现实应用中更为有效。与其他 Baseline 方法相比,DarSwin-Unet在不同数据集上均取得了最佳结果,在有限畸变水平(非常低、低、中、高)上进行训练并在所有水平上(包括分布外畸变)进行测试时,效果提升显著。

作者展示了其在深度估计方面的性能,并通过大量实验证明DarSwin-Unet能够对不同宽角镜头的未见畸变进行零样本适应。

1 Introduction

在计算机视觉的许多领域,如安全[17]、增强现实(AR)[40]、医疗保健,尤其是自动驾驶车辆[58、10],都采用广角镜头,因为它们通过增加视场角,减少了对捕捉场景所需摄像头的数量,从而降低了成本。

然而,这种成本效益带来了一定的缺点:由广角镜头捕获的图像显示出显著的畸变,因为投影模型不再是透视的。现实世界中的直线在图像中呈现为曲线,物体的几何形状随着它们在图像中的位置而变化。大多数基于CNN的模型对透视图像具有隐含的偏见——实际上,广角镜头中的畸变破坏了CNN的平移等方差性,限制了它们的应用。广角镜头畸变的多样性进一步加剧了这个问题:在具有不同畸变的镜头上进行评估时,针对特定镜头畸变训练的方法不能很好地泛化——因此,在新的镜头上,人们必须重复整个数据收集、训练过程等。

当在其他镜头上进行测试以提高泛化能力时,一种流行的策略是通过将输入图像扭曲回透视投影模型来消除畸变效应。已经提出了从经典到深度学习[50、56]的各种方法,以在未畸变的图像上进行训练和测试。不幸的是,消除广角图像的畸变效应往往会造成图像严重拉伸。它还可能限制最大视场角,因为在极限情况下,方位角的点投影在无穷远处,但减少最大视场角违背了使用广角镜头的初衷。其他投影也是可能的(例如,圆柱形[35],或分段线性[58]),但这些也会造成不希望的畸变或遭受分辨率损失。一些方法如[36、1]使用可变形卷积[61、9]来处理宽角图像而不进行去畸变处理。在这里,卷积核在训练过程中适应给定图像的镜头畸变。然而,这些方法往往过度拟合训练中出现的广角镜头畸变;因此,它们不能在测试时泛化到未见过的镜头畸变。基于Transformer的架构[2、7]也直接用于处理广角图像,甚至在DarSwin[2]中对其他畸变的泛化性能进行了评估。然而,DarSwin仅在分类任务中进行了演示,而HealSwin[7]在测试时无法适应其他镜头。到目前为止,尚不清楚是否可以在不进行微调的情况下,针对像素级任务训练具有零样本泛化到测试时其他畸变镜头能力的畸变感知架构。

在这项工作中,作者针对上述问题提出了一个健壮的解决方案。具体来说,作者提出了一种名为DarSwin-Unet的编码器-解码器架构,它利用DarSwin[2]作为编码器。虽然这种策略是有效的,但作者观察到[2]中提出的图像采样模式造成了稀疏性问题,这对深度估计等像素级任务的表现产生了负面影响。为了解决这个问题,作者提出了一种新颖的像素采样方法,它减轻了前述稀疏性问题,从而显著提高了深度估计性能。作者在深度估计任务上进行了实验,结果显示DarSwin-Unet在测试时对镜头畸变的变化的适应性远胜于所有比较的 Baseline ,包括在畸变和未畸变图像上训练的Swin-Unet[6]和Swin-UPerNet[49、32],以及仅在畸变图像上训练的DAT-UPerNet[47、49]。

简而言之,作者做出了以下主要贡献:

  • 一种名为DarSwin-Unet的新颖编码器-解码器畸变感知架构,适用于像素级任务,它可以在测试时以零样本方式适应广角图像的畸变,无需微调;
  • 一种新的像素采样方案,它限制了在处理畸变差异极大的图像时的样本稀疏性问题;
  • 在深度估计方面的大量实验,显示了DarSwin-Unet在测试时适应新型畸变轮廓的优越性。

2 Related work

广角摄像头越来越多地被应用于各种计算机视觉应用中,包括视觉感知[24]和自动驾驶车辆摄像头。然而,由于它们的图像中存在畸变,这种摄像头的采用相对较晚。早期的方法主要专注于校正这种畸变。一些方法使用畸变参数来评估每个像素的畸变密度,并随后进行校正。然而,这种校正过程可能会引入像拉伸[58]这样的伪影,导致性能下降。

相比之下,作者的方法基于DarSwin[2],它直接利用畸变参数来推理广角图像,避免了与传统畸变校正方法相关的问题。这种方法至关重要,因为它解决了广角镜头固有的畸变问题,并与现代计算机视觉任务的需求相一致。

基于卷积的方法。卷积神经网络(CNNs)在处理无失真的图像时极为有效,这归功于它们固有的偏向于自然图像特性,例如平移等方差[4]。诸如[38, 39, 44]的方法试图将CNNs适应于鱼眼图像,以执行诸如目标检测等任务。然而,由于广角图像造成的失真打破了这种对称性,从而降低了CNN的性能。诸如的方法使用自监督学习结合技术如知识蒸馏或多任务学习以更好地理解失真。可变形卷积[9, 61]通过学习核形变提供了一定的灵活性,但计算成本较高。近期的研究使用可变形CNN处理鱼眼失真。相比之下,作者的网络基于DarSwin[2],它利用镜头的失真剖面而非卷积来采用基于注意力的机制。然而,他们只展示了一个编码器,而作者的网络DarSwin-Unet则展示了一个编码器-解码器架构。

混合网络方法。一些方法结合了自关注和卷积的特性,构建了混合网络。如文献[26]使用混合网络,并尝试利用鱼眼图像的几何属性(即物体的正交排列),提出了一种新的鱼眼道路场景表示方法,该方法对相机视角变化具有不变性。Shi等人[41]通过包含极坐标交叉关注来进行修复,利用了失真的径向特性,但与DarSwin-Unet不同,他们没有在其网络中使用镜头信息。与作者的方法相似,文献[20, 21, 23, 25]提出了一种相机感知的深度估计网络来处理鱼眼相机的严重失真:[25]将相机内参编码为一个张量;而[23]提出了一种自监督的深度估计方法,该方法依赖于透镜失真参数进行前向和后向投影函数。这两种方法都将失真参数作为输入或训练过程的一部分,但它们依赖于卷积,而卷积的泛化能力由于在广角图像中平移不变性假设被破坏而受限。实际上,网络对每个像素及其对应的镜头失真先验进行等权重处理,而不考虑广角图像失真的严重程度,这影响了对各种镜头失真泛化的能力。[25]显示了对于接近训练失真的镜头失真的泛化能力,而[23]没有展示任何泛化结果。

基于视觉变换的方法。视觉 Transformer (ViT)[12]使用基于图像块的自注意力机制[45],而不是执行卷积操作。与卷积神经网络(CNN)不同,ViT在其架构中不具有固定的几何结构:任何额外的结构都是通过位置编码给出的。近来,Swin Transformer 架构[32]采用了基于窗口注意力的多尺度策略。随后,可变形注意力 Transformer (DAT)[47]采用了可变形CNN的概念[9, 61],以增强 Transformer 的适应性。[59]提出了一种使用变换网络的扭曲感知架构,但该网络仅限于固定的等角扭曲。近期,与作者的工作非常相似的方法,如[2, 7],将Swin Transformer [32]作为其基础网络。一方面,[7]通过假设球形投影模型(第3节)并在球面上使用Healpix网格,而非原始Swin Transformer 中的笛卡尔网格,对广角图像进行推理。然而,它并没有在测试时提供对未见镜头的泛化能力。另一方面,DarSwin[2]在Swin Transformer 网络中使用径向块代替笛卡尔网格。它将镜头扭曲参数嵌入到网络中(更多细节见第3节),以在测试时对未见镜头扭曲的模型性能进行泛化。然而,DarSwin仅在其实验中针对图像分类任务。相比之下,作者提出的DarSwin-Unet扩展了[2],采用编码器-解码器架构来执行像素级任务,使其在现实世界应用中更为有效。

3 Background: Distortion-aware Radial Swin transformer (DarSwin)

这段简要概述了DarSwin[2],因为作者的网络建立在其之上。DarSwin是基于Swin Transformer[32]的 一种对扭曲感知的径向 Patch 编码器,设计用于适应广角图像中的扭曲。DarSwin的核心思想是利用给定广角镜头的扭曲轮廓将图像划分为径向 Patch ,如图1所示。

picture.image

架构概述。DarSwin的第一层通过定义沿半径和方位的样本数量来将图像划分为径向 Patch 。如图2所示,通过将图像的极坐标表示的角维度划分为个相等的分区来直接获取沿方位的样本。沿半径的样本根据镜头曲线()获取,在沿入射角的轴线划分为个相等分区,并从曲线上采样径向值,如图1所示。此外,图1中的示例表明,通过改变 Patch 大小,这种分区策略允许DarSwin适应任何镜头,只要知道其扭曲曲线即可。随后使用CNN对这些 Patch 进行线性嵌入。但是,由于 Patch 大小不同,且输入到CNN的必须是相同维度的,因此为每个 Patch 固定采样一组点,如图2所示。线性嵌入后, Token 按极坐标格式排列,并送入DarSwin自注意力块中,这些自注意力块执行基于窗口的自注意力。通过沿方位维度()的 Patch 定义一组不重叠的偏移窗口,而偏移是通过沿方位移动窗口来获得的。最后,在下一个自注意力块之前,通过沿方位合并四个角向 Patch 来降低空间分辨率。值得注意的是,DarSwin在其注意力层中使用了一种角向相对位置编码技术,以捕获产生的径向 Token 之间的相对信息。

picture.image

原始论文[2]在合成扭曲的ImageNet上使用统一相机模型(下面解释)进行了分类实验,并证明了DarSwin可以在测试时以零样本设置适应新的扭曲曲线。

统一相机模型。统一相机模型[3, 33]通过单个、有界的参数描述径向扭曲。它将世界点投影到图像上,如下所示

其中是从图像中心到径向的距离,是入射角,是焦距,是扭曲参数。作者在实验中采用这个模型,因为它允许作者使用单个扭曲参数生成广泛的扭曲轮廓(如图7所示),并且可以解析地获得其逆映射。尽管作者的模型并不局限于这个投影模型。

picture.image

4 Methodology

受到原始DarSwin工作 [2] 的启发,作者提出了两个主要贡献。首先,作者将DarSwin仅编码器架构扩展为完整的编码器-解码器架构(第4.1节)。其次,作者观察到沿着入射角 采样会导致次优覆盖,从而产生影响性能的稀疏性问题。因此,作者设计了一种新颖的采样技术(第4.2节),旨在通过最小化样本间距离来减少稀疏性,从而提高性能。

DarSwin-Unet architecture

图3展示了架构的概览,该架构接收一个广角图像及其畸变曲线 作为输入。作者提出了一个用于像素级模型的UNet架构,其中编码器部分是一个DarSwin架构,解码器部分融合了两个新颖组件:一个用于上采样的方位 Patch 扩展层,以及一个-近邻层将输出投影到笛卡尔坐标系中,如下所述提供像素级值。

picture.image

方位 Patch 扩展层。如第3节所述,DarSwin使用一个方位 Patch 合并层来下采样特征图。DarSwin的径向特性使得在合并 Patch 时具有多种可能性:沿着半径方向合并、沿着方位方向合并,或者两者兼有。在这里,编码器采用方位 Patch 合并,因为根据[2]的结果,这是表现最佳的策略。因此,作者提出了一种方位 Patch 扩展策略。

与[6]中一样,作者在扩展层使用多层感知机(MLP)。作者沿着方位维度使用这个层进行的上采样。例如,考虑图3中的第一个(最右侧) Patch 扩展层。输入特征图 首先被送入MLP层,以的因子扩展特征维度得到 ,其中和分别沿半径和方位方向的划分数量(参见第3节)。然后重新排列特征图以减少特征维度并沿方位维度提高特征图的分辨率,得到 。

-近邻层。最后,作者采用一个-近邻层将极坐标特征图映射回笛卡尔坐标系。图像中的每个像素坐标与其个最近样本点相关联(作者使用),并对其特征向量取平均值。由于样本点位置是已知的,-近邻层是固定的且不可训练。-近邻层的输出(维度为)被送入最后的线性投影层,以得到所需任务的目标输出。

Proposed sampling method

在原始的DarSwin架构中,线性嵌入层的输入(图3)必须具有相同的维度。因此,每块图像都从固定点集中采样。然而,由于 Patch 尺寸根据畸变而变化,这可能导致沿半径方向采样稀疏。图4展示了在使用统一相机模型(和)的两种极端畸变下获得的样本。图4-(a)展示了根据[2]中使用的镜头曲线进行采样时,在透视投影()下图像中许多沿半径方向的样本显著缺失。根据另一个的函数(例如,图4-(b)中的)进行采样改善了结果,但在畸变非常高(例如,)时会产生稀疏样本。在这里,作者寻找另一个的函数,命名为,它可以在广泛的畸变范围内尽可能均匀地分布样本(图4-(c))。透镜函数在图5中绘制。作者观察到,当透镜函数的导数(斜率)较高时,样本在图像中分布得较远。

picture.image

picture.image

更正式地说,作者寻找一个严格单调的函数,当它在低畸变和高畸变下应用时,在整个范围内的导数最小。作为表示畸变的代理,作者再次采用统一相机模型(参见第3节),寻找一个函数,使得以下目标最小化:

作者用两个单调函数和的凸组合来参数化:

这确保了得到的曲线是单调的。作者搜索使方程(2)最小的最优参数、、和。对于优化,作者对进行10步的穷举搜索,进行60步,进行20步,进行40步。作者发现的值对于和都给出了最优曲线,如图5(右)所示。使用这种最优曲线进行采样,与之前的方法相比,在两种极端情况(即零和最大畸变水平)下都减少了稀疏性(图4-(c))。在作者的实验中,作者沿方位角采样25个点,沿半径采样4个点,每块总共100个样本点。作者在补充材料中还分析了使用这三种函数进行深度估计任务的性能。

5 Depth estimation experiments

为了评估DarSwin-Unet在未见失真模式下的泛化能力和鲁棒性,作者使用全景数据集[8]合成的广角图像进行了单目深度估计实验。

Datasets

picture.image

由于现有的广角深度估计数据集,如Woodscapes[58],并未提供广泛的畸变轮廓以评估作者网络的泛化能力,因此作者通过从Matterport3D数据集[8]中的全景图像裁剪出视场广角图像来合成地生成广角图像。这里,作者使用统一相机模型[3, 33](参见第3节)来模拟镜头畸变。图6展示了一个示例图像。

训练集。与DarSwin[2]类似,作者生成了四个不同的训练集,这些训练集具有不同程度的畸变,由畸变参数定义:“非常低”(), “低”(), “中”(),以及“高”(),如图7所示。

训练图像是在训练过程中从全景图中实时合成的,畸变从其各自的区间内采样,全景图中的偏航视角在区间内均匀采样。每个四个训练集(每个畸变组一个)包含个原始分辨率为的全景图,生成的广角图像在变形后下采样为。

测试集。为了评估在测试时的性能以及对可见和未见畸变轮廓的零样本泛化能力,作者生成了20个不同的测试集,每个测试集的固定畸变值从中均匀采样,步长为0.05。每个测试集都是从与训练全景图不重叠的相同个全景图中生成的。

Baselines

作者与以下 Baseline 方法进行了比较。首先,作者使用了Swin-Unet [6] 和 Swin-UPerNet(一个带有UPerNet [48]解码器的Swin [32]编码器)。作者还与DAT [47]进行了比较,DAT利用可变形注意力以更好地理解镜头畸变,从而提高鲁棒性。因此,作者也将DAT-UPerNet(一个带有UPerNet解码器的DAT [47]编码器)纳入了比较。由于这些 Baseline 方法无法访问到镜头畸变,与作者的提出的DarSwin-Unet不同,作者还校正了图像中的畸变,并在这一输入上训练Swin Baseline 。作者将这些替代方法称为Swin-Unet(去畸变)和Swin-UPerNet(去畸变)。

作者在对数空间中使用尺度不变损失的网络[42]:

其中 是预测深度与真实深度(对数深度)之间的差异。作者使用 。

评估指标。作者使用典型的深度估计指标[42]来评估性能:绝对相对误差、均方根误差(RMSE)、对数均方根误差(log-RMSE)、平方相对误差以及在阈值下的准确度(,)。本文报告的结果基于

其中 、 和 分别是有效深度、真实深度和预测深度的集合。

Zero-shot generalization

作者进行了与文献[2]相似的泛化性测试,独立地在具有不同程度失真的四个训练集上训练了所有 Baseline 方法和DarSwin-Unet(如图9中的粉色阴影区域所示),并在如上所述的所有20个测试集上评估了它们。作者的主要关注点是网络在未见过的镜头失真(粉色阴影区域外)上的有效性。如图9所示,作者可以看到,对于包括DarSwin-Unet在内的所有方法,深度估计准确度指标在每个训练集的粉色阴影区域内是最高的,因为模型在训练过程中已经接触到了这些镜头失真。但是,当作者从粉色区域向外移动时,可以看到 Baseline 的性能迅速下降,因为测试时这些镜头失真并不存在,但DarSwin-Unet在("低"、"中"和"高"失真训练集)的训练失真区域外仍能保持其性能。当DarSwin-Unet在"非常低"失真下训练时,随着作者从训练失真处移动,性能有所下降,但DarSwin-Unet仍然优于所有 Baseline 。

picture.image

通过将失真参数嵌入到网络中,DarSwin-Unet展示了跨不同镜头的更好泛化能力,这是由DarSwin[2]引入的。如图1所示,patch大小的变化使得注意力层中的每个patch能够根据特定的镜头失真进行加权。

为了进行公平的比较, Baseline Swin-Unet(undis)和Swin-UPerNet(undis)同样配备了失真参数知识。然而,尽管包含了这一知识,这些 Baseline 仍然未能有效泛化到其他镜头。这主要是因为去失真过程中产生的伪影。

Ablations

-NN分析。作者研究每个 Patch 中样本数量对重建质量的影响。如第4.1节所述,沿着半径方向采样25个点,沿着方位角方向采样4个点,每个 Patch 共有个样本。由于-NN层不可训练,因此对该模型部分的消融研究是基于真实标签进行的。作者从Matterport3D [8]中扭曲深度图,设置。使用采样位置和-NN层对真实标签进行采样和重建。为了评估这一层的效率,作者计算了每个真实标签与其对应重建标签之间有效像素的平均绝对误差(MAE),并在所有图像上取平均值。作者在表1中展示了每个 Patch 样本数量的消融研究,并在图10中进行说明。作者显示,每个 Patch 个样本能够有效地从极坐标特征投影到笛卡尔特征,误差为0.8%,每幅图像的处理时间为10.3毫秒,相比之下,个样本的处理时间为3.1毫秒。

picture.image

picture.image

6 Discussion

本文介绍了DarSwin-Unet,这是一种基于径向的、对镜头畸变敏感的编解码 Transformer ,构建于DarSwin [2]之上。DarSwin-Unet能够根据校准镜头的畸变轮廓动态调整其结构,使其在多种镜头的深度估计任务中实现零样本适配的最先进性能。

作者工作的一个关键贡献是开发了一种新型的采样函数,旨在解决由[2]引入的基于畸变的采样技术中固有的稀疏性问题。这种改进对于像素级任务至关重要,因为在这些任务中,采样的稀疏性会显著降低性能,而在分类任务中其影响则不太明显。

局限性与未来工作尽管DarSwin-Unet在畸变敏感的像素级任务(如深度估计)方面取得了显著进展,但有必要认识到其局限性。首先,尽管DarSwin-Unet显示出潜力,但将其扩展到高分辨率图像仍面临挑战。从专门研究如何扩展类似作者Swin Transformer 架构的SwinV2 [31]中汲取思路,为有效提升作者网络处理更高图像分辨率的能力提供了一个有前景的方向。其次,作者的模型假设预先知道镜头畸变轮廓,这限制了其在未校准镜头场景中的适用性。

因此,改进的关键机会在于提升DarSwin-Unet在现实世界中的应用性,在这些场景中无法获得镜头校准数据。一种解决方案可能是使用辅助网络预测畸变参数。然而,未来工作的更具体方法将是开发一个端到端的网络,能够直接从输入图像中学习畸变。

参考

[1].DarSwin-Unet: Distortion Aware Encoder-Decoder Architecture.

点击上方卡片,关注 「AI视界引擎」 公众号

0
0
0
0
评论
未登录
暂无评论