基于移动激光扫描的行道树树冠点云逐点检测

2024-01-23 05:35李秋洁李相程
关键词:行道树树冠检测器

李秋洁,李相程

(南京林业大学机械电子工程学院,江苏 南京 210037)

行道树是城市生态系统的重要组成部分,对于改善城市生态环境具有重要意义[1-3]。病虫害防治在行道树养护管理工作中占有重要地位,其中,向叶面喷施农药是防治行道树病虫害的重要手段[4-5]。传统的连续施药方式会导致大量药液流失到地面或空气中,造成城市环境污染,影响居民的生活和工作。目前,对靶施药技术已成功应用于果园病虫害防治,这类技术采用搭载在施药车辆上的传感器在线探测树冠,根据树冠位置靶向施药,从而提高病虫害防治效率,减少药液流失[6-9]。与单一果园环境不同,城市街道环境包含多种地物目标,极大地增加了树冠检测的难度,限制了对靶施药在行道树上的推广应用。

众多靶标检测传感器中,激光雷达(light detection and ranging,LiDAR)能够快速准确地测量物体表面距离信息,随着施药车辆的移动,获得道路两侧物体表面的高分辨率、高精度三维点云数据。这种移动激光扫描(mobile laser scanning,MLS)技术在果园对靶施药中得到了广泛应用[10-12],也为行道树树冠检测提供了数据支持[13-15]。

针对MLS获取的城市街道点云数据,现有行道树检测方法主要分为两类:一类为首先将空间划分为二维格网或三维体素,来作为基本数据处理单元,通过分析各种地物目标与行道树的形貌差异设计分类特征和规则,逐步过滤非行道树点云[13-14, 16]。由于这类方法需要利用街道场景的全部点云数据,从中提取行道树及其他地物目标的全局特征,因此不能满足行道树树冠在线检测需求。另一类直接处理原始点云数据,从待识别点的邻域中提取多个局部特征,训练一个二分类器检测行道树或其他地物目标[17-20]。这类逐点检测的方法计算复杂度较高,为提高处理效率,常采用k-D树法建立街道点云数据索引。因此,虽然这类方法只需要利用待识别点邻域的信息判断其是否为行道树点,但受到点云索引方式的限制,无法实现行道树树冠在线检测。此外,现有逐点检测方法缺乏针对行道树进行点云局部特征鉴别力分析以及不同监督学习算法的性能比较,需要开展对比实验深入分析。

针对上述问题,本研究采用MLS的行道树树冠点云逐点检测方法,基于MLS点云数据结构,构建能够在线处理的点云邻域搜索方法,比较不同点云局部特征以及不同监督学习算法生成的树冠检测器性能,建立能够在线、快速、准确检测出行道树树冠点云的高性能树冠检测器,从实时采集的若干帧LiDAR数据中实时检测出树冠点云。

1 材料与方法

1.1 MLS数据采集

MLS技术采用车辆搭载一个或多个2D LiDAR或3D LiDAR,在车辆行驶过程中实时获取道路三维点云数据[21-23]。其中,搭载一个2D LiDAR的MLS具有数据结构简单、易于在线处理的优点,因此在果园对靶施药中得到广泛应用。MLS的数据采集示意图见图1。以LiDAR初始位置为原点O建立直角坐标系,令x轴为车辆行驶方向,y轴为深度方向,z轴垂直地面向上,2D LiDAR扫描平面与yOz平行。随着车辆移动,2D LiDAR进行推扫式扫描,返回一组物体轮廓线的测量数据,图中绘制了第i次和第i+1次扫描的激光束和测量点。

图1 MLS数据采集示意图Fig. 1 MLS data acquisition diagram

实验采用2D LiDAR UTM-30LX-EW[24],其最大测量距离是60 m,扫描周期是25 ms,具有270°的扫描范围和0.25°的角度分辨率,每次扫描返回1 081根激光束的测量数据,包括前3次回波的距离r1、r2、r3和强度I1、I2、I3。若超过最大测量距离,1次回波强度值为0,距离值为60 m。若2、3次无回波,距离值和强度值为0,可根据这一特征统计回波次数n,n∈{0,1,2,3}。

