Tree segmentation method and device based on laser point cloud data, equipment and medium
By using a single-tree segmentation method based on laser point cloud data and employing a seed point growth algorithm to automatically identify and segment single trees, the problem of low efficiency and poor accuracy in traditional forest surveys has been solved, achieving efficient and accurate single-tree detection.
Patent Information
- Application Number
- CN202510034368.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-09
- Publication Date
- 2025-11-18
- Estimated Expiration
- 2045-01-09
AI Technical Summary
Traditional forest survey methods are inefficient, time-consuming, and labor-intensive. Manual measurements are prone to errors, making it difficult to conduct large-scale, high-frequency forest surveys, and the accuracy of individual tree segmentation is poor.
A single-tree segmentation method based on laser point cloud data is adopted. By acquiring the three-dimensional point cloud of the forestry scene, the bounding box of the point cloud is calculated and segmented into multiple grid blocks. The seed point growth algorithm is used for single-tree segmentation, including preprocessing, normalization, high-vegetation point cloud clustering and point cloud slicing, to determine the trunk center point and the single tree to which it belongs.
It improves the efficiency and accuracy of single-tree segmentation, reduces human error, lowers device memory requirements, avoids incorrect single-tree segmentation, and supports point cloud segmentation in large-scale scenes.
Smart Images

