CN113112549B - Monocular camera rapid calibration method based on coding stereo target - Google Patents

Monocular camera rapid calibration method based on coding stereo target Download PDF

Info

Publication number
CN113112549B
CN113112549B CN202110386671.6A CN202110386671A CN113112549B CN 113112549 B CN113112549 B CN 113112549B CN 202110386671 A CN202110386671 A CN 202110386671A CN 113112549 B CN113112549 B CN 113112549B
Authority
CN
China
Prior art keywords
target
coding
calibration
plane
image
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.)
Active
Application number
CN202110386671.6A
Other languages
Chinese (zh)
Other versions
CN113112549A (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 CN113112549A publication Critical patent/CN113112549A/en
Application granted granted Critical
Publication of CN113112549B publication Critical patent/CN113112549B/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
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/66Analysis of geometric attributes of image moments or centre of gravity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics

Abstract

The invention discloses a monocular camera rapid calibration method based on a coding three-dimensional target, which utilizes a camera with a fixed position in space to shoot the coding three-dimensional target in the space to obtain a target image; acquiring the sub-pixel coordinates of the calibration corner points of each coding plane target on the coding three-dimensional target in the target image, the unique coding serial number of the calibration corner points and the world coordinates by a decoding method of the coding three-dimensional target, and taking the target image as a calibration image if the target image meets the calibration conditions; and finally, solving the internal and external parameters of the camera by using a calibration algorithm according to the calibration image. The invention can realize the automatic calibration of the internal and external parameters of the monocular camera, can utilize a plurality of complete or local coding plane target images contained in one target image to complete the calibration work, reduces the complexity of the camera calibration and improves the efficiency of the camera calibration.

Description

Monocular camera rapid calibration method based on coding stereo target
Technical Field
The invention relates to the field of camera calibration methods in computer vision, in particular to a monocular camera rapid calibration method based on a coding stereo target.
Background
The computer vision technology is widely applied in the fields of industrial control, measurement and the like, and mainly utilizes the imaging of a camera to acquire the three-dimensional information of a measured object in space through image information so as to reconstruct and identify the object. The basic problem of the computer vision technology is camera calibration, the mapping relation between a space three-dimensional coordinate and an image two-dimensional coordinate can be obtained through the camera calibration technology, the camera calibration technology is the research focus of the computer vision measurement technology, the camera calibration task is to solve internal and external parameters of a camera, and the camera calibration technology is paid more and more attention and developed.
In 1986, Roger Tsai proposes a camera calibration algorithm based on radial constraint, and the calibration algorithm needs a 3D (three-dimensional) target, so that the calibration process is inflexible; around 1999, Zhangou (Z.YZhang) proposed a camera calibration algorithm based on a planar target, which uses a planar target that does not contain direction information and coding information, and cannot determine the rotation direction of the planar target without direction information in the calibration process, and Zhangou (Z.Y Zhang) proposed a camera calibration algorithm based on a planar target requires that a camera shoots a complete planar target, but a camera often cannot shoot a complete planar target in the actual calibration process, and at this time, it is difficult to calibrate a camera and ensure the camera calibration accuracy by using a traditional planar target that does not contain direction information and coding information.
Disclosure of Invention
The invention provides a method for calibrating a monocular camera based on a coded three-dimensional target and a coded three-dimensional target, which is characterized in that the coded three-dimensional target containing direction information and coding information is utilized to calibrate the camera so as to ensure the accuracy of matching the sub-pixel coordinates of a calibration corner point with the target coordinates of the camera during calibration; meanwhile, the local target image without the directional pattern can still be used for calibrating the camera, and the calibration work of the monocular camera can be completed only by shooting a calibration image meeting the calibration condition, so that the calibration complexity is greatly simplified.
In order to solve the technical problems, the invention adopts a technical scheme that: the coding stereo target is used for acquiring a calibration image of a monocular camera, the coding stereo target and the monocular camera are oppositely arranged in space, the position of the monocular camera is fixed, the coding stereo target consists of a reference plate and a plurality of coding plane targets connected with the reference plate, and the space positions and postures of the reference plate and the coding plane targets can be independently adjusted.
Further, the reference plate of the coding stereo target is divided into S (S is an integer and S is more than 3) areas, wherein each area is provided with one coding plane target.
Further, all the encoding plane targets have numbers, and the numbers of each encoding plane target are different from each other.
Further, the spatial poses of any two encoding plane targets have significant differences.
Furthermore, each coding plane target is provided with a plurality of parallelogram coding units, the coding numbers of the parallelogram coding units are different from each other, and the coding numbers of all the parallelogram coding units on the same coding plane target have continuity.
The monocular camera calibration method based on the coding stereo target is also provided, and mainly comprises the following steps:
s1: shooting a coded three-dimensional target in the space by using a camera arranged in the space so as to obtain a target image;
s2: judging whether the target image meets the calibration requirement, if the target image does not meet the calibration condition, re-shooting and judging after adjusting the spatial relative position of the camera and the coding three-dimensional target, and if the target image meets the calibration condition, taking the target image as a calibration image;
s3: and calculating internal and external parameters of the camera by using a calibration algorithm according to the calibration image.
Further, in step S3, the specific calibration method includes the following steps:
step 1.1, defining a total number threshold G of calibration plane targets, a number threshold k of calibration angular points and a number threshold k' of coding plane targets;
step 1.2, establishing a target image calibration corner point pixel coordinate system o-xy;
step 2.1, defining an integer variable tau and assigning tau as 1, wherein tau belongs to [1, G ];
2.2, shooting a coded three-dimensional target in the space by using a camera with a fixed position to obtain a target image shot for the tau time;
step 3.1, define the integer variable α τ And assign a value of alpha τ =1;
Step 3.2, recording alpha in the coded stereo target at the tau-th movement position in space τ The number of calibration corner points in 4 vertexes of the 1 st line of the 1 st parallelogram coding unit on the number coding plane target is
Figure BDA0003015332450000021
Step 3.3 according to
Figure BDA0003015332450000022
Magnitude of the value, establishing a corresponding alpha τ Number target coordinate system
Figure BDA0003015332450000023
Specifically, the method comprises the following steps: case 1 when
Figure BDA0003015332450000024
When, remember alpha τ No. 1 line 1 parallelogram coding unit on number coding plane target
Figure BDA0003015332450000025
The calibration angular point in the middle is taken as the origin calibration angular point
Figure BDA0003015332450000026
At the moment, an original point is selected to calibrate the angular point
Figure BDA0003015332450000027
As alpha τ Origin of individual target coordinate system
Figure BDA0003015332450000028
At alpha τ Auxiliary vectors on number-coded planar targets
Figure BDA0003015332450000029
Is taken as alpha at the τ th shift position τ Number target coordinate system
Figure BDA0003015332450000031
The direction of the axis;
case 2 when
Figure BDA0003015332450000032
When, respectively, record alpha τ No. 1 line 1 parallelogram coding unit on number coding plane target
Figure BDA0003015332450000033
Two calibration corner points in
Figure BDA0003015332450000034
And
Figure BDA0003015332450000035
according to the calibrated corner point
Figure BDA0003015332450000036
And
Figure BDA0003015332450000037
the positional relationship of (c) can be further classified into the following cases:
(1) when vector
Figure BDA0003015332450000038
Direction of (a) and τ auxiliary vectors on number-coded planar targets
Figure BDA0003015332450000039
When the directions of the two are the same, the calibration angular point is selected
Figure BDA00030153324500000310
As α τ Origin of number target coordinate system
Figure BDA00030153324500000311
At alpha τ Auxiliary vectors on number-coded planar targets
Figure BDA00030153324500000312
Is taken as alpha at the τ -th movement position τ Of number target coordinate system
Figure BDA00030153324500000313
The direction of the axis;
(2) when vector
Figure BDA00030153324500000314
Direction of (a) and τ auxiliary vectors on number-coded planar targets
Figure BDA00030153324500000315
When the directions of the two points are different, the calibration angular point is selected
Figure BDA00030153324500000316
As alpha τ Origin of number target coordinate system
Figure BDA00030153324500000317
At alpha τ Auxiliary vectors on number-coded planar targets
Figure BDA00030153324500000318
Is taken as alpha at the τ th shift position τ Of number target coordinate system
Figure BDA00030153324500000319
The direction of the axis;
α τ of number target coordinate system
Figure BDA00030153324500000320
After the direction of the axis is determined, by alpha τ Forward vector on number-coded planar target
Figure BDA00030153324500000321
Is taken as alpha at the τ th shift position τ Number target coordinate system
Figure BDA00030153324500000322
Direction of axis, α τ Of number target coordinate system
Figure BDA00030153324500000323
A shaft,
Figure BDA00030153324500000324
Shaft and
Figure BDA00030153324500000325
the axes satisfy the right-hand criterion, thereby establishing alpha at the τ -th shift position τ Number target coordinate system
Figure BDA00030153324500000326
Step 3.4, judge alpha τ If less than G, if α τ If < G, then alpha will be τ +1 to α τ Then returning to the step 3.2 for sequential execution; otherwise, executing step 4;
step 4, the tau-time shot target image is taken as an input condition, and the number of the coding plane targets in the tau-time shot target image is obtained by utilizing a coding stereo target decoding method
Figure BDA00030153324500000327
The serial number of each coding plane target in the target image shot at the Tth time, the number of calibration corner points extracted from each coding plane target in the target image shot at the Tth time, the sub-pixel coordinates of each calibration corner point in a target image calibration corner point pixel coordinate system o-xy, the unique coding serial number of the calibration corner point extracted from each coding plane target in the target image shot at the Tth time, the sub-pixel coordinates of the calibration corner point extracted from each coding plane target in the target image shot at the Tth time in the target image calibration corner point pixel coordinate system o-xy and the spatial coding three-dimensional target corresponding to the sub-pixel coordinates have the same valueThe matching relation of the calibration angular points of the unique code serial numbers between the target coordinates in the corresponding target coordinate system;
step 5.1, judging the number of the coding plane targets in the target image shot at the Tth time
Figure BDA00030153324500000328
If the number is less than the threshold k' of the number of the coding plane targets, if so
Figure BDA00030153324500000329
Step 10 is executed; otherwise, executing step 5.2;
step 5.2, mixing the product obtained in step 4
Figure BDA00030153324500000330
The numbers of the coding plane targets are arranged from small to big and respectively marked as
Figure BDA00030153324500000331
Wherein
Figure BDA00030153324500000332
Are all integers; and numbering the tau-th shot target image as
Figure BDA00030153324500000333
And
Figure BDA00030153324500000334
the coding plane targets are respectively marked as the 1 st, 2 nd, 3 rd, … th and the third coding plane targets in the target image of the tau-th shooting
Figure BDA0003015332450000041
A coded planar target;
step 6, defining an integer variable beta τ And assign beta τ 0; taking the integer variable alpha τ And assign a value of alpha τ =1;
Step 7, alpha in the tau-time shot target image τ Individual plaitThe number of the calibration angular points extracted from the code plane target is recorded as
Figure BDA0003015332450000042
And judging:
if it is
Figure BDA0003015332450000043
Then beta will be τ +1 value to β τ Will be alpha τ The beta-th coding plane target is marked as τ A calibration plane target, will τ The sub-pixel coordinates of the calibration corner points extracted from the coding plane target in the target image calibration corner point pixel coordinate system o-xy and the calibration corner points corresponding to the sub-pixel coordinates and having the same unique coding serial number on the coding stereo target in space are in
Figure BDA0003015332450000044
The matching relation between the target coordinates under the number target coordinate system is recorded as alpha τ Calibrating the matching groups, and then executing the step 8; otherwise, directly executing step 8;
step 8, judging alpha τ Whether or not less than
Figure BDA0003015332450000045
If it is
Figure BDA0003015332450000046
Then will be alpha τ +1 to α τ Then returning to execute the step 7; otherwise, executing step 9;
step 9, judging beta τ If less than G, if beta τ If < G, executing step 10; otherwise beta is obtained τ Calibration plane target satisfying calibration condition and beta τ Each calibration matching group executes step 11;
step 10, adjusting the coding stereo target to enable the camera view field to contain more coding plane targets and calibration angular points, then assigning tau +1 to tau and returning to the step 2.2 for sequential execution;
step 11, according to the beta obtained in the step 9 τ Each calibration is matchedAnd matching groups, and calculating internal and external parameters and distortion coefficients of the camera by using a calibration algorithm.
Further, in step 1.2, the specific manner of establishing the target image calibration corner point pixel coordinate system o-xy is as follows: and taking the upper left corner of a target image shot by a camera as the origin o of coordinates of the pixel coordinate system of the calibration corner point of the target image, taking the upper left corner of the target image as the x-axis direction of the pixel coordinate system of the calibration corner point of the target image from left to right, taking the upper left corner of the target image as the y-axis direction of the pixel coordinate system of the calibration corner point of the target image from top to bottom, and thus establishing an o-xy coordinate system of the pixel coordinate system of the calibration corner point of the target image.
Furthermore, a computer-readable storage medium is provided, comprising a computer program for use in connection with an electronic device having image processing capabilities, the computer program being executable by a processor to perform the calibration method.
Compared with the prior art, the invention has the following beneficial effects:
(1) compared with the traditional three-dimensional target, the coding three-dimensional target provided by the invention is provided with the coding pattern which comprises the direction information of the coding three-dimensional target and the coding information of the calibration angular point, so that the one-to-one corresponding relation among the sub-pixel coordinates of the calibration angular point, the unique coding serial number of the calibration angular point and the target coordinates of the calibration angular point can be accurately given during calibration, and the precision of the calibration result is ensured and improved;
(2) compared with the traditional method for calibrating by utilizing the three-dimensional target, the monocular camera calibrating method based on the coding three-dimensional target provided by the invention can still complete the calibration work even if the shot image only contains the local coding three-dimensional target on the premise of meeting the calibration condition, thereby improving the robustness of the monocular camera calibration;
(3) compared with the traditional camera calibration method, the monocular camera calibration method based on the coded three-dimensional target can perform calibration work only by shooting a target image meeting the calibration condition, so that the complexity of the calibration work is greatly simplified;
(4) the monocular camera calibration method based on the coded three-dimensional target can realize intelligent calibration, real-time calibration and on-line calibration;
(5) the calibration method provided by the invention can remove the complex background and eliminate the interference of the complex background on the coding pattern and the calibration angular point when the coding information of the calibration angular point in the image is obtained, so as to ensure the accuracy and reliability of the obtained calibration angular point data and the coding information.
Drawings
FIG. 1 is a display view of a camera and associated equipment used in the embodiments;
FIG. 2 is a pictorial representation of the encoded solid target used;
fig. 3 is a numbered display of each encoding planar target on the encoding volumetric target;
FIG. 4 is a schematic structural diagram of the No. 1 coded planar target on the coded stereo target;
FIG. 5 is a schematic structural diagram of the No. 2 coded planar target on the coded stereo target;
FIG. 6 is a schematic structural diagram of the No. 3 coded planar target on the coded stereo target;
FIG. 7 is a schematic diagram of the structure of the No. 4 coded planar target on the coded stereo target;
FIG. 8 is a schematic structural diagram of the No. 5 coded planar target on the coded stereo target;
FIG. 9 is a schematic structural diagram of the No. 6 coded planar target on the coded stereo target;
FIG. 10 is a schematic diagram showing the selection of the forward vector and the prescribed vector in the No. 1 coded planar target on the coded three-dimensional target;
FIG. 11 is a schematic diagram showing the selection of the forward vector and the prescribed vector in the No. 2 coded planar target on the coded three-dimensional target;
FIG. 12 is a schematic diagram showing the selection of the forward vector and the prescribed vector in the No. 3 coded planar target on the coded three-dimensional target;
FIG. 13 is a schematic diagram showing the selection of the forward vector and the prescribed vector in the No. 4 coded planar target on the coded three-dimensional target;
FIG. 14 is a schematic diagram showing the selection of the forward vector and the prescribed vector in the coding planar target No. 5 on the coding stereo target;
FIG. 15 is a schematic diagram showing the selection of the forward vector and the prescribed vector in the No. 6 coded planar target on the coded solid target;
FIG. 16 shows the encoded stereo target image obtained from the 1 st shot;
FIG. 17 is a schematic diagram of the establishment of the target coordinate system for each encoded planar target in the encoded volumetric target at the 1 st shift position;
FIG. 18 is a coded stereoscopic target image from the 2 nd shot;
FIG. 19 is a schematic diagram of the establishment of the target coordinate system for each encoded planar target in the encoded volumetric targets at the 2 nd mobile position;
FIG. 20 is the 3 rd shot resulting in an encoded stereo target image;
FIG. 21 is a schematic diagram of the establishment of the target coordinate system for each encoded planar target in the encoded volumetric target at the 3 rd translational position;
fig. 22 shows sub-pixel coordinates of all calibration corner points on each encoding plane target in a target image calibration corner point pixel coordinate system;
FIG. 23 is a three-dimensional image p encoded without complex background according to this embodiment 1 ′;
FIG. 24 is a schematic diagram of a three-dimensional image p encoded without a complex background according to this embodiment 2 ′;
FIG. 25 is a schematic diagram of a three-dimensional image p encoded without a complex background according to this embodiment 3 ′;
FIG. 26 is a diagram of a three-dimensional image p encoded without complex background according to this embodiment 4 ′;
FIG. 27 is a block diagram of a three-dimensional image p encoded without a complex background according to this embodiment 5 ′;
FIG. 28 is a three-dimensional image p encoded without complex background according to this embodiment 6 ′;
FIG. 29 is a binarized image P without complex background target in this embodiment 2 Image P 'obtained by this treatment' 2
FIG. 30 shows a binarized erosion image P 'of the target of the present embodiment' 2 Decoded binary image P obtained by processing 3
FIG. 31 is the 1 st unit binarization without complex background obtained in this embodimentImage E 1
Fig. 32 is a flowchart of the monocular camera calibration method based on the coded stereo target according to 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 and 2, a coded three-dimensional target is used for acquiring a calibration image of a monocular camera, the coded three-dimensional target is spatially opposite to the monocular camera, the monocular camera is fixed in position, the coded three-dimensional target is composed of a reference plate and a plurality of coded planar targets connected to the reference plate, and the spatial positions and postures of the reference plate and the coded planar targets can be independently adjusted. The video camera used in the embodiment is a color industrial camera of MER-231-41U3C model, the highest frame rate collected by the camera is 40 frames, the pixel size is multiplied by 5.86 micrometers, and the image resolution is 1920 multiplied by 1200; the model number adopted by the camera lens is HN-1216-5M-C2/3X, and the focal length of the lens is 12 mm.
The coding stereo target consists of a reference plate and a plurality of coding plane targets connected with the reference plate. The reference plate of the coding stereo target is divided into S (S is an integer and S is more than 3) areas, wherein each area is provided with a coding plane target. In this embodiment, the reference plate of the coding stereo target is divided into 6 regions, and each region is placed with one coding plane target. All the coding plane targets on the coding stereo target have numbers, and the numbers of each coding plane target are different from each other, as shown in fig. 3.
Further, the spatial poses of any two encoding plane targets have significant differences. The coding plane target adopted in the embodiment is composed 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 angles as the calibration angular points of the coding plane target, and the coding plane target totally comprises 5 lines by 5 columns of calibration angular points. 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 (white solid circle), an orientation pattern (white circular ring) and a coding mark pattern, and the coding mark pattern consists of a plurality of coding unit patterns (a plurality of white small solid circles); the judgment of the rotation direction of the coding plane target can be realized by the orientation pattern and the positioning pattern; the coding mark patterns are used for coding each calibration corner point in the coding plane target, and the number and the distribution of the coding unit patterns are determined by the number of the parallelogram coding unit where the coding unit patterns are located.
In this embodiment, all the parallelogram coding units and parallelogram non-coding units of each coding plane target are parallelograms with a length of 13.5mm and a width of 13.5mm, and the parallelogram coding units are rectangles.
Furthermore, each coding plane target is provided with a plurality of parallelogram coding units, the coding numbers of the parallelogram coding units are different from each other, and the coding numbers of all the parallelogram coding units on the same coding plane target have continuity. In this embodiment, the number ranges of all parallelogram coding units on the coding plane target No. 1 on the coding stereo target are 80-97, the number ranges of all parallelogram coding units on the coding plane target No. 2 are 98-115, the number ranges of all parallelogram coding units on the coding plane target No. 3 are 20-37, the number ranges of all parallelogram coding units on the coding plane target No. 4 are 57-74, the number ranges of all parallelogram coding units on the coding plane target No. 5 are 0-17, and the number ranges of all parallelogram coding units on the coding plane target No. 6 are 39-56; the schematic structural diagrams of the coding plane target No. 1, the coding plane target No. 2, the coding plane target No. 3, the coding plane target No. 4, the coding plane target No. 5, and the coding plane target No. 6 are shown in fig. 4 to 9.
Taking the No. 1 coding plane target as an example, arbitrarily taking one parallelogram coding unit in the No. 1 coding plane target as the No. 1 coding plane target vector determination coding unit
Figure BDA0003015332450000071
Coding unit for determining No. 1 coding plane target vector
Figure BDA0003015332450000072
One vertex of (2) is marked as a first vertex of the vector determination coding unit
Figure BDA0003015332450000073
Determining coding unit in No. 1 coding plane target vector
Figure BDA0003015332450000074
Wherein the intersection is formed into a vector to determine the first vertex of the coding unit
Figure BDA0003015332450000075
Any one edge of the vector is taken as a vector to determine a first edge of the coding unit
Figure BDA0003015332450000076
Determining a coding unit first side in a vector
Figure BDA0003015332450000077
Upward orientation amount determination encoding unit
Figure BDA0003015332450000078
Is recorded as a first point on a first side of the vector determination coding unit
Figure BDA0003015332450000081
Wherein the vector determines a first point on a first edge of the coding unit
Figure BDA0003015332450000082
Determining a first vertex of a coding unit by using the vector
Figure BDA0003015332450000083
Are 2 points which are not coincident with each other, and the vector is recorded
Figure BDA0003015332450000084
Prescribed vector for coding plane target No. 1
Figure BDA0003015332450000085
And 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 direction 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 and the specified vector of the No. 1 coding plane target
Figure BDA0003015332450000086
Are in the same direction; prescribed vector of No. 1 coded planar target
Figure BDA0003015332450000087
As shown in fig. 10.
Marking the plane where the No. 1 coding plane target is as the No. 1 target plane P t (1) Determining the first vertex of the coding unit by the vector
Figure BDA0003015332450000088
Making a specified vector of the No. 1 coding plane target as a starting point
Figure BDA0003015332450000089
The unit vector in the same direction is marked as the 1 st specified unit vector of the No. 1 coding plane target
Figure BDA00030153324500000810
When the person looks at the encoding plane target, the first vertex of the encoding unit is determined by the vector
Figure BDA00030153324500000811
Is a rotation center and is arranged in a No. 1 target plane P t (1) 1 st prescribed unit vector of inner-to-1 coded plane target
Figure BDA00030153324500000813
Counterclockwise rotation by an angle beta '(0 DEG < beta' < 90 DEG) results in the 2 nd prescribed unit vector of the No. 1 coded planar target
Figure BDA00030153324500000814
Determining a first vertex of a coding unit in space as a vector
Figure BDA00030153324500000815
As a starting point, do
Figure BDA00030153324500000816
The unit vectors with the same direction of the obtained vectors are marked as the positive vectors of the No. 1 coding plane target
Figure BDA00030153324500000817
Determining a coding unit from the No. 1 coding plane target vector
Figure BDA00030153324500000818
Upper distance No. 1 coding plane target vector determination coding unit
Figure BDA00030153324500000819
The two nearest vertexes of the directional pattern in (1) are respectively marked as the 1 st temporary vertexes
Figure BDA00030153324500000820
And 2 nd temporary vertex
Figure BDA00030153324500000821
If vector
Figure BDA00030153324500000822
Specified vector of cross-product No. 1 coding plane target
Figure BDA00030153324500000823
The direction of the obtained vector and the positive vector of the specified vector of the No. 1 coding plane target
Figure BDA00030153324500000824
Are in the same direction, then vector will be generated
Figure BDA00030153324500000825
Auxiliary vector marked as No. 1 coding plane target
Figure BDA00030153324500000826
If vector
Figure BDA00030153324500000827
Specified vector of cross-product No. 1 coding plane target
Figure BDA00030153324500000828
The direction of the obtained vector and the positive vector of the No. 1 coding plane target
Figure BDA00030153324500000829
If the directions of the vectors are different, the vectors are calculated
Figure BDA00030153324500000830
Auxiliary vector marked as No. 1 coding plane target
Figure BDA00030153324500000831
Auxiliary vector of No. 1 coding plane target
Figure BDA00030153324500000832
And the forward vector of the No. 1 coded plane target
Figure BDA00030153324500000833
The selection is shown in fig. 10.
The selection of the auxiliary vector and the forward vector on the remaining encoding plane targets can refer to the encoding plane target No. 1, and the results are shown in fig. 11 to fig. 15.
Referring to fig. 32, a monocular camera rapid calibration method based on a coded stereo target mainly includes the following steps:
s1: shooting a coded three-dimensional target in a space by using a camera arranged in the space so as to obtain a target image;
s2: judging whether the target image meets the calibration requirement, if the target image does not meet the calibration condition, re-shooting and judging after adjusting the spatial relative position of the camera and the coding three-dimensional target, and if the target image meets the calibration condition, taking the target image as a calibration image;
s3: and calculating internal and external parameters of the camera by using a calibration algorithm according to the calibration image.
The specific calibration method comprises the following steps:
step 1.1, defining a total number threshold value G of the calibration plane targets which is 5, a number threshold value k of the calibration angular points which is 16, and a number threshold value k' of the coding plane targets which is 5;
step 1.2, establishing a target image calibration corner point pixel coordinate system:
taking the upper left corner of a target image shot by a camera as a coordinate origin o of a calibration corner pixel coordinate system of the target image, taking the upper left corner of the target image as the x-axis direction of the calibration corner pixel coordinate system of the target image from left to right, and taking the upper left corner of the target image as the y-axis direction of the calibration corner pixel coordinate system of the target image from top to bottom, thereby establishing a calibration corner pixel coordinate system o-xy of the target image;
step 2.1, defining an integer variable tau and assigning the tau to be 1;
shooting for the 1 st time:
step 2.2, shooting the coded three-dimensional target in the space by using one camera with a fixed position to obtain a target image shot at the 1 st time, as shown in fig. 16;
step 3.1, define the integer variable α 1 And assigns a value of alpha 1 =1;
Step 3.2, recording alpha in the coded stereo target at the 1 st moving position in space 1 The number of calibration corner points in 4 vertexes of the 1 st line of the 1 st parallelogram coding unit on the number coding plane target is
Figure BDA0003015332450000091
Step 3.3, in this embodiment, the establishment of each target coordinate system at the 1 st movement position is shown in fig. 17.
Step 4, taking the target image shot at the 1 st time as an input condition, and obtaining the target image by utilizing a decoding method of the coded three-dimensional targetObtaining the number of the coding plane targets in the target image shot at the 1 st time
Figure BDA0003015332450000092
(wherein
Figure BDA0003015332450000093
Is an integer and
Figure BDA0003015332450000094
) The method comprises the steps of firstly shooting a target image, secondly shooting a target image, thirdly shooting a number of coding plane targets in the target image shot at the 1 st time, thirdly shooting a number of calibration corner points extracted from each coding plane target in the target image shot at the 1 st time, sub-pixel coordinates of each calibration corner point in a target image calibration corner point pixel coordinate system o-xy, fourthly shooting a unique coding serial number of the calibration corner point extracted from each coding plane target in the target image shot at the 1 st time, and finally obtaining a matching relation between the sub-pixel coordinates of the calibration corner point extracted from each coding plane target in the target image corner point calibration pixel coordinate system o-xy and target coordinates of one corresponding calibration corner point with the same unique coding serial number on a coding three-dimensional target in space under a corresponding target coordinate system.
In this embodiment, the number of the encoding planar targets in the target image shot at the 1 st time
Figure BDA0003015332450000095
The target image shot at the 1 st time comprises a No. 2 coding plane target, a No. 3 coding plane target, a No. 5 coding plane target and a No. 6 coding plane target;
step 5.1, judging the number of the coding plane targets in the target image shot at the 1 st time
Figure BDA0003015332450000096
If the number is less than the threshold k' of the number of the coding plane targets, if so
Figure BDA0003015332450000097
Step 10 is executed; otherwise, executing step 5.2;
this implementationIn the example, the number of the coded planar targets in the target image shot at the 1 st time
Figure BDA0003015332450000101
Since k' is 4, then
Figure BDA0003015332450000102
Thus jumping to perform step 10;
and step 10, adjusting the coding stereo target to enable the camera view field to contain more coding plane targets and calibration corner points, assigning tau +1 to tau, and returning to the step 2.2 to execute the steps sequentially.
Shooting for the 2 nd time:
step 2.2, shooting the coded three-dimensional target in the space by using a camera with a fixed position to obtain a target image shot at the 2 nd time, as shown in fig. 18;
the process of establishing the target coordinate system of each encoding plane target from step 3.1 to step 3.5 can refer to the establishment process in the 1 st shooting, and the coordinate system establishment result is shown in fig. 19;
step 4, taking the target image shot at the 2 nd time as an input condition, and obtaining the number of the coded planar targets in the target image shot at the 2 nd time by utilizing a decoding method of the coded three-dimensional targets
Figure BDA0003015332450000103
(wherein
Figure BDA0003015332450000104
Is an integer and
Figure BDA0003015332450000105
) The number of each coding plane target in the target image shot at the 2 nd time, the number of calibration corner points extracted from each coding plane target in the target image shot at the 2 nd time, the sub-pixel coordinates of each calibration corner point in a target image calibration corner point pixel coordinate system o-xy, the unique coding serial number of the calibration corner point extracted from each coding plane target in the target image shot at the 2 nd time, and the unique coding serial number of each coding plane target in the target image shot at the 2 nd timeThe matching relation between the sub-pixel coordinates of the extracted calibration corner in a target image calibration corner pixel coordinate system o-xy and the target coordinates of one corresponding calibration corner with the same unique coding serial number on the spatial coding stereo target in a corresponding target coordinate system;
in this embodiment, the number of the coded planar targets in the target image shot at the 2 nd time
Figure BDA0003015332450000106
The target image shot at the 2 nd time comprises a No. 1 coded plane target, a No. 2 coded plane target, a No. 3 coded plane target, a No. 4 coded plane target, a No. 5 coded plane target and a No. 6 coded plane target;
step 5.1, judging the number of the coding plane targets in the target image shot at the 2 nd time
Figure BDA0003015332450000107
If the number is less than the threshold k' of the number of the coding plane targets, if so
Figure BDA0003015332450000108
Step 10 is executed; otherwise, executing step 5.2;
in an embodiment, the number of the planar targets encoded in the target image of the 2 nd shooting
Figure BDA0003015332450000109
Since k' is 5, then
Figure BDA00030153324500001010
Thus step 5.2 is performed;
step 5.2, arranging the numbers of the 6 coding plane targets obtained in the step 4 from small to large, and respectively marking as
Figure BDA00030153324500001011
And numbering the 2 nd shot target image as
Figure BDA00030153324500001012
And
Figure BDA00030153324500001013
the coding plane targets are respectively marked as the 1 st, 2 nd, 3 rd, … and 6 th coding plane targets in the target image of the 2 nd shooting;
step 6, defining an integer variable i 2 、β 2 And assign value i 2 =1,β 2 =0;
Step 7, the ith image in the target image shot at the 2 nd time is processed 2 The number of the calibration angular points extracted from the target of each coding plane is recorded as
Figure BDA0003015332450000111
And judging:
if it is
Figure BDA0003015332450000112
Then beta will be 2 +1 value to β 2 I will be 2 The beta-th coding plane target is marked as 2 A calibration plane target, will i 2 The sub-pixel coordinates of the calibration corner points extracted from the coding plane target in the target image calibration corner point pixel coordinate system o-xy and the calibration corner points corresponding to the sub-pixel coordinates and having the same unique coding serial number on the coding stereo target in space are in
Figure BDA0003015332450000113
The matching relation between the target coordinates under the number target coordinate system is marked as the ith 2 Each calibration matching group; then step 8 is executed; otherwise, directly executing the step 8;
step 8, judging i 2 Whether or not less than 6, if i 2 If < 6, then i 2 +1 value to i 2 Then returning to execute the step 7; otherwise, executing step 9; in this example, β can be obtained through steps 6 to 8 2 ==4;
Step 9, judging beta 2 Whether or not less than 5, if beta 2 If less than 5, executing step 10; otherwise beta is obtained 2 Satisfy the calibration stripCalibration plane target and beta of piece 2 Calibrating the matching groups, and then executing the step 11;
from the above, β 2 If the result is less than 5, executing the step 10;
and step 10, adjusting the coding stereo target to enable the camera field of view to contain more coding plane targets and calibration corner points, then assigning tau +1 to tau and returning to the step 2.2 for sequential execution.
Shooting for the 3 rd time:
step 2.2, shooting the coded three-dimensional target in the space by using a camera with a fixed position to obtain a target image shot at the 3 rd time, as shown in fig. 20;
3.1-3.5 the process of establishing the target coordinate system of each encoding plane target can refer to the establishment process in the 1 st shooting, as shown in fig. 21;
step 4, taking the target image shot at the 3 rd time as an input condition, and obtaining the number of the coded planar targets in the target image shot at the 3 rd time by utilizing a decoding method of the coded three-dimensional targets
Figure BDA0003015332450000114
The matching relation among the number of each coding plane target in the 3 rd shot target image, the number of the calibration corner points extracted from each coding plane target in the 3 rd shot target image, the sub-pixel coordinates of each calibration corner point in the target image calibration corner point pixel coordinate system o-xy, the unique coding serial number of the calibration corner point extracted from each coding plane target in the 3 rd shot target image, the sub-pixel coordinates of the calibration corner point extracted from each coding plane target in the 3 rd shot target image in the target image calibration corner point pixel coordinate system o-xy and the target coordinates of the calibration corner point corresponding to one coding stereo target in space and having the same unique coding serial number in the corresponding target coordinate system;
in this embodiment, the number of planar targets encoded in the 3 rd captured target image
Figure BDA0003015332450000115
2 nd timeThe shot target image comprises a No. 1 coding plane target, a No. 2 coding plane target, a No. 3 coding plane target, a No. 4 coding plane target, a No. 5 coding plane target and a No. 6 coding plane target;
step 5.1, judging the number of the coding plane targets in the 3 rd shot target image
Figure BDA0003015332450000121
If the number is less than the threshold k' of the number of the coding plane targets, if so
Figure BDA0003015332450000122
Step 10 is executed; otherwise, executing step 5.2;
in an embodiment, the number of the coded planar targets in the 3 rd shot target image
Figure BDA0003015332450000123
Since k' is 5, then
Figure BDA0003015332450000124
So step 5.2 is performed;
step 5.2, arranging the numbers of the 6 coding plane targets obtained in the step 4 from small to large, and respectively marking as
Figure BDA0003015332450000125
And numbering the 3 rd shot target image as
Figure BDA0003015332450000126
And
Figure BDA00030153324500001211
the coding plane targets are respectively marked as the 1 st, 2 nd, 3 rd, … and 6 th coding plane targets in the target image of the 3 rd shooting;
step 6, defining an integer variable i 3 、β 3 And assign value i 3 =1,β 3 =0;
Step 7, will beIth in target image taken 3 times 3 The number of the calibration angular points extracted from the target of the coding plane is recorded as
Figure BDA0003015332450000127
And judging:
if it is
Figure BDA0003015332450000128
Then beta will be 3 +1 value to β 3 I will be 3 The beta-th coding plane target is marked as 3 A calibration plane target, will i 3 The sub-pixel coordinates of the calibration corner points extracted from the coding plane target in the target image calibration corner point pixel coordinate system o-xy and the calibration corner points corresponding to the sub-pixel coordinates and having the same unique coding serial number on the coding stereo target in space are in
Figure BDA0003015332450000129
The matching relation between the target coordinates under the number target coordinate system is marked as the ith 3 Each calibration matching group; then step 8 is executed; otherwise, directly executing step 8;
step 8, judging i 3 Whether or not less than 6, if i 3 If < 6, then i 3 +1 value to i 3 Then returning to execute the step 7; otherwise, executing step 9; in this example, β can be obtained through steps 6 to 8 3 ==6;
Step 9, judging beta 3 Whether or not less than 5, if beta 3 If less than 5, executing step 10; otherwise beta is obtained 3 Calibration plane target satisfying calibration condition and beta 3 Calibrating the matching groups, and then executing the step 11;
in this embodiment, β 3 ==6,β 3 If the number is more than 5,6 calibration plane targets meeting the calibration conditions and 6 calibration matching groups are obtained, wherein the 1 st calibration matching group is shown in the following table 1.1:
TABLE 1.1
Figure BDA00030153324500001210
Figure BDA0003015332450000131
The 2 nd calibration matching group is shown in the following table 1.2:
TABLE 1.2
Figure BDA0003015332450000132
Figure BDA0003015332450000141
The 3 rd calibration matching set is shown in table 1.3 below:
TABLE 1.3
Serial number Calibrating sub-pixel coordinates of angular point Calibrating unique coding serial number of angular point Calibrating angular point target coordinates
1 (1288.92,824.6) 32_6 (0,54,0)
2 (1291.46,885.744) 29_1 (0,40.5,0)
3 (1293.86,946.104) 26_6 (0,27,0)
4 (1296.02,1006.02) 23_1 (0,13.5,0)
5 (1298.1,1065.76) 20_6 (0,0,0)
6 (1348.73,824.929) 32_1 (13.5,54,0)
7 (1351,886.452) 30_6 (13.5,40.5,0)
8 (1353.18,947.637) 26_1 (13.5,27,0)
9 (1355.25,1008.15) 24_6 (13.5,13.5,0)
10 (1357.06,1068.37) 20_1 (13.5,0,0)
11 (1409.97,825.075) 33_6 (27,54,0)
12 (1412.05,887.522) 30_1 (27,40.5,0)
13 (1414.09,949.028) 27_6 (27,27,0)
14 (1415.91,1010.28) 24_1 (27,13.5,0)
15 (1417.34,1071.18) 21_6 (27,0,0)
16 (1471.75,825.312) 33_1 (40.5,54,0)
17 (1473.6,888.175) 31_6 (40.5,40.5,0)
18 (1475.48,950.389) 27_1 (40.5,27,0)
19 (1477.05,1012.21) 25_6 (40.5,13.5,0)
20 (1478.26,1073.91) 21_1 (40.5,0,0)
21 (1534.34,825.381) 34_6 (54,54,0)
22 (1536.2,888.94) 31_1 (54,40.5,0)
23 (1538.15,952.083) 28_6 (54,27,0)
24 (1539.71,1014.24) 25_1 (54,13.5,0)
25 (1540.58,1076.41) 22_6 (54,0,0)
The 4 th calibration match set is shown in table 1.4 below:
TABLE 1.4
Serial number Calibrating sub-pixel coordinates of angular point Marking unique coding serial number of corner point Calibrating corner point target coordinates
1 (441.018,111.57) 71_6 (54,54,0)
2 (377.533,113.12) 70_1 (40.5,54,0)
3 (314.425,114.952) 70_6 (27,54,0)
4 (251.025,116.856) 69_1 (13.5,54,0)
5 (188.539,118.828) 69_6 (0,54,0)
6 (442.674,176.429) 68_1 (54,40.5,0)
7 (379.096,177.963) 68_6 (40.5,40.5,0)
8 (316.044,179.577) 67_1 (27,40.5,0)
9 (252.975,181.29) 67_6 (13.5,40.5,0)
10 (190.625,183.05) 66_1 (0,40.5,0)
11 (444.099,240.704) 65_6 (54,27,0)
12 (380.873,242.159) 64_1 (40.5,27,0)
13 (317.886,243.731) 64_6 (27,27,0)
14 (254.998,245.306) 63_1 (13.5,27,0)
15 (192.759,247.032) 63_6 (0,27,0)
16 (445.659,304.785) 62_1 (54,13.5,0)
17 (382.784,306.324) 62_6 (40.5,13.5,0)
18 (319.905,307.759) 61_1 (27,13.5,0)
19 (257.082,309.283) 61_6 (13.5,13.5,0)
20 (194.976,310.884) 60_1 (0,13.5,0)
21 (447.233,368.884) 59_6 (54,0,0)
22 (384.663,370.246) 58_1 (40.5,0,0)
23 (321.97,371.538) 58_6 (27,0,0)
24 (259.441,372.908) 57_1 (13.5,0,0)
25 (197.48,374.591) 57_6 (0,0,0)
The 5 th calibration match set is shown in table 1.5 below:
TABLE 1.5
Figure BDA0003015332450000151
Figure BDA0003015332450000161
The 6 th calibration match set is shown in table 1.6 below:
TABLE 1.6
Figure BDA0003015332450000162
Figure BDA0003015332450000171
Step 11, calculating the internal and external parameters and distortion coefficients of the Camera by using a Zhangyingyou Calibration algorithm (A Flexible New Technique for Camera Calibration) according to the 6 Calibration matching groups obtained in the step 9, wherein the Calibration result is as follows:
encoding the global average calibration error of the stereo target image: 0.0338604 pixels.
Camera intrinsic parameter matrix:
Figure BDA0003015332450000172
camera distortion coefficient:
(-0.232714 0.196554 -7.719×10 -5 -0.00221);
coding a rotation matrix of the No. 1 coding plane target on the stereo target image:
Figure BDA0003015332450000173
coding the translation vector of the No. 1 coding plane target on the stereo target image:
(-156.689 90.0871 439.808) T
encoding a rotation matrix of the No. 2 encoding plane target on the stereo target image:
Figure BDA0003015332450000174
encoding translation vectors of No. 2 encoding plane targets on the stereo target images:
(-47.4902 95.287 464.166) T
encoding the rotation vector of No. 3 encoding plane target on the stereo target image:
Figure BDA0003015332450000181
encoding translation vectors of No. 3 encoding plane targets on the stereo target images:
(74.9578 102.942 463.052) T
coding a rotation matrix of the No. 4 coding plane target on the stereo target image:
Figure BDA0003015332450000182
encoding translation vectors of No. 4 encoding plane targets on the stereo target images:
(-162.096 -47.8374 440.853) T
encoding a rotation matrix of No. 5 encoding plane target on the stereo target image:
Figure BDA0003015332450000183
encoding translation vectors of No. 5 encoding planar targets on the stereo target images:
(-34.5229 -46.6275 465.354) T
encoding a rotation matrix of the No. 6 encoding plane target on the stereo target image:
Figure BDA0003015332450000184
encoding translation vectors of No. 6 encoding planar targets on the stereo target image:
(75.6522 -43.397 425.103) T
therefore, the calibration work of the monocular camera is completed by utilizing the coded stereo target.
In this embodiment, the steps of the decoding method for the coded stereoscopic target are as follows (since the process of decoding the target image shot each time by using the decoding method for the coded stereoscopic target and obtaining the calibration corner point coding information is similar, the target image shot at the 3 rd time in this embodiment is taken as an example for detailed description):
step 1, a checkerboard detection algorithm proposed by Automatic Camera and Range Sensor Calibration using a single Shot is utilized to identify a target image Shot at the 3 rd time
Figure BDA0003015332450000185
The complete or partial coding plane targets are marked as coding plane targets g respectively 1 、g 2 、g 3 、g 4 、g 5 、g 6 And obtaining sub-pixel coordinates of all calibration corner points on each coding plane target in a target image calibration corner point pixel coordinate system o-xy, as shown in fig. 22, coding plane target g 1 、g 2 、g 3 、g 4 、g 5 、g 6 The sub-pixel coordinates of the upper calibration corner point are shown in tables 2.1 to 2.6:
TABLE 2.1
(441.018,111.57) (442.674,176.429) (444.099,240.704) (445.659,304.785) (447.233,368.884)
(377.533,113.12) (379.096,177.963) (380.873,242.159) (382.784,306.324) (384.663,370.246)
(314.425,114.952) (316.044,179.577) (317.886,243.731) (319.905,307.759) (321.97,371.538)
(251.025,116.856) (252.975,181.29) (254.998,245.306) (257.082,309.283) (259.441,372.908)
(188.539,118.828) (190.625,183.05) (192.759,247.032) (194.976,310.884) (197.48,374.591)
TABLE 2.2
(264.728,781.126) (325.337,790.84) (385.863,800.215) (445.756,809.461) (505.266,818.66)
(254.735,839.98) (315.899,849.425) (377.005,858.855) (437.652,867.832) (497.472,876.826)
(244.416,899.822) (306.378,908.929) (368.087,918.002) (429.222,926.941) (489.854,935.513)
(234.321,960.634) (296.674,969.525) (359.198,978.358) (420.881,986.838) (482.111,995.256)
(224.225,1022.38) (287.347,1031.09) (350.221,1039.72) (412.799,1047.93) (474.328,1056.04)
TABLE 2.3
(976.673,779.02) (976.045,840.675) (975.01,903.327) (974.44,966.484) (973.608,1030.17)
(918.781,782.414) (917.743,843.626) (916.558,905.506) (915.462,968.096) (914.376,1031.15)
(862.02,785.851) (860.515,846.168) (858.917,907.304) (857.584,969.434) (856.2,1031.83)
(806.383,788.648) (804.554,848.463) (802.728,909.15) (800.932,970.367) (799.06,1032.12)
(752.014,792.034) (749.827,850.835) (747.873,910.768) (745.78,971.507) (743.87,1032.21)
TABLE 2.4
(808.781,148.931) (873.543,153.238) (938.027,157.749) (1002.74,162.398) (1067.44,167.215)
(806.872,210.461) (870.828,214.848) (934.609,219.271) (998.423,223.927) (1062.34,228.73)
(805.027,270.345) (868.262,274.754) (931.217,279.145) (994.224,283.819) (1057.41,288.741)
(803.26,329.229) (865.643,333.556) (927.946,338.083) (990.201,342.772) (1052.52,347.522)
(801.844,386.368) (863.434,390.774) (924.774,395.13) (986.314,399.786) (1047.82,404.63)
TABLE 2.5
(1322.22,158.441) (1384.79,160.81) (1447.13,163.506) (1508.62,166.495) (1569.86,169.088)
(1325.44,212.577) (1388.68,214.911) (1451.9,217.548) (1514.08,220.386) (1576.08,223)
(1328.35,267.896) (1392.53,270.493) (1456.39,272.873) (1519.65,275.448) (1582.22,278.257)
(1331.67,324.942) (1396.43,327.121) (1461.23,329.764) (1524.83,332.261) (1588.31,334.814)
(1334.61,384.077) (1400.4,386.349) (1465.92,388.672) (1530.3,390.853) (1594.41,393.083)
TABLE 2.6
Figure BDA0003015332450000191
Figure BDA0003015332450000201
Step 2.1, taking an integer variable i, and giving an initial value i which is 1;
step 2.2, copying the target image shot at the 3 rd time to the coded three-dimensional target image p 3 Performing the following steps;
step 3, encoding the three-dimensional target image p 3 Selecting a coding plane target g therein i Using digital image processing method to code plane target g i The gray values of all internal pixel points are kept unchanged, and a plane target g is coded i All gray values of all other pixel points are assigned to be 255, and the processed image is recorded as a three-dimensional target image p without complex background coding i ′;
In a specific embodiment, the three-dimensional target image p is coded without complex background 1 ' As shown in FIG. 23, the stereo target image p is encoded without complex background 2 ' As shown in FIG. 24, the stereo target image p is encoded without complex background 3 ' As shown in figure 25, no complex background coding stereoTarget image p 4 ' As shown in FIG. 26, the stereo target image p is encoded without complex background 5 ' As shown in FIG. 27, the stereo target image p is encoded without complex background 6 ' as shown in FIG. 28;
step 4, coding the stereo target image p without complex background i ' in, using the decoding method of the coding plane target, the coding plane target g is i The coding numbers of all the calibration angular points in the coding plane are matched with the sub-pixel coordinates of all the calibration angular points one by one, namely, a coding plane target g is found i The coding numbers of all the calibration angular points in the coding plane target g and the sub-pixel coordinates of all the calibration angular points are in one-to-one correspondence relationship, and the coding plane target g is used for coding i And all the calibration angular points in the coding plane target are matched with the corresponding coding plane targets and calibration angular points in the coding three-dimensional target one by one, namely, the coding plane target g is found i And the one-to-one correspondence between the pixel coordinates of all the calibration corner points in the target and the target coordinates, and the coding plane target g is also found i Coding plane target numbers of each inner calibration angular point, unique coding serial numbers corresponding to each calibration angular point, pixel coordinate values under a unique pixel coordinate system and target coordinate values under a unique target coordinate system, and skipping to the step 5;
step 5, according to whether i is equal to
Figure BDA0003015332450000202
The following two cases can be distinguished:
case 1: when i is not equal to 6, let i be i +1, and jump to step 4.2;
case 2: when i is 6, the loop is ended, thereby ending the decoding process of the entire encoded stereoscopic target.
By the above steps, in the target image shot at the 3 rd time, the one-to-one correspondence relationship between all identified coding plane targets and the coding plane targets in the coding three-dimensional target in the shot space, the one-to-one correspondence relationship between the pixel coordinates of all calibration angular points in all identified coding plane targets and the target coordinates, and the coding plane target number where each calibration angular point in all identified coding plane targets is located, the unique coding serial number corresponding to each calibration angular point, the pixel coordinate value in the unique pixel coordinate system and the target coordinate value in the unique target coordinate system are also found.
In this embodiment, the unique coding serial number, the pixel coordinate value in the unique pixel coordinate system, and the target coordinate value in the unique target coordinate system corresponding to the calibration corner point of each coding plane target in the target image shot at the 3 rd time are shown in tables 1.1 to 1.6.
In this embodiment, when the target image captured 3 rd time is processed by using the decoding method for encoding the three-dimensional target, the steps of the decoding method for encoding the planar target used in the method for decoding the planar target are as follows (since the process of processing each encoding planar target in the target image captured 3 rd time by using the decoding method for encoding the planar target is similar, the three-dimensional target image p is encoded without a complex background in this embodiment 5 ' detailed description for example):
step 1, coding a three-dimensional target image p without a complex background 5 ' and encoding the stereoscopic target image p without complex background 5 ' all the extracted calibration corner points are used as input conditions of a decoding method of the coding three-dimensional target;
step 2, coding the three-dimensional target image p without the complex background 5 ' carry out binarization processing and encode the three-dimensional target image p without complex background 5 ' the image obtained by binarization processing is marked as a binarized image P without a complex background target 2 So that the image P is binarized on the target without complex background 2 The background color of the middle parallelogram coding unit is changed into black, the colors of the background color of the parallelogram non-coding unit, the positioning pattern and the orientation pattern are all changed into white, and the color of the coding mark pattern can be white or black according to the coding rule;
step 3, coding the stereo target image p according to the condition of no complex background 5 ' the number of calibration corner points extracted in the column is m rows × n (where m and n are integers), and this step can be divided into the following cases:
case 1, when m and n are both odd numbers, or m and n are odd, even, the number μ (μ is an integer) of parallelogram coding units contained in the polygon L can be calculated by formula (1);
μ=(m-1)(n-1)/2 (1)
then step 4.1.1 is executed;
case 2, if m and n are even numbers, the estimated number μ '(μ' is an integer) of parallelogram coding units contained in the polygon L can be calculated by formula (2);
μ′=[(m-1)(n-1)+1]/2 (2)
at this time, the number mu of the parallelogram coding units actually contained in the polygon L satisfies mu ≦ mu';
setting a parallelogram coding unit number judgment threshold value L'; target binary image P without complex background 2 Etching the black connected domain to make the binary image P without the complex background target 2 All parallelogram coding units are disconnected at diagonal angles, and a complex background-free target binary image P is obtained 2 The image obtained by the processing is marked as a target binaryzation corrosion image P' 2 (ii) a Wherein, the image P is binarized on the target without complex background 2 When black connected domain corrosion treatment is carried out, the following conditions are satisfied:
(1) each parallelogram coding unit in the polygon L with the maximum number of the calibration angle points meets the requirement, and the white connected domain of the orientation circle, the white connected domain of the positioning ring, the black connected domain of the center of the positioning ring and the white connected domain of the coding mark pattern in the parallelogram coding unit are kept complete;
(2) each parallelogram coding unit in the polygon L with the maximum calibrated large angle points meets the requirement, and the connected domains of the orientation pattern, the positioning pattern and the coding mark pattern in the parallelogram coding unit are not communicated with each other;
(3) each parallelogram coding unit in the polygon L with the maximum number of the calibration angle points meets the requirement, and the orientation pattern, the positioning pattern and the coding mark pattern in the parallelogram coding unit are all positioned in the background of the parallelogram coding unit;
binarizing corrosion image P 'at target' 2 Up to find the maximum black connected domains of mu' and before calculationMu '-1 maximum black connected domain contains the average value χ' of pixel points;
marking the minimum black connected domain in the mu' maximum black connected domains in the polygon L as the tail end black connected domain, and calculating the pixel point chi contained in the tail end black connected domain m Judging according to the following;
Figure BDA0003015332450000221
(1) if L ' is less than or equal to L ', the polygon L actually comprises mu ' parallelogram coding units, and the value of mu ' is assigned to mu, and the value of mu is equal to mu '; and step 7.1.2 is executed;
(2) if L ' > L ', the polygon L actually comprises mu ' -1 parallelogram coding units, and the value of mu ' -1 is assigned to mu, and mu is equal to mu ' -1; and step 4.1.2 is executed;
in a particular embodiment, the stereo target image p is encoded without a complex background 5 If 5 rows × 5 columns of calibration corner points are extracted (i.e., m is 5 and n is 5), which is the case 1 in step 3, then: μ ═ (m-1) (n-1)/2 ═ 8;
step 4.1.1, binarizing the image P on the target without the complex background 2 In the method, black connected domain corrosion is carried out, so that a complex background-free target binary image P is obtained 2 All the parallelogram coding units are disconnected at the diagonal positions, and the complex background-free target binary image P is obtained 2 The image obtained by the processing is marked as a target binaryzation corrosion image P' 2 (wherein there is no complex background target binary image P 2 When carrying out corrosion treatment on the black connected domain, ensuring the coding plane target g 5 All the encoding patterns are not destroyed) as shown in fig. 29;
step 4.1.2 of searching the binaryzation corrosion image P 'on the target' 2 The 8 maximum black connected domains in the black image are respectively marked as a grid connected domain omega 1 Grid connected domain omega 2 …, grid connected domain omega 8 (ii) a Taking an integer variable i, and giving an initial value i to 1;
step 4.2, two-valued decay is carried out on the targetEtched image P' 2 In the above step, the square connected domain Ω in the above step 7.1.2 is calculated i Pixel coordinate of centroid (x) i ,y i ) i And (5) reassigning i +1 to i, and continuing to execute the step until i is greater than 8, thereby obtaining a target binary corrosion image P' 2 Upper square connected domain omega 1 Grid connected domain omega 2 …, grid connected domain omega 8 Centroid pixel coordinates (900,246) 1 、…、(838,180) 8 And will (900,246) 1 、…、(838,180) 8 Sequentially serving as a 1 st element, a 2 nd element, … and an 8 th element in a parallelogram coding unit centroid pixel coordinate set A;
step 5.1, assigning an initial value i to the integer variable i again, wherein the initial value i is 1;
step 5.2, binarizing the corrosion image P 'at the target' 2 In (1), calculating the distance grid connected domain omega i Centroid pixel coordinate (x) i ,y i ) i The nearest black connected domain is recorded as a target binary corrosion image P' 2 Of (1) ring center connected region omega' i (ii) a Assigning i +1 to i again, and continuing to execute the step until i is greater than 8; finally obtaining target binaryzation corrosion images P' 2 Of (1) ring center connected region omega' 1 And a circular ring center connected region omega' 2 …, ring center connected region omega' 8
Step 5.3, assigning an initial value i to the integer variable i again, wherein the initial value i is 1;
step 5.4, binarizing the corrosion image P 'on the target' 2 In (1), calculating the target binaryzation corrosion image P' 2 Of (1) ring center connected region omega' i Centroid pixel coordinate o ″) d,i (x″ d,i ,y″ d,i ) Assigning i +1 to i again, and continuing to execute the step until i is greater than 8; obtaining the target binary corrosion image P' 2 Of (1) ring center connected region omega' 1 And omega 'of circular ring center connected region' 2 …, ring center connected region omega' 8 Centroid pixel coordinate o ″) d1 (900,256)、…、o″ d8 (838,190) in turn asThe 1 st element, the 2 nd element, … th element and the 8 th element in the circular ring centroid pixel coordinate set B;
step 6.1, binarizing the corrosion image P 'on the target' 2 In, will remove square connected domain omega 1 Grid connected domain omega 2 …, grid connected domain omega 8 And a circular ring center connected region omega' 1 And omega 'of circular ring center connected region' 2 …, ring center connected region omega' 8 The gray values of the other black connected domains are all assigned to be 255, and the target is subjected to binarization to form a corrosion image P' 2 The image obtained by the processing is recorded as a decoded binary image P 3 As shown in fig. 30;
step 6.2, taking an integer variable zeta, and giving an initial value zeta equal to 1;
step 7.1, decoding the binary image P 3 Copying and backing up, and recording the copied image as a 1 st backup binary image P 1,4
Step 7.2, backup binaryzation image P at the 1 st 1,4 Taking the 1 st centroid coordinate value in the parallelogram coding unit centroid pixel coordinate set A (900,246) 1 Finding the coordinate value of distance centroid in the set of calibration corner points Q (900,246) 1 Pixel coordinate values of the nearest 4 calibration corner points, and the binarization image P at the 1 st backup 1,4 Respectively marking 4 pixel points corresponding to the pixel coordinate values of the 4 calibration corner points as C ″ 1,1 (868.3,274.8)、C″ 1,2 (870.8,214.8)、C″ 1,3 (934.6,219.3)、C″ 1,4 (931.2,279.1); and taking the 4 pixel points as the 1 st calibration angular point quadrangle S 1 And connecting the 4 vertexes to form a 1 st calibration corner point quadrangle S 1
Step 8.1, finding out the 1 st barycenter pixel coordinate value in the barycenter pixel coordinate set A of the parallelogram coding unit from the circular barycenter pixel coordinate B in step 5.4 (900,246) 1 A corresponding circle centroid pixel coordinate of circle 1 (900,256);
step 8.2, backup binaryzation image P at the 1 st 1,4 In (c), the coordinate value of the centroid of the ring is found900,256) and assigning the gray value of the white connected domain to be 0;
step 9, in the 1 st backup binary image P 1,4 In the above, the 1 st calibration corner point quadrangle S 1 Except that the gray values of all the pixel points are assigned to be 255, and the 1 st calibration corner point quadrangle S 1 Keeping the gray values of all internal pixel points unchanged, and marking the obtained image as the 1 st unit binary image E without complex background 1 As shown in fig. 31;
step 10, binarizing the image E in the 1 st unit without complex background 1 In the method, a unit binary image E with the maximum black connected domain and marked as the 1 st no complex background is searched 1 Maximum black connected component Ω in 1,E (ii) a Extracting the 1 st unit binary image E without complex background 1 Maximum black connected component Ω in 1,E And is recorded as the centroid pixel coordinate value of (900,246) 1 Of a parallelogram-shaped coding unit D 1
Step 11, the coordinate value of the centroid pixel is (900,246) 1 Of a parallelogram-shaped coding unit D 1 In the method, the number of pixel points contained in each contour is counted, wherein the contour containing the second most pixel points is the 1 st unit binary image E without complex background 1 The pixel coordinate value of the middle mass center is (900,246) 1 In a parallelogram coding unit of (2) an outline G of a positioning circle 1 Calculating the positioning circle profile G 1 And marked as the 1 st unit binary image without complex background 1 The upper centroid pixel coordinate value is (900,246) 1 Positioning circular centroid pixel coordinate o 'in parallelogram coding unit of (1)' l,1 (900,236);
Step 12.1, in the step 10, the coordinate value of the center of mass pixel is (900,246) 1 Of a parallelogram-shaped coding unit D 1 In (1), the 2 contours with the largest number of pixels are removed, and the remaining k 1 (wherein κ 1 0,1,2, 3.) contours, and is classified into the following cases:
case 1 ifκ 1 If 0, go to step 13.1;
case 2 if κ 1 Not equal to 0, then this is κ 1 The individual contour is the unit binary image E without complex background in the 1 st 1 The upper centroid pixel coordinate value is (900,246) 1 The coded mark circle contour in the parallelogram coding unit is recorded as the coded mark circle contour
Figure BDA0003015332450000241
Coded marker circle profile
Figure BDA0003015332450000242
… coded marker circle outline
Figure BDA0003015332450000243
In the examples kappa 1 If 2, the 2 contours are the 1 st unit binarized image E without complex background 1 The coordinate of the upper mass center is (900,246) 1 The coding mark circle contour in the parallelogram coding unit is respectively marked as the coding mark circle contour
Figure BDA0003015332450000244
Coded marker circle profile
Figure BDA0003015332450000245
Step 12.2, assigning an initial value i to the integer variable i again, wherein the initial value i is 1;
step 12.3, binarizing the image E in the 1 st unit without complex background 1 Calculating the contour of the coding mark circle
Figure BDA0003015332450000246
Centroid pixel coordinates of
Figure BDA0003015332450000247
Assigning i +1 to i again and continuing to execute the step until i is greater than 2; can obtain the corresponding coding mark circular contour
Figure BDA0003015332450000251
Coded marker circle profile
Figure BDA0003015332450000252
Centroid pixel coordinates of
Figure BDA0003015332450000253
Figure BDA0003015332450000254
Step 13.1, binarizing the image E in the 1 st unit without complex background 1 And recording the pixel point with the pixel coordinate value of (900,256) as the centroid coordinate value of (900,246) 1 Oriented circular centroid on parallelogram coding unit
Figure BDA0003015332450000255
And binarizing the image E in the 1 st cell without complex background 1 In the above, 4 pixels with pixel coordinate values of (868.3,274.8), (870.8,214.8), (934.6,219.3) and (931.2,279.1) are marked as C ″ 1,1 (868.3,274.8)、C″ 1,2 (870.8,214.8)、C″ 1,3 (934.6,219.3)、C″ 1,4 (931.2,279.1);
Step 13.2, binarizing the image E in the 1 st unit without complex background 1 Upper, get C 1,1 (x 1,1 ,y 1,1 )、C 1,2 (x 1,2 ,y 1,2 )、C 1,3 (x 1,3 ,y 1,3 )、C 1,4 (x 1,4 ,y 1,4 ) Respectively representing a centroid pixel coordinate value of (900,246) 1 The pixel coordinates of the calibration corner points of the No. 1 coding region, the No. 3 coding region, the No. 4 coding region and the No. 6 coding region in the parallelogram coding unit; the centroid pixel coordinate value is (900,246) 1 In a parallelogram coding unit
Figure BDA0003015332450000256
Can be obtained from the formula (3) by locating the center of mass o' l,1 And an orientation ringCenter of mass o' d,1 Is a straight line of 1,3
Figure BDA0003015332450000257
Step 14, binarizing the image E in the 1 st unit without complex background 1 In the above, 4 pixel points C ″) 1,1 (868.3,274.8)、C″ 1,2 (870.8,214.8)、C″ 1,3 (934.6,219.3)、C″ 1,4 (931.2,279.1) distance-located circular centroid pixel coordinate o' d,1 (900,256) the nearest 2 pixels are respectively marked as C 1,1min (x 1,1min ,y 1,1min ) And C 1,2min (x 1,2min ,y 1,2min ) (ii) a In this embodiment, C 1,1min (x 1,1min ,y 1,1min ) Is C' 1,1 (934.6,219.3),C 1,2min (x 1,2min ,y 1,2min ) Is C' 1,4 (870.8,214.8) the pixel coordinate value at the centroid of (900,246) can be calculated by the formulas (4) and (5) 1 1 st decision vector in a parallelogram coding unit of
Figure BDA0003015332450000258
And 2 nd decision vector
Figure BDA0003015332450000259
And calculating the area division sine value 1 sin alpha by the formulas (6) and (7) 1 Sum region dividing sine value 2 sin beta 1
Figure BDA00030153324500002510
Figure BDA00030153324500002511
Figure BDA00030153324500002512
Figure BDA00030153324500002513
And judging:
case 1, if sin α 1 <0,sinβ 1 If greater than 0, then C 1,1min (x 1,1min ,y 1,1min ) Is the centroid pixel coordinate value is (900,246) 1 C is the nominal corner point of the 1 st coding region in the parallelogram coding unit 1,1min (x 1,1min ,y 1,1min ) Is assigned to C 1,1 (x 1,1 ,y 1,1 );C 1,2min (x 1,2min ,y 1,2min ) Is a centroid pixel coordinate value of (900,246) 1 C of the 6 th coding region in the parallelogram coding unit 1,2min (x 1,2min ,y 1,2min ) Is assigned to C 1,4 (x 1,4 ,y 1,4 );
Case 2, sin α 1 >0,sinβ 1 Less than 0, then C 1,2min (x 1,2min ,y 1,2min ) Is a centroid pixel coordinate value of (900,246) 1 C for the 1 st coding region in the parallelogram coding unit 1,2min (x 1,2min ,y 1,2min ) Is assigned to C 1,1 (x 1,1 ,y 1,1 );C 1,1min (x 1,1min ,y 1,1min ) Is a centroid pixel coordinate value of (900,246) 1 C of the 6 th coding region in the parallelogram coding unit 1,1min (x 1,1min ,y 1,1min ) Is assigned to C 1,4 (x 1,4 ,y 1,4 );
In this embodiment, sin α 1 <0,sinβ 1 If greater than 0, then C 1,1min (934.6,219.3) the centroid pixel coordinate value is (900,246) 1 C is the nominal corner point of the 1 st coding region in the parallelogram coding unit 1,1min (934.6,219.3) assigning a pixel coordinate value to C 1,1 (x 1,1 ,y 1,1 );C 1,2min (870.8,214.8) the centroid pixel coordinate value is (900,246) 1 C is the nominal corner point of the 6 th coding region in the parallelogram coding unit 1,2min (870.8,214.8) assigning a pixel coordinate value to C 1,4 (x 1,4 ,y 1,4 );
Step 15, binarizing the image E in the 1 st unit without complex background 1 In step 14, the centroid pixel coordinate value is found to be (900,246) 1 The calibration corner points C of the 1 st coding region and the 6 th coding region in the parallelogram coding unit 1,1 (934.6,219.3) and C 1,4 (870.8,214.8); 4 pixel points C ″) 1,1 (868.3,274.8)、C″ 1,2 (870.8,214.8)、C″ 1,3 (934.6,219.3)、C″ 1,4 (931.2,279.1) the remaining 2 pixels (in this example, C' 1,2 (868.3,274.8) and C' 1,3 (931.2,279.1)) are assigned to centroid pixel coordinate values of (900,246) 1 The 1 st temporary coordinate value of the parallelogram encoding unit of (1) is marked as C' 1,5 (931.2,279.1), and the 2 nd temporary coordinate value is marked as C' 1,6 (868.3,274.8); the pixel coordinate value at the centroid can be found to be (900,246) according to equations (8) and (9) 1 Of the parallelogram coding unit of (3) th decision vector
Figure BDA0003015332450000261
And 4 th judgment vector
Figure BDA0003015332450000262
Figure BDA0003015332450000263
Figure BDA0003015332450000264
Step 16, determining the vector according to the 3 rd judgment vector calculated in the step 15
Figure BDA0003015332450000265
And 4 th judgment vector
Figure BDA0003015332450000266
The area division sine value 3 sin omega can be obtained by the formula (10) and the formula (11) 1 Sum region dividing sine value 4 sin xi 1
Figure BDA0003015332450000267
Figure BDA0003015332450000268
And judging:
case 1, sin ω 1 ==0,sinξ 1 Not equal to 0, then C' 1,5 (x′ 1,5 ,y′ 1,5 ) I.e. the centroid pixel coordinate value is (900,246) 1 C 'of the 3 rd coding region in the parallelogram coding unit of (1)' 1,5 (x′ 1,5 ,y′ 1,5 ) Is assigned to C 1,2 (x 1,2 ,y 1,2 );C′ 1,6 (x′ 1,6 ,y′ 1,6 ) Is a centroid pixel coordinate value of (900,246) 1 C 'to the index corner point of the 4 th coding region in the parallelogram coding unit of' 1,6 (x′ 1,6 ,y′ 1,6 ) Is assigned to C 1,3 (x 1,3 ,y 1,3 );
Case 2, sin ω 1 ≠0,sinξ 1 0 to C' 1,6 (x′ 1,6 ,y′ 1,6 ) I.e. the centroid pixel coordinate value is (900,246) 1 C 'to the index corner point of the 3 rd coding region in the parallelogram coding unit of (1)' 1,6 (x′ 1,6 ,y′ 1,6 ) Is assigned to C 1,2 (x 1,2 ,y 1,2 );C′ 1,5 (x′ 1,5 ,y′ 1,5 ) Is a centroid pixel coordinate value of (900,246) 1 Is the calibration corner point of the 4 th coding region in the parallelogram coding unitOf (2) is C' 1,5 (x′ 1,5 ,y′ 1,5 ) Is assigned to C 1,3 (x 1,3 ,y 1,3 );
In this example, sin ω 1 0.06 is lower than the parallelism threshold 0.1, so it can be considered that: sin omega 1 ==0,sinξ 1 Not equal to 0, then C' 1,5 (931.2,279.1) the centroid pixel coordinate value is (900,246) 1 C 'to the index corner point of the 3 rd coding region in the parallelogram coding unit of (1)' 1,5 (931.2,279.1) to C 1,2 (x 1,2 ,y 1,2 );C′ 1,6 (868.3,274.8) the centroid pixel coordinate value is (900,246) 1 C 'to the index corner point of the 4 th coding region in the parallelogram coding unit of' 1,6 (868.3,274.8) the coordinate value is assigned to C 1,3 (x 1,3 ,y 1,3 );
So far, the image E is binarized in the 1 st unit without complex background 1 In the above, the centroid pixel coordinate value is found to be (900,246) 1 Is marked with an angular point C of the 1 st coding region in the parallelogram coding unit 1,1 (934.6,219.3) and a 3 rd coding region calibration corner point C 1,2 (931.2,279.1) and a calibration corner point C of the 4 th encoding region 1,3 (868.3,274.8) and the calibration corner point C of the 6 th encoding region 1,4 (870.8,214.8);
Step 17, binarizing the image E in the 1 st unit without complex background 1 The coordinates of the centroid pixel obtained in step 14 are (900,246) 1 Is marked with an angular point C of the 1 st coding region in the parallelogram coding unit 1,1 (934.6,219.3), calibration corner point C of the 6 th encoding region 1,4 (870.8,214.8), the centroid pixel coordinate value is (900,246) derived from equation (12) 1 The 5 th decision vector in the parallelogram coding unit of
Figure BDA0003015332450000271
Figure BDA0003015332450000272
Binarizing image E in 1 st unit without complex background 1 The coordinate value of the centroid pixel is (900,246) 1 Positioning circle center of mass o 'of parallelogram encoding unit' l,1 (900,236) as a starting point with a 5 th decision vector
Figure BDA0003015332450000273
Parallel and co-directional unit vectors, denoted as
Figure BDA0003015332450000274
And memorize unit vector
Figure BDA0003015332450000275
The straight line is l 1,1 (ii) a The coordinate value of the centroid pixel is (900,246) 1 Of parallelogram-shaped coding units of (1)' d,1 (900,256) as a starting point with a 5 th decision vector
Figure BDA0003015332450000276
Parallel and co-directional unit vectors, denoted as
Figure BDA0003015332450000277
And recording the straight line of the unit vector as l 1,2 (ii) a Re-assigning the integer variable i to 1;
step 18.1, defining 6 floating point type two-dimensional arrays Cr 1 1 [2][2]、Cr 1 2 [2][2]、Cr 1 3 [2][2]、Cr 1 4 [2][2]、Cr 1 5 [2][2]、Cr 1 6 [2][2]For storing the centroid pixel coordinate value is (900,246) 1 The coding mark circular contour centroid of the parallelogram coding unit respectively positioned in 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 in the 1 st unit binary image E without complex background 1 Initializing all elements in the 6 two-dimensional arrays according to the pixel coordinates, and assigning the values to be-1; taking 6 integer variables
Figure BDA0003015332450000281
And it is initialized by the computer system to be initialized,
Figure BDA0003015332450000282
re-assigning the integer variable i to be 1;
step 18.2, binarizing the image E in the 1 st unit without complex background 1 In the calculation step 15.2, the centroid pixel coordinate value is (900,246) 1 In a parallelogram coding unit of
Figure BDA0003015332450000283
Centroid pixel coordinates of
Figure BDA0003015332450000284
And
Figure BDA0003015332450000285
respectively with the center of mass o 'of the positioning circle' l,1 Oriented ring centroid o' d,1 Formed 1 st group of 1 st quadrant vectors
Figure BDA0003015332450000286
And group 1,2 nd quadrant vector
Figure BDA0003015332450000287
And group 2 quadrant 1 vectors
Figure BDA0003015332450000288
And group 2 quadrant 2 vectors
Figure BDA0003015332450000289
Figure BDA00030153324500002810
Figure BDA00030153324500002811
According to the calculated 1 st group of 1 st quadrant vectors
Figure BDA00030153324500002812
And group 1,2 nd quadrant vector
Figure BDA00030153324500002813
Group 2, quadrant 1 vectors
Figure BDA00030153324500002814
And group 2 quadrant 2 vectors
Figure BDA00030153324500002815
Unit vector
Figure BDA00030153324500002816
And
Figure BDA00030153324500002817
and a direction vector
Figure BDA00030153324500002818
Is calculated by the following formula (15), formula (16), formula (17), formula (18), formula (19), formula (20), formula (21) or formula (22)
Figure BDA00030153324500002819
And
Figure BDA00030153324500002820
Figure BDA00030153324500002821
Figure BDA00030153324500002822
Figure BDA00030153324500002823
Figure BDA00030153324500002824
Figure BDA00030153324500002825
Figure BDA00030153324500002826
Figure BDA00030153324500002827
Figure BDA00030153324500002828
and the following results were obtained:
Figure BDA00030153324500002829
coded marker circle profile
Figure BDA00030153324500002830
The coordinate value of the pixel falling on the centroid is (900,246) 1 The 1 st coding region of the parallelogram coding unit of (1); let Cr be 1 1 [0][0]=922,Cr 1 1 [0][1]=232;
Figure BDA0003015332450000291
Coded marker circle profile
Figure BDA0003015332450000292
The coordinate value of the pixel falling on the centroid is (1154,696) 1 The 2 nd coding region of the parallelogram coding unit of (1); let Cr be 1 2 [0][0]=922,Cr 1 2 [0][1]=244;
Step 19, define
Figure BDA0003015332450000293
The coordinate value of the representative centroid pixel is (900,246) 1 The w-th bit in the λ -th coded region (where λ is 1,2,3,4,5,6) in the parallelogram coding unit of (1, 2) encodes the coded value of the landmark circle (where w is 1,2),
Figure BDA0003015332450000294
taking 0 or 1; taking an integer variable i, and endowing the i with an initial value i which is 1 again;
step 20.1, the step is divided into the following cases:
case 1 if Cr 1 i [0][0]==-1,Cr 1 i [0][1]==-1,Cr 1 i [1][0]==-1,Cr 1 i [1][1]When being equal to-1, then
Figure BDA0003015332450000295
Assigning i +1 to i, and when i is more than 2, continuing to execute the next step 20.2; otherwise, returning to execute the step 20.1;
case 2 if Cr 1 i [0][0]==-1,Cr 1 i [0][1]==-1,Cr 1 i [1][0]≠-1,Cr 1 i [1][1]Not equal to-1, recording coordinate point (Cr) 1 i [1][0],Cr 1 i [1][1]) To a straight line l 1,1 Is a distance of
Figure BDA00030153324500002925
To a straight line l 1,3 A distance of
Figure BDA0003015332450000296
If it is
Figure BDA0003015332450000297
And order
Figure BDA0003015332450000298
If it is
Figure BDA0003015332450000299
Then order
Figure BDA00030153324500002910
Assigning i +1 to i, and when i is more than 2, continuing to execute the next step 20.2; otherwise, returning to execute the step 20.1;
case 3, if Cr 1 i [0][0]≠-1,Cr 1 i [0][1]≠-1,Cr 1 i [1][0]==-1,Cr 1 i [1][1]The coordinate point (Cr) is recorded as-1 1 i [0][0],Cr 1 i [0][1]) To a straight line l 1,1 Is a distance of
Figure BDA00030153324500002926
To a straight line l 1,3 A distance of
Figure BDA00030153324500002911
If it is
Figure BDA00030153324500002912
Then order
Figure BDA00030153324500002913
If it is
Figure BDA00030153324500002914
Order to
Figure BDA00030153324500002915
Assigning i +1 to i, and when i is more than 2, continuing to execute the next step 20.2; otherwise, returning to execute the step 20.1;
case 4, if Cr 1 i [0][0]≠-1,Cr 1 i [0][1]≠-1,Cr 1 i [1][0]≠-1,Cr 1 i [1][1]Not equal to-1, then order
Figure BDA00030153324500002916
Assigning i +1 to i, and when i is more than 2, continuing to execute the next step 20.2; otherwise, the step 20 is executed.1;
In a specific embodiment, according to this step:
(1)Cr 1 1 [0][0]≠-1,Cr 1 1 [0][1]≠-1,Cr 1 1 [1][0]==-1,Cr 1 1 [1][1]is ═ 1, and
Figure BDA00030153324500002917
Figure BDA00030153324500002918
satisfy the requirements of
Figure BDA00030153324500002919
Then
Figure BDA00030153324500002920
(2)Cr 1 2 [0][0]≠-1,Cr 1 2 [0][1]≠-1,Cr 1 1 [1][0]==-1,Cr 1 1 [1][1]Is ═ 1, and
Figure BDA00030153324500002921
Figure BDA00030153324500002922
satisfy the requirement of
Figure BDA00030153324500002923
Then the
Figure BDA00030153324500002924
Step 20.2, the step is divided into the following conditions:
case 1 if Cr 1 i [0][0]==-1,Cr 1 i [0][1]==-1,Cr 1 i [1][0]==-1,Cr 1 i [1][1]When the value is-1, then
Figure BDA0003015332450000301
Assigning i +1 to i, and when i > 4 is satisfied, thenThe next step 20.3 is continued; otherwise, returning to execute the step 20.2;
case 2 if Cr 1 i [0][0]==-1,Cr 1 i [0][1]==-1,Cr 1 i [1][0]≠-1,Cr 1 i [1][1]Not equal to-1, recording coordinate point (Cr) 1 i [1][0],Cr 1 i [1][1]) To a straight line l 1,2 A distance of
Figure BDA0003015332450000302
To a straight line l 1,3 A distance of
Figure BDA0003015332450000303
If it is
Figure BDA0003015332450000304
And order
Figure BDA0003015332450000305
If it is
Figure BDA0003015332450000306
Then order
Figure BDA0003015332450000307
Assigning i +1 to i, and when i is more than 4, continuing to execute the next step 20.3; otherwise, returning to execute the step 20.2;
case 3, if Cr 1 i [0][0]≠-1,Cr 1 i [0][1]≠-1,Cr 1 i [1][0]==-1,Cr 1 i [1][1]1, note coordinate point (Cr) 1 i [0][0],Cr 1 i [0][1]) To a straight line l 1,2 Is a distance of
Figure BDA00030153324500003030
To a straight line l 1,3 A distance of
Figure BDA0003015332450000308
If it is
Figure BDA0003015332450000309
Then order
Figure BDA00030153324500003010
If it is
Figure BDA00030153324500003011
Order to
Figure BDA00030153324500003012
Assigning i +1 to i, and when i is more than 4, continuing to execute the next step 20.3; otherwise, returning to execute the step 20.2;
case 4, if Cr 1 i [0][0]≠-1,Cr 1 i [0][1]≠-1,Cr 1 i [1][0]≠-1,Cr 1 i [1][1]Not equal to-1, then order
Figure BDA00030153324500003013
Assigning i +1 to i, and when i is more than 4, continuing to execute the next step 20.3; otherwise, returning to execute the step 20.2;
in the present embodiment of the present invention,
Cr 1 3 [0][0]==-1,Cr 1 3 [0][1]==-1,Cr 1 3 [1][0]==-1,Cr 1 3 [1][1]when the value is-1, then
Figure BDA00030153324500003014
Cr 1 4 [0][0]==-1,Cr 1 4 [0][1]==-1,Cr 1 4 [1][0]==-1,Cr 1 4 [1][1]When the value is-1, then
Figure BDA00030153324500003015
Step 20.3, the step is divided into the following conditions:
case 1, if Cr 1 i [0][0]==-1,Cr 1 i [0][1]==-1,Cr 1 i [1][0]==-1,Cr 1 i [1][1]When the value is-1, then
Figure BDA00030153324500003016
Assigning i +1 to i, and when i is more than 6, continuing to execute the next step 21; otherwise, returning to execute the step 20.3;
case 2 if Cr 1 i [0][0]==-1,Cr 1 i [0][1]==-1,Cr 1 i [1][0]≠-1,Cr 1 i [1][1]Not equal to-1, recording coordinate point (Cr) 1 i [1][0],Cr 1 i [1][1]) To a straight line l 1,1 A distance of
Figure BDA00030153324500003017
To a straight line l 1,3 A distance of
Figure BDA00030153324500003018
If it is
Figure BDA00030153324500003019
And make an order
Figure BDA00030153324500003020
If it is
Figure BDA00030153324500003021
Then order
Figure BDA00030153324500003022
Assigning i +1 to i, and when i is more than 6, continuing to execute the next step 21; otherwise, returning to execute the step 20.3;
case 3, if Cr 1 i [0][0]≠-1,Cr 1 i [0][1]≠-1,Cr 1 i [1][0]==-1,Cr 1 i [1][1]When the coordinate point is 1, the coordinate point is recorded
Figure BDA00030153324500003023
To a straight line l 1,1 A distance of
Figure BDA00030153324500003024
To a straight line l 1,3 A distance of
Figure BDA00030153324500003025
If it is
Figure BDA00030153324500003026
Then make it give
Figure BDA00030153324500003027
If it is
Figure BDA00030153324500003028
Order to
Figure BDA00030153324500003029
Assigning i +1 to i, and when i is more than 6, continuing to execute the next step 21; otherwise, returning to execute the step 20.3;
case 4, if Cr 1 i [0][0]≠-1,Cr 1 i [0][1]≠-1,Cr 1 i [1][0]≠-1,Cr 1 i [1][1]Not equal to-1, then order
Figure BDA0003015332450000311
Assigning i +1 to i, and when i is more than 6, continuing to execute the next step 21; otherwise, returning to execute the step 20.3;
in a specific embodiment, the step can be as follows:
Cr 1 5 [0][0]==-1,Cr 1 5 [0][1]==-1,Cr 1 5 [1][0]==-1,Cr 1 5 [1][1]when the value is-1, then
Figure BDA0003015332450000312
Cr 1 6 [0][0]==-1,Cr 1 6 [0][1]==-1,Cr 1 6 [1][0]==-1,Cr 1 6 [1][1]When the value is-1, then
Figure BDA0003015332450000313
Step 21.1, carrying out the stepsThe centroid pixel coordinate values of steps 20.1, 20.2 and 20.3 are (900,246) 1 The coded values of all the coded mark circles in the parallelogram coding unit can be obtained from the formula (23) and the unit binary image E without complex background of the 1 st 1 The center of mass pixel coordinate is a value (900,246) 1 The coding number W of the parallelogram coding unit on the coding plane target placed in the actual space corresponding to the parallelogram coding unit 1
W 1 =V 1 T ·U=10 (23)
Wherein, the column vector U is (2) 0 ,2 1 ,2 2 ,...2 11 ) T Column vector V 1 =(0,1,0,1,0,0,0,0,0,0,0,0) T
Step 21.2, according to the obtained barycentric coordinate (900,246) 1 Code number W of parallelogram coding unit of (1) 1 10, the matching method of the coding plane target and the calibration corner point is utilized to judge that the centroid coordinate is (900,246) 1 The number of the coding plane target to which the parallelogram coding unit belongs in the actual space corresponding to the parallelogram coding unit is as follows:
W 1 =10∈[0,17]i.e. W 1 Fall within the parallelogram coding unit number range of the No. 5 coding plane target, namely with the centroid coordinate of (900,246) 1 The parallelogram coding units in the actual space corresponding to the parallelogram coding units belong to No. 5 coding plane targets, and the barycentric coordinates are (900,246) 1 The calibration corner points on the parallelogram coding unit also belong to a No. 5 coding plane target;
step 22, recording the unit binary image E of the 1 st non-complex background 1 The coordinate value of the upper centroid pixel is (900,246) 1 The non-unique code number of the calibration corner point belonging to the sigma-th coding region (where sigma is 1,3,4,6) in the parallelogram coding unit of (a) is L 10 σ Wherein the lower foot mark 10 is a calibration corner point L 10 σ The coding number of the parallelogram coding unit, the value of the upper corner mark sigma represents the calibration corner point L 10 σ Associated sigma-th codeAn area; that is, the coordinates of the centroid pixel are obtained as (900,246) 1 4 calibration angular points C on the parallelogram coding unit 1,1 (934.6,219.3)、C 1,2 (931.2,249.1)、C 1,3 (868.3,274.8)、C 1,4 (870.8,214.8) the non-unique code numbers are each
Figure BDA0003015332450000314
Figure BDA0003015332450000315
(where σ 1,1 =1,σ 1,2 =3,σ 1,3 =4,σ 1,4 =6);
Obtaining a 1 st unit binary image E without complex background 1 The coordinate value of the upper centroid pixel is (900,246) 1 On the basis of the non-unique code serial numbers of the 4 calibration angular points of the parallelogram coding unit, the unique code serial numbers of the 4 calibration angular points can be calculated through steps 23.1 to 23.4;
step 23.1, take Delta' ζ,1 _σ′ ζ,1 、Δ′ ζ,2 _σ′ ζ,2 、Δ′ ζ,3 _σ′ ζ,3 、Δ′ ζ,4 _σ′ ζ,4 Respectively used for storing the coordinate value of the centroid pixel as (x) ζ ,y ζ ) ζ 4 calibration angular points C on the parallelogram coding unit ζ,1 (x ζ,1 ,y ζ,1 )、C ζ,2 (x ζ,2 ,y ζ,2 )、C ζ,3 (x ζ,3 ,y ζ,3 )、C ζ,4 (x ζ,4 ,y ζ,4 ) Is unique coded serial number of wherein' ζ,1 、Δ′ ζ,2 、Δ′ ζ,3 、Δ′ ζ,4 、σ′ ζ,1 、σ′ ζ,2 、σ′ ζ,3 、σ′ ζ,4 Are all positive integers;
step 23.2, taking an integer variable i and re-assigning the value of i to 1;
step 23.3, judging whether N is an even number, if N is an odd number, executing step 23.4; if N is an even number, taking an integer parameter delta and assigning the value delta to be N/2, and calibrating the corner point C 1,i (x 1,i ,y 1,i ) Non-unique coded serial number of
Figure BDA0003015332450000321
This step 23.3 can be divided into the following cases:
case 1, if σ 1,i 1 or σ 1,i When the sum is 6, W 1 Value of to delta' 1,i Will σ 1,i Value of to σ' 1,i Then calibrating the corner point C 1,i (x 1,i ,y 1,i ) Is delta 'as the unique code number' 1,i _σ′ 1,i
Case 2, if σ 1,i (W) 3 ═ 3 1 Value of- Δ) to Δ' 1,i Assigning 6 to σ' 1,i Then calibrating the corner point C 1,i (x 1,i ,y 1,i ) Is delta 'as the unique code number' 1,i _6;
Case 3, if σ 1,i (W) is 4 ═ 4 1 Value of-Delta-1) to Delta' 1,i Assigning 1 to σ' 1,i Then calibrating the corner point C 1,i (x 1,i ,y 1,i ) Is delta 'as the unique code number' 1,i _1;
Judging whether i is smaller than 4, if i is smaller than 4, assigning i +1 to i, and returning to the step 23.3 for sequential execution; otherwise, executing step 24.1;
step 23.4, taking the integer parameter delta and assigning the value delta to be (N +1)/2, and calibrating the corner point C 1,i (x 1,i ,y 1,i ) Non-unique code number of
Figure BDA0003015332450000322
This step 23.4 can be divided into the following cases:
case 1, if σ 1,i 1 or σ 1,i When W is equal to 6, the product is put in ζ Value of to delta' ζ,i Will σ ζ,i Value of to σ' ζ,i Then calibrating the corner point C 1,i (x 1,i ,y 1,i ) Is delta 'as the unique code number' 1,i _σ′ 1,i
Case 2, if σ 1,i When it is equal to 3, it is further divided into the following two kindsThe situation is as follows:
(1) when phi is p When the value is 1, (W) is 1 Value of- Δ) to Δ' 1,i Assigning 6 to σ' 1,i Then calibrating the corner point C 1,i (x 1,i ,y 1,i ) Is delta 'as the unique code number' 1,i 6A; delta' can be derived from the formula (23),
Figure BDA0003015332450000323
wherein Δ ″ ═ 2 (W) 1 -z v ) V (N +1) +1 (integers only retained);
(2) when phi is p When being equal to 2, (W) is 1 Value of- Δ '") to Δ' 1,i Assigning 6 to σ' 1,i Then calibrating the corner point C 1,i (x 1,i ,y 1,i ) Is delta 'as the unique code number' 1,i _σ′ 1,i (ii) a Delta' can be derived from equation (24),
Figure BDA0003015332450000331
wherein Δ ″ ═ 2 (W) ζ -z v +1)/(N +1) +1 (integers only retained);
case 3, if σ ζ,i The following two cases are divided into two cases:
(1) when phi is p When the value is 1, (W) is 1 Value of- Δ ') to Δ' 1,i Assigning 1 to σ' 1,i Then calibrating the corner point C 1,i (x 1,i ,y 1,i ) Is delta 'as the unique code number' 1,i _σ′ 1,i Wherein Δ' can be derived from formula (25);
Figure BDA0003015332450000332
wherein Δ ″ ═ 2 (W) 1 -z v ) V (N +1) +1 (integers only retained);
(2) when phi is p When the value is 2, (W) is 1 Value of- Δ '") to Δ' 1,i Assigning 1 to σ' 1,i Then calibrating the corner point C 1,i (x 1,i ,y 1,i ) Is delta 'as the unique code number' 1,i _σ′ 1,i Δ' "can be derived from equation (26),
Figure BDA0003015332450000333
wherein Δ ″ ═ 2 (W) 1 -z v +1)/(N +1) +1 (integers only retained);
judging whether i is smaller than 4, if i is smaller than 4, assigning i +1 to i, and returning to the step 23.4 for sequential execution; otherwise, executing step 24.1;
in this embodiment, if N is an odd number, then the integer parameter Δ is taken and assigned with (N +1)/2 being 3, and the corner point C is calibrated 1,i (x 1,i ,y 1,i ) Non-unique code number of
Figure BDA0003015332450000334
This step 23.3 can be divided into the following cases:
case 1, if σ 1,i 1 or σ 1,i To 6, 10 is assigned to Δ' 1,i Will σ 1,i Value of to σ' 1,i Then calibrating the corner point C 1,i (x 1,i ,y 1,i ) Is 10_ σ' 1,i
Case 2, if σ 1,i To 3, assign 4 to Δ' 1,i Assigning 6 to σ' 1,i Then calibrating the corner point C 1,i (x 1,i ,y 1,i ) The unique code number of (2) is 7_ 6;
case 3, if σ 1,i 4, assign 3 to Δ' 1,i Assigning 1 to σ' 1,i Then calibrating the corner point C 1,i (x 1,i ,y 1,i ) The unique code number of (2) is 6_ 1;
judging whether i is less than 4, if i is less than 4, assigning i +1 to i, and returning to the step 23.3 for sequential execution; otherwise, executing step 24.1;
step 24.1, taking an integer variable i and re-assigning the value of i to 1;
step 24.2, judging whether N is an even number, if N is an odd number, executing step 24.3; if N is an even number, the step is divided into the following cases:
case 1, if Δ' 1,i _σ′ 1,i Of σ' 1,i 1 ═ 1; then the unique code number is delta' 1,i _σ′ 1,i The target coordinates corresponding to the calibration corner points are as follows:
Figure BDA0003015332450000341
wherein when
Figure BDA0003015332450000342
When taken from + when
Figure BDA0003015332450000343
Taking-;
case 2, < delta' 1,i _σ′ 1,i Sigma 'of (1)' 1,i 6; then the unique code number is delta' 1,i _σ′ 1,i The target coordinates corresponding to the calibration corner points are as follows:
Figure BDA0003015332450000344
wherein when
Figure BDA0003015332450000345
When taken from + when
Figure BDA0003015332450000346
Taking-;
in this step 24.2 of the process,
Figure BDA0003015332450000347
(the result retains only integer bits);
when in use
Figure BDA0003015332450000348
In the case of an odd number of the groups,
Figure BDA0003015332450000349
when in use
Figure BDA00030153324500003410
In the case of an even number, the number of the first,
Figure BDA00030153324500003411
after the execution of the step is finished, the step 24.4 is directly executed;
step 24.3, the step is divided into the following two cases:
case 1, if Δ' 1,i _σ′ 1,i Of σ' 1,i 1 ═ 1; then the unique code number is delta' 1,i _σ′ 1,i The calibration corner points of (a) are corresponding to the target coordinates as follows:
Figure BDA00030153324500003412
wherein when
Figure BDA00030153324500003413
When taken, when
Figure BDA00030153324500003414
Taking the powder;
case 2, if Δ' 1,i _σ′ 1,i Of σ' 1,i 6; then the unique code number is delta' 1,i _σ′ 1,i The calibration corner points of (a) are corresponding to the target coordinates as follows:
Figure BDA00030153324500003415
wherein when
Figure BDA00030153324500003416
When taken, when
Figure BDA00030153324500003417
Taking-; in this step 24.3 δ W1 =2(Δ′ 1,i -z v ) V (N +1) (the result retains only integer bits);
when in use
Figure BDA00030153324500003418
When the number of the carbon atoms is odd,
Figure BDA00030153324500003419
when in use
Figure BDA00030153324500003420
In the case of an even number, the number of the bits is,
Figure BDA00030153324500003421
the basic information for coding the coding plane target No. 5 on the stereo target in this embodiment is: n ═ 5 is an odd number, λ ═ 90 °, and the present step is classified as follows:
case 1, if Δ' 1,i _σ′ 1,i Of σ' 1,i 1 ═ 1; then the unique code number is delta' 1,i _σ′ 1,i The target coordinates corresponding to the calibration corner points are as follows: (13.5. rho.) 10 ,13.5δ 10 ,0);
Case 2, if Δ' 1,i _σ′ 1,i Of σ' 1,i 6; then the unique code number is delta' 1,i _σ′ 1,i The target coordinates corresponding to the calibration corner points are as follows: (13.5 (. rho.)) 10 -1),13.5δ 10 ,0);
δ 10 =2(Δ′ ζ,i -0)/(5+1) (as a result only integer bits are retained);
when delta 10 When it is odd, ρ 10 =[Δ′ 1,i -0-δ 10 ·(5+1)/2]·2Φ p When ═ 2;
when delta 10 When it is even, ρ 10 =[Δ′ ζ,i -0-δ 10 ·(5+1)/2]·2+1 Φ p When ═ 2;
step 24.4, judging whether i is smaller than 4, if i is smaller than 4, assigning i +1 to i and returning to the step 24.2 for sequential execution; if i is not less than 4, a < delta > is obtained' 1,1 _σ′ 1,1 Number calibrating corner point, delta' 1,2 _σ′ 1,2 Number calibrating corner point and delta' 1,3 _σ′ 1,3 Number calibrating corner point and delta' 1,4 _σ′ 1,4 The target coordinates of the corner points are marked by numbers and are respectively marked as (X) 1,1 ,Y 1,1 ,0)、(X 1,2 ,Y 1,2 ,0)、(X 1,3 ,Y 1,3 ,0)、(X 1,4 ,Y 1,4 ,0);
In this embodiment:
Figure BDA0003015332450000351
that is, in the target image shot at the 3 rd time, the one-to-one correspondence relationship between the sub-pixel coordinates of the 4 calibration corner points of the parallelogram coding unit with the coding number of 10 on the No. 5 coding plane target, the unique coding serial number of the calibration focus and the target coordinate under the No. 5 target coordinate system is finally obtained:
calibrating angular point C 1,1 (934.6,219.3) the corresponding unique code number is 10_1, and the target coordinate is (27,40.5, 0);
calibrating angular point C 1,2 (931.2,249.1) the corresponding unique code number is 7_6, and the target coordinate is (27,27, 0);
calibrating angular point C 1,3 (868.3,274.8) the corresponding unique code number is 6_1, and the target coordinate is (13.5,27, 0);
calibrating angular point C 1,4 (870.8,214.8) the corresponding unique code number is 10_6, and the target coordinate is (13.5,40.5, 0);
and step 25, assigning zeta +1 to zeta, and then returning to step 7.1 to execute the steps in sequence.
The calibration method of the coded stereo target monocular camera 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 carry out the calibration 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 (7)