将LiDAR搭载在遥控小车上,以LiDAR扫描中心线(第541根激光束)为y轴,进行-135°~135°的扫描。控制小车以0.78 m/s的恒定速度沿一段长137 m的道路“U”形行驶,来测量道路两侧数据。最终得到14 000条扫描线和15 134 000个测量点,其中,LiDAR测量距离范围有7 309 776个测量点。

根据原始测量数据求取点云三维坐标,第i条扫描线内第j个测量点P(i,j)的三维坐标为:

(1)

式中:v为车速;Δt为LiDAR的扫描周期,即1次扫描所需的时间;r1(i,j)为第i条扫描线中第j根光束测量的1次回波距离;Δα为LiDAR的弧度分辨率,即相邻两根激光束的夹角。

由于逐点检测方法只利用以待识别点为中心的邻域信息,而邻域内车辆姿态、速度可认为保持不变,因此,这里未对点云坐标进行地理校正,直接将其用于行道树树冠在线检测。

采集场景的三维点云数据见图2,包括50棵高度范围4.6~8.2 m、冠幅范围2.1~7.4 m的行道树和建筑、车道、人行道、长凳、路灯、自行车、标志牌、栅栏、灌木、草皮、花坛、行人等地物目标。为便于观测,只显示y坐标在0~15 m范围内的点云,并分别用y坐标、一次回波强度(I1)以及回波次数(n)给点云着色。从图2可看出,树冠点云的深度、一次回波强度都在一定范围内,树冠内部有较多的多次回波点。

图2 街道三维点云Fig. 2 Street 3D point clouds

1.2 邻域搜索

由于待识别点包含的信息有限,需要搜索它的空间邻域点,从中提取点云特征。常用点云邻域有k近邻和半径为δ球域,k近邻查找离待识别点距离最近的k个点,δ球域查找以待识别点为中心、δ为半径的球体内的点[25]。由于不同点云密度下k近邻占据的空间尺寸有较大差异,而受LiDAR扫描方式限制,距离LiDAR越远的物体获取的测量点越稀疏,因此k近邻不利于点云特征的稳定提取,本研究采用δ球域作为点云邻域。

图3 δ球域搜索范围Fig. 3 Search scope of δ spherical neighborhood

(2)

1.3 特征提取

搜索到待识别点的δ球域后,从Nδ个邻域点的三维坐标(x,y,z)、一次回波强度(I1)及回波次数(n)中提取点云局部特征,用于行道树树冠检测。

首先,针对每个点云属性,提取其邻域均值(μa)、标准差(σa)和范围(Δa),a∈{x,y,z,I1,n},计算公式为:

(3)

式中,anδ为第nδ个邻域点的点云属性。

δ球域内点云三维坐标的协方差矩阵特征值可以反映点云在球域内的整体分布特性。协方差矩阵(C)的计算公式为:

(4)

这里,矩阵元素cov是坐标之间的协方差,以cov(x,y)为例,

(5)

将协方差矩阵的3个特征值λ按降序排列:λ1≥λ2≥λ3≥0。如果λ1≫λ2、λ3,点云呈线状分布;如果λ1、λ2≫λ3,点云呈平面分布;如果λ1≅λ2≅λ3,点云呈球状分布。基于上述分析,定义线度(Lλ)、面度(Pλ)、球度(Sλ)和全方差(Oλ)4个维度特征[26]:

(6)

最后,考虑δ球域内的点云密度特征。为去除LiDAR测量距离对点云密度的影响,定义归一化密度(d):

(7)

式中:rmax为LiDAR最大测量距离;Vδ为δ球域体积。

采用的7类19个点云局部特征见表1。由于宽度均值(μx)描述待识别点在车辆行驶方向上的位置,而行道树和其他地物目标可能出现在车辆行驶方向上的任一位置,因此μx不具有鉴别力,不用于行道树树冠点云检测。

表1 7类点云局部特征

1.4 检测器训练

采用监督学习算法融合局部特征,训练行道树树冠检测器。检测器输入为待识别点的δ球域特征,输出为该点的预测类别,即树冠或非树冠。

为训练检测器及评估检测器的性能,采用点云处理软件CloudCompare对街道点云数据进行手动类别标注,为每一个点添加类别信息,标注结果如图4所示。从道路两侧各选一段街道作为训练集,点云个数占总数据集的11.5%,剩余88.5%的点云数据用于测试,训练/测试集的详细信息见表2。

