CN113129388A - Coding stereo target for quickly calibrating internal and external parameters of camera and coding method thereof - Google Patents

Coding stereo target for quickly calibrating internal and external parameters of camera and coding method thereof Download PDF

Info

Publication number
CN113129388A
CN113129388A CN202110489971.7A CN202110489971A CN113129388A CN 113129388 A CN113129388 A CN 113129388A CN 202110489971 A CN202110489971 A CN 202110489971A CN 113129388 A CN113129388 A CN 113129388A
Authority
CN
China
Prior art keywords
coding
target
parallelogram
plane
coding unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110489971.7A
Other languages
Chinese (zh)
Other versions
CN113129388B (en
Inventor
朱华炳
殷玉龙
杨昭辉
杨霈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei University of Technology
Original Assignee
Hefei University of Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hefei University of Technology filed Critical Hefei University of Technology
Publication of CN113129388A publication Critical patent/CN113129388A/en
Application granted granted Critical
Publication of CN113129388B publication Critical patent/CN113129388B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

The invention discloses a coding three-dimensional target for calibrating internal and external parameters of a camera and a coding method thereof, wherein the coding three-dimensional target is mainly applied to calibrating the internal and external parameters of the camera and comprises a reference plane plate, a coding plane target plate and a connecting mechanism, the surface of the reference plane plate is divided into S areas, S is a positive integer and is more than 3, the connecting mechanism is fixedly arranged in each area, the end part of each connecting mechanism is movably connected with the coding plane target plate, the space posture of each coding plane target plate can be movably adjusted, and the coding plane target plate is provided with the coding plane target; all the calibration corner points in each coding plane target are coded, so that the coding of all the calibration corner points of the whole coding three-dimensional target is completed, the high-precision and real-time matching of the calibration corner points with the same name in different calibration images can be realized during the calibration of multiple cameras, and the calibration of the high-precision cameras is realized.

Description

Coding stereo target for quickly calibrating internal and external parameters of camera and coding method thereof
Technical Field
The invention relates to the field of camera calibration in the field of computer vision, in particular to a coding three-dimensional target for quickly calibrating internal and external parameters of a camera and a coding method thereof, which are used for calibrating a monocular camera, calibrating a binocular camera and calibrating a multi-view vision system.
Background
The computer vision technology is used for acquiring three-dimensional information of an object in an actual space by processing and calculating a two-dimensional image, and therefore, the computer vision technology is widely applied to the fields of three-dimensional measurement, visual positioning, target tracking and the like. In computer vision, camera calibration is one of the important problems to be solved firstly, and is also a big hot spot problem and difficult problem in the field of computer vision. The camera calibration is to obtain more accurate internal and external parameters of the camera, and further obtain the relationship between the space three-dimensional coordinates and the image two-dimensional coordinates.
In order to complete the calibration process of the camera, calibration targets are usually needed to help achieve the calibration process. The Zhangyingyou (Z.Y Zhang) provides a camera calibration algorithm based on a plane target in 1999, and the method utilizes the traditional plane checkerboard target, so that the camera calibration process becomes simple and easy to operate, and a good foundation is laid for the development of the subsequent camera calibration technology. Meanwhile, with the continuous development of computer vision technology, many defects are exposed in the conventional planar checkerboard target, for example, in the actual calibration process, the problems of incomplete shooting of target images, missing of direction information of the target images and the like often occur.
Disclosure of Invention
The invention aims to overcome the defects of the prior art, provides a coding three-dimensional target for quickly calibrating the internal and external parameters of a camera and a coding method thereof, realizes the calibration process of a monocular or monocular vision single image on the premise of keeping higher precision, and improves the operability and efficiency of the calibration process.
In order to realize the effect, the invention adopts the technical scheme that: the coding three-dimensional target comprises a reference plane plate, a coding plane target plate and a connecting mechanism, wherein the surface of the reference plane plate is divided into S areas, S is a positive integer and is greater than 3, the connecting mechanism is fixedly arranged in each area, the end part of each connecting mechanism is movably connected with the coding plane target plate, the space posture of each coding plane target plate can be movably adjusted, and the coding plane target is arranged on the coding plane target plate.
Further, the reference plane plate of the coded stereo target is a cuboid thin plate structure with the length of a, the width of b and the thickness of c; the numbers of each region of the reference surface, the connecting mechanism in the corresponding region, the coding plane target plate on the corresponding connecting mechanism and the coding plane target on the corresponding coding plane target plate are respectively marked as
Figure BDA0003051643050000021
Wherein
Figure BDA0003051643050000022
In the reference plane plate, a rectangular surface with the length a and the width b is selected as a reference plane, and the division method for dividing the reference plane into S areas is as follows:
step a, arbitrarily taking one vertex of the reference surface as an origin o of the reference coordinate system, and taking one side which is intersected to form the origin o and has the length of a in the reference surface as an x-axis determination side N of the reference coordinate system1Determining the edge N on the x-axis of the reference coordinate system1Another vertex of the upper reference surface which is not coincident with the origin o is taken as a reference coordinate system x-axis determination edge N1Upper first point o1Recording the vector
Figure BDA0003051643050000023
Determining vectors for the x-axis of a reference coordinate system
Figure BDA0003051643050000024
One side with the length b and intersecting to form an origin o in the reference plane is taken as a y-axis determination side N of the reference coordinate system2Determining the edge N on the y-axis of the reference coordinate system2Another vertex of the upper reference surface which is not coincident with the origin o is taken as a y-axis determined edge N of the reference coordinate system2Upper first point o2Recording the vector
Figure BDA0003051643050000025
Determining vectors for the y-axis of a reference coordinate system
Figure BDA0003051643050000026
Wherein, the x-axis of the reference coordinate system determines the edge N1Determining edge N with reference coordinate system y-axis2Are 2 mutually different edges; determining vector by x-axis of reference coordinate system
Figure BDA0003051643050000027
The direction of the vector is taken as the positive direction of the x axis of the reference coordinate system, and the vector is determined by the y axis of the reference coordinate system
Figure BDA0003051643050000028
The direction of the reference coordinate system is used as the forward direction of the y axis of the reference coordinate system, and a reference coordinate system o-xyz is established by adopting a right-hand rule;
step b, in the reference plane, according to the reference coordinate system o-xyz, using Sa-1 longitudinal region division line parallel to the y-axis and Sb-1 transverse region dividing line parallel to the x-axis dividing the reference plane into S regions; wherein S isa、SbAre all positive integers, Sa∈[1,S],Sb∈[1,S]And S isaThe maximum number of rows of the regions that can be divided among the S regions divided in the reference plane, i.e., the maximum value of the total number of row numbers of the S regions in the reference plane, is also represented by SbIf the maximum number of lines of the regions that can be divided among the S regions divided in the reference plane, i.e., the maximum value of the total number of line numbers of the S regions in the reference plane, is Sa·SbS, the reference plane may then be divided into S regions;
step c, in the reference plane, recording a region containing a reference coordinate system o-xyz origin o as a row 1 and column 1 region, and recording the row 1 and column 1 region as a No. 1 region; taking the region No. 1 as a starting region, and sequentially searching S along the x axis of a reference coordinate system in the forward direction a1 area, taking area No. 1 as a starting area, and S which is searched in sequence along the y axis of the reference coordinate system in the forward direction b1 area, then in S areas, the area of the alpha row and beta column is recorded as
Figure BDA0003051643050000029
Number region, where β denotes a region column number, α denotes a region row number,
Figure BDA00030516430500000210
when the region number is represented, α, β,
Figure BDA00030516430500000211
Are all positive integers, and β ═ 1,2,3a,α=1,2,3,...,Sb
Figure BDA00030516430500000212
The relation between alpha and beta satisfies:
Figure BDA00030516430500000213
wherein
Figure BDA00030516430500000214
Thereby completing the division of the S regions of the reference plane.
Furthermore, the coding plane target is composed of coding checkerboards formed by alternating parallelogram coding units and parallelogram non-coding units, all the parallelogram coding units and the parallelogram non-coding units in the coding plane target are parallelograms with the length of d and the width of e, and d and e are both larger than zero; the coding plane target takes the intersection point of any diagonal connected parallelogram coding units as a calibration angular point of the coding plane target, the coding plane target comprises M rows multiplied by N columns of calibration angular points in total, wherein M and N are positive integers;
the interior of each parallelogram coding unit in the coding plane target is provided with a coding pattern, the coding pattern comprises a positioning pattern, an orientation pattern and a coding mark pattern, the coding mark pattern is composed of a plurality of coding unit patterns, and the positioning pattern, the orientation pattern and the coding unit patterns in each parallelogram coding unit are not overlapped and not communicated; the orientation pattern and the positioning pattern are used for judging the rotation direction of the coded plane target; the coding mark pattern is used for coding each calibration corner point in the coding plane target.
One parallelogram coding unit in any coding plane target is taken and recorded as a coding plane target vector to determine a coding unit gammavArbitrarily taking a coding plane target vector to determine a coding unit gammavOne vertex of the vector determination coding unit is marked as a first vertex o ″ of the vector determination coding unit1Determining a coding unit gamma in the coding plane target vectorvWherein the intersections form a vector defining a first vertex o ″' of the coding unit1Any one edge of the first edge is marked as a vector to determine first edge Ν of the coding unitv1Determining the first edge Ν of the coding unit in the vectorv1Upward orientation amount determination encoding unit ΓvThe vertex of (a) is marked as the first point o' on the first side of the vector-determined coding unit2Wherein the first point o ″)2And the first vertex o ″)1Are 2 points which are not coincident with each other, and the vector is recorded
Figure BDA0003051643050000031
To specify a vector
Figure BDA0003051643050000032
And the positioning pattern and the orientation pattern in each parallelogram coding unit have the following positional relationship: the direction and the prescribed vector pointing from the center of mass of the orientation pattern to the center of mass of the orientation pattern in the same parallelogram coding unit
Figure BDA0003051643050000033
Are in the same direction;
marking the plane where the coding plane target is as a target plane PtDetermining the first vertex o' of the coding unit by the vector1Making a prescribed vector for the starting point
Figure BDA0003051643050000034
The unit vector in the same direction is denoted as the 1 st predetermined unit vector
Figure BDA0003051643050000035
Determining a first vertex o' of the coding unit by a vector according to the front view coding plane target direction1As a center of rotation, in a target plane PtDefining the 1 st unit vector
Figure BDA0003051643050000036
Counterclockwise rotation by an angle beta '(0 DEG < beta' < 90 DEG) to obtain a 2 nd prescribed unit vector
Figure BDA0003051643050000037
Determining the first vertex o' of the coding unit in space as a vector1As a starting point, an
Figure BDA0003051643050000038
The unit vectors with the same direction are recorded as positive vectors
Figure BDA0003051643050000039
Determining a coding unit gamma by using a coding plane target vectorvUpper distance coding plane target vector determination coding unit gammavThe two nearest vertexes of the orientation pattern in (1) are respectively marked as the 1 st temporary vertex o ″3And the 2 nd temporary vertex o ″4(ii) a If vector
Figure BDA00030516430500000310
Cross-product specified vector
Figure BDA00030516430500000311
Direction of the resulting vector and the forward vector
Figure BDA00030516430500000312
Are in the same direction, they will be recorded as vectors
Figure BDA00030516430500000313
Auxiliary vector
Figure BDA00030516430500000314
If vector
Figure BDA00030516430500000315
Cross-product specified vector
Figure BDA00030516430500000316
Direction of the resulting vector and the forward vector
Figure BDA00030516430500000317
Are in the same direction, then vector will be generated
Figure BDA00030516430500000318
Is recorded as an auxiliary vector
Figure BDA00030516430500000319
The positional relationship of the positioning pattern and the orientation pattern in each parallelogram coding unit within the coding plane target is as follows: the positioning pattern and the orientation pattern of the same parallelogram coding unit are both arranged inside the parallelogram coding unit, and the mass center of the positioning pattern and the mass center of the orientation pattern in the same parallelogram coding unit are both near the mass center of the parallelogram coding unit; and the direction and the prescribed vector pointing to the centroid of the positioning pattern from the centroid of the positioning pattern
Figure BDA0003051643050000041
In the same direction.
The sizes of a plurality of coding unit patterns in the same parallelogram coding unit can be totally or partially the same or different; in the same parallelogram coding unit, the contour length of each coding unit pattern is smaller than that of the positioning pattern, and the contour length of the positioning pattern is smaller than 2d +2 e.
The background colors of all parallelogram coding units in the coding plane target are the same and are marked as color 1; the colors of all parallelogram non-coding units in the coding plane target are the same and are marked as color 2; the background color (i.e., color 1) of all parallelogram-encoded cells is significantly different from the color (i.e., color 2) of all parallelogram-non-encoded cells. The colors of all positioning patterns and all orientation patterns contained in all parallelogram coding units in the coding plane target are the same and are marked as color 3, and the color 3 is obviously different from the color 1; the color of all the coding unit patterns contained within all the parallelogram coding units in the coding plane target is the same as color 1 or the same as color 3.
In the same parallelogram coding unit, the position and the color of a coding unit pattern are determined by a non-unique coding method of each calibration corner point in a coding plane target.
The positioning pattern inside each parallelogram coding unit in the coding plane target is a solid circle, the orientation pattern is a circular ring, and the coding unit patterns are all solid circles; the same parallelogram coding unit contains 2 connected domains with the color of 1, and the area of the connected domain with the color of 1 closest to the centroid of the directional pattern is smaller than that of the connected domain with the other color of 1;
in the coding plane target, the area sizes of the positioning patterns contained in different parallelogram coding units can be the same or different; the area sizes of the orientation patterns contained in different parallelogram coding units can be the same or different; the coding unit patterns contained in different parallelogram coding units can have the same area size or different area sizes.
Further, the coding numbers of the parallelogram coding units in all the coding plane targets are different from each other, and the coding numbers of all the parallelogram coding units in each coding plane target are consecutive integers.
Then
Figure BDA0003051643050000042
Within the number area
Figure BDA0003051643050000043
The coding serial number of the parallelogram coding unit in the number coding plane target and the coding number of the calibration angular point have continuity, namely: note the book
Figure BDA0003051643050000044
The number of the parallelogram coding units of the number coding plane target is
Figure BDA0003051643050000045
The first parallelogram coding unit has the coding sequence number of
Figure BDA0003051643050000046
Then
Figure BDA0003051643050000047
Number (C)
Figure BDA0003051643050000048
The coding range of the parallelogram coding unit in the coding plane target is
Figure BDA0003051643050000049
Note the book
Figure BDA00030516430500000410
The number of the calibration angular points of the number coding plane target is
Figure BDA0003051643050000051
The first calibrated corner point has a code number of
Figure BDA0003051643050000052
Then
Figure BDA0003051643050000053
The coding number range of the calibration angular point in the number coding plane target is
Figure BDA0003051643050000054
Further, the total number of the coding numbers of the parallelogram coding units of the coding plane target is 4096. When the serial numbers are used, the coding sequence number range is [0,4095], and then the coding sequence number of any parallelogram coding unit in all S coding plane targets is in the range, i.e. the coding number of the parallelogram coding unit with the largest coding number in the coding stereo target should be less than 4096.
The coding method based on the coding three-dimensional target is also provided, and the coding method comprises the steps of coding all the calibration angle points in each coding plane target, finding the unique coding number of each calibration angle point in the coding three-dimensional target, the coding number of the coding plane target where each calibration angle point in the coding three-dimensional target is located, and the coding number of the reference plane board area where each calibration angle point in the coding three-dimensional target is located, so that the coding of all the calibration angle points of the whole coding three-dimensional target is completed.
Further, the method for encoding each calibration corner point in the encoding stereo target comprises the following steps:
step 1, taking variable r to represent the number of encoding plane targets which do not complete encoding and the number of regions which do not complete encoding, setting an initial value r to be S, and setting an initial encoding number z of a parallelogram encoding unit in an encoding stereo targetS,zSIs a positive integer;
step 2, setting the number ranges of the coding stereo target region and the coding plane target as continuous positive integers of 1,2,3r=[1,2,3,...,S]R also represents the number of the numbers in the number set;
step 3, in r areas with incomplete coding, selecting an area in the space coding three-dimensional target according to any rule or at random, and simultaneously coding the number set psi of the coding plane target which is not coded in the coding three-dimensional targetr=[1,2,3,...,S]In the method, a number is selected according to any rule or at random and is marked as IrAs selected corresponding regionThe number of the domain; the row number and column number of the selected area are calculated by:
Ir÷Sa=α′...β′
wherein: sa、SbAre all positive integers, Sa∈[1,S],Sb∈[1,S]And satisfy Sa·Sb=S,SaIs the maximum number of columns of the regions which can be divided among the S regions divided in the reference plane, SbThe maximum number of columns of the regions which can be divided in the S regions divided in the reference plane;
α' is IrAnd SaBy dividing to give an integer value, beta' is IrAnd SaDividing the obtained remainder value;
if β' is 0, the number selected is IrIs the alpha' th line SaThe area where the column is located;
if β' ≠ 0, then the selected number is IrThe area of (a '+ 1) th row and column beta';
at the same time will IrCoding plane target in number region is marked as IrNumber coded planar target, note IrThe total number of the coding serial numbers of the parallelogram coding units in the number coding plane target is Lr+1, note IrI in number arearNumber M of calibration angular points contained in number coding plane targetsr×NrA plurality of;
step 4, for IrI in number arearInitial code number z of number coded planar targetrCarrying out reassignment;
if r is S, then IrI in number arearInitial code number z of number coded planar targetr=zS
If r is not equal to S, then IrI in number arearInitial code number z of number coded planar targetr=zr+1+Lr+1r
Wherein: deltarIs a positive integer, and ΔrNot less than 1, represents IrNumber coded planar target and Ir+1Number coding plane targetThe code number interval of (2);
step 5, using the coding method of the coding plane target to carry out IrI in number arearAll the calibration angular points of the number coding plane target are coded to obtain IrThe unique coding number of each calibration angular point in the number coding plane target;
the encoding method of the encoding plane target comprises the following steps:
step 5.1, get integer zvAs an initial coding number in a coding plane target, where zvSatisfies the formula (1),
zv≤4096-ε (1)
wherein: ε is the total number of parallelogram-encoded units, and ε can be obtained by equation (2) or (3):
if M, N are both odd, or M, N is an odd-even:
ε=[(M-1)(N-1)]/2+M+N; (2)
if M, N are both even numbers:
ε=[(M-1)(N-1)+1]/2+M+N; (3)
step 5.2.1, recording one parallelogram coding unit in the arbitrarily-selected coding plane target as pi1Any one of the coding units II is connected with a parallelogram coding unit1Parallelogram coding units with common vertices denoted pi2
Step 5.2.2, on the coding plane target, II from the parallelogram coding unit1Starting and following a prescribed vector
Figure BDA0003051643050000061
Searching for a parallelogram coding unit in the opposite direction includes the following two cases:
(1) if on the encoding plane target, II is encoded from the parallelogram encoding unit1Starting and following a prescribed vector
Figure BDA0003051643050000062
No parallelogram coding unit can be searched in the opposite direction,II, the parallelogram coding unit1As a longitudinal end parallelogram coding unit 1, is noted
Figure BDA0003051643050000063
(2) If on the encoding plane target, II is encoded from the parallelogram encoding unit1Starting and following a prescribed vector
Figure BDA0003051643050000064
If the parallelogram coding unit can be searched in the opposite direction, the specified vector will be followed
Figure BDA0003051643050000065
Parallelogram coding unit pi for searching distance in opposite direction1The farthest parallelogram coding unit is taken as the longitudinal end parallelogram coding unit 1 and is recorded as
Figure BDA0003051643050000066
Step 5.2.3, on the coding plane target, II from the parallelogram coding unit2Starting and following a prescribed vector
Figure BDA0003051643050000071
The opposite direction searches for the parallelogram coding unit, including the following two cases:
(1) if from parallelogram coding unit Π2Starting and following a predetermined vector
Figure BDA0003051643050000072
If the parallelogram coding unit can not be searched in the opposite direction, the parallelogram coding unit II is selected2As longitudinal end parallelogram coding units 2, note
Figure BDA0003051643050000073
(2) If from parallelogram coding unit Π2Starting and following a predetermined vector
Figure BDA0003051643050000074
If the parallelogram coding unit can be searched in the opposite direction, the specified vector will be found
Figure BDA0003051643050000075
Parallelogram coding unit pi for searching distance in opposite direction2The farthest parallelogram coding unit is taken as the longitudinal end parallelogram coding unit 2 and is recorded as
Figure BDA0003051643050000076
Step 5.2.4, on the coding plane target, from the longitudinal end parallelogram coding unit
Figure BDA0003051643050000077
Starting and following the auxiliary vector
Figure BDA0003051643050000078
The opposite direction searches for the parallelogram coding unit, including the following two cases:
(1) if the parallelogram coding unit is coded from the longitudinal end
Figure BDA0003051643050000079
Starting and in conjunction with the auxiliary vector
Figure BDA00030516430500000710
If no parallelogram coding unit can be searched in the opposite direction, the longitudinal end parallelogram coding unit is selected
Figure BDA00030516430500000711
As the transverse end parallelogram coding unit 1, is denoted by Γ1
(2) If the parallelogram coding unit is coded from the longitudinal end
Figure BDA00030516430500000712
Is started, andin and auxiliary vector
Figure BDA00030516430500000713
If the parallelogram coding unit can be searched in the opposite direction, the auxiliary vector will be searched
Figure BDA00030516430500000714
Search in opposite directions for distance-longitudinal end parallelogram coding units
Figure BDA00030516430500000715
The farthest parallelogram coding unit is taken as the transverse end parallelogram coding unit 1 and is marked as gamma1
Step 5.2.5, on the coding plane target, from the longitudinal end parallelogram coding unit
Figure BDA00030516430500000716
Starting and following the auxiliary vector
Figure BDA00030516430500000717
The opposite direction searches for the parallelogram coding unit, including the following two cases:
(1) if the parallelogram coding unit is coded from the longitudinal end
Figure BDA00030516430500000718
Starting and in conjunction with the auxiliary vector
Figure BDA00030516430500000719
If no parallelogram coding unit can be searched in the opposite direction, the longitudinal end parallelogram coding unit is selected
Figure BDA00030516430500000720
As the transverse end parallelogram encoding unit 2, is denoted by Γ2
(2) If the parallelogram coding unit is coded from the longitudinal end
Figure BDA00030516430500000721
Starting and in conjunction with the auxiliary vector
Figure BDA00030516430500000722
If the parallelogram coding unit can be searched in the opposite direction, the auxiliary vector will be searched
Figure BDA00030516430500000723
Search in opposite directions for distance-longitudinal end parallelogram coding units
Figure BDA00030516430500000724
The farthest parallelogram coding unit is taken as the transverse end parallelogram coding unit 2 and is marked as gamma2
Step 5.2.6, recording parallelogram coding unit gamma1Therein has a diameter of1Each vertex is a calibration angular point, and the parallelogram coding unit gamma is2Therein has a diameter of2Each vertex is a calibration angular point; according to phi1And phi2The numerical value of (2) includes the following 3 cases:
case 1, if Φ 11 and phi 24, the transverse end parallelogram coding unit 1 Γ1Has a code number of zvWhile noting the transverse end parallelogram coding unit 1 gamma1For line 1, parallelogram coding unit
Figure BDA00030516430500000725
Encoding a transverse end parallelogram encoding unit 2 gamma2Line 2, line 1 parallelogram coding unit
Figure BDA0003051643050000081
Case 2 if Φ 14 and phi 21, the transverse end parallelogram coding unit 2 Γ2Has a code number of zvWhile noting the transverse end parallelogram coding unit 2 gamma2For line 1, parallelogram coding unit
Figure BDA0003051643050000082
Encoding a transverse end parallelogram encoding unit 1 gamma1Line 2, line 1 parallelogram coding unit
Figure BDA0003051643050000083
Case 3, if Φ 12 and phi 22, the horizontal end parallelogram coding unit 1 Γ is referred to1Is respectively epsilon'1And ε1Note the horizontal end parallelogram coding unit 2 gamma2Is respectively epsilon'2And ε2The following two cases are included:
(1) when in use
Figure BDA0003051643050000084
And
Figure BDA0003051643050000085
are parallel and
Figure BDA0003051643050000086
and
Figure BDA0003051643050000087
in parallel, the horizontal end parallelogram coding unit 1 gamma is recorded1Is coded by the number zvWhile noting the transverse end parallelogram coding unit 1 gamma1For line 1, parallelogram coding unit
Figure BDA0003051643050000088
Note the horizontal end parallelogram coding unit 2 gamma2For line 2, line 1 parallelogram coding unit
Figure BDA0003051643050000089
(2) When in use
Figure BDA00030516430500000810
And
Figure BDA00030516430500000811
are parallel and
Figure BDA00030516430500000812
and
Figure BDA00030516430500000813
in parallel, the horizontal end parallelogram coding unit 2 gamma is recorded2Is coded by the number zvWhile noting the transverse end parallelogram coding unit 2 gamma2For line 1, parallelogram coding unit
Figure BDA00030516430500000814
Note that the horizontal end parallelogram coding unit 1 gamma1For line 2, line 1 parallelogram coding unit
Figure BDA00030516430500000815
Step 5.2.7, taking an integer variable delta and giving an initial value delta of 0;
step 5.2.8, on the coding plane target, from the 2 delta +1 st line 1 st parallelogram coding unit
Figure BDA00030516430500000816
Starting and following a prescribed vector
Figure BDA00030516430500000817
The parallelogram-shaped coding unit is searched in the direction of (1), and the result comprises the following two cases:
case 1, the 1 st parallelogram coding unit from the 2 δ +1 st line
Figure BDA00030516430500000818
Starting and along a defined vector
Figure BDA00030516430500000819
If the parallelogram coding unit can be searched in the direction, the 1 st parallelogram from the 2 delta +1 st line will be searchedCoding unit
Figure BDA00030516430500000820
Starting and along a defined vector
Figure BDA00030516430500000821
Figure BDA00030516430500000821
1 st parallelogram coding unit searched in direction and spaced from 2 delta +1 line
Figure BDA00030516430500000822
The nearest parallelogram coding unit is marked as the 1 st parallelogram coding unit of the 2 delta +3 th line
Figure BDA00030516430500000823
Then reassign δ +1 to δ and re-execute step 5.2.8;
case 2, the 1 st parallelogram coding unit from the 2 δ +1 st line
Figure BDA00030516430500000824
Starting and following a defined vector
Figure BDA00030516430500000825
If no parallelogram coding unit can be searched in the direction of (2), taking an integer variable m ', assigning m' to 2 δ +1, and then executing step 5.2.9;
step 5.2.9, assigning the integer variable δ again, wherein δ is 1;
step 5.2.10, on the coding plane target, from the 2 delta line 1 th parallelogram coding unit
Figure BDA00030516430500000826
Starting and following a prescribed vector
Figure BDA00030516430500000827
The parallelogram coding unit is searched in the direction of (1), and the search result comprises the following two cases:
case 1, parallelogram coding unit 1 from 2 δ -th line
Figure BDA00030516430500000828
Starting and following a prescribed vector
Figure BDA00030516430500000829
Can search for the parallelogram coding unit, the 1 st parallelogram coding unit from the 2 delta line
Figure BDA00030516430500000830
Starting and following a prescribed vector
Figure BDA0003051643050000091
Figure BDA0003051643050000091
2 δ row 1 parallelogram-numbered coding unit of the distance searched in the direction of (1)
Figure BDA0003051643050000092
The nearest parallelogram coding unit is marked as the 1 st parallelogram coding unit of the 2 delta +2 th line
Figure BDA0003051643050000093
Then reassign δ +1 to δ and re-execute step 5.2.10;
case 2, parallelogram coding unit from 2 δ -th line 1
Figure BDA0003051643050000094
Starting and following a prescribed vector
Figure BDA0003051643050000095
If no parallelogram coding unit can be searched in the direction of (2), taking an integer variable m ', assigning m' to 2 Delta, and then executing step 5.2.11;
step 5.2.11, assigning the integer variable δ again, wherein δ is 1; taking an integer variable rho, and assigning rho to 1;
5.2.12, encoding the rho-th parallelogram coding unit from the delta-th line on the encoding plane target
Figure BDA0003051643050000096
Starting and following the auxiliary vector
Figure BDA0003051643050000097
The parallelogram-shaped coding unit is searched in the direction of (1), and the result comprises the following two cases:
case 1, where the unit is encoded from the # th parallelogram of the δ -th line
Figure BDA0003051643050000098
Starting and following the auxiliary vector
Figure BDA0003051643050000099
Can search for the parallelogram coding unit, the rho-th parallelogram coding unit from the delta-th line
Figure BDA00030516430500000910
Starting and following the auxiliary vector
Figure BDA00030516430500000911
The parallelogram coding unit which is searched in the direction of (a) and is closest to the rho th parallelogram coding unit in the delta th row is marked as the rho +1 th parallelogram coding unit in the delta th row
Figure BDA00030516430500000912
Then assigning rho +1 to rho, and re-executing the step 5.2.12;
case 2, where the unit is encoded from the # th parallelogram of the δ -th line
Figure BDA00030516430500000913
Starting and following the auxiliary vector
Figure BDA00030516430500000914
If the parallelogram coding unit can not be searched in the direction of (3), the integer variable f is takenδAnd assign fδρ, then step 5.2.13 is performed;
step 5.2.13, this step includes the following cases:
case 1, if m 'is more than m ", judging whether delta is less than m'; when δ is less than m', δ +1 is assigned to δ, ρ is reassigned to ρ being 1, and then step 5.2.12 is executed again; otherwise, go to step 5.2.14;
case 2, if m ' < m ', determining whether delta < m ' is satisfied; when δ is less than m ", δ +1 is assigned to δ, ρ is reassigned to ρ being 1, and then step 5.2.12 is executed again; otherwise, go to step 5.2.14;
step 5.2.14, recording
Figure BDA00030516430500000915
Representing the rho parallelogram coding unit of the delta row
Figure BDA00030516430500000916
A corresponding code number;
step 5.2.15, assigning the value delta to the integer variable delta to be 1 again; taking an integer variable z', and adding an initial code number value zvAssigning a value to z'; re-assigning rho to the integer variable rho to be 0;
step 5.2.16, assign z' + ρ to
Figure BDA00030516430500000917
Then assigning rho +1 to rho; when rho < fδThen step 5.2.16 is re-executed; otherwise, go to step 5.2.17;
step 5.2.17, this step includes the following two cases:
case 1, if m ' < m ', when delta < m ', the
Figure BDA00030516430500000918
Assigning z', δ +1 to δ, reassigning ρ to 0, and then returning to the step 5.2.16; otherwise, executing step 5.3.1;
case 2, if m '> m', when delta < m
Figure BDA0003051643050000101
Assigning z', δ +1 to δ, reassigning ρ to 0, and returning to the executing stepStep 5.2.16; otherwise, executing step 5.3.1;
step 5.3.1, establishing a target coordinate system, and recording the number phi of the calibration corner points in 4 vertexes of the 1 st parallelogram coding unit in the 1 st linepThen can be according to phipThe magnitude of the numerical value includes the following two cases:
case 1 when phipWhen 1, the 1 st parallelogram coding unit in the 1 st line is denoted
Figure BDA0003051643050000102
In as the origin calibration corner point alpha'1At the moment, an origin is selected to mark the angular point alpha'1Origin O as target coordinate systemtTo assist the vector
Figure BDA0003051643050000103
As a target coordinate system XtThe direction of the axis;
case 2 when phipWhen 2, the 1 st parallelogram coding unit in the 1 st row is respectively marked
Figure BDA0003051643050000104
Is epsilon 'as two calibration corner points'3And ε3According to the calibrated corner point epsilon'3And ε3The positional relationship of (c) may in turn include the following:
(1) when vector
Figure BDA0003051643050000105
Direction and auxiliary vector of
Figure BDA0003051643050000106
Is the same, the calibration corner point epsilon 'is selected at the moment'3Origin O as target coordinate systemtTo assist the vector
Figure BDA0003051643050000107
Is taken as X of a target coordinate systemtThe direction of the axis;
(2) when vector
Figure BDA0003051643050000108
Direction and auxiliary vector of
Figure BDA0003051643050000109
When the directions of the two points are different, the calibration corner point epsilon' is selected at the moment3Origin O as target coordinate systemtTo assist the vector
Figure BDA00030516430500001010
Is taken as X of a target coordinate systemtThe direction of the axis;
step 5.3.2 with forward vector
Figure BDA00030516430500001011
As Z of the target coordinate systemtDirection of axis, Y of target coordinate systemtAxis, XtAxis and ZtThe axis meets the right-hand criterion, so as to establish a target coordinate system Ot-XtYtZt
Step 5.4, taking an integer variable e and giving an initial value of e ═ zv
Step 5.5, respectively recording the target coordinates of the centers of mass of the positioning circles as o in the parallelogram coding units corresponding to the coding numbers el,e(xl,e,yl,e0), target coordinate of center of mass of the directional ring is od,e(xd,e,yd,e0), the vector pointing from the center of mass of the orientation ring to the center of mass of the orientation ring is the direction vector in the parallelogram coding unit
Figure BDA00030516430500001012
Locate the distance to the centroid ol,eThe two nearest vertexes are respectively marked as Ce,1min(xe,1min,ye,1min0) and Ce,2min(xe,2min,ye,2min0), from vertex C)e,1min(xe,1min,ye,1min0) and vertex Ce,2min(xe,2min,ye,2min0) the vector formed is recorded as the vertex vector in the parallelogram coding unit
Figure BDA00030516430500001013
Direction vector
Figure BDA00030516430500001014
Can be calculated by equation (6) to obtain the vertex vector
Figure BDA00030516430500001015
Can be calculated from equation (7):
Figure BDA00030516430500001016
Figure BDA00030516430500001017
recording the centroid o of the positioning circle in the parallelogram coding unit corresponding to the code number el,eAnd parallel to the vertex vector
Figure BDA00030516430500001018
Is a straight line of1,eOver-orientation of the center of mass o of the ringd,eAnd parallel to the vertex vector
Figure BDA00030516430500001019
Is a straight line of2,ePassing through the location of the centroid ol,eAnd the center of mass o of the directional ringd,eIs a straight line of3,e(ii) a Using a straight line l3,eLine l1,eAnd a straight line l2,eThe parallelogram coding unit with the coding number e can be divided into 6 coding regions, and each coding region comprises 2 coding unit patterns;
and 5.6, in the parallelogram coding unit with the coding number e, respectively calculating a first judgment vector in the parallelogram coding unit according to the formula (8) and the formula (9)
Figure BDA0003051643050000111
And a second decision vector
Figure BDA0003051643050000112
Figure BDA0003051643050000113
Figure BDA0003051643050000114
Then, the first vector of the division of the region in the parallelogram coding unit with the code number e can be calculated by the formula (10) and the formula (11) respectively
Figure BDA0003051643050000115
And area division second vector
Figure BDA0003051643050000116
Figure BDA0003051643050000117
Figure BDA0003051643050000118
The following judgment is made:
if it is
Figure BDA0003051643050000119
And is
Figure BDA00030516430500001110
Then vertex C will be pointed oute,1min(xe,1min,ye,1min0) is recorded as the 1 st coding region positioning vertex in the parallelogram coding unit
Figure BDA00030516430500001111
And the parallelogram coding unit comprises the 1 st coding region positioning vertex
Figure BDA00030516430500001112
The coding region of (1) is marked as the 1 st coding region in the parallelogram coding unit; at the same time, the vertex Ce,2min(xe,2min,ye,2min0) is recorded as the 6 th coding region positioning vertex in the parallelogram coding unit
Figure BDA00030516430500001113
And will include the 6 th encoding region positioning vertex
Figure BDA00030516430500001114
The coding region of (2) is marked as the 6 th coding region in the parallelogram coding unit;
if it is
Figure BDA00030516430500001115
And is
Figure BDA00030516430500001116
Then vertex C will be pointed oute,1min(xe,1min,ye,1min0) is recorded as the 6 th coding region positioning vertex in the parallelogram coding unit
Figure BDA00030516430500001117
And will include the 6 th encoding region positioning vertex
Figure BDA00030516430500001118
The coding region of (2) is marked as the 6 th coding region in the parallelogram coding unit; at the same time, the vertex Ce,2min(xe,2min,ye,2min0) is recorded as the 1 st coding region positioning vertex in the parallelogram coding unit
Figure BDA00030516430500001119
And will include the 1 st coding region to locate the vertex
Figure BDA00030516430500001120
Is marked as the parallelogramA 1 st coding region in the coding unit;
and 5.7, in the parallelogram coding unit with the coding number e, taking the 1 st coding region of the parallelogram coding unit as a starting region and the 6 th coding region as an end region, and clockwise (along the target coordinate system Z)tThe opposite direction of the positive direction of the shaft), and sequentially marking the 6 coding regions in the parallelogram coding unit as the 1 st coding region, the 2 nd coding region, the 3 rd coding region, the 4 th coding region, the 5 th coding region and the 6 th coding region of the parallelogram coding unit;
step 5.8, in the parallelogram coding unit corresponding to the coding number e, from the centroid of the ith coding unit pattern (i ═ 1,2) in the σ -th coding region (σ ═ 1,2,5,6) to the straight line l1,eIs recorded as
Figure BDA00030516430500001121
Encoding the centroid of the ith (i-1, 2) coding unit pattern in the pi-th coding region (pi-3, 4) to a straight line l2,eIs recorded as
Figure BDA0003051643050000121
Encoding the centroid of the ith (i ═ 1,2) coding unit pattern in the theta-th coding region (theta ═ 1,2,3,4,5,6) to a straight line l3,eIs recorded as
Figure BDA0003051643050000122
Step 5.9, in the parallelogram coding unit with the coding number e, the centroid of the ith coding unit pattern in the sigma coding region is positioned to the straight line l1,eIs a distance of
Figure BDA0003051643050000123
And centroid to straight line l of ith coding unit pattern in σ -encoding region3,eIs a distance of
Figure BDA0003051643050000124
Formula (12) or formula (13) is satisfied, where σ ═ 1,2,5,6, and i ═ 1, 2;
Figure BDA0003051643050000125
and is
Figure BDA0003051643050000126
Figure BDA0003051643050000127
And is
Figure BDA0003051643050000128
In the parallelogram coding unit corresponding to the coding number e, the centroid of the ith coding unit pattern in the pi coding region is aligned to the straight line l2,eIs a distance of
Figure BDA0003051643050000129
And a centroid to straight line l of the ith coding unit pattern in the pi-th coding region3,eIs a distance of
Figure BDA00030516430500001210
Satisfies formula (14) or formula (15), wherein pi ═ 3,4 and i ═ 1, 2;
Figure BDA00030516430500001211
and is
Figure BDA00030516430500001212
Figure BDA00030516430500001213
And is
Figure BDA00030516430500001214
Step 5.10, the step includes the following two conditions:
case 1, in the parallelogram coding unit corresponding to code number e, if
Figure BDA00030516430500001215
And is
Figure BDA00030516430500001216
Then the 1 st coding unit pattern in the sigma coding region in the parallelogram coding unit is recorded as the 1 st coding unit pattern in the sigma coding region in the parallelogram coding unit
Figure BDA00030516430500001217
The 2 nd coding unit pattern in the sigma coding region in the parallelogram coding unit is taken as the 2 nd coding unit pattern in the sigma coding region in the parallelogram coding unit
Figure BDA00030516430500001218
Wherein σ is 1,2,5, 6;
case 2, in the parallelogram coding unit corresponding to coding number e, if
Figure BDA00030516430500001219
And is
Figure BDA00030516430500001220
Then the 2 nd coding unit pattern in the sigma coding region in the parallelogram coding unit is recorded as the 1 st coding unit pattern in the sigma coding region in the parallelogram coding unit
Figure BDA00030516430500001221
Let the 1 st coding unit pattern in the sigma coding region in the parallelogram coding unit be the 2 nd coding unit pattern in the sigma coding region in the parallelogram coding unit
Figure BDA00030516430500001222
Wherein σ is 1,2,5, 6;
step 5.11, the step comprises the following two conditions:
case 1, within a parallelogram coding unit corresponding to code number eIf, if
Figure BDA00030516430500001223
And is
Figure BDA00030516430500001224
Then the 1 st coding unit pattern in the pi-th coding region in the parallelogram coding unit is recorded as the 1 st coding unit pattern in the pi-th coding region in the parallelogram coding unit
Figure BDA00030516430500001225
Recording the 2 nd coding unit pattern in the pi-th coding region in the parallelogram coding unit as the 2 nd coding unit pattern in the pi-th coding region in the parallelogram coding unit
Figure BDA0003051643050000131
Wherein pi is 3, 4;
case 2, in the parallelogram coding unit corresponding to coding number e, if
Figure BDA0003051643050000132
And is
Figure BDA0003051643050000133
Then the 2 nd coding unit pattern in the pi-th coding region in the parallelogram coding unit is recorded as the 1 st coding unit pattern in the pi-th coding region in the parallelogram coding unit
Figure BDA0003051643050000134
Recording the 1 st coding unit pattern in the pi-th coding region in the parallelogram coding unit as the 2 nd coding unit pattern in the pi-th coding region in the parallelogram coding unit
Figure BDA0003051643050000135
Wherein pi is 3, 4;
step 5.12, in the parallelogram coding unit with the coding number e, the j-th coding unit pattern in the theta-th coding area is coded
Figure BDA0003051643050000136
The corresponding code value is noted
Figure BDA0003051643050000137
Wherein j is 1,2 and θ is 1,2,3,4,5,6, and
Figure BDA0003051643050000138
can only take the value of 0 or 1;
step 5.13, the 12-bit binary number corresponding to the code number e is weAnd specify
Figure BDA0003051643050000139
Figure BDA00030516430500001310
Respectively corresponding to binary numbers w in sequence from the lowest order to the highest ordereAnd must satisfy formula (16),
GT·Fe==e (16)
wherein, the column vector G is (2)0,21,22,23,24,25,26,27,28,29,210,211)TAnd is and
column vector
Figure BDA00030516430500001311
Step 5.14, according to the determined coding number e, the j-th bit coding unit pattern of the theta-th coding area in the parallelogram coding unit
Figure BDA00030516430500001312
Corresponding code value
Figure BDA00030516430500001313
Where j is 1,2 and θ is 1,2,3,4,5,6, the present step includes the following two cases:
case 1 if
Figure BDA00030516430500001314
Let the code number be e correspond to the jth code unit pattern of the theta code area in the parallelogram code unit
Figure BDA00030516430500001315
Is color 1, where j is 1,2 and θ is 1,2,3,4,5, 6;
case 2 if
Figure BDA00030516430500001316
Let the code number e correspond to the code unit pattern of the jth code unit in the theta code area in the parallelogram code unit
Figure BDA00030516430500001317
Is color 3, where j is 1,2 and θ is 1,2,3,4,5, 6;
step 5.15, recording the number of calibration angular points on the parallelogram coding unit with the coding number of e as geAccording to the number g of calibration angular points on the parallelogram coding unit with the code number eeThe following 3 cases are included:
case 1 if g e1, will be located in a parallelogram coding unit with code number e
Figure BDA00030516430500001318
The nominal corner points on the coding region are marked as the first corner points in the parallelogram coding unit
Figure BDA00030516430500001319
Calibration corner point of coding region
Figure BDA00030516430500001320
Wherein
Figure BDA00030516430500001321
The value of (1) is a certain numerical value of 1, 3,4 and 6;
case 2 ifgeThe following 4 cases are included:
(1) 2 calibration angle points on a parallelogram coding unit with the code number e are respectively positioned on the No. 1 coding area and the No. 6 coding area in the parallelogram coding unit, and then the calibration angle points are positioned on the No. 1 coding area and the No. 6 coding area in the parallelogram coding unit
Figure BDA0003051643050000141
The nominal corner points on the coding region are marked as the first corner points in the parallelogram coding unit
Figure BDA0003051643050000142
Calibration corner point of coding region
Figure BDA0003051643050000143
Wherein
Figure BDA0003051643050000144
(2) 2 calibration angle points on a parallelogram coding unit with the code number e are respectively positioned on the No. 3 coding area and the No. 4 coding area in the parallelogram coding unit
Figure BDA0003051643050000145
The nominal corner points on the coding region are marked as the first corner points in the parallelogram coding unit
Figure BDA0003051643050000146
Calibration corner point of coding region
Figure BDA0003051643050000147
Wherein
Figure BDA0003051643050000148
(3) 2 calibration angle points on a parallelogram coding unit with the code number e are respectively positioned on a 4 th coding region and a 6 th coding region in the parallelogram coding unit, and then the calibration angle points are positioned on the 4 th coding region and the 6 th coding region in the parallelogram coding unit
Figure BDA0003051643050000149
The nominal corner points on the coding region are marked as the first corner points in the parallelogram coding unit
Figure BDA00030516430500001410
Calibration corner point of coding region
Figure BDA00030516430500001411
Wherein
Figure BDA00030516430500001412
(4) 2 calibration angle points on a parallelogram coding unit with the code number e are respectively positioned on the No. 1 coding area and the No. 3 coding area in the parallelogram coding unit, and then the calibration angle points are positioned on the No. 1 coding area and the No. 3 coding area in the parallelogram coding unit
Figure BDA00030516430500001413
The nominal corner points on the coding region are marked as the first corner points in the parallelogram coding unit
Figure BDA00030516430500001414
Calibration corner point of coding region
Figure BDA00030516430500001415
Wherein
Figure BDA00030516430500001416
Case 3 if g e4, will be located in the parallelogram coding unit with code number e
Figure BDA00030516430500001417
The nominal corner points on the coding region are marked as the first corner points in the parallelogram coding unit
Figure BDA00030516430500001418
Calibration corner point of coding region
Figure BDA00030516430500001419
Wherein
Figure BDA00030516430500001420
Step 5.16, assigning e +1 to e again, and judging as follows:
if e < zv+ epsilon, then return to step 5.5 and start execution; if e is more than or equal to zv+ ε, then end;
each calibration angular point on the coding plane target obtains 2 coding serial numbers (namely, non-unique coding of each calibration angular point is completed); the 2 coding sequences of each calibration angular point can realize the judgment of the number of the lines and the columns of the uniquely determined coding plane target where the calibration angular point is located.
The steps of finishing the unique coding of each calibration angular point on the coding plane target by taking the obtained coding number of the parallelogram coding unit on the coding plane target and 2 coding serial numbers (namely, non-unique line coding numbers) of each calibration angular point as input conditions are as follows:
step 5.17.1, let j be Max { m', m "}, assume line j-1, fjThe number of calibration corner points at 4 vertices of each parallelogram coding unit is phi'p
Step 5.17.2.1, determining whether N is an even number, if N is an even number, taking an integer parameter Δ and assigning Δ to be N/2, and executing step 5.17.2.1.1; if N is not even, go to step 5.17.2.2;
step 5.17.2.1.1, all bits are located with code number e'1Of the parallelogram coding unit
Figure BDA0003051643050000151
Calibration corner points on a coding region
Figure BDA0003051643050000152
Is described as the first
Figure BDA0003051643050000153
The corner point is marked by a number, wherein zv≤e′1≤zm
Figure BDA0003051643050000154
Or 6, zmCan be obtained from formula (17);
Figure BDA0003051643050000155
step 5.17.2.1.2, take all bits located at code number e'2Of the parallelogram coding unit
Figure BDA0003051643050000156
Calibration corner points on a coding region
Figure BDA0003051643050000157
Wherein
Figure BDA0003051643050000158
Or 4, e'1≥z′v,z′vAs can be derived from the formula (18),
Figure BDA0003051643050000159
and according to
Figure BDA00030516430500001510
The values of (A) are divided into the following cases:
(1) when in use
Figure BDA00030516430500001511
Then will be located at code number e'2Of the parallelogram coding unit
Figure BDA00030516430500001512
Calibration corner points on a coding region
Figure BDA00030516430500001513
Is recorded as the fourth (e'2-a) 6 calibration corner points;
(2) When in use
Figure BDA00030516430500001514
Then will be located at code number e'2Of the parallelogram coding unit
Figure BDA00030516430500001515
Calibration corner points on a coding region
Figure BDA00030516430500001516
Is recorded as the fourth (e'2Calibrating a corner point by a number delta-1) _ 1;
after the step 5.17.2.1 is finished, ending the calibration of the corner point uniqueness coding;
step 5.17.2.2, taking the integer parameter delta and assigning the value delta to be (N +1)/2, and executing step 5.17.2.2.1;
step 5.17.2.2.1, all bits are located with code number e'1Of the parallelogram coding unit
Figure BDA00030516430500001517
Calibration corner points on a coding region
Figure BDA00030516430500001518
Is described as the first
Figure BDA00030516430500001519
The corner point is marked by a number, wherein zv≤e′1≤zm
Figure BDA00030516430500001520
Or 6, zmCan be derived from formula (19);
zm=ε+zv-Δ-1 (19)
step 5.17.2.2.2, this step includes the following two cases:
case 1 when phipWhen 1, all bits are located at code number e'2Of the parallelogram coding unit
Figure BDA00030516430500001521
Calibration corner points on a coding region
Figure BDA00030516430500001522
Wherein
Figure BDA00030516430500001523
Or 4, e'1≥z′v,z′vAs can be derived from the equation (20),
z′v=zv+Δ (20)
then according to
Figure BDA00030516430500001524
The values of (A) are divided into the following cases:
(1) when in use
Figure BDA00030516430500001525
Then will be located at code number e'2Of the parallelogram coding unit
Figure BDA00030516430500001526
Calibration corner points on a coding region
Figure BDA00030516430500001527
Is recorded as the fourth (e'2- Δ ') _6, where Δ' can be derived from equation (21),
Figure BDA00030516430500001528
wherein Δ ═ 2 (e'2-zv) V (N +1) +1 (integers only retained);
(2) when in use
Figure BDA0003051643050000161
Then will be located at code number e'2Of the parallelogram coding unit
Figure BDA0003051643050000162
On the coding regionCalibration corner point
Figure BDA0003051643050000163
Is recorded as the fourth (e'2- Δ ') _1, where Δ' can be derived from equation (22),
Figure BDA0003051643050000164
case 2 when phipWhen 2, all bits are located at code number e'2Of the parallelogram coding unit
Figure BDA0003051643050000165
Calibration corner points on a coding region
Figure BDA0003051643050000166
Wherein
Figure BDA0003051643050000167
Or 4, e'1≥z′v,z′vCan be derived from the formula (20)
Figure BDA0003051643050000168
The values of (A) are divided into the following cases:
(1) when in use
Figure BDA0003051643050000169
Then will be located at code number e'2Of the parallelogram coding unit
Figure BDA00030516430500001610
Calibration corner points on a coding region
Figure BDA00030516430500001611
Is recorded as the fourth (e'2-a corner point referenced # Δ ') _6, where Δ' can be derived from equation (22);
(2) when in use
Figure BDA00030516430500001612
Then will be located at code number e'2Of the parallelogram coding unit
Figure BDA00030516430500001613
Calibration corner points on a coding region
Figure BDA00030516430500001614
Is recorded as the fourth (e'2-a corner point referenced # 1, # Δ '_ where Δ' can be derived from equation (21); after the step 5.17.2.2 is finished, ending the calibration of the corner point uniqueness coding;
the unique coding work of all the calibration corner points in the coding plane target is finished through the steps, and each calibration corner point has a determined and unique coding number.
Step 6, let r ═ r-1, if r ≠ 0, then the number set Ψ of the uncoded coded planar target in the coded stereo targetrMiddle exclusion number IrAnd then, repeating the steps 3 to 5 until the coding work of all the calibration corner points in the coding stereo target is finished.
Through the steps, the unique coding work of all the calibration angle points in the coding plane target in the coding three-dimensional target can be completed, and the unique coding number of each calibration angle point in the coding three-dimensional target, the coding number of the coding plane target where each calibration angle point in the coding three-dimensional target is located and the coding number of the reference plane board area where each calibration angle point in the coding three-dimensional target is located are found.
Furthermore, a computer-readable storage medium is provided, comprising a computer program for use in conjunction with an electronic device having image processing functionality, the computer program being executable by a processor to perform the encoding method as described above.
Compared with the prior art, the invention has the following beneficial effects:
1. the invention sets S areas in the reference plane, each area comprises a coding plane target, and the space postures of the areas are different, thus the invention can finish the calibration process of a monocular or monocular vision single image on the premise of keeping higher precision, and improves the operability and efficiency of the calibration process;
2. in the invention, enough multiple areas can be divided in the reference plane plate, enough coding plane targets are arranged, and the space angle of each direction can be adjusted by each coding plane target, so that the space attitude is adjusted, and the fault tolerance rate and the robustness of the camera calibration process are greatly improved;
3. the coding plane target adopted in the invention has a simple coding pattern structure, so that in the camera calibration process, the calibration angular points and the coding information of any coding plane target in the coding three-dimensional target can be accurately and quickly obtained by using a digital image processing technology according to a single image, thereby improving the operability of the camera calibration process;
4. in the invention, enough calibration angle points can be arranged in each coding plane target in the reference plane plate, so that the condition of incomplete shot images in the camera calibration process can be dealt with, and simultaneously, in the coding three-dimensional target, the coding information of each calibration angle point is uniquely determined, thereby ensuring the accuracy of the camera calibration process;
5. the coding information in the coding three-dimensional target has huge coding capacity, and a large enough reference plane board and the largest coding plane target can be developed, so that the coding three-dimensional target can cope with various calibration scenes such as a large view field or a complex background, and the application range is wide.
Drawings
FIG. 1 is a 3D schematic representation of an encoded solid target employed in the examples;
FIG. 2 is a schematic illustration of division of a reference plane in-plane region encoding a stereoscopic target;
FIG. 3 is a schematic view of a linkage mechanism for encoding a three-dimensional target;
FIG. 4 is a schematic front view of a coding plane target plate in a coding stereo target;
FIG. 5 is a schematic view of the reverse side of the encoding planar target plate in the encoding stereo target;
FIG. 6 is a schematic diagram of a connection mechanism connecting a coding plane target board and a reference plane board in a coding stereo target;
FIG. 7 shows a prescribed vector for encoding a planar target according to an embodiment of the present invention
Figure BDA0003051643050000171
And an auxiliary vector
Figure BDA0003051643050000172
A schematic diagram of (a);
FIG. 8 shows a specific vector in a planar target according to code number 5 in an embodiment of the present invention
Figure BDA0003051643050000173
And an auxiliary vector
Figure BDA0003051643050000174
Searching schematic diagrams of a 1 st parallelogram coding unit in a 1 st line and a 1 st parallelogram coding unit in a 2 nd line;
FIG. 9 shows a specific vector in a planar target according to number 5 encoding in an embodiment of the present invention
Figure BDA0003051643050000175
And a schematic diagram of each line of the 1 st parallelogram coding units determined by the 1 st parallelogram coding unit of the 1 st line and the 1 st parallelogram coding unit of the 2 nd line;
FIG. 10 shows an exemplary embodiment of the present invention for encoding auxiliary vectors in a planar target according to No. 5
Figure BDA0003051643050000176
And a schematic diagram of all parallelogram coding units in each row determined by the 1 st parallelogram coding unit in each row;
fig. 11 is a schematic view of a code sequence number of each parallelogram coding unit determined according to a coding method of each calibration corner point in the No. 5 coding plane target in the embodiment of the present invention;
FIG. 12 is a schematic diagram of a target coordinate system established within the coded planar target No. 5 in an embodiment of the present invention;
FIG. 13 is a schematic diagram of non-unique coding of each calibration corner point in the No. 5 coding plane target according to the embodiment of the present invention;
FIG. 14 is a schematic diagram of unique codes of each calibration corner point in the No. 5 coded planar target according to the embodiment of the present invention;
FIG. 15 is a schematic view of the coding planar target number 1;
FIG. 16 is a schematic view of the number 2 coded planar target;
FIG. 17 is a schematic view of the encoding planar target number 3;
FIG. 18 is a schematic view of the encoding planar target number 4;
FIG. 19 is a schematic view of the coding planar target No. 5;
FIG. 20 is a schematic view of the coding planar target No. 6;
fig. 21 is a schematic flow chart of the encoding method based on the encoding stereo target of the present invention.
Detailed Description
The following detailed description of the preferred embodiments of the present invention, taken in conjunction with the accompanying drawings, will make the advantages and features of the invention easier to understand by those skilled in the art, and thus will clearly and clearly define the scope of the invention.
Referring to fig. 1, the coded three-dimensional target for rapidly calibrating the internal and external parameters of the camera comprises a reference plane plate, a coded plane target plate and a connecting mechanism, the coded three-dimensional target shown in fig. 1 totally comprises 1 reference plane plate, 6 coded plane target plates and 6 connecting mechanisms, the surface of the reference plane plate is divided into 6 areas, each area is fixedly provided with one connecting mechanism, the end part of each connecting mechanism is movably connected with one coded plane target plate through a spherical hinge, and the space posture of each coded plane target plate can be movably adjusted.
The reference plane plate of the coding stereo target is a cuboid thin plate structure with the length of a, the width of b and the thickness of c; in this embodiment, the length of the reference plane plate for encoding the stereoscopic target is 450mm, the width thereof is 450mm, and the thickness thereof is 13 mm.
Selecting a rectangular surface with the length of 450mm and the width of 450mm as a reference surface in a reference plane board for encoding the three-dimensional target, and adopting the division methodThe method divides the reference surface into 6 areas with 2 rows by 3 columns, and the dividing method is as follows: step 1, arbitrarily taking one vertex of a reference surface as an origin o of a reference coordinate system, and taking one side which is intersected to form the origin o and has the length of a in the reference surface as an x-axis determination side N of the reference coordinate system1Determining the edge N on the x-axis of the reference coordinate system1Taking the vertex of the reference surface as the x-axis determination edge N of the reference coordinate system1Upper first point o1Wherein the x-axis of the reference coordinate system determines the edge N1Upper first point o12 points which are not coincident with the origin o of the reference coordinate system are recorded as vectors
Figure BDA0003051643050000181
Determining vectors for the x-axis of a reference coordinate system
Figure BDA0003051643050000182
One side with the length b and intersecting to form an origin o in the reference plane is taken as a y-axis determination side N of the reference coordinate system2Determining the edge N on the y-axis of the reference coordinate system2The vertex of the upper reference surface is recorded as the y-axis determination edge N of the reference coordinate system2Upper first point o2Wherein the y-axis of the reference coordinate system determines the edge N2Upper first point o22 points which are not coincident with the origin o of the reference coordinate system are recorded as vectors
Figure BDA0003051643050000191
Determining vectors for the y-axis of a reference coordinate system
Figure BDA0003051643050000192
Wherein, the x-axis of the reference coordinate system determines the edge N1Determining edge N with reference coordinate system y-axis2Are 2 mutually different edges; determining vector by x-axis of reference coordinate system
Figure BDA0003051643050000193
The direction of the vector is taken as the positive direction of the x axis of the reference coordinate system, and the vector is determined by the y axis of the reference coordinate system
Figure BDA0003051643050000194
With direction of the reference coordinate systemForward of the y axis, and the x axis, the y axis and the z axis meet the right hand rule, so that a reference coordinate system o-xyz is established;
step 2, in the reference plane, according to the reference coordinate system o-xyz, using Sa-1-2 longitudinal region dividing lines parallel to the y-axis and Sb-1 transverse region dividing lines parallel to the x-axis divide the reference plane into S regions, wherein Sa、SbAre all positive integers, Sa=3,S b2 and SaThe maximum number of rows of the regions that can be divided among the S regions divided in the reference plane, i.e., the maximum value of the row numbers of the S regions in the reference plane, is also represented by SbThe maximum number of lines indicating the regions that can be divided by dividing 6 regions in the reference plane, i.e., the maximum value of the line numbers of the 6 regions in the reference plane, has Sa·S b3 × 2 — S — 6, the reference plane can then be divided into 6 regions;
step 3, in the reference plane, recording a region containing a reference coordinate system o-xyz origin o as a row 1 and column 1 region, and recording the row 1 and column 1 region as a No. 1 region; taking region No. 1 as a starting region, sequentially recording 2 regions searched along the x-axis of a reference coordinate system in the forward direction as a row 1, a column 2 region and a row 1, a column 3 region, and simultaneously recording a row 1, a column 2 region as
Figure BDA0003051643050000195
Number region, line 1, column 3 region
Figure BDA0003051643050000196
A number area in which, among others,
Figure BDA0003051643050000197
denote the 2 nd row and 1 st column regions as
Figure BDA0003051643050000198
A number area; to be provided with
Figure BDA0003051643050000199
The number region is a starting region, and 2 regions which are sequentially searched along the x axis of the reference coordinate system in the forward directionThe areas are sequentially marked as the 2 nd row and 2 nd column area and the 2 nd row and 3 rd column area, and the 2 nd row and 2 nd column area is marked as the area
Figure BDA00030516430500001910
Number zone, line 2, column 3 zone
Figure BDA00030516430500001911
A number area in which, among others,
Figure BDA00030516430500001912
as shown in fig. 2, the 6 coded planar targets have the following features: the coding plane target board is a cuboid, one of 6 planes of the coding plane target board is arbitrarily selected as the front surface of the coding plane target board in the coding plane target board, and one plane parallel to the front surface of the coding plane target board is selected as the back surface of the coding plane target board in the remaining 5 planes of the coding plane target board; the front side of the coding plane target board is internally provided with a coding plane target, and the back side of the coding plane target board is used for being connected with the connecting mechanism. In this embodiment, the connection mechanism is as shown in fig. 3; the front surface of the coding plane target board is provided with a coding plane target, as shown in figure 4; the reverse side of the coded planar target board is shown in fig. 5 and is used for connecting with a connecting mechanism; at the same time, the attachment mechanism attaches the encoded planar target board to the reference planar board, as shown in FIG. 6.
In 6 regions of the reference surface, there is one and only one connecting mechanism in each region of the reference surface to connect 1 coded planar target board with the reference planar board, the reference surface is marked as the first
Figure BDA00030516430500001913
The connection mechanism in the region is
Figure BDA00030516430500001914
Connection mechanism, recording
Figure BDA00030516430500001915
Connected by a connecting mechanism1 coding plane target board is the first
Figure BDA00030516430500001916
Coded planar target, 6 th
Figure BDA00030516430500001917
Connecting mechanisms being different from each other, 6 th connecting mechanism entities
Figure BDA0003051643050000201
Coded planar target entities with mutually different coded planar targets, wherein
Figure BDA0003051643050000202
Will be first
Figure BDA0003051643050000203
The coding plane target in the front surface of the coding plane target plate is marked as the first
Figure BDA0003051643050000204
A planar target is encoded.
In this embodiment, the coded three-dimensional targets comprise 6 coded planar targets in total, and the coded planar targets from No. 1 to No. 6 are shown in fig. 15-20, wherein the characteristics of each coded planar target are as follows:
the coding plane target consists of coding checkerboards formed by alternating parallelogram coding units and parallelogram non-coding units, in the embodiment, all the parallelogram coding units and the parallelogram non-coding units in the coding plane target are squares with the side length of 13.5 millimeters; the coding plane target takes the intersection points of the parallelogram coding units connected with any opposite angles as the calibration angular points of the coding plane target, and the coding plane target comprises 5 lines multiplied by 5 columns of calibration angular points in total.
The interior of each parallelogram coding unit in the coding plane target is provided with a coding pattern, the coding pattern comprises a positioning pattern, an orientation pattern and a coding mark pattern, the coding mark pattern is composed of a plurality of coding unit patterns, and the positioning pattern, the orientation pattern and the coding unit patterns in each parallelogram coding unit are not overlapped and not communicated; the orientation pattern and the positioning pattern are used for judging the rotation direction of the coded plane target; the coding mark pattern is used for coding each calibration corner point in the coding plane target.
As shown in fig. 7, taking the coding plane target No. 5 as an example, any parallelogram coding unit in the coding plane target No. 5 is taken as the coding plane target vector determination coding unit Γv(in FIG. 7, line 3, 3 rd parallelogram coding unit determines coding unit Γ for coding planar target vectorsv) And determining a coding unit gamma by taking No. 5 coding plane target vectorsvOne vertex of the vector determination coding unit is marked as a first vertex o ″ of the vector determination coding unit1Determining a coding unit gamma in the coding plane target vectorvWherein the intersections form a vector defining a first vertex o ″' of the coding unit1Any one edge of the first edge is marked as a vector to determine first edge Ν of the coding unitv1Determining the first edge Ν of the coding unit in the vectorv1Upward orientation amount determination encoding unit ΓvThe vertex of (a) is marked as the first point o' on the first side of the vector-determined coding unit2Wherein the vector determines a first point o' on a first side of the coding unit2And vector determines the first vertex o ″ "of the coding unit1Are 2 points which are not coincident with each other, and the vector is recorded
Figure BDA0003051643050000205
To specify a vector
Figure BDA0003051643050000206
And the direction and the specified vector pointing from the center of mass of the oriented pattern to the center of mass of the oriented pattern in the same parallelogram coding unit
Figure BDA0003051643050000207
In the same direction.
Marking the plane where the coding plane target is as a target plane PtDetermining the first vertex o' of the coding unit by the vector1Making a prescribed vector for the starting point
Figure BDA0003051643050000208
The unit vector in the same direction is denoted as the 1 st predetermined unit vector
Figure BDA0003051643050000209
Front view target plane PtThen, the first vertex o' of the coding unit is determined by the vector1As a center of rotation, in a target plane PtDefining the 1 st unit vector
Figure BDA00030516430500002010
Counterclockwise rotation by an angle beta '(0 DEG < beta' < 90 DEG) to obtain a 2 nd prescribed unit vector
Figure BDA00030516430500002011
Determining the first vertex o' of the coding unit in space as a vector1As a starting point, an
Figure BDA0003051643050000211
The unit vectors with the same direction are recorded as positive vectors
Figure BDA0003051643050000212
Determining a coding unit gamma by using a coding plane target vectorvUpper distance coding plane target vector determination coding unit gammavThe two nearest vertexes of the orientation pattern in (1) are respectively marked as the 1 st temporary vertex o ″3And the 2 nd temporary vertex o ″4(ii) a If it is
Figure BDA0003051643050000213
Direction of the resulting vector and the forward vector
Figure BDA0003051643050000214
Are in the same direction, they will be recorded as vectors
Figure BDA0003051643050000215
Auxiliary vector
Figure BDA0003051643050000216
If it is
Figure BDA0003051643050000217
Direction of the resulting vector and the forward vector
Figure BDA0003051643050000218
Are in the same direction, then vector will be generated
Figure BDA0003051643050000219
Is recorded as an auxiliary vector
Figure BDA00030516430500002110
In this embodiment, the vector determines the first vertex o ″' of the coding unit1The vector determines a first point o' on a first side of the coding unit2Specifying the vector
Figure BDA00030516430500002111
And an auxiliary vector
Figure BDA00030516430500002112
As shown in fig. 7.
The positioning pattern, the orientation pattern and the coding unit pattern inside each parallelogram coding unit in the coding plane target are not overlapped and not communicated.
The positioning pattern in each parallelogram coding unit in each coding plane target is a solid circle with the diameter of 3mm, the orientation patterns are all circular rings with the outer diameter of 3mm and the inner diameter of 1.5 mm, and the position relation of the positioning pattern and the orientation patterns meets the following conditions: the positioning pattern and the orientation pattern of the same parallelogram coding unit are both arranged inside the parallelogram coding unit, the mass center of the positioning pattern and the mass center of the orientation pattern in the same parallelogram coding unit are both arranged near the mass center of the parallelogram coding unit, and the direction and the specified vector pointing to the mass center of the positioning pattern from the mass center of the orientation pattern in the same parallelogram coding unit
Figure BDA00030516430500002113
In the same direction.
The sizes of a plurality of coding unit patterns in the same parallelogram coding unit in each coding plane target can be different or different; in the embodiment of the invention, the 12 coding unit patterns in the same parallelogram coding unit in each coding plane target are all solid circles with the diameter of 1.5 mm.
Each parallelogram coding unit and the positioning pattern and the coding unit pattern inside the parallelogram coding unit in each coding plane target satisfy the following relations: in the same parallelogram coding unit, the contour length of each coding unit pattern is smaller than that of the positioning pattern, and the contour length of the positioning pattern is smaller than the perimeter 2d +2e of the parallelogram coding unit. In the present embodiment (as shown in fig. 4), in the same parallelogram-shaped coding unit, the contour length of each coding unit pattern is 2.36 mm smaller than the contour length of the positioning pattern is 4.71 mm, and the contour length of the positioning pattern is 4.71 mm smaller than the perimeter of the parallelogram-shaped coding unit is 48 mm.
The background colors of all the parallelogram coding units in each coding plane target are the same, and the background colors of all the parallelogram coding units in each coding plane target are marked as color 1; the colors of all the parallelogram non-coding units in the coding plane target are the same, and the colors of all the parallelogram non-coding units in the coding plane target are marked as color 2; the background color (i.e. color 1) of all parallelogram coding units in the coding plane target is obviously different from the color (i.e. color 2) of all parallelogram non-coding units; in a specific embodiment (as shown in fig. 4), the background color of all parallelogram-encoded units in each encoded plane target is black (i.e., color 1), and is significantly different from the color of all parallelogram-non-encoded units in each encoded plane target being white (i.e., color 2).
The colors of all the positioning patterns and all the orientation patterns contained in all the parallelogram coding units in each coding plane target are the same, the colors of all the positioning patterns and all the orientation patterns contained in all the parallelogram coding units in each coding plane target are marked as color 3, and the color 3 is obviously different from the color 1; in the embodiment of the present invention, the color of all the positioning patterns and orientation patterns contained in all the parallelogram coding units in each coding plane target is white (i.e. color 3). In this embodiment (as shown in fig. 4), the color 3 and the color 2 are both white, and the color 3 (white) is obviously different from the color 1 (black).
The color of all the code cell patterns contained within all the parallelogram code cells in each code plane target is the same as color 1 or the same as color 3. In this embodiment (as shown in fig. 4), the color of all the coding unit patterns in the coding plane target is black (color 1) or white (color 3).
The connected domain with the color black (i.e. color 1) in each parallelogram coding unit in each coding plane target has the following characteristics: the same parallelogram coding unit contains 2 black (namely color 1) connected domains, and the area of the black (namely color 1) connected domain closest to the centroid of the oriented pattern is smaller than that of the other black (namely color 1) connected domain.
The area sizes of the positioning patterns contained in different parallelogram coding units in each coding plane target can be the same or different; as shown in fig. 4, in this embodiment, the positioning patterns included in different parallelogram-shaped coding units in each coding plane target have the same area size.
The area sizes of the orientation patterns contained in different parallelogram coding units in each coding plane target can be the same or different; as shown in fig. 4, in the present embodiment, the different parallelogram-shaped coding units in each coding plane target include the same area size of the orientation pattern.
The area sizes of the coding unit patterns contained in different parallelogram coding units in each coding plane target can be the same or different; as shown in fig. 4, in this embodiment, the coding unit patterns included in different parallelogram coding units in each coding plane target have the same area size.
In this embodiment, the total number of the coding sequence numbers of the parallelogram coding units of the coding plane targets is 4096, consecutive numbers are used, and the coding sequence number range is [0,4095], so that the coding sequence numbers of any parallelogram coding unit in all the S coding plane targets are within this range, that is, the coding number of the parallelogram coding unit with the largest coding number in the coding stereo target should be less than 4096.
Referring to fig. 21, a coding method based on the coding three-dimensional target finds a unique coding number of each calibration corner point in the coding three-dimensional target, a coding number of the coding plane target where each calibration corner point in the coding three-dimensional target is located, and a coding number of a reference plane plate region where each calibration corner point in the coding three-dimensional target is located by coding all calibration corner points in each coding plane target, thereby completing coding of all calibration corner points of the whole coding three-dimensional target.
Further, the method for encoding each calibration corner point in the encoding stereo target comprises the following steps:
step 1, taking variable r to represent the number of encoding plane targets which do not complete encoding and the number of regions which do not complete encoding, setting an initial value r to be S, and setting an initial encoding number z of a parallelogram encoding unit in an encoding stereo targetS,zSIs a positive integer; in this embodiment, the initial value r is set to 6, and the initial code number of the parallelogram coding unit in the coded stereo target is z6=0。
Step 2, setting the number ranges of the coding stereo target region and the coding plane target as continuous positive integers of 1,2,3r=[1,2,3,...,S]R also represents the number of the numbers in the number set; in this embodiment, the number ranges of the coding stereo target region and the coding plane target are consecutive positive integers of 1,2,3,4,5, and 6, and the number set of the coding plane target not coded in the coding stereo target is assumed to be Ψr=[1,2,3,4,5,6]。
Step 3, in 6 areas which are not coded, coding is carried out in space according to any rule or at randomSelecting a region in the coded stereo target, and simultaneously selecting a number set psi of an uncoded coded plane target in the coded stereo targetr=[1,2,3,4,5,6]In the method, a number is selected according to any rule or at random and is marked as IrIn this example IrAnd 5, the number of the selected corresponding area is used as the number of the selected corresponding area.
And calculating to obtain a No. 5 region as a region where the No. 2 row and the No. 2 column on the coding stereo target reference plane plate are located, wherein the coding plane target in the No. 5 region is the No. 5 coding plane target, and the No. 5 coding plane target has 5 multiplied by 5 which is 25 calibration angular points and 18 parallelogram coding units.
Step 4, initial coding number z of the No. 5 coding plane target in the No. 5 arearCarrying out reassignment;
in this embodiment, if r is 6 ═ S, and r is S, the initial code number of the coding plane target No. 5 in the coding plane target No. 5 area is zr=0;
Step 5, coding all the calibration corner points of the No. 5 coding plane target in the No. 5 area by using a coding method of the coding plane target to obtain a unique coding number of each calibration corner point in the No. 5 coding plane target;
the specific encoding process is as follows:
step 5.1, taking integer 0 as an initial coding number in the coding plane target, namely ordering z v0; the total number of the coding plane targets is 5 lines multiplied by 5 columns of calibration angular points, M and N are both odd numbers, and the total number epsilon of the parallelogram coding units can be calculated by a formula (1):
ε=(M-1)(N-1)/2+M+N=18 (1)
wherein M ═ 5 and N ═ 5;
step 5.2.1, recording one parallelogram coding unit in the arbitrarily-selected coding plane target as pi1Any one of the coding units II is connected with a parallelogram coding unit1Parallelogram coding units with common vertices denoted pi2Therein Π1And pi2The position of (2) is selected as shown in figure 8;
step 5.2.2, coding from parallelogram on the coding plane targetUnit II1Initially, will follow and define a vector
Figure BDA0003051643050000241
Parallelogram coding unit pi for searching distance in opposite direction1The farthest parallelogram coding unit is taken as the longitudinal end parallelogram coding unit 1 and is recorded as
Figure BDA0003051643050000242
As shown in fig. 8;
step 5.2.3, on the coded planar target, the vector to be encoded is determined
Figure BDA0003051643050000243
Parallelogram coding unit pi for searching distance in opposite direction2The farthest parallelogram coding unit is taken as the longitudinal end parallelogram coding unit 2 and is recorded as
Figure BDA0003051643050000244
As shown in fig. 8;
step 5.2.4, on the coding plane target, the vector to be encoded and the auxiliary vector
Figure BDA0003051643050000245
Search in opposite directions for distance-longitudinal end parallelogram coding units
Figure BDA0003051643050000246
The farthest parallelogram coding unit is denoted as Γ as the transverse end parallelogram coding unit 11As shown in fig. 8;
step 5.2.5, on the encoding plane target, the vector to be encoded and the auxiliary vector
Figure BDA0003051643050000247
Search in opposite directions for distance-longitudinal end parallelogram coding units
Figure BDA0003051643050000248
With the furthest parallelogram-shaped coding unit as the crossbarThe end-pointing parallelogram-shaped coding unit 2 is denoted by Γ2As shown in fig. 8;
step 5.2.6, in this embodiment, the parallelogram encoding unit Γ1And a parallelogram encoding unit Γ2The number of the middle calibration angular points satisfies phi 12 and phi 22, and
Figure BDA0003051643050000249
and
Figure BDA00030516430500002410
are parallel and
Figure BDA00030516430500002411
and
Figure BDA00030516430500002412
in the case of parallelism, the transverse end parallelogram coding unit 1 gamma1The code number of (1) is 0, and as shown in FIG. 9, the coding unit 1 Γ is written in the form of a parallelogram-shaped unit1For line 1, parallelogram coding unit
Figure BDA00030516430500002413
Encoding a transverse end parallelogram encoding unit 2 gamma2Line 2, line 1 parallelogram coding unit
Figure BDA00030516430500002414
Step 5.2.7, taking an integer variable delta and giving an initial value delta of 0;
step 5.2.8, in this embodiment, on the encoding plane target, the 1 st parallelogram encoding unit in the 1 st row can be obtained by searching respectively
Figure BDA00030516430500002415
Line 3, line 1 parallelogram coding unit
Figure BDA00030516430500002416
Line
5, 1 st parallelogram coding unit
Figure BDA00030516430500002417
The integer variable m' is 6, and the search result is shown in fig. 9;
step 5.2.9, assigning the integer variable δ again, wherein δ is 1;
step 5.2.10, in this embodiment, on the encoding plane target, the 1 st parallelogram encoding unit in the 2 nd row can be obtained by searching respectively
Figure BDA0003051643050000251
Line 4, 1 st parallelogram coding unit
Figure BDA0003051643050000252
Line
6, 1 st parallelogram coding unit
Figure BDA0003051643050000253
The integer variable m ″, which is 6, the search result is shown in fig. 9;
step 5.2.11, assigning the integer variable δ again, wherein δ is 1; taking an integer variable rho, and assigning rho to 1;
step 5.2.12, encoding the first parallelogram encoding unit from line 1 on the encoding plane target
Figure BDA0003051643050000254
Starting and following the auxiliary vector
Figure BDA0003051643050000255
Searching for a parallelogram coding unit in the direction of (1);
step 5.2.13, judging whether delta is less than 6; when δ is less than 6, δ +1 is assigned to δ, ρ is reassigned to ρ being 1, and then step 5.2.12 is executed again; otherwise, go to step 5.2.14;
in this embodiment, the 1 st parallelogram coding unit in the 1 st row can be obtained according to steps 5.2.12 and 5.2.13
Figure BDA0003051643050000256
Line 1,2 nd parallel fourEdge coding unit
Figure BDA0003051643050000257
Line 1, 3 rd parallelogram coding unit
Figure BDA0003051643050000258
Line 2, line 1 parallelogram coding unit
Figure BDA0003051643050000259
Line 2, 2 nd parallelogram coding unit
Figure BDA00030516430500002510
Line 2,3 rd parallelogram coding unit
Figure BDA00030516430500002511
Line 3, line 1 parallelogram coding unit
Figure BDA00030516430500002512
Line 3, 2 nd parallelogram coding unit
Figure BDA00030516430500002513
Line 3, line 3 parallelogram coding unit
Figure BDA00030516430500002514
And f is33; line 4, 1 st parallelogram coding unit
Figure BDA00030516430500002515
Line 4, 2 nd parallelogram coding unit
Figure BDA00030516430500002516
Line 4, 3 rd parallelogram coding unit
Figure BDA00030516430500002517
And f is43; line 5, 1 st parallelogram coding unit
Figure BDA00030516430500002518
Line 5, 2 nd parallelogram coding unit
Figure BDA00030516430500002519
Line 5, 3 rd parallelogram coding unit
Figure BDA00030516430500002520
And f is53; line 6, 1 st parallelogram coding unit
Figure BDA00030516430500002521
Line 6, 2 nd parallelogram coding unit
Figure BDA00030516430500002522
Line 6, 3 rd parallelogram coding unit
Figure BDA00030516430500002523
And f is63; the following can be obtained in the examples: f. of1=3,f2=3,f3=3,f4=3,f53, namely representing that in the encoding plane target, the number of parallelogram encoding units in the 1 st, 2 nd, 3 rd, 4 th, 5 th and 6 th lines is 3, and the search result is shown in fig. 10;
step 5.2.14, recording
Figure BDA00030516430500002524
Representing the rho parallelogram coding unit of the delta row
Figure BDA00030516430500002525
A corresponding code number;
step 5.2.15, assigning the value delta to the integer variable delta to be 1 again; taking an integer variable z', and adding an initial code number value zvAssigning a value to z'; re-assigning rho to the integer variable rho to be 0; in this embodiment, z' is assigned 0; taking an integer variable rho and assigning rho to be 0;
step 5.2.16, assign z' + ρ to
Figure BDA00030516430500002526
Then assigning rho +1 to rho; when rho < fδThen step 5.2.16 is re-executed; otherwise, go to step 5.2.17;
in this embodiment, the encoding plane target can be obtained through steps 5.2.16 and 5.2.17,
Figure BDA0003051643050000261
the code number of each parallelogram coding unit in the corresponding coding plane target is shown in FIG. 11;
step 5.3.1, establishing a target coordinate system, and recording the 1 st parallelogram coding unit of the 1 st line
Figure BDA0003051643050000262
The calibration corner point in is alpha'1At this time, a calibration corner point alpha 'is selected'1Origin O as target coordinate systemtTo assist the vector
Figure BDA0003051643050000263
Is taken as X of a target coordinate systemtThe direction of the axis;
step 5.3.2 with forward vector
Figure BDA0003051643050000264
As Z of the target coordinate systemtDirection of axis, Y of target coordinate systemtAxis, XtAxis and ZtThe axis meets the right-hand criterion, so as to establish a target coordinate system Ot-XtYtZtAs shown in fig. 12;
step 5.4, taking an integer variable e and giving an initial value of e ═ zv(ii) a In this embodiment, 0 is assigned to the integer variable e;
and 5.5, in the coding plane target, respectively recording the target coordinates of the centroids of the positioning circles as o in the parallelogram coding units corresponding to the coding numbers of 0l,0(6.75, -4.5,0) and the target coordinate of the center of mass of the directional ring isod,0(6.75, -9,0), the vector pointing from the orientation ring centroid to the orientation ring centroid is the direction vector in the parallelogram coding unit corresponding to the coding number 0
Figure BDA0003051643050000265
Calculating the distance positioning circular mass center o in the parallelogram coding unit with the coding number of 0l,0The two nearest vertexes are respectively marked as C0,1min(13.5,0,0) and C0,2min(0,0,0) direction vector in parallelogram coding unit with code number 0
Figure BDA0003051643050000266
The vertex vector in the parallelogram coding unit corresponding to the code number 0, which can be calculated by the formula (2)
Figure BDA0003051643050000267
Can be calculated from the formula (3),
Figure BDA0003051643050000268
Figure BDA0003051643050000269
in the parallelogram coding unit with the code number of 0, the centroid o of the positioning circle is recordedl,0And parallel to the vertex vector
Figure BDA00030516430500002610
Is a straight line of1,0Over-orientation of the center of mass o of the ringd,0And parallel to the vertex vector
Figure BDA00030516430500002611
Is a straight line of2,0Passing through the location of the centroid ol,0And the center of mass o of the directional ringd,0Is a straight line of3,0(ii) a Using a straight line l3,0Line l1,0And a straight line l2,0The parallelogram with the code number of 0 can be correspondedThe shape coding unit is divided into 6 coding regions, and each coding region in the parallelogram coding unit with the coding number of 0 comprises 2 coding unit patterns;
and 5.6, in the parallelogram coding unit with the coding number of 0, respectively calculating a first judgment vector in the parallelogram coding unit according to the formula (8) and the formula (9)
Figure BDA00030516430500002612
And a second decision vector
Figure BDA00030516430500002613
Figure BDA0003051643050000271
Figure BDA0003051643050000272
Then, the first vector of the division of the region in the parallelogram coding unit with the coding number 0 can be calculated by the formula (10) and the formula (11) respectively
Figure BDA0003051643050000273
And area division second vector
Figure BDA0003051643050000274
Figure BDA0003051643050000275
Figure BDA0003051643050000276
Due to the fact that
Figure BDA0003051643050000277
And is
Figure BDA0003051643050000278
Then vertex C will be pointed out0,1min(0,0,0) is recorded as the positioning vertex of the 1 st coding region in the parallelogram coding unit corresponding to the coding number 0
Figure BDA0003051643050000279
And vertex-locating the 1 st coding region
Figure BDA00030516430500002710
The coding region to which the code belongs is marked as a 1 st coding region in the parallelogram coding unit with the coding number of 0; at the same time, the vertex C0,2min(0,0,0) is recorded as the positioning vertex of the 6 th coding region in the parallelogram coding unit corresponding to the coding number of 0
Figure BDA00030516430500002711
And vertex-locating the 6 th coding region
Figure BDA00030516430500002712
The coding region to which the code belongs is marked as a 6 th coding region in the parallelogram coding unit with the coding number of 0;
and 5.7, in the parallelogram coding unit with the coding number of 0, taking the 1 st coding region of the parallelogram coding unit as a starting region and the 6 th coding region as an end region, and clockwise (along the target coordinate system Z)tThe opposite direction of the positive direction of the shaft), and sequentially marking the 6 coding regions in the parallelogram coding unit as the 1 st coding region, the 2 nd coding region, the 3 rd coding region, the 4 th coding region, the 5 th coding region and the 6 th coding region of the parallelogram coding unit;
step 5.8, the centroid of the ith coding unit pattern (i ═ 1,2) in the σ -th coding region (σ ═ 1,2,5,6) in the parallelogram coding unit corresponding to the coding number 0 to the straight line l1,0Is recorded as
Figure BDA00030516430500002713
The parallelogram corresponding to the code number 0Centroid-to-straight line l of ith (i-1, 2) coding unit pattern in pi-th coding region (pi-3, 4) in shape coding unit2,0Is recorded as
Figure BDA00030516430500002714
The centroid of the ith (i ═ 1,2) coding unit pattern in the theta-th coding region (θ ═ 1,2,3,4,5,6) in the parallelogram coding unit corresponding to the coding number 0 is directed to the straight line l3,0Is recorded as
Figure BDA00030516430500002715
The embodiment comprises the following steps:
Figure BDA00030516430500002716
step 5.9, in this embodiment, in the parallelogram coding unit with the coding number of 0,
Figure BDA00030516430500002717
and is
Figure BDA0003051643050000281
At the same time, the user can select the desired position,
Figure BDA0003051643050000282
and is
Figure BDA0003051643050000283
Step 5.10, in this embodiment, in the sigma-th coding region in the parallelogram coding unit with the coding number of 0, because
Figure BDA0003051643050000284
And is
Figure BDA0003051643050000285
Then remember that the 1 st coding unit pattern in the sigma coding region in the parallelogram coding unit is the sigma coding in the parallelogram coding unitBit 1 coding unit pattern in a region
Figure BDA0003051643050000286
The 2 nd coding unit pattern in the sigma coding region in the parallelogram coding unit is taken as the 2 nd coding unit pattern in the sigma coding region in the parallelogram coding unit
Figure BDA0003051643050000287
Wherein σ is 1,2,5, 6;
step 5.11, in this embodiment, in the pi-th coding region in the parallelogram coding unit corresponding to the coding number 0, because
Figure BDA0003051643050000288
And is
Figure BDA0003051643050000289
Then, the 1 st coding unit pattern in the pi-th coding region in the parallelogram coding unit is recorded as the 1 st coding unit pattern in the pi-th coding region in the parallelogram coding unit
Figure BDA00030516430500002810
Recording the 2 nd coding unit pattern in the pi-th coding region in the parallelogram coding unit as the 2 nd coding unit pattern in the pi-th coding region in the parallelogram coding unit
Figure BDA00030516430500002811
Wherein pi is 3, 4;
step 5.12, in the parallelogram coding unit with the coding number of 0, the j-th coding unit pattern in the theta-th coding area is coded
Figure BDA00030516430500002812
The corresponding code value is noted
Figure BDA00030516430500002813
Wherein j is 1,2 and θ is 1,2,3,4,5,6, and
Figure BDA00030516430500002814
can only take the value of 0 or 1;
step 5.13, the 12-bit binary number corresponding to the code number 0 is marked as w0W in this embodiment0==(000000000000)2And specify
Figure BDA00030516430500002815
Figure BDA00030516430500002816
Respectively corresponding to binary numbers w in sequence from the lowest order to the highest order0And must satisfy formula (16),
GT·F0==0 (16)
wherein, the column vector G is (2)0,21,22,23,24,25,26,27,28,29,210,211)TAnd is and
column vector F0=(0,0,0,0,0,0,0,0,0,0,0,0)T
Step 5.14, all coding unit patterns in the parallelogram coding unit corresponding to the coding number 0
Figure BDA00030516430500002817
All coded values of (are 0, i.e.
Figure BDA00030516430500002818
All the coding unit patterns in the parallelogram coding unit corresponding to the coding number 0
Figure BDA00030516430500002819
Is black (i.e., color 1), where j is 1,2 and θ is 1,2,3,4,5, 6;
step 5.15, this example belongs to g e1 and
Figure BDA00030516430500002820
in the case of (1), the calibration corner point located on the 1 st coding region in the parallelogram coding unit with the coding number of 0 is marked as the calibration corner point of the 1 st coding region in the parallelogram coding unit with the coding number of 0
Figure BDA00030516430500002821
Thus, the coding work of the parallelogram coding unit with the coding number of 0 is completed;
step 5.16, assigning the e +1 to the e again, and performing the encoding step again to finish the encoding work of the parallelogram encoding unit with the encoding number of 1; by analogy, the non-unique encoding work of all the 18 parallelogram encoding units in the embodiment can be finally completed, as shown in fig. 13.
The steps of finishing the unique coding of each calibration angular point on the coding plane target by taking the obtained coding number of the parallelogram coding unit on the coding plane target and 2 coding serial numbers (namely, non-unique line coding numbers) of each calibration angular point as input conditions are as follows:
step 5.17.1, let j be Max { m ', m }, in this embodiment, j be 6, and the number Φ ' of calibration corner points be 4 vertices of the 3 rd parallelogram coding unit in the 5 th row 'p==2;
Step 5.17.2.1, since N ═ 5 is an odd number, execute step 5.17.2.2;
step 5.17.2.2, taking the integer parameter Δ and assigning the value Δ ═ N +1)/2 ═ 3, and executing step 5.17.2.2.1;
step 5.17.2.2.1, all bits are located with code number e'1Of the parallelogram coding unit
Figure BDA0003051643050000291
Calibration corner points on a coding region
Figure BDA0003051643050000292
Is described as the first
Figure BDA0003051643050000293
The corner point is marked by a number, wherein zv≤e′1≤zm
Figure BDA0003051643050000294
Or 6, zmCan be derived from formula (19);
zm=ε+zv-Δ-1=14 (19)
from this step, the corner point is calibrated
Figure BDA0003051643050000295
Respectively marked as a No. 0_6 calibration corner, a No. 0_1 calibration corner, a No. 1_6 calibration corner, …, a No. 13_1 calibration corner and a No. 14_6 calibration corner;
step 5.17.2.2.2, in this embodiment,. phipWhen the angular point is 2, the angular point is calibrated by the calculation of the formula (20), the formula (21) and the formula (22)
Figure BDA0003051643050000296
Respectively marking as No. 0_6 calibration angular point, No. 0_1 calibration angular point, No. 1_6 calibration angular point, …, No. 13_1 calibration angular point and No. 14_6 calibration angular point;
the unique coding work of all the calibration corner points in the coding plane target is finished through the steps, and each calibration corner point has a determined and unique coding number.
Step 6, let r ═ r-1, if r ≠ 0, then the number set Ψ of the uncoded coded planar target in the coded stereo targetrMiddle exclusion number IrAnd then, repeating the steps 3 to 5 until the coding work of all the calibration corner points in the coding stereo target is finished.
In this example, r-S-1-5 e [1, S ∈]Thus, the new set of numbers Ψ encoding the uncoded planar target in the stereo targetrIs Ψ r1,2,3,4,6, and skipping to step 3 until completing the loop, and completing the encoding tasks of all 6 encoding plane targets, the encoding plane target No. 1 is shown in fig. 15, the encoding plane target No. 2 is shown in fig. 16, the encoding plane target No. 3 is shown in fig. 17, and the encoding plane target No. 4 is shown in fig. 1718, coding plane target No. 5 is shown in fig. 19, and coding plane target No. 6 is shown in fig. 20. In a specific embodiment, a unique code serial number corresponding to each calibration corner point in the coded three-dimensional target, a pixel coordinate value in a unique pixel coordinate system and a target coordinate value in the unique target coordinate system are shown in tables 1-6;
table 11 coded plane target all calibration corner point information
Coding plane target coding number Unique code number Target coordinate value Coding plane target coding number Unique code number Target coordinate value
1 92_6 (0,54) 1 84_1 (27,13.5)
1 89_1 (0,40.5) 1 81_6 (27,0)
1 86_6 (0,27) 1 93_1 (40.5,54)
1 83_1 (0,13.5) 1 91_6 (40.5,40.5)
1 80_6 (0,0) 1 87_1 (40.5,27)
1 92_1 (13.5,54) 1 85_6 (40.5,13.5)
1 90_6 (13.5,40.5) 1 81_1 (40.5,0)
1 86_1 (13.5,27) 1 94_6 (54,54)
1 84_6 (13.5,13.5) 1 91_1 (54,40.5)
1 80_1 (13.5,0) 1 88_6 (54,27)
1 93_6 (27,54) 1 85_1 (54,13.5)
1 90_1 (27,40.5) 1 82_6 (54,0)
1 87_6 (27,27)
Table 22 coded plane target all calibration corner point information
Coding plane target coding number Unique code number Target coordinate value Coding plane target coding number Unique code number Target coordinate value
2 110_1 (0,54) 2 102_6 (27,13.5)
2 107_6 (0,40.5) 2 99_1 (27,0)
2 104_1 (0,27) 2 112_6 (40.5,54)
2 101_6 (0,13.5) 2 108_1 (40.5,40.5)
2 98_1 (0,0) 2 106_6 (40.5,27)
2 111_6 (13.5,54) 2 102_1 (40.5,13.5)
2 107_1 (13.5,40.5) 2 100_6 (40.5,0)
2 105_6 (13.5,27) 2 112_1 (54,54)
2 101_1 (13.5,13.5) 2 109_6 (54,40.5)
2 99_6 (13.5,0) 2 106_1 (54,27)
2 111_1 (27,54) 2 103_6 (54,13.5)
2 108_6 (27,40.5) 2 100_1 (54,0)
2 105_1 (27,27)
Table 33 coded plane target all calibration corner point information
Figure BDA0003051643050000301
Figure BDA0003051643050000311
Table 44 coded plane target all calibration corner point information
Coding plane target coding number Unique code number Target coordinate value Coding plane target coding number Unique code number Target coordinate value
4 69_6 (0,54) 4 61_1 (27,13.5)
4 66_1 (0,40.5) 4 58_6 (27,0)
4 63_6 (0,27) 4 70_1 (40.5,54)
4 60_1 (0,13.5) 4 68_6 (40.5,40.5)
4 57_6 (0,0) 4 64_1 (40.5,27)
4 69_1 (13.5,54) 4 62_6 (40.5,13.5)
4 67_6 (13.5,40.5) 4 58_1 (40.5,0)
4 63_1 (13.5,27) 4 71_6 (54,54)
4 61_6 (13.5,13.5) 4 68_1 (54,40.5)
4 57_1 (13.5,0) 4 65_6 (54,27)
4 70_6 (27,54) 4 62_1 (54,13.5)
4 67_1 (27,40.5) 4 59_6 (54,0)
4 64_6 (27,27)
All calibration corner point information in table 55 number coding plane target
Coding plane target coding number Unique code number Target coordinate value Coding plane target coding number Unique code number Target coordinate value
5 12_6 (0,54) 5 4_1 (27,13.5)
5 9_1 (0,40.5) 5 1_6 (27,0)
5 6_6 (0,27) 5 13_1 (40.5,54)
5 3_1 (0,13.5) 5 11_6 (40.5,40.5)
5 0_6 (0,0) 5 7_1 (40.5,27)
5 12_1 (13.5,54) 5 5_6 (40.5,13.5)
5 10_6 (13.5,40.5) 5 1_1 (40.5,0)
5 6_1 (13.5,27) 5 14_6 (54,54)
5 4_6 (13.5,13.5) 5 11_1 (54,40.5)
5 0_1 (13.5,0) 5 8_6 (54,27)
5 13_6 (27,54) 5 5_1 (54,13.5)
5 10_1 (27,40.5) 5 2_6 (54,0)
5 7_6 (27,27)
Table 66 code plane target all calibration corner point information
Figure BDA0003051643050000312
Figure BDA0003051643050000321
Through the steps, the unique coding work of all the calibration angle points in the coding plane target in the coding three-dimensional target can be completed, and the unique coding number of each calibration angle point in the coding three-dimensional target, the coding number of the coding plane target where each calibration angle point in the coding three-dimensional target is located and the coding number of the reference plane board area where each calibration angle point in the coding three-dimensional target is located are found.
The encoding method based on the encoding three-dimensional target provided by the invention needs to compile a corresponding computer program and execute the program on a computer to realize corresponding operation processing and logic control functions, so the invention also provides a computer readable storage medium comprising the computer program used in combination with an electronic device with an image processing function, and the computer program can be executed by a processor to realize the encoding method.
The above description is only an embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes performed by the present specification and drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.

Claims (10)

1. A code three-dimensional target for quickly calibrating internal and external parameters of a camera is characterized in that: the coding three-dimensional target comprises a reference plane plate, a coding plane target plate and a connecting mechanism, wherein the surface of the reference plane plate is divided into S areas, S is a positive integer and is more than 3, the connecting mechanism is fixedly arranged in each area, the end part of each connecting mechanism is movably connected with one coding plane target plate, the coding plane target plates connected by the connecting mechanism in each area are all different, the space posture of each coding plane target plate can be movably adjusted, and the coding plane target is arranged on the coding plane target plate.
2. The coding stereo target for fast calibration of internal and external parameters of camera according to claim 1, wherein: a reference coordinate system o-xyz is arranged in the reference plane plate of the coding three-dimensional target, wherein the reference coordinate system o-xyz is formed by taking any vertex of the reference plane as an origin o and taking two sides which pass through the origin o and intersect in the reference plane as an x axis and a y axis respectively;
in the reference coordinate system o-xyz, the reference plane is represented by Sa-1 longitudinal region division line parallel to the y-axis and Sb1 transverse segmentation line parallel to the x-axis into S regions, where Sa、SbAre all positive integers, Sa∈[1,S],Sb∈[1,S]And S isa·Sb=S;
In a reference plane, taking a reference coordinate system o-xyz origin o as a starting point, sequentially searching each region along the x-axis positive direction and the y-axis positive direction of the reference coordinate system in a matrix scanning mode, and recording the regions of the alpha row and the beta column as regions
Figure FDA0003051643040000011
Region number, where β denotes a region column number in the positive x-axis direction, α denotes a region row number in the positive y-axis direction,
Figure FDA0003051643040000012
a region number is indicated and a region number is indicated,
Figure FDA0003051643040000013
and alpha, beta,
Figure FDA0003051643040000014
Is a positive integer, β ═ 1,2,3a,α=1,2,3,...,Sb
Figure FDA0003051643040000015
3. The coding stereo target for fast calibration of internal and external parameters of camera according to claim 1, wherein: the coding plane target consists of a coding checkerboard formed by alternating parallelogram coding units and parallelogram non-coding units, the coding plane target takes the intersection points of the parallelogram coding units connected with any opposite angle as the calibration angular points of the coding plane target, the coding plane target comprises M rows multiplied by N columns of calibration angular points in total, wherein M and N are positive integers; the interior of each parallelogram coding unit in the coding plane target is provided with a coding pattern, the coding pattern comprises a positioning pattern, an orientation pattern and a coding mark pattern, and the coding mark pattern consists of a plurality of coding unit patterns; the orientation pattern and the positioning pattern are used for judging the rotation direction of the coded plane target; the coding mark pattern is used for coding each calibration corner point in the coding plane target.
4. The coding stereo target for fast calibration of the internal and external parameters of the camera according to claim 3, wherein: the coding numbers of the parallelogram coding units in all the coding plane targets are different from each other, and the coding numbers of all the parallelogram coding units in each coding plane target are continuous integers.
5. The coding stereo target for fast calibration of camera internal and external parameters according to claim 3 or 4, characterized in that: the coding number range of the parallelogram coding unit of the coding plane target is [0,4095 ].
6. A coding method for coding a stereoscopic target according to claim 1, wherein the coding method comprises the following steps: the coding of all the calibration angle points of the whole coding three-dimensional target is completed by coding all the calibration angle points in each coding plane target, finding the unique coding number of each calibration angle point in the coding three-dimensional target, the coding number of the coding plane target where each calibration angle point in the coding three-dimensional target is located, and the coding number of the reference plane board area where each calibration angle point in the coding three-dimensional target is located.
7. The encoding method of claim 6, wherein the encoding method comprises: the method for coding each calibration corner point in the coding stereo target comprises the following steps:
step 1, taking variable r to represent the number of encoding plane targets which do not complete encoding and the number of regions which do not complete encoding, setting an initial value r to be S, and setting an initial encoding number z of a parallelogram encoding unit in an encoding stereo targetS,zSIs a positive integer;
step 2, setting the number ranges of the coding three-dimensional target area and the coding plane target as continuous positive integers of 1,2,3The number set of the target of the coding plane without coding in the target is psir=[1,2,3,...,S]R also represents the number of the numbers in the number set;
step 3, in r areas with incomplete coding, selecting an area in the space coding three-dimensional target according to any rule or at random, and simultaneously coding the number set psi of the coding plane target which is not coded in the coding three-dimensional targetr=[1,2,3,...,S]In the method, a number is selected according to any rule or at random and is marked as IrAs the number of the selected corresponding area;
at the same time will IrCoding plane target in number region is marked as IrNumber coded planar target, note IrThe total number of the coding serial numbers of the parallelogram coding units in the number coding plane target is Lr+1, note IrI in number arearThe number of the calibration angular points contained in the number coding plane target is Mr×NrA plurality of;
step 4, for IrI in number arearInitial code number z of number coded planar targetrCarrying out reassignment;
step 5, using the coding method of the coding plane target to carry out IrI in number arearAll the calibration angular points of the number coding plane target are coded to obtain IrThe unique coding number of each calibration angular point in the number coding plane target;
step 6, let r ═ r-1, if r ≠ 0, then the number set Ψ of the uncoded coded planar target in the coded stereo targetrMiddle exclusion number IrAnd then, repeating the steps 3 to 5 until the coding work of all the calibration corner points in the coding stereo target is finished.
8. The encoding method of claim 6, wherein the encoding method comprises: in step 3, the row number and column number of the selected region are calculated by the following formula:
Ir÷Sa=α′...β′
wherein: sa、SbAre all positive integers, Sa∈[1,S],Sb∈[1,S]And satisfy Sa·Sb=S,SaIs the maximum number of columns of the regions which can be divided among the S regions divided in the reference plane, SbThe maximum number of columns of the regions which can be divided in the S regions divided in the reference plane;
α' is IrAnd SaBy dividing to give an integer value, beta' is IrAnd SaDividing the obtained remainder value;
if β ═ 0, then the number selected is IrIs the alpha' th line SaThe area where the column is located;
if β' ≠ 0, then the selected number is IrIs the area where the (α '+ 1) th row and the β' th column are located.
9. The encoding method of claim 6, wherein the encoding method comprises: in the step 4, the process is carried out,
if r is equal to S, then IrI in number arearInitial code number z of number coded planar targetr=zS
If r is not equal to S, then IrI in number arearInitial code number z of number coded planar targetr=zr+1+Lr+1r
Wherein: deltarIs a positive integer, and ΔrNot less than 1, represents IrNumber coded planar target and Ir+1Number code plane target code sequence number interval.
10. A computer-readable storage medium comprising a computer program for use in conjunction with an electronic device having image processing capabilities, the computer program being executable by a processor to perform the encoding method of claim 6.
CN202110489971.7A 2020-12-23 2021-05-06 Coding stereo target for quickly calibrating internal and external parameters of camera and coding method thereof Active CN113129388B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011541077 2020-12-23
CN2020115410771 2020-12-23

Publications (2)

Publication Number Publication Date
CN113129388A true CN113129388A (en) 2021-07-16
CN113129388B CN113129388B (en) 2022-09-06

Family

ID=76781498

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110489971.7A Active CN113129388B (en) 2020-12-23 2021-05-06 Coding stereo target for quickly calibrating internal and external parameters of camera and coding method thereof

Country Status (1)

Country Link
CN (1) CN113129388B (en)

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006055758A1 (en) * 2006-11-25 2008-05-29 Deutsches Zentrum für Luft- und Raumfahrt e.V. Camera calibrating method for optical measuring system, involves marking one of cross-over points in checker pattern by position information, which is readable by image processing of images of pattern and has coding of orientation
CN104408704A (en) * 2014-08-25 2015-03-11 太仓中科信息技术研究院 Automatic zoom lens calibration device and calibration method
CN104933717A (en) * 2015-06-17 2015-09-23 合肥工业大学 Camera intrinsic and extrinsic parameter automatic calibration method based on directional calibration target
CN106600648A (en) * 2016-12-06 2017-04-26 合肥工业大学 Stereo coding target for calibrating internal parameter and distortion coefficient of camera and calibration method thereof
CN206441238U (en) * 2017-02-09 2017-08-25 杭州零智科技有限公司 Scaling board and calibration system
CN108765494A (en) * 2018-05-21 2018-11-06 南昌航空大学 A kind of polyphaser scaling method for demarcating object based on cylinder
CN209168191U (en) * 2018-12-31 2019-07-26 深圳积木易搭科技技术有限公司 A kind of caliberating device
CN110246185A (en) * 2018-03-07 2019-09-17 阿里巴巴集团控股有限公司 Image processing method, device, system, storage medium and calibration system
CN111699513A (en) * 2018-07-16 2020-09-22 深圳配天智能技术研究院有限公司 Calibration plate, internal parameter calibration method, machine vision system and storage device
CN111709999A (en) * 2020-05-13 2020-09-25 深圳奥比中光科技有限公司 Calibration plate, camera calibration method and device, electronic equipment and camera system

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006055758A1 (en) * 2006-11-25 2008-05-29 Deutsches Zentrum für Luft- und Raumfahrt e.V. Camera calibrating method for optical measuring system, involves marking one of cross-over points in checker pattern by position information, which is readable by image processing of images of pattern and has coding of orientation
CN104408704A (en) * 2014-08-25 2015-03-11 太仓中科信息技术研究院 Automatic zoom lens calibration device and calibration method
CN104933717A (en) * 2015-06-17 2015-09-23 合肥工业大学 Camera intrinsic and extrinsic parameter automatic calibration method based on directional calibration target
CN106600648A (en) * 2016-12-06 2017-04-26 合肥工业大学 Stereo coding target for calibrating internal parameter and distortion coefficient of camera and calibration method thereof
CN206441238U (en) * 2017-02-09 2017-08-25 杭州零智科技有限公司 Scaling board and calibration system
CN110246185A (en) * 2018-03-07 2019-09-17 阿里巴巴集团控股有限公司 Image processing method, device, system, storage medium and calibration system
CN108765494A (en) * 2018-05-21 2018-11-06 南昌航空大学 A kind of polyphaser scaling method for demarcating object based on cylinder
CN111699513A (en) * 2018-07-16 2020-09-22 深圳配天智能技术研究院有限公司 Calibration plate, internal parameter calibration method, machine vision system and storage device
CN209168191U (en) * 2018-12-31 2019-07-26 深圳积木易搭科技技术有限公司 A kind of caliberating device
CN111709999A (en) * 2020-05-13 2020-09-25 深圳奥比中光科技有限公司 Calibration plate, camera calibration method and device, electronic equipment and camera system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HYOWON HA等: "Deltille Grids for Geometric Camera Calibration", 《2017 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION》 *
殷玉龙: "双目立体视觉自定位线扫描三维测量技术", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Also Published As

Publication number Publication date
CN113129388B (en) 2022-09-06

Similar Documents

Publication Publication Date Title
CN112785656B (en) Calibration method and device of dual-stereoscopic camera, electronic equipment and storage medium
CN113129385B (en) Binocular camera internal and external parameter calibration method based on multi-coding plane target in space
CN113129386B (en) Intelligent calibration method for internal and external parameters of binocular camera based on coding plane target
CN113096191B (en) Intelligent calibration method for monocular camera based on coding plane target
CN110415304B (en) Vision calibration method and system
CN112614188A (en) Dot-matrix calibration board based on cross ratio invariance and identification method thereof
CN113160329B (en) Coding plane target for camera calibration and decoding method thereof
CN113129397B (en) Decoding method of parallelogram coding mark based on graphic geometric relation
CN113112550B (en) Coding plane target for calibrating internal and external parameters of camera and coding method thereof
CN113129388B (en) Coding stereo target for quickly calibrating internal and external parameters of camera and coding method thereof
CN110458951B (en) Modeling data acquisition method and related device for power grid pole tower
CN113192143B (en) Coding stereo target for camera quick calibration and decoding method thereof
CN114299172B (en) Planar coding target for visual system and real-time pose measurement method thereof
CN113506347B (en) Camera internal reference processing method and system based on single picture
CN115222828A (en) Regular hexagon coding mark decoding method for visual positioning
CN113112549B (en) Monocular camera rapid calibration method based on coding stereo target
CN113129396A (en) Decoding method of parallelogram coding mark based on region segmentation
CN114494316A (en) Corner marking method, parameter calibration method, medium, and electronic device
CN108907897A (en) Milling glue film carve shape in machine visible detection method
CN109272558B (en) Method for calibrating pinhole camera by using common free-pole triangle and circular ring points of separating circles
CN111210476B (en) Method and device for simultaneously positioning and mapping
CN113188524B (en) Parallelogram coding sign based on graphic geometric relation and coding method thereof
Chen et al. Recovering projected centers of circle-pairs with common tangents
CN113129394B (en) Parallelogram coding mark based on region division coding and coding method thereof
CN109341530A (en) Object point positioning method and system in a kind of binocular stereo vision

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant