3D实例分割
3D实例分割方法另外区分同一类的不同实例。作为场景理解的一项信息量更大的任务,3D实例分割越来越受到研究界的关注。3D实例分割方法大致分为两个方向:基于Proposal和无Proposal。
基于Proposal
基于Proposal的方法首先预测目标Proposal,然后细化它们以生成最终实例mask(见图8),将任务分解为两个主要挑战。因此,从Proposal生成的角度来看,这些方法可以分为基于检测的方法和无检测的方法。
基于检测的方法有时将目标Proposal定义为3D边界框回归问题。3D-SIS[47]基于3D重建的姿态对齐,将高分辨率RGB图像与体素结合,并通过3D检测主干联合学习颜色和几何特征,以预测3D目标框Proposal。在这些Proposal中,3D mask主干预测最终实例mask。其他相关算法[171]、[164]可以参考论文。
无检测方法包括SGPN[145],它假定属于同一目标实例的点云应该具有非常相似的特征。因此,它学习相似度矩阵来预测Proposal。这些Proposal通过置信度分数过滤,以生成高度可信的实例Proposal。然而,这种简单的距离相似性度量学习并不能提供信息,并且不能分割同一类的相邻目标。为此,3D-MPA[25]从投票给同一目标中心的采样和聚类点云特征中学习目标Proposal,然后使用图卷积网络合并Proposal特征,从而实现Proposal之间的更高层次交互,从而优化Proposal特征。AS Net[60]使用分配模块来分配Proposal候选,然后通过抑制网络消除冗余候选。
Proposal Free
无Proposal 方法学习每个点云的特征嵌入,然后使用聚类以获得明确的3D实例标签(见图8),将任务分解为两个主要挑战。从嵌入学习的角度来看,这些方法可以大致分为三类:多嵌入学习、2D嵌入传播和多任务学习。
多嵌入学习:MASC[83]等方法依靠SSCN[33]的高性能来预测多尺度和语义拓扑上相邻点云之间的相似性嵌入。简单而有效的聚类[89]适用于基于两种类型的学习嵌入将点云分割为实例。MTML[68]学习两组特征嵌入,包括每个实例唯一的特征嵌入和定向实例中心的方向嵌入,这提供了更强的聚类能力。类似地,PointGroup[62]基于原始坐标嵌入空间和偏移的坐标嵌入空间将点云聚类为不同的簇。
2D嵌入传播:这些方法的一个例子是3D-BEVIS[23],它通过鸟瞰整个场景来学习2D全局实例嵌入。然后通过DGCN[149]将学习到的嵌入传播到点云上。另一个例子是PanopticFusion[102],它通过2D实例分割网络Mask R-CNN[43]预测RGB帧的逐像素实例标签。
多任务联合学习:3D语义分割和3D实例分割可以相互影响。例如,具有不同类的目标必须是不同的实例,具有相同实例标签的目标必须为同一类。基于此,ASIS[146]设计了一个称为ASIS的编码器-解码器网络,以学习语义感知的实例嵌入,从而提高这两个任务的性能。类似地,JSIS3D[107]使用统一网络即MT-PNet来预测点云的语义标签,并将点云嵌入到高维特征向量中,并进一步提出MV-CRF来联合优化目标类和实例标签。类似地,Liu等人[83]和3D-GEL[81]采用SSCN来同时生成语义预测和实例嵌入,然后使用两个GCN来细化实例标签。OccusSeg[40]使用多任务学习网络来产生occupancy signal和空间嵌入。occupancy signal表示每个体素占用的体素数量。表5总结了3D实例分割方法。
3D部件分割
3D部件分割是继实例分割之后的下一个更精细的级别,其目的是标记实例的不同部分。部件分割的管道与语义分割的管道非常相似,只是标签现在是针对单个部件的。因此,一些现有的3D语义分割网络[96]、[33]、[108]、[109]、[174]、[52]、[133]、[50]、[45]、[154]、[77]、[149]、[73]、[159]、[143]、[34]、[72]、[129]、[116]也可用于部件分割。然而,这些网络并不能完全解决部件分割的困难。例如,具有相同语义标签的各个部件可能具有不同的形状,并且具有相同语义标记的实例的部件数量可能不同。我们将3D部件分割方法细分为两类:基于规则数据的和基于不规则数据的,如下所示。
基于规则数据
规则数据通常包括投影图像[64]、体素[150]、[71]、[128]。对于投影图像,Kalogerakis等人[64]从多个视图中获得一组最佳覆盖物体表面的图像,然后使用多视图全卷积网络(FCN)和基于表面的条件随机场(CRF)分别预测和细化部件标签。体素是几何数据的有效表示。然而,像部件分割这样的细粒度任务需要具有更详细结构信息的高分辨率体素,这导致了较高的计算成本。Wang等人[150]建议VoxSegNet利用有限分辨率的体素中更详细的信息。它们在子采样过程中使用空间密集提取来保持空间分辨率,并使用attention feature aggregation(AFA)模块来自适应地选择尺度特征。其他相关算法[71]、[128]可以参考论文。
基于不规则数据
不规则数据表示通常包括网格[161]、[41]和点云[75]、[121]、[170]、[136]、[140]、[172]、[178]。网格提供了3D形状的有效近似,因为它捕捉到了平面、尖锐和复杂的表面形状、表面和拓扑。Xu等人[161]将人脸法线和人脸距离直方图作为双流框架的输入,并使用CRF优化最终标签。受传统CNN的启发,Hanocka等人[41]设计了新颖的网格卷积和池化,以对网格边缘进行操作。对于点云,图卷积是最常用的管道。在频谱图领域,SyncSpecCNN[170]引入了同步频谱CNN来处理不规则数据。特别地,提出了多通道卷积核和参数化膨胀卷积核,分别解决了多尺度分析和形状信息共享问题。在空间图域中,类似于图像的卷积核,KCNet[121]提出了point-set kernel和nearest-neighbor-graph,以改进PointNet,使其具有高效的局部特征提取结构。其他相关算法[140]、[163]、[136]、[65]、[142]、[75]、[172]、[178]可以参考论文。3D部件的相关算法总结如下表所示。
3D分割的应用
无人驾驶系统
随着激光雷达和深度相机的普及,价格也越来越实惠,它们越来越多地应用于无人驾驶系统,如自动驾驶和移动机器人。这些传感器提供实时3D视频,通常为每秒30帧(fps),作为系统的直接输入,使3D视频语义分割成为理解场景的主要任务。此外,为了更有效地与环境交互,无人系统通常会构建场景的3D语义图。下面回顾基于3D视频的语义分割和3D语义地图构建。
3D视频语义分割
与前文介绍的3D单帧/扫描语义分割方法相比,3D视频(连续帧/扫描)语义分割方法考虑了帧之间连接的时空信息,这在稳健和连续地解析场景方面更为强大。传统的卷积神经网络(CNN)没有被设计成利用帧之间的时间信息。一种常见的策略是自适应RNN([134]、[24])或时空卷积网络([44]、[17]、[122])。
3D语义地图重建
无人系统不仅需要避开障碍物,还需要建立对场景的更深理解,例如目标解析、自我定位等。3D场景重建通常依赖于同时定位和建图系统(SLAM)来获得没有语义信息的3D地图。随后用2D-CNN进行2D语义分割,然后在优化(例如条件随机场)之后将2D标签转移到3D地图以获得3D语义地图[165]。这种通用管道无法保证复杂、大规模和动态场景中的3D语义地图的高性能。研究人员已经努力使用来自多帧的关联信息([92]、[95]、[157]、[13]、[66])、多模型融合([59]、[176])和新的后处理操作来增强鲁棒性。
医疗诊断
2D U-Net[115]和3D U-Net[18]通常用于医学图像分割。基于这些基本思想,设计了许多改进的体系结构,主要可分为四类:扩展的3D U-Net([9]、[173]、[117])、联合的2D-3D CNN([105]、[2]、[138]、[76])、带优化模块的CNN([99]、[179]、[126]、[104])和分层网络([11]、[57]、[118]、[135]、[166]、[167]、[119])。
实验结果
3D语义分割结果
论文报告了基于RGB-D的语义分割方法在SUN-RGB-D[127]和NYUDv2[124]数据集上的结果,使用mAcc和mIoU作为评估指标。各种方法的这些结果取自原始论文,如表7所示。下表所示。
论文在S3DIS[1](5折和6折交叉验证)、ScanNet[20](测试集)、Semantic3D[39](缩减的8个子集)和SemanticKITTI[3](仅xyz,无RGB)上报告了投影图像/体素/点云/其他表示语义分割方法的结果。使用mAcc、oAcc和mIoU作为评估指标。这些不同方法的结果取自原始论文。表8列出了结果。
由于本文的主要兴趣是基于点云的语义分割方法,因此重点对这些方法的性能进行详细分析。为了捕获对语义分割性能至关重要的更广泛的上下文特征和更丰富的局部特征,在基本框架上提出了几种专用策略。
- 基础网络是3D分割发展的主要推动力之一。一般来说,有两个主要的基本框架,包括PointNet和PointNet++框架,它们的缺点也指出了改进的方向;
- 自然环境中的物体通常具有各种形状。局部特征可以增强目标的细节分割;
- 3D场景中的目标可以根据与环境中的其他目标的某种关系来定位。已经证明,上下文特征(指目标依赖性)可以提高语义分割的准确性,特别是对于小的和相似的目标。
3D实例分割结果
论文报告了ScanNet[20]数据集上3D实例分割方法的结果,并选择mAP作为评估指标。这些方法的结果取自ScanNet Benchmark Challenge网站,如表9所示,并在图9中总结。该表和图如下所示:
- OccusSeg[40]具有最先进的性能,在本文调查时,ScanNet数据集的平均精度为67.2%;
- 大多数方法在诸如“浴缸”和“厕所”之类的大规模类上具有更好的分割性能,而在诸如“柜台”、“桌子”和“图片”之类的小规模类上具有较差的分割性能。因此,小目标的实例分割是一个突出的挑战;
- 在所有类的实例分割方面,无Proposal方法比基于提案的方法具有更好的性能,尤其是对于“窗帘”、“其他”、“图片”、“淋浴帘”和“水槽”等小目标;
- 在基于Proposal的方法中,基于2D嵌入传播的方法,包括3D-BEVIS[23]、PanoticFusion[102],与其他基于无提案的方法相比,性能较差。简单的嵌入传播容易产生错误标签。
3D部件分割结果
论文报告了ShapeNet[169]数据集上3D零件分割方法的结果,并使用了Ins.mIoU作为评估度量。各种方法的这些结果取自原始论文,如表10所示。我们可以看到:
- LatticeNet[40]具有最先进的性能,在本文调查时,ShapeNet数据集的平均精度为93.9%;
- 所有方法的部件分割性能非常相似。
讨论和结论
论文使用深度学习技术,包括3D语义分割、3D实例分割和3D部件分割,对3D分割的最新发展进行了全面综述。论文对每个类别中的各种方法进行了全面的性能比较和优点。近年来,使用深度学习技术的3D分割取得了重大进展。然而,这仅仅是一个开始,重要的发展摆在我们面前。下面,论文提出一些悬而未决的问题,并确定潜在的研究方向。
合成数据集为多个任务提供了更丰富的信息:与真实数据集相比,合成数据集成本低、场景多样,因此在语义分割方面逐渐发挥重要作用[7]、[155]。众所周知,训练数据中包含的信息决定了场景解析精度的上限。现有的数据集缺少重要的语义信息,如材料和纹理信息,这对于具有相似颜色或几何信息的分割更为关键。此外,大多数现有数据集通常是为单个任务设计的。目前,只有少数语义分割数据集还包含实例[20]和场景布局[127]的标签,以满足多任务目标。
多任务的统一网络:对于一个系统来说,通过各种深度学习网络来完成不同的计算机视觉任务是昂贵且不切实际的。对于场景的基本特征开发,语义分割与一些任务具有很强的一致性,例如深度估计[97]、[85]、[36]、[141]、[1141]、[87]、场景补全[22]、实例分割[146]、[107]、[81]和目标检测[97]。这些任务可以相互协作,以提高统一网络中的性能。语义/实例分割可以进一步与部件分割和其他计算机视觉任务相结合,用于联合学习。
场景解析的多种模式:使用多个不同表示的语义分割,例如投影图像、体素和点云,可能实现更高的精度。然而,由于场景信息的限制,如图像的几何信息较少,体素的语义信息较少,单一表示限制了分割精度。多重表示(多模态)将是提高性能的另一种方法[21],[15],[90],[58],[97]。
高效的基于点云卷积的网络:基于点云的语义分割网络正成为当今研究最多的方法。这些方法致力于充分探索逐点云特征和点云/特征之间的连接。然而,他们求助于邻域搜索机制,例如KNN、ball query[109]和分层框架[154],这很容易忽略局部区域之间的低级特征,并进一步增加了全局上下文特征开发的难度。
弱监督和无监督的3D分割:深度学习在3D分割方面取得了显著的成功,但严重依赖于大规模标记的训练样本。弱监督和无监督学习范式被认为是缓解大规模标记数据集要求的替代方法。目前,工作[162]提出了一个弱监督网络,它只需要对一小部分训练样本进行标记。[75]、[178]提出了一种无监督网络,该网络从数据本身生成监督标签。
大规模场景的语义分割一直是研究的热点。现有方法仅限于极小的3D点云[108]、[69](例如,4096个点云或1x1米块),在没有数据预处理的情况下,无法直接扩展到更大规模的点云(例如,数百万个点云或数百米)。尽管RandLA Net[48]可以直接处理100万个点,但速度仍然不够,需要进一步研究大规模点云上的有效语义分割问题。
3D视频语义分割:与2D视频语义分割一样,少数作品试图在3D视频上利用4D时空特征(也称为4D点云)[17],[122]。从这些工作中可以看出,时空特征可以帮助提高3D视频或动态3D场景语义分割的鲁棒性。
参考
[1] Deep Learning based 3D Segmentation: A Survey
原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA)