无监督新框架!Depth Anywhere:增强任何单目360图像的深度估计

人工智能 智能汽车
本文提出了一种在360度图像上训练最先进(SOTA)深度估计模型的新方法。随着可用数据量的显著增加,数据量和质量的重要性变得显而易见。

本文经自动驾驶之心公众号授权转载,转载请联系出处。

写在前面

准确估计360度图像中的深度对于虚拟现实、自主导航应用至关重要。现有的为透视视图图像设计的深度估计方法,在应用于360度图像时,由于不同的相机投影和畸变而失效,而360度方法则因为缺乏标注数据对而表现不佳。这里提出了一种新的深度估计框架,该框架能够有效利用未标注的360度数据。

提出的方法采用最先进的透视深度估计模型作为教师模型,通过六面体投影技术生成伪标签,从而实现对360度图像中深度的有效标注。这种方法利用了大型数据集日益增加的可用性。我们的方法包括两个主要阶段:离线无效区域mask生成和在线半监督联合训练方案。在Matterport3D和Stanford2D3D等基准数据集上测试了提出的方法,结果显示在深度估计准确性方面取得了显著改进,特别是在zero-shot学习场景中。提出的训练流程可以增强任何360度单目深度估计器,并在不同的相机投影和数据类型之间实现有效的知识迁移。

背景介绍

近年来,计算机视觉领域涌现出大量研究,专注于解决处理360度图像所面临的挑战。随着全景图像在虚拟现实、自主导航和沉浸式媒体等各个领域的广泛应用,针对360度图像量身定制的准确深度估计技术的需求日益凸显。然而,直接将针对透视视图图像开发的现有深度估计方法应用于360度数据时,由于相机投影和畸变的差异,会遇到显著困难。尽管许多方法旨在解决这种相机投影下的深度估计问题,但由于标注数据集的有限可用性,它们往往难以应对。

为了克服这些挑战,这里提出了一种在360度图像上训练最先进(SOTA)深度估计模型的新方法。随着可用数据量的显著增加,数据量和质量的重要性变得显而易见。关于透视感知模型的研究越来越多地集中在增加数据量和发展能够跨不同类型数据泛化的基础模型上。提出的方法利用SOTA透视深度估计基础模型作为教师模型,并通过六面体投影方法为未标注的360度图像生成伪标签。通过这种方式,我们有效地解决了利用透视模型和大量未标注数据来标注360度图像中深度信息的挑战。

图片

提出的方法包括两个关键阶段:离线mask生成和在线联合训练。在离线阶段,结合检测和分割模型,为未标注数据中的无效区域(如天空和水印)生成mask。随后,在在线阶段,采用半监督学习策略,将一半批次加载标注数据,另一半加载伪标注数据。通过联合训练标注数据和伪标注数据,我们的方法在360图像上实现了稳健的深度估计性能。

为了验证提出方法的有效性,在基准数据集(如Matterport3D和Stanford2D3D)上进行了广泛的实验。我们的方法在深度估计准确性方面表现出了显著的改进,特别是在zero-shot学习场景中,即模型在一个数据集上训练并在另一个数据集上评估时。此外,我们还通过不同的SOTA 360度深度模型和多种未标注数据集展示了我们的训练技术的有效性,这凸显了我们的方法在应对360度图像带来的独特挑战方面的灵活性和有效性。

主要贡献可以总结如下:

• 提出了一种针对360度图像的全新训练技术,该技术通过透视基础模型的蒸馏来利用未标注数据的潜力。• 引入了一种在线数据增强方法,该方法有效地在不同相机投影之间建立了知识蒸馏的桥梁。• 提出的训练技术显著地促进了并启发了未来关于360度图像的研究,通过展示最先进(SOTA)360度模型、透视教师模型和未标注数据集之间的可互换性。这使得即使在未来新的SOTA技术出现时,也能实现更好的结果。

Depth Anywhere方法介绍

本文提出了一种用于360度单目深度估计模型的新型训练方法。方法利用透视深度估计模型作为教师,并使用六面体投影为未标注的360度图像生成伪标签。图2展示了训练流程,包括在离线阶段使用“Segment Anything”来屏蔽未标注数据中的天空和水印区域。随后,使用标注数据和未标注数据进行联合训练,每个批次分配一半给每种数据。未标注数据通过“Depth Anything”生成的伪标签进行监督,这是一种最先进的透视单目深度基础模型。借助教师模型的帮助,360度深度模型在zero-shot学习数据集上表现出了可观的改进。

图片

数据集统计。近年来,360数据变得越来越容易获取。然而,与透视视图深度数据集相比,为360度数据标注深度真实值面临更大的挑战。因此,360度数据的已标注数据集可用性远小于透视数据集。表1列出了一些最流行的360度数据集的数据量,包括Matterport3D、Stanford2D3D和Structured3D。此外还列出了一个多模态数据集SpatialAudioGen,它由我们实验中使用的未标注360度数据组成。值得注意的是,用于透视基础模型Depth Anything的标注和未标注数据数量显著更大,有150万张标注图像和6200万张未标注图像,使得360度数据集中的数据量大约小了170倍。

