1. 引言
随着计算机技术、传感器技术、计算机视觉技术的发展,人们可以快速获取具有三维坐标(x, y, z)和一定属性(颜色、反射强度等)海量的、不规则空间分布的三维点云,这种形式的数据能有效地刻画复杂的现实世界,点云数据在形式上呈离散分布,数据点的位置、间隔等在三维空间上呈不规则分布,同时,点云数据具有可测量性,可以直接在点云上获取距离、方位角、表面法向量,还可以计算得到点云所表达目标的表面积、体积等。目前已有多种方式获取三维点云数据,例如通过一些采集设备采集,如三维激光扫描系统,消费者级深度(RGB-D)相机等。还可以通过一些三维重建算法来获得点云数据,例如运动恢复结构(SFM)算法等。随着智慧城市、现代化农业、无人驾驶、高精度地图等新技术的不断发展,点云的应用迎来了良好的发展机遇,同时也面临着新的挑战。而点云分割作为三维点云处理中的重要分支,已成为导航定位、计算机视觉、测绘地理信息等多领域的重要研究方向。
点云分割是按照一定的规则对点云数据进行划分,通常是将具有相同特征的点标记为相同类的过程。点云分割实际上是对点云中的每个点进行分类。点云分割方法已经经历了较长时间的发展,出现了大量的传统经典分割算法,传统分割算法需要根据点云的一些基本特征如几何特征、颜色信息等设计特征描述子(Feature Describer),然后根据这些特征描述子建立特征滤波器进行分割,其中主要的分割方法有:基于边界的分割方法,基于面的分割方法,基于聚类的分割方法,基于机器学习的分割方法。虽然经过大量学者的研究改进,传统点云分割方法不断进步,分割精度不断提高。但是,传统点云分割方法需要手工设计特征描述子,这要求设计者具有丰富的先验知识,而且设计的特征描述子只对特定的任务分割效果较好,对其他任务的泛化能力较差。传统分割算法在点云分割过程中需要设定大量的阈值,十分复杂与繁琐。为了提高点云分割的自动化与智能化程度,基于深度学习(Deep Learning)的点云分割方法正在成为最新的研究热点与难点。
三维点云分割方法已经经历了较长时间的发展,主要分为传统分割算法和基于深度学习的分割方法。传统分割算法需要根据点云的一些基本特征如几何特征、颜色信息等设计特征描述子(Feature Describer),然后根据这些特征描述子建立特征滤波器进行分割,其中主要的分割方法有:基于边界的分割方法 [1],基于面的分割方法 [2],基于聚类的分割方法 [3]。Franck等人 [4] 采用基于面的方法对植株体素进行分割,得到了较好的分割结果。
虽然经过大量学者的研究改进,传统点云分割方法不断进步,分割精度不断提高。但是传统点云分割方法需要手工设计特征描述子,这要求设计者具有丰富的先验知识,而且设计的特征描述子只对特定的任务分割效果好,对其他任务的泛化能力较差。传统分割算法在点云分割过程中需要设定大量的阈值,十分复杂与繁琐。为了提高点云分割的自动化与智能化程序,基于深度学习(Deep Learning)的点云分割方法正在成为最新的研究热点与难点。对以点云作为输入的深度神经网络,斯坦福大学Charles团队 [5] 提出了PointNet,利用对称函数解决了点云的无序性问题,成为一个将点云数据直接作为神经网络的输入的模型,取得了不错的识别与分割精度。然而该网络只能学习到点云全局特征,忽略了局部特征,针对该问题Charles团队进行了改进提出了PointNet++ [6],该网络通过层级结构利用局部区域信息学习特征,网络结构更有效更鲁棒。Yang Yanli [7] 等人在Pointnet的基础上提出改进,提出PointCNN网络结构模型,该模型通过对点云特性的分析,提出一种从点云中学习得到的X变换矩阵,然后将其与点关联的输入特征进行卷积将它们重新排列成潜在隐含的规范顺序。Jiang M等 [8] 提出了PointSIFT网络,该方法借鉴在二维图像上使用较为广泛的sift算子,对三维点云在不同方向上的信息进行编码,并且也具有尺度不变性。J. Li等人 [9] 在PointNet++的基础上,提出SO-Net以及Behl [10] 等提出的PointFlowNet等网络模型均取得了较好的效果。Wang Y等 [11] 将图神经网络应用于点云数据上,提出动态图的构造方法,取得了不错的分类和分割效果。这些网络的出现为后来基于深度学习的点云分割方法指引了方向,具有重要价值。鉴于直接以点云为输入的网络模型结构在点云分割上取得的较好效果,越来越多的研究者开始对这类方法进行研究与改进。本文将自主采集的真实植株幼苗经过三维重建、预处理等操作后作为数据集,然后通过提出的GCNN模型进行特征提取,完成植物点云分割任务,最后通过消融实验证实了模型的有效性。
2. 相关工作
2.1. 多层感知机
多层感知机属于前馈神经网络,是一种最常见的神经网络结构。感知机是一个主要解决二分类问题的线性网络结构,多层感知机除输入输出层之外,中间包含多个隐藏层。最简单的多层感知机只含有一个隐藏层,如图1所示。

