A Vector-Based Conditional Filtering Point Cloud Completion Method
Patent Information
- Application Number
- CN202310578213.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-19
- Publication Date
- 2026-09-01
- Estimated Expiration
- 2043-05-19
AI Technical Summary
当设备几何形态复杂时往往存在难以扫描的区域,形成点云上的孔洞,从而导致逆向过程局部缺少参考
[0035] This invention retains points located at the hole positions in the point cloud acquired by the laser scanner through conditional filtering and merges them with the point cloud acquired by the laser scanner. This allows for the acquisition of a complete point cloud with high correspondence to the physical world at a lower cost, which can effectively improve the accuracy of modeling and finite element simulation.
Smart Images

Figure CN116630540B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of digital twin 3D modeling technology, specifically involving a vector-based conditional filtering point cloud completion method. Background Technology
[0002] As the level of intelligence in the manufacturing industry continues to improve, how to tap the potential of the vast amounts of data generated throughout the equipment's lifecycle and enhance product design optimization has become a crucial issue. Digital twin technology has emerged as a solution to this problem. By achieving real-time mapping between physical and virtual spaces, digital twin technology can uncover valuable information hidden within the physical space, thereby providing guidance for decision-making and optimization within that space.
[0003] Real-time performance and accuracy are two crucial factors in the mapping from the physical world to the virtual world. Digital twin technology enables transient analysis of equipment, effectively monitoring its status and strengthening management. To achieve transient analysis and prediction, a method of pre-modeling the equipment and performing finite element analysis is used, followed by model reduction and training of a proxy model. To ensure the accuracy of the analysis results, a model with sufficient correspondence to the physical equipment needs to be used in the simulation phase. However, the actual condition of the equipment often differs from the design drawings; using design drawings to build the model leads to errors in the finite element analysis results. Reverse engineering can reconstruct the model from the physical entity, but it primarily relies on point clouds obtained by laser scanners. When the equipment geometry is complex, there are often areas difficult to scan, forming holes in the point cloud, resulting in a lack of local references during the reverse engineering process. Currently, point cloud completion methods mainly use neural networks and deep learning, predicting the point cloud output based on training models with large amounts of data. However, the accuracy of these methods is insufficient for digital twin requirements. Using ideal point cloud pairs obtained by sampling the surface of a model built from design drawings for point cloud completion is more reliable than the above methods.
[0004] After registration, the point clouds from the two sources are aligned. The ideal point cloud located at the hole position of the point cloud acquired by the laser scanner has its neighboring points distributed approximately on a plane, and the distribution of neighboring points tends to be outward from the hole. The ideal point cloud located at the non-hole position has its neighboring points distributed more evenly. Summary of the Invention
[0005] This invention proposes a vector-based conditional filtering point cloud completion method, which specifically includes the following steps:
[0006] S1. Under the premise that the ideal point cloud and the scanned point cloud are registered, a KD Tree is constructed from the point cloud obtained by the laser scanner. Each point in the ideal point cloud performs a neighbor search in the KD Tree to form its own neighborhood set.
[0007] S2. Connect each point in the ideal point cloud with the elements in the corresponding neighborhood set to form their respective vector sets;
[0008] S3. Sum the elements in the vector set and take its magnitude to obtain the reference value of the distribution of the nearest points of the corresponding points in the vector set;
[0009] S4. Obtain the directed bounding boxes of the point clouds in each neighborhood set, and use the maximum surface area of the directed bounding boxes to represent the adaptive parameters of the point cloud density.
[0010] S5. Based on the required point acquisition effect of the ideal point cloud, set the threshold adjustment parameters and obtain the conditional filtering threshold.
[0011] S6. Perform ideal point cloud conditional filtering by comparing the neighboring point distribution reference value with the conditional filtering threshold. If the neighboring point distribution reference value is greater than or equal to the conditional filtering threshold, it is retained; otherwise, it is removed.
[0012] S7. Use filtered point cloud data to complete the point cloud.
[0013] Furthermore, assuming the ideal point cloud and the scanned point cloud are registered, a KD Tree is constructed from the point cloud obtained by the laser scanner. Each point in the ideal point cloud then performs a neighbor search within the KD Tree to form its own neighborhood set. This process specifically includes the following steps:
[0014] S11. Select a coordinate axis and sort the point set according to the value of this coordinate axis;
[0015] S12. Select the median as the split point to divide the point set into two parts, namely the left subtree and the right subtree. The coordinate values of the points in the left subtree are less than or equal to the median, and the coordinate values of the points in the right subtree are greater than the median.
[0016] S13. Recursively execute steps S11 to S12 on the left and right subtrees until there is only one point in each subset, or until the maximum depth is reached.
[0017] S14. Starting from the root node, recursively search the KD Tree downwards. When a leaf node is reached, compare the points in that node with the query point and record the k nearest points.
[0018] S15. Backtrack to the parent node corresponding to the leaf node described in step S14. If the distance between the hyperrectangle of the parent node and the query point is less than the distance between the farthest point in the current nearest neighbor set and the query point, then it is necessary to search the sibling node of the parent node. If the distance between the hyperrectangle of the sibling node and the query point is less than the distance between the farthest point in the current nearest neighbor set and the query point, then continue to search the subtree of the sibling node.
[0019] S16. Repeat step S15 until backtracking to the root node. The final k points are the k points closest to the query point.
[0020] Furthermore, the calculation of the conditional filtering threshold includes:
[0021]
[0022] Where ε represents the conditional filtering threshold, λ is the threshold adjustment parameter, k is the number of neighboring points, and S yi `max` is the adaptive parameter for point cloud density, and its value is... S yi1 S yi2 S yi3 These represent the areas of the three faces of the directed bounding box.
[0023] Furthermore, in an ideal point cloud, the vector set formed by connecting a point to its corresponding neighborhood set is represented as:
[0024]
[0025] in, This represents the set of vectors formed by the i-th point and its neighboring points in an ideal point cloud; This represents the vector formed by the i-th point in the ideal point cloud and its neighboring points, with the vector pointing from the i-th point in the ideal point cloud to its neighboring points; Let represent the neighborhood set of the i-th point in the ideal point cloud.
[0026] Furthermore, the calculation of the reference values for the distribution of neighboring points corresponding to the vector set includes:
[0027]
[0028] in, This represents the reference value for the distribution of neighboring points of the i-th point in the ideal point cloud.
[0029] This invention also proposes a vector-based conditional filtering point cloud completion system to implement a vector-based conditional filtering point cloud completion method. Under the premise that the ideal point cloud and the scanned point cloud have been registered, the system performs point cloud completion using a vector-based conditional filtering point cloud completion system, including:
[0030] The ideal point neighborhood acquisition module is used to construct a K-DTree from the point cloud obtained by the laser scanner scanning device, and to obtain the neighboring points of each point in the ideal point cloud by searching for neighboring points in the KD Tree to form the neighborhood set corresponding to each point.
[0031] The module for obtaining the reference value of the distribution of neighboring points of an ideal point is used to connect each point of the ideal point cloud with the elements in the corresponding neighborhood set to form a vector set of each point. The magnitude of the summation of the elements in the vector set of a point is used as the reference value of the distribution of neighboring points of that point.
[0032] The conditional filter threshold calculation module is used to calculate the conditional filter threshold of a point based on the reference value of the distribution of neighboring points.
[0033] The conditional filtering module is used to compare the reference value of the distribution of neighboring points with the conditional filtering threshold to perform conditional filtering of the ideal point cloud. If the reference value of the distribution of neighboring points is greater than or equal to the conditional filtering threshold, it is retained; otherwise, it is removed.
[0034] The completion module is used to complete point clouds using filtered point cloud data.
[0035] This invention retains points located at the hole positions in the point cloud acquired by the laser scanner through conditional filtering and merges them with the point cloud acquired by the laser scanner. This allows for the acquisition of a complete point cloud with high correspondence to the physical world at a lower cost, which can effectively improve the accuracy of modeling and finite element simulation. Attached Figure Description
[0036] Figure 1 This is a flowchart of the vector-based conditional filtering point cloud completion method in this invention;
[0037] Figure 2 This shows the distribution of non-hole locations and neighboring points of hole locations in the ideal point cloud of this invention. Detailed Implementation
[0038] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0039] This invention proposes a vector-based conditional filtering point cloud completion method, which specifically includes the following steps:
[0040] S1. Under the premise that the ideal point cloud and the scanned point cloud are registered, a KD Tree is constructed from the point cloud obtained by the laser scanner. Each point in the ideal point cloud performs a neighbor search in the KD Tree to form its own neighborhood set.
[0041] S2. Connect each point in the ideal point cloud with the elements in the corresponding neighborhood set to form their respective vector sets;
[0042] S3. Sum the elements in the vector set and take its magnitude to obtain the reference value of the distribution of the nearest points of the corresponding points in the vector set;
[0043] S4. Obtain the directed bounding boxes of the point clouds in each neighborhood set, and use the maximum surface area of the directed bounding boxes to represent the adaptive parameters of the point cloud density.
[0044] S5. Based on the required point acquisition effect of the ideal point cloud, set the threshold adjustment parameters and obtain the conditional filtering threshold.
[0045] S6. Perform ideal point cloud conditional filtering by comparing the neighboring point distribution reference value with the conditional filtering threshold. If the neighboring point distribution reference value is greater than or equal to the conditional filtering threshold, it is retained; otherwise, it is removed.
[0046] S7. Use filtered point cloud data to complete the point cloud.
[0047] In this embodiment, assuming the ideal point cloud and the scanned point cloud are registered, a KD Tree is constructed from the point cloud obtained by the laser scanner. Each point in the ideal point cloud then performs a neighbor search within the KD Tree to form its own neighborhood set. The point cloud obtained by the laser scanner and the ideal point cloud are represented as follows:
[0048] X M×d =(x1,x2,…,x M ) T
[0049] Y N×d =(y1,y2,…,y N ) T
[0050] Among them, X M×d Let x represent the scanned point cloud set. m Y represents the m-th point cloud in the scanned point cloud set, where m ∈ {1, 2, ..., M}, and M is the number of point clouds in the scanned point cloud set; N×d Let y represent the ideal set of point clouds. n This indicates the nth point cloud in the scanned point cloud set, where n∈{1,2,…,N}, N is the number of point clouds in the ideal point cloud set, and d is the point cloud dimension;
[0051] The process of using a KD Tree to search for nearest neighbors and form a neighborhood set is as follows:
[0052] S11. Select a coordinate axis and sort the point set according to the value of this coordinate axis.
[0053] S12. Select the median as the split point to divide the point set into two parts: the left subtree and the right subtree. The coordinates of the points in the left subtree are less than or equal to the median, and the coordinates of the points in the right subtree are greater than the median.
[0054] S13. Recursively perform the above steps on the left and right subtrees until there is only one point in each subset, or until the maximum depth is reached.
[0055] S14. Starting from the root node, recursively search the KD Tree downwards. When a leaf node is reached, compare the points in that node with the query point and record the k nearest points.
[0056] S15. Backtrack to the parent node of the current node. If the distance between the hyperrectangle of the current node and the query point is less than the distance between the farthest point in the current nearest neighbor set and the query point, then the sibling nodes of the current node need to be searched. If the distance between the hyperrectangle of the sibling node and the query point is less than the distance between the farthest point in the current nearest neighbor set and the query point, then the subtree of the sibling node needs to be searched.
[0057] S16. Repeat the above steps until you backtrack to the root node. The final k points are the k points closest to the query point.
[0058] In this invention, a sibling node refers to a node at the same depth as the current node.
[0059] After the above process, the neighborhood set of each ideal point cloud is obtained. The representation of the neighborhood set of each point in the ideal point cloud is as follows:
[0060]
[0061] in, Let x represent the neighborhood set of the i-th point in the ideal point cloud, and let x be the points belonging to the point cloud acquired by the laser scanner. Let k represent the k nearest neighbors of the i-th point in the ideal point cloud.
[0062] By connecting each point in the ideal point cloud to elements in its corresponding neighborhood set, a vector set is formed, which is represented as:
[0063]
[0064] in, Let represent the set of vectors formed by the i-th point and its neighboring points in an ideal point cloud. This represents the vector formed by the i-th point in the ideal point cloud and its neighboring points, with the vector pointing from the i-th point in the ideal point cloud to its neighboring points.
[0065] The process of calculating the reference value of the distribution of neighboring points is expressed as follows:
[0066]
[0067] in, This represents the reference value for the distribution of neighboring points of the i-th point in the ideal point cloud. Indicates to Summing the elements of a set.
[0068] Obtain the directed bounding boxes of the point clouds in each neighborhood set. The adaptive point cloud density parameter is represented by the maximum surface area of the directed bounding box. The adaptive point cloud density parameter is expressed as:
[0069]
[0070] Among them, S yi `max` represents the adaptive parameter for point cloud density, and `max()` indicates taking the maximum value. yi1 S yi2 S yi3 These represent the areas of the three faces of the directed bounding box.
[0071] Based on the required point acquisition effect for the ideal point cloud, threshold adjustment parameters are set and conditional filtering thresholds are obtained. The conditional filtering threshold is expressed as follows:
[0072]
[0073] Where ε represents the conditional filtering threshold, λ is the threshold adjustment parameter, and k is the number of neighboring points.
[0074] Ideal point cloud conditional filtering is performed by comparing the neighboring point distribution reference value with the conditional filtering threshold. If the neighboring point distribution reference value is greater than or equal to the conditional filtering threshold, the point is retained; otherwise, it is removed. The filtering result is as follows:
[0075]
[0076] Where p is a value that satisfies the condition of belonging to the ideal point cloud Y. N×d It also includes points whose neighboring point distribution reference value is greater than or equal to the conditional filtering threshold ε.
[0077] Point cloud completion is performed using filtered point cloud data. The completed point cloud representation is as follows:
[0078] P = {Y' + X} M×d}
[0079] This invention also proposes a vector-based conditional filtering point cloud completion system to implement a vector-based conditional filtering point cloud completion method. Under the premise that the ideal point cloud and the scanned point cloud have been registered, the system performs point cloud completion using a vector-based conditional filtering point cloud completion system, including:
[0080] The ideal point neighborhood acquisition module is used to construct a K-DTree from the point cloud obtained by the laser scanner scanning device, and to obtain the neighboring points of each point in the ideal point cloud by searching for neighboring points in the KD Tree to form the neighborhood set corresponding to each point.
[0081] The module for obtaining the reference value of the distribution of neighboring points of an ideal point is used to connect each point of the ideal point cloud with the elements in the corresponding neighborhood set to form a vector set of each point. The magnitude of the summation of the elements in the vector set of a point is used as the reference value of the distribution of neighboring points of that point.
[0082] The conditional filter threshold calculation module is used to calculate the conditional filter threshold of a point based on the reference value of the distribution of neighboring points.
[0083] The conditional filtering module is used to compare the reference value of the distribution of neighboring points with the conditional filtering threshold to perform conditional filtering of the ideal point cloud. If the reference value of the distribution of neighboring points is greater than or equal to the conditional filtering threshold, it is retained; otherwise, it is removed.
[0084] The completion module is used to complete point clouds using filtered point cloud data.
[0085] Although embodiments of the invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the appended claims and their equivalents.
Claims
1. A vector-based conditional filtering point cloud completion method, characterized in that, Specifically, the following steps are included: S1. Assuming the ideal point cloud and the scanned point cloud are registered, construct a KD Tree from the point cloud obtained by the laser scanner. Each point in the ideal point cloud performs a neighbor search in the KD Tree to form its own neighborhood set. This includes the following steps: S11. Select a coordinate axis and sort the point set according to the value of this coordinate axis; S12. Select the median as the split point to divide the point set into two parts, namely the left subtree and the right subtree. The coordinate values of the points in the left subtree are less than or equal to the median, and the coordinate values of the points in the right subtree are greater than the median. S13. Recursively execute steps S11~S12 on the left and right subtrees until there is only one point in each subset, or until the maximum depth is reached; S14. Starting from the root node, recursively search the KD Tree downwards. When a leaf node is reached, compare the points in that node with the query point and record the k nearest points. S15. Backtrack to the parent node corresponding to the leaf node described in step S14. If the distance between the hyperrectangle of the parent node and the query point is less than the distance between the farthest point in the current nearest neighbor set and the query point, then it is necessary to search the sibling node of the parent node. If the distance between the hyperrectangle of the sibling node and the query point is less than the distance between the farthest point in the current nearest neighbor set and the query point, then continue to search the subtree of the sibling node. S16. Repeat step S15 until the root node is reached. The final k points are the k points closest to the query point. S2. Connect each point in the ideal point cloud with the elements in the corresponding neighborhood set to form their respective vector sets; S3. Sum the elements in the vector set and take its magnitude to obtain the reference value of the distribution of the nearest points of the corresponding points in the vector set; S4. Obtain the directed bounding boxes of the point clouds in each neighborhood set, and use the maximum surface area of the directed bounding boxes to represent the adaptive parameters of the point cloud density. S5. Based on the required point acquisition effect of the ideal point cloud, set the threshold adjustment parameters and obtain the conditional filtering threshold. S6. Ideal point cloud conditional filtering is performed by comparing the neighboring point distribution reference value with the conditional filtering threshold. If the neighboring point distribution reference value is greater than or equal to the conditional filtering threshold, it is retained; otherwise, it is removed. The calculation of the conditional filtering threshold includes: ; in, Indicates the conditional filtering threshold. Here, k is the threshold adjustment parameter, and k is the number of neighboring points. The point cloud density adaptive parameter has a value of , , , These represent the areas of the three faces of the directed bounding box; S7. Use filtered point cloud data to complete the point cloud.
2. The vector-based conditional filtering point cloud completion method according to claim 1, characterized in that, In an ideal point cloud, the vector set formed by connecting a point to its corresponding neighborhood set is represented as: in, Representing the ideal point cloud Each point and its neighbors form a set of vectors; Representing the ideal point cloud The vector formed by the nth point and its neighboring points is derived from the nth point in the ideal point cloud. Each point points to its neighboring point; Representing the ideal point cloud The neighborhood set of each point.
3. The vector-based conditional filtering point cloud completion method according to claim 1, characterized in that, The calculation of the reference value of the distribution of neighboring points of the corresponding point in the vector set includes: in, Representing the ideal point cloud Reference values for the distribution of neighboring points of each point.
4. A vector-based conditional filtering point cloud completion system, characterized in that, To implement the vector-based conditional filtering point cloud completion method of claim 1, under the premise that the ideal point cloud and the scanned point cloud have been registered, a vector-based conditional filtering point cloud completion system is used to complete the point cloud, including: The ideal point neighborhood acquisition module is used to construct a KD Tree from the point cloud obtained by the laser scanner, and to search for neighboring points of each point in the ideal point cloud in the KD Tree to form a neighborhood set corresponding to each point. The module for obtaining the reference value of the distribution of neighboring points of an ideal point is used to connect each point of the ideal point cloud with the elements in the corresponding neighborhood set to form a vector set of each point. The magnitude of the summation of the elements in the vector set of a point is used as the reference value of the distribution of neighboring points of that point. The conditional filter threshold calculation module is used to calculate the conditional filter threshold of a point based on the reference value of the distribution of neighboring points. The conditional filtering module is used to compare the reference value of the distribution of neighboring points with the conditional filtering threshold to perform conditional filtering of the ideal point cloud. If the reference value of the distribution of neighboring points is greater than or equal to the conditional filtering threshold, it is retained; otherwise, it is removed. The completion module is used to complete point clouds using filtered point cloud data.
5. The vector-based conditional filtering point cloud completion system according to claim 4, characterized in that, Assuming the ideal point cloud and the scanned point cloud are registered, a KD Tree is constructed from the point cloud obtained by the laser scanner. Each point in the ideal point cloud then performs a neighbor search within the KD Tree to form its own neighborhood set. This process includes the following steps: S11. Select a coordinate axis and sort the point set according to the value of this coordinate axis; S12. Select the median as the split point to divide the point set into two parts, namely the left subtree and the right subtree. The coordinate values of the points in the left subtree are less than or equal to the median, and the coordinate values of the points in the right subtree are greater than the median. S13. Recursively execute steps S11~S12 on the left and right subtrees until there is only one point in each subset, or until the maximum depth is reached; S14. Starting from the root node, recursively search the KD Tree downwards. When a leaf node is reached, compare the points in that node with the query point and record the k nearest points. S15. Backtrack to the parent node corresponding to the leaf node described in step S14. If the distance between the hyperrectangle of the parent node and the query point is less than the distance between the farthest point in the current nearest neighbor set and the query point, then it is necessary to search the sibling node of the parent node. If the distance between the hyperrectangle of the sibling node and the query point is less than the distance between the farthest point in the current nearest neighbor set and the query point, then continue to search the subtree of the sibling node. S16. Repeat step S15 until backtracking to the root node. The final k points are the k points closest to the query point.
6. The vector-based conditional filtering point cloud completion system according to claim 4, characterized in that, The calculation of the conditional filtering threshold includes: ; in, Indicates the conditional filtering threshold. Here, k is the threshold adjustment parameter, and k is the number of neighboring points. The point cloud density adaptive parameter has a value of , , , These represent the areas of the three faces of the directed bounding box.
7. The vector-based conditional filtering point cloud completion system according to claim 4, characterized in that, In an ideal point cloud, the vector set formed by connecting a point to its corresponding neighborhood set is represented as: in, Representing the ideal point cloud Each point and its neighbors form a set of vectors; Representing the ideal point cloud The vector formed by the nth point and its neighboring points is derived from the nth point in the ideal point cloud. Each point points to its neighboring point; Representing the ideal point cloud The neighborhood set of each point.
8. The vector-based conditional filtering point cloud completion system according to claim 4, characterized in that, The calculation of the reference value of the distribution of neighboring points of the corresponding point in the vector set includes: in, Representing the ideal point cloud Reference values for the distribution of neighboring points of each point.
Citation Information
Patent Citations
Method and apparatus for simplifying point cloud of apple leaf
CN108198244A
Obstacle detection system and method based on depth information
CN110070570A