FDCT: Fast Depth Completion for Transparent Objects RAL 2023
摘要
深度补全对于许多机器人任务(如自动驾驶、三维重建和操作)至关重要。尽管取得了重大进展,但现有的方法仍然是计算密集型的,往往不能满足低功耗机器人平台的实时要求。此外,大多数方法是为不透明对象设计的,并且由于反射和折射的特殊特性而难以与透明物体作斗争。为了应对这些挑战,我们提出了一种用于透明对象 (FDCT) 的快速深度补全框架,该框架也有利于诸如对象姿态估计之类的下游任务。为了利用局部信息并避免将其与全局信息集成时的过拟合问题,我们设计了一种新的融合分支和快捷方式来利用低级特征和损失函数来抑制过拟合。这导致了一个准确和用户友好的深度校正框架,它可以仅从RGB-D图像中恢复密集深度估计。大量实验表明,FDCT 可以以比最先进的方法更高的精度运行大约 70 FPS。我们还证明了FDCT可以改善物体抓取任务中的位姿估计。源代码可在 https://github.com/Nonmy/FDCT 获得
I. INTRODUCTION
由于其在自动驾驶[1]-[3]和操作[4]等各种机器人任务中的重要作用,已受到越来越多的关注。它旨在从RGB-D相机[5]或LiDAR[6]等深度传感器(如RGB-D相机[5]或LiDAR[6])预测每个像素的深度值。已经证明,由于其丰富的三维信息[7]-[9],准确的深度补全能够显著提高物体抓取等下游任务的性能。尽管取得了这些进展,但许多现有的方法仍然难以处理日常生活中经常遇到的透明物体和现代工业。这是因为透明物体是折射和反射的,这可能会导致光学传感器产生不准确的深度测量[10]。
透明物体深度补全领域仍未得到相对探索,目前的方法要么难以很好地泛化,要么需要大量的计算资源,可能不适合低功率平台。例如,ClearGrasp[7]使用三个网络来预测表面法线、边缘和透明掩码,并通过全局优化估计深度值。它大大优于单目深度估计方法,但全局优化计算量大,需要训练有素的网络。Zhu等人[11]介绍了一种基于体素图的局部隐式深度预测和深度细化方法,显著提高了进展。然而,该方法在对新环境的泛化方面存在局限性[9]。最近,Fang 等人。 [9] 提出了一种基于编码器-解码器 U-Net 的架构,该架构实现了该领域最先进的性能。然而,该方法存在一定的局限性,如直接将原始深度图像连接到深度特征,使网络对深度噪声敏感。此外,他们的网络倾向于预测边缘模糊的深度图像。
低级特征是指基本的视觉元素,如边缘、角度等。随着网络的加深,感受野增加,特征从局部过渡到全局,从低级过渡到高级。研究表明,低级特征在深度补全[12]-[14]中起着重要作用。然而,在现有的深度补全网络中结合这些特征会导致其他问题,例如对传感器噪声和光照条件的敏感性增加,以及效率和准确性之间的权衡[7]、[9]。当需要处理透明物体时,这个问题变得更加严重。为了解决这些问题,一些方法[5]、[7]、[8]从原始深度图像并使用分离的子网络来预测这些特征。然而,在推断结果时,这可能会导致额外的不准确。此外,在训练过程中使用过多的局部特征会导致过拟合,这会对模型的泛化能力产生负面影响[15]。
为了更好地提取这些特征,同时保持较低的计算复杂度,我们提出了一种用于透明对象 (FDCT) 的快速深度补全架构。首先,我们通过消除分离的预测和非必要的模块来简化架构以实现更快的推理。我们采用基于快捷融合模块和跨层快捷方式的新融合分支,以更有效地利用低级特征。为了减少原始深度和特征之间的语义差异,我们在向网络提供完整的原始深度图像时引入了域适应操作。同时,我们使用基于最大池化的下采样方法来加速网络,同时捕获全局特征。最后,我们设计了一种新的损失函数来避免过度拟合和融合解码器中的局部和全局特征。总之,我们做出了以下贡献:
1)我们提出了一种快速架构,用于透明对象深度补全,称为 FDCT。它只需要原始的RGBD图像,可以帮助下游任务,如物体抓取和三维重建。
2)为了利用低级特征,我们引入了一个利用快捷方式融合模块和跨层快捷方式的融合分支。我们还开发了一种新的损失函数,以避免在局部和全局特征融合过程中过度拟合,从而实现准确的深度估计。
3) FDCT 在使用更少的参数并以大约 70 FPS 的速度运行的同时,比最先进的深度补全方法至少高出 16%。实验结果表明,FDCT有利于位姿估计和抓取任务。
II.相关工作。
A.透明对象深度补全
深度补全是计算机视觉中长期存在的问题。大量的工作[16],[17]直接从单个RGB图像推断深度。然而,这些方法很难用于透明物体。在之前的工作中,基于 RGB-D 的方法被证明大大优于单目方法。Zhang等人[5]首先使用基于深度学习的方法从RGB-D图像进行深度补全。他们使用神经网络分别从RGB图像中预测表面法线和遮挡边界,然后用原始深度信息正则化的全局线性优化求解输出深度。Huang等人[14]和Tang等人[8]将全局优化部分替换为神经网络,从而得到一个端到端网络。
第一项专注于透明物体深度补全的工作是ClearGrasp[7],它使用透明掩码来修改原始深度图像。他们还构建了第一个透明对象数据集,用于深度补全和姿态估计。DepthGrasp [8] 将全局优化部分替换为对抗神经网络,并引入光谱残差块进行稳定性。这两种方法都计算量大,需要正常信息,获取不方便,这使得它们对于实时应用不切实际。局部隐式[11]在射线-体素对上构建局部隐式神经表示,并迭代地细化深度。它还引入了一个大规模的合成数据集 Omniverse。他们的工作显着提高了深度补全的速度。TranspareNet[18]结合了深度补全和点云补全,利用失真深度构建点云,并将其补全为深度的粗略表示。
最近,Fang等人[9]提出了一种用于透明物体(DFNet)的大规模真实数据集TrascCG和深度完井网络,它采用U-Net架构,使用一个名为DenseBlock[19]的轻量级骨干,并在较小的内存使用和模型大小下实现SOTA性能。
B.基于透明物体rgbd的姿态估计方法
专注于不透明刚性物体6自由度姿态估计由于深度值不准确,大多无法透明物体。早期专注于透明物体的工作使用传统的特征来估计姿态[20]-[22]。然而,低级传统特征不如高级深度特征具有辨别力。基于rgb的方法KeyPose[23]从立体RGB图像中捕获和标记3D关键点,并从这些关键点估计姿态。GhostPose*[24]通过从RGB图像中定义四个虚拟3D关键点并基于三角剖分重建关键点的3D坐标,进一步改进了这一点。Xu等人[25]从单个RGB-D图像估计6DoF透明物体姿态。最近,陈等人。提出了 ClearPose [26],一种用于透明物体的大规模真实世界基准数据集和数据集,以及 ProgressLabeller [27],一种用于标记透明物体的 6D 姿势的半自动方法。
利用光场相机[28]、单像素相机[29]、显微镜相机系统[30]和偏振相机[31]对透明物体进行姿态估计或抓取的工作。然而,这些方法与基于 RGB-D 的方法有很大不同,并且与 RealSense 或 Kinect 等商业深度相机相比不易访问。一个潜在的研究方向是将神经辐射场用于透明场景[4],[32],[33]。仅使用RGB信息的姿态估计方法在初始阶段会丢失多模态信息,只有少数方法可以直接从RGB-D信息估计透明物体的姿态。因此,我们认为,在当前阶段,结合深度补全和专门设计的姿态估计方法可以为透明物体的姿态估计带来好处。
III. 方法
在本节中,我们提出了一种用于透明对象 (FDCT) 的高效深度补全网络,如图 2 所示。该网络旨在从 RGB-D 相机提供校正深度图的实时预测。我们首先概述所提出的网络,然后介绍编码器和解码器组件的紧凑设计。接下来,我们通过使用我们的融合分支和跨层快捷方式证明了低级特征的有效利用。最后,我们详细介绍了网络训练中使用的损失函数。

