Over-range spherical point cloud stitching method and system based on symmetry axis
Through the over-range spherical point cloud spherical method based on the axis of symmetry, the cross-section dot set is divided using the characteristics of the similar angle between the normal vector and the horizontal plane and fit the center of the circle to determine the axis of symmetry. Combined with the improved iterative nearest point ICP algorithm, the problem that traditional spherical algorithms are easily trapped in local optimal solutions in spherical point cloud processing is solved, and efficient and accurate spherical point cloud spherical is achieved.
Patent Information
- Application Number
- CN202510281917.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-11
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2045-03-11
AI Technical Summary
Traditional point cloud splicing algorithms are prone to fall into local optimal solutions when processing spherical point clouds, resulting in incorrect splicing and taking time.
The over-range spherical point cloud spherical method based on the axis of symmetry is adopted, and the three-dimensional point cloud of spherical concave surface profile is collected through spectral confocal sensors and three-axis mobile platform. The cross-section dot set is divided using the characteristics of the angle between the normal vector and the horizontal plane, the cross-section circle center is fitted to determine the axis of symmetry, and the rough sphering is completed, and the improved iterative close-point ICP algorithm is used for fine sphering.
It realizes efficient splicing of spherical concave point clouds, reduces calculation amount and time-consuming, improves splicing accuracy, and avoids the problem of incorrectly matching feature points.
Smart Images

