A 3D sparse point cloud calibration board vertex coordinate fitting method and related equipment

By establishing beam angle indexing and neighborhood growth methods, the problems of slow segmentation speed and poor effect of sparse point cloud are solved, realizing efficient multi-plane segmentation of sparse point clouds and extraction of calibration board vertex coordinates, which can be applied to camera and radar extrinsic parameter calibration, mobile mapping, autonomous driving and other fields.

CN116958158BActive Publication Date: 2026-02-03ZHUOYU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310920499.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-07-25
Publication Date
2026-02-03
Estimated Expiration
2043-07-25

AI Technical Summary

Technical Problem

Existing technologies are slow and ineffective when processing sparse 3D point clouds, especially in unordered sparse point clouds. Traditional multi-plane segmentation methods are inefficient and difficult to effectively extract the vertex coordinates of the 3D calibration board.

Method used

By obtaining the beam angle of the 3D point cloud, a spherical Cartesian coordinate system index is established, candidate seeds are generated and neighborhood growth is performed. Combined with coplanarity test and plane fitting, the calibration plate segmentation plane is selected, and the four sides of the calibration plate are fitted using the Douglas-Puk strategy to calculate the vertex coordinates of the calibration plate.

Benefits of technology

It achieves fast multi-plane segmentation of sparse point clouds, improving segmentation efficiency and accuracy. It can effectively extract the vertex coordinates of the calibration board and is applicable to fields such as camera and radar extrinsic parameter calibration, mobile mapping, and autonomous driving.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116958158B_ABST
    Figure CN116958158B_ABST
Patent Text Reader

Abstract

The application discloses a 3D sparse point cloud calibration board vertex coordinate fitting method and related equipment, and the method comprises the following steps: acquiring a 3D point cloud, obtaining the beam angle of each space point according to the 3D point cloud, and establishing the interval index of the beam angle spherical Cartesian coordinate system of each space point; generating a plurality of candidate seeds according to the 3D point cloud; according to the interval index, performing neighborhood growth on each candidate seed to obtain the plane where each candidate seed is located, and completing multi-plane segmentation; extracting a calibration board segmentation plane from the segmented multi-plane; and fitting the calibration board vertex coordinates according to the point cloud data of the calibration board segmentation plane. The unordered 3D point cloud is structured into a format similar to an image, the space points near the candidate seeds are found according to the pixel coordinate index, the plane segmentation is performed in the manner of neighborhood growth, the calibration board plane is automatically extracted, the four vertex coordinates of the calibration board are fitted, the processing efficiency is higher, and the problem that the processing effect is better in the sparse point cloud is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of measurement technology, and in particular to a method for fitting vertex coordinates of a 3D sparse point cloud calibration plate and related equipment. Background Technology

[0002] Rotating multi-line lidar can accurately obtain 3D coordinate information of the surrounding environment and is widely used in mobile mapping, autonomous driving, and other fields. Multi-plane segmentation is a fundamental task in point cloud data processing because planar features have many applications, such as sensor calibration, real-time localization, and mapping. Especially for camera and lidar extrinsic parameter calibration tasks, calibration board-based methods can easily extract 2D calibration board vertices from images. However, extracting the coordinates of 3D calibration board vertices from sparse 3D point clouds is a difficult task, and multi-plane segmentation is a key step in accomplishing this task.

[0003] Traditional multi-plane segmentation techniques have achieved good results in dense and ordered point cloud data. However, in practical applications, the working mechanism of rotating multi-line radar results in the sparseness of the single-frame point cloud observed. For example, for a typical rotating multi-line radar (Velodyne VLP-32), when its scanning frequency reaches 20 Hz, the average vertical resolution is greater than 1° and the horizontal resolution is about 0.4°. Therefore, it ultimately produces an uneven point cloud distribution, with the horizontal direction being denser than the vertical direction.

[0004] In unordered sparse 3D point clouds, on the one hand, local indexing of unordered 3D point clouds is very time-consuming, resulting in low processing efficiency of traditional methods; on the other hand, traditional multi-plane segmentation methods do not perform well in processing sparse 3D point cloud data. Summary of the Invention