A.网络概述
我们遵循[9]中的常见做法来构建类似于UNet[34]的网络。该网络可以直接从RGB和深度图像预测校正深度。透明掩码仅参与网络的训练。如图 2 所示,我们的网络包含一个编码器和解码器,添加了跳跃连接,以及一个融合分支作为子编码器。然而,UNet 中的原始跳过连接仅将特征从编码器传输到解码器。众所周知,低级特征包含足够的位置信息,这在深度补全任务[12]、[13]中起着重要作用。观察到更深的层包含较少的位置信息 [35]、[36],我们还为每一层添加了快捷方式(如图 2 中的橙色连接所示),以使低级特征可用于更深的层,保留位置信息并导致更准确的结果。
FDCT 的编码器由两部分组成:主要部分由特征融合和提取块 (FFEB) 构建,而子部分称为融合分支,由一系列快捷连接模块 (SFM) 构建。主编码器和子编码器协同工作,为解码器提供聚合特征,保留低级信息,例如像素位置。此外,解码器由深度融合和完成块 (DFCB) 构建。在我们的工作中,通过域适应操作将其提供给每个FFEB和DFCB,可以有效地准确地利用原始深度图像。这与以前的工作不同,这些工作要么使用网络基于原始深度信息[7]、[8](导致耗时的两阶段处理)预测透明掩码,要么直接将原始深度连接到特征[9](导致对噪声和不准确的敏感性)。
B.轻量级编码器和解码器
1) 特征融合和提取块:主干在确定架构效率方面起着至关重要的作用。尽管DenseNet[19]已被证明在以前的工作[9]中是有效的,但它可能是资源密集型的,它的浅层可能对结果[37]没有太大贡献,这使得它不适合深度补全任务。为了解决这些问题,我们采用一次性聚合模块(OSA)[37]作为骨干来有效地提取特征。编码器由四个特征融合和提取块(FFEBs)组成,如图3左侧所示。每个FFEB采用原始深度图、前一个块的特征和一层的快捷方式作为输入。这些特征通过数据级融合连接和处理。具体来说,我们使用卷积操作来强制它们在低维空间中融合。这种融合方法可以减少深度特征与原始深度图像[38]之间的域差距。我们将在第 IV-F 节中进一步证明它比直接连接效果更好。
下采样是通过最大池化执行的,其中不仅加快了网络的速度,而且增强了其鲁棒性。为了证明简单最大池化的有效性,请参阅我们的实验,以彻底分析不同的下采样方法。