图片

数据清洗和有效像素mask生成:未标注数据通常在天空和水印等区域包含无效像素,这会导致训练不稳定或收敛不理想。为了解决这个问题,我们应用了GroundingSAM方法来屏蔽无效区域。这种方法利用Grounded DINOv2来检测问题区域,并通过在边界框内进行分割,应用Segment Anything模型来屏蔽无效像素。虽然Depth Anything也使用了一个预训练的分割模型DINOv2来选择天空区域,但鱼眼相机拼接后经常会出现品牌标志和水印。因此,我们应用了额外的标签来增强我们训练过程的鲁棒性。除此之外,还移除了所有有效像素少于20%的图像,以稳定训练过程。

透视基础模型(教师模型):为了应对360度数据集中数据有限和标注困难带来的挑战,我们利用了大量未标注数据以及最先进的透视深度基础模型。由于相机投影和畸变的显著差异,直接将透视模型应用于360度数据通常会产生较差的结果。之前的工作已经探索了将等距投影转换为透视深度的各种投影方法。其中,立方体投影和切线投影是最常见的技术。这里选择了立方体投影,以确保每个patch具有更大的视场,从而在透视基础模型的推断过程中更好地观察像素或物体之间的相对距离,并增强知识蒸馏。

在提出的方法中,首先将未标注的360度数据进行投影,然后在这些投影的透视图像块上运行Depth Anything以生成伪标签。我们探索了两种伪标签监督的方向:将块投影到等距投影上并在360度域中进行计算,或者将360度模型的360度深度输出投影到块上并在透视域中进行计算。由于训练是以缩放后的相对深度方式进行的,因此将透视图像块重新拼接回等距投影并调整对齐的尺度是一个额外的研究方面。我们选择在透视域中计算损失,这使得训练更快更容易,无需额外的对齐优化。

图片

直接将Depth Anything应用于立方体投影的未标注数据并不会带来改进,因为忽略了跨立方面的关系,从而导致立方体伪影(图4)。这个问题是由于对透视立方体面进行了单独估计,其中单目深度是基于语义信息进行估计的,可能缺乏对整个场景的全面理解。为了解决这个问题,我们提出了在透视基础模型之前进行随机旋转预处理的步骤。如图2所示,使用随机旋转矩阵对等距投影的RGB图像进行旋转,然后进行立方体投影。这将产生更多样化的立方体面集合,更有效地捕捉天花板、墙壁、窗户和其他物体之间的相对距离。通过提出的随机旋转技术,由于观察点不是静态的,因此知识蒸馏变得更加全面。透视基础模型的推理是即时进行的,在360模型训练期间参数是冻结的。

为了执行随机旋转,我们在等距坐标(记为(θ, ϕ))上应用一个旋转矩阵,记作 R。

图片

对于等距投影到立方体投影,每个立方体面的视场(FoV)等于90度,每个面都可以被视为一个焦距为w/2的透视相机,并且所有面在世界坐标中共享同一个中心点。由于六个立方体面共享同一个中心点,因此每个相机的外参矩阵可以通过旋转矩阵Ri来定义。p是立方体面上的像素点。

图片图片

训练过程与MiDaS、Depth Anything和其他跨数据集方法非常相似。我们的目标是为任何360度图像提供深度估计。遵循之前在多个数据集上进行训练的方法,我们的训练目标是估计相对深度。首先,使用公式1/d将深度值转换为视差空间,然后将每个视差图归一化到[0, 1]的范围内。

为了适应跨数据集训练和来自基础模型的伪真实标签,我们采用了仿射不变损失,这与先前的跨数据集方法一致。这种损失函数忽略了每个域的绝对尺度和偏移,从而允许在不同数据集和模型之间进行有效适应。

图片

实验对比

图片图片图片

责任编辑:张燕妮 来源: 自动驾驶之心
相关推荐

2024-06-18 09:25:13

2024-02-01 09:46:04

模型数据

2024-04-03 09:28:25

数据训练

2024-03-22 10:24:02

系统评估

2024-08-16 10:20:00

自动驾驶模型

2024-10-23 15:40:00

2021-10-12 09:31:22

算法模型技术

2024-07-19 10:14:13

2022-01-07 10:55:16

智能自动驾驶汽车

2018-04-23 14:49:31

表征句子深度学习自然语言

2023-11-28 12:03:46

人工智能无监督学习算法

2023-03-09 14:04:00

谷歌研究

2022-08-19 09:00:00

人工智能GANs生成模型

2020-11-11 09:00:00

机器学习技术人工智能

2014-11-20 10:56:37

2023-05-22 08:00:00

深度学习机器学习人工智能

2022-11-29 15:38:01

学习框架编码器数据

2013-03-20 13:21:51

jQueryjQuery插件

2017-11-03 15:58:08

2024-06-28 16:03:38

点赞
收藏

51CTO技术栈公众号