Efficient RGB-D Semantic Segmentation for Indoor Scene Analysis
室内场景分析的高效RGB-D语义分割
arXiv:2011.06961v3 [cs.CV] 7 Apr 2021
文章地址:https://arxiv.org/abs/2011.06961
代码地址:https://github.com/TUI-NICR/ESANet
摘要
对移动机器人在不同环境下的动作进行深入的场景分析是至关重要的。语义分割可以增强各种后续任务,如(语义辅助的)人感知、(语义辅助的)自由空间检测、(语义辅助的)映射和(语义辅助的)导航。在本文中,我们提出了一种高效、鲁棒的RGB-D分割方法,该方法可以使用NVIDIA TensorRT进行高度优化,因此非常适合作为移动机器人场景分析复杂系统中的常见初始处理步骤。我们表明,RGB- D分割优于单独处理RGB图像,如果精心设计网络架构,它仍然可以实时执行。我们在公共室内数据集NYUv2和SUNRGB-D上评估了我们提出的高效场景分析网络(ESANet),并表明我们达到了最先进的性能,同时支持更快的推断。此外,我们对室外数据集cityscenes的评估表明,我们的方法也适用于其他应用领域。最后,我们不仅仅展示基准测试结果,还在一个室内应用场景中展示定性结果。
1导言
语义场景感知和理解是移动机器人在各种环境下活动的关键。在我们的研究项目中,覆盖了从超市[1],[2]到医院[3],[4]的公共环境,以及家庭应用[5],[6],我们的机器人需要并行执行几项任务,如障碍物回避,语义映射,语义实体导航和人的感知。鉴于有限的计算能力和电池能力,大多数任务需要实时处理。因此,一个高效和共享的初始处理步骤可以促进后续任务。语义分割非常适合这样的初始步骤,因为它提供了精确的像素信息,可以用于大量后续任务。
在本文中,我们提出了一种高效且鲁棒的基于编码器解码器的语义分割方法,该方法可以嵌入到复杂系统中进行语义场景分析,如图1所示。分割输出丰富了机器人的视觉感知,并通过提供单独的语义掩码,方便了后续的处理步骤。对于我们的人感知[7],计算可以限制在作为人分割的图像区域,而不是处理整个图像。此外,floor类指示可用于嵌入无效深度像素的空闲空间,并作为避免激光下方微小障碍的附加信息。对于映射[8],我们可以包含语义并忽略被分割为动态类(如person)的图像区域。
我们的分割方法依赖于RGB和Depth图像作为输入。特别是在室内环境中,杂乱的场景可能阻碍语义分割。合并深度图像可以通过提供互补的几何信息来缓解这种影响,如[9],[10],[11]所示。与单独处理RGB图像相比,这种设计决策带来了一些额外的计算成本。然而,在本文中,我们展示了两个精心设计的浅编码器分支(一个用于RGB,一个用于Depth数据)可以实现更好的分割性能,同时仍然能够实现更快的推理(网络应用),而不是单独用于RGB图像的单个深度编码器分支。此外,我们的高效场景分析网络(ESANet)能够比大多数其他RGB-D分割方法更快地进行推理,而我们的实验表明,它的性能与其他RGB-D分割方法相当,甚至更好。
我们在常用的室内数据集NYUv2[12]和SUNRGB-D[13]上评估我们的ESANet,并进一步在我们的室内应用中提出定性结果。我们不再只专注于平均交叉与并集(mIoU)作为基准测试的评估指标,我们还努力在嵌入式硬件上实现快速推理。然而,我们不是在高端gpu上报告推理时间,而是在机器人的NVIDIA Jetson AGX Xavier上测量推理时间。我们设计了我们的网络架构,这样它就可以使用NVIDIA TensorRT作为一个优化的图来执行。此外,通过对室外数据集cityscenes[14]的评估,我们表明我们的方法也可以应用到其他应用领域。
本文的主要贡献是
- 一种高效的RGB-D分割方法,它可以作为初始处理步骤,方便后续的场景分析任务,其特点是:
-
- 一个精心设计的架构,可以使用NVIDIA TensorRT进行高度优化,因此,实现了快速推理
-
- 一种高效的基于resnet的编码器,使用了一种改进的基本块,计算成本更低,同时实现了更高的精度
-
- 一种利用了一种新的学习上采样的解码器
- 对我们方法的基本部分进行了详细的侵蚀研究,以及它们对分割性能和推理时间的影响
- 在机器人场景分析的复杂系统中,定性结果证明了适用性和鲁棒性。
我们的代码以及经过培训的网络可以在https://github.com/TUI-NICR/ESANet上公开获取
2.相关工作
用于语义分割的常用网络架构遵循编码器-解码器设计。编码器从输入中提取语义丰富的特征,并执行下采样以减少计算工作量。解码器恢复输入分辨率,最后为每个输入像素分配一个语义类。
A. RGB- D语义分割
深度图像为RGB图像提供了补充的几何信息,从而改善了分割[9],[10]。然而,将深度信息合并到RGB分割体系结构是具有挑战性的,因为深度引入了与另一种模式不同的统计数据和特征。
在[15]中,深度信息用于将RGB图像投影到3D空间中。然而,处理产生的3D数据会导致计算复杂度显著提高。[16],[17],[18],[19],[20]设计特别定制的卷积,考虑到深度信息。然而,这些改进的卷积通常缺乏优化的实现,因此速度很慢,不适用于嵌入式硬件上的实时分割。
大多数RGB- D分割方法[9],[21],[10],[11],[22],[23],[24],[25]只是使用两个分支,一个用于RGB,一个用于深度数据,并在随后的网络中融合特征表示。通过这种方式,每个分支都可以专注于提取特定于模式的特征,比如从RGB图像中提取颜色和纹理,从深度图像中提取几何、光照无关的特征。融合这些特定于模式的特征会产生更强的特征表示。[9]表明,如果在多个阶段融合特征,分割性能会提高,而不是只融合低级或高级特征。通常,特征在每个分辨率阶段融合一次,最后一次融合在两个编码器的末端。对组合的特性只使用一个解码器可以减少计算工作量。FuseNet[9]和RedNet[10]将深度特征融合到RGB编码器中,这遵循了语义上更丰富的RGB特征可以使用互补的深度信息进一步增强的直觉。SA-Gate[22]结合了RGB和深度功能,并将重新校准的功能融合到两个编码器中。为了使两个编码器相互独立,ACNet[11]使用了一个额外的、虚拟的第三个编码器,从两个编码器获得特定于模态的特征,并处理组合的特征。除了在编码器中融合,特定于模态的特性还可以通过RDFNet[23]、SSMA[24]和maff - net[25]中的跳过连接来改进通用解码器中的特性。
然而,上述方法中没有一种是针对嵌入式硬件的有效RGB-D分割。使用诸如ResNets的50层、101层甚至152层的深度编码器会导致较高的推理时间,因此不适合部署到移动机器人上。
B.高效的语义分割
与RGB- D分割相比,最近的RGB方法[26],[27],[28],[29],[30],[31],[32]也解决了降低计算复杂度,实现实时分割的问题。大多数有效的分割方法提出了专门定制的网络架构,减少了操作和参数的数量,以实现更快的推理,同时仍然保持良好的分割性能。ERFNet[26]、LEDNet[27]或DABNet[28]等方法引入了高效的编码器块,方法是用更轻量级的变体(如因式分解、分组或深度可分离卷积)取代昂贵的3×3卷积。然而,尽管需要更多的操作和内存,SwiftNet[30]和BiSeNet[31]仍然比许多其他方法更快,同时通过简单地使用预训练的ResNet18作为编码器实现更高的分割性能。这可以推断为利用编码器中的早期和高下采样,这是一种轻量级的解码器,并使用标准3×3卷积,目前它的实现比分组或深度卷积更有效,并具有较大的表示能力。
继SwiftNet和BiSeNet之后,我们的方法还使用了基于resnet的编码器。然而,为了进一步减少推理时间,我们将所有ResNet层中的基本块交换为基于分解卷积的更有效的块。
3 高效RGB-D分割
我们用于RGB-D语义分割的高效场景分析网络(ESANet)架构如图2(上)所示。它的灵感来自于RGB分割方法SwiftNet[30],即,一个浅编码器与预训练的ResNet18骨干和大的下采样,一个上下文模块类似于PSPNet[33],一个浅解码器与编码器的跳跃式连接,最终上采样为4倍。然而,SwiftNet完全不包含深度信息。因此,我们的ESANet对深度数据使用了额外的编码器。这种深度编码器提取互补的几何信息,并使用注意机制在几个阶段融合到RGB编码器中。此外,两种编码器都使用了经过修订的体系结构,支持更快的推断。该解码器由多个模块组成,每个模块对生成的特征映射进行2倍的上采样,并使用卷积和通过合并编码器的特征来细化特征。最后,解码器将特征映射到类,并将类映射缩放到输入分辨率。
我们的整个网络以在PyTorch[34]中实现的简单组件为特色。我们不使用复杂的结构或专门定制的操作,因为这些通常不兼容转换为ONNX[35]或NVIDIA TensorRT,因此,会导致较慢的推理时间。
在下面,我们详细解释了我们的网络设计的每个部分,以及它的动机。图2(下)描述了我们的网络模块的确切结构。