点云体素细化生成树木骨架的方法 下载: 1012次
1 引言
近年来,地面三维激光扫描作为一种新的测量技术已被广泛应用于城市建模和森林调查等领域[1-5]。地面三维激光扫描仪采用非接触的方式获取物体表面采样点的距离信息,通过计算距离与角度信息获得点云数据,并进行数据处理与分析[6]。地面三维激光扫描仪因数据精度高和分辨率高等特点也常被用于林业测量,可以辅助人工测量,提高树木信息(如胸径)的采集效率[7]。树木骨架是对树木三维结构的精简描述,其可表示树木的形状和拓扑结构,根据生成的树木骨架,可进一步计算出树木的几何结构、分枝模式和分枝角度等信息,从而体现树木的结构和生长特点。
目前,已有不少学者在基于三维点云生成骨架方面进行了一些研究工作[8-16],其中包括一些生成树木骨架的研究成果。树木骨架的生成方法大致可以分为两种。一种是通过分割空间,得到体素、元胞等新的计量单位,进行骨架节点的定位与计算,最后连接节点生成树木骨架。Bucksch等[17-18]提出了一种基于八叉树的骨架生成方法,生成八叉树之后,从八叉树元细胞中提取一个由点组成的连接图,然后消除图中的闭环,形成一条直线段,最后得到树木骨架。Ramamurthy等[19]提出了一种基于体素的植物骨架生成算法。首先设定体素的体积大小,并计算点云数据所属的体素,通过细化算法删除冗余的体素后,利用近邻搜索连接得到植物骨架。另一种是基于点云局部分割,计算骨架节点,然后根据图论或法向量等方法连接骨架节点,生成树木骨架。Yan等[20]将提取的树木骨架分成分割与重建两个部分,该方法基于K-均值聚类算法实现区域识别和定位,然后建立邻域图提取骨架节点和树木分支,最后通过B样条模型计算生成树木骨架。Xu等[21]提出了一种利用点云生成数骨架的基于最短路径和聚类的算法,该方法首先根据每个点的邻接关系构造邻域图,然后用最短路径算法计算各点与根点之间的距离,并基于距离聚类生成聚类块,最后利用聚类块内的点云拟合骨架节点并连接,从而得到树骨架。Delagrange等[22]扫描获得没有叶子的树木点云数据,并沿着
通过对上述算法的研究分析,结合树木点云的特点,本文基于体素空间细化处理的思想,提出了一种体素细化改进的树木骨架生成方法:1)通过树木点云的范围和体素的数目构建体素空间;2)根据滤除阈值对噪点体素进行滤除;3)对目标体素进行细化处理,并利用细化后的体素拟合骨架节点;4)基于树木的空间结构和深度优先搜索算法连接骨架节点,生成骨架。该方法提出了一种体积形状可变的体素,用于构建体素空间,同时增加了对体素孤立分布程度的分析,然后利用体素细化算法提取树木的骨架,大大提高了树木骨架生成的运行效率。
2 材料与方法
本文方法处理流程如
1) 体素空间构建。计算树木点云所占空间大小,记为体素空间。按照输入参数将体素空间(
2) 噪点体素滤除。根据体素中点云的密集程度和体素的分布情况,通过设定滤除点数阈值和孤立体素滤除阈值,对噪点体素进行判断与滤除。
3) 细化算法处理[27-32]。噪点体素滤除完成之后,对目标体素进行细化处理,通过迭代删除边缘的目标体素,最后只保留中间呈线状连接的目标体素。
4) 树木骨架生成。根据细化处理后的体素内的点云数据拟合骨架节点,并根据树木结构与近邻搜索算法连接骨架节点,得到最后的树木骨架。
2.1 数据获取
本次实验使用的地面三维激光扫描仪器为RIEGL VZ-400型地面三维激光扫描仪,扫描距离最远可以达到400 m,每秒最多可以获取4.2×104个点,垂直扫描角度范围为-40°~+60°,水平扫描角度范围为360°。数据采集于北京林业大学校内的一棵银杏树(Ginkgo)和一棵重瓣榆叶梅树(
表 1. 点云数据采集信息
Table 1. Acquisition information of point cloud data
|
2.2 构建体素空间
通过遍历点云,获取数据在
显然,树木点云的位置在空间三个维度上不同,故对于可调整的输入参数
确定体素大小后,设定体素所在的行数、列数和层数作为体素的坐标。则点云所属体素计算公式为
式中:(
2.3 噪点体素滤除
扫描设备、外部环境、树木特征和枝叶遮挡等会导致噪点的产生,这可能造成骨架的冗余与缺失,影响树木骨架的生成。本研究从两个方面对包含噪点的体素进行判断与滤除。
1) 基于体素内点云数量滤除体素。体素内点云数量过少,说明这些点可能是噪点。在算法中设定滤除阈值
式中:
比较阈值和体素内的点数,将体素区分为目标体素和噪点体素,并进行标记。
2) 根据目标体素分布的孤立程度滤除体素。若一个目标体素周围26邻域中的目标体素过少,则该目标体素有较大可能是噪点体素。计算目标体素周围26邻域中目标体素数量
2.4 细化算法处理
本文算法采用文献[
32]中提到的细化策略,对三维空间中的目标体素进行细化处理。设定一组体素空间中的三维模板,用于判定边缘体素,删除模板需要考虑上下左右前后6个方向,“上”方向的6个删除模板如
删除模板是以当前目标体素
根据
2.5 生成骨架
细化处理后的目标体素保留了树木的骨架结构,但相互连接关系尚未建立。骨架生成包括三步:
1) 通过计算体素内的所有点的坐标平均值,拟合出每一个体素内所有点云的几何中心点
式中:
2) 对体素进行26邻域搜索,判断哪些体素相互连接。
3) 确定体素之间的连接关系后,检索连接相邻体素内的骨架节点,构建树木骨架。
3 分析与讨论
本研究使用获取的银杏树和重瓣榆叶梅树的点云数据对算法进行验证。
图 5. 银杏树和重瓣榆叶梅树的骨架生成结果。(a)左侧为银杏树实物图,右侧为重瓣榆叶梅树实物图;(b)左侧为银杏树的点云数据,右侧为重瓣榆叶梅树的点云数据;(c)左侧为银杏树生成骨架,右侧为 重瓣榆叶梅树生成骨架
Fig. 5. Generated skeletons of Ginkgo tree and Amygdalus triloba f. multiplex tree. (a) Picture of Ginkgo on left and picture of Amygdalus triloba f. multiplex on right; (b) point cloud data of Ginkgo on left and point cloud data of Amygdalus triloba f. multiplex on right; (c) generated skeleton of Ginkgo on left and generated skeleton of Amygdalus triloba f. multiplex on right
3.1 数据扫描精度对骨架生成的影响
本研究分别采用扫描角分辨率为0.02°、0.05°和0.10°时得到的银杏树木点云进行树木骨架生成。骨架生成结果如
3.2 体素划分规格对骨架生成的影响
以重瓣榆叶梅树的数据进行参数分析。不同的(
3.3 滤除参数对骨架生成的影响
算法中的滤除参数对树木骨架的生成也有一定影响。本研究根据体素内的点数与体素孤立程度进行判定,设定不同的阈值时,相应保留的目标体素数目也不同,进而生成的树木骨架效果也不尽相同。本研究中
图 6. 不同角分辨率下点云生成的银杏树骨架。(a) 0.02°;(b) 0.05°;(c) 0.10°
Fig. 6. Skeletons of Ginkgo tree generated by point clouds at various angular resolutions. (a) 0.02°; (b) 0.05°; (c) 0.10°
表 2. 不同角分辨率下的银杏树骨架信息
Table 2. Skeleton information of Ginkgo tree with different angular resolutions
|
图 7. 不同划分规格的重瓣榆叶梅树骨架生成结果。(a) (40,40,40);(b) (60,60,60);(c) (80,80,80);(d) (100,100,100)
Fig. 7. Generated skeletons of Amygdalus triloba f. multiplex tree with different partition specifications. (a) (40, 40, 40); (b) (60, 60, 60); (c) (80, 80, 80); (d) (100, 100, 100)
表 3. 不同划分规格的重瓣榆叶梅树骨架信息
Table 3. Skeleton information of Amygdalus triloba f. multiplex tree with different partition specifications
|
表 4. 不同滤除阈值的重瓣榆叶梅树骨架信息
Table 4. Skeleton information of Amygdalus triloba f. multiplex tree with different filtering parameters
|
图 8. 不同滤除参数的重瓣榆叶梅树骨架生成结果。(a) (0,4);(b) (0,2);(c) (10,0);(d) (20,0)
Fig. 8. Generated skeletons of Amygdalus triloba f. multiplex tree with different filtering parameters. (a) (0,4); (b) (0,2); (c) (10,0); (d) (20,0)
判定,可以看出,
3.4 算法效率比较
对本文方法(简称IVTA方法)与文献[
26]中的方法(简称为GSA方法)进行比较,从生成的骨架节点数量与方法运行时间两个方面进行分析。
法生成的重瓣榆叶梅树骨架。
图 9. GSA和IVTA方法下银杏树与重瓣榆叶梅树骨架生成结果。(a) GSA方法生成的银杏树骨架;(b) GSA方法生成的 重瓣榆叶梅树骨架;(c) IVTA方法生成的银杏树骨架;(d) IVTA方法生成的重瓣榆叶梅树骨架
Fig. 9. Tree skeletons of Ginkgo tree and Amygdalus triloba f. multiplex tree generated by GSA and IVTA methods. (a) Skeleton of Ginkgo tree generated by GSA method; (b) skeleton of Amygdalus triloba f. multiplex tree generated by GSA method; (c) skeleton of Ginkgo tree generated by IVTA method; (d) skeleton of Amygdalus triloba f. multiplex tree generated by IVTA method
表 5. GSA和IVTA生成的树骨架信息
Table 5. Tree skeleton informations generated by GSA and IVTA methods
|
4 结论
提出了一种通过点云体素细化生成树木骨架的方法。通过构建体素空间,判断包含树木点云的目标体素和包含非树木点云的噪点体素;根据体素内的点数与体素邻域内目标体素的数量,对噪点体素进行滤除;利用细化算法对体素进行处理,得到树木骨架的单体素连接结构;最后通过现存的目标体素拟合骨架节点并连接,生成树木骨架。
基于获取的银杏树和重瓣榆叶梅树的点云数据对该方法进行验证。实验设置不同参数验证其对骨架生成的影响。实验结果表明,划分规格越大,单个体素的数量越多,保留的树木细节越多。体素内的点数与体素的孤立分布程度对噪点的滤除都有一定影响。点数滤除阈值比孤立分布阈值的滤除效果略好,对树木的枝干骨架生成效果的帮助更大。实验成功生成了树木骨架,且生成时间都在4 s以内。与GSA方法相比,本文方法能够大大减少生成树木骨架的运算时间,说明本文方法具有一定的有效性和可行性。
[2] 刘鲁霞, 庞勇, 李增元, 等. 用地基激光雷达提取单木结构参数: 以白皮松为例[J]. 遥感学报, 2014, 18(2): 365-377.
[3] 李丹, 庞勇, 岳彩荣. 地基激光雷达在森林参数反演中的应用[J]. 世界林业研究, 2012, 25(6): 34-39.
[4] 王果, 沙从术, 王健. 考虑局部点云密度的建筑立面自适应分割方法[J]. 激光与光电子学进展, 2015, 52(6): 061001.
[5] 卢维欣, 万幼川, 何培培, 等. 大场景内建筑物点云提取及平面分割算法[J]. 中国激光, 2015, 42(9): 0914004.
[6] 陈田. 激光测量点云的数据处理方法研究[J]. 激光与光电子学进展, 2011, 48(9): 091202.
[7] 步国超, 汪沛. 基于单站地面激光雷达数据的自适应胸径估计方法[J]. 激光与光电子学进展, 2016, 53(8): 082803.
[11] Saha P K. Borgefors G, di Baja G S. A survey on skeletonization algorithms and their applications[J]. Pattern Recognition Letters, 2016, 76: 3-12.
[12] 李温温, 刘富, 高雷. 基于手指骨架提取的手形识别方法[J]. 中南大学学报(自然科学版), 2016, 47(3): 777-783.
[13] 王晓辉, 黄洪宇, 陈崇成, 等. 基于激光点云的树木三维几何建模系统的设计与实现[J]. 福州大学学报(自然科学版), 2014, 42(5): 705-712.
[14] 孙智慧, 陆声链, 郭新宇, 等. 基于点云数据的植物叶片曲面重构方法[J]. 农业工程学报, 2012, 28(3): 184-190.
[15] 王璨, 武新慧, 李志伟. 基于卷积神经网络提取多尺度分层特征识别玉米杂草[J]. 农业工程学报, 2018, 34(5): 144-151.
[16] 邹万红, 陈志杨, 叶修梓, 等. 一种新的点云数据特征骨架提取方法[J]. 浙江大学学报(工学版), 2008, 42(12): 2103-2107.
[19] RamamurthyB,[\s]{1}DoonanJ,[\s]{1}ZhouJ,[\s]{1}et[\s]{1}al.[\s]{1}Skeletonization[\s]{1}of[\s]{1}3D[\s]{1}plant[\s]{1}point[\s]{1}cloud[\s]{1}using[\s]{1}a[\s]{1}voxel[\s]{1}based[\s]{1}thinning[\s]{1}algorithm[C]∥23rd[\s]{1}European[\s]{1}Signal[\s]{1}Processing[\s]{1}Conference(EUSIPCO),[\s]{1}August[\s]{1}31-September[\s]{1}4,[\s]{1}2015,[\s]{1}Nice,[\s]{1}France.[\s]{1}[S.l.:[\s]{1}s.n.],[\s]{1}2015:[\s]{1}2686-[\s]{1}2690.[\s]{1}
[20] Yan[\s]{1}DM,[\s]{1}WintzJ,[\s]{1}MourrainB,[\s]{1}et[\s]{1}al.[\s]{1}Efficient[\s]{1}and[\s]{1}robust[\s]{1}reconstruction[\s]{1}of[\s]{1}botanical[\s]{1}branching[\s]{1}structure[\s]{1}from[\s]{1}laser[\s]{1}scanned[\s]{1}points[C]∥2009[\s]{1}11th[\s]{1}IEEE[\s]{1}International[\s]{1}Conference[\s]{1}on[\s]{1}Computer-Aided[\s]{1}Design[\s]{1}and[\s]{1}Computer[\s]{1}Graphics,[\s]{1}August[\s]{1}19-21,[\s]{1}2009,[\s]{1}Huangshan,[\s]{1}China.[\s]{1}New[\s]{1}York:[\s]{1}IEEE,[\s]{1}2009:[\s]{1}572-[\s]{1}575.[\s]{1}
[23] 唐丽玉, 张浩, 黄洪宇, 等. 基于点云数据的树木三维重建方法改进[J]. 农业机械学报, 2017, 48(2): 186-194.
[24] 赵春江, 杨亮, 郭新宇, 等. 基于立体视觉的玉米植株三维骨架重建[J]. 农业机械学报, 2010, 41(4): 157-162.
[25] 李巍岳, 刘春, 吴杭彬, 等. 一种稀疏点云环境下的单株树骨架提取算法[J]. 遥感信息, 2014, 29(6): 84-89.
[26] Li R H, Bu G C, Wang P. An automatic tree skeleton extracting method based on point cloud of terrestrial laser scanner[J]. International Journal of Optics, 2017, 2017: 5408503.
[28] PalágyiK,[\s]{1}BaloghE,[\s]{1}KubaA,[\s]{1}et[\s]{1}al.[\s]{1}A[\s]{1}sequential[\s]{1}3D[\s]{1}thinning[\s]{1}algorithm[\s]{1}and[\s]{1}its[\s]{1}medical[\s]{1}applications[M][\s]{1}∥Insana[\s]{1}M[\s]{1}F,[\s]{1}Leahy[\s]{1}R[\s]{1}M.[\s]{1}Lecture[\s]{1}notes[\s]{1}in[\s]{1}computer[\s]{1}science.[\s]{1}Berlin,[\s]{1}Heidelberg:[\s]{1}Springer,[\s]{1}2001,[\s]{1}2082:[\s]{1}409-[\s]{1}415.[\s]{1}
[29] 张翠芳,[\s]{1}杨国为,[\s]{1}岳明明.[\s]{1}Zhang并行细化算法的改进[J].[\s]{1}信息技术与信息化,[\s]{1}2016([\s]{1}6):[\s]{1}69-[\s]{1}71.[\s]{1}
Zhang[\s]{1}CF,[\s]{1}Yang[\s]{1}GW,[\s]{1}Yue[\s]{1}MM.[\s]{1}Improving[\s]{1}of[\s]{1}Zhang[\s]{1}parallel[\s]{1}thinning[\s]{1}algorithm[J].[\s]{1}Information[\s]{1}Technology[\s]{1}and[\s]{1}Informatization,[\s]{1}2016([\s]{1}6):[\s]{1}69-[\s]{1}71.[\s]{1}
[30] 包建军, 樊菁. 鲁棒的二值图像并行细化算法[J]. 计算机辅助工程, 2006, 15(4): 43-46.
Article Outline
栗荣豪, 陈益楠, 甘小正, 张青, 汪沛. 点云体素细化生成树木骨架的方法[J]. 激光与光电子学进展, 2019, 56(19): 192802. Ronghao Li, Yinan Chen, Xiaozheng Gan, Qing Zhang, Pei Wang. Tree-Skeleton Generation Method by Thinning Voxels of Point Cloud[J]. Laser & Optoelectronics Progress, 2019, 56(19): 192802.