Figure 1. The three-layer structure of multilayer perceptron
图1. 多层感知机的三层结构
多层感知机相邻两层是相互连接的。w代表权重系数,b代表偏置,其中权重系数w和偏置b经网络反向传播学习得到,a代表隐藏层输出,第一层隐藏层输出为
,f为激活函数,常用的激活函数为sigmoid函数或tanh函数,其线性输出公式如下:
(1)
2.2. 图卷积神经网络
图卷积网络将卷积运算(例如图像)推广到图数据,即非结构化数据。现实中有很多非结构化的数据,例如社交网络、知识图谱等,近年来兴起的点云数据是非结构化数据的一种。这类数据每个顶点的邻居节点不相同,因此不能直接使用传统卷积神经网络提取特征。
以点云数据为例,只需以点云作为顶点,以KNN聚类算法为基准,求出邻居顶点后构成边,从而形成完整的点云图结构,直接作用于图卷积神经网络GCN中实现特征提取,如图2所示。

Figure 2. Learning process of point cloud graph feature
图2. 点云图特征学习过程
3. 本文方法
受PointNet和图神经网络启发,本文提出一种动态图神经网络模型GCNN,GCNN总体架构如图3所示。PointNet将点云直接经过mlp提取特征,所得特征缺乏点与点之间的联系,不能很好的反应点云的几何信息。本文将植株点云经过图卷积GraphConv提取特征,GCNN总体结构如图3所示。对输入植株点云经过GraphConv提取特征,并将每个GraphConv提取的特征聚合起来,经过对称操作max pooling后形成一维的全局特征描述子,用于生成最后的p类分割分数。图构建后并不是固定的,而是在网络的各层不断更新。
3.1. 图卷积GraphConv
定义图G为
,其中
为顶点集,
是边集。F维点云含有n个点,表示为
,每个点包含坐标信息xyz,即
,点云同时也可含有颜色,法向量等信息。对点云中的
,取其在点集X中的k近邻点来构建图,其中每个顶点的近邻点也可包含本身。定义特征
,其中h为多层感知机mlp,将特征空间升维。最后用对称操作
聚合图中每条边的特征得到点
最终特征
,本文采用的对称操作为maxpooling。GraphConv过程如图4所示。
3.2. 动态构图策略
在模型GCNN中图的构建并不是固定的,而是在网络的每层逐层更新。第0层的图由点云坐标根据3.1节中的方法建图,图中的顶点即为原始点云中的点,所得图包含着点云中每个点周围的几何领域信息。在随后的网络层中,根据上一层所得的特征
寻找k近邻,并用找到的k近邻特征
作为顶点进行建图,图所包含的信息不再仅有几何领域信息,同时包含语义信息。后续实验证明逐层更新的策略有利于对点云特征提取,提高了分割准确率。
4. 实验
4.1. 实验数据集
本文数据集为864株同种类植物幼苗点云数据,通过幼苗二维图像采集平台逐株拍摄多角度二维图像,再经过点云三维重建SFM (structure from motion)算法重建出植株点云数据。对重建出的点云数据进行滤波去除噪声后,利用CloudCompare软件对所有数据进行标注。部分数据如图5所示,其中绿色为植株叶子类,蓝色为非叶子类。

Figure 5. Part of plant point cloud data
图5. 部分植物点云数据
4.2. 评价指标
在点云分割中,常用的评价指标有IoU和Dice两种,本文实验主要是采用平均交并比(mIoU)作为评价指标,平均交并比mIoU是衡量物体分割准确程度的重要标准之一,其计算方法如公式(2)所示:
(2)
4.3. 实验结果分析
为验证模型有效性,使用植株数据集在同一台设备上进行消融实验。实验结果如表1所示。
实验结果表明,本文的GCNN模型在植株点云数据集上有着一定的效果,同时,采用动态构图策略充分结合几何和语义信息对模型的泛化能力有着一定提升。
5. 总结
本文针对植物点云分割提出了GCNN模型。模型通过图卷积加强对点云特征的提取,并采用动态构图的策略,在网络的每层更新图的构成,使模型所得特征既包含点云的几何信息又包含一定的语义信息,经过与多个模型的对比实验,说明本文的GCNN模型在植物点云数据集上具有一定的效果。