Sawtooth plate calibrated by multiple 3D line laser cameras and application thereof
By designing a sawtooth plate for calibrating the extrinsic parameters of multiple 3D line laser cameras, and utilizing the coding rules and line fitting algorithm on the sawtooth plate, the problem of needing auxiliary tools in traditional calibration methods is solved, and efficient and accurate calibration of multiple 3D line laser cameras is achieved.
Patent Information
- Application Number
- CN202311806569.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-26
- Publication Date
- 2025-12-26
AI Technical Summary
In existing technologies, the calibration of multi-3D line laser cameras requires auxiliary measurement tools such as coordinate measuring arms, and traditional sawtooth plates cannot determine uniqueness, resulting in low calibration efficiency.
Design a sawtooth plate for extrinsic calibration of a multi-3D line laser camera. It has four rows of sawtooths and three coplanar but non-collinear marking points. Each sawtooth is a prism structure. The tooth height encoding rule is that any three consecutive rows of sawtooths are different from each other. A two-dimensional encoding matrix is generated through encoding, and the transformation matrix is calculated by combining linear fitting and least squares method.
It enables efficient calibration of multiple 3D line laser cameras without the need for a 3D coordinate measuring arm, improving calibration accuracy and efficiency, and is suitable for large field-of-view multi-camera systems.
Smart Images

