中国激光, 2024, 51 (8): 0810001, 网络出版: 2024-03-29  

基于改进PointNet++模型的苗圃树木点云分类与分割

Point Clouds Classification and Segmentation for Nursery Trees Based on Improved PointNet++ Model
作者单位
江苏大学电气信息工程学院,江苏 镇江 212013
摘要
激光点云技术可用于苗圃树木生长状态监测与管理,为农业植保机器人提供有效的靶标信息。为了进一步提高树种分类和树冠、树干内部分割的精准性,提出一种基于改进PointNet++的激光点云苗圃树木分类与分割方法。首先,调整PointNet++深度网络邻居点云的相对特征值,同时融合三维点云的低维和高维特征,充分利用各层级点云的特征。然后,将坐标注意力模块与注意力池化融合,进一步增强局部特征提取的能力,提高分类和分割的准确性。最后,针对苗圃常见树木自制了包含7类苗圃景观树木点云的数据集并用于实验。实验结果表明,提出的树种识别方法总体精度可达92.50%,平均类别精度为94.22%;提出的树冠、树干分割方法的平均交并比为89.09%。所提方法在分类和分割性能方面均明显优于经典的PointNet和PointNet++,能够为苗圃树木检测识别和农业机器人作业提供更精确的信息。
Abstract
Objective

Nurseries span large areas, so that managing and protecting landscape trees manually requires significant resources. Substituting agricultural robots for human forces can effectively address issues of low productivity and labor shortages. The perception systems are essential elements of agricultural robots. Agricultural robots can obtain essential information for tree statistical analysis, autonomous navigation, and target spray operations by perceiving tree species, trunks, crowns, and others. Therefore, it is of great significance to design a neural network model which can accurately obtain the information of tree species, crowns and trunks. Point clouds are more suitable for outdoor scenes due to their greater robustness to different lighting conditions. While there are many studies related to tree species classification and crown or trunk segmentation, most of them focus on trees located in forestry areas or require prior point cloud registration operations. Compared with trees in forest areas, landscape trees planted in nurseries are generally smaller in size. Moreover, during the process of work, robots are only able to capture partial point clouds of trees. In order to ensure the real-time performances, robots need to obtain relevant information on tree species, trunks, and crowns from partially scanned point clouds. Hence, based on PointNet++, we present an improvement model in this paper. We collect partial point clouds of trees from nurseries to train the model for tree species classification, as well as segmentation tasks of tree crowns, trunks and other parts. Experimental results demonstrate its superior classification and segmentation performances, which can prepare for the subsequent implementation of the application on the hardware platform.

Methods

The proposed neural network model adopts the hierarchical structure. Multiple set abstraction (SA) layers are used to extract the local features of the point clouds. Each SA layer consists of a sampling layer, a grouping layer, and a PointNet layer. The sampling layer employs the iterative farthest point sampling to select sampling points. Then, taking the sampling points as the center points, spherical regions with a fixed radius d are constructed as the local areas in the grouping layer. Each local area contains K neighboring points. As the number of layers increases, the radius d of the spherical region expands continuously. For larger local areas, the feature distribution adjustment module is employed to convert the relative features of neighboring points from linear to arc tangent, increasing the relative features of those closer to the central point while reducing the influence of distant neighboring points in each local area. Multilayer perceptrons (MLPs) are employed for extracting local features in the PointNet layer. To enhance the model’s capacity to capture important information, we integrate the coordinate attention (CA) module with attention pooling for extracting local features. Furthermore, in the final SA layer, the model concatenates the low-dimensional and high-dimensional features of sampled points, and employs fully connected networks to predict the category of the input point clouds. The segmentation branch utilizes the U-Net structure, and employs an interpolation method based on inverse distance weighted average with K nearest neighbors, combining with skip links across levels for feature propagation. Finally, the category of each point is obtained to realize segmentation.

Results and Discussions

For classification and segmentation experiments, we collect seven kinds of point clouds of common landscape trees in the nursery using the Livox Horizon laser. During the data collection process, the parameters of the laser are shown in Table 1, and more detailed information of the collected point clouds is shown in Table 2. To perform segmentation tasks, each group of collected point clouds is further processed by dividing into 2?4 parts represented with different labels (Fig.9). To demonstrate better classification and segmentation performances, the experimental results of the proposed model are compared with classic PointNet and PointNet++ using the self-made dataset. Besides, we conduct experiments by replacing the improved attention module in our proposed model with squeeze-and-excitation (SE) attention module, convolutional block attention module (CBAM), and CA attention module. For the classification experiments, the models are first pre-trained using the public dataset ModelNet40 before being trained with the self-made dataset. And the results are shown in Table 4. The overall accuracy (OA) and mean class accuracy (mAcc) of the proposed model are 92.50% and 94.22%, respectively, which are higher than the corresponding metrics of PointNet and PointNet++. Compared with other kinds of attention modules, the attention model utilized in the proposed model achieves the highest classification accuracy. The same models are also trained for the segmentation experiments, and the testing results are presented in Table 5. The evaluation indicator values including average intersection over union (mIoU), precision, recall and F1 score of the proposed model are 89.09%, 90.09%, 95.44% and 92.59%, respectively, which are higher than those of PointNet++. Furthermore, our proposed model outperforms PointNet++ in terms of accurately capturing fine details (Fig.11).