[0005] The purpose of this invention is to provide a method and related equipment for fitting vertex coordinates of a 3D sparse point cloud calibration board, aiming to solve the problems of slow segmentation speed and poor effect of existing technologies for disordered sparse point clouds.

[0006] The technical solution adopted by this invention to solve the technical problem is as follows:

[0007] This invention provides a method for fitting vertex coordinates of a 3D sparse point cloud calibration board, comprising:

[0008] Obtain 3D point cloud, obtain beam angle of each spatial point based on 3D point cloud, and establish interval index of beam angle of each spatial point in spherical Cartesian coordinate system;

[0009] Multiple candidate seeds are generated based on the 3D point cloud;

[0010] Based on the interval index, neighborhood growth is performed on each candidate seed to obtain the plane where each candidate seed is located, thus completing the multi-plane segmentation.

[0011] Optionally, the establishment of the interval index of the beam angle spherical Cartesian coordinate system of each spatial point is specifically achieved by using the ring value of the spatial point itself as the interval index in the vertical direction of the spatial point;

[0012] Calculate the beam angle in the horizontal direction for each spatial point as the interval index in the horizontal direction of the spatial point:

[0013]

[0014] Where, ω start ω is the set starting point. start ω is the angle between adjacent spatial points on the scan line, and ω is the azimuth angle of the spatial point.

[0015] Optionally, the generation of multiple candidate seeds further includes:

[0016] Screening of the seeds to be selected;

[0017] The screening of the seeds to be selected specifically includes:

[0018] The coplanarity test is performed on the selected seeds one by one, and the coplanar selected seeds are filtered out.

[0019] Optionally, the coplanarity test of the candidate seeds, filtering out coplanar candidate seeds, specifically includes:

[0020] Obtain multiple points around the candidate seed under test with a set radius, and perform plane fitting to obtain the fitting plane;

[0021] Calculate the distances between the candidate seeds other than the tested candidate seeds and the fitted plane;

[0022] Among the candidate seeds other than those to be tested, those whose distance from the fitted plane is lower than the set distance threshold are filtered out.

[0023] Optionally, the screening of the seeds to be selected further includes:

[0024] Filter out seeds that are at the NAN point from the candidate seeds.

[0025] Optionally, the extraction of the calibration plate segmentation plane from the segmented multi-planes specifically includes:

[0026] Obtain the prior values ​​of the calibration plate segmentation planes, and compare the similarity between the prior values ​​of the calibration plate segmentation planes and the segmented planes.

[0027] The planes in each segmented plane whose prior value similarity to the calibration board segmentation plane is greater than the similarity threshold are taken as the calibration board segmentation planes.

[0028] Optionally, the step of fitting the calibration board based on the point cloud data of the calibration board segmentation plane specifically includes:

[0029] Extract the point cloud of the left edge point and the point cloud of the right edge point from the point cloud data of the calibration plate segmentation plane;

[0030] Based on the point clouds of the left and right edge points, separate the point clouds of the four edges of the calibration plate;

[0031] The calibration board fitting plane is obtained by computing the point cloud of the edge points, fitting the four sides of the calibration board with the point cloud of the four sides of the calibration board, and obtaining the calibration board data by projecting the fitted four sides onto the calibration board fitting plane.

[0032] Optionally, the step of separating the point clouds of the four edges of the calibration board based on the point clouds of the left edge points and the point clouds of the right edge points specifically involves using the Douglas-Puk strategy to separate the point clouds of the four edges of the calibration board.

[0033] The process of fitting the calibration board to the point cloud based on the edge points specifically involves finding the parameters of the plane equation Ax + By + Cz + D = 0 for the calibration board segmentation plane when the sum of the distances from each edge point to the calibration board segmentation plane is minimized.

[0034]

[0035] In the formula, A, B, C and D are the parameters of the plane equation of the fixed plate dividing the plane, M is a matrix containing the parameters of the plane equation of the fixed plate dividing the plane, M = [A, B, C, D], and P is the homogeneous coordinate of the edge point;

