An indoor scene point cloud partitioning method
The point cloud data is divided into blocks through adaptive segmentation and region growing algorithms, which solves the problem of computers having difficulty reading massive point cloud data, and achieves effective processing and hardware cost reduction under any computer configuration.
Patent Information
- Application Number
- CN202511014867.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-23
- Publication Date
- 2025-10-24
- Estimated Expiration
- 2045-07-23
AI Technical Summary
In existing technologies, it is difficult for computers to effectively process massive point cloud data, resulting in reading difficulties.
Adaptive segmentation algorithm and region growing algorithm are used to process point cloud data into blocks. By inputting point cloud data frame by frame, calculating the rotation matrix and voxel grid, and combining normal vectors and boundary values for segmentation and expansion, a point cloud block with complete boundary targets is finally formed.
It realizes the effective processing of point cloud data under any computer configuration, improves the versatility of point cloud, reduces hardware costs, and solves the problem of computers reading massive point cloud data.
Smart Images

Figure CN120525904B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of point cloud processing, and particularly relates to an indoor scene point cloud blocking method. BACKGROUND
[0002] With the rapid development of simultaneous localization and mapping (SLAM) technology, the point cloud data generated by the SLAM algorithm currently usually contains hundreds of millions or even tens of billions of points. After obtaining the complete point cloud data, a series of processing such as filtering and smoothing needs to be performed on the point cloud data. However, in the face of such a huge amount of data, the memory of most computers is only 16 GB, and it is difficult to read the point cloud data.
[0003] Therefore, the point cloud needs to be blocked to adapt to the processing capability of most computers. The lack of a refined point cloud blocking method has become a problem to be solved at present. SUMMARY
[0004] The technical problem to be solved by the application is to provide an indoor scene point cloud blocking method to solve the technical problem of difficulty of reading massive point cloud data by a computer in the prior art.
[0005] To achieve the above object, the technical scheme adopted by the application is as follows:
[0006] An indoor scene point cloud blocking method comprises the following steps:
[0007] S1, input single-frame point cloud data frame by frame, convert the single-frame point cloud data into sparse point cloud data, and calculate a first rotation matrix and an optimal second rotation matrix based on the sparse point cloud data;
[0008] S2, input single-frame point cloud data frame by frame, align the single-frame point cloud data to a Manhattan coordinate system through the first rotation matrix and the optimal second rotation matrix, create a sparse voxel grid, calculate the normal vector of each voxel center point based on the sparse voxel grid, and obtain a voxel center point normal vector set;
[0009] S3, use an adaptive segmentation algorithm to segment the sparse voxel grid, obtain an initial point cloud block, and record the boundary value of the initial point cloud block;
[0010] S4, use a region growing algorithm to expand the initial point cloud block according to the voxel center point normal vector set and the boundary value of the initial point cloud block, and finally obtain a point cloud block with complete boundaries.
[0011] Further, S1 comprises:
[0012] S11, input single-frame point cloud data frame by frame, and determine whether the data quantity of the current single-frame point cloud data exceeds a predetermined threshold; if yes, perform down-sampling processing on the current single-frame point cloud data; if not, do not process the current single-frame point cloud data; repeat the above determination and processing operations until all single-frame point cloud data are processed, and finally obtain sparse point cloud data;
[0013] S12, perform ground detection on the sparse point cloud data by using a CSF algorithm, and identify and extract sparse point cloud data of a ground region;
[0014] S13, perform model fitting processing on the sparse point cloud data of the ground region by using a Ransac algorithm, and obtain a normal vector of the ground region;
[0015] S14, obtain a first included angle by point multiplication of the normal vector of the ground region and a Z-axis vector;
[0016] S15, obtain a rotation axis by cross multiplication of the normal vector of the ground region and the Z-axis vector;
[0017] S16, calculate a first rotation matrix according to a Rodrigues rotation formula, in combination with the first included angle and the rotation axis.
[0018] Further, S1 further comprises:
[0019] S17, set a maximum value of an angle as , a minimum value of the angle as , and an angle interval as ; and a formula for calculating a step size is:
[0020]
[0021] A formula for calculating the angle is: , wherein is an angle index; and a formula for calculating a second rotation matrix is: ; wherein, ,
[0022] S18, traverse all angle intervals to calculate a series of second rotation matrices; left-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 coordinate histograms of each rotated sparse point cloud data in x-axis and y-axis directions, sum frequencies of the coordinate histograms in the x-axis and y-axis directions to obtain feature values, find a maximum feature value from all the feature values, and take an angle index corresponding to the maximum feature value as an optimal angle index ;
[0023] S19, determining whether the distance between the first rotation matrix and the second rotation matrix is less than a preset threshold value, if the distance is less than the preset threshold value, taking the corresponding angle as an optimal angle; if the distance is greater than or equal to the preset threshold value, updating the angle, repeating steps S17-S19 until the distance is less than the preset threshold value, and the formula for updating the angle is:
[0024] ;
[0025] ;
[0026] S20, taking the second rotation matrix calculated through the optimal angle as an optimal second rotation matrix.
[0027] Further, S2 includes:
[0028] S21, inputting single-frame point cloud data frame by frame, aligning the single-frame point cloud data to the Manhattan coordinate system by left multiplying each point in the single-frame point cloud data by the first rotation matrix and left multiplying each point in the single-frame point cloud data by the optimal second rotation matrix, and creating a sparse voxel grid;
[0029] S22, while inputting the single-frame point cloud data frame by frame, recording the maximum value of the x coordinate and the minimum value of the x coordinate , recording the maximum value of the y coordinate and the minimum value of the y coordinate ; if the value of the x coordinate is greater than the value of the y coordinate, selecting the x axis as the cutting direction and taking as the cutting starting point and as the cutting ending point; if the value of the y coordinate is greater than the value of the x coordinate, selecting the y axis as the cutting direction and taking as the cutting starting point and as the cutting ending point;
[0030] S23, extracting the center points of each voxel from the sparse voxel grid;
[0031] S24, calculating the normal vectors of each voxel center point by using the NormalEstimation module in the pcl library to obtain a set of voxel center point normal vectors.
[0032] Further, S3 includes:
[0033] S31, setting the point cloud quantity threshold for dividing each point cloud block and the allowed fluctuation value, and the initial block quantity is: , where N is the total number of point clouds;
[0034] S32, if The value is greater than Calculate the initial cutting distance , calculate the initial cutting spacing The formula is: ;
[0035] 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. ;
[0036] 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.
[0037] Furthermore, in S34, the similarity The calculation formula is:
[0038] 。
[0039] Further, in S34, update The formula is:
[0040] .
[0041] Further, in S34, update The formula is:
[0042] 。
[0043] Furthermore, S4 includes:
[0044] S41, according to the boundary value of the initial point cloud block, all the voxels near the boundary value of the initial point cloud block in the obtained sparse voxel grid are taken as boundary voxels; the normal vector of each voxel center point in the boundary voxels is obtained from the set of voxel center point normal vectors;
[0045] S42, a region growing algorithm is used to select a voxel from the boundary voxels as a starting voxel, and the neighborhood voxels of the starting voxel are extracted; the second included angle between the normal vector of each neighborhood voxel center point and the normal vector of the starting voxel center point is calculated; it is judged whether the second included angle between the normal vector of the current neighborhood voxel center point and the normal vector of the starting voxel center point is greater than 20 degrees, if the second included angle is greater than 20 degrees, the current neighborhood voxel is added to the initial point cloud block being currently expanded; if the second included angle is less than or equal to 20 degrees, the current neighborhood voxel is not added to the initial point cloud block being currently expanded; for the remaining neighborhood voxels, the above judgment and execution process is repeated until there is no new neighborhood voxel added to the current initial point cloud block, forming a boundary target complete voxel block;
[0046] S43, steps S41-S42 are repeated for each initial point cloud block to obtain a plurality of boundary target complete voxel blocks;
[0047] S44, single-frame point cloud data is input frame by frame, and the single-frame point cloud data is aligned to the Manhattan coordinate system by left multiplying each point in the single-frame point cloud data by the first rotation matrix and left multiplying each point in the single-frame point cloud data by the optimal second rotation matrix; for each voxel block, all the single-frame point cloud data aligned to the Manhattan coordinate system are traversed, the point cloud falling in the corresponding voxel block is retained to form a point cloud block; for the point cloud not falling in the corresponding voxel block, no processing is performed, and finally a boundary target complete point cloud block is obtained.
[0048] Compared with the prior art, the present application has the following beneficial effects:
[0049] The present application can process point cloud data of any data amount by combining the adaptive segmentation algorithm and the region growing algorithm, divide the point cloud into a specified number of point cloud blocks, so that any computer configuration can perform subsequent processing, improve the universality of the point cloud, effectively reduce the hardware cost, and solve the technical problem of difficulty of computer reading massive point cloud data. BRIEF DESCRIPTION OF DRAWINGS
[0050] Figure 1 The step flowchart of the present application. DETAILED DESCRIPTION
[0051] In order to make the objects, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the drawings. Obviously, the described embodiments are only some of the embodiments of the present application, but not all the embodiments. Based on the embodiments of the present application, all other embodiments obtained by those of ordinary skill in the art without creative work fall within the scope of protection of the present application.
[0052] In the description of the present application, it should be noted that the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer" and the like indicate the orientation or positional relationship shown in the drawings, and are only for the convenience of describing the present application and simplifying the description, and do not indicate or imply that the devices or elements referred to must have a particular orientation or be constructed and operated in a particular orientation, therefore it cannot be understood as a limitation to the present application. In addition, the terms "first", "second", "third" are only for descriptive purposes, and cannot be understood as indicating or implying relative importance.
[0053] In the description of the present application, it should be noted that unless otherwise explicitly specified and limited, the terms "mounting", "connecting", "connecting" should be understood broadly, for example, it can be fixedly connected, or it can be detachably connected, or integrally connected; of course, it can also be mechanically connected, or electrically connected; in addition, it can also be directly connected, or indirectly connected through an intermediate medium, or the internal communication of two elements. For those of ordinary skill in the art, the specific meaning of the above terms in the present application can be understood according to the specific circumstances.
[0054] As shown in Figure 1 The indoor scene point cloud blocking method provided by the present application comprises the following steps:
[0055] S1, input single-frame point cloud data frame by frame, convert the single-frame point cloud data into sparse point cloud data; calculate a first rotation matrix and an optimal second rotation matrix based on the sparse point cloud data;
[0056] S2, input single-frame point cloud data frame by frame, align the single-frame point cloud data to the Manhattan coordinate system through 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 voxel center point normal vector set;
[0057] S3, using an adaptive segmentation algorithm to segment the sparse voxel grid, obtaining an initial point cloud block and recording the boundary value of the initial point cloud block;
[0058] S4, according to the voxel center point normal vector set and the boundary value of the initial point cloud block, using a region growing algorithm to expand the initial point cloud block, and finally obtaining a point cloud block with complete boundary.
[0059] 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.
[0060] Preferably, S1 includes:
[0061] 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;
[0062] 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;
[0063] 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;
[0064] 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);
[0065] 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);
[0066] S16. Calculate a first rotation matrix based on the first angle and the rotation axis according to the Rodriguez rotation formula.
[0067] S17, set the maximum angle to , the minimum angle is , the angle interval is ; Calculate step size The formula is:
[0068] ;
[0069] Calculating angles The formula is: ,in is the angle index; calculate the second rotation matrix The formula is:
[0070] ;
[0071] in, , ;
[0072] S18, traverse all angle intervals, calculate a series of second rotation matrices; left multiply each second rotation matrix with each point in the sparse point cloud data to obtain a series of rotated sparse point cloud data, count the coordinate histogram of each rotated sparse point cloud data in the x-axis and y-axis directions, and sum the frequency of the coordinate histogram in the x-axis and y-axis directions to obtain a feature value, since the point cloud posture is more positive, the feature value is larger, find the maximum feature value from all the feature values, and take the angle index corresponding to the maximum feature value as the optimal angle index ;
[0073] S19, judge whether the distance between is less than a preset threshold, if the distance is less than the preset threshold, take the corresponding angle as the optimal angle; if the distance is greater than or equal to the preset threshold, update the angle, repeat steps S17-S19 until the distance is less than the preset threshold, and the formula for updating the angle is:
[0074] ;
[0075] ;
[0076] S20, take the second rotation matrix calculated by the optimal angle as the optimal second rotation matrix.
[0077] Preferably, S2 comprises:
[0078] S21, input single-frame point cloud data frame by frame, align the single-frame point cloud data to the Manhattan coordinate system by left multiplying each point in the single-frame point cloud data with the first rotation matrix and left multiplying each point in the single-frame point cloud data with the optimal second rotation matrix, and create a sparse voxel grid;
[0079] S22, while inputting single-frame point cloud data frame by frame, record the maximum value and the minimum value of the x-coordinate, record the maximum value and the minimum value of the y-coordinate; if the value of is greater than the value of , select the x-axis as the cutting direction, and take as the cutting starting point and as the cutting ending point; if the value of is greater than the value of , select the y-axis as the cutting direction, and take as the cutting starting point and as the cutting ending point;
[0080] S23, extracting the center point of each voxel from the sparse voxel grid;
[0081] S24, calculating the normal vector of the center point of each voxel by using the Normal Estimation module in the pcl library to obtain a set of voxel center point normal vectors.
[0082] The present application is based on an indoor scene point cloud blocking method, wherein in one embodiment, S3 comprises:
[0083] S31, setting the point cloud quantity threshold for dividing each point cloud block and the allowable fluctuation value, the initial number of blocks is: , wherein N is the total number of point clouds;
[0084] S32, if is greater than , calculating the initial cutting interval , the formula for calculating the initial cutting interval is: ;
[0085] S33, taking as the starting point, as the end point, determining the boundary of the initial point cloud block, counting all voxels within the boundary of the initial point cloud block, and accumulating the number of point clouds contained by each voxel to obtain the point cloud quantity of the initial point cloud block;
[0086] S34, judging whether the absolute value of the similarity between is less than the allowable fluctuation value; if the absolute value of the similarity is less than the allowable fluctuation value, updating , repeating steps S33-S34 until is greater than , recording all voxels corresponding to each initial point cloud block and recording the boundary value of each initial point cloud block; if the absolute value of the similarity is greater than or equal to the allowable fluctuation value, updating , repeating steps S33-S34 until the absolute value of the similarity between and is less than the allowable fluctuation value. In S34, the formula for calculating the similarity
[0087] is:
[0088] 。
[0089] In S34, updating The formula of the equation is:
[0090] .
[0091] In S34, the update The formula of the equation is:
[0092] 。
[0093] The embodiment gives the specific segmentation steps of the adaptive segmentation algorithm. In step S31, the number of blocks can be set, and point cloud data of any data amount can be processed. The point cloud is segmented into a specified number of point cloud blocks, so that any computer configuration can perform subsequent processing (smoothing, filtering, display), the universality of the point cloud is improved, the hardware cost is effectively reduced, and the technical problem of difficulty of computer reading massive point cloud data is solved.
[0094] Preferably, S4 comprises:
[0095] S41, according to 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 obtained as boundary voxels; the normal vector of each voxel center point in the boundary voxels is obtained from the set of voxel center point normal vectors;
[0096] S42, a region growing algorithm is used to select a voxel from the boundary voxels as a starting voxel, and the neighborhood voxels of the starting voxel are extracted; the second included angle between the normal vector of each neighborhood voxel center point and the normal vector of the starting voxel center point is calculated; it is judged whether the second included angle between the normal vector of the current neighborhood voxel center point and the normal vector of the starting voxel center point is greater than 20 degrees, if the second included angle is greater than 20 degrees, the current neighborhood voxel is added to the initial point cloud block being currently expanded; if the second included angle is less than or equal to 20 degrees, the current neighborhood voxel is not added to the initial point cloud block being currently expanded; for the remaining neighborhood voxels, the above judgment and execution process is repeated until no new neighborhood voxel is added to the current initial point cloud block, forming a boundary target complete voxel block;
[0097] S43, steps S41-S42 are repeated for each initial point cloud block to obtain a plurality of boundary target complete voxel blocks;
[0098] S44, single-frame point cloud data is input frame by frame, and the single-frame point cloud data is aligned to the Manhattan coordinate system by left multiplying each point in the single-frame point cloud data by the first rotation matrix and left multiplying each point in the single-frame point cloud data by the optimal second rotation matrix; for each voxel block, all single-frame point cloud data aligned to the Manhattan coordinate system are traversed, the point cloud falling in the corresponding voxel block is retained to form a point cloud block; for the point cloud not falling in the corresponding voxel block, no processing is performed, and finally the boundary target complete point cloud block is obtained.
[0099] Finally, it should be noted that the above embodiments are merely the preferred embodiments of the present application to illustrate the technical solutions of the present application, but not limit the present application, of course, nor limit the patent scope of the present application; although the present application is described in detail with reference to the foregoing embodiments, those skilled in the art should understand that the technical solutions recorded in the foregoing embodiments can still be modified, or some or all of the technical features can be replaced by equivalents; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application; that is, any modification or embellishment that has no substantial significance in the main design idea and spirit of the present application, and still solves the technical problems consistent with the present application, should be included in the protection scope of the present application; in addition, the technical solutions of the present application are directly or indirectly applied to other related technical fields, which are also included in the patent protection scope of the present application.
Claims
1. A point cloud segmentation method for indoor scenes, characterized in that: The method comprises the following steps: S1, input single-frame point cloud data frame by frame, and convert the single-frame point cloud data into sparse point cloud data; Calculate 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 a Manhattan coordinate system through the first rotation matrix and the optimal second rotation matrix, and create a sparse voxel grid; Calculate the normal vectors of the center points of each voxel based on the sparse voxel grid, and obtain a set of voxel center point normal vectors; S3, divide the sparse voxel grid by using an adaptive segmentation algorithm to obtain an initial point cloud block and record the boundary value of the initial point cloud block; S4, according to the set of voxel center point normal vectors and the boundary value of the initial point cloud block, expand the initial point cloud block by using a region growing algorithm, and finally obtain a point cloud block with complete boundaries; While inputting single-frame point cloud data frame by frame, record the maximum value of x coordinate and the minimum value , record the maximum value of y coordinate and the minimum value ; S3 comprises: S31, set the point cloud quantity threshold for dividing each point cloud block and the initial number of blocks is: where N is the total number of point clouds; S32、if the value of the initial cutting interval the initial cutting interval the formula is: ; S33、with as the 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 obtain the number of point clouds of 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; In S34, the similarity The calculation formula is: ; In S34, update The formula is: ; In S34, update The formula is: 。 2. The method of claim 1, wherein, S1 comprises: S11, input single-frame point cloud data frame by frame, and determine whether the data amount of the current single-frame point cloud data exceeds a predetermined threshold; If yes, perform down-sampling processing on the current single-frame point cloud data; If no, do not process the current single-frame point cloud data; repeat the above determination and processing operations until all single-frame point cloud data are processed, and finally obtain sparse point cloud data; S12, use a CSF algorithm to detect the ground of the sparse point cloud data, and identify and extract the sparse point cloud data of the ground area; S13, use a Ransac algorithm to perform model fitting processing on the sparse point cloud data of the ground area, and obtain the normal vector of the ground area; S14, obtain a first included angle by point multiplication of the normal vector of the ground area and a Z-axis vector; S15, obtain a rotation axis by cross multiplication of the normal vector of the ground area and the Z-axis vector; S16, according to a Rodrigues rotation formula, combine the first included angle and the rotation axis to calculate a first rotation matrix.
3. The method of claim 2, wherein, S1 further comprises: S17, the maximum value of the angle is set as , the minimum value of the angle is set as , and the angle interval is set as ; the formula for calculating the step length is: ; The formula for calculating the angle is: The formula for calculating the angle is: where is the angle index; and calculating the second rotation matrix The formula for calculating the angle is: ; where, , ; S18, traverse all angle intervals, calculate a series of second rotation matrices; left multiply each second rotation matrix with each point in the sparse point cloud data to obtain a series of rotated sparse point cloud data, count the coordinate histogram of each rotated sparse point cloud data in the x-axis and y-axis directions, and sum the frequency of the coordinate histogram in the x-axis and y-axis directions to obtain a feature value, find the maximum feature value from all feature values, and take the angle index corresponding to the maximum feature value 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, take the second rotation matrix calculated through the optimal angle as an optimal second rotation matrix.
4. The method of claim 3, wherein S2 Comprise: S21, input single-frame point cloud data frame by frame, align the single-frame point cloud data to a Manhattan coordinate system by left multiplication of each point in the single-frame point cloud data by the first rotation matrix and left multiplication of each point in the single-frame point cloud data by the optimal second rotation matrix, and create a sparse voxel grid; S22, while inputting single-frame point cloud data frame by frame, recording the maximum value of x coordinate and the minimum value , recording the maximum value of y coordinate and the minimum value ; if the value of is greater than the value of , the x axis is selected as the cutting direction, and is taken as the cutting starting point, is taken as the cutting end point; If is greater than , the y-axis is selected as the cutting direction, and is taken as the cutting start point, and is taken as the cutting end point. S23, extract the center points of each voxel from the sparse voxel grid; S24, calculate the normal vectors of the center points of each voxel by using a NormalEstimation module in a pcl library, and obtain a set of voxel center point normal vectors.
5. The method of claim 3, wherein, S4 Comprise: S41, according to the boundary value of the initial point cloud block, take all voxels near the boundary value of the initial point cloud block in the obtained sparse voxel grid as boundary voxels; and obtain the normal vectors of the center points of each voxel in the boundary voxels from the set of voxel center point normal vectors; S42, a region growing algorithm is used to select a voxel from the boundary voxels as a starting voxel, and neighbor voxels of the starting voxel are extracted; a second included angle between a normal vector of a center point of each neighbor voxel and a normal vector of a center point of the starting voxel is calculated; it is judged whether the second included angle between the normal vector of the center point of the current neighbor voxel and the normal vector of the center point of the starting voxel is greater than 20 degrees, if the second included angle is greater than 20 degrees, the current neighbor voxel is added to the initial point cloud block being currently expanded; if the second included angle is less than or equal to 20 degrees, the current neighbor voxel is not added to the initial point cloud block being currently expanded; for the remaining neighbor voxels, the above judgment and execution process is repeated until no new neighbor voxel is added to the current initial point cloud block, and a voxel block complete in boundary target is formed; S43, steps S41-S42 are repeated for each initial point cloud block to obtain a plurality of voxel blocks complete in boundary target; S44, single-frame point cloud data is input frame by frame, the single-frame point cloud data is aligned to the Manhattan coordinate system by left multiplying each point in the single-frame point cloud data by the first rotation matrix and left multiplying each point in the single-frame point cloud data by the optimal second rotation matrix; for each voxel block, all the single-frame point cloud data aligned to the Manhattan coordinate system are traversed, point clouds falling in the corresponding voxel block are retained to form a point cloud block; for point clouds not falling in the corresponding voxel block, no processing is performed, and finally a point cloud block complete in boundary target is obtained.
Citation Information
Patent Citations
Information processing device, control method, program, and storage medium
US20230401671A1
KR20220083556A