1. A coding stereo target is used for acquiring a calibration image of a monocular camera, and is characterized in that: the coding stereo target and a monocular camera are oppositely arranged in space, wherein the position of the monocular camera is fixed, the coding stereo target consists of a reference plate and a plurality of coding plane targets connected with the reference plate, and the space positions and the postures of the reference plate and the coding plane targets can be independently adjusted;
all the coding plane targets have numbers, and the numbers of the coding plane targets are different from each other;
each coding plane target is provided with a plurality of parallelogram coding units, the coding numbers of the parallelogram coding units are different from each other, and the coding numbers of all the parallelogram coding units on the same coding plane target have continuity;
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 judgment of the rotation direction of the coding plane target can be realized by the orientation pattern and the positioning pattern; the coding mark patterns are used for coding each calibration angular point in the coding plane target, and the number and the distribution of the coding unit patterns are determined by the serial number of the parallelogram coding unit where the coding unit patterns are located;
at any one number as alpha τ On the coding plane target, arbitrarily taking a parallelogram coding unit in the coding plane target to be marked as the coding plane target vector determination coding unit
Figure FDA0003743573750000011
Determining coding unit by taking the coding plane target vector
Figure FDA0003743573750000012
One vertex of (2) is marked as a first vertex of the vector determination coding unit
Figure FDA0003743573750000013
Determining a coding unit in the coding plane target vector
Figure FDA0003743573750000014
Wherein the intersection is formed into a vector to determine the first vertex of the coding unit
Figure FDA0003743573750000015
Any one edge of the vector determination coding unit is taken as a first edge of the vector determination coding unit
Figure FDA0003743573750000016
Determining a coding unit first side in a vector
Figure FDA0003743573750000017
Upward orientation amount determination encoding unit
Figure FDA0003743573750000018
Is recorded as a first point on a first side of the vector determination coding unit
Figure FDA0003743573750000019
Wherein the vector determines a first point on a first edge of the coding unit
Figure FDA00037435737500000110
Determining a first vertex of a coding unit by using the vector
Figure FDA00037435737500000111
Are 2 points which are not coincident with each other, and the vector is recorded
Figure FDA00037435737500000112
A prescribed vector for the encoding plane target
Figure FDA00037435737500000113
And 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 direction 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 and the specified vector of the coding plane target
Figure FDA00037435737500000114
In the same direction.
2. The coding stereoscopic target of claim 1, wherein: the reference plate of the coding stereo target is divided into S areas, wherein each area is provided with a coding plane target, S is an integer and S is more than 3.
3. The coding stereoscopic target of claim 1, wherein: the spatial poses of any two encoded planar targets have significant differences.
4. A monocular camera calibration method based on the coding stereo target of claim 2, characterized in that: the method mainly comprises the following steps:
s1: shooting a coded three-dimensional target in a space by using a camera arranged in the space so as to obtain a target image;
s2: judging whether the target image meets the calibration requirement, if the target image does not meet the calibration condition, shooting and judging again after adjusting the spatial relative position of the camera and the coded three-dimensional target, and if the target image meets the calibration condition, taking the target image as the calibration image;
s3: and calculating internal and external parameters of the camera by using a calibration algorithm according to the calibration image.
5. The monocular camera calibration method of claim 4, wherein: the specific calibration method comprises the following steps:
step 1.1, defining a total number threshold G of calibration plane targets, a number threshold k of calibration angular points and a number threshold k' of coding plane targets;
step 1.2, establishing a target image calibration corner point pixel coordinate system o-xy;
step 2.1, defining an integer variable tau and assigning the tau to be 1;
step 2.2, shooting a coded three-dimensional target in space by using a camera with a fixed position to obtain a target image shot for the tau time;
step 3.1, define the integer variable α τ And assigns a value of alpha τ =1;
Step 3.2, recording alpha in the coded stereo target at the tau-th movement position in space τ The number of calibration corner points in 4 vertexes of the 1 st line of the 1 st parallelogram coding unit on the number coding plane target is
Figure FDA0003743573750000021
Step 3.3, according to
Figure FDA0003743573750000022
Magnitude of the value, establishing a corresponding alpha τ Number target coordinate system
Figure FDA0003743573750000023
Step 3.4, judge alpha τ Whether or not it is less than S, if alpha τ If < S, then alpha will be τ +1 to α τ Then returning to the step 3.2 for sequential execution; otherwise, executing step 4;
step 4, using the tau-th shot target image as an input condition, and obtaining the number of the coding plane targets in the tau-th shot target image by using a coding stereo target decoding method
Figure FDA0003743573750000024
The number of each coding plane target in the tau-th taken target image, and the tau-th taken target imageThe matching relation between the number of the calibration angle points extracted from each coding plane target, the sub-pixel coordinates of each calibration angle point under a target image calibration angle point pixel coordinate system o-xy, the unique coding sequence number of the calibration angle point extracted from each coding plane target in the target image shot for the τ th time, and the sub-pixel coordinates of the calibration angle point under the target image calibration angle point pixel coordinate system o-xy, which is extracted from each coding plane target in the target image shot for the τ th time, and the target coordinates of the calibration angle point with the same unique coding sequence number on the coding stereo target in the space, which corresponds to one of the sub-pixel coordinates under the corresponding target coordinate system;
step 5.1, judging the number of the coding plane targets in the target image shot at the Tth time
Figure FDA0003743573750000025
If the number is less than the threshold k' of the number of the coding plane targets, if so
Figure FDA0003743573750000031
Step 10 is executed; otherwise, executing step 5.2;
step 5.2, mixing the product obtained in step 4
Figure FDA0003743573750000032
The numbers of the coding plane targets are arranged from small to big and respectively marked as
Figure FDA0003743573750000033
Wherein
Figure FDA0003743573750000034
Are all integers; and numbering the tau-th shot target image as
Figure FDA0003743573750000035
And
Figure FDA0003743573750000036
respectively coded plane targetRecording as the 1 st, 2 nd, 3 rd coding plane targets, … and the τ th shooting of the target image
Figure FDA0003743573750000037
A coded planar target;
step 6, defining an integer variable beta τ And assign beta τ 0; integer variable i τ And assign value i τ =1;
Step 7, the ith image in the target image shot for the tau time τ The number of the calibration angular points extracted from the target of the coding plane is recorded as
Figure FDA0003743573750000038
And judging:
if it is
Figure FDA0003743573750000039
Then beta will be τ +1 value to β τ I will be τ The coding plane target is marked as the beta τ A calibration plane target, will i τ The sub-pixel coordinates of the calibration corner points extracted from the coding plane target under the target image calibration corner point pixel coordinate system o-xy and the calibration corner points which are corresponding to one of the sub-pixel coordinates and have the same unique coding serial number on the coding three-dimensional target in space are positioned at
Figure FDA00037435737500000310
The matching relation between the target coordinates under the number target coordinate system is marked as the ith τ Calibrating the matching groups, and then executing the step 8; otherwise, directly executing the step 8;
step 8, judging i τ Whether or not less than
Figure FDA00037435737500000311
If it is
Figure FDA00037435737500000312
Then i will be τ +1 valuationTo give i τ Then returning to execute the step 7; otherwise, executing step 9;
step 9, judging beta τ If less than G, if beta τ If < G, executing step 10; otherwise beta is obtained τ Calibration plane target satisfying calibration condition and beta τ Each calibration matching group executes step 11;
step 10, adjusting the coding stereo target to enable the camera view field to contain more coding plane targets and calibration angular points, then assigning tau +1 to tau and returning to the step 2.2 for sequential execution;
step 11, according to the beta obtained in the step 9 τ And the calibration matching group calculates the internal and external parameters and the distortion coefficient of the camera by using a calibration algorithm.
6. The monocular camera calibration method of claim 5, wherein: in step 1.2, the specific way of establishing a target image calibration corner pixel coordinate system o-xy is as follows: and taking the upper left corner of a target image shot by a camera as the origin o of coordinates of the pixel coordinate system of the calibration corner point of the target image, taking the upper left corner of the target image as the x-axis direction of the pixel coordinate system of the calibration corner point of the target image from left to right, taking the upper left corner of the target image as the y-axis direction of the pixel coordinate system of the calibration corner point of the target image from top to bottom, and thus establishing an o-xy coordinate system of the pixel coordinate system of the calibration corner point of the target image.
7. A computer-readable storage medium comprising a computer program for use in connection with an electronic device having image processing capabilities, the computer program being executable by a processor for performing a calibration method as claimed in claim 5.
CN202110386671.6A 2020-12-23 2021-04-12 Monocular camera rapid calibration method based on coding stereo target Active CN113112549B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011540944X 2020-12-23
CN202011540944 2020-12-23