[0036] The process of fitting the four edges of the calibration board based on the point cloud of the calibration board involves first selecting the edge with more edge points from two sets of opposite edges for fitting, and then determining the number of edge points on the edge with fewer edge points from each of the two sets of opposite edges. If the number of edge points is greater than or equal to the fitting threshold, the edge being judged is fitted normally. If the number of edge points is less than the fitting threshold, the slope of the opposite edge of the edge being judged is used as the slope of the edge being judged, and the edge being judged is fitted.

[0037] In addition, to achieve the above objectives, the present invention also provides a terminal, the terminal comprising: a memory, a processor, and a 3D sparse point cloud calibration board vertex coordinate fitting program stored in the memory and executable on the processor, wherein when the 3D sparse point cloud calibration board vertex coordinate fitting program is executed by the processor, the terminal controls the terminal to implement the steps of the 3D sparse point cloud calibration board vertex coordinate fitting method as described above.

[0038] In addition, to achieve the above objectives, the present invention also provides a computer-readable storage medium storing a 3D sparse point cloud calibration board vertex coordinate fitting program, wherein when the 3D sparse point cloud calibration board vertex coordinate fitting program is executed by a processor, the 3D sparse point cloud calibration board vertex coordinate fitting program implements the steps of the 3D sparse point cloud calibration board vertex coordinate fitting method as described above.

[0039] The present invention, by employing the above technical solution, has the following effects:

[0040] This invention obtains the beam angle of each spatial point based on the 3D point cloud, establishes an interval index of the beam angle of each spatial point in a spherical Cartesian coordinate system, and structures the disordered 3D point cloud into an image-like format. It can then find spatial points near the candidate seed based on the pixel coordinate index. On this basis, it realizes planar segmentation of the point cloud through neighborhood growth. Compared with the existing multi-plane segmentation methods for 3D point clouds, this segmentation method not only reduces the time required for indexing, but also has a better segmentation effect. Attached Figure Description

[0041] Figure 1 This is a flowchart of the steps of the 3D sparse point cloud calibration board vertex coordinate fitting method in a preferred embodiment of the present invention;

[0042] Figure 2 This is a schematic diagram of the neighborhood growth in a preferred embodiment of the present invention;

[0043] Figure 3 This is a schematic diagram showing the result of the vertex coordinate fitting method for the 3D sparse point cloud calibration board in a preferred embodiment of the present invention;

[0044] Figure 4 This is a schematic diagram of the calibration plate segmentation plane extracted in a preferred embodiment of the present invention;

[0045] Figure 5 This is a schematic diagram of edge points extracted from the calibration plate segmentation plane in a preferred embodiment of the present invention;

[0046] Figure 6 This is a schematic diagram of the fitted calibration plate edge and four intersection points extracted in a preferred embodiment of the present invention;

[0047] Figure 7 This is a schematic diagram of the operating environment of a preferred embodiment of the terminal of the present invention. Detailed Implementation

[0048] To make the objectives, technical solutions, and advantages of this invention clearer and more explicit, the invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.

[0049] Example 1

[0050] Embodiment 1 of the present invention discloses a method for fitting vertex coordinates of a 3D sparse point cloud calibration board. By analyzing the geometric image model, the sparse point cloud is transformed into an ordered point cloud structure that can be efficiently indexed. Based on this, an improved region seed generation algorithm is used to perform point cloud plane segmentation. This method can quickly achieve multi-plane segmentation of disordered sparse 3D point clouds to obtain the surface planes of various objects detected by radar, so as to extract the vertex coordinates of the 3D calibration board and fit the fixed point coordinates of the calibration board.

[0051] The vertex coordinate fitting method of the 3D sparse point cloud calibration board of the present invention can be applied to the external parameter calibration of cameras and lidar, and can also be applied to mobile mapping backpacks, autonomous driving systems, street view mapping vehicles, virtual reality devices, color 3D scene construction, 3D modeling systems, etc.

[0052] Please see Figure 1 This embodiment of a method for fitting vertex coordinates of a 3D sparse point cloud calibration board includes the following steps:

[0053] S1. Obtain 3D point cloud, obtain the beam angle of each spatial point based on the 3D point cloud, and establish the interval index of the beam angle of each spatial point in the spherical Cartesian coordinate system.

[0054] Specifically, this embodiment uses a rotating multi-line radar (Velodyne VLP-32) with a scanning frequency of 20 Hz as an example. In this embodiment, the average vertical resolution is greater than 1°, and the horizontal resolution is approximately 0.4°. It is worth noting that this embodiment is only used to describe the invention in detail, and this method is applicable to any lidar.

[0055] In this embodiment, in step S1, the point cloud obtained by the lidar is first transformed into a pixel-organization format similar to an image, so that each 3D spatial point P can directly index the information of its neighboring points. The transformation model is similar to a spherical projection model, and point P can be represented by the measured distance R, azimuth angle ω, and zenith angle θ.

[0056]

[0057] Based on the inherent parameters of the lidar, the point cloud can be projected into an image of fixed size N*M. Here, N is the number of lidar scan lines, which is 32 in this embodiment; M is the number of 3D points on each scan line, calculated as 90° based on the angle. Specifically, to obtain the interval index (i,j) of each point in the spherical Cartesian coordinate system, it is necessary to solve for the beam angle (θ,ω) of each point:

[0058]

[0059] Typically, the beam angle in the vertical direction of an unordered sparse point cloud is not uniformly distributed. The index i can be assigned using the ring value of the point cloud itself, ranging from 0 to N-1. However, the beam angle distribution in the horizontal direction is stable and can be solved using the following formula:

[0060]

[0061] In this embodiment, the starting point ω is calculated based on the inherent parameters of the lidar. start The value is ω start =-π. It is worth noting that the point obtained by a scan line is a circle. The starting point can be any value. The value here is for the convenience of calculation. Depending on the actual needs, other values ​​can also be used as the starting point. This invention is not limited to this.

[0062] ω step The beam angle is calculated by dividing the angle of the circle by the number of 3D points on each scan line, i.e., ω is obtained by dividing 360 by 900. step It is 0.4 degrees.

[0063] S2. Generate multiple candidate seeds based on the 3D point cloud.

[0064] Specifically, step S2 includes the following steps:

[0065] S21. Randomly and uniformly generate multiple candidate seeds.

[0066] In this embodiment, specifically based on the point cloud data structure transformed in the previous step, n candidate seeds are randomly and uniformly generated using the RANSAC method.

[0067] Since incorrect seeds can cause noise in planar segmentation, it is crucial to select good region seeds for planar growth algorithms. Therefore, after generating seeds, they need to be screened. In this embodiment, a two-step strategy is used to screen the seeds based on the image size.

[0068] That is, step S21 also includes filtering out NAN points in the candidate seeds, performing a coplanarity test on the remaining candidate seeds, retaining only one of the coplanar candidate seeds, and filtering out the redundant candidate seeds.

[0069] Specifically, since this invention flattens the initial sparse point cloud from a 3D image to a 2D image, the resulting image does not have a value for every pixel, and the resulting image point cloud will contain many NAN points. Therefore, the first step is to filter out all NAN points; the second step is to perform a coplanarity test on the remaining candidate plane seeds, generate planes for each candidate seed in the order of image index, and filter out candidate seeds belonging to the same plane.

[0070] To avoid generating candidate seeds on the same plane, which would lead to the segmentation of duplicate planes, this embodiment uses nine points with a radius of 3 around each candidate seed for initial plane fitting. The plane parameters are represented by S(C,N), where C is the three-dimensional coordinates of any point on the plane, and N is the normal vector of the plane. Next, the candidate seed points p outside the candidate seed in the generated plane are calculated. i Distance d to the plane i :

[0071] d i =|(p i -C)·N|;

[0072] Calculate each candidate seed point p i Distance d to the plane i Then, the distance d i Seed point p less than the distance threshold i In this embodiment, the distance threshold is set to 1.5 times the radar ranging system error of 0.02 meters. When the distance of other seed points is less than the distance threshold, they are filtered out.