2)深度融合和完成块:解码器由四个深度融合和完成块(DFCBs)组成,如图3右侧所示。DFCBs的体系结构和输入与FFEBs的体系结构和输入相似。在相应的DFCB和FFEB之间建立残差连接(如图3中的“FFEB残差”所示)。为了恢复分辨率,我们采用了一种准确和高效的技术pixel shuffle[39],它被用作上采样,以减少计算复杂度,同时考虑通道信息。
C.融合分支和跨层快捷方式
我们引入了一种结合模型中多尺度和多层特征的新方法,如图4所示。我们的方法包括使用跨层快捷方式和融合分支,其中融合分支收集每个编码器层的输出,并使用一系列快捷方式融合模块(SFMs)逐层集成它们。本质上,Fusion Branch 可以被认为是一个子编码器,它有助于我们模型的最终输出。

Fusion Branch 的目的是在编码过程中保持低级特征的可访问性。在深度补全任务中,原始深度图的低级特征,如原始像素值和边缘定位,起着至关重要的作用。通过结合跳过连接,这些特征可以直接传输到解码器进行更有效的处理[40]。因此,Fusion Branch 不是提取深度语义信息,而是通过聚合来自所有级别的特征并按通道交换信息来充当选择器。通过这种简单的结构,它在融合多级特征的同时保留了低级特征。
D.损失函数
太多局部特征在训练过程中会导致过拟合,这会对模型的性能产生负面影响。为了解决这个问题,我们开发了一个损失函数来防止过度拟合。此外,具有明确定义的优化目标对于基于深度学习的方法至关重要,而最近的许多深度补全方法忽略了适当损失函数的精心设计。具体来说,这些方法主要依靠均方误差 (MSE) 损失作为主要损失函数。这种对损失函数设计的关注不足可能会导致深度补全任务的次优性能。
这一观察结果促使我们在模型训练中加入适当的损失。具体来说,我们注意到某些像素,例如沿边缘的像素或受传感器噪声的影响,通常具有不稳定的深度值,这些值会被常用的均方误差 (MSE) 损失过度惩罚。此外,在具有低级感知结构的网络中使用原始深度图像会导致对这些像素的过度拟合,从而导致性能不佳。
为了解决这些问题,我们引入了以下损失函数,该函数主要利用Huber损失,SSIM损失和平滑损失作为惩罚项。我们在分析部分证明了所提出的损失函数的必要性。所有损失都是在透明区域上计算的。
1)Huber损失:Huber损失,如(1)所述,是深度学习中公认的损失函数。与 MSE 和 MAE 不同,Huber Loss 对于低于阈值 δ 的小差异是二次的,对于较大的值是线性的,这使得它对数据中的异常值不太敏感。在训练过程中,δ根据经验设置为0.1的值。从概念上讲,δ可以被视为容错的阈值,其中δ以下的差异被认为是“可接受的”。
其中,Dp和Dgt是预测深度和地面真实深度。
2)SSIM损失:SSIM(结构相似性指数度量)是一种评估图像质量的方法,最早是在[41]中引入的。SSIM不是逐个像素地计算损失,而是计算全局尺度上的损失,更多地关注图像的整体结构和分布,而不是其单独的细节。
其中,μ,σ是深度图像的均值和方差,σgt,p是地面真实深度和预测深度的协方差,C1,C2是与像素范围相关的常数。
3)平滑损失:平滑损失LSmooth由表面法线Spre和Sgt之间的余弦相似度决定,分别由预测深度和地面真实深度计算。添加了一个小值 푡 以防止除法为零。平滑损失Lsmooth对图像边缘进行建模,并在像素级[9]、[11]上执行:
我们的训练损失描述如下:
其中LHuber惩罚深度不准确,LSSIM惩罚结构相似性,Lsmooth惩罚不平滑。α 和 β 是权重参数。[0.3, 1.5] 范围内强度值的像素被认为是无效的,被排除在损失计算之外。
四。实验。
A.数据集和指标
1) 数据集:我们使用三个数据集,包括 ClearGrasp [7]、TransCG [9] 和 ClearPose [26]。ClearGrasp 数据集是一个开创性的大规模合成数据集,专门关注透明对象。它提供了一个大规模的合成数据集和一个真实世界的基准。TransCG数据集包含130个不同现实场景的57K RGB-D图像。ClearPose数据集包含真实世界设置中63个家庭对象的350K RGB-D图像。
2)指标:为了评估我们的深度补全模型的性能,我们采用了RMSE、REL、MAE和阈值δ四个常用指标(其中δ设置为1.05、1.10和1.25)。这些指标仅在透明区域上计算,由透明掩码确定。
B.实现细节
1) 网络配置:在网络架构中,隐藏通道数 C 设置为 64。每个 FFEB/DFCB 都包含一个 OSA 模块。每个OSA模块由5层组成,阶段通道为20。SFM模块在整个管道中维护C个通道,而跨层快捷方式只有1个通道。编码器和解码器之间的残差连接只保留 Cchannels。输入头模块和输出头模块使用 3×3 卷积来调整通道数和分辨率(分辨率变化仅发生在输入头模块中)。对于纤细版本,C 设置为 32,OSA 块包含 4 层,阶段通道为 16.
2) 训练细节:所有实验均使用初始学习率为 10-3 的 AdamW 优化器进行。学习率在 5、15、25 和 35 个 epoch 后减少一半,训练总共持续 40 个 epoch,批量大小为 32。在训练过程中,阈值 δ 在 0.1 处保持不变。损失函数的权重 α 和 β 分别设置为 0.1 和 0.001。图像大小调整用于训练和测试的 320 × 240。实验是使用 NVIDIA GeForce RTX 3090 GPU 进行的。
C.消融研究
我们进行了一项消融研究,以研究我们提出的组件的有效性,包括新的损失函数、融合分支、跨层快捷方式和主干结构。我们采用DFNet作为基线方法,因为它是按照UNet结构构建的。我们逐渐将其原始组件替换为我们提出的组件,并展示了使用我们提出的组件的影响。消融研究的所有实验都是在TransCG数据集上进行的。
1)损失函数:DFNet的训练采用均方误差(MSE)和平滑损失作为其损失函数。然而,这些简单的损失函数会导致局部特征的过度拟合,这使得模型对边缘和位置等低级特征的噪声更敏感,从而对其准确性产生负面影响。为了验证我们提出的损失函数,我们首先将 MSE 损失替换为 DFNet 中的 Huber 损失,并将其称为 Huber 损失。然后,我们用我们的(表 I 中的新损失)替换了 DFNet 的损失函数,使所有其他方面保持不变。通过比较表 I 中的第一行,我们观察到使用 Huber 损失的重要性。通过将 New Loss 与 DFNet 进行比较可以进一步观察到,所有指标都显示出改进,而不需要任何额外的参数。