Figure CN119992085B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the fields of laser data processing and single-tree segmentation, and discloses a single-tree segmentation method, apparatus, equipment, and medium based on laser point cloud data. Background Technology
[0002] Forest surveys are an important forestry undertaking, aiming to ascertain the species, quantity, distribution, and growth status of forest germplasm resources within a specific area, providing a scientific basis for forestry management, protection, evaluation, and utilization. Traditional survey and testing methods mainly rely on manual field measurements and visual inspections, which are inefficient, time-consuming, and labor-intensive, especially in large-scale forests where large-scale, high-frequency testing is difficult to achieve. Furthermore, manual measurements are prone to errors, making it difficult to accurately obtain various parameters such as individual tree height, diameter at breast height (DBH), and crown width.
[0003] The purpose of single-tree segmentation is to obtain precise three-dimensional location information of individual trees, providing a data foundation for various applications. This precise three-dimensional location information can be widely used in many industries such as forest resource surveys, precision forestry management, urban greening management, and agriculture. Currently, single-tree segmentation technology suffers from drawbacks such as poor accuracy, low efficiency, and poor safety. Summary of the Invention
[0004] This disclosure provides at least one method, apparatus, device, and medium for single-tree segmentation based on laser point cloud data to solve at least one of the above-mentioned technical problems.
[0005] According to one aspect of this disclosure, a single-tree segmentation method based on laser point cloud data is provided, comprising:
[0006] The process involves acquiring a 3D point cloud obtained by scanning a forestry scene with a lidar, calculating the bounding box of the 3D point cloud, and dividing the bounding box into multiple grid blocks; wherein adjacent grid blocks have a preset overlap.
[0007] The point cloud data within the first grid block is used as the segmented point cloud. For each grid block outside the first grid block, the intersection of the point cloud of this grid block with the bounding boxes of the individual point clouds of all grid blocks that have undergone individual point segmentation is calculated, and the individual point clouds corresponding to the bounding boxes of the individual point clouds with non-empty intersections are used as the first supplementary point cloud. The intersection of the point cloud of this grid block with the bounding boxes of the unsegmented point clouds of all grid blocks that have undergone individual point segmentation is calculated, and the point clouds corresponding to the bounding boxes of the unsegmented point clouds with non-empty intersections are used as the second supplementary point cloud. The point cloud of this grid block, the first supplementary point cloud, and the second supplementary point cloud are used as the segmented point cloud of this grid block.
[0008] Perform the following single-tree segmentation operation on the segmented point cloud of each grid block to obtain the single-tree point cloud of the corresponding grid block:
[0009] The segmented point cloud is preprocessed to obtain ground point cloud and high vegetation point cloud; the elevation values of the high vegetation point cloud are normalized based on the input ground point category; point cloud segments within a preset height range of the normalized high vegetation point cloud are extracted, and clustering is performed on the point cloud segments to obtain the trunk point cloud of each tree; based on the trunk point cloud of each tree, the center point of the trunk of each tree is determined, and each trunk center point is used as a seed point.
[0010] The normalized high-vegetation point cloud is sliced along its elevation to obtain multiple point cloud slices. Points within each slice are matched to the nearest seed point. Points within each slice are sorted in ascending order of distance from the matched seed point. For each seed point, starting from the first matched point, a neighborhood search is performed using the growth distance as the search radius to determine the first seed point corresponding to the nearest neighbor. The second seed point is then searched for. If the first and second seed points belong to the same tree, the target tree to which the current point belongs is determined based on the distance between the first and second seed points and the length of the projection of the line connecting the current point and the second seed point onto the line between the first and second seed points.
[0011] In one possible implementation, determining the target tree to which the current point belongs based on the distance between the first seed point and the second seed point, and the length of the projection of the line connecting the current point and the second seed point onto the line between the first seed point and the second seed point, includes:
[0012] The target tree to which the current point p belongs is determined using the following formula:
[0013]
[0014] Among them, T P T1 represents the target tree to which the current point p belongs, T2 represents the tree to which the second seed point belongs, T1 represents the tree to which the first seed point belongs, D represents the length of the projection of the line connecting the current point and the second seed point onto the line connecting the first seed point and the second seed point, and S represents the distance between the first seed point and the second seed point.
[0015] In one possible implementation, after performing a neighborhood point search on the current point using the growth distance as the search radius, the above-mentioned single-tree segmentation method based on laser point cloud data further includes:
[0016] If no neighboring points that match the seed point are found, skip the current point.
[0017] In one possible implementation, it also includes:
[0018] If the preset ID of the first seed point is the same as the preset ID of the second seed point, it is determined that the first seed point and the second seed point belong to the same tree.
[0019] In one possible implementation, the preprocessing operation on the segmented point cloud to obtain a ground point cloud and a high-vegetation point cloud includes:
[0020] The segmented point cloud is filtered, and the filtered point cloud is classified to obtain ground point cloud and high vegetation point cloud.
[0021] In one possible implementation, determining the trunk center point of each tree based on the trunk point cloud of each tree includes:
[0022] The least squares circle fitting algorithm is used to process the point cloud of the trunk of each tree to obtain the center point of the trunk of each tree.
[0023] In one possible implementation, the lidar is a vehicle-mounted lidar or a ground-based lidar.
[0024] According to another aspect of this disclosure, a single-tree segmentation device based on laser point cloud data is provided, comprising:
[0025] The data acquisition and processing module is used to acquire a three-dimensional point cloud obtained by scanning a forestry scene with a lidar, and to calculate the bounding box of the three-dimensional point cloud and divide the bounding box into multiple grid blocks; wherein adjacent grid blocks have a preset overlap.
[0026] The point cloud determination module is used to take the point cloud data within the first grid block as the segmented point cloud; for each grid block outside the first grid block, it calculates the intersection of the point cloud of this grid block with the bounding boxes of the individual point clouds of all grid blocks that have undergone individual point cloud segmentation, and takes the individual point cloud corresponding to the bounding box with a non-empty intersection as the first supplementary point cloud; it calculates the intersection of the point cloud of this grid block with the bounding boxes of the unsegmented point clouds of all grid blocks that have undergone individual point cloud segmentation, and takes the point cloud corresponding to the bounding box with a non-empty intersection as the second supplementary point cloud; the point cloud of this grid block, the first supplementary point cloud, and the second supplementary point cloud are taken as the segmented point cloud of this grid block;
[0027] The segmentation processing module performs the following single-tree segmentation operation on the segmented point cloud of each grid block to obtain the single-tree point cloud of the corresponding grid block:
[0028] The segmented point cloud is preprocessed to obtain ground point cloud and high vegetation point cloud; the elevation values of the high vegetation point cloud are normalized based on the input ground point category; point cloud segments within a preset height range of the normalized high vegetation point cloud are extracted, and clustering is performed on the point cloud segments to obtain the trunk point cloud of each tree; based on the trunk point cloud of each tree, the center point of the trunk of each tree is determined, and each trunk center point is used as a seed point.
[0029] The normalized high-vegetation point cloud is sliced along its elevation to obtain multiple point cloud slices. Points within each slice are matched to the nearest seed point. Points within each slice are sorted in ascending order of distance from the matched seed point. For each seed point, starting from the first matched point, a neighborhood search is performed using the growth distance as the search radius to determine the first seed point corresponding to the nearest neighbor. The second seed point is then searched for. If the first and second seed points belong to the same tree, the target tree to which the current point belongs is determined based on the distance between the first and second seed points and the length of the projection of the line connecting the current point and the second seed point onto the line between the first and second seed points.
[0030] According to another aspect of this disclosure, an electronic device is provided, including a memory, a processor, and a computer program stored in the memory, wherein the processor, when executing the computer program, implements the method described in any of the preceding claims.
[0031] According to another aspect of this disclosure, a computer-readable storage medium is provided, wherein a computer program is stored therein, and the computer program, when executed by a processor, implements the method described in any of the preceding claims.
[0032] This disclosure discloses a method, apparatus, device, and medium for single-tree segmentation based on laser point cloud data. The method involves collecting laser radar point cloud data of forest trees, calculating point cloud bounding boxes, and segmenting the bounding boxes into multiple grid blocks. Single-tree segmentation is then performed on the point cloud of each grid block to obtain the corresponding single-tree point cloud. During the single-tree segmentation process, seed points are generated for each tree, and growth is performed based on these seed points to determine the point cloud belonging to each tree. This technical solution utilizes laser scanning technology to quickly collect forest tree data, then automatically identifies and segments individual trees, greatly improving operational efficiency. Automated processing also reduces human error, improves data objectivity, and enhances safety and detection accuracy. Furthermore, laser point cloud data is massive and requires significant space; simple single-processing would severely strain device memory and processing capabilities. This technical solution employs a block-based segmentation strategy, effectively reducing memory requirements and ensuring effective segmentation of large-scale point clouds while preventing incorrect segmentation of individual trees.
[0033] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0034] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:
[0035] Figure 1 This is a flowchart of a single-tree segmentation method based on laser point cloud data according to this disclosure;
[0036] Figure 2 This is a schematic diagram of the single-wood segmentation device based on laser point cloud data according to the present disclosure;
[0037] Figure 3 This is a schematic diagram of the structure of an electronic device according to the present disclosure. Detailed Implementation
[0038] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0039] This disclosure addresses the shortcomings of current single-tree segmentation methods, such as low efficiency, poor accuracy, and high equipment requirements. It provides a single-tree segmentation method, apparatus, equipment, and medium based on laser point cloud data. This disclosure involves collecting laser radar point cloud data of forest trees, calculating point cloud bounding boxes, and dividing the bounding boxes into multiple grid blocks. Single-tree segmentation is then performed on the point cloud of each grid block to obtain the corresponding single-tree point cloud. During the single-tree segmentation process, seed points are generated for each tree, and growth is performed based on these seed points to determine the point cloud belonging to each tree. This technical solution utilizes laser scanning technology to quickly collect forest tree data, then automatically identifies and segments individual trees, greatly improving operational efficiency. Automated processing also reduces human error, improves data objectivity, and enhances safety and detection accuracy. Furthermore, laser point cloud data is massive and requires significant space; simple single-processing would severely strain equipment memory and processing capabilities. This technical solution employs a block-based segmentation strategy, effectively reducing memory requirements and ensuring effective point cloud segmentation in large scenes while preventing incorrect segmentation of individual trees.
[0040] The technical solution of this disclosure will be described below through specific embodiments.
[0041] like Figure 1 The diagram shown is a flowchart of the single-tree segmentation method based on laser point cloud data in this embodiment. The execution subject of this embodiment is a computing device or component with data processing capabilities. Specifically, the method of this embodiment may include the following steps:
[0042] S110. Obtain a three-dimensional point cloud obtained by scanning the forestry scene with a lidar, and calculate the bounding box of the three-dimensional point cloud, and divide the bounding box of the point cloud into multiple grid blocks; wherein adjacent grid blocks have a preset overlap.
[0043] The aforementioned lidar can be either vehicle-mounted or ground-based. The overlap between adjacent grid blocks ensures the integrity of the individual grid divisions.
[0044] S120. Take the point cloud data within the first grid block as the segmented point cloud; for each grid block outside the first grid block, calculate the intersection of the point cloud of this grid block with the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the unsegmented point clouds of all grid blocks that have undergone the single-tree segmentation operation, and take the point cloud corresponding to the bounding box of the unsegmented point clouds of the bounding boxes ...
[0045] S130. Perform the following single-tree segmentation operation on the segmented point cloud of each grid block to obtain the single-tree point cloud of the corresponding grid block:
[0046] 1) Perform preprocessing operations on the segmented point cloud to obtain ground point cloud and high vegetation point cloud; based on the input ground point category, normalize the elevation value of the high vegetation point cloud; extract point cloud segments within a preset height range from the normalized high vegetation point cloud, perform clustering operations on the point cloud segments to obtain the trunk point cloud of each tree; based on the trunk point cloud of each tree, determine the trunk center point of each tree, and use each trunk center point as a seed point.
[0047] The elevation of high-vegetation points is normalized based on the ground point categories provided in the input, making subsequent segmentation processing more convenient.
[0048] The preset height range can be 1.3 meters to 1.5 meters. Euclidean clustering is used to separate the trunk point cloud of each tree, and then the trunk center point is obtained based on a least-squares circle fitting algorithm as the seed point location.
[0049] 2) The normalized high-vegetation point cloud is sliced along the elevation to obtain multiple point cloud slices; the points in each point cloud slice are matched to the nearest seed point; the points in each point cloud slice are sorted in ascending order of distance from the matched seed point; for each seed point, starting from the first point matched with the seed point, the neighborhood points of the current point are searched with the growth distance as the search radius to determine the first seed point corresponding to the nearest neighbor point, and the second seed point closest to the current point is searched. If the first seed point and the second seed point belong to the same tree, the target tree to which the current point belongs is determined based on the distance between the first seed point and the second seed point and the length of the projection of the line connecting the current point and the second seed point onto the line between the first seed point and the second seed point; if the first seed point and the second seed point belong to the same tree, the current point belongs to the tree corresponding to the first seed point or the second seed point.
[0050] This step involves growth within each point cloud slice to determine the individual tree to which each point belongs. To ensure that growth proceeds from the inside out, for each slice, points are first assigned to the nearest seed point based on their distance from the seed point, and then sorted by distance from smallest to largest.
[0051] Traverse all points in sorted order, setting the current point as P. Search for neighboring points using the growth distance as the search radius. If no neighboring point is found, skip that point. Assume the ID of the nearest neighboring point's tree or seed point is T1, then search for the nearest seed point, whose ID is T2. To avoid overgrowth, the following restrictions are applied. If T1 and T2 are not in the same tree, let the distance between T1 and T2 be S, and the projection length of the line connecting T2P to T1T2 be D. Then, determine the target tree to which P belongs based on the following rules.
[0052]
[0053] Where k∈(0,0.5], is used to control the segmentation boundary.
[0054] This disclosure utilizes laser scanning technology to quickly acquire 3D point cloud data of large-scale forests, reducing fieldwork time. The single-tree segmentation algorithm in this disclosure can automatically identify and segment individual trees, greatly improving efficiency. Simultaneously, automated processing reduces human error and improves data objectivity. Furthermore, this disclosure supports segmentation processing of large-scene point clouds, has low requirements for device performance, and avoids missegmentation at block edges.
[0055] In some embodiments, each seed point can be assigned an ID, and each seed point corresponds to a tree. This ID can uniquely identify both the seed point and a tree.
[0056] When determining whether the first seed point and the second seed point belong to the same tree, their IDs can be compared. If they are the same, then the first seed point and the second seed point belong to the same tree; if they are different, then the first seed point and the second seed point do not belong to the same tree.
[0057] In some embodiments, after performing a neighborhood point search on the current point using the growth distance as the search radius, the single-tree segmentation method based on laser point cloud data may further include the following steps:
[0058] If no neighboring points that match the seed point are found, skip the current point.
[0059] The above-mentioned preprocessing operation on the segmented point cloud to obtain ground point cloud and high vegetation point cloud may specifically include: filtering the segmented point cloud and classifying the filtered point cloud to obtain ground point cloud and high vegetation point cloud.
[0060] The above method, which determines the center point of the trunk of each tree based on the trunk point cloud, can be achieved by the following steps: using the least squares circle fitting algorithm to process the trunk point cloud of each tree to obtain the center point of the trunk of each tree.
[0061] In some embodiments, determining the target tree to which the current point belongs based on the distance between the first seed point and the second seed point, and the length of the projection of the line connecting the current point and the second seed point onto the line between the first seed point and the second seed point, includes:
[0062] The target tree to which the current point p belongs is determined using the following formula:
[0063]
[0064] Among them, T P T1 represents the target tree to which the current point p belongs, T2 represents the tree corresponding to the second seed point, T1 represents the tree corresponding to the first seed point, D represents the length of the projection of the line connecting the current point and the second seed point onto the line connecting the first and second seed points, and S represents the distance between the first and second seed points. In the specific implementation, T1, T2, and T... p It can be the ID of the single tree corresponding to the seed point.
[0065] K can be set flexibly according to the actual scenario; for example, it can be set to k∈(0,0.5).
[0066] The tree segmentation technology provided in this disclosure requires input of ground point categories and high-vegetation point categories, and offers two processing modes: "seed point-based growth" and "segmentation." "Seed point-based growth" is suitable when the user already has tree seed points; the segmented trees will perfectly match the seed points. The "segmentation" mode directly segments the trees and generates corresponding seed points. This disclosure's tree segmentation method based on ground-based 3D laser point clouds achieves automated tree extraction by combining automatic acquisition via mobile laser measurement with post-analysis processing, providing data support for subsequent tree parameter measurements.
[0067] Based on the same inventive concept, this disclosure provides a single-tree segmentation device based on laser point cloud data. The steps performed by the components of this device are the same as or similar to those described above, therefore, similar details will not be repeated. Figure 2 As shown, the single-tree segmentation device based on laser point cloud data in this embodiment includes:
[0068] The data acquisition and processing module 210 is used to acquire a three-dimensional point cloud obtained by scanning a forestry scene with a lidar, and to calculate the bounding box of the three-dimensional point cloud and divide the bounding box into multiple grid blocks; wherein adjacent grid blocks have a preset overlap.
[0069] The point cloud determination module 220 is used to take the point cloud data within the first grid block as the segmented point cloud; for each grid block outside the first grid block, it calculates the intersection of the point cloud of the grid block with the bounding boxes of the individual point clouds of all grid blocks that have undergone individual point cloud segmentation, and takes the individual point cloud corresponding to the bounding box of the individual point cloud with a non-empty intersection as the first supplementary point cloud; it calculates the intersection of the point cloud of the grid block with the bounding boxes of the unsegmented point clouds of all grid blocks that have undergone individual point cloud segmentation, and takes the point cloud corresponding to the bounding box of the unsegmented point cloud with a non-empty intersection as the second supplementary point cloud; and takes the point cloud of the grid block, the first supplementary point cloud, and the second supplementary point cloud as the segmented point cloud of the grid block.
[0070] The segmentation processing module 230 is used to perform the following single-tree segmentation operation on the segmented point cloud of each grid block to obtain the single-tree point cloud of the corresponding grid block:
[0071] The segmented point cloud is preprocessed to obtain ground point cloud and high vegetation point cloud; the elevation values of the high vegetation point cloud are normalized based on the input ground point category; point cloud segments within a preset height range of the normalized high vegetation point cloud are extracted, and clustering is performed on the point cloud segments to obtain the trunk point cloud of each tree; based on the trunk point cloud of each tree, the center point of the trunk of each tree is determined, and each trunk center point is used as a seed point.
[0072] The normalized high-vegetation point cloud is sliced along its elevation to obtain multiple point cloud slices. Points within each slice are matched to the nearest seed point. Points within each slice are sorted in ascending order of distance from the matched seed point. For each seed point, starting from the first matched point, a neighborhood search is performed using the growth distance as the search radius to determine the first seed point corresponding to the nearest neighbor. The second seed point is then searched for. If the first and second seed points belong to the same tree, the target tree to which the current point belongs is determined based on the distance between the first and second seed points and the length of the projection of the line connecting the current point and the second seed point onto the line between the first and second seed points.
[0073] According to embodiments of this disclosure, this disclosure also provides an electronic device and a computer-readable storage medium.
[0074] Figure 3A schematic block diagram of an example electronic device 300 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0075] like Figure 3 As shown, device 300 includes a computing unit 310, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 320 or a computer program loaded from storage unit 380 into random access memory (RAM) 330. The RAM 330 may also store various programs and data required for the operation of device 300. The computing unit 310, ROM 320, and RAM 330 are interconnected via bus 340. Input / output (I / O) interface 350 is also connected to bus 340.
[0076] Multiple components in device 300 are connected to I / O interface 350, including: input unit 360, such as keyboard, mouse, etc.; output unit 370, such as various types of monitors, speakers, etc.; storage unit 380, such as disk, optical disk, etc.; and communication unit 390, such as network card, modem, wireless transceiver, etc. Communication unit 390 allows device 300 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0077] The computing unit 310 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 310 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 310 performs the various methods and processes described above. For example, in some embodiments, any of the methods described above can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 380. In some embodiments, part or all of the computer program can be loaded and / or installed on device 300 via ROM 320 and / or communication unit 390. When the computer program is loaded into RAM 330 and executed by the computing unit 310, one or more steps of any of the methods described above can be performed. Alternatively, in other embodiments, the computing unit 310 can be configured to perform any of the methods described above by any other suitable means (e.g., by means of firmware).
[0078] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0079] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0080] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0081] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0082] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0083] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0084] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0085] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A method for single-tree segmentation based on laser point cloud data, characterized in that, include: The process involves acquiring a 3D point cloud obtained by scanning a forestry scene with a lidar, calculating the bounding box of the 3D point cloud, and dividing the bounding box into multiple grid blocks; wherein adjacent grid blocks have a preset overlap. Use the point cloud data within the first grid block as the segmented point cloud; For each grid block other than the first grid block, calculate the intersection of the point cloud of this grid block with the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the undivided point clouds of all grid blocks that have undergone the single-tree segmentation operation, and calculate the intersection of the point cloud of this grid block with the bounding boxes of the undivided point clouds of the bounding boxes ... Perform the following single-tree segmentation operation on the segmented point cloud of each grid block to obtain the single-tree point cloud of the corresponding grid block: The segmented point cloud is preprocessed to obtain ground point cloud and high vegetation point cloud; the elevation value of the high vegetation point cloud is normalized based on the input ground point category. Extract point cloud segments within a preset height range from the normalized high vegetation point cloud, perform clustering operations on the point cloud segments to obtain the trunk point cloud of each tree; based on the trunk point cloud of each tree, determine the trunk center point of each tree, and use each trunk center point as a seed point. The normalized high-vegetation point cloud is sliced along its elevation to obtain multiple point cloud slices. Points within each slice are matched to the nearest seed point. Points within each slice are sorted in ascending order of distance from the matched seed point. For each seed point, starting from the first matched point, a neighborhood search is performed using the growth distance as the search radius to determine the first seed point corresponding to the nearest neighbor. The second seed point is then searched for. If the first and second seed points belong to the same tree, the target tree to which the current point belongs is determined based on the distance between the first and second seed points and the length of the projection of the line connecting the current point and the second seed point onto the line between the first and second seed points.
2. The method according to claim 1, characterized in that, The process of determining the target tree to which the current point belongs based on the distance between the first seed point and the second seed point, and the length of the projection of the line connecting the current point and the second seed point onto the line between the first and second seed points, includes: The target tree to which the current point p belongs is determined using the following formula: Among them, T P T1 represents the target tree to which the current point p belongs, T2 represents the tree to which the second seed point belongs, T1 represents the tree to which the first seed point belongs, D represents the length of the projection of the line connecting the current point and the second seed point onto the line connecting the first seed point and the second seed point, and S represents the distance between the first seed point and the second seed point.
3. The method according to claim 1, characterized in that, After performing a neighborhood point search on the current point using the growth distance as the search radius, the method further includes: If no neighboring points that match the seed point are found, skip the current point.
4. The method according to claim 1, characterized in that, Also includes: If the preset ID of the first seed point is the same as the preset ID of the second seed point, it is determined that the first seed point and the second seed point belong to the same tree.
5. The method according to claim 1, characterized in that, The preprocessing operation on the segmented point cloud to obtain ground point cloud and high vegetation point cloud includes: The segmented point cloud is filtered, and the filtered point cloud is classified to obtain ground point cloud and high vegetation point cloud.
6. The method according to claim 1, characterized in that, The determination of the trunk center point of each tree based on the trunk point cloud includes: The least squares circle fitting algorithm is used to process the point cloud of the trunk of each tree to obtain the center point of the trunk of each tree.
7. The method according to claim 1, characterized in that, The lidar is either a vehicle-mounted lidar or a ground-based lidar.
8. A single-tree segmentation device based on laser point cloud data, characterized in that, include: The data acquisition and processing module is used to acquire a three-dimensional point cloud obtained by scanning a forestry scene with a lidar, and to calculate the bounding box of the three-dimensional point cloud and divide the bounding box into multiple grid blocks; wherein adjacent grid blocks have a preset overlap. The point cloud determination module is used to use the point cloud data within the first grid block as the segmented point cloud. For each grid block other than the first grid block, calculate the intersection of the point cloud of this grid block with the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the bounding boxes of the undivided point clouds of all grid blocks that have undergone the single-tree segmentation operation, and calculate the intersection of the point cloud of this grid block with the bounding boxes of the undivided point clouds of the bounding boxes ... The segmentation processing module performs the following single-tree segmentation operation on the segmented point cloud of each grid block to obtain the single-tree point cloud of the corresponding grid block: The segmented point cloud is preprocessed to obtain ground point cloud and high vegetation point cloud; the elevation value of the high vegetation point cloud is normalized based on the input ground point category. Extract point cloud segments within a preset height range from the normalized high vegetation point cloud, perform clustering operations on the point cloud segments to obtain the trunk point cloud of each tree; based on the trunk point cloud of each tree, determine the trunk center point of each tree, and use each trunk center point as a seed point. The normalized high-vegetation point cloud is sliced along its elevation to obtain multiple point cloud slices. Points within each slice are matched to the nearest seed point. Points within each slice are sorted in ascending order of distance from the matched seed point. For each seed point, starting from the first matched point, a neighborhood search is performed using the growth distance as the search radius to determine the first seed point corresponding to the nearest neighbor. The second seed point is then searched for. If the first and second seed points belong to the same tree, the target tree to which the current point belongs is determined based on the distance between the first and second seed points and the length of the projection of the line connecting the current point and the second seed point onto the line between the first and second seed points.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory, wherein the processor, when executing the computer program, implements the method of any one of claims 1-7.
10. A computer-readable storage medium storing a computer program that, when executed by a processor, implements the method of any one of claims 1-7.
Citation Information
Patent Citations
Tree extraction method in outdoor point cloud scene based on shape classification and combination
CN110348478A
Point cloud single tree segmentation method and device, equipment and computer readable medium
CN111598915A