Conclusions

In this paper, we present an improved neural network model based on point clouds, which is designed to classify tree species in the nursery and segment tree crowns, trunks, and other parts. Different from the classic neural network model PointNet++, the proposed model combines the high-dimensional and low-dimensional features of the points to improve the performance. And the relative features of the neighboring points are adjusted to the form of arc tangent distribution, which can improve the corresponding values of the neighboring points closer to the central point in the local areas. Furthermore, the CA attention module and attention pooling module are combined to improve the ability of capturing the important features. To enable the practical application of agricultural robots, we collect and process point cloud data of landscape trees in the nursery to train the models. The experimental results demonstrate that our proposed network outperforms PointNet and PointNet++ in terms of both classification and segmentation tasks. The model proposed in this paper provides the theoretical foundation for future applications of agricultural robots in the nursery, such as tree statistical analysis, autonomous navigation, and target spray operations.

1 引言

近年来,城市绿化工程已经逐渐成为了与城市发展密切相关的热点话题之一1。苗圃用于培育城市绿化工程所需树木,通常都会培育多种不同类型的树木以满足各种城市绿化需求。利用先进的科学技术对苗圃中不同类别的树木进行有效的管理和监测,能够及时发现状态不佳的树木并进行及时有效的养护和处理等操作。其中,树冠和树干是树木的重要组成部分。根据冠层的相关信息,农业机器人可以实现对靶变量的喷雾作业,达到降低成本、减少多余农药对环境造成的影响的目的2。而获取到的树干信息则可以帮助农业机器人实现自主导航等作业3

随着计算机科学技术的不断发展,与深度学习领域相关的神经网络模型也日渐成熟。目前,运用较广泛的神经网络模型可以分为两种:基于图像和基于点云的模型。其中,激光点云由一组包含三维(3D)坐标信息(xyz)的点组成,不受光照条件的影响,并保留了物体的原始几何信息4-5,因此更适合用于苗圃、果园等户外场景的检测任务。但是,点云的无序特性造成了不能直接使用基于图像的神经网络模型提取三维点云的特征的问题。为了解决这一问题,早期的研究人员尝试将点云中的点转换为多个二维(2D)图像6-7或体素8-9,再用2D或3D卷积神经网络进行特征提取操作。虽然上述方法可以解决点云中点的无序特性等问题,但由于额外的数据处理步骤,通常需要更多的内存空间和计算成本。2017年出现了利用多层感知直接从点云中提取有效特征的神经网络模型PointNet以及PointNet++10-11。PointNet利用最大池化函数以及设计的联合对准网络,解决了点云的无序特性10。在PointNet的基础上,PointNet++添加局部区域特征提取模块,通过分层的局部结构捕获越来越高维的点云局部特征11。相比于其他方法,PointNet以及PointNet++不需要额外的存储空间以及数据转换过程的计算量,因此更加高效。上述两个模型目前被广泛应用于工程领域中12-14

近年来,国内外很多研究者都对树种分类以及树冠、树干分割等问题进行了相关研究。陈向宇等15结合树木的结构特征、纹理特征以及冠形特征,利用支持向量机实现了树种分类。但该类方法对输入特征的要求较高,若特征选择不当则会导致性能下降。Zhang等16设置阈值截取由无人机激光雷达和地面激光得到的树干点云,通过绘制不同高度树干的点云截面投影并计算中心坐标来实现树木检测。但该方法主要针对的是林区内的树木。相比之下,苗圃中种植的景观树较矮,部分景观树的树干会被树冠点云遮挡,因此该方法并不适用于苗圃场景中的树木检测。卢华清等17首先构建点云协方差矩阵,根据对应的特征值以及特征向量对树干枝叶进行粗分离处理,再用Dijkstra算法计算最低点到其余点的最短路径提取出枝干骨架。该方法主要是针对树木的枝叶点云与树干点云进行分割,对采集的数据要求较高,需要先将多个角度采集到的点云进行配准处理后,再进行分类、分割作业。但在苗圃场景的实际作业过程中,由于遮挡问题,农业机器人往往只能扫描到树木的单侧点云。为了保证工作的实时性,农业机器人需要根据扫描到的部分点云及时执行树种分类任务并确定树冠、树干等信息,然后再根据获取的信息执行后续的导航和喷药等操作。因此该方法并不适用于农业机器人在苗圃场景下的实时操作。