[0073] S3. Based on the interval index, perform neighborhood growth on each candidate seed to obtain the plane where each candidate seed is located, thus completing the multi-plane segmentation.

[0074] Specifically, please refer to Figure 2 Once a planar seed is generated, it is grown using an N4 neighborhood growth strategy. The distance difference between the seed point cloud and the surrounding point cloud is compared, and growth stops when the difference exceeds a threshold or when the seed point cloud reaches the NAN region. Figure 2 In the middle, the seed to be selected is located, and the surrounding area is the space for the first step of growth.

[0075] In addition, the depth discontinuity during growth is also calculated:

[0076] γ(p b [j])=||p b [j].dp b [seed].d||;

[0077] In the formula, p b [seed] represents the original 3D point cloud coordinates corresponding to the seed coordinates, p b [j] represents the original 3D point cloud points growing around the seed, γ(p b [j]) indicates that in p b [j] represents the depth discontinuity at point [j], where .d is the distance from that point to the center of the LiDAR sensor. When γ(p b If the value of [j] is greater than the depth discontinuity threshold, then p is determined. b[j] Points are feature points of discontinuous depth in the point cloud, and growth stops. In this embodiment, the threshold value for discontinuous depth is specifically 0.1 meters.

[0078] The generated multi-plane segmentation image is as follows Figure 3 As shown.

[0079] It is worth noting that the 3D sparse point cloud calibration board vertex coordinate fitting method in this embodiment is used in the extraction and fitting of calibration board coordinates. The surface planes of each object detected by radar are obtained through multi-plane segmentation so that the vertex coordinates of the 3D calibration board can be extracted and the fixed point coordinates of the calibration board can be fitted. However, it is only used to explain the present invention and is not intended to limit the present invention. The 3D sparse point cloud calibration board vertex coordinate fitting method of the present invention can also be applied to other occasions that require multi-plane segmentation.

[0080] S4. Extract the calibration plate segmentation plane from the segmented multiplane.

[0081] Specifically, in order to extract the required calibration plate segmentation plane from the segmented multi-plane, the 3D spatial plane is first projected onto the 2D plane along the normal vector direction, and the prior value S of the calibration plate segmentation plane is used. true Similarity can be compared with the segmenting planes. In this embodiment, specifically, the projected area S of each segmenting plane is calculated. i The area of ​​the calibration plate, obtained through prior measurement, is used as the prior value S. true Comparison:

[0082] S board =max{S i / S true};

[0083] Planes with similarity greater than a similarity threshold are extracted to obtain the calibration plate segmentation plane. In this embodiment, the similarity threshold is specifically 95%.

[0084] S5. Fit the calibration board based on the point cloud data of the segmented plane of the calibration board.

[0085] Specifically, in this embodiment, the vertex coordinates of the calibration board are obtained by fitting the point cloud of the calibration board segmentation plane. After the previous processing, we can now obtain the point cloud data of the calibration board segmentation plane, as shown below. Figure 4 As shown, the data still has some noise at this point, but the subsequent fitting algorithm in this embodiment will compensate for it, which includes the following steps:

[0086] S51. Extract the point cloud of the left edge point and the point cloud of the right edge point from the point cloud data of the calibration plate segmentation plane.

[0087] Specifically, please refer to Figure 5In this embodiment, the point cloud of the left and right edge points is extracted based on the azimuth angle of each point cloud in the point cloud data of the calibration plate segmentation plane.

[0088] S52. Based on the point clouds of the left and right edge points, use the Douglas-Peuker strategy to separate the point clouds of the four edges of the calibration board.

[0089] The Douglas-Puk algorithm is a commonly used algorithm for thinning trajectory points. The thinned points can maintain the general outline of the original trajectory points as much as possible, while eliminating some unnecessary points.

[0090] The approach involves drawing a virtual straight line connecting the beginning and end points of each curve, calculating the distances between all points and the line, and then finding the maximum distance value d. max .

[0091] Specifically, in this embodiment, the point clouds of the left edge points and the right edge points are sorted in ascending order according to the pitch angle ω. left ={p min(ω) ,...,p max(ω) Connect the maximum and minimum points of the point cloud of the left edge points in ascending order to obtain the left straight line. Calculate the distances from the remaining left edge points' point clouds to the left straight line, and find the maximum distance value d from all the distances from the left edge points' point clouds to the left straight line. max Maximum distance value d max The points before and after belong to the two edges on the left, respectively.

[0092] Similarly, connect the maximum and minimum points of the point cloud of the right edge points after sorting in ascending order to obtain the right straight line. Calculate the distances from the point clouds of the remaining right edge points to the right straight line, and find the maximum distance value d from the distances from the point clouds of all right edge points to the right straight line. max Maximum distance value d max The points before and after belong to the two edges on the right, respectively.

[0093] S53. Based on the point cloud of the edge points, the calibration board fitting plane is calibrated. Based on the point cloud of the four sides of the calibration board, the four sides of the calibration board are fitted. Based on the projection of the fitted four sides onto the calibration board fitting plane, the calibration board data is obtained.

[0094] In this embodiment, the planar parameters of the calibration board are calibrated using the point cloud of all edge points, that is, the point cloud of all left edge points and the point cloud of all right edge points are used for calculation. However, in other embodiments, a portion of the point cloud may be selected for calculation according to computing power or actual needs. This invention is not limited to this.

[0095] Specifically, before formal fitting, it is necessary to calculate the plane equation Ax + By + Cz + D = 0 for the calibration plate segmentation plane. In this embodiment, the minimum sum of distances from each edge point to the calibration plate segmentation plane is obtained:

[0096]

[0097] Where ABCD are the parameters M = [A,B,C,D] of the calibration plate dividing plane equation, and P are the homogeneous coordinates [x,y,z,0] of the edge point. The reason for homogenization is that M is a 4-dimensional vector. In order to simplify the formula, point P is homogenized so that vector multiplication is valid.

[0098] Next, the point cloud of the four sides of the calibration plate needs to be fitted to fit the four sides of the calibration plate. Since the selected calibration plate has parallel opposite sides and the distribution of the point cloud of the four sides is uneven, theoretically, more edge points can fit a more accurate straight line result. Therefore, the side with more edge points is selected from the two sets of opposite sides and fitted first to obtain the equation y-(kx+b) of these two sides:

[0099]

[0100] In this embodiment, the edge with more edge points in the two sets of opposite edges specifically refers to... Figure 5 The second and fourth sides of the array.

[0101] After fitting, for the edge with fewer edge points in the two sets of opposite edges, a fitting threshold ψ is set, and the edge with fewer edge points in the two sets of opposite edges is judged separately. If the number of edge points of the edge is less than the fitting threshold ψ, the slope value k corresponding to the edge is directly assigned as the slope value k of the edge, and the parameter value b of the edge is calculated by fitting.

[0102]

[0103] If the number of edge points on the edge exceeds the fitting threshold ψ, then the edge is fitted normally.

[0104]

[0105] After fitting, the equations of the four sides are obtained, the intersection points of the four sides are calculated, and the intersection points are projected onto the fitting plane of the calibration plate to finally obtain the spatial coordinates of the intersection points of the four calibration plates.

[0106] In this embodiment, the intersection of the four sides is obtained as follows: Figure 6 As shown, Figure 6 The points highlighted in the middle are the intersections of the four sides obtained in this embodiment. The final spatial coordinates of the four calibration plates obtained by projection are shown in Table 1.

[0107] Table 1

[0108] X(m) Y(m) Z(m) Left vertex 3.5161 -0.460948 0.0117829 lower vertex 3.31957 -0.882389 -0.361382 Right vertex 3.10748 -1.32386 0.248109 Top vertex 3.30559 -0.899021 0.624285

[0109] Example 2

[0110] Please see Figure 7 Based on the above method, the present invention also provides a terminal, the terminal comprising: a memory 10, a processor 20, and a 3D sparse point cloud calibration board vertex coordinate fitting program stored in the memory 10 and executable on the processor 20, wherein when the 3D sparse point cloud calibration board vertex coordinate fitting program is executed by the processor 20, the terminal controls the terminal to implement the steps of the 3D sparse point cloud calibration board vertex coordinate fitting method as described above.

[0111] In some embodiments, the memory 20 may be an internal storage unit of the terminal, such as a hard disk or memory. In other embodiments, the memory 20 may be an external storage device of the terminal, such as a plug-in hard disk, smart media card (SMC), secure digital card (SD), flash card, etc. Further, the memory 20 may include both internal and external storage devices. The memory 20 is used to store application software and various types of data installed on the terminal, such as the program code installed on the terminal. The memory 20 can also be used to temporarily store data that has been output or will be output. In one embodiment, the memory 20 stores a 3D sparse point cloud calibration board vertex coordinate fitting program 40, which can be executed by the processor 10 to implement the 3D sparse point cloud calibration board vertex coordinate fitting method of this application.

[0112] In some embodiments, the processor 10 may be a central processing unit (CPU), a microprocessor, or other data processing chip, used to run program code stored in the memory 20 or process data, such as executing the 3D sparse point cloud calibration board vertex coordinate fitting method.

[0113] Example 3

[0114] This embodiment provides a storage medium, characterized in that the computer-readable storage medium stores a 3D sparse point cloud calibration board vertex coordinate fitting program, and when the 3D sparse point cloud calibration board vertex coordinate fitting program is executed by a processor, it implements the steps of the 3D sparse point cloud calibration board vertex coordinate fitting method as described above.

[0115] In summary, this invention obtains the beam angle of each spatial point based on the 3D point cloud, establishes an interval index of the beam angle in a spherical Cartesian coordinate system for each spatial point, and structures the disordered 3D point cloud into an image-like format. It can then search for spatial points near the candidate seed based on the pixel coordinate index. On this basis, it achieves planar segmentation of the point cloud through neighborhood growing. Compared with existing multi-plane segmentation methods for 3D point clouds, this segmentation method not only reduces the indexing time but also achieves better segmentation results. Planar normal projection is used for calibration board plane recognition, and finally, the coordinates of the four vertices of the calibration board are calculated based on the Douglas-Puk strategy.

[0116] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or terminal. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or terminal that includes that element.

[0117] Of course, those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware (such as a processor, controller, etc.). The program can be stored in a computer-readable storage medium, and when executed, it can include the processes described in the above method embodiments. The storage medium can be a memory, magnetic disk, optical disk, etc.

[0118] It should be understood that the application of the present invention is not limited to the examples above. Those skilled in the art can make improvements or modifications based on the above description, and all such improvements and modifications should fall within the protection scope of the appended claims.

Claims

1. A method for fitting vertex coordinates of a 3D sparse point cloud calibration board, characterized in that, include: Obtain 3D point cloud, obtain beam angle of each spatial point based on 3D point cloud, and establish interval index of beam angle of each spatial point in spherical Cartesian coordinate system; Multiple candidate seeds are generated based on the 3D point cloud; Based on the interval index, neighborhood growth is performed on each candidate seed to obtain the plane where each candidate seed is located, thus completing the multi-plane segmentation; Extract the calibration plate segmentation plane from the segmented multi-plane; The coordinates of the vertices of the calibration board are fitted based on the point cloud data of the segmented plane of the calibration board; The establishment of the interval index of the beam angle spherical Cartesian coordinate system for each spatial point specifically uses the ring value of the spatial point itself as the interval index in the vertical direction of the spatial point. Calculate the beam angle in the horizontal direction for each spatial point as the interval index in the horizontal direction of the spatial point: Where, ω start ω is the set starting point. start ω is the angle between adjacent spatial points on the scan line, and ω is the azimuth angle of the spatial point.

2. The method for fitting vertex coordinates of a 3D sparse point cloud calibration board according to claim 1, characterized in that, The process of generating multiple candidate seeds then includes: Screening of the seeds to be selected; The screening of the seeds to be selected specifically includes: The coplanarity test is performed on the selected seeds one by one, and the coplanar selected seeds are filtered out.

3. The method for fitting vertex coordinates of a 3D sparse point cloud calibration board according to claim 2, characterized in that, The coplanarity test for the seeds to be selected, and the filtering out of coplanar seeds, specifically includes: Obtain multiple points around the candidate seed under test with a set radius, and perform plane fitting to obtain the fitting plane; Calculate the distances between the candidate seeds other than the tested candidate seeds and the fitted plane; Among the candidate seeds other than those to be tested, those whose distance from the fitted plane is lower than the set distance threshold are filtered out.

4. The method for fitting vertex coordinates of a 3D sparse point cloud calibration board according to claim 2, characterized in that, The screening of the seeds to be selected also includes: Filter out seeds that are at the NAN point from the candidate seeds.

5. The method for fitting vertex coordinates of a 3D sparse point cloud calibration board according to claim 4, characterized in that, The extraction of the calibration plate segmentation plane from the segmented multi-planes specifically includes: Obtain the prior values ​​of the calibration plate segmentation planes, and compare the similarity between the prior values ​​of the calibration plate segmentation planes and the segmented planes. The planes in each segmented plane whose prior value similarity to the calibration board segmentation plane is greater than the similarity threshold are taken as the calibration board segmentation planes.

6. The method for fitting vertex coordinates of a 3D sparse point cloud calibration board according to claim 4, characterized in that, The coordinates of the vertices of the calibration board are fitted based on the point cloud data of the segmented plane of the calibration board, specifically including: Extract the point cloud of the left edge point and the point cloud of the right edge point from the point cloud data of the calibration plate segmentation plane; Based on the point clouds of the left and right edge points, separate the point clouds of the four edges of the calibration plate; The calibration board fitting plane is obtained by computing the point cloud of the edge points, fitting the four sides of the calibration board with the point cloud of the four sides of the calibration board, and obtaining the calibration board data by projecting the fitted four sides onto the calibration board fitting plane.

7. The method for fitting vertex coordinates of a 3D sparse point cloud calibration board according to claim 6, characterized in that, The point clouds of the four edges of the calibration board are separated based on the point clouds of the left edge points and the point clouds of the right edge points. Specifically, the Douglas-Puk strategy is used to separate the point clouds of the four edges of the calibration board. The process of fitting the calibration board to the point cloud based on the edge points specifically involves finding the parameters of the plane equation Ax + By + Cz + D = 0 for the calibration board segmentation plane when the sum of the distances from each edge point to the calibration board segmentation plane is minimized. In the formula, A, B, C and D are the parameters of the plane equation of the fixed plate dividing the plane, M is a matrix containing the parameters of the plane equation of the fixed plate dividing the plane, M = [A, B, C, D], and P is the homogeneous coordinate of the edge point; The process of fitting the four edges of the calibration board based on the point cloud of the calibration board involves first selecting the edge with more edge points from two sets of opposite edges for fitting, and then determining the number of edge points on the edge with fewer edge points from each of the two sets of opposite edges. If the number of edge points is greater than or equal to the fitting threshold, the edge being judged is fitted normally. If the number of edge points is less than the fitting threshold, the slope of the opposite edge of the edge being judged is used as the slope of the edge being judged, and the edge being judged is fitted.

8. A terminal, characterized in that, The terminal includes: a memory, a processor, and a 3D sparse point cloud calibration board vertex coordinate fitting program stored in the memory and executable on the processor. When the 3D sparse point cloud calibration board vertex coordinate fitting program is executed by the processor, the terminal controls the implementation of the steps of the 3D sparse point cloud calibration board vertex coordinate fitting method as described in any one of claims 1-7.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a 3D sparse point cloud calibration board vertex coordinate fitting program, which, when executed by a processor, implements the steps of the 3D sparse point cloud calibration board vertex coordinate fitting method as described in any one of claims 1-7.

Citation Information

Patent Citations

  • Sparse point cloud segmentation method and device

    CN110264416A

  • Ground point cloud segmentation method based on polar coordinate grid and plane fitting

    CN113870337A