Publications (2)

Publication Number Publication Date
CN113112549A CN113112549A (en) 2021-07-13
CN113112549B true CN113112549B (en) 2022-08-23

Family

ID=76715491

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110386671.6A Active CN113112549B (en) 2020-12-23 2021-04-12 Monocular camera rapid calibration method based on coding stereo target
CN202110386595.9A Active CN113112548B (en) 2020-12-23 2021-04-12 Rapid calibration method for internal and external parameters of binocular camera based on coded three-dimensional target

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110386595.9A Active CN113112548B (en) 2020-12-23 2021-04-12 Rapid calibration method for internal and external parameters of binocular camera based on coded three-dimensional target

Country Status (1)

Country Link
CN (2) CN113112549B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009042162A (en) * 2007-08-10 2009-02-26 Toshiba Corp Calibration device and method therefor
CN101699223A (en) * 2009-10-27 2010-04-28 北京控制工程研究所 Calibration device of binocular vision navigation system of lunar surface vehicle
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
CN109215082A (en) * 2017-06-30 2019-01-15 杭州海康威视数字技术股份有限公司 A kind of camera parameter scaling method, device, equipment and system
CN111562791A (en) * 2019-03-22 2020-08-21 沈阳上博智像科技有限公司 System and method for identifying visual auxiliary landing of unmanned aerial vehicle cooperative target
CN111709999A (en) * 2020-05-13 2020-09-25 深圳奥比中光科技有限公司 Calibration plate, camera calibration method and device, electronic equipment and camera system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103247053B (en) * 2013-05-16 2015-10-14 大连理工大学 Based on the part accurate positioning method of binocular microscopy stereo vision
CN104867160B (en) * 2015-06-17 2017-11-07 合肥工业大学 A kind of directionality demarcation target demarcated for camera interior and exterior parameter
FR3051591B1 (en) * 2016-05-17 2020-06-19 Horiba Jobin Yvon Sas MICRO-LOCATION DEVICE AND METHOD FOR IMAGING INSTRUMENT AND MEASURING APPARATUS
CN106846415B (en) * 2017-01-24 2019-09-20 长沙全度影像科技有限公司 A kind of multichannel fisheye camera binocular calibration device and method
CN106548477B (en) * 2017-01-24 2019-03-29 长沙全度影像科技有限公司 A kind of multichannel fisheye camera caliberating device and method based on stereo calibration target
CN109598762B (en) * 2018-11-26 2021-09-21 江苏科技大学 High-precision binocular camera calibration method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009042162A (en) * 2007-08-10 2009-02-26 Toshiba Corp Calibration device and method therefor
CN101699223A (en) * 2009-10-27 2010-04-28 北京控制工程研究所 Calibration device of binocular vision navigation system of lunar surface vehicle
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
CN109215082A (en) * 2017-06-30 2019-01-15 杭州海康威视数字技术股份有限公司 A kind of camera parameter scaling method, device, equipment and system
CN111562791A (en) * 2019-03-22 2020-08-21 沈阳上博智像科技有限公司 System and method for identifying visual auxiliary landing of unmanned aerial vehicle cooperative target
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
Deltille Grids for Geometric Camera Calibration;Hyowon Ha等;《2017 IEEE International Conference on Computer Vision》;20171225;第5354-5362页 *
双目立体视觉自定位线扫描三维测量技术;殷玉龙;《中国优秀硕士学位论文全文数据库信息科技辑》;20160615;第I138-1260页 *