表2 数据集划分

图4 街道点云数据标注Fig. 4 Annotation of street point cloud data

1.5 测试平台

实验采用搭载Windows 10操作系统的戴尔Precision T7820塔式图形工作站,CPU型号为Intel(R) Xeon(R) Silver 4114,主频为2.2 GHz,内存容量为32.0 GB,显卡型号为NVIDIA Quadro P4000。采用MATLAB R2020a设计程序,在街道点云数据集上开展邻域搜索方法、监督学习算法、点云局部特征和树冠逐点检测器4个对比实验。

2 结果与分析

2.1 邻域搜索方法对比

用δ球域点数Nδ与查询点数的比值衡量本研究方法的邻域搜索效率。球域半径δ取0.1~1.0 m时邻域搜索效率箱形图见图5,从图5中可看出,平均搜索效率为22.83%~35.42%,也就是说每查询3~5个点,就有1个是邻域点。

图5 邻域搜索效率Fig. 5 Neighborhood search efficiency

采用MATLAB统计与机器学习工具箱中的KDTreeSearcher函数建立k-D树点云数据索引,设置叶节点最大点云个数为50。由于街道点云数据量较大,为每10 000点建立一个k-D树,共生成731个k-D树。

提出的δ球域搜索方法在(2Δi+1)(2Δj+1)个测量点中查询δ球域,时间复杂度为O(Δi,Δj),代入式(2),时间复杂度化简为多项式时间O(δ2)。本研究方法邻域搜索时间tNS随球域半径δ变化的拟合曲线见图6。

图6 邻域搜索时间拟合曲线Fig. 6 Fitting curve of neighborhood search time

采用Rangesearch函数实现k-D树δ球域搜索,球域半径δ取0.1~1.0 m时本研究方法和k-D树的δ球域搜索时间见表3,本研究方法的平均搜索时间较短,为k-D树的10.90%。

表3 邻域搜索时间对比

2.2 监督学习算法对比

设置球域半径(δ)为0.5 m,采用表1描述的7类特征比较4种常用监督学习算法的性能,包括神经网络(neural network,NN)、支持向量机(support vector machine,SVM)、Boosting和随机森林(random forest,RF)[27]。

采用MATLAB深度学习工具箱中的Patternnet函数构建NN,采用MATLAB统计与机器学习工具箱中的Fitcsvm、Fitckernel、Fitclinear函数实现SVM算法,Fitensemble函数实现Boosting算法,TreeBagger函数实现RF算法。调整学习算法的超参数,使其在测试集上分类性能最好:选择3层NN网络,令隐含层节点数hiddenSizes从5开始,每次增加1;令SVM核函数分别取高斯核、多项式核和线性核;选择以决策树为弱学习器的GentleBoost算法,令弱学习器个数NLearn从100开始,每次增加50;令RF决策树个数NumTrees从5开始,每次加1。

为评价行道树树冠检测精度,将树冠视为正例(positive)、非树冠视为反例(negative)定义混淆矩阵,如表4所示。TP代表正确分类的树冠点;TN代表正确分类的非树冠点;FP代表将非树冠点错误分类为树冠点,又称为虚警;FN代表将树冠点错误分类为非树冠点,又称为漏检。采用查准率、查全率和F1分数度量评价行道树树冠检测精度。查准率(precision,P)、查全率(recall,r)和F1分数计算公式如下:

表4 混淆矩阵

(8)

(9)

(10)

查准率表示检测出的树冠点中真实树冠点的占比;查全率指所有真实树冠点中被正确检测出树冠点的占比;F1分数是查准率和查全率的调和平均,能综合反映树冠检测精度。

每种学习算法的超参数设置和训练/测试集上的计算时间、查准率、查全率和F1分数见表5。从中可看出,线性SVM对特征进行简单的线性加权,分类器结构简单,因此具有最少的训练/测试时间,但由于分类器复杂度低,无法很好地拟合训练数据,产生了欠拟合,因此不适用于树冠检测问题,生成的线性树冠检测器在训练/测试精度上不如其余3种算法生成的非线性树冠检测器。集成学习算法Boosting与RF通过组合多个决策树的预测结果可有效克服单个决策树的过拟合问题,提高分类器的泛化能力,两种算法的训练/测试精度均略好于NN。因此,本研究选择训练/测试时间更少、训练/测试精度更高的RF算法训练树冠检测器。