2) 融合分支和跨层快捷方式:为了评估我们提出的融合分支和跨层快捷方式的影响,我们对 DFNet 的架构进行了更改。首先,我们从DFNet的跳过连接中删除冗余CDC块,这与我们对保留低级特征和轻量级设计目的的洞察一致。然后,我们将跨层快捷方式和融合分支添加到修改后的网络中。从表 I 可以看出,采用这个新架构(称为快捷方式融合),几乎所有指标都显示出参数较少的改进。
3) 主干:我们最终将 DFNet 中的密集块替换为我们的 OSA 模块,并使用最大池化作为下采样方法。最终的修改已经将 DFNet 转换为我们的网络。如表 I 所示,我们的网络在基于差异的指标上的性能比之前的最先进 (SOTA) 至少高出 16%,并将基于比率的指标提高了高达 4.42%,从而产生了新的 SOTA 性能。为了使它适用于低功耗机器人,我们创建了一个精简版来平衡速度和准确性。
D.深度补全实验
我们将我们的方法与合成数据集ClearGrasp和真实数据集TransCG中的其他方法进行了比较。定量结果分别报告在表II和表III中。我们提出的网络在几乎所有包含合成和真实场景的数据集上都超过了其他指标。我们的方法以更小的模型大小和更快的推理时间实现了新的最先进的性能,使其成为该领域极具竞争力的解决方案。