Also Published As

Publication number Publication date
CN113112548B (en) 2022-08-19
CN113112548A (en) 2021-07-13
CN113112549A (en) 2021-07-13

Similar Documents

Publication Publication Date Title
CN112097689B (en) Calibration method of 3D structured light system
CN110853075B (en) Visual tracking positioning method based on dense point cloud and synthetic view
CN113129385B (en) Binocular camera internal and external parameter calibration method based on multi-coding plane target in space
CN111981982B (en) Multi-directional cooperative target optical measurement method based on weighted SFM algorithm
CN109373912B (en) Binocular vision-based non-contact six-degree-of-freedom displacement measurement method
CN112132907B (en) Camera calibration method and device, electronic equipment and storage medium
CN113096191B (en) Intelligent calibration method for monocular camera based on coding plane target
CN113129386B (en) Intelligent calibration method for internal and external parameters of binocular camera based on coding plane target
CN110415304B (en) Vision calibration method and system
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
CN112257721A (en) Image target region matching method based on Fast ICP
CN112184825B (en) Calibration plate and calibration method
CN113112549B (en) Monocular camera rapid calibration method based on coding stereo target
CN113012271A (en) Finger three-dimensional model texture mapping method based on UV (ultraviolet) mapping
CN113129396B (en) Decoding method of parallelogram coding mark based on region segmentation
CN115222828A (en) Regular hexagon coding mark decoding method for visual positioning
CN113112550B (en) Coding plane target for calibrating internal and external parameters of camera and coding method thereof
CN106980601B (en) High-precision basic matrix solving method based on trinocular polar line constraint
CN113192143B (en) Coding stereo target for camera quick calibration and decoding method thereof
CN114494316A (en) Corner marking method, parameter calibration method, medium, and electronic device
Guo et al. Automatic shape-based target extraction for close-range photogrammetry
CN114332345B (en) Binocular vision-based metallurgical reservoir area local three-dimensional reconstruction method and system
CN116912334B (en) Phase mapping high-precision projector calibration method based on grating fringe projection
CN116912333B (en) Camera attitude self-calibration method based on operation fence calibration rod

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