表5 监督学习算法对比

2.3 点云局部特征对比

设置球域半径(δ)为0.5 m,采用RF算法训练树冠检测器,比较7类点云局部特征及其组合的性能。

每类特征的计算时间和训练/测试集上的查准率、查全率和F1分数见表6。密度特征计算较简单,但鉴别力不如其他特征;维度特征计算较复杂,在组合特征中优势不明显,需要提高检测速度时可首先考虑将其去除;单类特征的测试集F1分数≤81.47%,泛化性能明显不如组合特征,组合特征在测试集上的F1分数均大于99%。

表6 点云局部特征对比

7类特征及其组合的部分测试集检测结果见图7,其中,图7b是俯视视角。从图7中可看出各类特征在树冠检测中的特点:宽度/密度特征的鉴别力不高,树冠内部有较多漏检点,非树冠点虚警也较多;深度/高度特征的泛化性能较差,超过训练样本深度/高度特征范围的树冠点被漏检,在训练样本深度/高度特征范围内的非树冠点成为虚警;树冠枝叶末梢的维度/回波次数特征与树冠内部有较大差异,存在较多漏检,部分建筑表面凸起,栅栏、草地的形状和多孔结构与树冠相似,成为虚警;回波强度受测量距离影响较大,强度值随距离增大衰减,漏检集中在测量距离较远的一侧,而与树冠内树枝部分具有相似反射特性的树干存在较多虚警。与单类特征相比,组合特征能够更好地区分树冠和其他地物目标,漏检和虚警较少,部分漏检出现在树冠枝叶末梢,另一部分漏检和大部分虚警出现在树冠与树干连接处。

图7 树冠点云检测结果Fig. 7 Results of crown point cloud detection

2.4 树冠逐点检测器对比

将本研究设计的树冠逐点检测器与文献[17]的方法进行对比,两种树冠逐点检测器在邻域搜索方法和点云局部特征设计上有所差异。文献[17]采用k-D树搜索待识别点的k近邻,为得到最佳邻域尺寸k,利用邻域三维坐标协方差矩阵特征值计算特征熵,选择特征熵最小的k个邻域点,从中提取26个点云局部特征,然后采用RF算法训练树冠检测器。由于离LiDAR越远的物体获取的测量点越稀疏,因此k近邻不利于点云特征的稳定提取,从而影响树冠检测精度。

球域半径(δ)取0.1~1.0 m时本研究方法与k-D树法[17]在训练/测试集上的计算时间、查准率、查全率和F1分数见表7。对于δ的所有取值情况,本研究方法都在检测精度和效率上优于k-D树,测试集F1分数≥97.74%。δ取0.1 m时,本研究方法平均每帧检测时间为22.58 ms,小于LiDAR扫描周期,能够实现树冠的在线检测。

表7 树冠点云检测器对比

3 结 论

1)针对行道树树冠在线检测问题,研究一种基于MLS的行道树树冠点云逐点检测方法,建立能够在线、快速、准确检测出行道树树冠点云的高性能树冠检测器。

2)构建一种点云δ球域快速搜索方法,时间复杂度为O(δ2)。δ取0.1~1.0 m时,平均搜索效率为22.83%~35.42%,平均搜索时间仅为k-D树法的10.90%。

3)对比NN、SVM、Boosting和RF 4种监督学习算法的性能,RF的训练/测试精度最优。

4)提取宽度、深度、高度、维度、密度、次数和强度7类点云局部特征,单类特征的测试集F1分数≤81.47%,与单类特征相比,组合特征有更好的分类精度,在测试集上的F1分数>99%。

5)球域半径δ在0.1~1.0 m范围内变化时,本研究方法表现稳定,测试集F1分数≥97.74%,在检测精度和效率上均优于已有方法。δ取0.1 m时,本研究方法平均每帧检测时间为22.58 ms,小于LiDAR扫描周期,能够实现树冠在线检测。

猜你喜欢
行道树树冠检测器
行道树是景也是民生
行道树
树冠羞避是什么原理?
榕树
树冠
行道树对人行道的破坏
车道微波车辆检测器的应用
漫说古代行道树
一种雾霾检测器的研究与设计
一体化火焰检测器常见故障分析