Geometric edge extraction method of continuous surface
By using the normal component map and depth difference calculation based on structured light point cloud sensor, combined with the region growing algorithm, the problem of not being able to extract the internal geometric edges of continuous surfaces in the existing technology is solved, realizing accurate edge extraction of complex parts such as automotive body-in-white, and improving the accuracy of 3D reconstruction and feature recognition.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-05
- Publication Date
- 2026-03-10
AI Technical Summary
Existing point cloud edge extraction techniques cannot effectively detect internal geometric edges on the same continuous surface, such as the edges and ridges on the stamped body panels of an automobile, leading to a decrease in the accuracy of 3D reconstruction and feature recognition.
Based on point cloud data acquired by structured light point cloud sensors, the geometric edges of a continuous surface are extracted by calculating the normal vector component map and performing Gaussian filtering, using the angle between the normal vectors and the depth difference, combined with a region growing algorithm.
It enables accurate extraction of features with minimal depth variation on the same continuous surface, improves the completeness and accuracy of edge extraction, shortens processing time, and significantly improves the processing efficiency of point cloud data.
Smart Images

Figure CN121639725A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of three-dimensional point cloud feature extraction, and more specifically to a method for extracting the geometric edges of a continuous surface. Background Technology
[0002] In recent years, with the rapid development of 3D scanning and sensing technologies, point cloud data, as a quantitative description of the three-dimensional geometric information of the physical world, has been widely used in the automotive manufacturing field. The geometric features contained in point clouds, especially edge features, are of vital importance for analyzing the structure of objects, performing accurate registration, segmentation, and recognition. Edge features can generally be divided into two categories: one is boundary edges, which describe the depth discontinuity of the outer contour of an object or the intersection of different objects; the other is surface geometric edges, which reflect the abrupt changes in the geometric shape of the object's own surface (such as edges and ridges).
[0003] Existing point cloud edge extraction techniques can only detect boundary edges where depth changes are caused by occlusion or the intersection of different objects (e.g., Figure 1 , Figure 3 As shown, this algorithm is ineffective for internal geometric edges existing on the same continuous surface. For example, in the inspection of automotive body-in-white, the design ridges (feature ridges) formed by stamping on the door panels, side panels, and other covering parts are at almost the same depth as the main curved surface, causing depth difference-based algorithms to fail to accurately identify them. Similarly, on the surfaces of complex components such as engine blocks, the geometric intersections that mark different mounting surfaces or reinforcing ribs are often missed due to a lack of depth discontinuity. These internal geometric edges are crucial for the complete and accurate reconstruction of the three-dimensional geometry of an object; their absence directly leads to a decrease in the accuracy of subsequent processing (such as point cloud registration, 3D reconstruction, and feature recognition). Summary of the Invention
[0004] To address the aforementioned technical problems, this invention provides a method for extracting the geometric edges of a continuous surface, which can extract the edges of features with minimal depth variation on the same continuous surface, such as ridges and edges on stamped cover parts.
[0005] A method for extracting the geometric edges of a continuous surface, based on point cloud data of the continuous surface acquired by a structured light point cloud sensor, wherein the point cloud data includes the three-dimensional coordinates, normal vectors, and pixel coordinates of each point in the depth map; the method includes the following steps:
[0006] 1) Based on the normal vector of each point and its pixel coordinates in the depth map, map the x, y, and z components of the normal vector of each point to its corresponding pixel position to generate the corresponding normal vector component map N. x N y N z ;
[0007] 2) For the normal vector component map N respectively x N y N z Perform Gaussian filtering to obtain the filtered normal vector component map. , , ;
[0008] 3) For each pixel, based on the filtered normal vector component map , , Calculate the angle between it and the normal vectors of its eight neighboring points; then calculate the average of these angles. If the average value Points with an angle greater than a preset threshold for the included normal vector are marked as potential geometric edge points.
[0009] 4) Traverse all potential geometric edge points marked in step 3). If the average angle of the neighboring points in the direction of the largest angle is greater than that point, remove the potential geometric edge point; otherwise, keep it. Mark it as edge point set A.
[0010] 5) Determine the starting point in the edge point set A. If there are other edge points in its eight neighborhood and the Euclidean distance between them is less than the clustering threshold, then... If they are found, they belong to the same edge cluster. If they do not exist, other edge points are searched within a 5×5 area. If an edge point exists within this area and it is located in the direction with the smallest included angle, it is connected. This process is repeated to grow the region recursively and form multiple edge clusters.
[0011] 6) Count the total number of pixels contained in the edge clusters obtained in step 5), remove the edge clusters with a total number of pixels lower than the preset minimum length threshold, and finally retain all the pixels in the edge clusters as geometric edge points. These points are connected to form the geometric edges of the continuous surface.
[0012] Further, in step 2), obtain the filtered normal vector component map. , , The method is as follows:
[0013] ;
[0014] ;
[0015] ;
[0016] in This represents the Gaussian kernel function; (u,v) represents the pixel coordinates of a given pixel in the depth map. , , These represent the normal vector components of point (u,v) and its eight neighboring points in the x, y, and z directions, respectively.
[0017] Furthermore, in step 3), the angle between a single pixel and the normal vectors of its eight neighboring pixels is calculated using the following formula:
[0018]
[0019] in, The normal vector of pixel P ( , , );
[0020] Let P be the normal vector of the j-th eight neighboring points. , , ), j=1, 2……8;
[0021] This represents the angle between the normal vectors of the j-th eight-neighbor point and pixel P;
[0022] The L2 norm represents the normal vector.
[0023] Furthermore, in step 3), the preset range of the normal vector angle threshold is: .
[0024] Furthermore, the clustering threshold in step 5) ;in The average point spacing of the original point cloud.
[0025] Going further, The method for obtaining the data is as follows: Randomly sample from the original point cloud. One point, Each point is mapped to its eight neighbors using a depth map to obtain the distance to the nearest point. a = 1, 2...m, take the average value, which is the average point spacing of the original point cloud. .
[0026] Furthermore, the minimum length threshold in step 6) has a range of values of [value missing]. The specific value should be adjusted based on the actual edge extraction effect.
[0027] Furthermore, it also includes the following steps:
[0028] ① Construct an eight-neighbor lookup table based on the image width W of the depth map:
[0029] ;
[0030] ② Traverse the point cloud, for each pixel P in the point cloud i Find its eight-neighbor neighbor P using a lookup table. j The depth difference z is calculated using the following formula. ij ;
[0031] ;
[0032] ;
[0033] Representing pixel P i The z-axis component; Representing pixel P i Neighbor P j The z-axis component;
[0034] ③ Determine the depth difference z ij Is the depth difference threshold d greater than the current pixel P? i The point is a boundary point.
[0035] In step ②, Based on the lookup table constructed in step ①, we can see that:
[0036]
[0037] Furthermore, the depth difference threshold d = 0.02 × P i (z); Depth difference threshold Based on pixel P i The depth value is adaptively adjusted.
[0038] This method for extracting geometric edges of continuous surfaces is based on pixel normal vector changes, enabling edge extraction of features with minimal depth variations on the same continuous surface, such as edges and ridges on stamped sheet metal parts. By combining depth difference variations, it achieves integrated and accurate extraction of point cloud boundaries and internal geometric edges, significantly improving the completeness and accuracy of edge extraction. Furthermore, this method utilizes the ordered nature of point clouds, reducing the extraction time by more than half compared to traditional edge extraction methods that rely on building KD trees. Attached Figure Description
[0039] Figure 1 This image illustrates the results of existing methods for extracting the geometric edges of continuous surfaces based on point clouds.
[0040] Figure 2 This invention provides a specific embodiment for the same Figure 1 The image shows the extraction results of the geometric edges of the continuous surface of the workpiece.
[0041] Figure 3This is a display image showing the results of obtaining the workpiece boundary edge using traditional methods based on point clouds;
[0042] Figure 4 In another specific implementation, the method is applied to the same Figure 3 The result of extracting the boundary edges of the workpiece is shown in the figure. Detailed Implementation
[0043] The technical solution of the present invention will be described in detail below with reference to the accompanying drawings and embodiments.
[0044] A method for extracting the geometric edges of a continuous surface is provided, based on point cloud data of the continuous surface acquired by a structured light point cloud sensor. The point cloud data includes the three-dimensional coordinates, normal vectors, and pixel coordinates of each point in the depth map. The method includes the following steps:
[0045] 1) Based on the normal vector of each point and its pixel coordinates in the depth map, map the x, y, and z components of the normal vector of each point to its corresponding pixel position to generate the corresponding normal vector component map N. x N y N z ;
[0046] 2) For the normal vector component graph N respectively x N y N z Perform Gaussian filtering to obtain the filtered normal vector component map. , , ;
[0047] Step 2) Obtain the filtered normal vector component map , , The method is as follows:
[0048] ;
[0049] ;
[0050] ;
[0051] in This represents the Gaussian kernel function; (u,v) represents the pixel coordinates of a given pixel in the depth map. , , These represent the normal vector components of point (u,v) and its eight neighboring points in the x, y, and z directions, respectively.
[0052] 3) For each pixel, based on the filtered normal vector component map , , Calculate the angle between it and the normal vectors of its eight neighboring points; then calculate the average of these angles. If the average value Points with an angle greater than a preset threshold for the included normal vector are marked as potential geometric edge points.
[0053] This step uses the following formula to calculate the angle between a single pixel and the normal vectors of its eight neighboring pixels:
[0054]
[0055] in, The normal vector of pixel P ( , , );
[0056] Let P be the normal vector of the j-th eight neighboring points. , , ), j=1, 2……8;
[0057] This represents the angle between the normal vectors of the j-th eight-neighbor point and pixel P;
[0058] The L2 norm represents the normal vector.
[0059] To extract suitable edge points, the preset threshold value for the angle between the normal vectors is set to a range of [value missing]. .
[0060] 4) Traverse all potential geometric edge points marked in step 3). If the average angle of the neighboring points in the direction of the largest angle is greater than that point, remove the potential geometric edge point; otherwise, keep it. Mark it as edge point set A.
[0061] 5) Determine the starting point in the edge point set A. If there are other edge points in its eight neighborhood and the Euclidean distance between them is less than the clustering threshold, then... If any edge points are found, they are grouped into the same edge cluster. If none are found, other edge points are searched within a 5×5 area. If an edge point exists within this area and is located in the direction of the smallest included angle, it is connected. This process is repeated recursively to grow the region and form multiple edge clusters. The clustering threshold is... ;in The average point spacing of the original point cloud.
[0062] Specifically, The method for obtaining the data is as follows: Randomly sample from the original point cloud. One point, Each point is mapped to its eight neighbors using a depth map to obtain the distance to the nearest point. a = 1, 2...m, take the average value, which is the average point spacing of the original point cloud. .
[0063] 6) Count the total number of pixels contained in the edge clusters obtained in step 5), remove edge clusters with a total number of pixels lower than a preset minimum length threshold, and the remaining edge clusters contain all pixels that are the geometric edge points. These points are connected to form the geometric edges of a continuous surface. The detection results of the above method are as follows: Figure 2 As shown.
[0064] To select suitable edge clusters, the minimum length threshold range is [value range missing]. The specific value should be adjusted based on the actual edge extraction effect.
[0065] In another specific embodiment of the present invention, after completing the above steps and extracting the edges of features with little depth variation on the same continuous surface, the following steps are performed:
[0066] ① Construct an eight-neighbor lookup table based on the image width W of the depth map:
[0067] ;
[0068] ② Traverse the point cloud, for each pixel P in the point cloud i Find its eight-neighbor neighbor P using a lookup table. j The depth difference z is calculated using the following formula. ij ;
[0069] ;
[0070] ;
[0071] Representing pixel P i The z-axis component; Representing pixel P i Neighbor P j The z-axis component;
[0072] ③ Determine the depth difference z ij Is the depth difference threshold d greater than the current pixel P? i The point is a boundary point.
[0073] The depth difference threshold d can be set to a fixed value according to the actual situation, or it can be based on pixel P. i The depth value is adaptively adjusted; in actual implementation, d = 0.02 × P. i (z).
[0074] By combining depth difference thresholding to extract point cloud boundary edge points, a unified and accurate extraction of point cloud boundaries and internal geometric edges is achieved. The extraction results are as follows: Figure 4 As shown.
[0075] The foregoing description of specific exemplary embodiments of the present invention is for illustrative and descriptive purposes. It is not intended to be exhaustive, nor to limit the invention to the precise forms disclosed; obviously, many changes and variations are possible in accordance with the foregoing teachings. The exemplary embodiments were chosen and described to explain the specific principles of the invention and its practical application, thereby enabling others skilled in the art to implement and utilize various exemplary embodiments of the invention, as well as their different alternatives and modifications. The scope of the invention is intended to be defined by the appended claims and their equivalents.
Claims
1. A method for extracting geometric edges of a continuous surface based on point cloud data of the continuous surface acquired by a structured light point cloud sensor, the point cloud data comprising three-dimensional coordinates, a normal vector of each point and a pixel coordinate of each point in a depth map; characterized in that Comprising the following steps: 1) Based on the normal vector of each point and its pixel coordinates in the depth map, map the x, y, z components of each point normal vector to its corresponding pixel location to generate the corresponding normal component maps N x , N y , N z ; 2) Gaussian filtering is performed on the normal vector component maps N x , y , z , respectively, to obtain filtered normal vector component maps N , , ; 3) for each pixel, based on the filtered normal vector component map , , , compute the angle of each pixel with the normal vector of each of the eight neighboring pixels; then, compute the average of these angles ; If the average value If the angle between the preset normal vector is greater than a preset threshold, mark it as a potential geometric edge point; 4) Traverse all the potential geometric edge points marked in step 3), if the average value of the included angle of the neighborhood points in the maximum direction of the included angle is greater than the point, the potential geometric edge point is removed, otherwise it is retained; Marked as edge point set A; 5) Determine the starting point in the edge point set A, if there exists other edge point in its eight-neighborhood and the Euclidean distance between them is less than the clustering threshold then it belongs to the same edge cluster, if not, then further search for other edge point in the range of 5x5, if there exists edge point in the range and the point is in the direction of the minimum angle, then connect them, recursively grow the region to form multiple edge clusters; 6) Count the total number of pixel points contained in the edge cluster obtained in step 5), remove the edge cluster whose total pixel number is lower than the preset minimum length threshold, and finally all the pixel points in the remaining edge cluster are the geometric edge points.
2. The method of claim 1, wherein the geometric edge extraction of the continuous surface is performed by using a Canny operator. Step 2) Obtain filtered normal vector component map , , The method is as follows: ; ; ; wherein denotes a Gaussian kernel function; (u, v) represents the pixel coordinate of a certain pixel point in the depth map; , , respectively represent the normal vector component values of (u, v) and its eight neighborhood points in x, y, z directions.
3. The method of claim 2, wherein the geometric edge extraction of the continuous surface is performed by using a Canny operator. Step 3) calculates the included angle between a single pixel point and the normal vector of each adjacent point in the eight neighborhood using the following formula: ; wherein, is a normal vector of the pixel point P , , ); normal vector of the jth octonion point of the pixel point P , , ), j = 1, 2 … 8; represents the angle between the normal vector of the jth octant point and the pixel point P; The L2 norm represents the normal vector.
4. The method of claim 1, wherein: The preset method vector included angle threshold value in step 3) is in the range of .
5. The method of claim 1, wherein: Clustering threshold in step 5 ; wherein is the average inter-point distance of the original point cloud.
6. The method of claim 4, wherein: The acquisition method is as follows: randomly sampling points in the original point cloud, The distance of the nearest point is obtained in its eight-neighborhood via depth map mapping , a = 1, 2 …… m, and the average value is the average point spacing of the original point cloud .
7. The method of claim 1, wherein: The minimum length threshold in step 6) ranges from .
8. The method for extracting the geometric edges of a continuous surface as described in claim 1, characterized in that... Further comprising the following steps: ① Construct a lookup table for eight neighborhoods from the image width W of the depth map: ; ② Traverse the point cloud, for the pixel point P in the point cloud i Find its eight neighboring points P in the neighborhood through the lookup table j Calculate the depth difference z of P using the following formula ij ; ; ; z-component of the representative pixel point P i z-component of the representative pixel point P z-component of the representative pixel point P i z-component of the representative pixel point P j z-component of the representative pixel point P ③ judge the depth difference z ij whether greater than the depth difference threshold d, if greater than, the current pixel point P i is a boundary point.
9. The geometric edge extraction method of the continuous surface according to claim 7, characterized in that: Depth difference threshold d = 0.02 x P i (z).