本文针对农业机器人在苗圃实际应用场景中的需求,对PointNet++进行了改进,并应用其分类和分割分支实现、提高对苗圃中景观树的树种分类和各部分割任务的识别精度。改进后的模型使用了更深的网络结构以提取更高维度的特征,并充分利用各层级点的特征提高分类和分割的准确性。此外,对划分出的较大的局部区域,根据与中心点的距离调整邻居点的相对特征分布。同时将坐标注意力机制与注意力池化相结合,进一步提高模型提取局部特征信息的能力。采集苗圃中树木的单侧点云并处理制作数据集执行分类和分割实验。结果表明,改进后的模型具有更高的分类和分割精度,为后续在硬件平台的应用提供了基础。

2 方法原理

2.1 特征融合策略

PointNet++神经网络模型基于层级框架,可以有效捕获点云的局部特征以完成分类和分割任务。通过降采样算法对点云进行采样,每一层点的数量不断减少,但特征维度却不断增加,因此每个点包含的信息也更丰富。然而,PointNet++只使用最后一层集合抽象(SA)层中采样点对应的最高维度的特征,而忽略了点在其他SA层对应的低维特征。点云的高维特征更能体现点云的全局信息,而低维特征则可以更好地表征局部特征,体现更多细节信息。因此,充分利用各个SA层中点的特征信息有利于提高网络的性能。本文使用特征融合策略,将点云的低维以及高维特征对应拼接,以提高模型的精度,具体内容如图1所示。

图 1. 融合特征策略示意图

Fig. 1. Schematic diagram of feature fusion strategy

下载图片 查看所有图片

图1中,绿色、红色和蓝色的点分别代表原有点云中的点、采样点以及采样后剩余的点,MN分别表示点云中点的个数和采样点的个数。采样点的特征通过PointNet层由原来的D1维上升到D2维。本文使用的特征融合策略则是将采样点的特征与点对应之前的特征相结合,从而将特征扩展到D1+D2维。

2.2 局部特征分布调整策略

在局部特征提取的过程中,主要是根据邻居点与中心点的相对特征提取重要信息。距离中心点越近,则邻居点与中心点的关系越紧密,相对特征也越重要,更能反映出重要的信息。尤其对于划分出的较大的局部区域,距离中心点较远的邻居点可能会影响局部特征信息。因此,本文采用的特征分布调整方法主要是根据邻居点到中心点的距离来调整对应在局部区域内的相对特征值。

假设半径为d的局部区域的中心点用pi表示,该局部区域共包含K个邻居点[pi1,pi2,,piK],如图2所示。为了获取点的局部特征,PointNet++首先将对应的第j个邻居点pij的坐标转换为以中心点为原点的相对坐标,再使用多层感知机(MLP)提取点云在局部区域内的相对特征Fij

Fij=MLP(pij-pi)

图 2. 获取局部区域内点云中点的相对坐标转换

Fig. 2. Acquisition of relative coordinates of neighboring points for each local area

下载图片 查看所有图片

与PointNet++不同,改进后的模型使用特征分布调整(FDA)模块先将邻居点局部特征分布转换为反正切的形式,再提取局部相对特征Fij

Fij=MLPαarctanβ(pij-pi)

式中:αβ为调整特征分布形状的参数。

将原特征与修改后的特征进行比较,可以得到如下公式:

αarctanβ(pij-pi)>(pij-pi),(pij-pi)(0,l)αarctanβ(pij-pi)=(pij-pi),(pij-pi)=l       αarctanβ(pij-pi)<(pij-pi),(pij-pi)(l,d)

式中:l为阈值,当邻居点与中心点的距离为l时,原来的相对特征与调整后的相对特征相同。

通过添加FDA模块,点云在局部区域的相对特征分布将由原先的线性形式转换为反正切形式。与原来的特征相比,距离中心点更近的邻居点的相对特征值将会增加,而距离中心更远的邻居点的相对特征值将会减少。

2.3 融合坐标注意力机制及注意力池化

注意力机制的主要原理是在输入特征的基础上生成一个权重矩阵,用该矩阵对输入特征进行加权操作。通常情况下,重要的特征对应的权重值较大,而无效特征对应的权重值较小。通过添加不同的权重达到突出重要信息,同时抑制无效特征的目的。由于注意力机制在神经网络模型中表现出很好的性能,因此被广泛用于深度学习领域的应用中。

注意力机制种类众多,包括压缩与激励(SE)注意力机制18、卷积注意力机制模块(CBAM)19、坐标注意力机制(CA)20等。SE注意力模块主要由squeeze、excitation、reweight三部分组成,仅仅关注通道信息,忽略了重要的位置信息。CBAM属于混合注意力机制,以串联的方式从空间以及通道两个维度提取特征,但只能捕获局部信息。而CA则是从将通道注意力分解为两个一维的特征编码,沿着两个不同的方向使用并行的池化操作进行特征聚合,可以获取更深远的信息。通过添加SE、CBAM以及CA等注意力模块,能够提升神经网络模型的性能。

