没有合适的资源?快使用搜索试试~ 我知道了~
Skip-connectionInput10710关注散焦:弥合深度估计的合成与真实领域差距0Maxim Maximov 慕尼黑工业大学 Kevin Galim 慕尼黑工业大学 Laura Leal-Taix´e 慕尼黑工业大学0摘要0数据驱动的深度估计方法在其训练场景之外的泛化方面存在困难,这是由于现实世界场景的巨大变异性。这个问题可以通过利用合成生成的图像来部分解决,但是关闭合成-真实领域差距远非易事。在本文中,我们通过使用域不变散焦模糊作为直接监督来解决这个问题。我们利用散焦线索,通过使用置换不变卷积神经网络来鼓励网络从具有不同焦点的图像之间的差异中学习。我们的提出的网络使用散焦图作为中间的监督信号。我们能够完全在合成数据上训练我们的模型,并直接应用于各种真实世界图像。我们在合成和真实数据集上评估我们的模型,展示了令人信服的泛化结果和最先进的深度预测。数据集和代码可在https://github.com/dvl-tum/defocus-net上获得。01. 引言0近年来,智能手机摄影用户数量增加,使得对图像编辑工具的需求更加广泛。大多数这些工具仍然局限于颜色调整和简单的图像转换。由于需要捕获场景的深度图,更高级的后期处理变化,如焦点和景深调整,通常不常见。虽然存在计算深度的专用硬件解决方案,例如光场相机[14],但现在,数据驱动的机器学习使得从软件方面解决这个问题成为可能,可以从单个图像中预测深度图[9, 7,36]。然而,单目深度估计方法在未见数据/场景上的泛化能力不强,例如不同的视角、几何和物体类型。它们严重依赖于透视、大小、纹理和阴影线索来测量距离。这些线索取决于场景和物体的类型、纹理和照明,很容易导致过度拟合到这些记忆设置[20]。深度估计的其他工作展示了更好的泛化性能,依赖于基于比较的深度线索,例如运动深度[34, 19]或立体视觉[37,29]。对于深度估计来说,一个未充分探索的线索是散焦,因为物体的深度决定了它在图像中的清晰度。焦点堆栈深度(或散焦)被定义为从焦点堆栈中获得场景深度的任务,即由同一相机拍摄但对不同焦平面进行了对焦的一组图像。分析方法[21,33]根据每个像素的清晰度计算深度。这种方法耗时且在无纹理物体上表现特别差。最近的深度学习方法通过从焦点堆栈中直接回归深度来以数据驱动的方式解决这些挑战[12]。它们的主要缺点是它们不考虑底层的图像形成过程,因此,这些方法也容易过度拟合到特定的训练条件。实现泛化的另一个挑战是缺乏高质量和多样化的训练集。收集具有注册深度图的焦点堆栈图像是一项非常耗时的任务,更不用说从硬件解决方案(如飞行时间传感器)获得的不完美深度地面真实数据[12]。可以依赖于用于逆向图形任务的合成数据[31,17, 18, 9],但在解决领域差距问题之前不能这样做。0DefocusNet0焦点堆栈 散焦图0AiFNet0全焦距0DepthNet0深度0图1.我们方法的流程图。我们提出的端到端学习模型通过中间的散焦图估计和置换不变网络将深度和全焦距估计从焦点堆栈中结合起来,从而更好地从合成训练到真实照片的泛化。0通过依赖基于比较的深度线索(例如运动深度[34,19]或立体视觉[37,29])来实现更好的泛化。对于深度估计来说,一个未充分探索的线索是散焦,因为物体的深度决定了它在图像中的清晰度。从焦点堆栈中直接回归深度的最近深度学习方法以数据驱动的方式解决了这些挑战[12]。它们的主要缺点是它们不考虑底层的图像形成过程,因此,这些方法也容易过度拟合到特定的训练条件。实现泛化的另一个挑战是缺乏高质量和多样化的训练集。收集具有注册深度图的焦点堆栈图像是一项非常耗时的任务,更不用说从硬件解决方案(如飞行时间传感器)获得的不完美深度地面真实数据[12]。可以依赖于用于逆向图形任务的合成数据[31, 17, 18,9],但在解决领域差距问题之前不能这样做。Input 1Input 2Input NOutput 1Output 2Output NSkip ConnectionsConvolution BlocksGlobal PoolsFocal StackDefocus maps10720图2.DefocusNet架构。所提出的架构以任意大小的焦点堆栈作为输入,并估计相应的散焦图。网络使用自编码器作为基础,并在所有分支之间共享权重。全局池化被用作分离分支之间的通信工具。0合成图像和真实图像之间的差异[25]。散焦模糊是一个被很好建模的物理效应,因此在现实中很容易模拟。我们工作的主要见解是,虽然外观特征在合成和真实图像之间差异很大,但模糊并不会。这种域不变的测量有效地帮助弥合合成和真实数据之间的领域差距。因此,我们提出利用散焦在数据驱动模型中预测焦点堆栈的深度。通过将深度预测分为两个步骤,并使用散焦图作为中间表示,我们可以训练一个神经网络,它可以在不进行微调的情况下从合成到真实数据进行泛化。此外,我们展示了我们的架构适用于任意数量的输入图像,并提出了对动态焦点堆栈的扩展[15],其中存在相机运动或场景运动。我们的贡献有三个方面:0•我们提出使用散焦模糊作为中间监督,训练数据驱动模型从焦点堆栈中预测深度。我们展示了这对于从合成到真实图像的泛化是关键的,并展示了最先进的结果。0•我们生成了一个新的合成数据集,其中包含多个对象、纹理和具有深度、模糊和全焦点信息的不同照明。0•我们提出了适用于静态场景的架构,可以处理不同数量的输入。在动态焦点堆栈中,我们的模型可以处理堆栈内的场景或相机运动。我们在全面的消融研究中展示了它们的鲁棒性。02. 相关工作0从散焦中估计深度。深度估计是一个热门话题,正在从多个方向进行探索。绝大多数工作都集中在单目或立体深度估计上。0单目[9, 7, 36]或立体[37,29]深度估计。使用散焦信息进行深度预测较少见。一些基于优化的方法[33,32]从焦点堆栈中估计深度,而[15]将这些方法扩展到视频中。这些是适用于各种场景的通用方法,尽管它们在无纹理表面上存在困难,并产生令人信服的深度测量结果,但它们非常耗时并需要仔细的校准。这些方法需要几分钟来估计图像区域的清晰度并组合深度图像。最近的方法利用深度学习将这个过程接近实时。[12]使用卷积神经网络(CNNs)直接从输入的焦点堆栈估计深度,而不考虑底层的图像形成过程。这种方法除非训练和测试条件非常相似,否则很可能存在泛化问题。此外,它只能接受预定义数量的输入,并且不包含任何距离测量。0其他工作[2, 30,5]隐式地使用了散焦信息进行单目深度估计。[30]提出使用散焦作为损失函数的一部分,从全焦点图像估计深度。然而,他们仍然使用全焦点的单目图像作为输入,因此在推理过程中没有利用散焦模糊。类似地,[11]使用可微分的损失层,以焦点作为深度预测的线索。[2]使用CNN对图像去模糊和深度估计进行单一的模糊图像。[5]使用模糊图像进行直接深度估计。他们的研究结果表明,训练散焦图像比训练清晰的焦点图像可以得到更好的深度测量结果。这些方法使用单一图像作为输入,因此无法利用焦点堆栈中存在的更丰富的焦点信息。因此,在预测野外深度时,即对于与训练时使用的场景和/或相机完全不同的场景和/或相机,它们面临困难。相比之下,我们提出将数据驱动方法的能力与图像形成过程的知识相结合,以便深度估计可以依靠焦点堆栈中图像之间的焦点差异来计算。0从合成到真实。有几项先前的研究展示了从合成到真实数据的领域泛化。根据[31],它们可以分为三种主要策略:领域适应、逼真渲染和领域随机化。领域适应方法通常将一个领域的样本转换为另一个领域的样本[28,38],或者在合成数据上训练后,在真实数据上进行模型微调[10]。一些研究在逼真合成训练和真实测试集上展示了令人信服的结果[17,18]。然而,逼真性需要大量时间进行基于物理的渲染(PBR)计算和整个环境的手工建模。领域随机化类似于数据增强,它引入了各种随机属性,使模型对小的变化具有不变性。S210730通过引入随机属性来改变合成数据的外观和强制网络专注于图像的主要特征。它需要在假设随机环境的同时能够融入真实数据,例如背景。主要问题是选择属性随机化的范围和类型。几项研究在这个方向上取得了有希望的结果[31,1]。我们相信还有第四种领域泛化策略,即领域不变性,它涉及在两个领域中对特征进行训练的模型。一个很好的例子是立体深度估计。在合成数据上训练的模型[9]非常成功,因为它们关注的是两个输入图像之间的差异,而不是物体的外观和形状。这种方法也可以嵌入到网络架构中[1],其中提出了一种在图像转换上下文中的置换不变架构。它可以将信息组合在一个随机无序的输入图像数量上。在我们的工作中,我们依赖于一个领域不变的线索,即模糊,作为连接合成和真实领域的主要策略。此外,我们还使用领域随机化和在一定程度上使用逼真渲染方法。03.通过模糊学习深度0在本节中,我们详细介绍了使用模糊线索进行深度估计的模型。我们展示了将问题分解为模糊估计和后续深度估计对于消除合成数据和真实数据之间的领域差距的重要性。我们在仅使用合成数据训练模型的情况下,在真实数据上展示了最先进的结果。03.1.方法概述0我们在图1中展示了我们方法的示意图,展示了我们模型的三个主要元素:DefocusNet。我们首先使用DefocusNet(第3.2节)估计一个模糊图,而不是直接从一组RGB图像中估计深度。具体来说,我们估计每个像素的模糊程度。DepthNet。这个模糊图被用作DepthNet的输入,用于估计场景的深度图(第3.3节)。为了获得更清晰和更好结构的深度输出,我们在DefocusNet的编码器和DepthNet的解码器之间使用了跳跃连接。DefocusNet和DepthNet都是联合训练的,并以端到端的方式进行训练。AiFNet。虽然获得深度图是我们的最终目标,但图像后处理应用,例如重新聚焦,还需要一个全焦点(AiF)图像,除了预测的深度图之外。我们可以使用焦点堆栈和模糊图轻松预测全焦点图像,因此,我们可以通过添加一个名为AiFNet的头来扩展我们的架构,以预测全焦点图像(第3.4节)。在接下来的几节中,我们将介绍与深度和模糊相关的必要概念,并详细描述这三个模块。0混淆圆0S 1 f0A0距离(米)0有效0图3.左侧为镜头示意图,右侧为混淆圆图。图中每条线对应不同的焦距。03.2.模糊(模糊)估计0焦深圈。为了计算焦深图,我们首先需要建立一个衡量清晰度的指标。当光源通过相机镜头时,光线会汇聚形成一个焦点,该焦点位于相机的图像平面上。焦深圈(CoC)测量焦点的直径。对于相机前方的给定点,如果从该点流出的所有光线汇聚到图像平面上的一个位置,则该点将具有可能的最清晰投影(图3)。因此,CoC直接反映了清晰度的程度,等效地反映了焦深的程度。可以使用以下方程计算CoC:0c = |S2 - S1|0S20f20N(S1 - f),(1)0其中f是镜头的焦距,S1是焦距,S2是镜头到物体的距离,N是光圈数。光圈数是焦距与有效光圈直径的比值,实质上表示光圈大小。图3显示了一个镜头系统的示意图。我们认为可接受的CoC值范围取决于图像格式和相机模型,并且通常是基于视觉敏锐度来决定的。这个范围被称为景深(DoF)。图3右侧显示了CoC值随物体距离S2增加而变化的图表。每条线代表不同的焦距S1的值。观察到的变化线越多,估计深度就越容易。一旦值超过最小直径,CoC的模糊性随着距离的增加而增加。在某个深度之后,CoC不再变化,表明我们不能再依靠焦深线索来计算物体的深度。因此,焦深信息在短距离上是有用的,这取决于相机的属性。在本文中,我们将焦深(模糊)和CoC互换使用。实际上,为了构建焦深图,我们计算图像中所有像素的CoC值,剪裁所有值在选择的上限内,并将所有值归一化到0到1的范围内(从清晰到模糊)。L = λa�∥Idef − Edef∥2 + λb�∥Idep − Edep∥210740从焦深限制来看,这个问题在设计上天然存在限制,因为从焦深方法在短距离上效果更好。尽管如此,常见的从立体视觉方法(以及传统的具有独立红外投影仪和红外相机的深度相机)在短距离上不太有效,因为部分场景对两个相机都不可见。从焦深可以被看作是短距离的解决方案。在我们的相机设置中,我们可以使用焦深来预测深度的有效范围为2米,如图3所示。数据驱动的焦深估计。我们的工作的一个关键设计选择是使用焦深估计作为中间步骤或监督信号,从焦点堆栈中估计深度。这使我们能够获得从合成图像到真实图像的模型泛化能力。因此,我们首先训练一个名为DefocusNet的模型,从一组图像中估计焦深图,如图4所示。图中展示了我们合成数据集中的RGB图像及其对应的焦深图,其中像素值表示它们的清晰度水平。焦点堆栈由一个自动编码器卷积神经网络(CNN)处理,如图2所示。编码器中包含焦点堆栈中每个图像的一个分支,所有分支共享CNN的权重。我们的目标是鼓励网络在每个分支提取的特征之间进行比较,以更好地确定焦点和非焦点区域。我们通过CNN的每一层进行这种比较,受[1]的启发。逐层全局池化。网络计算每个输入图像的卷积层输出,然后通过对称操作对所有输出特征图进行池化,即计算每个特征图单元格在所有分支中的最大值。全局池化特征或全局特征图然后与来自每个分支的局部特征图进行连接。然后将组合输出传递给下一个卷积层,并重复该过程。这样,每个CNN分支将包含局部特征和全局特征。直观地说,这使得网络能够将局部特征与全局池化特征进行比较,通过比较找出图像的最清晰区域,并将其传递给CNN的下一层。使用此逐层池化跨输入的主要优点是我们的模型可以处理任意数量的图像作为输入,使我们的模型非常灵活。CNN非常浅,只有4层。由于清晰度是一种局部属性,我们不需要一个大的感受野。解码器将估计的焦点信息从边缘传播到对象的中心,在那里可能没有足够的纹理来正确估计清晰度。我们还使用跳跃连接(通过连接)来正确恢复回归的焦深图中的边界。全局池化仅在编码器中使用,而解码器为每个输出都有单独的分支。主要思想是让编码器学习检测0通过比较锐利区域,解码器可以独立地回归出每个输入的散焦图。我们使用L2损失训练DefocusNet,无需额外的正则化。如图1所示,一旦估计出散焦,我们就可以将其用作估计深度的输入。03.3. 深度估计。0深度图可以通过使用焦点堆栈中每个图像的相机捕获设置来构建。然而,我们的网络架构在设计上不知道图像的顺序。因此,我们还将焦点距离图与先前预测的散焦图一起作为输入传递给DepthNet,我们的用于深度回归的神经网络。焦点距离图是单通道和单值图像,每个像素的值都是焦点距离的值。我们从数据集渲染脚本(第4节)中获取焦点距离,然后将其重新缩放到0到1的范围内。对于真实图像,如果我们知道焦点堆栈中的顺序,我们可以按顺序分配焦点距离,并根据图像数量计算增量,范围在0到1之间。我们还可以从EXIF属性(用于拍摄图像的相机设置)中提取焦点距离,并将值重新缩放到所需范围内。虽然我们的架构需要这个额外的输入,但它的成本很小,不影响泛化,并且允许我们有任意数量的输入图像。DepthNet的网络架构与DefocusNet类似,只是在解码器中还有一个单一分支,以获得一个深度图作为输出。此外,在DepthNet解码器中,我们使用来自DefocusNet编码器的跳跃连接,以结合来自RGB输入图像的信息。这有助于特别改善物体边界周围的深度预测。在训练过程中,我们使用估计深度和真实深度之间的L2损失。完整的损失函数如下所示:0其中I是真实图像,E是估计图像,用于深度和散焦,λa,b是权重系数。动态堆栈。如前面所述,全局池化跨输入的目标是鼓励网络比较不同的输入分支。然而,在使用移动相机或静态相机但移动场景拍摄的焦点堆栈中,每个图像部分将包含截然不同的信息,跨输入的比较将无法提供有关散焦的信息。为了处理这种情况,我们建议使用递归自编码器[6]来代替全局池化自编码器进行DepthNet和DefocusNet。这样的递归自编码器将一个分支的局部特征按顺序连接到下一个分支中,同时考虑顺序。这使我们能够逐步融合变化,包括场景中的变化,并隐式地比较其中的散焦量。然而,这种循环架构也有其缺点:(i)它的记忆能力有限[3],(ii)由于架构的限制,焦点堆栈上的图像数量和顺序是固定的。因此,我们只在处理动态堆栈时使用它。更多架构细节请参见补充材料。10750考虑到顺序,这使我们能够逐渐融合变化,包括场景中的变化,并隐式地比较其中的散焦量。然而,这种循环架构也有其缺点:(i)它的记忆能力有限[3],(ii)由于架构的限制,焦点堆栈上的图像数量和顺序是固定的。因此,我们只在处理动态堆栈时使用它。更多架构细节请参见补充材料。03.4. 全焦点估计0在我们的工作中,我们使用一堆不同焦点的图像来估计深度图。然而,对于像重点调整这样的图像后处理应用,我们还需要一个全焦点(AiF)图像,其中所有像素都适当清晰。我们可以通过根据它们的清晰度组合不同的图像部分来估计这样的图像。因此,我们建议在我们的网络中加入这样的估计,重复使用焦点堆栈处理以及散焦图。AiF图像由一个额外的CNN头部AiFNet计算得出。由于AiF预测不是我们工作的主要重点,模型描述和结果包含在补充材料中。04. 合成训练数据0我们仅使用合成数据来训练我们的完整模型,以从焦点堆栈中预测深度。正如我们将在实验部分中展示的那样,我们的网络将能够推广到在真实图像上预测深度,而无需在真实数据上对我们的模型进行微调。我们使用Blender [4]Cycles渲染器创建了我们的合成数据集,打开了反射功能,但没有阴影。数据集中显示了图4中的示例。为了训练,我们总共渲染了1000个场景,每个场景包含5个RGB图像、5个散焦图、1个深度图像和1个全焦图像(使用大光圈拍摄)。每个散焦图都是根据深度和相机参数使用公式(1)计算得出的。每个图像的分辨率为256×256。数据集特征。我们从一个包含400个对象的模型库中获取CAD3D对象[40],并在每个场景中放置20到30个对象,所有对象都是随机选择的。每个场景中的对象被分配一个随机的大小、位置和旋转,以获得随机的空间布局。位置限制在散焦的有效范围(第3.2节)和相机视野之内。一些对象可能没有完全出现在相机视野中,或者可能被其他对象遮挡。我们故意选择了一个非现实的场景组合,因为它的简单性便于建模,但主要是为了避免过度拟合空间线索,而是强调散焦线索。每个对象被分配一个随机的材质。在渲染之前,我们随机调整漫反射和镜面成分的色调,选择在产生逼真外观的范围内的光泽度和粗糙度。所有材质0图4.左侧是随机场景生成的示意图。右侧是合成数据集中的示例(来自焦点堆栈的RGB图像和散焦图)。散焦图中较清晰的区域较暗。0使用基于物理的渲染(PBR)着色器。对于照明,我们使用了20个不同的HDR环境贴图(EM),包括室内和室外。我们使用固定的相机参数和固定的焦距距离来渲染所有场景。光圈设置为1,以获得浅景深,从而使得模糊的深度变化更加明显。动态堆栈。为了处理相机或场景的运动,我们额外创建了包含4张图像的动态堆栈,其中每个图像的物体位置都会改变。我们在序列渲染开始时为每个物体分配一个随机的平移和旋转方向和大小。更多细节请参见补充材料。05. 评估0我们在多样化的合成场景上进行了全面的消融研究。我们进一步展示了在真实数据集上的深度预测的定性和定量结果,以及在具有合成模糊的真实图像上的深度预测结果。我们通过仅在合成数据上进行训练,并在具有合成模糊的真实图像上获得最先进的结果来展示泛化能力。我们在补充材料中提供了关于真实/合成图像和全焦图像预测的其他结果。05.1. 实现细节0该方法在PyTorch[24]中实现。我们使用Adam优化算法[16]训练模型,学习率为0.0001。我们分配 λ d = 0.02 和 λa,b =1。我们在补充材料中提供了所有网络架构的详细描述。运行时性能。在Nvidia TitanX上,我们的网络的前向传递在具有10张图像的焦点堆栈上需要70毫秒,在具有20张图像的焦点堆栈上需要150毫秒。[33]报告的时间为20分钟,[32]为6.7秒。05.2. 指标和数据集0评估指标。对于深度比较,我们在表3中使用均方根误差(RMSE)和均方误差(MSE)在所有其他表格中进行比较以与现有方法进行比较。10760在所有其他表格中使用均方误差(MSE)以进行比较,以与现有方法进行比较。合成数据集。合成测试数据与第4节中的训练数据以相同的方式渲染,但我们使用了一组新的10个环境贴图、20个新纹理和300个新对象。我们渲染了4个测试集来评估泛化能力:(i)形状测试。第一个测试集仅包含新对象,而环境和纹理与训练时使用的相同。这是对形状泛化的测试。(ii)外观测试。第二个测试集包含新对象、纹理和环境贴图,以测试外观泛化。(iii)宽景深测试。第三个测试与第二个测试相同,但相机光圈较小(光圈从3到10),以显示我们依赖散焦线索。较大的景深会对模糊估计产生负面影响,因为模糊信息较少。(iv)中景深测试。第四个测试与第二个测试选项相同,但相机光圈略小(我们随机选择一个光圈从1到3,而训练集是在光圈为1的情况下训练的),以测试对稍微不同的相机设置的泛化能力。真实数据集。几乎没有提供焦点堆栈的数据集。我们使用这些数据集进行定量和定性实验。(i)DDFF12-Scene基准[12]。使用标准相机获取焦点堆栈是一项耗时的任务。为了加快这个过程,[12]使用可以捕捉4D光场的全像相机。通过单个光场,我们可以生成焦点堆栈和全焦图像。该数据集包含1200个焦点堆栈,每个焦点堆栈包含10张图像。由于记录的场景类型:许多平坦和无纹理的表面,如墙壁和桌子,以及其他无纹理的物体,如显示器、门和柜子,该数据集具有挑战性。此外,它们的拍摄设置对于散焦模糊来说不是最佳的,它们使用大景深拍摄并捕捉远距离的场景。我们使用与[12]相同的训练/测试划分。(ii)MobileDepth[33]。该数据集包含13个场景,每个场景的图像数量在13到32之间不等。所有图像都是用手机拍摄的,并使用光流进行对齐。由于没有足够的图像来训练深度学习方法,我们只展示了我们的模型仅在合成训练集上训练的结果。合成模糊的真实数据集。由于缺乏用于定量实验的焦点堆栈数据集,我们建议使用常见的室内数据集,并从RGB图像和地面真实深度创建焦点堆栈。我们按照[11]的方法应用合成模糊。(i)NYU Depth Dataset v2[23]。该数据集包含1449对对齐的RGB和深度帧。我们使用常规的测试和训练集划分。(ii)7-Scenes[27]。该数据集包含约43000个0由于数据集的尺寸较大,我们从所有7个序列中随机抽取了总共890张图像进行测试。(iii)Middlebury立体数据集[26]。该数据集包含46张立体RGB对和视差帧图像。根据提供的相机标定参数,我们计算了对应于右侧相机的RGB图像的深度图。(iv) SUNRGB-D[39]。该数据集是NYU深度v2[23]、BerkeleyB3DO[13]和SUN3D[35]数据集的组合,具有改进的深度图。它包含了10000张对齐的RGB和深度帧图像。同样,我们从中随机抽取了总共490张图像进行测试。05.3. 合成数据集的消融研究0我们对我们的方法在4种不同的合成测试模式下对新环境和相机设置的泛化能力进行了定量分析。表1显示了深度估计任务中不同模型之间的估计结果。我们在下面解释和比较所有模型。在表中,“All”表示所有焦点堆栈的 N张图像都用于预测,而“Random”表示使用随机选择的图像数量 r ≤ N。架构选择。我们考虑两种架构类型:(i)FixedAE,我们的基线模型,它是一个没有全局池化层的单个自动编码器,训练时使用固定大小的焦点堆栈输入,包含N 张图像;(ii)PoolAE,带有全局池化层的自动编码器,可以接受任意数量的图像作为输入。在表1中,前两行直接比较了这两种模型。FixedAE是在特定数量的输入上训练的,只有在相同数量的图像上测试时才显示出良好的性能(列All)。相比之下,PoolAE在列Random上表现出泛化能力,输入图像的数量不同但准确性保持不变。通过这些测试,我们可以总结出PoolAE架构更加稳健,比将所有输入堆叠在单个自动编码器中更好地泛化,并且具有处理任意数量输入的附加价值,无需重新训练模型。是否需要散焦?我们比较了直接从输入RGB图像估计深度的模型和我们提出的方法,即首先估计散焦图,然后再估计深度。在表1中,使用我们的PoolAE架构,相对于直接估计(第2行),通过散焦图进行深度估计(第3行)获得了更好的结果。在宽深度测试中,使用散焦图的PoolAE(第3行)由于可依赖的散焦模糊较少而表现较差。这证实了我们的模型将散焦作为主要信号来估计深度。如果由于过宽的深度范围而导致该信号不存在,性能如预期般下降。总的来说,我们可以明确得出结论,使用散焦信息对深度估计是有益的,并且是一种允许我们泛化到各种不同的物体形状和外观的线索。Seq 2Seq 1Suwajanakorn et al.OursSuwajanakorn et al.OursAiFDepthSuwajanakorn et al.Ours10770形状 外观 宽深度 中深度 模型 全部 随机 全部 随机 全部 随机 全部 随机01. FS → 深度 (FixedAE) 0.014 0.097 0.012 0.095 0.103 0.111 0.083 0.112 2. FS → 深度 (PoolAE) 0.031 0.0360.034 0.039 0.049 0.050 0.047 0.048 3. FS → 散焦 → 深度 (PoolAE) 0.008 0.013 0.007 0.012 0.042 0.078 0.0140.0300表1.使用焦点堆栈(FS)作为输入的深度估计模型在合成数据测试集上的结果。第1行。使用固定大小的自动编码器进行直接深度预测。第2行。使用提出的带有全局池化的自动编码器进行直接深度预测。第3行。使用预测的散焦图作为监督信号的深度预测方法。0模型 形状 外观 宽深度 中深度01. RGB → 深度 0.032 0.031 0.134 0.10802. AiF → 深度 0.049 0.050 0.050 0.0540表2.仅使用一张图像作为输入的合成测试集上的深度估计结果,可以是焦点堆栈中的任意一张图像(第1行),或者是全焦深度图像(第2行)。0焦点堆叠0虚焦图0深度图0输入1 输入2 输入3 输入40图5.我们在真实焦点堆叠上的顺序估计结果。第一行图像是我们流程的输入。其他水平序列显示了我们对越来越多输入帧的输出。因此,左侧的结果仅使用第一张输入图像,右侧的结果使用所有四个输入。请注意,添加更多输入可以快速改善深度。0输入10输入2 输入3 输入4 估计深度0图6. 我们在动态序列上的真实焦点堆叠的估计结果。0单张图像与焦点堆叠。我们还在单张图像输入设置上训练了我们的方法。预测深度时,这样的网络预计会表现更差,因为它无法依赖焦点堆叠中的图像模糊比较。结果在表2的第一行中呈现。我们清楚地看到深度预测的误差比使用焦点堆叠的所有模型(表1)都要大得多。0图7. 在MobileDepth数据集上的定性结果。我们将我们的方法与基于模型的方法[33]进行比较。0全焦点与非焦点。非焦点图像提供了更多与深度相关的信息,如[5]所示。我们还在表2中进行了类似的测试,将其与在全焦点图像上训练的模型进行比较。从Shape和Appearance测试中可以看出,非焦点提供了更多的深度信息,即使没有明确计算非焦点图。第1行的模型在两个相机光圈测试中也表现较差,因为它们都具有较宽的景深。较宽的景深具有较少的焦点模糊,并且不会给模型提供任何信息。第2行的模型不依赖于焦点模糊,因此在所有测试中显示出类似的结果。05.4. 在真实数据上的评估0合成模糊的NYU、7个场景、Middlebury和SUNRGB-D。在本节中,我们展示了跨数据集和领域泛化任务的定量结果。由于虚焦模糊只对近距离有效,我们在每个数据集的4个不同版本上进行实验:(i)常规,没有修改,(ii)小于2米,只考虑2米以内的深度,因为这是我们方法的工作范围,(iii)归一化版本,将深度从0到10米重新缩放到0到1米的范围,以及(iv)45度,将图像旋转45度的归一化版本。将输入图像旋转45度的最后一个测试是一种简单而有效的方法,可以显示当前数据集存在摄影偏差,导致在训练设置上过拟合。我们在表3中与最先进的单张图像深度估计模型VNL[36]进行比较。我们在常规合成数据集上训练了我们的方法“Ours”和其归一化版本“Ours*”。我们还展示了在NYU数据集上微调的版本。由于数据集的差异,我们使用中位数来重新缩放估计的VNL [36]✓0.0400.1000.3950.2060.0330.0500.3280.2440.0640.0710.6450.4000.0370.0680.3700.289DDFF [12]9.7 * 10-4VDFF [22]73.0 * 10-410780模型训练数据 NYU 7个场景 Middlebury SUN RGB-D0合成 NYU 归一化* 45度* 常规 < 2m 归一化* 45度* 常规 < 2m 归一化* 45度* 常规 < 2m 归一化* 45度* 常规 < 2m0我们的 � - - 1.054 0.272 - - 0.504 0.282 - - 0.803 0.384 - - 0.721 0.259 我们的* � 0.056 0.073 - - 0.030 0.037 - - 0.052 0.063 - - 0.037 0.052 - -0我们的 � � - - 0.493 0.181 - - 0.277 0.189 - - 0.544 0.351 - - 0.360 0.196 我们的* � � 0.013 0.111 - - 0.010 0.045 - - 0.025 0.079 - - 0.014 0.073 - -0表3. 常规-没有修改,<2m-与常规相同,但仅计算深度小于2米的结果,归一化版本-将深度重新缩放为0到1的范围。所有带*的模型都是针对归一化数据集进行训练的。45度设置是将图像旋转45度的版本。我们的模型首先在合成数据集上进行训练,然后在NYU数据集上进行测试,有无微调。所有测试显示RMSE值。0模型MSE0FS → 深度 (F) 11.7 * 10 -40FS → 深度 (P) 13.2 * 10 -40FS → 虚焦 → 深度 (P) 9.1 * 10 -40表4. DDFF-12上的深度估计结果。0模型MSE0FS → 深度 0.184 FS → 虚焦 →深度 0.0450表5. 移动深度数据集上的深度估计结果。0为了使所有模型的深度与[8]中的地面真实深度匹配,我们在NYU数据集上训练了VNL,并且在该数据集上表现良好。然而,在其他数据集上,与使用虚焦线索的方法相比,其性能下降。我们的微调版本Ours(Synth.+NYU)和Ours*(Synth.+NYU)在所有测试中表现最佳,但在45度测试中失败。纯合成训练的模型显示出与仅使用真实数据训练的方法相似或更好的性能,并且在45度实验的情况下更好地推广。这清楚地显示了真实数据集的偏见,不允许网络推广到任何场景配置。我们使用包含4张图像的焦点堆栈,这在某种程度上对于单张图像的方法来说是不公平的。尽管如此,捕获焦点堆栈非常简单:(i)它所需的时间略长于单张拍摄,(ii)我们不需要额外的相机硬件,(iii)我们不需要移动相机以满足立体要求。在深度预测准确性方面的好处几乎没有成本。DDFF12-Scene.我们将我们的方法与基于CNN的方法[12]和经典方法(VDFF)[22]进行了比较。如第4节所解释的,由于其宽深度范围,该数据集对于Defocus-Net来说并不理想。我们的合成训练模型一开始表现不佳,但在提供的训练数据上微调后,我们能够实现最先进的结果,如表4所示。正如我们所看到的,具有DefocusNet的PoolAE网络表现更好。我们得出结论,我们的方法在类似类型的真实图像中具有良好的泛化能力,并且能够处理无纹理表面。0移动深度来自焦点。我们将我们的方法与传统方法[33]进行比较,这些方法将焦点堆栈图像作为输入。该数据集没有地面真实深度,但作者提供了他们的深度估计结果。我们将我们的模型与他们的深度进行比较,以测试我们方法的泛化能力。表5显示,直接方法无法从合成图像推广到真实图像,而我们的方法可以。我们还在图7和图5中展示了定性结果。请注意,我们的模型仅在合成数据上进行训练,并未在该数据集上进行微调。此外,我们在图5中展示了随着输入图像数量的增加逐渐改善深度估计的视觉结果。我们可以看到,由于我们的池化架构,它逐渐改善了深度估计。我们的工作有几个方面有利于更好地泛化:(i)我们使用缩小的图像,例如Mobile Depth的原始图像为360 x640,这使得大多数传统相机的虚焦模糊细节相似;(ii)该方法基于不同焦点输入之间的比较,而不是分析模糊形状/大小;(iii)[1]表明,通过合成噪声中的足够随机性,可以实现对各种真实噪声的不变性。动态堆栈。由于我们缺乏显示我们模型在动态堆栈上的真实测试数据,我们实现了一个智能手机应用程序来捕获焦点堆栈。图6展示了在移动相机记录的真实数据上的循环方法的定性结果。请注意,这些模型是使用合成移动序列进行训练的。我们在补充材料中展示了所有数据集的更多定性结果。06. 结论0我们提出了一种利用焦点堆栈中的虚焦线索作为监督信号来估计深度的数据驱动方法。我们的关键设计决策是使用域不变的虚焦信息作为深度预测的监督。这使得我们的模型能够从合成图像推广到真实图像。我们的置换不变网络使我们能够正确估计任何焦点堆栈大小的深度,并且我们进一步展示了处理具有移动相机或移动场景的堆栈的简单扩展。致谢。本研究得到了洪堡基金会的SofjaKovalevskaja奖励的资助。[1] Miika Aittala and Fr´edo Durand. Burst image deblurring us-ing permutation invariant convolutional neural networks. InComputer Vision - ECCV 2018 - 15th European Conference,Munich, Germany, September 8-14, 2018, Proceedings, PartVIII, pages 748–764, 2018.[2] Saeed Anwar, Zeeshan Hayder, and Fatih Murat Porikli.Depth estimation and blur removal from a single out-of-focus image. In BMVC, 2017.[3] Yoshua Bengio, Patrice Y. Simard, and Paolo Frasconi.Learning long-term dependencies with gradient descent isdifficult. IEEE Trans. Neural Networks, 5(2):157–166, 1994.[4] Blender Foundation. Blender - a 3D modelling and render-ing package, 2018.[5] Marcela Carvalho, Bertrand Le Saux, Pauline Trouv´e-Peloux, Andr´es Almansa, and Fr´ed´eric Champagnat. On re-gression losses for deep depth estimation. ICIP, 2018.[6] Chakravarty R. Alla Chaitanya,An
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 多功能HTML网站模板:手机电脑适配与前端源码
- echarts实战:构建多组与堆叠条形图可视化模板
- openEuler 22.03 LTS专用openssh rpm包安装指南
- H992响应式前端网页模板源码包
- Golang标准库深度解析与实践方案
- C语言版本gRPC框架支持多语言开发教程
- H397响应式前端网站模板源码下载
- 资产配置方案:优化资源与风险管理的关键计划
- PHP宾馆管理系统(毕设)完整项目源码下载
- 中小企业电子发票应用与管理解决方案
- 多设备自适应网页源码模板下载
- 移动端H5模板源码,自适应响应式网页设计
- 探索轻量级可定制软件框架及其Http服务器特性
- Python网站爬虫代码资源压缩包
- iOS App唯一标识符获取方案的策略与实施
- 百度地图SDK2.7开发的找厕所应用源代码分享
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功