Figure CN121213670A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of stereo vision technology and provides a calibration sawtooth plate for a multi-camera system and its application. Background Technology
[0002] With the development of stereo vision, multi-camera systems composed of multiple 3D line laser cameras arranged side by side or in a ring are widely used in 3D measurement and inspection. The prerequisite for the application of multi-camera systems is to complete the calibration of the multi-camera system, and the calibration accuracy is the guarantee for the stable operation of the system.
[0003] The calibration of 3D line laser cameras, compared to the calibration of global 3D cameras, firstly requires ensuring the perpendicularity between the laser measurement surface and the direction of motion. Secondly, it requires ensuring that the marker points in the calibration system are not collinear and that the marker points have distinct features within the contour. Traditional calibration methods require at least one auxiliary measurement tool to construct the relationship between measurement points at multiple different locations; although the algorithm is simple, it requires a coordinate measuring arm. Furthermore, the calibration of multiple 3D line laser cameras lacks a large-scale calibration board. If a traditional sawtooth board is used, the uniqueness cannot be determined because the position and height are not encoded. Summary of the Invention
[0004] To address the shortcomings of the prior art, this invention provides a sawtooth plate for calibrating multiple 3D line laser cameras and its application, aiming to simplify the calibration of the extrinsic parameter transformation matrix of 3D line laser cameras, thereby improving the calibration efficiency of multiple 3D line laser cameras and solving the problem that calibration cannot be achieved without the aid of precise displacement equipment or a three-dimensional coordinate measuring arm.
[0005] The technical solution adopted by this invention to solve the technical problem is as follows:
[0006] This invention provides a sawtooth plate for extrinsic parameter calibration of a multi-3D line laser camera, characterized in that:
[0007] The sawtooth plate has at least four rows of saw teeth, and the sawtooth plate has at least one set of three coplanar but non-collinear marking points;
[0008] Each saw tooth is a prism structure with the same tooth width, and there are at least two tooth heights on the saw tooth plate.
[0009] The serrated plate for calibrating the extrinsic parameters of a multi-3D line laser camera described in this invention is also characterized by:
[0010] The marker points are used to align the laser measurement surface of the 3D line laser camera;
[0011] Let m be the type of tooth height of the saw blade, and n be the maximum number of teeth on the saw blade, where n = m. 3 +2;
[0012] The encoding rule is set such that the codes for the tooth heights of any three consecutive rows of saw teeth are different. The tooth heights of the saw tooth plate are encoded according to the encoding rule to obtain a tooth height encoding sequence, which is then combined with the corresponding number of tooth rows to form a two-dimensional encoding matrix.
[0013] The tooth height encoding sequence is obtained according to the following steps:
[0014] Step 1: Define 0 to (m) 3 Each integer in -1) is converted into a three-digit m-ary number and then used as a node, thus forming the node table E;
[0015] Define the adjacency matrix P = (p ij ) m×m p ij Represents the i-th node Ei and the j-th node Ei. j The adjacency relationship between them, if E i The last two m-ary numbers in E j If the first two m-ary numbers are the same, then let p ij =1; otherwise let p ij =0; where i≠j;
[0016] Step 2: Define a node set V, let i = 1; initialize V = EE i ;
[0017] Step 3: Construct the recursive equation d(E) for the adjacency relationship between the i-th node Ei in E and V using equation (1). i V):
[0018]
[0019] In equation (1), E k Let p represent the k-th node in E. ik Represents the i-th node Ei and the k-th node E k The adjacency relationship between them, VE k This means removing the k-th node E from set V. k The set after;
[0020] Step 4: The node sequence list is obtained by recursively solving the adjacency relationship recursive equation, and then the tooth height encoding sequence is generated based on the node sequence list.
[0021] The characteristic of the application of the sawtooth plate for extrinsic parameter calibration of a multi-3D line laser camera in this invention is that the sawtooth plate is applied to the extrinsic parameter calibration of a 3D line laser camera, and includes the following steps:
[0022] Step I: Set the coordinate system of the sawtooth plate to O. b-xyz, with the left vertex of the first row of sawtooth patterns as the origin, the X-axis points in the direction of the sawtooth column, the Y-axis points in the direction of the sawtooth row, and the Z-axis is perpendicular to XO. b The Y plane points in the direction of the tooth tip; the coordinate system of the 3D line laser camera is O. S -xyz, the laser measurement plane is set to XO. S Z-plane, set the y-axis coordinate value on the laser measurement surface to 0;
[0023] Step II: Place the sawtooth plate within the field of view of the 3D line laser camera to be tested, and align the laser measurement surfaces with three non-collinear marker points.
[0024] Step III: Obtain point cloud data L of at least three rows of saw teeth on the sawtooth plate under the 3D line laser camera. s ;
[0025] Using a linear fitting algorithm to perform L s Perform fitting to obtain a fitted polygonal line, and establish the equations of two adjacent line segments u and v on the fitted polygonal line;
[0026] The intersection point of the perpendicular segments on two line segments u and v is denoted as the inflection point. Then, based on the equations of the adjacent line segments, the set of coordinates of all inflection points on the fitted polygonal line, S = {p1, p2, ..., p...}, is calculated. f ...p F}; where p f Let f represent the coordinates of the f-th inflection point, and F represent the number of inflection points.
[0027] Traverse the coordinates of the inflection points in S, if 2×z pf >(z p(f-1) +z p(f+1) If z ∈ Z, then the f-th inflection point is the tooth tip; otherwise, the f-th inflection point is the tooth root. pf Let z be the Z-axis coordinate of the f-th inflection point. p(f-1) This represents the Z-axis coordinate value of the (f-1)th inflection point. p(f+1) This represents the Z-axis coordinate of the (f+1)th inflection point; thus, the inflection point coordinates M of all tooth root positions and all tooth tip positions are obtained. s ={m1, m2, ... m n ...m N}, where m n Represents the coordinates of the inflection point at the nth tooth tip position; N represents the total number of inflection points at the tooth tip position.
[0028] Step IV: Fit the inflection points of all tooth root positions to the tooth root straight line L, and then use m... n The distance to the straight line L at the tooth root determines the tooth height type h at the k-th inflection point.n Thus, the tooth height type H at the turning point of all tooth root positions is obtained. s ={h1, h2, ... h n …h N};
[0029] According to H s Find the corresponding N tooth height codes in the tooth height coding sequence, and then obtain the inflection point coordinates M based on the N tooth height codes. s In the sawtooth plate coordinate system O b Coordinate position B under -xyz b ={b1, b2, ... b n …b N}, where b n m n In the sawtooth plate coordinate system O b Coordinate position under -xyz;
[0030] Step V: Solve using the least squares method Obtain the transformation matrix from 3D line laser camera to saw blade. This yields the transformation matrix for all 3D line laser cameras, which is used to calculate the transformation relationships between multiple 3D line laser cameras.
[0031] Compared with existing methods, the beneficial technical effects of the present invention are reflected in:
[0032] 1. This invention provides a sawtooth plate for calibration of a multi-3D line laser camera, which provides an accurate static global coordinate system, solves the problem of collinearity of feature points in traditional calibration plates, and provides an encoding method to facilitate the production of the sawtooth plate.
[0033] 2. This invention constructs a two-dimensional coordinate system for the sawtooth plate by encoding the sawtooth position and tooth height. It can calibrate multiple 3D sensors at once without using sensor image information or developing internal interfaces, and does not require a common field of view, which greatly facilitates the application scenarios of large field of view multi-camera. Furthermore, it does not require the use of coordinate measuring instruments to measure points, which improves the accuracy and efficiency of calibration. Attached Figure Description
[0034] Figure 1 This is a schematic diagram of an application scenario for a sawtooth plate calibrated by a multi-3D line laser camera according to the present invention;
[0035] Figure 2 This is a schematic diagram of a sawtooth plate encoding according to the present invention;
[0036] Figure 3 This is a flowchart of a method for using a serrated plate according to the present invention. Detailed Implementation
[0037] In this embodiment, as Figure 1 As shown, a sawtooth plate calibrated by a multi-3D line laser camera has at least four rows of sawtooths, and at least one set of three coplanar but non-collinear marking points 4 on the sawtooth plate 1; the surface formed by the marking points 4 is perpendicular to the reference plane of the sawtooth plate.
[0038] Each tooth is a prism structure with the same tooth width, and there are at least two tooth heights on the saw blade.
[0039] The marker points are used to align the laser measurement surface of the 3D line laser camera;
[0040] Let m be the type of tooth height on the saw blade, and n be the maximum number of teeth on the saw blade, where n = m. 3 +2;
[0041] The encoding rule is set such that the codes for the tooth heights of any three consecutive rows of saw teeth are different. The tooth heights of the saw tooth plate are encoded according to the encoding rule to obtain the tooth height encoding sequence, which is then combined with the corresponding number of tooth rows to form a two-dimensional encoding matrix.
[0042] The steps for generating the sawtooth plate encoding sequence are as follows:
[0043] Step 1: Define 0 to (m) 3 Each integer in (-1) is converted into a three-digit m-ary number and then used as a node, thus forming a node table E = {(0, 0, 0), (0, 0, 1)...(m-1, m-1, m-1)};
[0044] Define the adjacency matrix P = (p ij ) m×m p ij Represents the i-th node E i and the j-th E j The adjacency relationship between them, if E i The last two m-ary numbers in E j If the first two m-ary numbers are the same, then let p ij =1; otherwise let p ij =0; where i≠j;
[0045] Step 2: Define a node set V, let i = 1; initialize V = E - Ei;
[0046] Step 3: Construct the i-th node E in E using equation (1) i The recursive equation for the adjacency relation with V is d(E) i V):
[0047]
[0048] In equation (1), E k Let p represent the k-th node in E.ik Represents the i-th node Ei and the k-th node E k The adjacency relationship between them, VE k This means removing the k-th node E from set V. k The set after;
[0049] Step 4: The node sequence list is obtained by recursively solving the adjacency relation recursive equation, and then the tooth height encoding sequence is generated based on the node sequence list.
[0050] Preferably, when there are multiple possible node order lists, any one of them satisfies the encoding requirements.
[0051] Preferably, the serrated plate is determined according to the field of view and the specific measurement range of the 3D line laser camera, ensuring that at least 3 sets of serrated points are included within the measurement range of each 3D line laser camera. Figure 2 This is a specific embodiment of a coding result where the tooth height type is 2. The tooth height corresponding to three consecutive rows of teeth in this coding sequence is unique.
[0052] The detection scene consists of a sawtooth plate 1, a first 3D line laser camera 2, and a second 3D line laser camera 3, such as... Figure 3 The following steps are shown for calibrating the extrinsic parameters of a 3D line laser camera:
[0053] Step 1: Set the coordinate system of the sawtooth plate to O. b xyz, with the left vertex of the first row of sawtooth axes as the origin, the X-axis points in the direction of the sawtooth column, the Y-axis points in the direction of the sawtooth row, and the Z-axis is perpendicular to XO. b The Y plane points in the direction of the tooth tip; the coordinate system of the 3D line laser camera is O. S -xyz, the laser measurement plane is set to XO. S In the Z-plane, the y-axis coordinate on the laser measurement surface is set to 0; the sequence number of the encoding sequence corresponds to the row number of the sawtooth, and the sawtooth width is w; the k-th row of sawtooth is encoded with sequence number k, corresponding to the X-axis coordinate w×k; there are three marker points on the sawtooth plate, and the marker points are coplanar and perpendicular to XO. b The plane containing Y.
[0054] Step II: Place the sawtooth plate within the field of view of the 3D line laser camera to be tested, and align the laser measurement faces with three non-collinear marker points.
[0055] Step III: Obtain point cloud data L of at least three rows of saw teeth on the sawtooth plate under the 3D line laser camera. s ={s1, s2, ... s i …s I}, where s i Coordinates O of the 3D line laser camera S The coordinates of the i-th point under -xyz (x si,0,z si ), where I represents the number of point clouds;
[0056] Using a linear fitting algorithm to perform L s Perform fitting to obtain a fitted polygonal line, and establish the equations for two adjacent line segments u and v on the fitted polygonal line, denoted as: a p x+c p z+1=0、a q x+c qz +1 = 0; where a p and c p Indicates two coefficients;
[0057] Let the intersection of the perpendicular segments of two line segments u and v be the inflection point. Then, based on the equations of the adjacent line segments, calculate the set of coordinates of the inflection points S = {p1, p2, ..., p...} on the fitted polygonal line. f ...p F}; where p f Let f represent the coordinates of the f-th inflection point, and F represent the number of inflection points.
[0058] Traverse the coordinates of the inflection points in S, if 2×z pf >(z p(f-1) +z p(f+1) If z ∈ Z, then the f-th inflection point is the tooth tip; otherwise, the f-th inflection point is the tooth root. pf Z is the Z-axis coordinate value of the f-th inflection point; p(f-1) This represents the Z-axis coordinate value of the (f-1)th inflection point. p(f+1) This represents the Z-axis coordinate of the (f+1)th inflection point, thus obtaining the inflection point coordinates M of all tooth root positions and all tooth tip positions. s ={m1, m2, ... m n ...m N}, where m n Represents the coordinates of the inflection point at the nth tooth tip position; N represents the total number of inflection points at the tooth tip position.
[0059] Step IV: Fit the inflection points of all tooth root positions to the tooth root straight line L, and then use m... n The distance to the straight line L at the tooth root determines the tooth height type h at the k-th inflection point. n Thus, the tooth height type H at the turning point of all tooth root positions is obtained. s ={h1, h2, ... h n …h N};
[0060] According to H s Find the corresponding N tooth height codes in the tooth height coding sequence, and then obtain the inflection point coordinates M based on the N tooth height codes.s In the sawtooth plate coordinate system O b Coordinate position B under -xyz b ={b1, b2, ... b n …b N}, where b n m n In the sawtooth plate coordinate system O b Coordinate position under -xyz;
[0061] Step V: Solve using the least squares method Obtain the transformation matrix from 3D line laser camera to saw blade. This yields the transformation matrix for all 3D line laser cameras, which is used to calculate the transformation relationships between multiple 3D line laser cameras.
[0062] Through the above steps, the first 3D line laser camera transformation matrix is obtained. Second 3D camera conversion matrix The transformation matrix from the first 3D line laser camera to the second 3D camera is:
[0063] In some embodiments, when there are multiple 3D line laser cameras being calibrated, one of the 3D line laser cameras is used as the main camera, and the other 3D line laser cameras are transformed into the coordinate system of the main camera to complete the calibration.
[0064] It should be noted that steps 3, 4, and 5 in the above specific embodiments can be completed automatically by a computer program.
[0065] The sawtooth plate encoding method of this invention is not unique. The example provided in the embodiment is only one encoding example. In practice, it can be adjusted according to the camera's field of view and the number of cameras required for the actual measurement scenario. As long as the tooth height and number of tooth rows generated by the encoding sequence satisfy the characteristic that the tooth height encoding corresponding to any three consecutive tooth rows is unique, it is within the scope of protection of this patent.
Claims
1. A sawtooth plate for extrinsic parameter calibration of a multi-3D line laser camera, characterized in that: The sawtooth plate has at least four rows of saw teeth, and the sawtooth plate has at least one set of three coplanar but non-collinear marking points; Each saw tooth is a prism structure with the same tooth width, and there are at least two tooth heights on the saw tooth plate.
2. The sawtooth plate for extrinsic parameter calibration of a multi-3D line laser camera according to claim 1, characterized in that: The marker points are used to align the laser measurement surface of the 3D line laser camera; Let m be the type of tooth height of the saw blade, and n be the maximum number of teeth on the saw blade, where n = m. 3 +2; The encoding rule is set such that the codes for the tooth heights of any three consecutive rows of saw teeth are different. The tooth heights of the saw tooth plate are encoded according to the encoding rule to obtain a tooth height encoding sequence, which is then combined with the corresponding number of tooth rows to form a two-dimensional encoding matrix.
3. The sawtooth plate for extrinsic parameter calibration of a multi-3D line laser camera according to claim 1, characterized in that, The tooth height encoding sequence is obtained according to the following steps: Step 1: Define 0 to (m) 3 Each integer in -1) is converted into a three-digit m-ary number and then used as a node, thus forming the node table E; Define the adjacency matrix P = (p ij ) m×m p ij Represents the i-th node E i and the j-th E j The adjacency relationship between them, if E i The last two m-ary numbers in E j If the first two m-ary numbers are the same, then let p ij =1; otherwise let p ij =0; where i≠j; Step 2: Define a node set V, let i = 1; initialize V = EE i ; Step 3: Construct the i-th node E in E using equation (1) i The recursive equation for the adjacency relation with V is d(E) i ,V): In equation (1), E k Let p represent the k-th node in E. ik Represents the i-th node E i and the k-th node E k The adjacency relationship between them, VE k This means removing the k-th node E from set V. k The set after; Step 4: The node sequence list is obtained by recursively solving the adjacency relationship recursive equation, and then the tooth height encoding sequence is generated based on the node sequence list.
4. An application of a sawtooth plate for extrinsic parameter calibration of a multi-3D line laser camera, characterized in that, The method involves applying the sawtooth plate described in claim 1, 2, or 3 to the extrinsic parameter calibration of a 3D line laser camera, and includes the following steps: Step I: Set the coordinate system of the sawtooth plate to O. b -xyz, with the left vertex of the first row of sawtooth patterns as the origin, the X-axis points in the direction of the sawtooth column, the Y-axis points in the direction of the sawtooth row, and the Z-axis is perpendicular to XO. b The Y plane points in the direction of the tooth tip; the coordinate system of the 3D line laser camera is O. S -xyz, the laser measurement plane is set to XO. S Z-plane, set the y-axis coordinate value on the laser measurement surface to 0; Step II: Place the sawtooth plate within the field of view of the 3D line laser camera to be tested, and align the laser measurement surfaces with three non-collinear marker points. Step III: Obtain point cloud data L of at least three rows of saw teeth on the sawtooth plate under the 3D line laser camera. s ; Using a linear fitting algorithm to perform L s A fitting process is performed to obtain a fitted polygonal line, and the equations of two adjacent line segments u and v on the fitted polygonal line are established. The intersection point of the perpendicular segments on two line segments u and v is denoted as the inflection point. Then, based on the equations of the adjacent line segments, the set of coordinates of all inflection points on the fitted polygonal line, S = {p1, p2, ..., p...}, is calculated. f ...p F }; where p f Let f represent the coordinates of the f-th inflection point, and F represent the number of inflection points. Traverse the coordinates of the inflection points in S, if 2×z pf >(z p(f-1) +z p(f+1) If z ∈ Z, then the f-th inflection point is the tooth tip; otherwise, the f-th inflection point is the tooth root. pf Let z be the Z-axis coordinate of the f-th inflection point. p(f-1) This represents the Z-axis coordinate value of the (f-1)th inflection point. p(f+1) This represents the Z-axis coordinate of the (f+1)th inflection point; thus, the inflection point coordinates M of all tooth root positions and all tooth tip positions are obtained. s ={m1, m2, ... m n ...m N }, where m n Represents the coordinates of the inflection point at the nth tooth tip position; N represents the total number of inflection points at the tooth tip position. Step IV: Fit the inflection points of all tooth root positions to the tooth root straight line L, and then use m... n The distance to the straight line L at the tooth root determines the tooth height type h at the k-th inflection point. n Thus, the tooth height type H at the turning point of all tooth root positions is obtained. s ={h1, h2, ... h n ...h N }; According to H s Find the corresponding N tooth height codes in the tooth height coding sequence, and then obtain the inflection point coordinates M based on the N tooth height codes. s In the sawtooth plate coordinate system O b-xyz The coordinate position B below b ={b1, b2, ... b} n ...b N }, where b n m n In the sawtooth plate coordinate system O b Coordinate position under -xyz; Step V: Solve using the least squares method Obtain the transformation matrix from 3D line laser camera to saw blade. This yields the transformation matrix for all 3D line laser cameras, which is used to calculate the transformation relationships between multiple 3D line laser cameras.