Indoor scene point cloud blocking method
Through adaptive segmentation and regional growth algorithms, the problem of difficulty in reading massive point cloud data by computers is solved, and point cloud chunking is realized under any computer configuration is improved, which improves the processing capability and hardware adaptability of point clouds.
Patent Information
- Application Number
- CN202511014867.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-23
- Publication Date
- 2025-08-22
- Estimated Expiration
- 2045-07-23
AI Technical Summary
In the prior art, computers are difficult to effectively process and read massive point cloud data, and lack a refined blocking method.
Adaptive segmentation algorithm and region growth algorithm are used to convert point cloud data into sparse point cloud data frame by frame, and aligned to the Manhattan coordinate system through the rotation matrix to create a sparse voxel grid, and segment and expand using the voxel center point normal vector to finally form a complete point cloud block with boundary target.
It realizes the segmentation of point clouds of any amount of data, adapts to different computer configurations, improves the universality of point clouds, reduces hardware costs, and solves the difficulty of computers to read massive point cloud data.
Smart Images

Figure CN120525904A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of point cloud processing, and in particular relates to a point cloud segmentation method for indoor scenes. Background Art
[0002] With the rapid development of simultaneous localization and mapping (SLAM) technology, point cloud data generated using SLAM algorithms often contain hundreds of millions, or even billions, of points. After acquiring the complete point cloud data, a series of processing steps are required, such as filtering and smoothing. However, with such a massive amount of data, most computers have only 16GB of memory, making it difficult to read point cloud data.
[0003] Therefore, point clouds need to be segmented to accommodate the processing capabilities of most computers. The lack of refined point cloud segmentation methods has become a problem that needs to be solved urgently. Summary of the Invention
[0004] The technical problem to be solved by the present invention is to provide a method for segmenting indoor scene point clouds to solve the technical problem in the prior art that it is difficult for computers to read massive point cloud data.
[0005] To achieve the above object, the technical solution adopted by the present invention is as follows: A method for segmenting point clouds of indoor scenes comprises the following steps: S1, inputting single-frame point cloud data frame by frame, converting the single-frame point cloud data into sparse point cloud data; calculating a first rotation matrix and an optimal second rotation matrix based on the sparse point cloud data; S2. Input single-frame point cloud data frame by frame, align the single-frame point cloud data to the Manhattan coordinate system using the first rotation matrix and the optimal second rotation matrix, and create a sparse voxel grid; calculate the normal vector of each voxel center point based on the sparse voxel grid to obtain a set of voxel center point normal vectors; S3, using an adaptive segmentation algorithm to segment the sparse voxel grid to obtain an initial point cloud block and record the boundary value of the initial point cloud block; S4. According to the normal vector set of the voxel center point and the boundary value of the initial point cloud block, the region growing algorithm is used to expand the initial point cloud block, and finally a point cloud block with complete boundary targets is obtained.
[0006] Furthermore, S1 includes: S11, inputting single-frame point cloud data frame by frame, and determining whether the data volume of the current single-frame point cloud data exceeds a predetermined threshold; if so, downsampling the current single-frame point cloud data; if not, not processing the current single-frame point cloud data; repeating the above determination and processing operations until all single-frame point cloud data are processed, and finally obtaining sparse point cloud data; S12, using the CSF algorithm to perform ground detection on the sparse point cloud data, identifying and extracting the sparse point cloud data of the ground area; S13, using the Ransac algorithm to perform model fitting processing on the sparse point cloud data of the ground area to obtain the normal vector of the ground area; S14. Obtain a first angle by performing a dot product between the normal vector of the ground area and the Z-axis vector; S15. Obtain the rotation axis by cross-multiplying the normal vector of the ground area with the Z-axis vector; S16. Calculate a first rotation matrix based on the first angle and the rotation axis according to the Rodriguez rotation formula.
[0007] Furthermore, S1 also includes: S17, set the maximum angle to , the minimum angle is , the angle interval is ; Calculate step size The formula is: ; Calculating angles The formula is: ,in is the angle index; calculate the second rotation matrix The formula is: ;in, , ; S18. Traverse all angle intervals and calculate a series of second rotation matrices; multiply each second rotation matrix by each point in the sparse point cloud data to obtain a series of rotated sparse point cloud data, count the coordinate histograms of each rotated sparse point cloud data in the x-axis and y-axis directions, and sum the frequencies of the coordinate histograms in the x-axis and y-axis directions to obtain eigenvalues, find the maximum eigenvalue from all eigenvalues and use the angle index corresponding to the maximum eigenvalue as the optimal angle index ; S19, Judgment and Is the distance between them less than the preset threshold? If the distance is less than the preset threshold, The corresponding angle is taken as the optimal angle; if the distance is greater than or equal to the preset threshold, the angle is updated and steps S17-S19 are repeated until the distance is less than the preset threshold. The formula for updating the angle is: ; ; S20. Using the second rotation matrix obtained by calculating the optimal angle as the optimal second rotation matrix.
[0008] Furthermore, S2 includes: S21, inputting single-frame point cloud data frame by frame, aligning the single-frame point cloud data to a Manhattan coordinate system by multiplying each point in the single-frame point cloud data by the first rotation matrix and multiplying each point in the single-frame point cloud data by the optimal second rotation matrix, and creating a sparse voxel grid; S22. While inputting single-frame point cloud data frame by frame, record the maximum value of the x coordinate and minimum value , record the maximum value of the y coordinate and minimum value ;like The value is greater than If the value of , the x-axis is selected as the cutting direction, and As the starting point for cutting, As the cutting end point; if The value is greater than The value of , select the y axis as the cutting direction, and As the starting point for cutting, As the cutting end point; S23, extracting the center point of each voxel from the sparse voxel grid; S24. Use the NormalEstimation module in the pcl library to calculate the normal vector of each voxel center point to obtain a set of voxel center point normal vectors.
[0009] Furthermore, S3 includes: S31. Setting the point cloud number threshold for segmenting each point cloud block and the allowed fluctuation value, the initial number of blocks for: , where N is the total number of point clouds; S32, if The value is greater than Calculate the initial cutting distance , calculate the initial cutting spacing The formula is: ; S33, As a starting point, As the end point, determine the boundary of the initial point cloud block, count all voxels within the boundary of the initial point cloud block, accumulate the number of point clouds contained in each voxel, and get the number of point clouds in the initial point cloud block. ; S34, Judgment and Similarity Is the absolute value of the similarity less than the allowed fluctuation value? If the absolute value of the similarity is less than the allowed fluctuation value, update , repeat steps S33-S34 until Greater than , record all voxels corresponding to each initial point cloud block and record the boundary value of each initial point cloud block; if the absolute value of the similarity is greater than or equal to the allowed fluctuation value, update , repeat steps S33-S34 until and The absolute value of the similarity is less than the allowed fluctuation value.
[0010] Furthermore, in S34, the similarity The calculation formula is: 。
[0011] Further, in S34, update The formula is: .
[0012] Further, in S34, update The formula is: 。
[0013] Furthermore, S4 includes: S41. Based on the boundary value of the initial point cloud block, all voxels near the boundary value of the initial point cloud block in the obtained sparse voxel grid are used as boundary voxels; and the normal vector of each voxel center point in the boundary voxels is obtained from the voxel center point normal vector set; S42, using a region growing algorithm to select a voxel from the boundary voxels as the starting voxel, and extracting the neighborhood voxels of the starting voxel; calculating the second angle between the normal vector of the center point of each neighborhood voxel and the normal vector of the center point of the starting voxel; judging whether the second angle between the normal vector of the center point of the current neighborhood voxel and the normal vector of the center point of the starting voxel is greater than 20 degrees; if the second angle is greater than 20 degrees, adding the current neighborhood voxel to the initial point cloud block currently being expanded; if the second angle is less than or equal to 20 degrees, not adding the current neighborhood voxel to the initial point cloud block currently being expanded; repeating the above judgment and execution process for the remaining neighborhood voxels until no new neighborhood voxels are added to the current initial point cloud block, forming a voxel block with a complete boundary target; S43, repeating steps S41-S42 for each initial point cloud block to obtain multiple voxel blocks with all boundary targets complete; S44. Input single-frame point cloud data frame by frame, and align the single-frame point cloud data to the Manhattan coordinate system by multiplying the first rotation matrix by the left side of each point in the single-frame point cloud data and multiplying the optimal second rotation matrix by the left side of each point in the single-frame point cloud data; for each voxel block, traverse all single-frame point cloud data aligned to the Manhattan coordinate system, retain the point cloud falling in the corresponding voxel block, and form a point cloud block; for the point cloud that does not fall in the corresponding voxel block, do not process it, and finally obtain a point cloud block with a complete boundary target.
[0014] Compared with the prior art, the present invention has the following beneficial effects: By combining an adaptive segmentation algorithm with a region growing algorithm, the present invention can process point cloud data of any data volume and segment the point cloud into a specified number of point cloud blocks, so that any computer configuration can perform subsequent processing. This improves the versatility of the point cloud, effectively reduces hardware costs, and solves the technical problem of difficulty in computers reading massive point cloud data. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] Figure 1 It is a flow chart of the steps of the present invention. DETAILED DESCRIPTION
[0016] In order to make the objectives, technical solutions and advantages of the present invention more clearly understood, the present invention is further described in detail below with reference to the accompanying drawings. Obviously, the embodiments described are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.
[0017] In the description of the present invention, it should be noted that the terms "center," "upper," "lower," "left," "right," "vertical," "horizontal," "inner," and "outer," etc., indicating orientations or positional relationships, are based on the orientations or positional relationships shown in the accompanying drawings and are intended solely to facilitate and simplify the description of the present invention. They are not intended to indicate or imply that the devices or components referred to must have a specific orientation or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on the present invention. Furthermore, the terms "first," "second," and "third" are used for descriptive purposes only and should not be construed as indicating or implying relative importance.
[0018] In the description of the present invention, it should be noted that, unless otherwise expressly specified or limited, the terms "mounted," "connected," and "connected" should be understood in a broad sense. For example, they may refer to fixed connections, detachable connections, or integral connections; of course, they may also refer to mechanical connections or electrical connections; in addition, they may refer to direct connections, indirect connections through an intermediate medium, or internal connections between two components. Those skilled in the art will understand the specific meanings of the above terms in the present invention based on specific circumstances.
[0019] like Figure 1 As shown, the present invention provides a method for segmenting indoor scene point clouds, comprising the following steps: S1, inputting single-frame point cloud data frame by frame, converting the single-frame point cloud data into sparse point cloud data; calculating a first rotation matrix and an optimal second rotation matrix based on the sparse point cloud data; S2. Input single-frame point cloud data frame by frame, align the single-frame point cloud data to the Manhattan coordinate system using the first rotation matrix and the optimal second rotation matrix, and create a sparse voxel grid; calculate the normal vector of each voxel center point based on the sparse voxel grid to obtain a set of voxel center point normal vectors; S3, using an adaptive segmentation algorithm to segment the sparse voxel grid to obtain an initial point cloud block and record the boundary value of the initial point cloud block; S4. According to the normal vector set of the voxel center point and the boundary value of the initial point cloud block, the region growing algorithm is used to expand the initial point cloud block, and finally a point cloud block with complete boundary targets is obtained.
[0020] This embodiment combines the adaptive segmentation algorithm and the region growing algorithm to segment point clouds of any data volume into point cloud blocks, allowing any computer configuration to perform subsequent processing. This improves the versatility of the point cloud, effectively reduces hardware costs, and solves the technical problem of difficulty in computers reading massive point cloud data.
[0021] Preferably, S1 includes: S11, inputting single-frame point cloud data frame by frame, and determining whether the data volume of the current single-frame point cloud data exceeds a predetermined threshold; if so, downsampling the current single-frame point cloud data; if not, not processing the current single-frame point cloud data; repeating the above determination and processing operations until all single-frame point cloud data are processed, and finally obtaining sparse point cloud data; S12, using the CSF algorithm to perform ground detection on the sparse point cloud data, identifying and extracting the sparse point cloud data of the ground area; S13. Use the Ransac algorithm to perform model fitting processing on the sparse point cloud data of the ground area to obtain the normal vector (A, B, C) of the ground area; S14. Obtain a first angle by performing a dot product between the normal vector (A, B, C) of the ground area and the Z-axis vector (0, 0, 1); S15. Obtain the rotation axis by cross-multiplying the normal vector (A, B, C) of the ground area with the Z-axis vector (0, 0, 1); S16. Calculate a first rotation matrix based on the first angle and the rotation axis according to the Rodriguez rotation formula.
[0022] S17, set the maximum angle to , the minimum angle is , the angle interval is ; Calculate step size The formula is: ; Calculating angles The formula is: ,in is the angle index; calculate the second rotation matrix The formula is: ; in, , ; S18. Traverse all angle intervals and calculate a series of second rotation matrices; multiply each second rotation matrix by each point in the sparse point cloud data to obtain a series of rotated sparse point cloud data, count the coordinate histograms of each rotated sparse point cloud data in the x-axis and y-axis directions, and sum the frequencies of the coordinate histograms in the x-axis and y-axis directions to obtain the eigenvalues. Since the more positive the point cloud posture is, the larger the eigenvalue is, find the maximum eigenvalue from all eigenvalues and use the angle index corresponding to the maximum eigenvalue as the optimal angle index. ; S19, Judgment and Is the distance between them less than the preset threshold? If the distance is less than the preset threshold, The corresponding angle is taken as the optimal angle; if the distance is greater than or equal to the preset threshold, the angle is updated and steps S17-S19 are repeated until the distance is less than the preset threshold. The formula for updating the angle is: ; ; S20. Using the second rotation matrix obtained by calculating the optimal angle as the optimal second rotation matrix.
[0023] Preferably, S2 includes: S21, inputting single-frame point cloud data frame by frame, aligning the single-frame point cloud data to a Manhattan coordinate system by multiplying each point in the single-frame point cloud data by the first rotation matrix and multiplying each point in the single-frame point cloud data by the optimal second rotation matrix, and creating a sparse voxel grid; S22. While inputting single-frame point cloud data frame by frame, record the maximum value of the x coordinate and minimum value , record the maximum value of the y coordinate and minimum value ;like The value is greater than If the value of , the x-axis is selected as the cutting direction, and As the starting point for cutting, As the cutting end point; if The value is greater than The value of , select the y axis as the cutting direction, and As the starting point for cutting, As the cutting end point; S23, extracting the center point of each voxel from the sparse voxel grid; S24. Use the NormalEstimation module in the pcl library to calculate the normal vector of each voxel center point to obtain a set of voxel center point normal vectors.
[0024] The present invention is based on an indoor scene point cloud segmentation method. In one embodiment, S3 includes: S31. Setting the point cloud number threshold for segmenting each point cloud block and the allowed fluctuation value, the initial number of blocks for: , where N is the total number of point clouds; S32, if The value is greater than Calculate the initial cutting distance , calculate the initial cutting spacing The formula is: ; S33, As a starting point, As the end point, determine the boundary of the initial point cloud block, count all voxels within the boundary of the initial point cloud block, accumulate the number of point clouds contained in each voxel, and get the number of point clouds in the initial point cloud block. ; S34, Judgment and Similarity Is the absolute value of the similarity less than the allowed fluctuation value? If the absolute value of the similarity is less than the allowed fluctuation value, update , repeat steps S33-S34 until Greater than , record all voxels corresponding to each initial point cloud block and record the boundary value of each initial point cloud block; if the absolute value of the similarity is greater than or equal to the allowed fluctuation value, update , repeat steps S33-S34 until and The absolute value of the similarity is less than the allowed fluctuation value.
[0025] In S34, similarity The calculation formula is: 。
[0026] In S34, update The formula is: .
[0027] In S34, update The formula is: 。
[0028] This embodiment provides specific segmentation steps for the adaptive segmentation algorithm. In step S31, the number of blocks can be set, and point cloud data of any data volume can be processed. The point cloud is divided into a specified number of point cloud blocks, so that any computer configuration can perform subsequent processing (smoothing, filtering, and display). This improves the versatility of the point cloud, effectively reduces hardware costs, and solves the technical problem of difficulty in computers reading massive point cloud data.
[0029] Preferably, S4 includes: S41. Based on the boundary value of the initial point cloud block, all voxels near the boundary value of the initial point cloud block in the obtained sparse voxel grid are used as boundary voxels; and the normal vector of each voxel center point in the boundary voxels is obtained from the voxel center point normal vector set; S42, using a region growing algorithm to select a voxel from the boundary voxels as the starting voxel, and extracting the neighborhood voxels of the starting voxel; calculating the second angle between the normal vector of the center point of each neighborhood voxel and the normal vector of the center point of the starting voxel; judging whether the second angle between the normal vector of the center point of the current neighborhood voxel and the normal vector of the center point of the starting voxel is greater than 20 degrees; if the second angle is greater than 20 degrees, adding the current neighborhood voxel to the initial point cloud block currently being expanded; if the second angle is less than or equal to 20 degrees, not adding the current neighborhood voxel to the initial point cloud block currently being expanded; repeating the above judgment and execution process for the remaining neighborhood voxels until no new neighborhood voxels are added to the current initial point cloud block, forming a voxel block with a complete boundary target; S43, repeating steps S41-S42 for each initial point cloud block to obtain multiple voxel blocks with all boundary targets complete; S44. Input single-frame point cloud data frame by frame, and align the single-frame point cloud data to the Manhattan coordinate system by multiplying the first rotation matrix by the left side of each point in the single-frame point cloud data and multiplying the optimal second rotation matrix by the left side of each point in the single-frame point cloud data; for each voxel block, traverse all single-frame point cloud data aligned to the Manhattan coordinate system, retain the point cloud falling in the corresponding voxel block, and form a point cloud block; for the point cloud that does not fall in the corresponding voxel block, do not process it, and finally obtain a point cloud block with a complete boundary target.
[0030] Finally, it should be noted that the above embodiments are merely preferred embodiments of the present invention and are intended to illustrate the technical solutions of the present invention, rather than limiting them, and certainly not limiting the patent scope of the present invention. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some or all of the technical features therein may be replaced by equivalents. These modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present invention. In other words, any changes or refinements made to the main design concept and spirit of the present invention that have no substantive significance, provided that the technical problems they solve are still consistent with those of the present invention, should be included in the protection scope of the present invention. In addition, the direct or indirect application of the technical solutions of the present invention to other related technical fields should also be included in the patent protection scope of the present invention.
Claims
1. A point cloud segmentation method for indoor scenes, characterized in that: The steps include: S1, input single-frame point cloud data frame by frame, and convert the single-frame point cloud data into sparse point cloud data; Calculating a first rotation matrix and an optimal second rotation matrix based on the sparse point cloud data; S2, inputting single-frame point cloud data frame by frame, aligning the single-frame point cloud data to the Manhattan coordinate system through the first rotation matrix and the optimal second rotation matrix, and creating a sparse voxel grid; Calculate the normal vector of each voxel center point based on the sparse voxel grid to obtain a set of voxel center point normal vectors; S3, using an adaptive segmentation algorithm to segment the sparse voxel grid to obtain an initial point cloud block and record the boundary value of the initial point cloud block; S4. According to the normal vector set of the voxel center point and the boundary value of the initial point cloud block, the region growing algorithm is used to expand the initial point cloud block, and finally a point cloud block with complete boundary targets is obtained.
2. The indoor scene point cloud segmentation method according to claim 1, characterized in that: S1 includes: S11, inputting single-frame point cloud data frame by frame, and determining whether the data volume of the current single-frame point cloud data exceeds a predetermined threshold; If it exceeds, the current single-frame point cloud data will be downsampled; If it does not exceed, the current single-frame point cloud data will not be processed; the above judgment and processing operations are repeated until all single-frame point cloud data are processed, and finally sparse point cloud data is obtained; S12, using the CSF algorithm to perform ground detection on the sparse point cloud data, identifying and extracting the sparse point cloud data of the ground area; S13, using the Ransac algorithm to perform model fitting processing on the sparse point cloud data of the ground area to obtain the normal vector of the ground area; S14. Obtain a first angle by performing a dot product between the normal vector of the ground area and the Z-axis vector; S15. Obtain the rotation axis by cross-multiplying the normal vector of the ground area with the Z-axis vector; S16. Calculate a first rotation matrix based on the first angle and the rotation axis according to the Rodriguez rotation formula.
3. The indoor scene point cloud segmentation method according to claim 2, characterized in that: The S1 also includes: S17, set the maximum angle to , the minimum angle is , the angle interval is ; Calculate step size The formula is: ; Calculating angles The formula is: ,in is the angle index; calculate the second rotation matrix The formula is: ;in, , ; S18. Traverse all angle intervals and calculate a series of second rotation matrices; multiply each second rotation matrix by each point in the sparse point cloud data to obtain a series of rotated sparse point cloud data, count the coordinate histograms of each rotated sparse point cloud data in the x-axis and y-axis directions, and sum the frequencies of the coordinate histograms in the x-axis and y-axis directions to obtain eigenvalues, find the maximum eigenvalue from all eigenvalues and use the angle index corresponding to the maximum eigenvalue as the optimal angle index ; S19, Judgment and Is the distance between them less than the preset threshold? If the distance is less than the preset threshold, The corresponding angle is taken as the optimal angle; if the distance is greater than or equal to the preset threshold, the angle is updated and steps S17-S19 are repeated until the distance is less than the preset threshold. The formula for updating the angle is: ; ; S20. Using the second rotation matrix obtained by calculating the optimal angle as the optimal second rotation matrix.
4. The indoor scene point cloud segmentation method according to claim 3, characterized in that S2 include: S21, inputting single-frame point cloud data frame by frame, aligning the single-frame point cloud data to a Manhattan coordinate system by multiplying each point in the single-frame point cloud data by the first rotation matrix and multiplying each point in the single-frame point cloud data by the optimal second rotation matrix, and creating a sparse voxel grid; S22. While inputting single-frame point cloud data frame by frame, record the maximum value of the x coordinate and minimum value , record the maximum value of the y coordinate and minimum value ;like The value is greater than If the value of , the x-axis is selected as the cutting direction, and As the starting point for cutting, As the cutting end point; like The value is greater than The value of , select the y axis as the cutting direction, and As the starting point for cutting, As the cutting end point; S23, extracting the center point of each voxel from the sparse voxel grid; S24. Use the NormalEstimation module in the pcl library to calculate the normal vector of each voxel center point to obtain a set of voxel center point normal vectors.
5. The method for indoor scene point cloud segmentation according to claim 4, wherein S3 include: S31. Setting the point cloud number threshold for segmenting each point cloud block and the allowed fluctuation value, the initial number of blocks for: , where N is the total number of point clouds; S32, if The value is greater than Calculate the initial cutting distance , calculate the initial cutting spacing The formula is: ; S33, As a starting point, As the end point, determine the boundary of the initial point cloud block, count all voxels within the boundary of the initial point cloud block, accumulate the number of point clouds contained in each voxel, and get the number of point clouds in the initial point cloud block. ; S34, Judgment and Similarity Is the absolute value of the similarity less than the allowed fluctuation value? If the absolute value of the similarity is less than the allowed fluctuation value, update , repeat steps S33-S34 until Greater than , record all voxels corresponding to each initial point cloud block and record the boundary value of each initial point cloud block; if the absolute value of the similarity is greater than or equal to the allowed fluctuation value, update , repeat steps S33-S34 until and The absolute value of the similarity is less than the allowed fluctuation value.
6. The indoor scene point cloud segmentation method according to claim 5, characterized in that: In S34, similarity The calculation formula is: 。 7. The indoor scene point cloud segmentation method according to claim 5, characterized in that: In S34, update The formula is: 。 8. The indoor scene point cloud segmentation method according to claim 5, characterized in that: In S34, update The formula is: 。 9. The indoor scene point cloud segmentation method according to claim 3, characterized in that: S4 include: S41. Based on the boundary value of the initial point cloud block, all voxels near the boundary value of the initial point cloud block in the obtained sparse voxel grid are used as boundary voxels; and the normal vector of each voxel center point in the boundary voxels is obtained from the voxel center point normal vector set; S42, using a region growing algorithm to select a voxel from the boundary voxels as the starting voxel, and extracting the neighborhood voxels of the starting voxel; calculating the second angle between the normal vector of the center point of each neighborhood voxel and the normal vector of the center point of the starting voxel; judging whether the second angle between the normal vector of the center point of the current neighborhood voxel and the normal vector of the center point of the starting voxel is greater than 20 degrees; if the second angle is greater than 20 degrees, adding the current neighborhood voxel to the initial point cloud block currently being expanded; if the second angle is less than or equal to 20 degrees, not adding the current neighborhood voxel to the initial point cloud block currently being expanded; repeating the above judgment and execution process for the remaining neighborhood voxels until no new neighborhood voxels are added to the current initial point cloud block, forming a voxel block with a complete boundary target; S43, repeating steps S41-S42 for each initial point cloud block to obtain multiple voxel blocks with all boundary targets complete; S44. Input single-frame point cloud data frame by frame, and align the single-frame point cloud data to the Manhattan coordinate system by multiplying the first rotation matrix by the left side of each point in the single-frame point cloud data and multiplying the optimal second rotation matrix by the left side of each point in the single-frame point cloud data; for each voxel block, traverse all single-frame point cloud data aligned to the Manhattan coordinate system, retain the point cloud falling in the corresponding voxel block, and form a point cloud block; for the point cloud that does not fall in the corresponding voxel block, do not process it, and finally obtain a point cloud block with a complete boundary target.
Citation Information
Patent Citations
Canopy gap rate estimation method based on ground-based laser radar point cloud
CN112068153A
Voxel-based point cloud compression method and device for adaptive partitioning
CN112581552A
Cross-modal single-sample three-dimensional point cloud segmentation method
CN114529757A
Unmanned aerial vehicle indoor structured semantic map construction and measurement method
CN118799714A
Deep learning system for performing private inference and operating method thereof
KR1020230159204A
Cited By
Mass point cloud real-time visualization method for uniform sampling
CN120807809A
Indoor plane extraction method
CN121477222A
