An automatic tilt correction method for bulk cargo point cloud
By performing radius filtering, three-dimensional convex hull processing, clustering and rotation correction methods on bulk cargo point cloud data, the problems of uncertainty and high cost of tilt correction of bulk cargo point cloud in the prior art are solved, and the automation, flexibility and cost-effective point cloud correction effects are achieved.
Patent Information
- Application Number
- CN202510180810.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-19
- Publication Date
- 2025-05-23
- Estimated Expiration
- 2045-02-19
AI Technical Summary
In the prior art, point cloud tilt correction in bulk cargo storage scenarios, there are problems such as strong uncertainty in identification results, high requirements for the warehousing environment, high hardware costs or manual later intervention is required.
An automated tilt correction method for point clouds for bulk goods is adopted, outliers are removed through radius filtering algorithms, three-dimensional convex hulls are calculated and triangular grid processing is performed, normal vectors are clustered, point cloud data is divided, rotation matrix is calculated, and point cloud data is rotated.
It realizes effective tilt correction of point cloud data without device angle parameters and manual post-intervention, reduces the limitations on the number of devices and installation angles, improves the flexibility of data acquisition range, and reduces hardware costs and manual participation costs.
Smart Images

Figure CN119671912B_ABST
Abstract
Description
Technical Field
[0001] The invention relates to the field of radar technology, and in particular to an automatic tilt correction method for bulk cargo point cloud. Background Art
[0002] Bulk goods such as coal, ore, and grain are usually stored in piles, which are characterized by large sites and difficult supervision. By installing radars at relevant points in warehouses or yards to scan bulk goods and process the obtained 3D point clouds, the foundation is laid for accurate measurement of cargo volume. Due to the influence of the radar posture, the collected raw data usually needs to be tilted to ensure that the point cloud is consistent with the real world in the positive direction of the Y axis. There are currently two common practices in the industry: one is to manually operate the collected raw point cloud data by selecting a local plane as a rotation reference for the overall point cloud; the other is to fix the radar direction and record the tilt angles in each direction as hyperparameters to perform rotation correction on the point cloud. Method 1 requires later manual participation and is not real-time; Method 2 limits the direction of a single radar device so that it cannot expand the collection range by rotation, and needs to be compensated by increasing the number of devices, which greatly increases the hardware cost, and when the device may change direction due to uncertain factors, the system cannot automatically correct the data.
[0003] The existing technology mainly processes the tilt of point clouds through RANSAC (random sampling consensus algorithm) to extract planes, extract geometric features, set targets for registration, and use rotation-invariant feature methods. In bulk cargo storage scenarios, although RANSAC can identify the planes contained in the cargo point cloud, the slope formed by the cargo stacking and the blank ground are difficult to distinguish, and the direction, area, and number of the slope planes are highly random. Therefore, the recognition results of the RANSAC method have great uncertainty. The geometric feature extraction method can solve regular objects with relatively certain shape features and requires prior information. However, the stacking form of bulk cargo is geometrically irregular and highly random, and does not meet the conditions for geometric feature extraction. The method of setting targets in the warehouse is invasive, has high requirements for the warehouse environment, and increases the operation and maintenance costs. The point cloud rotation-invariant feature method is suitable for solving downstream target detection tasks that are sensitive to the direction of the object point cloud. It does not care whether the bottom of the entity corresponding to the point cloud is consistent with the xOy plane of the coordinate system, and cannot meet the downstream data processing tasks of bulk cargo monitoring scenarios. Summary of the invention
[0004] In order to solve the problems of the prior art, due to the irregularity and strong randomness of the storage and stacking patterns of bulk goods, the prior art has the disadvantages of strong uncertainty in recognition results, high requirements for the storage environment, high hardware costs or the need for manual post-intervention. To address these shortcomings, the present invention solves the problem of realizing the tilt correction of point cloud data without device angle parameters and without manual post-intervention, reduces the restrictions on the number of devices and installation angles in bulk cargo supervision scenarios, and enables the device to increase the data collection range by rotating the angle, thereby maximizing the utility of a single device, thereby providing an automated tilt correction method for bulk cargo point clouds.
[0005] A method for automatic tilt correction of bulk cargo point cloud, comprising the following steps:
[0006] Step 1: Load the point cloud dataset generated by radar scanning, use the radius filtering algorithm to remove significant outliers, and obtain the cleaned point cloud dataset S;
[0007] Step 2: Calculate the three-dimensional convex hull of the point cloud data set S to obtain a three-dimensional convex hull vertex set;
[0008] Step 3: Perform triangular mesh processing on the three-dimensional convex hull vertex set data to obtain a triangular mesh digital surface model;
[0009] Step 4: Get all the triangular faces of the triangular mesh digital surface model, record the vertex coordinates of each triangular face, and form a triangular face data set , calculate the normal vector corresponding to each face, and perform normalization to form a normal vector data set ;
[0010] Step 5: Normal vector dataset Perform clustering processing;
[0011] Step 6: Sort the clustering results obtained by clustering processing from large to small according to the size of the cluster, take the top 3 clusters, and record the center vector of each cluster , calculate the internal data of each cluster and The overall deviation ;
[0012] Step 7: All the top 3 clusters are sorted according to the overall deviation between the data in the cluster and the center. Sort from small to large, select the first-ranked cluster, and record its center vector , according to the distance calculation formula, find the center vector in the cluster The nearest vector data is recorded as vector , in the dataset Searching with vectors The corresponding triangular face, whose vertices are recorded as ;
[0013] Step 8: In the dataset Searching with vectors Corresponding triangular face, get the plane where the triangular face is located , calculate its normal vector , the point cloud dataset S is divided into two planes Split into two sets and ;
[0014] Step 9: and Select a set with a smaller data volume as the data set C, and calculate all the points in C to the plane The projection distance of the three points with the largest projection distance is selected to obtain the plane where these three points are located. , calculation plane The normal vector ;
[0015] Step 10: Calculate the vector The angle between the unit vector V (0, 1, 0) The cosine value and the rotation axis K, and then use the Rodrigues rotation formula to calculate the corresponding rotation matrix ;
[0016] Step 11: Using the Rotation Matrix Rotate the dataset S to obtain the tilt-corrected point cloud dataset .
[0017] Furthermore, the clustering process adopts the K-Means clustering algorithm, the parameter K is set to a constant between 6 and 8, and the distance calculation formula is defined as:
[0018] ,
[0019] Among them, d(A, B) represents the distance between any two vectors A and B, i=(1,..n) represents the data dimensions of the vector, and n=3.
[0020] Furthermore, the overall deviation degree The calculation formula is as follows:
[0021] ,
[0022] in, Represents each data element in the cluster, j=(1, .., n), j is the number of elements in the cluster, Represents the center vector of each cluster.
[0023] Furthermore, the point cloud dataset S is based on the plane Split into two sets and The specific process is: take the plane Point on As a reference point, calculate the points in the point cloud and The vector composed of With plane The normal vector The cosine value of the angle between them is as follows:
[0024] ,
[0025] definition , .
[0026] Furthermore, the calculation formula of the rotation matrix is:
[0027] ,
[0028] ,
[0029] in, Represents the normal vector K represents the angle between the unit vector V (0, 1, 0).
[0030] Furthermore, the rotation operation is specifically:
[0031] ,
[0032] in, Represents the point cloud dataset after tilt correction. represents the rotation matrix, and S represents the original point cloud dataset after cleaning.
[0033] Furthermore, when the radius filtering algorithm is used to remove significant outliers, the radius parameter is set to 2 and the minimum number of points in the neighborhood is 5.
[0034] Beneficial effects of the present invention: The present invention effectively utilizes the statistical characteristics and physical properties of the data, uses a unique processing method, does not need to master the posture parameters of the radar equipment in advance, solves the point cloud processing problem when the radar has no fixed angle or preset angle offset in real scenarios, and reduces the cost of manual participation; the processing flow is cleverly implemented according to the specific scenario, which can solve the problem that plane detection methods such as RANSAC may cause unstable or invalid results in bulk cargo scenarios, and has strong robustness. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] Figure 1 is a flow chart of the method of the present invention;
[0036] Figure 2 This is the effect diagram of the point cloud dataset after cleaning;
[0037] Figure 3 This is the point cloud 3D convex hull vertex mesh effect diagram;
[0038] Figure 4 This is the effect diagram of the 3D convex hull triangle surface of the point cloud;
[0039] Figure 5 This is the 3D convex hull plane clustering effect diagram;
[0040] Figure 6 This is the effect picture after point cloud correction;
[0041] Figure 7 This is the model effect diagram of the corrected point cloud. DETAILED DESCRIPTION
[0042] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0043] In this embodiment, refer to Figure 1 , aims to realize an automatic tilt correction method for bulk cargo point cloud, including the following steps:
[0044] Step 1: Load the point cloud dataset generated by the radar scan and use the Radius OutierRemoval algorithm to remove significant outliers. The radius parameter can be set to 2 and the minimum number of points in the neighborhood to 5. The cleaned point cloud dataset S is obtained, as shown in Figure 2 As shown;
[0045] Step 2: Calculate the three-dimensional convex hull of the point cloud data set S cleaned in step 1 to obtain a set of three-dimensional convex hull vertices;
[0046] Step 3: Perform triangular mesh processing on the three-dimensional convex hull vertex set data to obtain a triangular mesh digital surface model, such as Figure 3 , Figure 4 As shown;
[0047] Step 4: Get all the triangular faces of the triangular mesh surface model, record the vertex coordinates of each triangular face, and form a triangular face data set , calculate the normal vector corresponding to each face, and normalize it to form a normal vector data set ;
[0048] Step 5: Cluster the normal vector data set obtained in step 4 using the K-Means clustering algorithm (density-based clustering algorithms such as DBSCAN cannot be used here), where the parameter K is set to a constant between 6 and 8, and the distance calculation formula is:
[0049] ,
[0050] Among them, A and B represent any two vectors, i=(1, 2, 3.., n-1, n)represents the data dimensions of the vector, and n=3; the clustering effect is as follows Figure 5 As shown;
[0051] Step 6: Sort the clustering results of step 5 from large to small according to the size of the cluster, take the top 3 clusters, and record the center vector of each cluster , calculate the internal data of each cluster and The overall deviation , the formula is as follows:
[0052] ,
[0053] in, Represents each data element in the cluster, j=(1, .., n), j is the number of elements in the cluster;
[0054] Step 7: All the top 3 clusters are sorted according to the overall deviation between the data in the cluster and the center. Sort from small to large, select the first-ranked cluster, and record its center vector , according to the distance calculation formula, find the center vector in the cluster The nearest vector data is recorded as vector , in the dataset Searching with vectors The corresponding triangular face, whose vertices are recorded as ;
[0055] Step 8: In the dataset Searching with vectors Corresponding triangular face, get the plane where the triangular face is located , calculate its normal vector , the point cloud dataset S is divided into two planes Split into two sets and , the specific method is: take the plane Point on As a reference point, calculate the points in the point cloud and Vector With plane The normal vector The cosine value of the angle between is as follows:
[0056] ,
[0057] definition , ;
[0058] Step 9: and Select a set with a smaller data volume as the data set C, and calculate all the points in C to the plane The projection distance of the three points with the largest projection distance is selected to obtain the plane where these three points are located. , calculation plane The normal vector ;
[0059] Step 10: Calculate the vector from step 9 The angle between the unit vector V (0, 1, 0) The cosine value and the rotation axis K, and then use the Rodrigues rotation formula to calculate the corresponding rotation matrix , the formula is as follows:
[0060] ,
[0061] ,
[0062] Among them, Normalize is Z-score Normalization, that is: (x) = (x - mean(x)) / std(x), mean(x) is the mean of the eigenvalue, and std(x) is the standard deviation of the eigenvalue.
[0063] Step 11: Use the rotation matrix obtained in step 10 Rotate the dataset S to obtain the tilt-corrected point cloud dataset , the specific operations are: The final effect is as follows Figure 6 and Figure 7 shown.
[0064] In the description of the embodiments of the present invention, it should be understood that the terms "upper", "lower", "front", "back", "left", "right", "vertical", "horizontal", "center", "top", "bottom", "top", "bottom", "inside", "outside", "inner side", "outer side" and the like indicate orientations or positional relationships based on the orientations or positional relationships shown in the accompanying drawings, and are only for the convenience of describing the present invention and simplifying the description, rather than indicating or implying that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation on the present invention. Among them, "inside" refers to an internal or enclosed area or space. "Periphery" refers to the area surrounding a specific component or a specific area.
[0065] In the description of the embodiments of the present invention, the terms "first", "second", "third", and "fourth" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first", "second", "third", and "fourth" may explicitly or implicitly include one or more of the features. In the description of the present invention, unless otherwise specified, "multiple" means two or more.
[0066] In the description of the embodiments of the present invention, it should be noted that, unless otherwise clearly specified and limited, the terms "install", "connect", "connect", and "assemble" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a direct connection, or an indirect connection through an intermediate medium, or it can be the internal communication of two components. For ordinary technicians in this field, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.
[0067] In the description of the embodiments of the present invention, specific features, structures, materials or characteristics may be combined in a suitable manner in any one or more embodiments or examples.
[0068] In the description of the embodiments of the present invention, it should be understood that "-" and "~" represent a range between two values, and the range includes the endpoints. For example: "AB" represents a range greater than or equal to A and less than or equal to B. "A~B" represents a range greater than or equal to A and less than or equal to B.
[0069] In the description of the embodiments of the present invention, the term "and / or" herein is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B may represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " herein generally indicates that the associated objects before and after are in an "or" relationship.
[0070] Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the appended claims and their equivalents.
Claims
1. A method for automatic tilt correction of bulk cargo point cloud, characterized in that: The following steps are involved: Step 1: Load the point cloud dataset generated by radar scanning, use the radius filtering algorithm to remove significant outliers, and obtain the cleaned point cloud dataset S; Step 2: Calculate the three-dimensional convex hull of the point cloud data set S to obtain a three-dimensional convex hull vertex set; Step 3: Perform triangular mesh processing on the three-dimensional convex hull vertex set data to obtain a triangular mesh digital surface model; Step 4: Get all the triangular faces of the triangular mesh digital surface model, record the vertex coordinates of each triangular face, and form a triangular face data set , calculate the normal vector corresponding to each face, and perform normalization to form a normal vector data set ; Step 5: Normal vector dataset Perform clustering processing; Step 6: Sort the clustering results obtained by clustering processing from large to small according to the size of the cluster, take the top 3 clusters, and record the center vector of each cluster , calculate the internal data of each cluster and The overall deviation ; Step 7: All the top 3 clusters are sorted according to the overall deviation between the data in the cluster and the center. Sort from small to large, select the first-ranked cluster, and record its center vector , according to the distance calculation formula, find the center vector in the cluster The nearest vector data is recorded as vector , in the dataset Searching with vectors The corresponding triangular face, whose vertices are recorded as ; Step 8: In the dataset Searching with vectors Corresponding triangular face, get the plane where the triangular face is located , calculate its normal vector , the point cloud dataset S is divided into two planes Split into two sets and ; Step 9: and Select a set with a smaller data volume as the data set C, and calculate all the points in C to the plane The projection distance of the three points with the largest projection distance is selected to obtain the plane where these three points are located. , calculation plane The normal vector ; Step 10: Calculate the normal vector The angle between the unit vector V (0, 1, 0) The cosine value and the rotation axis K, and then use the Rodrigues rotation formula to calculate the corresponding rotation matrix ; Step 11: Using the Rotation Matrix Rotate the dataset S to obtain the tilt-corrected point cloud dataset .
2. The method for automatic tilt correction of bulk cargo point cloud according to claim 1 is characterized in that: The clustering process adopts the K-Means clustering algorithm, with the parameter K set to a constant between 6 and 8, and the distance calculation formula is defined as: , Among them, d(A, B) represents the distance between any two vectors A and B, i=(1,..n) represents the data dimensions of the vector, and n=3.
3. The method for automatic tilt correction of bulk cargo point cloud according to claim 1 is characterized in that: The overall degree of deviation The calculation formula is as follows: , in, Represents each data element in the cluster, j=(1, .., n), j is the number of elements in the cluster, Represents the center vector of each cluster.
4. The method for automatic tilt correction of bulk cargo point cloud according to claim 1 is characterized in that: The point cloud dataset S is based on the plane Split into two sets and The specific process is: take the plane Point on As a reference point, calculate the points in the point cloud dataset S and The vector composed of With plane The normal vector The cosine value of the angle between them is as follows: , definition , .
5. The method for automatic tilt correction of bulk cargo point cloud according to claim 1, characterized in that: The rotation matrix The calculation formula is: , , in, Represents the normal vector The angle between the unit vector V (0, 1, 0), K represents the normal vector The axis of rotation about the unit vector V(0, 1, 0).
6. The method for automatic tilt correction of bulk cargo point cloud according to claim 1 is characterized in that: The rotation operation is specifically as follows: , in, Represents the point cloud dataset after tilt correction. represents the rotation matrix, and S represents the original point cloud dataset after cleaning.
7. The method for automatic tilt correction of bulk cargo point cloud according to claim 1, characterized in that: When the radius filtering algorithm is used to remove significant outliers, the radius is set to 2 and the minimum number of points in the neighborhood is 5.
Citation Information
Patent Citations
Bulk commodity indoor storage laser radar 3D point cloud data processing method
CN117314903A
Unmanned vehicle, driving route generation method, equipment, medium and product
CN118894117A