平均池化和最大池化是目前最常用的池化方法,它们分别用于求局部区域特征的平均值和最大值,通过特征压缩来加快运算速度。由于可以保持网络的对称性,这两种池化方法在点云局部区域特征提取的过程中,也常被用于局部区域邻居点特征的整合。但这两种池化均不能准确地学习有效特征,可能导致大量有用信息的丢失。在RandLA-Net模型21中提出注意力池化模块,以特征学习的方式获取有用的局部信息。本文用注意力池化替代CA注意力机制中的池化方式,以提升分类和分割结果的准确性,其具体结构图如图3所示。

图 3. 坐标注意力机制与注意力池化融合模型

Fig. 3. Model combining coordinate attention mechanism and attentive pooling

下载图片 查看所有图片

假设给定的输入点云特征为FRC×N×K,其中CNK分别表示点云中点的特征维度、中心点个数以及局部区域内邻居点的个数。与只生成单一通道注意力的SE不同,该模型使用两个注意力池化,从中心点和邻居点两个部分分别获取两个特征FNFK,对应的维度为C×N×1C×K×1。在注意力生成阶段,将获取的两个特征进行拼接,并使用卷积函数将原来的C维特征压缩为C/r维,再使用批量归一化操作以及swish激活函数得到中间特征Fm

Fm=δConvFN,FK

式中:·,·为拼接操作;Conv为卷积变换函数;δ为swish激活函数。

接着,沿两个方向将中间特征分解为不同的张量fN以及fK,使用不同的卷积将特征转换为C维,通过sigmoid激活函数得到两个注意力权重,并与输入特征执行相乘加权操作,得到该模块的输出特征Fout

Fout=FσConvNfNσConvKfK

式中:ConvNConvK分别为两个方向上的卷积函数;σ为sigmoid激活函数。

使用注意力池化替代坐标注意力模块中原有的平均池化,如图3所示。假设该模块输入的特征为F=F1,F2,,FK,对每一个输入特征使用共享的MLP以及softmax得到对应的注意力分数:

si=softmaxMLP(Fi)

再将得到的注意力分数与输入的特征加权求和,得到局部聚合特征,最后使用卷积函数与批量归一化操作得到该模块的输出特征Fout

Fout=Convi=1KFisi

2.4 模型分类分支

由于层级结构,本文提出的网络模型划分出的局部区域逐步扩大,可以获得越来越高维的点云局部特征。模型的输入是一组N×C的点云。在所有实验中,由于只使用输入点云的三维坐标信息x,y,z,因此输入点云的特征维度C设定为3。模型的分类分支主要是由多个SA层组成的,其结构图分别如图4所示。

图 4. 改进模型的分类分支

Fig. 4. Classification branch of improved model

下载图片 查看所有图片

SA由采样层(sampling)、分组层(grouping)和PointNet层组成。采样层中使用最远距离采样法从输入的N个点中获取Ns个采样点。分组层中则以Ns个采样点作为中心点,划分出半径为d的球形区域作为局部区域,并保证每个局部区域均包含K个邻居点。当局部区域内的邻居点的个数少于K时,则重复第一个邻居点的坐标,直到达到设定的要求。由于划分出的局部区域较大,在模型的后两个SA层的分组层后添加FDA模块,用于调整邻居点的相对特征分布,使得越靠近中心点的邻居点对应特征值越大。局部区域中邻居点的坐标转换为中心点为原点的相对坐标后,再使用PointNet层获取每个局部区域中邻居点与中心点之间的相对信息,作为点云的局部特征。两个FDA模块中的α分别为1π以及65πβ设定为5。PointNet层中添加2.3节介绍的注意力模块,用于提升模型提取重要特征的能力。此外,由于特征融合策略,最后一个SA中把64个采样点在前一层的所有对应的特征进行连接,将特征扩展至975维作为点云的全局特征。最后,使用全连接层根据全局特征获得分类预测分数,并根据预测的最高分数确定输入点云的类别。

2.5 模型分割分支

与PointNet++一样,改进模型的分割分支采用了经典的U-Net结构,encoder部分与分类网络相同,在decoder部分使用基于插值和连接拼接方式作为该分支主要组成部分。其中,插值是基于K个最近邻点的反距离加权平均执行反向插值操作,得到上采样点的特征:

fjx=i=1Kωixfiji=1Kωix

式中:ωix=1ddisx,xipddisxxi)表示点xxi的距离,p=2K=3j=1,,C

具体而言,对于上采样层中某个点pi,找到上一层中与之距离最近的K个点的对应特征进行加权求和,权重为对应距离的反函数。在decoder部分采用skip link concatenation的方式,将点在encoder部分对应的特征进行拼接。最终重复PointNet单元(1×1卷积网络),直到得到每个点的预测分数,从而确定每一个点的类别。图5展示了改进模型的分割分支结构。

图 5. 改进模型的分割分支

Fig. 5. Segmentation branch of improved model

下载图片 查看所有图片

3 实验分析

3.1 点云数据采集与处理