具体来说,我们的方法在 REL 和 δ1.05 指标方面大大优于其他方法。这表示它对原始深度信息中的噪声的鲁棒性,因为这些指标是基于相对值计算的,对噪声敏感。此外,我们的方法在 ClearGrasp 中涉及新对象的测试(表 IV 中的 CG Syn-novel 和图 5 中的 ClearGrasp 列)中,我们的方法与其他方法之间的差距更大,这表明我们的方法具有更好的泛化到看不见的对象的能力。定性结果如图5所示。我们的方法的预测表现出比DFNet更清晰的边界和更精细的细节。

E.泛化实验
网络的泛化能力对于实际应用至关重要。我们提出的方法表现出高度的泛化,能够在合成数据上进行训练并应用于真实场景(syn-to-real),或在一个真实世界的数据集 TransCG 上训练并适应另一个真实世界的数据集(真实到真实),例如 ClearGrasp。比较结果如表IV所示,这表明虽然与syn-to-real方法(Local Implicit[11])相比仍有一定差距,但与类似的方法DFNet相比,我们的方法在synto-real设置中取得了更好的结果,在真实到真实的设置中取得了具有竞争力的结果。

F.分析
在我们提出的方法中,损失函数在使网络能够专注于结构信息并减轻不稳定像素的影响方面起着至关重要的作用。然而,这种对结构信息的关注可能会以牺牲一些细节为代价。另一方面,融合分支和快捷方式会关注细节,这可能会引入额外的冗余。尽管如此,maxpooling 的使用促进了有损和激进的下采样,可以减少冗余并提高鲁棒性。基于卷积的融合方法更好地利用原始深度图像。所有组件协同工作并相互补充,以在结构信息和细节之间实现最佳平衡。我们分析了我们方法的四个关键组件并证明了它们的有效性:

1)损失项的影响:如III-D所述,不稳定的像素会对训练损失的计算产生显著的负面影响。为了说明这个问题,我们手动创建了一个特征来表示这些像素,通过计算深度图像的梯度并应用高斯模糊。通过减少这些像素的权重,我们观察到模型的性能有所提高(如表 V 中的权重实验所示),突出了以不同的方式处理像素的重要性并强调使用的损失函数的必要性(尤其是 Huber 损失)。定性地,如图 6 所示,New Loss 模型更加强调透明物体的整体结构,而 DFNet 主要关注局部信息。这种损失函数的缺点是网络可能忽略一些细节。

2)低级特征保存:融合分支和跨层快捷方式通过合并更多的低级线索来帮助缓解边界模糊和感知细节低的问题。因此,在图6中融合模型的特征图中保留了更多的低级特征,如物体边缘和孔洞。损失函数和低级特征感知组件的组合在细节和结构信息之间取得了很好的平衡。
3)下采样的影响:我们的假设是,使用最大池化作为有损下采样方法可以减少低级感知组件的副作用,同时减少参数的数量。表 V 中被称为“下采样实验”的结果支持我们的观点。可以看出,使用卷积下采样和平均池化的性能略逊于使用最大池化的融合方法。
4)深度图像融合方法:为了证明通过卷积将原始深度图像与特征图融合优于直接连接,我们删除了用于模型Ours融合的卷积层,并将其命名为Ours(concat)。表 V 中“融合方法实验”标记的结果支持我们的观点。
G.姿态估计实验
在本实验中,我们旨在展示我们的网络对下游任务的适用性,并表明它可以提高姿态估计的准确性。为了评估姿态估计的性能,我们使用了三个评估指标,即平均最近点距离 (ADD-S)、ADD-S 曲线下的面积 (AUC) 和小于 2 cm 的 ADD-S 值的百分比。

我们的方法和 DFNet 在 ClearPose Set 1 上训练,并用于预测 Set 1-Scene 5 的深度以进行姿态估计。深度补全结果如表VI所示,现场演示的屏幕截图如图7所示。在我们的实验中,我们使用DenseFusion[43]作为位姿估计方法。我们使用恢复的深度训练了 DenseFusion,并在 3,000 张随机选择的图像上进行了测试。理想情况下,更精确的深度预测可以提高姿态估计的性能。我们评估的结果如表 VII 所示,表明我们的方法恢复的深度在几乎所有姿态估计任务中都优于 DFNet。该结果验证了我们的方法给出的深度图更适合解决下游任务,即姿态估计。

V.结论
提出了FDCT,这是一种新颖高效的端到端透明对象深度补全网络。FDCT仅使用RGB和深度图像作为输入来预测校正后的深度图。它在准确性和效率方面优于最先进的方法,参数数量最少,同时运行速度为 70 FPS。我们的实验表明,FDCT具有较强的泛化能力,结果优异