Figure CN119784588B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of point cloud splicing, and in particular to a method and system for splicing an over-range spherical point cloud based on a symmetry axis. Background Art
[0002] Point cloud is one of the basic units of three-dimensional space. It is composed of a large number of discrete points and can be used to represent the surface information of three-dimensional objects, scenes or environments, and provide a description of the geometric structure and spatial layout of objects in the real world. In recent years, with the development of computer vision, point cloud has been widely used in CAD / CAM technology, autonomous driving, and precision parts measurement due to its advantages such as easy acquisition, simple structure, and strong expressiveness. Based on demand considerations, point cloud processing technology is divided into point cloud segmentation, point cloud splicing, point cloud compression, etc. As one of the most important studies, point cloud splicing aims to map multiple point cloud data into the same coordinate system through the optimal transformation matrix, and align the point cloud data of the same object from different perspectives.
[0003] When using a spectral confocal sensor with a three-axis mobile platform to obtain the surface contour point cloud of a spherical depression, if the height difference of the object surface is too large, the spectral confocal sensor cannot sense the wavelength of the focus of the object surface, and thus cannot obtain point cloud information in some areas, multiple scans can be performed to restore the complete three-dimensional model of the measured spherical surface using the point cloud stitching method. Traditional point cloud stitching algorithms, such as RANSAC, try to find the optimal transformation matrix through multiple iterations, which is not only time-consuming, but also for spherical point clouds with unclear features, the algorithm is prone to fall into local optimal solutions, resulting in incorrect stitching. Summary of the invention
[0004] The main purpose of the present invention is to provide a simple and efficient over-range spherical point cloud stitching method and system based on the axis of symmetry.
[0005] The technical solution adopted by the present invention is:
[0006] A method for stitching an over-range spherical point cloud based on a symmetry axis is provided, comprising the following steps:
[0007] S1. Use the spectral confocal sensor with a three-axis mobile platform to adjust the range and collect the three-dimensional point cloud of the spherical concave surface contour in batches to obtain two parts of point cloud data to be spliced;
[0008] S2, select appropriate neighboring points of any point in the two parts of the point cloud to fit the local plane, calculate the normal vector of the local plane as the normal vector of the point, then calculate the angle between the normal vector and the horizontal plane, and divide all points with similar angle values into a point set of the same cross-section circle;
[0009] S3, determining the centers of multiple circles with different cross-sections, fitting the centers of multiple circle point sets with different cross-sections into line segments and using them as the point cloud symmetry axes; aligning the point cloud symmetry axes of the two parts of the spherical point clouds in parallel to complete rough splicing;
[0010] S4. Use the improved iterative closest point ICP algorithm to finely stitch the spherical point cloud after rough stitching. The improved iterative closest point ICP algorithm specifically uses the radius of the cross-sectional circle to determine the overlapping area, then matches the point cloud in the overlapping area, iterates to obtain the final transformation matrix, and completes the fine stitching.
[0011] Following the above technical solution, in the process of calculating the normal vector in step S2, for the selected point, the radius neighborhood range is narrowed based on the edge angle constraint to determine the neighborhood points, so that most of the neighborhood points are located in the same plane.
[0012] Following the above technical solution, in step S3, the rough stitching is specifically as follows: move the two point cloud symmetry axes to make them parallel and end to end, and perform the same operation on the two parts of the spherical point cloud following the point cloud symmetry axes to complete the rough stitching of the point cloud.
[0013] Following the above technical solution, the process of determining the overlapping area in step S4 is: perform a main view projection on the point cloud after rough alignment, extract the points on the edge curve, calculate the distance from these points to the symmetry axis of the point cloud, obtain the distance range of the two parts of the spherical point cloud, and find the intersection of the two distance ranges. The point cloud area corresponding to the intersection is the overlapping area.
[0014] Following the above technical solution, in the fine stitching process of step S4, when searching for corresponding points, for two overlapping areas aligned up and down, a point set of a cross-sectional circle with the same radius in one of the overlapping areas is selected as the corresponding point search area, and the nearest point of any point in one of the overlapping areas in the point set of the cross-sectional circle with the same radius in the other overlapping area is used as the corresponding point. At the same time, in order to verify whether the selected point is the correct corresponding point, two pairs of corresponding points are selected to determine whether the lines connecting the corresponding points are parallel. If not, the points are removed and reselected. A certain number of corresponding points are selected in each pair of point sets to calculate the transformation matrix and minimize the objective function error. After multiple iterations, the final transformation matrix is obtained to complete the fine stitching of the point cloud.
[0015] The present invention also provides an over-range spherical point cloud stitching system based on a symmetry axis, comprising:
[0016] Point cloud acquisition module, used to use the spectral confocal sensor with a three-axis mobile platform, adjust the range to collect the three-dimensional point cloud of the spherical concave surface contour in batches, and obtain two parts of spherical point cloud data to be spliced;
[0017] The normal vector calculation module is used to select appropriate neighboring points of any point in the two parts of the point cloud to fit the local plane, calculate the normal vector of the local plane as the normal vector of the point, and then calculate the angle between the normal vector and the horizontal plane, and divide all points with similar angle values into the point set of the same cross-section circle;
[0018] A rough stitching module is used to determine the centers of multiple circles with different cross-sections, fit the centers of multiple point sets of circles with different cross-sections into line segments and use them as the symmetry axes of the point clouds; align the point cloud symmetry axes of two parts of the spherical point clouds in parallel to complete the rough stitching;
[0019] The fine stitching module is used to use the improved iterative closest point ICP algorithm to fine stitch the spherical point cloud after rough stitching. The improved iterative closest point ICP algorithm specifically uses the radius of the cross-sectional circle to determine the overlapping area, then matches the point cloud in the overlapping area, iterates to obtain the final transformation matrix, and completes the fine stitching.
[0020] Following the above technical solution, the normal vector calculation module is also used to reduce the radius neighborhood range of the selected point based on the edge angle constraint during the normal vector calculation process, so that most of the neighborhood points are located in the same plane.
[0021] Following the above technical solution, the rough stitching module is specifically used to move the two point cloud symmetry axes to make them parallel and connected end to end, and perform the same operation on the two parts of the spherical point cloud following the point cloud symmetry axes to complete the rough stitching of the point cloud.
[0022] Following the above technical solution, when determining the overlapping area, the fine stitching module is specifically used to perform a main view projection on the point cloud after rough alignment, extract the points on the edge curve, calculate the distance from these points to the symmetry axis of the point cloud, obtain the distance range of the two parts of the spherical point cloud, and find the intersection of the two distance ranges. The point cloud area corresponding to the intersection is the overlapping area.
[0023] The present invention also provides a computer storage medium, which stores a computer program that can be executed by a processor, and the computer program executes the over-range spherical point cloud stitching method based on the symmetry axis described in the above technical solution.
[0024] The present invention also provides a computer storage medium, which stores a computer program that can be executed by a processor, and the computer program executes the over-range spherical point cloud stitching method based on the symmetry axis described in the above technical solution.
[0025] The beneficial effects of the present invention are as follows: the present invention can effectively solve the acquisition problem of out-of-range objects by the spectral confocal sensor, and utilize the characteristic that the angle between the normal vector of the point cloud and the XOY plane (i.e., the horizontal plane) is close and can be classified as the same cross-sectional point set to determine multiple cross-sectional circles, and solve the centers of the multiple cross-sectional circles, and determine the symmetry axis by fitting the centers of the cross-sectional circles, and complete the rough splicing by aligning the symmetry axis. At the same time, the overlapping area can also be determined according to the radius of the cross-sectional circle, so as to reduce the amount of calculation for subsequent fine splicing, and the time consumption is short and the precision is high, and the problem of incorrect matching of feature points will not occur, so the splicing of spherical concave point clouds can be better completed.
[0026] Furthermore, when calculating the normal vector, for any point in the point cloud, the fixed radius neighbor point selection strategy is improved, and the radius neighborhood range is reduced based on the edge angle constraint, so that most of the neighborhood points are located in the same plane, and fewer and more accurate points are used to fit the local plane, thereby improving the fitting efficiency. The obtained fitting plane is closer to the real data point, and the estimated normal vector is more accurate.
[0027] Furthermore, during precise matching, corresponding points are only found in the same cross-sectional point sets of the two point clouds, which reduces the probability of mismatched point pairs and improves the stitching accuracy. The size parameter information of the final spherical concave complete point cloud is more accurate.
[0028] Furthermore, the first step of the existing ICP algorithm is to search for corresponding points between two point clouds to calculate the transformation matrix. Generally, the points of the two point clouds with the closest distance in space are calculated as corresponding points. However, for two point clouds in overlapping areas, the initial positions obtained by connecting the axis of symmetry make the two point clouds aligned in space, and it is not suitable to use the strategy of the closest distance to search for corresponding points. The present invention improves the ICP algorithm and chooses to search for corresponding points using the condition that the distance between the corresponding points and the axis of symmetry is equal, so that precise matching can be completed more effectively.
[0029] Of course, any product implementing the present invention does not necessarily need to achieve all of the advantages described above at the same time. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0031] Figure 1 It is a flowchart of a method for stitching an over-range spherical point cloud based on a symmetry axis according to an embodiment of the present invention;
[0032] Figure 2 The point cloud image of two spherical depressions to be spliced collected by the sensor according to the embodiment of the present invention (the upper part is a side projection image, and the lower part is a top projection image);
[0033] Figure 3 Point cloud images of different cross-sectional point sets of two parts of point cloud data to be spliced in an embodiment of the present invention (the upper part is a side projection image, and the lower part is a top projection image);
[0034] Figure 4 A point cloud image of the center of a cross-section circle of two parts of point cloud data to be spliced in an embodiment of the present invention;
[0035] Figure 5 This is a rough splicing effect diagram using the symmetry axis in an embodiment of the present invention;
[0036] Figure 6 A point cloud image of the overlapping area of two point clouds in an embodiment of the present invention;
[0037] Figure 7 This is a point cloud effect diagram of fine stitching using the improved ICP algorithm according to an embodiment of the present invention. DETAILED DESCRIPTION
[0038] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.
[0039] It should be noted that the illustrations provided in the embodiments of the present invention are only used to illustrate the basic concept of the present invention in a schematic manner. Therefore, the drawings only show components related to the present invention rather than being drawn according to the number, shape and size of components in actual implementation. In actual implementation, the type, quantity and proportion of each component may be changed arbitrarily, and the component layout type may also be more complicated.
[0040] In the present invention, it is also necessary to explain that, if the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inner", "outer", etc. appear, the orientation or position relationship indicated is based on the orientation or position relationship shown in the drawings, which is only for the convenience of describing the present application and simplifying the description, and does not indicate or imply 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 application. In addition, if the terms "first" and "second" appear, they are only used for description and distinction purposes, and cannot be understood as indicating or implying relative importance.
[0041] In addition, it should be noted that the features of the various embodiments of the present invention may be combined or combined in part or in whole, and may interact and operate in different ways as will be appreciated by those skilled in the art. Each embodiment may be implemented independently of one another, or in an associated relationship.
[0042] Example 1
[0043] like Figure 1 As shown, the over-range spherical point cloud stitching method based on the symmetry axis according to the embodiment of the present invention comprises the following steps:
[0044] S1. Use a spectral confocal sensor with a three-axis mobile platform to adjust the range and collect the three-dimensional point cloud of the spherical concave surface contour in batches to obtain two parts of the spherical point cloud to be spliced;
[0045] S2, select appropriate neighboring points of any point in the two parts of the point cloud to fit the local plane, calculate the normal vector of the local plane as the normal vector of the point, then calculate the angle between the normal vector and the horizontal plane, and divide all points with similar angle values into a point set of the same cross-section circle;
[0046] S3, determining the centers of multiple circles with different cross-sections, fitting the centers of the point sets of multiple circles with different cross-sections into line segments with starting points, and using them as point cloud symmetry axes; aligning the point cloud symmetry axes of the two parts of the spherical point clouds to complete rough splicing;
[0047] S4. Use the improved iterative closest point ICP algorithm to finely stitch the spherical point cloud after rough stitching. The improved iterative closest point ICP algorithm specifically uses the radius of the cross-sectional circle to determine the overlapping area, then matches the point cloud in the overlapping area, iterates to obtain the final transformation matrix, and completes the fine stitching.
[0048] Preferably, when calculating the normal vector in step S2 (the normal vector of the point cloud is similar to the normal vector of the local plane), the fixed radius neighbor point selection strategy can be improved. For the selected point, the radius neighborhood range can be narrowed based on the edge angle constraint to determine the neighborhood point, so that most of the neighborhood points are located in the same plane, and fewer and more accurate points are used to fit the local plane, thereby improving the fitting efficiency. For example, for the selected point P, the initial radius r and the initial point cloud S are determined, and the point set E located on the radius edge is found according to the distance between the neighboring points and point P. Select any edge point E1 in the edge point set E, traverse all other edge points in the point set E, find the point E2 farthest from point E1, and calculate the angle between the vector formed by the edge points E1 and E2 and the selected point P. , the calculated angle The angle threshold with the preset th For comparison. < th , it means that there are many points in the point set S within the current radius range r that are not in the same plane, and the radius range needs to be reduced. and th The difference in the value determines the reduction radius , get the new radius , determine the new point set S , , repeat the above edge point processing and angle calculation steps. th , then stop the radius reduction operation, and the point set S , It is considered that most of the points are in the same plane and are suitable for local plane fitting. The local plane fitting is performed using the final determined set of neighboring points to calculate the point cloud normal vector.
[0049] In step S3, when the angle between the normal vectors of two points on the same cross-sectional circle is the largest, the line connecting the two points is the diameter of the cross-sectional circle. The assumed center of the circle is determined based on the intersection of the two lines. Since multiple lines may intersect at different points, the average value of these intersection points is calculated, and the precise center of the cross-sectional circle is fitted based on the distance between the average value and the assumed center of the circle.
[0050] Specifically, in a preferred embodiment of the present invention, the center of the fitted cross-sectional circle is specifically: the normal vectors of the points in the point set of the same cross-sectional circle extend and intersect at the same point, and the point and any two points on the circle form an isosceles triangle. When the angle between the two sides is the largest, the corresponding line segment is the assumed diameter of the cross-sectional circle. A point A is randomly selected from the cross-sectional circle point set, and the point B where the angle between the normal vector of the point in the cross-sectional circle point set and the normal vector of point A is the largest is calculated, and the line connecting the two points A and B is used as the diameter of the cross-sectional circle. . Use the same method to find another line segment , the two line segments intersect at the same point ,Compare The angle and line segment corresponding to the line segment Verify the points by checking whether the corresponding angles are similar and whether the line segments are proportional. Is it the center of the cross-section circle? If the angle difference is too large or the line segment ratio does not match, re-select the point for calculation. If the angle is close and the line segment ratio matches, Assuming the center of the circle, we need to continue to verify the accuracy of the center of the circle for the entire cross-section point set; find the third line segment , ideally, , , They should intersect at the same point, but due to the error in acquisition, May be with , Intersect the two new points, traverse the remaining points in the cross-section circle point set, find the 4th, 5th, ... line segments that meet the angle conditions and line segment ratio conditions, and find out where they intersect with the line segment , The intersection points of the circle are calculated, the average value of these intersection points is calculated, and the distance between the assumed center of the circle and the point corresponding to the average value is calculated. Use the same method as above to find the assumed center of the circle , And the corresponding distance , , the distance is normalized and used as a weight coefficient to fit the final precise center of the circle.
[0051] Furthermore, in step S3, the rough stitching is specifically: moving the two point cloud symmetry axes to make them parallel and end to end, and performing the same operation on the two spherical point clouds following the point cloud symmetry axes to complete the rough stitching of the point clouds. By aligning the symmetry axes, a good initial posture is provided for the subsequent fine alignment.
[0052] This embodiment specifically uses the characteristics that the angles between the point cloud normal vector and the XOY plane are close and can be classified as the same cross-section circle point set, and the characteristic that the maximum angle between the normal vectors of two points on the same cross-section circle corresponds to the diameter of the cross-section circle, to solve the centers of multiple cross-section circles. The symmetry axis is determined by fitting the center of the cross-section circle, and the rough splicing is completed by aligning the symmetry axis. At the same time, the overlapping area can also be determined according to the radius of the cross-section circle, which reduces the amount of calculation for subsequent fine splicing, is time-saving, has high precision, does not cause the problem of incorrectly matching feature points, and can better complete the splicing of spherical concave point clouds.
[0053] The process of determining the overlapping area in step S4 is as follows: perform a main view projection on the point cloud after rough alignment, extract the points on the edge curve, calculate the distances from these points to the symmetry axis of the point cloud, obtain the distance ranges of the two parts of the spherical point cloud, and find the intersection of the two distance ranges. The point cloud area corresponding to the intersection is the overlapping area. By determining the overlapping area, the search range of corresponding points in the fine alignment is reduced, the amount of calculation is reduced, and the accuracy is improved.
[0054] The first step of the existing ICP algorithm is to search for corresponding points between two point clouds to calculate the transformation matrix. Generally, the points of the two point clouds with the closest distance in space are calculated as corresponding points. However, for two point clouds in the overlapping area, the initial position obtained by connecting the symmetry axis makes the two point clouds in the vertical alignment in space. It is not suitable to use the strategy of the closest distance to search for corresponding points. The present invention improves the ICP algorithm and selects the condition of equal distance from the corresponding point to the symmetry axis to search for corresponding points, which can more effectively complete the precise matching. Specifically, in the precise splicing process of step S4, when searching for corresponding points, select a point set with the same radius cross-section circle, assuming and is a set of cross-section points with the same radius in the overlapping area. Choose any one of them. The point with the smallest distance from this point is taken as the corresponding point. At the same time, in order to verify whether the selected point is the correct corresponding point, Select any two points that have been determined as corresponding points , ,exist Find the two corresponding points in , , determine the line segment and Are they parallel? If not, remove them and reselect points. In each pair of points, select a certain number of corresponding points to calculate the transformation matrix and minimize the objective function error. After multiple iterations, the final transformation matrix is obtained to complete the precise stitching of the point cloud.
[0055] This embodiment can effectively solve the problem of spectral confocal sensor collecting out-of-range objects. It uses the characteristic that the angle between the point cloud normal vector and the XOY plane (i.e., the horizontal plane) is close and can be classified as the same cross-sectional point set to determine multiple cross-sectional circles and solve the centers of multiple cross-sectional circles. The axis of symmetry is determined by fitting the centers of the cross-sectional circles, and rough stitching is completed by aligning the axis of symmetry. At the same time, the overlapping area can also be determined according to the radius of the cross-sectional circle, which reduces the amount of calculation for subsequent fine stitching. It is time-saving and accurate, and there will be no problem of incorrectly matching feature points. It can better complete the stitching of spherical concave point clouds.
[0056] Example 2
[0057] This embodiment is based on the steps of Embodiment 1 and provides specific solutions for steps S1-S4, so as to better achieve the purpose of the present invention.
[0058] Specifically, step S1 includes: using a spectral confocal sensor and a three-axis mobile platform to obtain contour information of the object surface, setting the x- and y-axis step sizes of the mobile platform and the starting point of the acquisition area, adjusting the sensor range by moving the z-axis up and down, and collecting data in the rectangular area specified by the starting point in a bow shape. In view of the large height difference on the surface of the object, which causes the sensor to be unable to sense the wavelength of the focus of the object surface in some areas and thus unable to obtain point cloud information, the range is adjusted, the collection is performed in batches, and then the point cloud is spliced. After setting the x- and y-axis moving step sizes and acquisition parameters, the machine is started to obtain the two spherical point clouds P and Q to be spliced. The acquisition method determines that the collected point cloud is a rectangular area when viewed from a top-down direction. The collected point cloud plane is removed, and filtering preprocessing is performed to obtain the point cloud as shown in FIG. Figure 2 shown.
[0059] Specifically, step S2 includes:
[0060] S21: When estimating the point cloud normal vector, the fixed radius neighbor point selection strategy is improved. The radius is dynamically reduced by using the angle constraint between the radius edge point and the selected point, so that the points within the radius range maintain plane consistency, which is used to fit the local plane and calculate the normal vector.
[0061] S22: Improved normal vector estimation method, the obtained fitting plane is closer to the real data points. This improved method is simple and efficient, and improves the robustness of normal vector estimation.
[0062] S23: For the selected point P, determine the initial radius r and the initial point set S, and find the point set E on the edge of the radius based on the distance between the neighboring points and point P. Select any edge point E1 in the edge point set E, traverse all other edge points in the point set E, find the point E2 farthest from point E1, and calculate the angle between the vectors formed by edge points E1, E2 and the selected point P. , the calculated angle The angle threshold with the preset th For comparison. < th , it means that there are many points in the point set S within the current radius range r that are not in the same plane, and the radius range needs to be reduced. and th The difference in the radius of the reduction is determined by , the formula is as follows:
[0063]
[0064] in Indicates the radius difference that needs to be reduced. Edge angle threshold, Represents the vector angle formed by the selected edge points E1, E2 and the selected point P, represents the initial radius;
[0065] Get the new radius , determine the new point set S , , repeat the above edge point processing and angle calculation steps. th , then stop the radius reduction operation, and the point set S , It is considered to be a point set where most of the points are located in the same plane and is suitable for local plane fitting.
[0066] Use the new neighborhood point set S , The points in complete the local plane fitting of point P based on the least squares principle, and the normal vector of the plane is the normal vector of point P.
[0067] S24: For points on the same cross-sectional circle, the direction of their normal vectors is close to the angle between the XOY plane (i.e., the horizontal plane). The angle values are statistically analyzed and divided into different cross-sectional point sets. Points with the same or similar angles are filled into the different sets. The point cloud of the cross-sectional point set is shown in the figure below. Figure 3 As shown, different cross-sectional circles are represented by different colors.
[0068] Furthermore, step S3 of the present invention comprises:
[0069] S31: The normal vectors of points on the same cross-section circle extend and intersect at the same point Q. Randomly select a point A in the cross-section circle point set, and calculate the point B where the angle between the normal vector of the point in the cross-section circle point set and the normal vector of point A is the largest. The line connecting points A and B is the diameter of the cross-section circle. Because AQB is an isosceles triangle, when point A is fixed, as point A The line segment is getting longer, and ∠AQB is also getting larger. When the line segment is the longest, that is, when it is equal to the diameter of the cross-section circle, ∠AQB is the largest. Use the same method to find another line segment. , compared to a point ,Compare The angle and line segment corresponding to the line segment Verify the points by checking whether the corresponding angles are similar and whether the line segments are proportional. Whether it is the center of the cross-section circle, the formula is as follows:
[0070]
[0071] in , , , Respectively represent the distance from point B, C, D, E to the center of the cross-section circle, is the ratio threshold, which is generally a minimum value, and its size is related to the accuracy of the center of the circle;
[0072] If the angle difference is too large or the line segment ratio is inconsistent, re-select the point for calculation. If the angle is close and the line segment ratio is consistent, Assuming the center of the circle, it is necessary to continue to verify the accuracy of the center of the circle for the entire cross-section point set.
[0073] S32: According to the steps of S31, find the third line segment , ideally, , , Should be handed over However, due to the error in acquisition, Will make peace , Intersect with the new two points and calculate the two points to , traverse the remaining points in the cross-section point set, find the 4th, 5th, ... line segments, and find out their distance from the line segment , The intersection points of the circle are calculated, the average value of these intersection points is calculated, and the distance between the assumed center of the circle and the point corresponding to the average value is calculated. , the formula is as follows:
[0074]
[0075] In the formula Indicates the assumed center The coordinate value of Represents the coordinate value of the point corresponding to the average value, where , , , m represents the line connecting two points and the line segment , The number of intersections, Indicates the coordinate value of the intersection point.
[0076] Distance Assuming the center A criterion for accuracy is to use the same method as above to find the assumed center of the circle , And the corresponding distance , The smaller the distance, the closer the assumed center is to the exact center. , , , according to the size of the distance, the final center O is fitted, the formula is as follows:
[0077]
[0078] in , Indicates the distance between the assumed center of the circle and the point corresponding to the mean value , The larger the mean, the smaller it is after exponential processing; ( , , )、( , , )、( , , ) represent the assumed center of the circle , , The coordinate value of ( , , ) represents the final cross-section circle fitting center;
[0079] S33: Use the above steps to calculate the center of the cross-section point set, and use the center to fit two line segments As the symmetry axis of the two point clouds, move the line segment so that Parallel and connected end to end, the two parts of the spherical concave point cloud P and Q collected follow the line segment Perform the same operation to complete the rough stitching of the point cloud. Figure 4 The figure shows the point cloud of the center of the cross-section circle. The red dot represents the calculated center of the cross-section circle. Figure 5 shown.
[0080] Further, step S4 of the present invention comprises:
[0081] S41: The symmetry axis connection has provided a good initial pose for the ICP algorithm. Now it is necessary to determine the overlapping area to reduce the search range of corresponding points in the ICP algorithm, reduce the amount of calculation, and improve the accuracy. Determine the overlapping area of the two point clouds according to the radius of the cross-section circle;
[0082] S42: Perform a main view projection on the point cloud, extract the points on the edge curve, calculate the distances from these points to the symmetry axis, and obtain the distance range of the point cloud P [ ], and the distance range of point cloud Q is obtained [ ], find the intersection of two distance ranges , the point cloud area corresponding to the same distance is the overlapping area , , the overlapping area point cloud is as follows Figure 6 As shown;
[0083] S43: Generally speaking, the first step of the ICP algorithm is to search for corresponding points between two point clouds to calculate the transformation matrix. Generally, the points in the space closest to the two point clouds are considered corresponding points. However, for the overlapping area of the two point clouds, , For example, the initial position obtained by connecting the symmetry axes makes , In the spatial position, the two points are aligned vertically, and it is not appropriate to use the strategy of the closest distance to search for corresponding points. Instead, the corresponding points are searched using the condition that the distances from the corresponding points to the axis of symmetry are equal.
[0084] S44: When searching for corresponding points, for the overlapping areas aligned up and down, you can select the cross-sectional point set with the same radius in the overlapping area as the corresponding point search area, and take any point in the overlapping area as the corresponding point in the cross-sectional point set with the same radius in the other overlapping area. At the same time, in order to verify whether the selected point is the correct corresponding point, select two pairs of corresponding points, and determine whether the connecting lines of the corresponding points are parallel. If not, remove and reselect the points. In each pair of points, select a certain number of corresponding points to calculate the transformation matrix, minimize the error of the objective function, and iterate multiple times to obtain the final transformation matrix, so that the error is minimized, and the precise stitching of the point cloud is completed. The final stitching effect is as follows: Figure 7 shown.
[0085] Example 3
[0086] This embodiment is an over-range spherical point cloud stitching system based on a symmetry axis, mainly for the purpose of implementing the above method embodiment. The system:
[0087] Point cloud acquisition module, used to use the spectral confocal sensor with a three-axis mobile platform, adjust the range to collect the three-dimensional point cloud of the spherical concave surface contour in batches, and obtain two parts of the spherical point cloud to be spliced;
[0088] The normal vector calculation module is used to select appropriate neighboring points of any point in the two parts of the point cloud to fit the local plane, calculate the normal vector of the local plane as the normal vector of the point, and then calculate the angle between the normal vector and the horizontal plane, and divide all points with similar angle values into the point set of the same cross-section circle;
[0089] A rough stitching module is used to determine the centers of multiple circles with different cross-sections, and use the center fitting line segments of the point sets of multiple circles with different cross-sections as the point cloud symmetry axis; align the point cloud symmetry axes of two parts of the spherical point cloud in parallel to complete the rough stitching;
[0090] The fine stitching module is used to use the improved iterative closest point ICP algorithm to fine stitch the spherical point cloud after rough stitching. The improved iterative closest point ICP algorithm specifically uses the radius of the cross-sectional circle to determine the overlapping area, then matches the point cloud in the overlapping area, iterates to obtain the final transformation matrix, and completes the fine stitching.
[0091] Specifically, the normal vector calculation module is also used to narrow the radius neighborhood range of the selected point based on the edge angle constraint to determine the neighborhood points during the calculation of the point cloud normal vector, so that most of the neighborhood points are located in the same plane, and fewer and more accurate points are used to fit the local plane, thereby improving the fitting efficiency.
[0092] Specifically, the rough stitching module is used to move two point cloud symmetry axes to make them parallel and end-to-end connected, and perform the same operation on the two parts of the spherical point cloud following the point cloud symmetry axes to complete the rough stitching of the point cloud.
[0093] Specifically, when determining the overlapping area, the fine stitching module is used to perform a main view projection on the point cloud after rough alignment, extract the points on the edge curve, calculate the distance from these points to the symmetry axis of the point cloud, obtain the distance range of the two parts of the spherical point cloud, and find the intersection of the two distance ranges. The point cloud area corresponding to the intersection is the overlapping area.
[0094] Each module is mainly used to implement each step of the above method embodiment, which will not be described one by one here.
[0095] Example 4
[0096] The present invention also provides a computer-readable storage medium, such as a flash memory, a hard disk, a multimedia card, a card-type memory (for example, an SD or DX memory, etc.), a random access memory (RAM), a static random access memory (SRAM), a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), a programmable read-only memory (PROM), a magnetic memory, a disk, an optical disk, a server, an App application store, etc., on which a computer program is stored, and the program realizes corresponding functions when executed by a processor. When the computer-readable storage medium of this embodiment is executed by a processor, the method embodiment realizes the over-range spherical point cloud stitching method based on the symmetry axis.
[0097] It should be pointed out that, according to the needs of implementation, the various steps / components described in this application can be split into more steps / components, and two or more steps / components or partial operations of steps / components can be combined into new steps / components to achieve the purpose of the present invention.
[0098] The order of execution of each step in the above embodiment does not mean the order of execution. The order of execution of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiment of the present application.
[0099] It should be understood that those skilled in the art can make improvements or changes based on the above description, and all these improvements and changes should fall within the scope of protection of the appended claims of the present invention.
Claims
1. A method for stitching super-range spherical point clouds based on symmetry axis, characterized in that: The following steps are involved: S1. Use the spectral confocal sensor with a three-axis mobile platform to adjust the range and collect the three-dimensional point cloud of the spherical concave surface contour in batches to obtain two parts of point cloud data to be spliced; S2, select appropriate neighboring points of any point in the two parts of the point cloud to fit the local plane, calculate the normal vector of the local plane as the normal vector of the point, then calculate the angle between the normal vector and the horizontal plane, and divide all points with similar angle values into a point set of the same cross-section circle; S3, determining the centers of multiple circles with different cross-sections, fitting the centers of multiple circle point sets with different cross-sections into line segments and using them as the point cloud symmetry axes; aligning the point cloud symmetry axes of the two parts of the spherical point clouds in parallel to complete rough splicing; S4. Use the improved iterative closest point ICP algorithm to finely stitch the spherical point cloud after rough stitching. The improved iterative closest point ICP algorithm specifically uses the radius of the cross-sectional circle to determine the overlapping area, then matches the point cloud in the overlapping area, iterates to obtain the final transformation matrix, and completes the fine stitching.
2. The method for stitching super-range spherical point clouds based on symmetry axis according to claim 1, characterized in that: In the process of calculating the normal vector in step S2, for the selected point, the radius neighborhood range is narrowed based on the edge angle constraint to determine the neighborhood point.
3. The method for stitching super-range spherical point clouds based on symmetry axis according to claim 1, characterized in that: In step S3, the rough stitching is specifically as follows: moving the two point cloud symmetry axes to make them parallel and end-to-end connected, and performing the same operation on the two parts of the spherical point cloud following the point cloud symmetry axes to complete the rough stitching of the point cloud.
4. The method for stitching super-range spherical point clouds based on symmetry axis according to claim 1, characterized in that: The process of determining the overlapping area in step S4 is as follows: perform a main view projection on the point cloud after rough alignment, extract the points on the edge curve, calculate the distance from these points to the symmetry axis of the point cloud, obtain the distance range of the two parts of the spherical point cloud, and find the intersection of the two distance ranges. The point cloud area corresponding to the intersection is the overlapping area.
5. The method for stitching super-range spherical point clouds based on symmetry axis according to claim 1, characterized in that: During the fine stitching process of step S4, when searching for corresponding points, for two overlapping areas aligned up and down, a point set of a cross-sectional circle with the same radius in one of the overlapping areas is selected as the corresponding point search area, and the nearest point of any point in one of the overlapping areas in the point set of the cross-sectional circle with the same radius in the other overlapping area is used as the corresponding point. At the same time, in order to verify whether the selected point is the correct corresponding point, two pairs of corresponding points are selected to determine whether the lines connecting the corresponding points are parallel. If not, the points are removed and reselected. A certain number of corresponding points are selected in each pair of point sets to calculate the transformation matrix and minimize the objective function error. After multiple iterations, the final transformation matrix is obtained to complete the fine stitching of the point cloud.
6. An over-range spherical point cloud stitching system based on a symmetry axis, characterized in that: include: Point cloud acquisition module, used to use the spectral confocal sensor with a three-axis mobile platform, adjust the range to collect the three-dimensional point cloud of the spherical concave surface contour in batches, and obtain two parts of spherical point cloud data to be spliced; The normal vector calculation module is used to select appropriate neighboring points of any point in the two parts of the point cloud to fit the local plane, calculate the normal vector of the local plane as the normal vector of the point, and then calculate the angle between the normal vector and the horizontal plane, and divide all points with similar angle values into the point set of the same cross-section circle; A rough stitching module is used to determine the centers of multiple circles with different cross-sections, fit the centers of multiple point sets of circles with different cross-sections into line segments and use them as the symmetry axes of the point clouds; align the point cloud symmetry axes of two parts of the spherical point clouds in parallel to complete the rough stitching; The fine stitching module is used to use the improved iterative closest point ICP algorithm to fine stitch the spherical point cloud after rough stitching. The improved iterative closest point ICP algorithm specifically uses the radius of the cross-sectional circle to determine the overlapping area, then matches the point cloud in the overlapping area, iterates to obtain the final transformation matrix, and completes the fine stitching.
7. The symmetry axis-based over-range spherical point cloud stitching system according to claim 6, characterized in that: The normal vector calculation module is also used to narrow the radius neighborhood range of the selected point based on the edge angle constraint to determine the neighborhood point during the normal vector calculation process.
8. The symmetry axis-based over-range spherical point cloud stitching system according to claim 6, characterized in that: The rough stitching module is specifically used to move two point cloud symmetry axes to make them parallel and connected end to end, and to perform the same operation on the two parts of the spherical point cloud following the point cloud symmetry axes to complete the rough stitching of the point cloud.
9. The symmetry axis-based over-range spherical point cloud stitching system according to claim 6, characterized in that: When determining the overlapping area, the fine stitching module is specifically used to perform a main view projection on the point cloud after rough alignment, extract the points on the edge curve, calculate the distance from these points to the symmetry axis of the point cloud, obtain the distance range of the two parts of the spherical point cloud, and find the intersection of the two distance ranges. The point cloud area corresponding to the intersection is the overlapping area.
10. A computer storage medium, characterized in that: A computer program executable by a processor is stored therein, and the computer program executes the super-range spherical point cloud stitching method based on the symmetry axis as described in any one of claims 1-5.
Citation Information
Patent Citations
Three-dimensional point cloud splicing method based on standard ball rack
CN113269673A
Multi-scale closing error checking and splicing method for ground three-dimensional point cloud
CN113506376A