物件点云的语义实例联合分割网络
2022-12-08陈迎亮李大威
陈迎亮, 李大威,b
(东华大学 a.信息科学与技术学院,b.数字化纺织服装技术教育部工程研究中心, 上海 201620)
点云数据是描述三维目标表面的一系列三维点坐标,其以离散的形式保留了原始的物件空间信息,是三维场景建模与理解的首要数据形式[1-2]。点级分割是三维点云数据处理中重要的研究方向之一。类似于图像的像素级分类任务,点云的点级分割可分为语义分割和实例分割[3]。语义分割是指将点云中的每个点划分到其所属的语义可解释类别中;实例分割是在语义分割的基础上对语义类别下的所有实例级个体进行划分。在三维物体点云的处理中兼顾语义分割和实例分割将是一个很大的挑战。
深度学习[4]简化了传统分割方法的调参复杂和数据普适性问题,能兼顾多分割任务并且能够达到可观的预测准确率,因此在自然语言处理[5]、语音识别[6]、遥感技术[7]等方面得到广泛应用。由于三维点云具有无序性、不均匀性和稀疏性[8],因此深度学习中的卷积运算无法直接应用于点云分割。早期的点云深度学习分割方法主张对点云进行体素化[9-11]处理,以增强点云的有序性和规则性,然后将卷积扩展到三维,实现图像深度学习方法向点云深度学习方法的迁移。然而,体素化受分辨率和计算量限制,很难在现有的GPU硬件训练框架下提升训练效果。部分学者[12-13]将点云投影到二维平面,先用二维图像的深度学习方法进行分割,再投影回点云中使用基于投票决策的方式进行三维点云的间接分割。该策略的结果受点云复杂度、投影角度和投影图像分割效果的综合影响,难以在复杂点云上取得满意的效果。
目前,基于体素化与投影的方法都不可避免地损失了原始点云的部分细节,因此,研究人员开始探索直接在点云的单点级别上进行深度学习。Qi等[8]提出的PointNet网络是首个实现端到端分类与分割的点级别深度学习语义分割网络,它通过多层感知器(multi-layer perceptron,MLP)对点的局部特征进行提取,通过最大值池化将局部特征聚合为全局特征。后续的Pointnet++[14]网络在PointNet网络基础上引入下采样和多尺度融合,以增强对点云局部特征的提取效果。Li等[15]提出PointCNN网络,对输入点进行X-卷积运算,得到与顺序无关的特征,能够较好地解决点云的无序性问题。Wang等[16]提出SGPN(similarity group proposal network)网络,通过记录点对不同特征的差异形成相似矩阵从而进行点的聚合,该网络是第一个直接进行点云实例分割的深度学习网络。Wang等[17]基于PointNet++的基本框架提出ASIS(associatively segmenting instances and semantics)网络,该网络用1个简单的双通路框架同时实现了对点云的语义分割与实例分割。Zhao等[18]在ASIS网络的基础上,使用PointConv模块改进ASIS网络中的特征提取部分,并设计了复杂的双通路融合模块,提出了JSNet网络,该网络在一些大型3 D数据集上提高了分割的准确率,取得较好的分割效果。大场景下的点云数据一般通过激光雷达扫描获得,然后由主流的深度学习网络将点云数据分块输入网络进行训练,而PartNet[19]等物体数据集中单一物件点云的点数较少,通常在降采样后将整个物体作为网络的输入。将上述点云深度学习网络直接应用于单一物件时的分割效果明显下降。这是因为,目前主流的联合分割网络难以有效学习物件点云的几何多样性特征,尤其是无法降低点云曲率较大处、崎岖细节处的分类错误率。
为解决这些问题,提出物体点云语义和实例分割网络(semantic and instance segmentation network, SISN),该网络由广义的编解码过程前端和语义与实例特征融合后端构成,可实现多类别物件点云的语义与实例联合分割。SISN将动态图卷积子模块作为网络的基本单元应用在网络结构的前端编码器和解码器中,可实现感受野的增强和对几何多样性的有效学习。在语义与实例特征的融合子模块中,搭建两条带有全连接一维卷积的单向信息交叉支路,并在支路末端实现信息融合,可增强语义与实例分割任务的内在关联,并促进特征学习。
1 SISN网络架构
动态图卷积点云联合分割网络SISN的架构如图1(a)所示。将含有N个点、C0维初始特征的点云作为输入,初始特征包含空间坐标(x,y,z)、颜色(r,g,b)、法向量(nx,ny,nz)信息,故C0=9。首先,对输入点云进行特征编码。在编码器过程中共进行4次独立的特征提取,特征层用灰色表示。每次特征提取分两步进行:一是在特征空间上对先前的特征点进行最远点采样,二是动态图卷积[20]。动态图卷积操作主要由两次边卷积运算和特征拼接操作组成,最后使用一维卷积调整特征长度,如图1(b)所示。特征编码器并不对语义和实例特征进行区分,只负责完成从小到大的多尺度特征信息提取。其次,对特征编码进行解码。分为语义流与实例流2个支路,分别进行语义特征解码和实例特征解码,得到语义解码特征Fdesm和实例解码特征Fdins。在解码中同样分两步进行:一是对特征图进行基于特征空间插值的上采样,二是动态图卷积。然后,将2条支路的解码特征输入融合模块进行语义特征和实例特征的交叉融合,如图1(c)所示。最后,语义流通过Softmax[21]输出语义分割标签从而完成语义分割,在实例流的特征空间上通过均值漂移聚类(mean shift)[22]将聚类后的特征点划分为不同实例并对应到原始点云上渲染输出。
图1 SISN的网络架构Fig.1 The network architecture of SISN
1.1 动态图卷积与边卷积运算
在网络的编码器部分和双支路解码器部分,频繁使用动态图卷积模块进行点云的深度特征提取与聚合,如图2所示。
图2 动态图卷积操作示意图Fig.2 A demonstration of the dynamic graph convolution
eij=xi-xij
(1)
(2)
1.2 语义与实例特征融合模块
同一实例类包含的点必定属于同一语义类,而不同语义类的点必定属于不同实例类。由此先验知识可知:语义分割任务与实例分割任务之间是有内在关联的,因此适当对语义流与实例流的特征进行融合有利于提高语义与实例双分割网络的精度。图1(c)是网络的语义与实例特征融合模块的内部展示,在特征解码得到N×128的语义流特征Fdsem和N×128实例流特征Fdins后,在双通路结构上搭建两条带有全连接一维卷积的单向信息交叉支路,在每条支路末端与主通路的连接处直接通过特征图相加实现信息融合。交叉融合后双通路再各自通过1次独立的动态图卷积得到语义与实例特征融合模块的输出Fdsem与Fdins。式(3)与(4)分别表示语义通路和实例通路的融合过程,其中D(·)表示一次动态图卷积运算。
Fsem=D(Fdsem+f(Fins))
(3)
Fins=D(Fdins+f(Fdesm))
(4)
语义与实例特征融合模块的输出为更高级的N×C语义特征信息Fsem与N×5的实例特征信息Fins,其中C为数据集中语义类的个数(采用的PartNet数据集C=38)。Fsem之后使用Softmax完成点云的点级别语义分割,Fins之后使用均值漂移聚类算法根据实例端的输出特征对点云进行点级别的实例分割。使用不同颜色渲染表示语义分割结果中不同类别的点,对于实例分割结果,点云中不同的颜色表示不同的实例。
在SISN的双通路模块中,语义流和实例流的信息交互通过简单的一维卷积来实现。这种简单而有效的机制,既不同于ASIS网络通过对实例特征进行K近邻来提取邻域信息,从而进行语义与实例特征交互的方式,也不同于JSNet网络通过注意力模块和均值模块来实现实例特征与语义特征的融合的机制。
1.3 损失函数
在输入网络的所有类别的物件点云中,语义类的总个数是确定的,因此语义分割使用经典的交叉熵损失函数,如式(5)所示,其中,N为总的点数,C为数据集中语义类的个数,p(xi=j)为点xi为j类的概率,q(xi=j)为将点xi预测为j类的概率。而实例的个数是不确定的,因此不同输入点云的实例个数是不一样的。实例分割使用实例损失监督策略,以多个损失的加权共同监督实例分割训练,如式(6)所示,其中α,β,γ为损失的权重参数。Ls用于使属于相同实例个体的点聚集,以及在高维特征空间内使同一实例的点间距离变小,如式(7)所示,其中,I为本训练批次(Batch)标签中的实例个数,Ni为实例i中点的个数,μi为属于实例i的点在高维特征空间中的均值,ej为点j的特征向量,δv为边界阈值,‖·‖1表示l1范数计算,[x]+=max(0,x)。Ld用于使不同实例个体的点在特征空间中相互排斥,以实现更加准确的实例分割,如式(8)所示,其中2δd表示两个不同实例个体的最近距离。Lreg为正则化损失,用于缓解过拟合并使网络的分割注意力在点云表面保持平衡,提高泛化能力,如式(9)所示。
(5)
Linstance=αLs+βLd+γLreg
(6)
(7)
(8)
(9)
2 试验部分
2.1 数据集与网络训练方式
选用PartNet数据集中的8种物件(包、椅子、显示器、耳机、帽子、刀、剪刀、垃圾桶),共38个物件子语义类(如椅背、椅面、椅腿等)进行语义与实例分割性能测试,并与ASIS和JSNet方法进行对比。输入的物件点云特征信息包括空间坐标、颜色信息和法向量。在数据集中每个原始物件有10 000个点,鉴于点数太多会占据计算资源,延长训练时间,对于提高分割性能的实际意义不大,因此采用最远点采样的方法将点数降采样到4 096再作为输入。此外,为验证本文方法对不同类型点云的泛化性能,将本文网络与其他两种网络在包含3个品种共546个植株单体的植物点云数据集上进行语义分割与实例分割性能对比,其中,语义类划分为茎秆和叶片两类共6种,而实例标签则为叶片语义中的每个单独叶片。
使用NVIDIA GeForce RTX 2080Ti显卡进行网络训练。训练过程中,设置每批次训练数据为8,学习率为0.001,训练轮次为100;最小化损失的优化算法使用Adam优化器,实例损失的权重参数设置为α=β=1以及γ=0.001。PartNet数据集中的训练集有6 864个物件,测试集有1 688个物件。植物点云数据集中的训练集有364个植株点云,测试集有182个植株点云。
2.2 定量评价指标
对于语义分割任务,计算每种物件所包含的语义类的准确率P、召回率R、分数F1和交并比IIoU(intersection over union, IoU)。准确率反映分类正确的点数在网络预测结果中的占比,如式(10)所示。召回率反映该语义类分类正确的点数在真实标签的该类总点数中的占比,如式(11)所示。交并比反映每个语义类的预测区域与其实际区域的重合程度,如式(12)所示。
(10)
(11)
(12)
式中:NTP为网络预测正确的点数;NFP为将其他类的点错预测为当前语义类的点数;NFN为将当前语义类错预测为其他语义类的点数。
分数F1为准确率和召回率的调和平均数,如式(13)所示。
(13)
使用CmCov和CmWCov来评价实例分割的结果,定义如下:
(14)
(15)
(16)
式中:G为属于某个语义类的真实实例标签的区域集合;P为网络预测出的所有实例区域的集合;Gm为标签中第m个实例的点集;Pn为预测中第n个实例的点集。除点级别评价指标外,还有实例级的评价指标,如平均准确率Pmean和平均召回率Rmean,其定义如下:
(17)
(18)
式中:|NTPi|为网络预测出的属于语义类i且IIoU>50%的实例个数;|Pi|为预测出的属于语义类i的实例个数;|Gi|为语义类i的真实标签中的实例个数。
2.3 定量分割结果
SISN对PartNet数据集中每种物件的语义分割定量结果如表1所示,对每种物件的实例分割定量结果如表2所示。由表1和2可知,SISN对显示器和剪刀的语义和实例分割准确率P较高。主要原因有两点:(1)不同的显示器个体、剪刀个体的类内形状差异较小,且这两种物件的语义部件之间的差异明显,如显示器分为屏幕和底座两部分,剪刀柄一般为圆环状,剪刀头一般为长尖状;(2)显示器和剪刀物件中包含的实例个体偏少,客观上减少了实例分割出现误差的可能。SISN网络对耳机和包的分割准确率P和交并比IIoU较低,主要原因有两点:(1)不同耳机的形状差异较大,如有的耳机没有麦克风;(2)包和耳机物件中包含的实例个数多于语义类,更易发生误分割,比如包有2个提手、耳机有2个耳罩。
表1 SISN对PartNet物件语义分割的定量结果Table 1 Quantitative results of semantic segmentation of PartNet objects by SISN %
表2 SISN对PartNet物件实例分割的定量结果Table 2 Quantitative results of instance segmentation of PartNet objects by SISN %
SISN对植物点云数据集的语义分割和实例分割全类别定量试验结果分别如表3和4所示。植物数据集较为规整、类别较少,不同类别点集特征区分相对明显,故在植物点云数据集上的整体分割效果较好,大部分指标在80%以上。
表3 SISN对植物点云数据集语义分割的全类别定量结果
表4 SISN对植物点云数据集实例分割的全类别定量结果
2.4 与其他网络的定量与定性对比
将SISN的结果与当前流行的双功能分割网络ASIS与JSNet分别在PartNet数据集和植物点云数据集上进行对比。试验时保持3种网络试验条件基本一致,输入的训练与测试点云完全相同,结果如表5和6所示。由表5和6可知,SISN在多个指标上取得较好的结果。
表5 3种网络的语义分割平均定量对比
表6 3种网络的实例分割平均定量对比
3种网络在PartNet数据集上的语义定性结果对比如图3所示,图中红色实线框表示语义分割有误。由图3可知,ASIS网络未能分割出帽饰语义类,将剪刀握柄部分的一些点误分割为刀面,将显示器主体的部分点误分割为底座,对桶的上表面也分割错误。JSNet网络将帽饰(羽毛)误分类为帽沿,将剪刀刀柄上的部分点误分割为刀面,将显示器底座的部分点误分割主体,对桶的上半部分也分割错误。而SISN在不同语义类的边界处分割正确。这些结果说明SISN有效增强了对语义几何多样性特征的学习,通过动态图卷积充分提取了每个点的局部邻域的信息,因此能有效学习到每个语义类别下的点深度特征,减少误分割。
图3 SISN、ASIS和JSNet网络在PartNet数据集上的语义分割定性结果对比Fig.3 Qualitative semantic comparison among SISN, ASIS and JSNet on the PartNet dataset
3种网络在PartNet数据集上的实例定性结果对比如图4所示,图中红色实线框表示实例分割有误,虚线框是将对应的红色实线框放大显示。由图4可知,ASIS网络的预测结果将包的背带中间弧度大的区域预测为新的实例类别,将耳机的左发声单元预测为2个实例。JSNet网络对包的背带与侧片连接处分割错误,将耳机的头梁部分预测为更多的实例。在椅子物件中:ASIS网络在椅面边缘的实例分割上存在分散的错误(少数紫色杂点),这些杂点被错误地分割为新的椅面实例;JSNet网络对椅背的边缘存在分割错误,将部分点识别成新的实例(绿色点)。SISN则没有这些误分割情况, 在物件点云的实例分割的细节方面明显优于ASIS网络和JSNet网络。这些现象说明SISN可以增强对点云中局部不平坦区域细节的学习, 在动态图卷积中通过局部邻域图的构建,充分学习到了点的局部特征信息,有效增强了对点云实例几何多样性特征的学习。
图4 SISN、ASIS和JSNet网络在PartNet数据集上的实例分割定性结果对比Fig.4 Qualitative instance comparison among SISN, ASIS and JSNet on the PartNet dataset
3种网络在植物点云数据集上的语义定性结果对比如图5所示。由图5可知,SISN有效增强了对语义几何多样性特征的学习,特别是增强了对植物结构中不平坦细节的正确分类。而ASIS网络与JSNet网络对细节部分存在语义分类错误,如JSNet网络将植物样本2的主茎秆底部分类为另一种植物的茎秆,ASIS网络误分类了叶片和茎秆尖端的一些点。
图5 SISN、ASIS和JSNet网络在植物点云数据集上的语义分割定性结果对比Fig.5 Qualitative semantic comparison among SISN, ASIS and JSNet on the plant dataset
3种网络在植物点云数据集上的实例定性结果对比如图6所示。由图6可知,SISN有效增强了对点云实例几何多样性特征的学习,特别是增强了叶片与叶片之间、叶片与茎秆之间连接点的分割准确性。总体而言:ASIS网络对边缘点的高层次特征学习不够,对叶片与叶片粘连的边缘点存在一定的分类难度;JSNet网络则对茎秆的顶端存在分割错误;而SISN在实例分割的细节上明显优于ASIS网络和JSNet网络。
图6 SISN、ASIS和JSNet网络在植物点云数据集上的实例分割定性结果对比Fig.6 Qualitative instance comparison among SISN,ASIS and JSNet on the plant dataset
2.5 剥离试验
剥离试验是指将网络中的某个模块去除或替换为其他模块,以验证该模块的有效性和优越性。通过2组剥离试验分别验证动态图卷积模块和语义与实例特征融合模块的有效性与合理性。第1组,将图1(a)标准网络结构中的动态图卷积全部替换为深度相同的全连接一维卷积,即剥离动态图卷积模块;第2组,剥离图1(c)标准网络结构中的蓝色部分,即去除语义流与实例流之间通过一维卷积进行的信息交流支路。
剥离网络与标准网络的定量结果对比如表7所示。由表7可知:剥离动态图卷积模块后,网络的性能明显下降,特别是语义分割的准确率下降了8.1个百分点,说明点的局部邻域图能更好地提取局部特征信息,可提高深度网络对物件点云的分割效果;剥离语义与实例特征融合模块的交叉支路后,网络在语义分割后与实例分割后定量结果下降2.2~3.5个百分点。由此说明,语义流和实例流的信息交互可显著提高语义分割和实例分割的结果。
表7 剥离试验的定量结果Table 7 Quantitative results for ablation test %
3 结 语
SISN较好地完成了3D物件点云的语义与实例联合分割任务。通过动态图卷积,网络可以充分提取3D物件的几何特征;语义特征与实例特征的交叉融合,使得网络可在这两个分割任务上相互辅助,从而提高分割的精度。PartNet数据集和植物点云数据集上的定性与定量试验结果表明,与ASIS网络和JSNet网络相比,SISN对物件点云的分割效果更优。未来准备将SISN迁移至更复杂的物体点云分割任务,并计划引入诸如注意力机制等更有效的特征提取模块,使之在所有类型的物体点云上都能进行准确的语义和实例分割。