WO2021232467A1 - 点云单木分割方法、装置、设备及计算机可读介质 - Google Patents
点云单木分割方法、装置、设备及计算机可读介质 Download PDFInfo
- Publication number
- WO2021232467A1 WO2021232467A1 PCT/CN2020/092868 CN2020092868W WO2021232467A1 WO 2021232467 A1 WO2021232467 A1 WO 2021232467A1 CN 2020092868 W CN2020092868 W CN 2020092868W WO 2021232467 A1 WO2021232467 A1 WO 2021232467A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- point
- tree
- trunk
- seed
- points
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
Definitions
- This application relates to the technical field of surveying and mapping point cloud data processing, and in particular to a method, device, equipment, and computer-readable medium for dividing a single tree in a point cloud.
- the method of obtaining the point data collection of the surface of the object through the measuring instrument has been widely used in the detection of point information in various fields such as agriculture, forestry, land disaster, electric power, surveying and mapping.
- the point cloud data obtained by scanning trees with scanning devices such as ground lidar and mobile lidar (LiDAR) can directly obtain tree height, diameter at breast height, crown diameter, crown area, and crown volume.
- the empirical formula can estimate biomass and carbon storage.
- This application provides a point cloud single tree segmentation method, device, equipment, and computer readable medium to solve the above-mentioned technical problem of "low segmentation accuracy and low efficiency".
- this application provides a point cloud single tree segmentation method, including: horizontal clustering of the point cloud to be processed to obtain multiple horizontal clusters, wherein the point cloud to be processed is obtained by scanning the target tree by the scanning device Point cloud data; extract the trunk seed points of the target tree from multiple horizontal clusters; construct a path map in the point cloud to be processed according to the trunk seed points; traverse the path map to query the shortest path points from the trunk seed points; in When the distance from the current shortest path point to the adjacent reference shortest path point is less than or equal to the distance threshold, the current shortest path point is merged into the single tree point set where the tree trunk seed point is located, where the single tree point set represents the tree trunk A collection of points on a single tree corresponding to the seed point.
- the point cloud is classified to obtain ground points and tree points; the relative height between the ground point and the tree point is taken as the canopy height of the tree point.
- performing horizontal clustering of the point cloud to be processed to obtain multiple horizontal clusters includes: horizontally cutting the tree points of the canopy height according to a preset height threshold to obtain tree points of multiple horizontal layers; The tree points of each horizontal layer are subjected to horizontal European clustering, and multiple horizontal clusters are obtained.
- extracting the trunk seed points of the target tree from multiple horizontal clusters includes: calculating the center of gravity of each horizontal cluster, and adding a non-trunk seed point identifier for each center of gravity; and selecting the level closest to the ground point
- the center of gravity point in the layer is used as the first candidate trunk seed point, and the trunk seed point identifier is added for the first candidate trunk seed point; calculate the first direction of the N center of gravity points in the target horizontal layer and the first candidate trunk seed point , Where the target level is all levels except the level where the first candidate tree trunk seed point is located; calculate the second direction between any two center of gravity points in the N center of gravity points of the target level;
- the set of center of gravity points with the smallest angle formed by the first direction and the second direction is used as the second candidate tree trunk seed point, and is the second candidate tree trunk seed point Point
- a center-of-gravity point set as follows: Carry out three-dimensional European clustering of tree points to obtain multiple spatial clusters; Multiple target clusters are selected from a spatial cluster, where the target cluster is a spatial cluster whose number of clustering points is greater than the screening threshold; calculate the center-of-gravity point set composed of the center-of-gravity points of multiple target clusters, where the center-of-gravity point The multiple center of gravity points in the cluster are sorted according to the number of cluster points in the target cluster where they are located.
- the method further includes re-querying the shortest path points in the following manner: Query in the center of gravity point The nearest center of gravity point closest to the trunk seed point; query the shortest path point closest to the trunk seed point in the target cluster corresponding to the nearest center of gravity point, and merge the shortest path point into the single tree point set where the trunk seed point is located.
- the method further includes: voxelizing down-sampling the point cloud to be processed to obtain the voxel center of gravity point; according to the single tree point set
- the represented single tree segmentation relationship constructs a kd tree for the voxel center of gravity point to restore the single tree mark to the processed point cloud according to the nearest neighbor method.
- the present application provides a point cloud single tree segmentation device, including: a clustering module, used to horizontally cluster the point cloud to be processed to obtain multiple horizontal clusters, wherein the point cloud to be processed is a scanning device
- the point cloud data obtained by scanning the target tree
- the extraction module is used to extract the trunk seed points of the target tree from multiple horizontal clusters
- the building module is used to construct a path map in the point cloud to be processed according to the trunk seed points
- the query module is used to traverse and query the shortest path point from the tree trunk seed point in the path graph
- the allocation module is used to traverse the shortest path point to the adjacent reference shortest path point when the distance is less than or equal to the distance threshold.
- the current shortest path point is merged into the single tree point set where the tree trunk seed point is located, where the single tree point set refers to a set of points on the single tree corresponding to the tree trunk seed point.
- the present application provides a computer device including a memory and a processor.
- the memory stores a computer program that can run on the processor.
- the processor executes the computer program to implement the steps of any one of the methods in the first aspect. .
- the present application also provides a computer-readable medium, and the program code enables the processor to execute any method of the first aspect.
- This application obtains multiple horizontal clusters by performing horizontal clustering of the point cloud to be processed, where the point cloud to be processed is the point cloud data obtained by scanning the target tree by the scanning device; extracting the target tree from the multiple horizontal clusters Trunk seed points; construct a path map in the point cloud to be processed according to the trunk seed points; traverse the path map to query the shortest path point from the trunk seed point; the distance from the current shortest path point to the adjacent reference shortest path point When the distance threshold is less than or equal to the distance threshold, the current shortest path point is merged into the single tree point set where the trunk seed point is located, where the single tree point set represents the point cloud single tree that belongs to the set of points on the single tree corresponding to the trunk seed point
- the segmentation method effectively reduces the influence of the cross of branches and trunks of multiple trees on the segmentation of a single tree, improves the segmentation accuracy, and speeds up the segmentation efficiency.
- FIG. 1 is a schematic diagram of the hardware environment of an optional point cloud single tree segmentation method provided according to an embodiment of the present application
- FIG. 2 is a flowchart of an optional point cloud single tree segmentation method provided according to an embodiment of the present application
- Fig. 3 is an optional point cloud data preprocessing flowchart according to an embodiment of the present application.
- Fig. 4 is a flowchart of an optional tree trunk seed point extraction according to an embodiment of the present application.
- Fig. 5 is a block diagram of an optional point cloud single tree segmentation device provided according to an embodiment of the present application.
- an embodiment of a point cloud single tree segmentation method is provided.
- the above-mentioned point cloud single tree segmentation method may be applied to the hardware environment constituted by the terminal 101 and the server 103 as shown in FIG. 1.
- the server 103 is connected to the terminal 101 through the network, and can be used to provide services for the terminal or the client installed on the terminal.
- the database 105 can be set on the server or independent of the server to provide data storage for the server 103
- the aforementioned networks include but are not limited to: wide area networks, metropolitan area networks, or local area networks
- the terminal 101 includes, but is not limited to, PCs, mobile phones, tablet computers, and the like.
- a point cloud single tree segmentation method in the embodiment of this application (that is, the above-mentioned point cloud segmentation method in this application is actually a fast point cloud single tree segmentation method based on the shortest path and European clustering algorithm). 103. As shown in Figure 2, the method may include the following steps:
- Step S201 Perform horizontal clustering on the point cloud to be processed to obtain multiple horizontal clusters
- the point cloud to be processed is the point cloud data obtained by scanning the target tree by the scanning device, and the scanning device may be a ground laser radar, a backpack, or a vehicle-mounted laser radar.
- the scanning device may be a ground laser radar, a backpack, or a vehicle-mounted laser radar.
- Step S202 extract the trunk seed points of the target tree from multiple horizontal clusters
- representative points can be selected from the horizontal clusters obtained by clustering as the tree trunk seed points of a single tree, for example, it can be represented by calculating the center of gravity points of the horizontal clusters.
- Step S203 construct a path map in the point cloud to be processed according to the tree trunk seed points
- the trunk seed point after obtaining the trunk of a tree, that is, the trunk seed point, the trunk seed point can be used as a candidate point, and the point cloud to be processed, namely the original point cloud, can be constructed for each point cloud to divide the trunk seed to which it belongs Point path map to grow the shortest path for trees.
- Step S204 traverse and query the shortest path point from the tree trunk seed point in the path graph
- Step S205 when the distance from the current shortest path point to the adjacent reference shortest path point is less than or equal to the distance threshold, merge the current shortest path point into the single tree point set where the tree trunk seed point is located.
- a single tree point set refers to a set of points on a single tree corresponding to a tree trunk seed point, that is, points belonging to the same tree are classified as a single tree point set.
- the distance threshold can be the maximum allowable distance between two adjacent points in the point cloud forming the same tree. If the point is closest to a certain point on which tree among all trees, it is considered to be the same tree as the tree, and marked with the same ID, that is, the point is divided into a single tree point set where the nearest trunk seed point is located. Each point in the tree will mark the total path and the path distance from other points.
- the point is inserted into the tree trunk seed point and the path graph is updated to serve as the reference shortest path point for the next shortest path point query.
- the embodiment of the present application provides a way to perform horizontal clustering of the point cloud to be processed to obtain multiple horizontal clusters before preprocessing the point cloud data, as shown in FIG. 3, including the following steps:
- Step S301 denoising the point cloud to be processed to obtain a denoising point cloud
- Step S302 classify the noise reduction point cloud to obtain ground points and tree points;
- step S303 the relative height between the ground point and the tree point is taken as the canopy height of the tree point.
- the point cloud to be processed includes all objects in the scanning area, and even noise data.
- the point cloud data needs to be denoised and classified, which can be divided into ground points and tree points.
- the ground point indicates that the actual object corresponding to the point cloud data is the ground
- the tree point indicates that the actual object corresponding to the point cloud data is a tree.
- the point cloud data only changes the category attribute.
- the relative height between the ground point and the tree point is taken as the canopy height of the tree point, that is, the classified point cloud data is normalized, which can be the tree point Z value minus the ground point Z value to obtain the canopy height value of the tree point , In order to reduce the influence of terrain undulation on the subsequent single wood segmentation.
- the normalization can use ground point normalization, or use elevation digital model (DEM) for normalization.
- EDM elevation digital model
- performing horizontal clustering of the point cloud to be processed to obtain multiple horizontal clusters may include the following steps:
- Step 1 Perform horizontal cutting of the tree points of the canopy height according to a preset height threshold to obtain tree points of multiple horizontal layers;
- Step 2 Perform horizontal European clustering on the tree points of each level to obtain multiple horizontal clusters.
- the canopy height of the tree point is considered when performing horizontal slices of tree points to reduce the impact of terrain undulations.
- the number of slices should not be less than 5, and the slice threshold height should not be less than 3 times the average point spacing.
- horizontal clustering is performed on the tree points of each horizontal layer.
- it may be horizontal European clustering of the tree points of each horizontal layer, that is, performing European clustering according to the two-dimensional XY direction to obtain multiple horizontal clusters. cluster.
- step S202 extracting the trunk seed points of the target tree from multiple horizontal clusters may include:
- Step S401 Calculate the center of gravity of each horizontal cluster, and add a non-trunk seed point identifier for each center of gravity;
- Step S402 Use the center of gravity in the horizontal layer closest to the ground point as the first candidate trunk seed point, and add a trunk seed point identifier for the first candidate trunk seed point;
- Step S403 Calculate the first direction of the N center of gravity points and the first candidate trunk seed point in the target horizontal layer, where the target horizontal layer is each other horizontal layer except the horizontal layer where the first candidate trunk seed point is located ;
- Step S404 Calculate the second direction between any two center-of-gravity points among the N center-of-gravity points of the target horizontal layer;
- Step S405 in the case where the angle between the first direction and the ground is greater than the angle threshold, the set of center of gravity points with the smallest angle formed by the first direction and the second direction is used as the second candidate tree trunk seed point, and is the second candidate tree trunk seed point. 2. Add trunk seed point identification for candidate tree trunk seed points;
- Step S406 When the second candidate tree trunk seed point meets the preset condition, the second candidate tree trunk seed point is used as the final tree trunk seed point.
- the center of gravity point with a non-trunk seed point identification indicates that the center of gravity point is not a trunk seed point.
- the calculation of the center of gravity point can be the sum of the X value, the Y value and the Z value of each point space in a horizontal cluster and divide by the total number of points.
- the horizontal layer closest to the ground is taken as layer 0
- the point cloud data in this layer is taken as layer 0 data, and so on.
- the center of gravity of each horizontal cluster in the 0 level data is used as the candidate trunk point, that is, the first candidate trunk seed point, and the non-trunk seed point identifier added in the previous step of the center of gravity point is changed to the trunk seed point identifier to indicate this
- the center of gravity point can be used as the stem seed point. Because according to common sense of life, the closer a tree is to the ground, the more likely it is a trunk.
- each center of gravity point (that is, the first candidate tree trunk seed point of layer 0) is searched for N points layer by layer, starting from layer 0, and the first direction A between the center of gravity point and the searched N points is calculated.
- the second direction Bi of any two points in the N points obtain the group with the smallest angle between the first direction A and the second direction Bi, and the angle between the first direction A and the ground is greater than a certain angle threshold as the second Select the trunk point, change the original non-trunk seed point identifier to the trunk seed point identifier, and calculate each of the N points in turn. According to the way the trees grow, the trunk has the same direction.
- the angle threshold that is, the threshold of the angle between the trees and the ground, can be set to 30 degrees to reduce errors when identifying trees.
- a center of gravity point set as follows:
- Step 1 Perform three-dimensional European clustering of tree points to obtain multiple spatial clusters
- Step 2 Select multiple target clusters from multiple spatial clusters, where the target cluster is a spatial cluster with a number of cluster points greater than a screening threshold;
- Step 3 Calculate the center of gravity point set consisting of the center of gravity points of multiple target clusters, where the center of gravity points in the center of gravity set are sorted according to the number of cluster points in the target cluster where they are located.
- spatial three-dimensional European clustering of point cloud data can be performed to speed up data processing. Specifically, three-dimensional European clustering of tree points is performed to obtain multiple spatial clusters, and the number of clustering points is greater than the screening threshold The spatial clusters of are filtered out, so that the shortest path calculation is not performed on the spatial clusters with a small number of clustering points in the subsequent steps.
- the screening threshold may be 500 points.
- the center of gravity points of these spatial clusters need to be calculated, and the center of gravity points are formed into a center of gravity point set, where the center of gravity points are at the center of gravity.
- the sorting method of the point set is sorted according to the number of cluster points in the spatial cluster where it is located, so as to make the shortest path point query first to solve the majority, and the efficiency is higher.
- the method further includes re-querying the shortest path point in the following manner:
- Step 1 In the center of gravity, query the nearest center of gravity that is closest to the tree trunk seed point;
- Step 2 Query the shortest path point closest to the trunk seed point in the target cluster corresponding to the nearest center of gravity point, and merge the shortest path point into the single tree point set where the trunk seed point is located.
- the center of gravity point when the distance from the current shortest path point to the adjacent reference shortest path point is greater than the maximum allowable distance between two adjacent points in the point cloud forming the same tree, from the center of gravity point Centrally query the nearest center of gravity point closest to the trunk seed point, and re-query the shortest path point nearest to the trunk seed point in the spatial cluster where the nearest center of gravity point is located.
- the method further includes:
- Step 1 Perform voxelization and down-sampling of the point cloud to be processed to obtain the voxel center of gravity point;
- Step 2 Construct a k-d tree for the voxel center of gravity according to the single tree segmentation relationship represented by the single tree point set, so as to restore the single tree mark of the processed point cloud according to the nearest neighbor method.
- This application obtains multiple horizontal clusters by performing horizontal clustering of the point cloud to be processed, where the point cloud to be processed is the point cloud data obtained by scanning the target tree by the scanning device; extracting the target tree from the multiple horizontal clusters Trunk seed points; construct a path map in the point cloud to be processed according to the trunk seed points; traverse the path map to query the shortest path point from the trunk seed point; the distance from the current shortest path point to the adjacent reference shortest path point When the distance threshold is less than or equal to the distance threshold, the current shortest path point is merged into the single tree point set where the trunk seed point is located, where the single tree point set represents the point cloud single tree that belongs to the set of points on the single tree corresponding to the trunk seed point
- the segmentation method effectively reduces the influence of the cross of branches and trunks of multiple trees on the segmentation of a single tree, improves the segmentation accuracy, and speeds up the segmentation efficiency.
- a point cloud single tree segmentation device including: a clustering module 501, configured to perform horizontal clustering of the point cloud to be processed to obtain multiple horizontal clusters Clusters, where the point cloud to be processed is the point cloud data obtained by scanning the target tree by the scanning device; the extraction module 502 is used to extract the stem seed points of the target tree from multiple horizontal clusters; the construction module 503 is used to The tree trunk seed point constructs a path graph in the point cloud to be processed; the query module 504 is used to traverse and query the shortest path point from the tree trunk seed point in the path graph; the allocation module 505 is used to move the current shortest path point to its neighbor When the distance of the reference shortest path point is less than or equal to the distance threshold, the current shortest path point is merged into the single tree point set where the trunk seed point is located, where the single tree point set represents the point on the single tree corresponding to the trunk seed point Collection.
- a clustering module 501 configured to perform horizontal clustering of the point cloud to be processed to obtain multiple horizontal clusters Cluster
- the clustering module 501 in this embodiment can be used to perform step S201 in the embodiment of the present application
- the extraction module 502 in this embodiment can be used to perform step S202 in the embodiment of the present application.
- the construction module 503 in this example can be used to execute step S203 in the embodiment of the present application
- the query module 504 in this embodiment can be used to execute step S204 in the embodiment of the present application
- the allocation module 505 in this embodiment can be used To perform step S205 in the embodiment of the present application.
- the obtained point cloud to be segmented is classified by ground points and then normalized;
- the cloud data is voxelized down-sampling, and the voxel center of gravity is used instead of the original point cloud;
- the data from the ground to the predetermined height range is extracted from the normalized data, and the trunk point cloud is extracted as the tree growth seed point;
- the data is set according to the design Euclidean clustering is performed with a threshold value, and a path graph is constructed from the point cloud data;
- the tree trunk seed point cloud is used as a candidate point, the shortest path point from the seed point is traversed, and the candidate points are looped through until all the points are merged into the target point set.
- the point cloud single tree segmentation device further includes: a denoising module for denoising the point cloud to be processed to obtain a noise-reduced point cloud; a classification module for classifying the noise-reduced point cloud to obtain ground points And tree points; normalization module, used to take the relative height of the ground point from the tree point as the canopy height of the tree point.
- a denoising module for denoising the point cloud to be processed to obtain a noise-reduced point cloud
- a classification module for classifying the noise-reduced point cloud to obtain ground points And tree points
- normalization module used to take the relative height of the ground point from the tree point as the canopy height of the tree point.
- the point cloud single tree segmentation device further includes: a horizontal slice module, configured to slice the tree points of the canopy height horizontally according to a preset height threshold to obtain tree points of multiple horizontal layers;
- the horizontal European clustering module is used to perform horizontal European clustering on the tree points of each level to obtain multiple horizontal clusters.
- the point cloud single tree segmentation device further includes: a center of gravity point calculation module for calculating the center of gravity of each horizontal cluster, and adding a non-trunk seed point identifier for each center of gravity; the first candidate tree trunk seed point
- the selection module is used to take the center of gravity in the horizontal layer closest to the ground point as the first candidate trunk seed point, and add a trunk seed point identifier to the first candidate trunk seed point;
- the first direction calculation module uses In calculating the first direction of the N center of gravity points and the first candidate trunk seed point in the target horizontal layer, the target horizontal layer is each other horizontal layer except the horizontal layer where the first candidate trunk seed point is located;
- the two-direction calculation module is used to calculate the second direction between any two center-of-gravity points among the N center-of-gravity points of the target horizontal layer;
- the second candidate tree trunk seed point selection module is used to calculate the angle between the first direction and the ground In the case of greater than the angle threshold, the set of center of gravity points with the smallest included angle formed by
- the point cloud single tree segmentation device further includes: a spatial European clustering module, used to perform three-dimensional European clustering of tree points to obtain multiple spatial clusters; a screening module, used to obtain multiple spatial clusters Multiple target clusters are selected from the cluster, where the target cluster is a spatial cluster with the number of clustering points greater than the screening threshold; the center of gravity point set calculation module is used to calculate the center of gravity point composed of the center of gravity points of multiple target clusters Sets, where multiple center-of-gravity points in the center-of-gravity point set are sorted according to the number of cluster points in the target cluster where they are located.
- a spatial European clustering module used to perform three-dimensional European clustering of tree points to obtain multiple spatial clusters
- a screening module used to obtain multiple spatial clusters Multiple target clusters are selected from the cluster, where the target cluster is a spatial cluster with the number of clustering points greater than the screening threshold
- the center of gravity point set calculation module is used to calculate the center of gravity point composed of the center of gravity points of multiple target clusters
- the point cloud single tree segmentation device further includes: a nearest center of gravity point search module, which is used to query the nearest center of gravity point closest to the trunk seed point in the center of gravity point; the shortest path point search module is used to search the nearest center of gravity point In the corresponding target cluster, the shortest path point closest to the trunk seed point is queried, and the shortest path point is merged into the single tree point set where the trunk seed point is located.
- a nearest center of gravity point search module which is used to query the nearest center of gravity point closest to the trunk seed point in the center of gravity point
- the shortest path point search module is used to search the nearest center of gravity point In the corresponding target cluster, the shortest path point closest to the trunk seed point is queried, and the shortest path point is merged into the single tree point set where the trunk seed point is located.
- the point cloud single tree segmentation device further includes: a voxelization down-sampling module for voxelizing down-sampling the point cloud to be processed to obtain the voxel center of gravity;
- the single tree segmentation relationship represented by the tree point set constructs a kd tree for the voxel center of gravity point to restore the single tree mark to the processed point cloud according to the nearest neighbor method.
- the point cloud single tree segmentation method provided by the embodiment of the present invention (ie a fast point cloud single tree segmentation method based on the shortest path and European clustering algorithm) also has the following technical advantages, for example: 1. Solves single tree segmentation The problem of low accuracy and poor effect (that is, the use of this method (shortest path and European clustering algorithm) can effectively solve the problem of indistinguishability between branches and trunks of trees. Especially in dense forest areas, the effect is more obvious than other algorithms. 2, Through the early voxel resampling and European clustering, the efficiency of single tree segmentation is significantly improved (that is, the shortest path can be effectively solved, but due to the shortest path algorithm principle, the point-by-point calculation method has high space and time complexity. Voxelization It can effectively reduce the dense area without affecting the overall distribution. European clustering can effectively improve the efficiency of the shortest path growth process).
- a computer device including a memory and a processor, the memory stores a computer program that can run on the processor, and the processor executes the computer program When implementing the above steps.
- the memory and processor in the above-mentioned computer equipment communicate through a communication bus and a communication interface.
- the communication bus may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus or the like.
- PCI Peripheral Component Interconnect
- EISA Extended Industry Standard Architecture
- the communication bus can be divided into address bus, data bus, control bus and so on.
- the memory may include random access memory (Random Access Memory, RAM for short), or may include non-volatile memory (non-volatile memory), such as at least one disk memory.
- RAM Random Access Memory
- non-volatile memory such as at least one disk memory.
- the memory may also be at least one storage device located far away from the foregoing processor.
- the above-mentioned processor may be a general-purpose processor, including a central processing unit (Central Processing Unit, CPU for short), a network processor (Network Processor, NP), etc.; it may also be a digital signal processor (Digital Signal Processing, DSP for short) , Application Specific Integrated Circuit (ASIC), Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
- CPU Central Processing Unit
- NP Network Processor
- DSP Digital Signal Processing
- ASIC Application Specific Integrated Circuit
- FPGA Field-Programmable Gate Array
- a computer-readable medium is also provided.
- the computer-readable medium is configured to store program code for the processor to execute the following steps:
- Step S201 Perform horizontal clustering on the point cloud to be processed to obtain multiple horizontal clusters
- Step S202 extract the trunk seed points of the target tree from multiple horizontal clusters
- Step S203 construct a path map in the point cloud to be processed according to the tree trunk seed points
- Step S204 traverse and query the shortest path point from the tree trunk seed point in the path graph
- Step S205 when the distance from the current shortest path point to the adjacent reference shortest path point is less than or equal to the distance threshold, merge the current shortest path point into the single tree point set where the tree trunk seed point is located.
- the embodiments described herein can be implemented by hardware, software, firmware, middleware, microcode, or a combination thereof.
- the processing unit can be implemented in one or more application specific integrated circuits (ASIC), digital signal processor (Digital Signal Processing, DSP), digital signal processing equipment (DSP Device, DSPD), programmable Logic device (Programmable Logic Device, PLD), Field-Programmable Gate Array (Field-Programmable Gate Array, FPGA), general-purpose processors, controllers, microcontrollers, microprocessors, and others for performing the functions described in this application Electronic unit or its combination.
- ASIC application specific integrated circuits
- DSP Digital Signal Processing
- DSP Device digital signal processing equipment
- PLD programmable Logic Device
- PLD Field-Programmable Gate Array
- FPGA Field-Programmable Gate Array
- the technology described herein can be implemented by a unit that performs the functions described herein.
- the software codes can be stored in the memory and executed by the processor.
- the memory can be implemented in the processor or external to the processor.
- the disclosed device and method may be implemented in other ways.
- the device embodiments described above are merely illustrative.
- the division of the modules is only a logical function division, and there may be other divisions in actual implementation, for example, multiple modules or components may be combined or It can be integrated into another system, or some features can be ignored or not implemented.
- the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical or other forms.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments.
- the functional units in the various embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
- the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
- the technical solutions of the embodiments of the present application are essentially or the part that contributes to the prior art or the part of the technical solutions can be embodied in the form of a software product, and the computer software product is stored in a storage medium.
- Including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application.
- the aforementioned storage media include: U disk, mobile hard disk, ROM, RAM, magnetic disk or optical disk and other media that can store program codes.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
一种点云单木分割方法、装置、设备及计算机可读介质。方法包括:对待处理点云进行水平聚类,得到多个水平聚簇,其中,待处理点云为扫描设备对目标树木进行扫描获得的点云数据(S201);从多个水平聚簇中提取目标树木的树干种子点(S202);根据树干种子点在待处理点云中构建路径图(S203);在路径图中遍历查询距离树干种子点的最短路径点(S204);在当前最短路径点至与之相邻的参考最短路径点的距离小于等于距离阈值的情况下,将当前最短路径点合并到树干种子点所在的单木点集,其中,单木点集表示属于树干种子点对应的单木上的点的集合(S205)。有效降低了多棵树木间枝干交叉对单木分割的影响,提升了分割精度,加快了分割效率。
Description
本申请涉及测绘点云数据处理技术领域,尤其涉及一种点云单木分割方法、装置、设备及计算机可读介质。
逆向工程中,通过测量仪器得到物体外观表面的点数据集合的方式已经广泛应用于农业、林业、地灾、电力、测绘等各个领域的点位信息的探测。特别是利用地面激光雷达和移动激光雷达(LiDAR)等扫描设备对树木进行扫描获得的点云数据可以直接获得树高、胸径、树冠直径、树冠面积和树冠体积,而且,利用基于单个树结构的经验公式可以估算生物量和碳储量。
目前,相关技术中对点云数据进行单木分割时仍有许多缺陷。发明人在研究过程中发现,目前存在的地基激光雷达单木分割方法存在分割精度低、效率不高等问题,主要是树木识别准确性不高,按照简单的切片聚类容易将非树木识别为树木进而作为种子点生长枝叶,对树干识别后进行枝叶点云生长时,易受周边树木枝叶的影响,导致过分割和漏分割严重,影响单木参数提取精度以及展示效果。相关技术中也有采用简单的最短路径算法进行生长,然而发明人在研究过程中发现,简单的最短路径生长也存在效率低下等问题,不能满足生产等需求,无法处理数量较密集的激光点云。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供了一种点云单木分割方法、装置、设备及计算机可读介质,以解决上述“分割精度低、效率不高”的技术问题。
第一方面,本申请提供了一种点云单木分割方法,包括:对待处理点云进行水平聚类,得到多个水平聚簇,其中,待处理点云为扫描设备对目标树木进行扫描获得的点云数据;从多个水平聚簇中提取目标树木的树干种子点;根据树干种子点在待处理点云中构建路径图;在路径图中遍历查询距离树干 种子点的最短路径点;在当前最短路径点至与之相邻的参考最短路径点的距离小于等于距离阈值的情况下,将当前最短路径点合并到树干种子点所在的单木点集,其中,单木点集表示属于树干种子点对应的单木上的点的集合。
可选地,对待处理点云进行水平聚类,得到多个水平聚簇之前,还包括按照如下方式对待处理点云进行预处理:对待处理点云去噪,得到降噪点云;对降噪点云进行分类,得到地面点和树木点;将地面点距离树木点的相对高度作为树木点的冠层高度。
可选地,对待处理点云进行水平聚类,得到多个水平聚簇包括:按照预设高度阈值对冠层高度的所述树木点进行水平切层,得到多个水平层的树木点;对各个水平层的树木点进行水平欧式聚类,得到多个水平聚簇。
可选地,从多个水平聚簇中提取目标树木的树干种子点包括:计算各个水平聚簇的重心点,并为各个重心点增加非树干种子点标识;将距离地面点最近的一层水平层中的重心点作为第一备选树干种子点,并为第一备选树干种子点增加树干种子点标识;计算目标水平层中N个重心点与第一备选树干种子点的第一方向,其中,目标水平层为除第一备选树干种子点所在的水平层之外的其他各个水平层;计算目标水平层N个重心点中任意两个重心点之间的第二方向;在第一方向与地面间的夹角大于角度阈值的情况下,将第一方向与第二方向形成的夹角最小的一组重心点作为第二备选树干种子点,并为第二备选树干种子点增加树干种子点标识;在第二备选树干种子点符合预设条件的情况下,将第二备选树干种子点作为最终的树干种子点。
可选地,在路径图中遍历查询距离树干种子点的最短路径点之前,还包括按照如下方式创建重心点集:对树木点进行三维空间的欧式聚类,得到多个空间聚簇;从多个空间聚簇中选出多个目标聚簇,其中,目标聚簇为聚类点数大于筛选阈值的空间聚簇;计算由多个目标聚簇的重心点组成的重心点集,其中,重心点集中的多个重心点按照其所在的目标聚簇中聚类点数的数量由大到小进行排序。
可选地,在路径图中查询到的当前最短路径点至与之相邻的参考最短路径点的距离大于距离阈值的情况下,还包括按照如下方式重新查询最短路径点:在重心点集中查询距离树干种子点最近的最近重心点;在最近重心点对 应的目标聚簇中查询距离树干种子点最近的最短路径点,并将最短路径点合并到树干种子点所在的单木点集。
可选地,将当前最短路径点合并到树干种子点所在的单木点集之后,该方法还包括:将待处理点云进行体素化降采样,得到体素重心点;根据单木点集表征的单木分割关系对体素重心点构建k-d tree,以按照最近邻方式对待处理点云还原单木标记。
第二方面,本申请提供了一种点云单木分割装置,包括:聚类模块,用于对待处理点云进行水平聚类,得到多个水平聚簇,其中,待处理点云为扫描设备对目标树木进行扫描获得的点云数据;提取模块,用于从多个水平聚簇中提取目标树木的树干种子点;构建模块,用于根据树干种子点在待处理点云中构建路径图;查询模块,用于在路径图中遍历查询距离树干种子点的最短路径点;分配模块,用于在当前最短路径点至与之相邻的参考最短路径点的距离小于等于距离阈值的情况下,将当前最短路径点合并到树干种子点所在的单木点集,其中,单木点集表示属于树干种子点对应的单木上的点的集合。
第三方面,本申请提供了一种计算机设备,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述第一方面任一项方法的步骤。
第四方面,本申请还提供了一种计算机可读介质,程序代码使处理器执行上述第一方面任一方法。
本申请实施例提供的上述技术方案与相关技术相比具有如下优点:
本申请通过对待处理点云进行水平聚类,得到多个水平聚簇,其中,待处理点云为扫描设备对目标树木进行扫描获得的点云数据;从多个水平聚簇中提取目标树木的树干种子点;根据树干种子点在待处理点云中构建路径图;在路径图中遍历查询距离树干种子点的最短路径点;在当前最短路径点至与之相邻的参考最短路径点的距离小于等于距离阈值的情况下,将当前最短路径点合并到树干种子点所在的单木点集,其中,单木点集表示属于树干种子点对应的单木上的点的集合的点云单木分割方法,有效降低了多棵树木间枝干交叉对单木分割的影响,提升了分割精度,加快了分割效率。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本申请实施例提供的一种可选的点云单木分割方法硬件环境示意图;
图2为根据本申请实施例提供的一种可选的点云单木分割方法流程图;
图3为根据本申请实施例提供的一种可选的点云数据预处理流程图;
图4为根据本申请实施例提供的一种可选的树干种子点提取流程图;
图5为根据本申请实施例提供的一种可选的点云单木分割装置框图。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
根据本申请实施例的一方面,提供了一种点云单木分割方法的实施例。
可选地,在本申请实施例中,上述点云单木分割方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务,可在服务器上或独立于服务器设置数据库105,用于为服务器103 提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101包括但不限于PC、手机、平板电脑等。
本申请实施例中的一种点云单木分割方法(即本申请中的上述点云分割方法实际上是一种基于最短路径与欧式聚类算法的快速点云单木分割方法)可以由服务器103来执行,如图2所示,该方法可以包括以下步骤:
步骤S201,对待处理点云进行水平聚类,得到多个水平聚簇;
本申请实施例中,待处理点云为扫描设备对目标树木进行扫描获得的点云数据,扫描设备可以是地面激光雷达、背包或车载激光雷达。在对庞大的点云数据进行单木分割时,首先需要提取树干种子点,以表示单木的主体,这一类点云数据往往较为聚集,可以进行水平聚类,得到多个水平聚簇从而得以寻找树干种子点。还可以先对待处理点云进行体素化降采样,将点云用体素重心点来表示,可以有效提升数据处理的效率。
步骤S202,从多个水平聚簇中提取目标树木的树干种子点;
本申请实施例中,可以从聚类得到的水平聚簇中选取出具有代表性的点作为单木的树干种子点,例如可以通过计算水平聚簇的重心点来表示。
步骤S203,根据树干种子点在待处理点云中构建路径图;
本申请实施例中,在获取了树木的树干即树干种子点后,可以将该树干种子点作为备选点,在待处理点云即原始点云中构建用于各个点云划分其所属树干种子点的路径图,以对树木进行最短路径生长。
步骤S204,在路径图中遍历查询距离树干种子点的最短路径点;
步骤S205,在当前最短路径点至与之相邻的参考最短路径点的距离小于等于距离阈值的情况下,将当前最短路径点合并到树干种子点所在的单木点集。
本申请实施例中,单木点集表示属于树干种子点对应的单木上的点的集合,即属于同一棵树的点归类为一个单木点集中。距离阈值可以是组成同一棵树木的点云中,相邻两个点允许的最大距离。该点距离所有树木中哪棵树木上的某一点最近则认为与该树木为同一棵树,标记相同ID,即将该点划分为与之距离最近的树干种子点所在的单木点集中。每棵树木中的点都会标记 总路径及与其他点的路径距离。
本申请实施例中,当前最短路径点归为单木点集后,将该点插入到树干种子点并更新路径图,以作为下一个最短路径点查询时的参考最短路径点。
可选地,本申请实施例提供一种对待处理点云进行水平聚类,得到多个水平聚簇之前,对点云数据进行预处理的方式,如图3所示,包括以下步骤:
步骤S301,对待处理点云去噪,得到降噪点云;
步骤S302,对降噪点云进行分类,得到地面点和树木点;
步骤S303,将地面点距离树木点的相对高度作为树木点的冠层高度。
本申请实施例中,待处理点云包含了扫描区域的所有物体,甚至包含噪点数据,在得到原始点云数据后需要对点云数据进行去噪和分类,可以是分为地面点和树木点,地面点表示该点云数据对应的实际物体是地面,树木点表示该点云数据对应的实际物体是树木,分类后点云数据只改变类别属性。将地面点距离树木点的相对高度作为树木点的冠层高度即对分类后的点云据进行归一化,可以是树木点Z值减去地面点Z值从而获得树木点的冠层高度值,以减少地形起伏对后续单木分割的影响。
需要说明的是,归一化可以利用地面点归一化,也可以使用高程数字模型(DEM)进行归一化。
可选地,对待处理点云进行水平聚类,得到多个水平聚簇可以包括以下步骤:
步骤1,按照预设高度阈值对冠层高度的所述树木点进行水平切层,得到多个水平层的树木点;
步骤2,对各个水平层的树木点进行水平欧式聚类,得到多个水平聚簇。
本申请实施例中,对树木点进行水平切层时只考虑树木点的冠层高度,以减少地形起伏带来的影响,切层数目越多,越能降低识别树木的错误率,即切层数越多,其他低矮灌木或其他地物的影响越小。作为本申请实施例的优选方案,切层数目不应少于5层,切层阈值高度不应小于3倍平均点间距。
本申请实施例中,对各个水平层的树木点进行水平聚类,具体可以是对各个水平层的树木点进行水平欧式聚类,即按照二维XY方向进行欧式聚类, 得到多个水平聚簇。
可选地,本申请实施例提供一种可选的树干种子点的提取方式,如图4所示,步骤S202从多个水平聚簇中提取目标树木的树干种子点可以包括:
步骤S401,计算各个水平聚簇的重心点,并为各个重心点增加非树干种子点标识;
步骤S402,将距离地面点最近的一层水平层中的重心点作为第一备选树干种子点,并为第一备选树干种子点增加树干种子点标识;
步骤S403,计算目标水平层中N个重心点与第一备选树干种子点的第一方向,其中,目标水平层为除第一备选树干种子点所在的水平层之外的其他各个水平层;
步骤S404,计算目标水平层N个重心点中任意两个重心点之间的第二方向;
步骤S405,在第一方向与地面间的夹角大于角度阈值的情况下,将第一方向与第二方向形成的夹角最小的一组重心点作为第二备选树干种子点,并为第二备选树干种子点增加树干种子点标识;
步骤S406,在第二备选树干种子点符合预设条件的情况下,将第二备选树干种子点作为最终的树干种子点。
本申请实施例中,从多个水平聚簇中提取目标树木的树干种子点时,首先计算各个水平层中各个水平聚簇的重心点,并将此时的重心点全部增加非树干种子点标识。拥有非树干种子点标识的重心点表示该重心点不是树干种子点。计算重心点可以是将一个水平聚簇中每个点空间三维分量X值、Y值和Z值分别求和除以总点数。
本申请实施例中,将距离地面最近的一层水平层作为0层,该层中的点云数据作为0层数据,依次类推。将0层数据中各个水平聚簇的重心点作为备选树干点即第一备选树干种子点,并将该重心点之前步骤增加的非树干种子点标识更改为树干种子点标识,以表示该重心点可以作为树干种子点。因为根据生活常识,树木距离地面越近的位置,越有可能是树干。
本申请实施例中,从0层开始每一个重心点(即0层的第一备选树干种 子点)逐层向上搜索N个点,计算该重心点与搜索的N个点间第一方向A以及N个点中任意两个点的第二方向Bi,获取第一方向A与第二方向Bi之间夹角最小,且第一方向A与地面夹角大于一定角度阈值的一组作为第二备选树干点,并将原有的非树干种子点标识更改为树干种子点标识,依次计算N个点中的每一个点。根据树木生长的方式,树干具有方向一致性,因此第一方向A与第二方向Bi之间夹角最小时是同一棵树木且为树干的概率最大,同时,树木生长会与地面呈现一定夹角,正常情况下垂直生长是90度夹角,可以将该角度阈值即树木与地面夹角的阈值设为30度,以使得识别树木时减少错误。
本申请实施例中,初步筛选完成后,对所有的第二备选树干种子点再进行筛选,可以是保留大于K个点并且高度大于一定阈值的重心点作为最终的树干种子点。
可选地,在路径图中遍历查询距离树干种子点的最短路径点之前,还包括按照如下方式创建重心点集:
步骤1,对树木点进行三维空间的欧式聚类,得到多个空间聚簇;
步骤2,从多个空间聚簇中选出多个目标聚簇,其中,目标聚簇为聚类点数大于筛选阈值的空间聚簇;
步骤3,计算由多个目标聚簇的重心点组成的重心点集,其中,重心点集中的多个重心点按照其所在的目标聚簇中聚类点数的数量由大到小进行排序。
本申请实施例中,可以对点云数据进行空间三维欧式聚类以加速数据处理,具体的,对树木点进行三维空间的欧式聚类,得到多个空间聚簇,将聚类点数大于筛选阈值的空间聚簇筛选出来,以在后续步骤中不对聚类点数较少的空间聚簇进行最短路径计算。可选地,该筛选阈值可以是500个点。
本申请实施例中,再筛选出聚类点数大于筛选阈值的空间聚簇之后,还需要计算这些空间聚簇的重心点,并将这些重心点组成重心点集,其中,这些重心点在该重心点集中的排序方式按照其所在的空间聚簇中聚类点数的数量由大到小进行排序,以使得在查询最短路径点时优先解决大多数,效率更高。
可选地,在路径图中查询到的当前最短路径点至与之相邻的参考最短路径点的距离大于距离阈值的情况下,还包括按照如下方式重新查询最短路径点:
步骤1,在重心点集中查询距离树干种子点最近的最近重心点;
步骤2,在最近重心点对应的目标聚簇中查询距离树干种子点最近的最短路径点,并将最短路径点合并到树干种子点所在的单木点集。
本申请实施例中,在查询到的当前最短路径点至与之相邻的参考最短路径点的距离大于组成同一棵树木的点云中,相邻两个点允许的最大距离时,从重心点集中查询距离树干种子点最近的最近重心点,并在该最近重心点所在的空间聚簇中重新查询距离树干种子点最近的最短路径点。
可选地,将当前最短路径点合并到树干种子点所在的单木点集之后,该方法还包括:
步骤1,将待处理点云进行体素化降采样,得到体素重心点;
步骤2,根据单木点集表征的单木分割关系对体素重心点构建k-d tree,以按照最近邻方式对待处理点云还原单木标记。
本申请实施例中,在对所有降采样后的点进行树木生长后,需要还原到原始点云中,可以使用最邻近查询法还原原始点云单木标记。
本申请通过对待处理点云进行水平聚类,得到多个水平聚簇,其中,待处理点云为扫描设备对目标树木进行扫描获得的点云数据;从多个水平聚簇中提取目标树木的树干种子点;根据树干种子点在待处理点云中构建路径图;在路径图中遍历查询距离树干种子点的最短路径点;在当前最短路径点至与之相邻的参考最短路径点的距离小于等于距离阈值的情况下,将当前最短路径点合并到树干种子点所在的单木点集,其中,单木点集表示属于树干种子点对应的单木上的点的集合的点云单木分割方法,有效降低了多棵树木间枝干交叉对单木分割的影响,提升了分割精度,加快了分割效率。
根据本申请实施例的又一方面,如图5所示,提供了一种点云单木分割装置,包括:聚类模块501,用于对待处理点云进行水平聚类,得到多个水平聚簇,其中,待处理点云为扫描设备对目标树木进行扫描获得的点云数据; 提取模块502,用于从多个水平聚簇中提取目标树木的树干种子点;构建模块503,用于根据树干种子点在待处理点云中构建路径图;查询模块504,用于在路径图中遍历查询距离树干种子点的最短路径点;分配模块505,用于在当前最短路径点至与之相邻的参考最短路径点的距离小于等于距离阈值的情况下,将当前最短路径点合并到树干种子点所在的单木点集,其中,单木点集表示属于树干种子点对应的单木上的点的集合。
需要说明的是,该实施例中的聚类模块501可以用于执行本申请实施例中的步骤S201,该实施例中的提取模块502可以用于执行本申请实施例中的步骤S202,该实施例中的构建模块503可以用于执行本申请实施例中的步骤S203,该实施例中的查询模块504可以用于执行本申请实施例中的步骤S204,该实施例中的分配模块505可以用于执行本申请实施例中的步骤S205。
本发明实施例提供的点云单木分割方法(即基于最短路径与欧式聚类算法的快速点云单木分割方法),将获取的待分割点云进行地面点分类后归一化;对点云数据进行体素化降采样,使用体素重心点代替原始点云;在归一化数据中提取从地面到预定高度范围内的数据,提取树干点云作为树木生长种子点;将数据按照设定阈值进行欧式聚类,将点云数据构建路径图;将树干种子点云作为备选点,遍历查询距离种子点最短路径点,循环遍历备选点,直到所有点归并到目标点集中。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
可选地,该点云单木分割装置,还包括:去噪模块,用于对待处理点云去噪,得到降噪点云;分类模块,用于对降噪点云进行分类,得到地面点和树木点;归一化模块,用于将地面点距离树木点的相对高度作为树木点的冠层高度。
可选地,该点云单木分割装置,还包括:水平切层模块,用于按照预设高度阈值对冠层高度的所述树木点进行水平切层,得到多个水平层的树木点; 水平欧式聚类模块,用于对各个水平层的树木点进行水平欧式聚类,得到多个水平聚簇。
可选地,该点云单木分割装置,还包括:重心点计算模块,用于计算各个水平聚簇的重心点,并为各个重心点增加非树干种子点标识;第一备选树干种子点选择模块,用于将距离地面点最近的一层水平层中的重心点作为第一备选树干种子点,并为第一备选树干种子点增加树干种子点标识;第一方向计算模块,用于计算目标水平层中N个重心点与第一备选树干种子点的第一方向,其中,目标水平层为除第一备选树干种子点所在的水平层之外的其他各个水平层;第二方向计算模块,用于计算目标水平层N个重心点中任意两个重心点之间的第二方向;第二备选树干种子点选择模块,用于在第一方向与地面间的夹角大于角度阈值的情况下,将第一方向与第二方向形成的夹角最小的一组重心点作为第二备选树干种子点,并为第二备选树干种子点增加树干种子点标识;确认模块,用于在第二备选树干种子点符合预设条件的情况下,将第二备选树干种子点作为最终的树干种子点。
可选地,该点云单木分割装置,还包括:空间欧式聚类模块,用于对树木点进行三维空间的欧式聚类,得到多个空间聚簇;筛选模块,用于从多个空间聚簇中选出多个目标聚簇,其中,目标聚簇为聚类点数大于筛选阈值的空间聚簇;重心点集计算模块,用于计算由多个目标聚簇的重心点组成的重心点集,其中,重心点集中的多个重心点按照其所在的目标聚簇中聚类点数的数量由大到小进行排序。
可选地,该点云单木分割装置,还包括:最近重心点查找模块,用于在重心点集中查询距离树干种子点最近的最近重心点;最短路径点查找模块,用于在最近重心点对应的目标聚簇中查询距离树干种子点最近的最短路径点,并将最短路径点合并到树干种子点所在的单木点集。
可选地,该点云单木分割装置,还包括:体素化降采样模块,用于将待处理点云进行体素化降采样,得到体素重心点;邻近查询模块,用于根据单木点集表征的单木分割关系对体素重心点构建k-d tree,以按照最近邻方式对待处理点云还原单木标记。
本发明实施例提供的点云单木分割方法(即基于最短路径与欧式聚类算 法的快速点云单木分割方法),其还具有如下方面的技术优势,例如:1、解决了单木分割精度低,效果差的问题(即使用该方法(最短路径与欧式聚类算法)可有效解决树木间枝干交叉无法区分问题。尤其在密集的林区与其他算法相比效果更明显。2、通过前期体素重采样及欧式聚类,明显提升单木分割效率(即最短路径可有效解决,但受最短路径算法原理,逐点计算方式的空间复杂度和时间复杂度较高。体素化可有效减少过密区域且不影响整体分布,欧式聚类可有效提高最短路径生长过程的效率)。
根据本申请实施例的又一方面还提供了一种计算机设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述步骤。
上述计算机设备中的存储器、处理器通过通信总线和通信接口进行通信。所述通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
根据本申请实施例的又一方面还提供了一种计算机可读介质。
可选地,在本申请实施例中,计算机可读介质被设置为存储用于所述处理器执行以下步骤的程序代码:
步骤S201,对待处理点云进行水平聚类,得到多个水平聚簇;
步骤S202,从多个水平聚簇中提取目标树木的树干种子点;
步骤S203,根据树干种子点在待处理点云中构建路径图;
步骤S204,在路径图中遍历查询距离树干种子点的最短路径点;
步骤S205,在当前最短路径点至与之相邻的参考最短路径点的距离小于等于距离阈值的情况下,将当前最短路径点合并到树干种子点所在的单木点集。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本申请实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Application Specific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable Logic Device,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以 通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
- 一种点云单木分割方法,其特征在于,包括:对待处理点云进行水平聚类,得到多个水平聚簇,其中,所述待处理点云为扫描设备对目标树木进行扫描获得的点云数据;从多个所述水平聚簇中提取所述目标树木的树干种子点;根据所述树干种子点在所述待处理点云中构建路径图;在所述路径图中遍历查询距离所述树干种子点的最短路径点;在当前最短路径点至与之相邻的参考最短路径点的距离小于等于距离阈值的情况下,将所述当前最短路径点合并到所述树干种子点所在的单木点集,其中,所述单木点集表示属于所述树干种子点对应的单木上的点的集合。
- 根据权利要求1所述的方法,其特征在于,对待处理点云进行水平聚类,得到多个水平聚簇之前,还包括按照如下方式对所述待处理点云进行预处理:对所述待处理点云去噪,得到降噪点云;对所述降噪点云进行分类,得到地面点和树木点;将所述地面点距离所述树木点的相对高度作为所述树木点的冠层高度。
- 根据权利要求2所述的方法,其特征在于,对待处理点云进行水平聚类,得到多个水平聚簇包括:按照预设高度阈值对所述冠层高度的所述树木点进行水平切层,得到多个水平层的所述树木点;对各个水平层的所述树木点进行水平欧式聚类,得到多个所述水平聚簇。
- 根据权利要求3所述的方法,其特征在于,从多个所述水平聚簇中提取所述目标树木的树干种子点包括:计算各个所述水平聚簇的重心点,并为各个所述重心点增加非树干种子点标识;将距离所述地面点最近的一层水平层中的所述重心点作为第一备选树干种子点,并为所述第一备选树干种子点增加树干种子点标识;计算目标水平层中N个所述重心点与所述第一备选树干种子点的第一方向,其中,所述目标水平层为除所述第一备选树干种子点所在的水平层之外的其他各个水平层;计算所述目标水平层N个所述重心点中任意两个所述重心点之间的第二方向;在所述第一方向与地面间的夹角大于角度阈值的情况下,将所述第一方向与所述第二方向形成的夹角最小的一组所述重心点作为第二备选树干种子点,并为所述第二备选树干种子点增加所述树干种子点标识;在所述第二备选树干种子点符合预设条件的情况下,将所述第二备选树干种子点作为最终的所述树干种子点。
- 根据权利要求2所述的方法,其特征在于,在所述路径图中遍历查询距离所述树干种子点的最短路径点之前,还包括按照如下方式创建重心点集:对所述树木点进行三维空间的欧式聚类,得到多个空间聚簇;从所述多个空间聚簇中选出多个目标聚簇,其中,所述目标聚簇为聚类点数大于筛选阈值的空间聚簇;计算由所述多个目标聚簇的重心点组成的所述重心点集,其中,所述重心点集中的多个所述重心点按照其所在的所述目标聚簇中聚类点数的数量由大到小进行排序。
- 根据权利要求5所述的方法,其特征在于,在所述路径图中查询到的所述当前最短路径点至与之相邻的所述参考最短路径点的距离大于所述距离阈值的情况下,还包括按照如下方式重新查询所述最短路径点:在所述重心点集中查询距离所述树干种子点最近的最近重心点;在所述最近重心点对应的所述目标聚簇中查询距离所述树干种子点最近的所述最短路径点,并将所述最短路径点合并到所述树干种子点所在的单木点集。
- 根据权利要求1至6任一所述的方法,其特征在于,将所述当前最短路径点合并到所述树干种子点所在的单木点集之后,所述方法还包括:将所述待处理点云进行体素化降采样,得到体素重心点;根据所述单木点集表征的单木分割关系对所述体素重心点构建k-d tree,以按照最近邻方式对所述待处理点云还原单木标记。
- 一种点云单木分割装置,其特征在于,包括:聚类模块,用于对待处理点云进行水平聚类,得到多个水平聚簇,其中,所述待处理点云为扫描设备对目标树木进行扫描获得的点云数据;提取模块,用于从多个所述水平聚簇中提取所述目标树木的树干种子点;构建模块,用于根据所述树干种子点在所述待处理点云中构建路径图;查询模块,用于在所述路径图中遍历查询距离所述树干种子点的最短路径点;分配模块,用于在当前最短路径点至与之相邻的参考最短路径点的距离小于等于距离阈值的情况下,将所述当前最短路径点合并到所述树干种子点所在的单木点集,其中,所述单木点集表示属于所述树干种子点对应的单木上的点的集合。
- 一种计算机设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至7任一项所述的方法的步骤。
- 一种计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至7任一所述方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010422711.3 | 2020-05-19 | ||
CN202010422711.3A CN111598915B (zh) | 2020-05-19 | 2020-05-19 | 点云单木分割方法、装置、设备及计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021232467A1 true WO2021232467A1 (zh) | 2021-11-25 |
Family
ID=72192439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/092868 WO2021232467A1 (zh) | 2020-05-19 | 2020-05-28 | 点云单木分割方法、装置、设备及计算机可读介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111598915B (zh) |
WO (1) | WO2021232467A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114510771A (zh) * | 2022-04-07 | 2022-05-17 | 深圳小库科技有限公司 | 建筑曲面的模具生成方法、装置、设备及计算机可读介质 |
CN114677381A (zh) * | 2022-05-30 | 2022-06-28 | 天津云圣智能科技有限责任公司 | 绝缘子分割方法、装置、电子设备及计算机可读存储介质 |
CN115512244A (zh) * | 2022-08-19 | 2022-12-23 | 中国林业科学研究院资源信息研究所 | 一种单株树木碳储量确定方法及系统 |
CN115953607A (zh) * | 2023-01-04 | 2023-04-11 | 北京数字绿土科技股份有限公司 | 一种使用点云数据的树干胸径的提取方法和系统 |
CN116597199A (zh) * | 2023-04-14 | 2023-08-15 | 山东科技大学 | 基于机载LiDAR的点云树种分类方法及系统 |
CN117252863A (zh) * | 2023-11-13 | 2023-12-19 | 山东省地质测绘院 | 一种地理信息异常数据快速检测分析方法 |
CN117437269A (zh) * | 2023-12-22 | 2024-01-23 | 深圳大学 | 一种树木点云非刚性配准方法及相关设备 |
CN117710601A (zh) * | 2023-12-27 | 2024-03-15 | 南京林业大学 | 一种基于激光点云和图像信息的单木骨架提取方法及系统 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112308839B (zh) * | 2020-10-31 | 2022-08-02 | 云南师范大学 | 天然林的单木分割方法、装置、计算机设备及存储介质 |
CN113095571B (zh) * | 2021-04-14 | 2022-08-09 | 河北农业大学 | 一种基于树木代谢速率理论的生物量模型预测方法及系统 |
CN114387288A (zh) * | 2022-01-17 | 2022-04-22 | 滁州学院 | 基于车载激光雷达点云数据的单立木三维信息提取方法 |
CN116310849B (zh) * | 2023-05-22 | 2023-09-19 | 深圳大学 | 基于三维形态特征的树木点云单体化提取方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101922914A (zh) * | 2010-08-27 | 2010-12-22 | 中国林业科学研究院资源信息研究所 | 基于高空间分辨率遥感影像的树冠信息提取方法和系统 |
US20160027208A1 (en) * | 2014-07-25 | 2016-01-28 | Kabushiki Kaisha Toshiba | Image analysis method |
CN105894044A (zh) * | 2016-04-29 | 2016-08-24 | 武汉大学 | 一种基于车载激光扫描数据的单株树木点云自动提取方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109712229A (zh) * | 2018-11-26 | 2019-05-03 | 漳州通正勘测设计院有限公司 | 一种单株树木骨架点提取方法、装置、设备及存储介质 |
CN110992473B (zh) * | 2019-12-13 | 2022-03-25 | 武汉大学 | 一种基于车载激光扫描点云的树木枝干建模方法及系统 |
-
2020
- 2020-05-19 CN CN202010422711.3A patent/CN111598915B/zh active Active
- 2020-05-28 WO PCT/CN2020/092868 patent/WO2021232467A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101922914A (zh) * | 2010-08-27 | 2010-12-22 | 中国林业科学研究院资源信息研究所 | 基于高空间分辨率遥感影像的树冠信息提取方法和系统 |
US20160027208A1 (en) * | 2014-07-25 | 2016-01-28 | Kabushiki Kaisha Toshiba | Image analysis method |
CN105894044A (zh) * | 2016-04-29 | 2016-08-24 | 武汉大学 | 一种基于车载激光扫描数据的单株树木点云自动提取方法 |
Non-Patent Citations (2)
Title |
---|
HUANG, XIAO: "Influence of Forest Stand Parameters on Windbreak Variables Using a Fluid Simulation Technique", AGRICULTURE, CHINA MASTER’S THESES FULL-TEXT DATABASE, no. 5, 15 May 2020 (2020-05-15), pages 1 - 58, XP055870693 * |
QU, SHUAI ET AL.: "Design and Test of Airborne LiDAR System for Forest Resources Survey", JOURNAL OF NORTHWEST FORESTRY UNIVERSITY, vol. 33, no. 4, 31 August 2018 (2018-08-31), pages 175 - 182, XP055870703 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114510771A (zh) * | 2022-04-07 | 2022-05-17 | 深圳小库科技有限公司 | 建筑曲面的模具生成方法、装置、设备及计算机可读介质 |
CN114677381A (zh) * | 2022-05-30 | 2022-06-28 | 天津云圣智能科技有限责任公司 | 绝缘子分割方法、装置、电子设备及计算机可读存储介质 |
CN115512244B (zh) * | 2022-08-19 | 2024-01-05 | 中国林业科学研究院资源信息研究所 | 一种单株树木碳储量确定方法及系统 |
CN115512244A (zh) * | 2022-08-19 | 2022-12-23 | 中国林业科学研究院资源信息研究所 | 一种单株树木碳储量确定方法及系统 |
CN115953607A (zh) * | 2023-01-04 | 2023-04-11 | 北京数字绿土科技股份有限公司 | 一种使用点云数据的树干胸径的提取方法和系统 |
CN115953607B (zh) * | 2023-01-04 | 2024-02-13 | 北京数字绿土科技股份有限公司 | 一种使用点云数据的树干胸径的提取方法和系统 |
CN116597199A (zh) * | 2023-04-14 | 2023-08-15 | 山东科技大学 | 基于机载LiDAR的点云树种分类方法及系统 |
CN117252863A (zh) * | 2023-11-13 | 2023-12-19 | 山东省地质测绘院 | 一种地理信息异常数据快速检测分析方法 |
CN117252863B (zh) * | 2023-11-13 | 2024-02-09 | 山东省地质测绘院 | 一种地理信息异常数据快速检测分析方法 |
CN117437269A (zh) * | 2023-12-22 | 2024-01-23 | 深圳大学 | 一种树木点云非刚性配准方法及相关设备 |
CN117437269B (zh) * | 2023-12-22 | 2024-04-16 | 深圳大学 | 一种树木点云非刚性配准方法及相关设备 |
CN117710601A (zh) * | 2023-12-27 | 2024-03-15 | 南京林业大学 | 一种基于激光点云和图像信息的单木骨架提取方法及系统 |
CN117710601B (zh) * | 2023-12-27 | 2024-05-24 | 南京林业大学 | 一种基于激光点云和图像信息的单木骨架提取方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111598915A (zh) | 2020-08-28 |
CN111598915B (zh) | 2023-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021232467A1 (zh) | 点云单木分割方法、装置、设备及计算机可读介质 | |
Bhatia | Survey of nearest neighbor techniques | |
Wu et al. | An extended minimum spanning tree method for characterizing local urban patterns | |
CN106373118B (zh) | 可有效保留边界和局部特征的复杂曲面零件点云精简方法 | |
CN104462184B (zh) | 一种基于双向抽样组合的大规模数据异常识别方法 | |
CN104239553A (zh) | 一种基于Map-Reduce框架的实体识别方法 | |
CN109284626A (zh) | 面向差分隐私保护的随机森林算法 | |
CN113467851B (zh) | 一种基于车辆聚类的动态车辆计算任务卸载方法和装置 | |
CN104035954A (zh) | 一种基于Hadoop的套牌车识别方法 | |
CN106599915A (zh) | 一种车载激光点云分类方法 | |
CN111860359B (zh) | 一种基于改进随机森林算法的点云分类方法 | |
CN116310849B (zh) | 基于三维形态特征的树木点云单体化提取方法 | |
CN110046661A (zh) | 一种基于上下文特征和图割算法的车载点云聚类方法 | |
Xu et al. | Individual stem detection in residential environments with MLS data | |
CN108629315B (zh) | 一种针对三维点云的多平面识别方法 | |
CN116385801A (zh) | 一种基于多光谱深度学习与点云技术的树木分类方法 | |
CN112417507B (zh) | 一种基于隐私保护的大型图的节点三角形计数的发布方法 | |
CN114511572A (zh) | 一种林间测树的单木分割流程方法 | |
WO2023050461A1 (zh) | 一种数据的聚类方法、系统及存储介质 | |
CN113724343B (zh) | 一种基于结构感知的树木点云压缩方法 | |
CN116977593A (zh) | 一种基于超体素凹凸性分割与颜色区域生长的单木分割方法 | |
CN115100394A (zh) | 基于兴趣点Voronoi图的城市街区功能识别方法 | |
CN108848138B (zh) | 一种监测效果良好的环境监测系统 | |
WO2020215436A1 (zh) | 应用于电子地图的空间关键字查询的搜索方法 | |
Zhang et al. | Clustering spatio-temporal trajectories based on kernel density estimation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20936105 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20936105 Country of ref document: EP Kind code of ref document: A1 |