选择江苏镇江宝堰镇南宫村杨渡银杏山的林苗圃(32.12°N,119.31°E)作为实验场地,从2022年7月到2023年4月多次采集不同树种的点云并制作数据集。实验场地如图6所示。用Livox Horizon激光传感器作为采集工具获取苗圃中树木的点云数据。Livox Horizon激光传感器具有精确的范围精度和角度精度。传感器积分时间设置为3000 ms,以确保采集到足够的点。数据采集过程以及获取到的点云如图7所示。激光参数如表1所示。

图 6. 数据采集的苗圃场景。(a)苗圃全场景;(b)苗圃部分场景

Fig. 6. Nursery for data collection. (a) Whole scene of nursery; (b) part of scene of nursery

下载图片 查看所有图片

图 7. Livox Horizon激光传感器以及获取的点云。(a)Livox Horizon激光传感器;(b)获取的点云

Fig. 7. Livox Horizon laser sensor and acquired point clouds. (a) Livox Horizon laser sensor; (b) acquired point clouds

下载图片 查看所有图片

表 1. 激光参数

Table 1. Laser parameters

ParameterValue
Detection range /m260
Range error /cm2
Angle error /(°)0.05
Field-of-view (FOV) /(°)81.7×25.1
Data rate /(point·s-1240000

查看所有表

该苗圃中包含多个类别的景观树,我们采集其中7种常见景观树的点云制作数据集:桂花、海棠、红叶李、鸡爪槭、腊梅、枇杷以及无刺枸骨球。对应的图片如图8所示。

图 8. 7种常见景观树。(a)桂花;(b)海棠;(c)红叶李;(d)鸡爪槭;(e)腊梅;(f)枇杷;(g)无刺枸骨球

Fig. 8. Seven common kinds of landscape trees. (a) Osmanthus fragrans; (b) Malus halliana; (c) cherry plum; (d) Acer palmatum; (e) Chimonanthus praecox; (f) loquat tree; (g) Chinese holly

下载图片 查看所有图片

为了实现基于点云的树种分类任务以及树冠、树干等各部分割任务,需要对采集好的点云数据进行处理。除了目标点云,Livox Horizon激光传感器采集到的数据还包括地面点云、背景点云、噪声点等无用的点。为了获取目标点云,使用CloudCompare软件从原始点云中分割出所需的目标点云。

此外,分割出的目标点云还需进行标准化处理,将所有点的坐标转换至-1,1之间。可以用下式进行处理:

(x-xmin,y-ymin,z-zmin)max(xmax-xmin,ymax-ymin,zmax-zmin)

式中:x,y,z表示当前点的坐标;xmin,ymin,zmin表示一组点云中三维坐标对应的最小值;xmax,ymax,zmax表示一组点云中三维坐标对应的最大值。

共有1046棵不同种类的树作为采集样本。为了获取更多的点云数据,从不同的位置进行扫描,最终共获得1828组点云数据。根据7∶3的比例将数据划分为训练集与测试集。每一类树种的数量、获得的点云组数以及对应的训练集和测试集的数量如表2所示。

表 2. 不同树种采集到的树木数量、得到的点云组数以及训练集和测试集的数量

Table 2. Numbers of samples, point cloud groups, and groups in training and testing sets for different types of trees

CategoryNumber of treesNumber of point cloud groupsNumber of point cloud groups in training setNumber of point cloud groups in testing set
Osmanthus fragrans12017912653
Malus halliana14428320182
Cherry plum16428720186
Acer palmatum15129020387
Chimonanthus praecox15829020387
Loquat tree14621515164
Chinese holly16328419985

查看所有表

根据实际情况,采集到的点云被进一步细分,每一组点云被分割成2~4个部分,并且用不同的标签表示:树冠为0;树干为1;种植盆为2;支撑杆为3。不同类别的树木分割后的示意图如图9所示,为了便于区分,使用不同颜色的点云对应不同的组成部分(树冠为绿色点云;树干为黄色点云;种植盆为红色点云;支撑杆为褐色点云)。

图 9. 7个树种分割后的点云示意图。(a)桂花;(b)海棠;(c)红叶李;(d)鸡爪槭;(e)腊梅;(f)枇杷;(g)无刺枸骨球

Fig. 9. Schematic diagram of segmented point clouds of seven tree species. (a) Osmanthus fragrans; (b) Malus halliana; (c) cherry plum; (d) Acer palmatum; (e) Chimonanthus praecox; (f) loquat tree; (g) Chinese holly

下载图片 查看所有图片

3.2 实验环境及参数设置

本文所使用的操作系统为Ubuntu,对应的软件以及硬件参数如表3所示。

表 3. 实验软硬件参数

Table 3. Software and hardware parameters for experiment

ParameterContent
CPUIntel(R) Xeon(R) Gold 6226R
GPUNVIDIA RTX3090
CudaCuda11.7
Data processing toolsPython3.8, PyCharm2020
Deep learning frameworkPytorch

查看所有表

3.3 评价指标

在深度学习领域中,评价指标用于评估模型的性能,根据评价指标的值可以判定最优的模型。混淆矩阵主要用于比较分类结果与实际值,并且可以从中了解到每一类预测的情况,以便进行错误分析。混淆矩阵的对角线元素表示模型预测正确的个数。

总体精度(OA,AO)和平均类精度(mAcc,AmAcc)是用于评价模型分类性能的两个常用指标。OA表示使用测试集的总体准确率,mAcc则表示平均类别准确性。OA与mAcc的计算公式分别为

AO=NTPWAmAcc=1mi=1mNTPiWi

式中:NTP表示预测正确结果的数量;W为测试集中点云的总个数;NTPi表示第i类点云预测正确个数;Wi是测试集中第i类点云的总个数。

分类任务主要是判定输入点云的类别,分割任务通常需要确定输入点云中每一个点的类别。交并比(IoU,RIoU)以及平均交并比(mIoU)用于评价分割模型。IoU可以用下式表示:

RIoU=NTPNFP+NTP+NFN

式中:NTPNFPNFN分别表示预测为真阳性、假阳性和假阴性的点数。

mIoU表示各个部分IoU的平均值。

除mIoU以外,精确率Rprecision、召回率RrecallF1值都是常用于评价模型分割性能的指标,分别表示为

Rprecision=NTPNFP+NTPRrecall=NTPNTP+NFNF1=2×Rrecall×RprecisionRrecall+Rprecision

本文将使用OA、mAcc、mIoU、精确率、召回率及F1值作为评价算法性能的指标。评价指标的值越大,代表算法的性能越好。

3.4 树种分类实验与结果分析

下面使用制作的点云数据进行树种分类实验,并对实验结果进行分析。点云分类任务的主要目的是确定输入点云的类别。当点云样本数据较少,又想提高网络模型的泛化性时,可以使用迁移学习的方法防止模型过拟合现象的发生。因此,我们先使用公共数据集对网络模型进行预训练,再调整网络模型结构,使用自制的数据集得到分类实验结果。

在本次实验的预训练中,使用了经典的点云分类数据集ModelNet40。该数据集中共包含常见的40个类别物体的点云,共有12311组点云数据。其中,9843组点云作为测试集数据,2468组点云作为测试集数据。每组点云包含10000个点,在实验过程中,网络模型将每次从数据中采样1024个点进行训练以及测试。使用该数据集对PointNet,PointNet++以及改进网络模型进行训练与测试。本文提出的模型中添加了融合注意力池化的CA模块,为了验证添加改进的注意力模块对模型性能的影响,分别使用SE、CBAM以及CA进行训练测试。预训练完成后,调整网络模型中全连接层最后一层输出节点的个数,将预训练好的模型中的40个输出节点调整成7个,网络模型其他参数保持不变。更换数据集后,再次训练网络模型,对模型的参数不断进行迭代。用训练好的网络模型进行测试,测试结果如表4所示。

表 4. 使用自制数据集的模型分类测试结果

Table 4. Testing results of classification on self-made dataset

ModelOAmAcc
PointNet81.2580.00
PointNet++89.7189.44
Ours (SE)90.3392.39
Ours (CBAM)90.8392.28
Ours (CA)91.3393.13
Ours92.5094.22

查看所有表

根据表4,本文提出的模型的分类性能优于PointNet以及PointNet++:改进后模型预测的总体精度为92.50%,比PointNet高11.25个百分点,比PointNet++高2.79个百分点;改进后模型的平均类精度为94.22%,比PointNet高14.22个百分点,比PointNet++高4.78个百分点。另外,与使用SE、CBAM以及不包含注意力池化的CA模型相比,本文提出的改进模型可以获得更高的分类精度。

为了进一步对预测结果进行分析,我们使用混淆矩阵展示三个模型对每一类树种的预测结果,如图10所示。图10中每一列数据的总和表示该类树种在测试集中的个数。对角线元素颜色越深,则表示该类预测越准确。与其他两个模型相比,改进后模型除了对腊梅以及枇杷树预测准确性略低,其他树种预测准确性均优于其他两种模型。比较其他树种分类,三种模型对鸡爪槭、桂花以及枇杷这三类分类的准确性较低:桂花误判为腊梅,鸡爪槭误判为枇杷,枇杷误判为鸡爪槭。造成分类准确率低的原因可能是由于桂花与腊梅、鸡爪槭与枇杷外形相似。自制的点云数据集仅保留了物体的坐标信息,没有保留颜色信息,因此,只依靠点云信息很难实现准确分类。

图 10. 混淆矩阵。(a)PointNet;(b)PointNet++;(c)ours

Fig. 10. Confusion matrixes. (a) PointNet; (b) PointNet++; (c) ours

下载图片 查看所有图片

3.5 树冠树干等分割实验与结果分析

与判断输入点云类别的分类模型相比,分割模型需要确定点云中每一个点的类别。由于本文所述分割实验的主要目的是分割出树的树冠、树干、种植盆以及支撑杆,因此在分割实验中,不再根据树的种类进行划分。将第2节中处理好的点云数据按照7∶3的比例划分训练集以及测试集。分割实验中,每次将从原有的点云中采样2048个点,并经过模型特征提取、分类,最终确定采样点中每一个点的类别。用训练好的PointNet,PointNet++以及包含各种注意力模块的网络模型进行测试,测试结果如表5所示。

表 5. 使用自制数据集的模型分割测试结果

Table 5. Testing results of segmentation on self-made dataset

ModelmIoUPrecisionRecallF1 score
PointNet76.9570.7176.0173.01
PointNet++83.8585.3592.4088.47
Ours (SE)87.0889.3294.8691.45
Ours (CBAM)87.6188.5694.2991.17
Ours (CA)89.8988.2994.5191.12
Ours89.0990.0995.4492.59

查看所有表

根据表5所示,在分割任务中,本文提出的模型得到的mIoU、精确率、召回率以及F1值分别为89.09%、90.09%、95.44%以及92.59%,比PointNet++分割得到的结果分别高出5.24、4.74、3.04、4.12个百分点。与包含不同注意力模型的模型相比,尽管本文提出的模型mIoU略低于直接使用CA的模型,但其他指标均为最高。

为了进一步对分割后的结果进行说明,将PointNet,PointNet++以及改进模型分割出的部分结果进行可视化操作,并进行比较,如图11所示。

图 11. PointNet,PointNet++和改进模型分割结果可视化示例(白框标出明显预测错误的点)。(a)基准真值;(b)PointNet分割的结果;(c)PointNet++分割的结果;(d)本文模型分割的结果

Fig. 11. Examples of visualization of segmentation results using PointNet, PointNet++, and proposed model (white boxes denote wrong predicted points). (a) Ground truth; (b) segmentation results of PointNet; (c) segmentation results of PointNet++; (d) segmentation results of proposed model

下载图片 查看所有图片

图11中白框标出了明显预测错误的点云。与PointNet相比,PointNet++的预测准确度较高,但仍然在细节部分分割错误,如将支撑杆预测为树冠或种植盆等。推测导致这一结果的主要原因是PointNet++忽略了包含更多细节信息的点云低维特征。但由于改进的模型同时结合了低维以及高维的点云特征,并且提高了在局部区域特征提取的能力,因此可以将支撑杆与树干、树冠较为准确地分割出来。

4 结论

本文提出了一种基于PointNet++改进的神经网络模型,可实现树种分类和树木各部分的分割任务,适用于农业机器人在苗圃场景中的实际应用。和经典的点云神经网络模型PointNet++不同,所提出的模型充分利用点云的高维以及低维特征以提高性能。此外,在构建局部区域时,将处于较大局部区域内邻居点的相对特征调整为反正切的形式分布,提高更靠近中心点的邻居点对应的特征值。使用坐标注意力机制与注意力池化相结合的模块,加强对点云中关键局部特征的提取。

使用自制苗圃点云数据集进行了分类、分割实验。实验结果表明,与PointNet和PointNet++相比,本文提出的模型在分类和分割任务中均实现了更优性能。后续工作中,拟将本文提出的模型运用于硬件平台,用以获取苗圃中各类树木信息,从而帮助实现机器人路径规划、自主对靶、变量喷雾等操作。

参考文献

[1] 王雁. 我国城市绿化理念探索的回顾与发展趋势[J]. 浙江林学院学报, 2003, 20(3): 315-320.

    Wang Y. Review and expectation of the development and ideas of China city greening[J]. Journal of Zhejiang Forestry College, 2003, 20(3): 315-320.

[2] 姜红花, 刘理民, 柳平增, 等. 面向精准喷雾的果树冠层体积在线计算方法[J]. 农业机械学报, 2019, 50(7): 120-129.

    Jiang H H, Liu L M, Liu P Z, et al. Online calculation method of fruit trees canopy volume for precision spray[J]. Transactions of the Chinese Society for Agricultural Machinery, 2019, 50(7): 120-129.

[3] 沈跃, 庄珍珍, 刘慧, 等. 基于RealSense深度相机的多特征树干快速识别方法[J]. 农业机械学报, 2022, 53(4): 304-312.

    Shen Y, Zhuang Z Z, Liu H, et al. Fast recognition method of multi-feature trunk based on RealSense depth camera[J]. Transactions of the Chinese Society for Agricultural Machinery, 2022, 53(4): 304-312.

[4] Zamanakos G, Tsochatzidis L, Amanatiadis A, et al. A comprehensive survey of lidar-based 3D object detection methods with deep learning for autonomous driving[J]. Computers & Graphics, 2021, 99: 153-181.

[5] Guo Y L, Wang H Y, Hu Q Y, et al. Deep learning for 3D point clouds: a survey[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2021, 43(12): 4338-4364.

[6] SuH, MajiS, KalogerakisE, et al. Multi-view convolutional neural networks for 3D shape recognition[C]∥2015 IEEE International Conference on Computer Vision (ICCV), December 7-13, 2015, Santiago, Chile. New York: IEEE Press, 2016: 945-953.

[7] FengY F, ZhangZ Z, ZhaoX B, et al. GVCNN: group-view convolutional neural networks for 3D shape recognition[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE Press, 2018: 264-272.

[8] MaturanaD, SchererS. VoxNet: a 3D convolutional neural network for real-time object recognition[C]∥2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), September 28-October 2, 2015, Hamburg, Germany. New York: IEEE Press, 2015: 922-928.

[9] 张满囤, 燕明晓, 马英石, 等. 基于八叉树结构的三维体素模型检索[J]. 计算机学报, 2021, 44(2): 334-346.

    Zhang M D, Yan M X, Ma Y S, et al. 3D voxel model retrieval based on octree structure[J]. Chinese Journal of Computers, 2021, 44(2): 334-346.

[10] CharlesR Q, HaoS, MoK C, et al. PointNet: deep learning on point sets for 3D classification and segmentation[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE Press, 2017: 77-85.

[11] CharlesR Q, LiY, HaoS, et al. PointNet++: deep hierarchical feature learning on point sets in a metric space[C]∥Advances in Neural information Processing Systems 2017, December 4-9, 2017, Long Beach, CA, USA. [S.l.: s.n.], 2017: 5099-5108.

[12] 易倩, 钟浩宇, 刘龙, 等. 基于ROI-RSICP算法的车轮廓形动态检测[J]. 中国激光, 2020, 47(11): 1104006.

    Yi Q, Zhong H Y, Liu L, et al. Dynamic inspection of wheel profile based on ROI-RSICP algorithm[J]. Chinese Journal of Lasers, 2020, 47(11): 1104006.

[13] 陈龙, 王浩云, 季呈明, 等. 基于Pointnet和迁移学习的苹果表型参数估算研究[J]. 南京农业大学学报, 2021, 44(6): 1209-1216.

    Chen L, Wang H Y, Ji C M, et al. Estimation algorithm of apple phenotypic parameters based on PointNet and transfer learning[J]. Journal of Nanjing Agricultural University, 2021, 44(6): 1209-1216.

[14] Hu H, Yu J C, Yin L, et al. An improved PointNet++ point cloud segmentation model applied to automatic measurement method of pig body size[J]. Computers and Electronics in Agriculture, 2023, 205: 107560.

[15] 陈向宇, 云挺, 薛联凤, 等. 基于激光雷达点云数据的树种分类[J]. 激光与光电子学进展, 2019, 56(12): 122801.

    Chen X Y, Yun T, Xue L F, et al. Classification of tree species based on lidar point cloud data[J]. Laser & Optoelectronics Progress, 2019, 56(12): 122801.

[16] Zhang Y P, Tan Y L, Onda Y, et al. A tree detection method based on trunk point cloud section in dense plantation forest using drone lidar data[J]. Forest Ecosystems, 2023, 10: 100088.

[17] 卢华清, 伍吉仓, 张子健. 面向地基激光点云的树木枝叶分离[J]. 中国激光, 2022, 49(23): 2310001.

    Lu H Q, Wu J C, Zhang Z J. Tree branch and leaf separation using terrestrial laser point clouds[J]. Chinese Journal of Lasers, 2022, 49(23): 2310001.

[18] HuJ, ShenL, SunG. Squeeze-and-excitation networks[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT, USA. New York: IEEE Press, 2018: 7132-7141.

[19] ZhaoZ X, ChenK X, YamaneS. CBAM-Unet: easier to find the target with the attention module “CBAM”[C]∥2021 IEEE 10th Global Conference on Consumer Electronics (GCCE), October 12-15, 2021, Kyoto, Japan. New York: IEEE Press, 2021: 655-657.

[20] HouQ B, ZhouD Q, FengJ S. Coordinate attention for efficient mobile network design[C]∥2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 20-25, 2021, Nashville, TN, USA. New York: IEEE Press, 2021: 13708-13717.

[21] HuQ Y, YangB, XieL H, et al. RandLA-net: efficient semantic segmentation of large-scale point clouds[C]∥2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), June 13-19, 2020, Seattle, WA, USA. New York: IEEE Press, 2020: 11105-11114.

徐婕, 刘慧, 沈跃, 杨官学, 周昊, 王思远. 基于改进PointNet++模型的苗圃树木点云分类与分割[J]. 中国激光, 2024, 51(8): 0810001. Jie Xu, Hui Liu, Yue Shen, Guanxue Yang, Hao Zhou, Siyuan Wang. Point Clouds Classification and Segmentation for Nursery Trees Based on Improved PointNet++ Model[J]. Chinese Journal of Lasers, 2024, 51(8): 0810001.

引用该论文: TXT   |   EndNote

相关论文

加载中...

关于本站 Cookie 的使用提示

中国光学期刊网使用基于 cookie 的技术来更好地为您提供各项服务,点击此处了解我们的隐私策略。 如您需继续使用本网站,请您授权我们使用本地 cookie 来保存部分信息。
全站搜索
您最值得信赖的光电行业旗舰网络服务平台!