CN104374338A - Single-axis rotation angle vision measurement method based on fixed camera and single target - Google Patents

Single-axis rotation angle vision measurement method based on fixed camera and single target Download PDF

Info

Publication number
CN104374338A
CN104374338A CN201410506279.0A CN201410506279A CN104374338A CN 104374338 A CN104374338 A CN 104374338A CN 201410506279 A CN201410506279 A CN 201410506279A CN 104374338 A CN104374338 A CN 104374338A
Authority
CN
China
Prior art keywords
msub
mrow
mtd
msubsup
mtr
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410506279.0A
Other languages
Chinese (zh)
Other versions
CN104374338B (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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN201410506279.0A priority Critical patent/CN104374338B/en
Publication of CN104374338A publication Critical patent/CN104374338A/en
Application granted granted Critical
Publication of CN104374338B publication Critical patent/CN104374338B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Analysis (AREA)

Abstract

The invention provides a single-axis rotation angle vision measurement method based on a fixed camera and a single target. The method includes the four steps of firstly, calibrating internal parameters and external parameters of the camera; secondly, obtaining the initial values of the external parameters related to pivoting movement; thirdly, conducting nonlinear optimization on the internal parameter pin and the external parameter pout; fourthly, measuring the rotation angle through the calibrated internal parameters and the calibrated external parameters. The method is a method for measuring the rotation angle of the pivoting movement through the monocular camera, and solves the problem that the target is hard to install in an existing angle vision measurement method; meanwhile, the method is suitable for the conditions with blockage as well and is quite high in practicability.

Description

Visual measurement method of single-axis rotation angle based on fixed camera and single target
Technical Field
The invention relates to a vision measurement method of a single-axis rotation angle based on a fixed camera and a single target, and belongs to the technical field of vision measurement.
Background
The angular displacement measurement is widely applied to the fields of industry, aerospace and the like. Because the electrical and mechanical parameters of the angular displacement sensor change in a severe environment, the angular displacement sensor needs to be calibrated and corrected periodically. The vision measurement technology is favored because of the advantages of simple structure, non-contact real-time measurement, convenient field installation and debugging, etc. The existing visual angle measuring methods are divided into binocular vision and monocular vision. The binocular vision method is greatly limited due to small common visual field and complex installation. The existing monocular vision method has certain requirements on the installation of a target and has high installation difficulty. The present patent application therefore proposes a visual measurement method based on a single axis rotation angle of a fixed camera and a single target, which does not have any requirements for the mounting of the target. In addition, the invention is also true for the case of shielding, and is more practical.
Disclosure of Invention
The invention provides a visual measurement method of a single-axis rotation angle based on a fixed camera and a single target, which is a method for measuring the rotation angle of the rotation motion around an axis by using a monocular camera. The method solves the problem of difficult target installation in the existing visual angle measurement method. Meanwhile, the invention is also applicable to the shielding condition and has good practicability.
The method calibrates the camera internal parameters and the external parameters relative to the axis through the two-dimensional target, and further measures the rotation angle.
The camera model adopted by the invention is a nonlinear perspective projection model, and the model is described as follows:
1. linear camera model
As shown in fig. 1, the imaging position of any point P in space in the image can be approximately represented by a pinhole imaging model, i.e. the projection position P of the point P in the image is the intersection point of the line connecting the optical center O and the point P and the image plane. Thus the coordinate (X) of point P in the world coordinate systemw,Yw,Zw)TWith the pixel coordinate (u, v) of the projection point pTThe relationship between them is as follows:
<math> <mrow> <mi>s</mi> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <mi>u</mi> </mtd> </mtr> <mtr> <mtd> <mi>v</mi> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>&alpha;</mi> <mi>x</mi> </msub> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mi>u</mi> <mn>0</mn> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mi>&alpha;</mi> <mi>y</mi> </msub> </mtd> <mtd> <msub> <mi>v</mi> <mn>0</mn> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> </mfenced> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>R</mi> <mi>cw</mi> </msub> </mtd> <mtd> <msub> <mi>T</mi> <mi>cw</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mi>w</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Y</mi> <mi>w</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Z</mi> <mi>w</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1.1</mn> <mo>)</mo> </mrow> </mrow> </math>
wherein alpha isxf/dX is a scale factor on the u-axis, alphayf/dY is the scale factor on the v-axis. Alpha is alphaxy,u0,v0Only the camera intrinsic parameters are related, which are called the intrinsic parameters of the camera. Rcw,TcwThe rotation matrix and the translation vector of the camera coordinate system and the world coordinate system are respectively called external parameters of the video camera.
1. Non-linear camera model
In practice, the lens is not ideal perspective imaging, but rather with some degree of distortion. The invention uses a non-linear distortion model, consisting of world coordinates (X)w,Yw,Zw)TFinding the coordinates of a pixel (u, v)TThe process of (2) is as follows:
X c Y c Z c = R cw X w Y w Z w + T cw , - - - ( 1.2 )
x=Xc/Zc,y=Yc/Zc,r2=x2+y2, (1.3)
x d = ( 1 + k 1 r 2 + k 2 r 4 + k 5 r 6 ) x + 2 k 3 xy + k 4 ( r 2 + 2 x 2 ) ( 1 + k 1 r 2 + k 2 r 4 + k 5 r 6 ) y + 2 k 4 xy + k 3 ( r 2 + 2 y 2 ) , - - - ( 1.4 )
<math> <mrow> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <mi>u</mi> </mtd> </mtr> <mtr> <mtd> <mi>v</mi> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>&alpha;</mi> <mi>x</mi> </msub> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mi>u</mi> <mn>0</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mi>&alpha;</mi> <mi>y</mi> </msub> </mtd> <mtd> <msub> <mi>v</mi> <mn>0</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>x</mi> <mi>d</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>,</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1.5</mn> <mo>)</mo> </mrow> </mrow> </math>
wherein k is1,k2,k3,k4,k5Is the distortion coefficient. Alpha is alphaxy,u0,v0,k1,k2,k3,k4,k5Forming an intrinsic parameter, R, of the cameracw,TcwBeing an external parameter of the camera.
For convenience of description, we remember u and v as pin=(αxy,u0,v0,k1,k2,k3,k4,k5)T,Rcw,Tcw,Xw,Yw,ZwA function of, i.e.
u=fu(pin,Rcw,Tcw,Xw,Yw,Zw),v=fv(pin,Rcw,Tcw,Xw,Yw,Zw) (1.6)
The world coordinate system established by the invention is as shown in figure (2), and the rotating shaft is taken as ZwAxis and such that the origin of the target is located at X in the reference positionwOn the shaft. Assuming that the rotation matrix and the translation vector between the reference position target coordinate system and the world coordinate system areAnd setting the rotation matrix of the camera coordinate system and the world coordinate system as RcwTranslation vector is Tcw.
The method provided by the invention comprises the following two steps: and calibrating internal and external parameter information and solving at any angle. The calibration of the internal and external parameter information is a process of solving the required external parameter information by utilizing the special geometric relationship between the rotating coordinate systems around the axis on the basis of the calibration of the common camera.t,Rcw,TcwAnd the included angle between each position and the reference position is an external parameter to be estimated by calibrating the internal and external parameter information. The arbitrary angle solving means that the rotation angle is obtained according to the obtained internal and external parameter information. At any angleIn the degree solving process, a point matching algorithm is provided, so that the angle measuring method can solve the shielding problem.
In summary, the invention provides a visual measurement method based on a single-axis rotation angle of a fixed camera and a single target, which comprises the following specific steps:
the method comprises the following steps: and calibrating internal and external parameters of the camera.
In a specific implementation, we use a two-dimensional checkerboard (as in fig. 5) as the target. The sequence of pictures we use includes one picture at a reference position and m pictures at different angles of rotation of the rotating member. Suppose that the m angles are θ12,...,θm. Then, a checkerboard corner extraction function detectChecker-boardpoings carried by MATLAB2014 can be used for corner extraction, and an MATLAB calibration tool is combined for internal reference calibration to obtain an internal parameter pinAnd external parameters for m +1 poses. The calibration tool kit can be downloaded on http:// www.vision.caltech.edu/bouguetj/caliib _ doc/. These extrinsic parameters may be expressed as
[ R cb i , T cb i ] , i = 0,1,2 , . . . , m .
Expressed at a rotation angle of thetaiWhen i is 0, the reference position is represented, the rotation matrix and the translation vector between the camera and the target.
Step two: initial value of external parameter related to pivoting motion
1. From the external parameters obtained in step one, the angle of rotation θ is obtained from (1.7)iThe rotational and translational vectors of the target relative to the reference [ R b i b 0 , T b i b 0 ] , i = 1,2 , . . . , m .
R b i b 0 = R cb i T R cb 0 , T b i b 0 = R cb i T ( T cb 0 - T cb i ) . - - - ( 1.7 )
2. Obtainingt and thetaiInitial value:
definition of r1,r2,r3Are respectively as1,2,3, and vector [ t ]]×Is expressed as the following matrix
<math> <mrow> <msub> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>t</mi> <mi>x</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>t</mi> <mi>y</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>t</mi> <mi>z</mi> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>&times;</mo> </msub> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mrow> <mo>-</mo> <mi>t</mi> </mrow> <mi>z</mi> </msub> </mtd> <mtd> <msub> <mi>t</mi> <mi>y</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>t</mi> <mi>z</mi> </msub> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mrow> <mo>-</mo> <mi>t</mi> </mrow> <mi>x</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mrow> <mo>-</mo> <mi>t</mi> </mrow> <mi>y</mi> </msub> </mtd> <mtd> <msub> <mi>t</mi> <mi>x</mi> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> </mfenced> <mo>.</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1.8</mn> <mo>)</mo> </mrow> </mrow> </math>
Then we can find out
<math> <mrow> <msub> <mi>r</mi> <mn>2</mn> </msub> <mo>=</mo> <mfrac> <msup> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mn>3,2</mn> </msub> <mo>,</mo> <msub> <mi>S</mi> <mn>1,3</mn> </msub> <mo>,</mo> <msub> <mi>S</mi> <mn>2,1</mn> </msub> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mrow> <mo>|</mo> <mo>|</mo> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mn>3,2</mn> </msub> <mo>,</mo> <msub> <mi>S</mi> <mn>1,3</mn> </msub> <mo>,</mo> <msub> <mi>S</mi> <mn>2,1</mn> </msub> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> </mrow> </mfrac> <mo>,</mo> <mi>&mu;</mi> <mo>=</mo> <mi>t</mi> <mi>sin</mi> <mi>&theta;</mi> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mn>2</mn> <mo>|</mo> <mo>|</mo> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mn>3,2</mn> </msub> <mo>,</mo> <msub> <mi>S</mi> <mn>1,3</mn> </msub> <mo>,</mo> <msub> <mi>S</mi> <mn>2,1</mn> </msub> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> </mrow> </mfrac> <mo>,</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1.9</mn> <mo>)</mo> </mrow> </mrow> </math>
Wherein,Si,jrepresenting the elements of the ith row and j columns of the matrix S. Then, r1Can be obtained from the following formula
<math> <mrow> <mrow> <mo>(</mo> <mfrac> <mn>1</mn> <mi>&mu;</mi> </mfrac> <msub> <mrow> <mo>[</mo> <msub> <mi>T</mi> <mrow> <msub> <mi>b</mi> <mi>i</mi> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> </mrow> </msub> <mo>]</mo> </mrow> <mo>&times;</mo> </msub> <msub> <mi>R</mi> <mrow> <msub> <mi>b</mi> <mi>i</mi> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> </mrow> </msub> <mo>+</mo> <msub> <mrow> <mo>[</mo> <msub> <mi>r</mi> <mn>2</mn> </msub> <mo>]</mo> </mrow> <mo>&times;</mo> </msub> <mo>)</mo> </mrow> <mi>x</mi> <mo>=</mo> <mn>0</mn> <mo>,</mo> <mo>|</mo> <mo>|</mo> <mi>x</mi> <mo>|</mo> <mo>|</mo> <mo>=</mo> <mn>1</mn> <mo>.</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1.10</mn> <mo>)</mo> </mrow> </mrow> </math>
The above formula can be passed throughObtained by SVD decomposition if <math> <mrow> <mrow> <mfrac> <mn>1</mn> <mi>&mu;</mi> </mfrac> <msub> <mrow> <mo>[</mo> <msub> <mi>T</mi> <mrow> <msub> <mi>b</mi> <mi>i</mi> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> </mrow> </msub> <mo>]</mo> </mrow> <mo>&times;</mo> </msub> <msub> <mi>R</mi> <mrow> <msub> <mi>b</mi> <mi>i</mi> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> </mrow> </msub> <mo>+</mo> <msub> <mrow> <mo>[</mo> <msub> <mi>r</mi> <mn>2</mn> </msub> <mo>]</mo> </mrow> <mo>&times;</mo> </msub> </mrow> <mo>=</mo> <msup> <mi>USV</mi> <mi>T</mi> </msup> <mo>,</mo> </mrow> </math> Then x is the third column of V. Then we can get
<math> <mrow> <msub> <mi>R</mi> <mrow> <msub> <mi>b</mi> <mn>0</mn> </msub> <mi>w</mi> </mrow> </msub> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>r</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>2</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>1</mn> </msub> <mo>&times;</mo> <msub> <mi>r</mi> <mn>2</mn> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>.</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1.11</mn> <mo>)</mo> </mrow> </mrow> </math>
θi=2arctan((ATA)-1(ATB)), (1.12)
Wherein A = vec ( r 2 r 3 T + r 3 r 2 T ) , <math> <mrow> <mi>B</mi> <mo>=</mo> <mi>vec</mi> <mrow> <mo>(</mo> <mfrac> <mn>1</mn> <mi>&mu;</mi> </mfrac> <msub> <mrow> <mo>[</mo> <msub> <mi>T</mi> <mrow> <msub> <mi>b</mi> <mi>i</mi> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> </mrow> </msub> <mo>]</mo> </mrow> <mo>&times;</mo> </msub> <msub> <mi>R</mi> <mrow> <msub> <mi>b</mi> <mi>i</mi> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> </mrow> </msub> <mo>+</mo> <msub> <mrow> <mo>[</mo> <msub> <mi>r</mi> <mn>2</mn> </msub> <mo>]</mo> </mrow> <mo>&times;</mo> </msub> <mo>)</mo> </mrow> <mo>.</mo> </mrow> </math> Vec (-) here represents the straightening of the matrix. Therefore, the first and second electrodes are formed on the substrate,
R wb 0 = R b 0 w T - - - ( 1.13 )
<math> <mrow> <mi>t</mi> <mo>=</mo> <mfrac> <mi>&mu;</mi> <mrow> <mi>sin</mi> <msub> <mi>&theta;</mi> <mi>i</mi> </msub> </mrow> </mfrac> <mo>.</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1.14</mn> <mo>)</mo> </mrow> </mrow> </math>
3. according to the obtainedt and thetaiSolving the initial value, and solving R according to (1.16)cw,TcwValue of (A)
R cw = R cb 0 R wb 0 T , T cw = ( t , 0,0 ) T - R cw T wb 0 . - - - ( 1.15 )
Step three: intra-pair parameter pinAnd an extrinsic parameter poutAnd carrying out nonlinear optimization. Where p isin∈□9,pout∈□10Is shown below
<math> <mrow> <msub> <mi>p</mi> <mi>in</mi> </msub> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>&alpha;</mi> <mi>x</mi> </msub> <mo>,</mo> <msub> <mi>&alpha;</mi> <mi>y</mi> </msub> <mo>,</mo> <msub> <mi>u</mi> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </msub> <msub> <mi>v</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <mo>,</mo> <msub> <mi>k</mi> <mn>3</mn> </msub> <mo>,</mo> <msub> <mi>k</mi> <mn>4</mn> </msub> <mo>,</mo> <msub> <mi>k</mi> <mn>5</mn> </msub> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mo>,</mo> <msub> <mi>p</mi> <mi>out</mi> </msub> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>v</mi> <msub> <mi>wb</mi> <mn>0</mn> </msub> <mi>T</mi> </msubsup> <mo>,</mo> <mi>t</mi> <mo>,</mo> <msubsup> <mi>v</mi> <mi>cw</mi> <mi>T</mi> </msubsup> <mo>,</mo> <msubsup> <mi>T</mi> <mi>cw</mi> <mi>T</mi> </msubsup> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mo>,</mo> </mrow> </math>
Wherein,are respectively asRcwThe corresponding Rodrigues vector. The conversion relationship between a Rodrigues vector v and its corresponding rotation matrix R is as follows
<math> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <mo>|</mo> <mo>|</mo> <mi>v</mi> <mo>|</mo> <mo>|</mo> <mo>)</mo> </mrow> <msub> <mrow> <mo>[</mo> <mi>v</mi> <mo>]</mo> </mrow> <mo>&times;</mo> </msub> <mo>=</mo> <mfrac> <mrow> <mi>R</mi> <mo>-</mo> <msup> <mi>R</mi> <mi>T</mi> </msup> </mrow> <mn>2</mn> </mfrac> <mo>,</mo> </mrow> </math>
<math> <mrow> <mi>R</mi> <mo>=</mo> <mi>cos</mi> <mrow> <mo>(</mo> <mo>|</mo> <mo>|</mo> <mi>v</mi> <mo>|</mo> <mo>|</mo> <mo>)</mo> </mrow> <msub> <mi>I</mi> <mn>3</mn> </msub> <mo>+</mo> <mfrac> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>cos</mi> <mrow> <mo>(</mo> <mo>|</mo> <mo>|</mo> <mi>v</mi> <mo>|</mo> <mo>|</mo> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <msup> <mrow> <mo>|</mo> <mo>|</mo> <mi>v</mi> <mo>|</mo> <mo>|</mo> </mrow> <mn>2</mn> </msup> </mfrac> <msup> <mi>vv</mi> <mi>T</mi> </msup> <mo>+</mo> <mi>sin</mi> <mrow> <mo>(</mo> <mo>|</mo> <mo>|</mo> <mi>v</mi> <mo>|</mo> <mo>|</mo> <mo>)</mo> </mrow> <msub> <mrow> <mo>[</mo> <mi>v</mi> <mo>]</mo> </mrow> <mo>&times;</mo> </msub> <mo>,</mo> </mrow> </math>
Wherein, I3An identity matrix of order 3 is represented.
We label the coordinates of each image point, on target 1, at a rotation angle θiThen, the corner point coordinate corresponding to the jth target feature pointIs marked as ( u j i , v j i ) , i = 0,1 , . . . , m , j = 1,2 , . . . , n , Points on the target are noted
Xb={(xj,yj,0)T,j=1,2,...,n}.
Because errors exist in the image extraction process, the reprojection error sum of the images is selected as an optimization target. From the target point and poutObtaining the reprojection pointsThe process of (2) is as follows:
1. angle of rotation thetaiTime, target pointConversion to points in world coordinate system
<math> <mrow> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msubsup> <mi>x</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <mi>w</mi> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>y</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <mi>w</mi> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>z</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <mi>w</mi> </msubsup> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <mi>cos</mi> <msub> <mi>&theta;</mi> <mi>i</mi> </msub> </mtd> <mtd> <mo>-</mo> <msub> <mrow> <mi>sin</mi> <mi>&theta;</mi> </mrow> <mi>i</mi> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <msub> <mrow> <mi>sin</mi> <mi>&theta;</mi> </mrow> <mi>i</mi> </msub> </mtd> <mtd> <msub> <mrow> <mi>cos</mi> <mi>&theta;</mi> </mrow> <mi>i</mi> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mrow> <mo>(</mo> <msub> <mi>R</mi> <msub> <mi>wb</mi> <mn>0</mn> </msub> </msub> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>x</mi> <mi>j</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>j</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> </mfenced> <mo>+</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <mi>t</mi> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> </mfenced> <mo>)</mo> </mrow> <mo>.</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1.16</mn> <mo>)</mo> </mrow> </mrow> </math>
2. Finding the corresponding reprojection point
The reprojection error is defined as
<math> <mrow> <msub> <mi>E</mi> <mi>r</mi> </msub> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mo>[</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>u</mi> <mi>i</mi> <mi>j</mi> </msubsup> <mo>-</mo> <msub> <mi>g</mi> <mi>u</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mi>in</mi> </msub> <mo>,</mo> <msub> <mi>p</mi> <mi>out</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>,</mo> <msub> <mi>&theta;</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>v</mi> <mi>i</mi> <mi>j</mi> </msubsup> <mo>-</mo> <msub> <mi>g</mi> <mi>v</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mi>in</mi> </msub> <mo>,</mo> <msub> <mi>p</mi> <mi>out</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>,</mo> <msub> <mi>&theta;</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>]</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1.19</mn> <mo>)</mo> </mrow> </mrow> </math>
The optimization problem can be described as
<math> <mrow> <mrow> <mo>(</mo> <msubsup> <mi>p</mi> <mi>in</mi> <mo>*</mo> </msubsup> <mo>,</mo> <msubsup> <mi>p</mi> <mi>out</mi> <mo>*</mo> </msubsup> <mo>,</mo> <msubsup> <mi>&theta;</mi> <mn>1</mn> <mo>*</mo> </msubsup> <mo>,</mo> <msubsup> <mi>&theta;</mi> <mn>2</mn> <mo>*</mo> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mi>&theta;</mi> <mi>m</mi> <mo>*</mo> </msubsup> <mo>)</mo> </mrow> <mo>=</mo> <mi>arg</mi> <munder> <mi>min</mi> <mrow> <msub> <mi>p</mi> <mi>in</mi> </msub> <mo>,</mo> <msub> <mi>p</mi> <mi>out</mi> </msub> <mo>,</mo> <mo>,</mo> <msub> <mi>&theta;</mi> <mn>1</mn> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mi>&theta;</mi> <mi>m</mi> </msub> </mrow> </munder> <msub> <mi>E</mi> <mi>r</mi> </msub> <mo>.</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1.20</mn> <mo>)</mo> </mrow> </mrow> </math>
The optimization problem can be solved by utilizing a sparse Levenberg-Marquardt algorithm, and an optimization tool box of the sparse LM algorithm can be downloaded on http:// users. ics. forth. With the above optimization we can obtaint,Rcw,TcwAnd (3) the information is used for the rotation angle calculation in the step four.
Step four: and measuring the rotation angle by utilizing the calibrated internal and external parameters.
Firstly, matching the corner points according to the calibrated information. Let the corner coordinate of the picture taken at θ be Xc={(ui,vi)T,i=1,2,...,NcAt this time, occlusion may exist in the picture, so that matching cannot be automatically completed, and the following algorithm may be used:
1. a set of points that may match is found.
For each corner point and target point pairCalculating a score Si,jThe calculation method is as follows:
(1) obtaining (x)j,yj,0)TCorresponding world coordinate
x j w y j w z j w = R wb 0 x j y j 0 + t 0 0 .
(2) Finding an image point (u)i,vi)TIn thatPrimary image on planeThe obtaining method is as follows
<math> <mrow> <msubsup> <mi>X</mi> <mi>w</mi> <mi>j</mi> </msubsup> <mo>=</mo> <mi>&rho;</mi> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mi>n</mi> </msubsup> <mo>,</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mi>n</mi> </msubsup> <mo>,</mo> <mn>1</mn> <mo>)</mo> </mrow> <msub> <mi>r</mi> <mn>1</mn> </msub> <mo>+</mo> <mi>t</mi> </mrow> </math>
<math> <mrow> <msubsup> <mi>Y</mi> <mi>w</mi> <mi>j</mi> </msubsup> <mo>=</mo> <mi>&rho;</mi> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mi>n</mi> </msubsup> <mo>,</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mi>n</mi> </msubsup> <mo>,</mo> <mn>1</mn> <mo>)</mo> </mrow> <msub> <mi>r</mi> <mn>2</mn> </msub> <mo>,</mo> </mrow> </math>
Z w j = z w j ,
Wherein, <math> <mrow> <mi>&rho;</mi> <mo>=</mo> <mfrac> <msubsup> <mi>z</mi> <mi>w</mi> <mi>j</mi> </msubsup> <mrow> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mi>n</mi> </msubsup> <mo>,</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mi>n</mi> </msubsup> <mo>,</mo> <mn>1</mn> <mo>)</mo> </mrow> <msub> <mi>r</mi> <mn>3</mn> </msub> </mrow> </mfrac> <mo>,</mo> </mrow> </math> <math> <mrow> <mo>[</mo> <msub> <mi>r</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>r</mi> <mn>2</mn> </msub> <mo>,</mo> <msub> <mi>r</mi> <mn>3</mn> </msub> <mo>]</mo> <mo>=</mo> <msub> <mi>R</mi> <msub> <mi>wb</mi> <mn>0</mn> </msub> </msub> <mo>&CenterDot;</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mi>n</mi> </msubsup> <mo>,</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> <mi>T</mi> </msup> </mrow> </math> is (u)i,vi)TThe corresponding normalized coordinates can be obtained iteratively.
(3) We define Si,jThe following formula
S i , j = ( X w j ) 2 + ( Y w j ) 2 - ( x w j ) 2 + ( y w j ) 2 . - - - ( 1.21 )
(4) Selecting a threshold τmWhere d is the length of the checkerboard grid, then define the set of points that may match
<math> <mrow> <mi>&Omega;</mi> <mo>=</mo> <mo>{</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>u</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mo>&LeftRightArrow;</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>,</mo> <mn>0</mn> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1,2</mn> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <mi>n</mi> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1,2</mn> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mi>N</mi> <mi>c</mi> </msub> <mo>|</mo> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>&lt;</mo> <msub> <mi>&tau;</mi> <mi>m</mi> </msub> <mo>}</mo> <mo>.</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1.22</mn> <mo>)</mo> </mrow> </mrow> </math>
2. Using the histogram, the angle is calculated.
For the elements in Ω, θ is calculated by the following equationi,j
<math> <mrow> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msubsup> <mi>x</mi> <mi>j</mi> <mi>w</mi> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>y</mi> <mi>j</mi> <mi>w</mi> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>z</mi> <mi>j</mi> <mi>w</mi> </msubsup> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <mi>cos</mi> <msub> <mi>&theta;</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mo>-</mo> <msub> <mrow> <mi>sin</mi> <mi>&theta;</mi> </mrow> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <msub> <mrow> <mi>sin</mi> <mi>&theta;</mi> </mrow> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <msub> <mrow> <mi>cos</mi> <mi>&theta;</mi> </mrow> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msubsup> <mi>X</mi> <mi>j</mi> <mi>w</mi> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>Y</mi> <mi>j</mi> <mi>w</mi> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>Z</mi> <mi>j</mi> <mi>w</mi> </msubsup> </mtd> </mtr> </mtable> </mfenced> <mo>.</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1.23</mn> <mo>)</mo> </mrow> </mrow> </math>
Then draw outA histogram of the distribution, the histogram having 360 squares, the number of elements in the kth square being (k-181) °, (k-179) °) # Ω. Our estimate of θ is
3. And selecting a correct matching pair by using the obtained angle.
i corresponds to the point M (j) with the smallest score in the correct angle range, i.e. the point M (j)
M ( i ) = min j S i , j , Satisfies thetai,j∈[θ-1°,θ+1°].
If theta is not presenti,j∈[θ-1°,θ+1°]Then, m (i) is made 0.
4. Non-linear optimization
The optimization problem is described as
<math> <mrow> <msup> <mi>&theta;</mi> <mo>*</mo> </msup> <mo>=</mo> <mi>arg</mi> <munder> <mi>min</mi> <mi>&theta;</mi> </munder> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>N</mi> <mi>c</mi> </msub> </munderover> <mi>&delta;</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <mrow> <mo>(</mo> <msub> <mi>u</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>g</mi> <mi>u</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>p</mi> <mi>in</mi> <mo>*</mo> </msubsup> <mo>,</mo> <msubsup> <mi>p</mi> <mi>out</mi> <mo>*</mo> </msubsup> <mo>,</mo> <msub> <mi>x</mi> <mrow> <mi>M</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>,</mo> <msub> <mi>y</mi> <mrow> <mi>M</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>,</mo> <mi>&theta;</mi> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <mrow> <mo>(</mo> <msup> <mrow> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>g</mi> <mi>v</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>p</mi> <mi>in</mi> <mo>*</mo> </msubsup> <mo>,</mo> <msubsup> <mi>p</mi> <mi>out</mi> <mo>*</mo> </msubsup> <mo>,</mo> <msub> <mi>x</mi> <mrow> <mi>M</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>,</mo> <msub> <mi>y</mi> <mrow> <mi>M</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>,</mo> <mi>&theta;</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1.24</mn> <mo>)</mo> </mrow> </mrow> </math>
Wherein, <math> <mrow> <mi>&delta;</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mn>1</mn> <mo>,</mo> <mi>M</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>></mo> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> <mo>,</mo> <mi>M</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> </mtd> </mtr> </mtable> </mfenced> <mo>.</mo> </mrow> </math>
the optimization problem can be solved by the lsqnolin function of the MATLAB itself.
The advantages and the effects are as follows:
the invention relates to a visual measurement method of a single-axis rotation angle based on a fixed camera and a single target, which is a method for measuring the single-axis rotation angle by using a monocular camera and a two-dimensional checkerboard. The invention adopts a two-dimensional target as a calibration feature, and can rotate the angle in a single axis through an optimization algorithm. The method has the advantages of simple installation process, high calibration precision, low cost and the like, and can solve the problem of shielding after calibration.
Drawings
FIG. 1: pinhole imaging model schematic
FIG. 2: schematic diagram of experimental equipment installation
FIG. 3 a: graph of mean value of measurement error as a function of noise
FIG. 3 b: measurement error variance versus noise plot
FIG. 4 a: angular point number graph detected when angle changes
FIG. 4 b: angle error map when angle changes
FIG. 5: two-dimensional checkerboard target picture used for real experiment
FIG. 6: flow chart of the invention
The symbols in the figures are as follows:
symbolic illustration in fig. 1: o denotes the camera optical center, O1Representing the origin of the image coordinate system. X, Y denote coordinate axes of the image coordinate system and X, Y, z denote coordinate axes of the camera coordinate system. P (X)w,Yw,Zw) Representing the coordinates of the three-dimensional point in the camera coordinate system and P representing the projection of the point P on the image.
Symbolic illustration in fig. 2: o isw-XwYwZwAs a world coordinate system, ZwThe axis is a rotation axis, and the origin of the target at the reference position is located at XwOn the shaft; target coordinate system of target in reference positionThe coordinate system surrounds ZwRotation thetaiAfter that, the target coordinate system becomesCoordinate system of camera Oc-XcYcZc
Detailed Description
Referring to fig. 1-6, the invention provides a visual measurement method based on a single-axis rotation angle of a fixed camera and a single target, and simulation experiments and real experiment verification are carried out.
Simulation experiment
The simulation experiment is carried out on a computer with a main frequency of 3.07GHz and a memory of 4.00GB and MATLAB2014a in a Windows XP environment. The camera model used for simulation is a second-order distortion model, and the parameters are as follows:
αx=782.5109,αy=782.9155,u0=357.3909,v0=264.5240
k1=-0.4232,k2=0.2664,k3=-0.000555,k4=-0.0031,k5=0
the target was a 6X 8 checkerboard, with individual checkerboard lengths of 39.5mm by 39.5 mm. The simulation experiment mainly verifies the stability and high precision of the calibration algorithm. The simulation steps are as follows:
setting a simulation environment: and acquiring the coordinates of the image points according to the set internal parameters and the pose. Wherein the selected angle during rotation is (unit is degree)
θi=2.25×i
The method comprises the following steps: using MATLAB to calibrate the tool box, obtaining the initial value of the internal parameter, and the result is as follows (calibrating the noise of the internal reference image to be 2 pixels):
αx=774.34147,αy=773.91064,u0=349.58372,v0=269.85450
k1=-0.43943,k2=0.33274,k3=-0.00222,k4=-0.00206,k5=0
step two: and calculating the initial value of the external parameter according to the calibration result of the common camera.
Step three: and binding and adjusting according to the initial values of the internal and external parameters.
Step four: and selecting an angle and measuring.
In order to verify the robustness of the algorithm, in step four, 100 angles are selected, measurement is performed, and the maximum value of the angle errors is taken as the measurement error. White gaussian noise with a mean value μ of 0 and a standard deviation σ of 0 □ 4 pixels was added to the image points, and the mean and variance of the measurement errors of 100 experiments were plotted, and the results are shown in fig. 3(a) and (b). The result shows that even if Gaussian white noise with the standard deviation of 4 pixels is added, the result with the angle error mean value smaller than 0.5 degrees can be obtained, and the result proves that the angle measurement method is robust to image noise. To verify that our method works for occlusion cases, we simulated the case when the target was rotated at (-180 °,180 °). Fig. 4(a) and (b) show the simulation results, where (a) indicates the number of detected corner points, and (b) indicates the measured angle error. Experimental results show that the method can effectively solve the problem of shielding.
Real experiment
To further verify the feasibility of the present invention, we performed real experimental verification. The target we used was a printed checkerboard (as shown in figure 5), with a 6 x 9 gauge, each grid being 29.5mm in length; the adopted camera is a Basler camera, the resolution is 658 x 492 pixels, and the focal length is about 800 pixels. The angle verification adopts a photoelectric tracking system, and the angle measurement precision of the system is 0.01 degree. The results are shown in table 1, with errors indicating that the maximum value of the angular error is less than 0.15 degrees under the experimental conditions.
TABLE 1 true Experimental rotation Angle estimation results
1 2 3 4 5 6 7 8 9 10
Rotary table value -54.00 -36.00 -27.00 -10.80 -1.8 5.40 16.20 28.80 36.00 54.00
Truth value -53.985 -35.978 -26.966 -10.749 -0.036 5.477 0.070 28.894 36.135 54.147
Error of the measurement -0.015 -0.022 -0.034 -0.051 -1.764 0.077 16.270 0.094 0.135 0.147

Claims (1)

1. A vision measurement method based on a single-axis rotation angle of a fixed camera and a single target is characterized in that: the method comprises the following specific steps:
the method comprises the following steps: calibrating internal and external parameters of a camera;
in the specific implementation process, a two-dimensional checkerboard is used as a target; the adopted picture sequence comprises a picture at a reference position and pictures when the m rotating components rotate to different angles; suppose that the m angles are θ12,...,θmNext, the checkerboard corner points of MATLAB2014 are utilized to extractTaking a function detectCheckerboardPoints for corner extraction, and combining an MATLAB calibration tool for internal parameter calibration to obtain an internal parameter pinAnd external parameters of m +1 poses; the calibration tool box is downloaded on http:// www.vision.caltech.edu/bouguetj/caliib _ doc/; these extrinsic parameters are expressed as
[ R cb i , T cb i ] , i = 0,1,2 , . . . , m .
Expressed at a rotation angle of thetaiWhen the i is 0, the rotation matrix and the translation vector between the camera and the target are represented as the reference position;
step two: initial value of external parameter related to pivoting motion
(1) Determining the angle of rotation theta from (1.7) based on the external parameters determined in step oneiThe rotational and translational vectors of the target relative to the reference [ R b i b 0 , T b i b 0 ] , i = 1,2 , . . . , m .
R b i b 0 = R cb i T R cb 0 , T b i b 0 = R cb i T ( T cb 0 - T cb i ) . - - - ( 0.1 )
(2) And obtainingt and thetaiInitial value:
definition of r1,r2,r3Are respectively as1,2,3, and vector [ t ]]×Is expressed as the following matrix
<math> <mrow> <msub> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>t</mi> <mi>x</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>t</mi> <mi>y</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>t</mi> <mi>z</mi> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>&times;</mo> </msub> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mrow> <mo>-</mo> <mi>t</mi> </mrow> <mi>z</mi> </msub> </mtd> <mtd> <msub> <mi>t</mi> <mi>y</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>t</mi> <mi>z</mi> </msub> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <msub> <mrow> <mo>-</mo> <mi>t</mi> </mrow> <mi>x</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mrow> <mo>-</mo> <mi>t</mi> </mrow> <mi>y</mi> </msub> </mtd> <mtd> <msub> <mi>t</mi> <mi>x</mi> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> </mfenced> <mo>.</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>0.2</mn> <mo>)</mo> </mrow> </mrow> </math>
Then, obtain
<math> <mrow> <msub> <mi>r</mi> <mn>2</mn> </msub> <mo>=</mo> <mfrac> <msup> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mn>3,2</mn> </msub> <mo>,</mo> <msub> <mi>S</mi> <mn>1,3</mn> </msub> <mo>,</mo> <msub> <mi>S</mi> <mn>2,1</mn> </msub> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mrow> <mo>|</mo> <mo>|</mo> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mn>3,2</mn> </msub> <mo>,</mo> <msub> <mi>S</mi> <mn>1,3</mn> </msub> <mo>,</mo> <msub> <mi>S</mi> <mn>2,1</mn> </msub> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> </mrow> </mfrac> <mo>,</mo> <mi>&mu;</mi> <mo>=</mo> <mi>t</mi> <mi>sin</mi> <mi>&theta;</mi> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mn>2</mn> <mo>|</mo> <mo>|</mo> <mrow> <mo>(</mo> <msub> <mi>S</mi> <mn>3,2</mn> </msub> <mo>,</mo> <msub> <mi>S</mi> <mn>1,3</mn> </msub> <mo>,</mo> <msub> <mi>S</mi> <mn>2,1</mn> </msub> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> </mrow> </mfrac> <mo>,</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>0.3</mn> <mo>)</mo> </mrow> </mrow> </math>
Wherein,Si,jelements representing the ith row and j columns of the matrix S, r1Obtained from the following formula
<math> <mrow> <mrow> <mo>(</mo> <mfrac> <mn>1</mn> <mi>&mu;</mi> </mfrac> <msub> <mrow> <mo>[</mo> <msub> <mi>T</mi> <mrow> <msub> <mi>b</mi> <mi>i</mi> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> </mrow> </msub> <mo>]</mo> </mrow> <mo>&times;</mo> </msub> <msub> <mi>R</mi> <mrow> <msub> <mi>b</mi> <mi>i</mi> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> </mrow> </msub> <mo>+</mo> <msub> <mrow> <mo>[</mo> <msub> <mi>r</mi> <mn>2</mn> </msub> <mo>]</mo> </mrow> <mo>&times;</mo> </msub> <mo>)</mo> </mrow> <mi>x</mi> <mo>=</mo> <mn>0</mn> <mo>,</mo> <mo>|</mo> <mo>|</mo> <mi>x</mi> <mo>|</mo> <mo>|</mo> <mo>=</mo> <mn>1</mn> <mo>.</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>0.4</mn> <mo>)</mo> </mrow> </mrow> </math>
The above type passing pairObtained by SVD decomposition if <math> <mrow> <mrow> <mfrac> <mn>1</mn> <mi>&mu;</mi> </mfrac> <msub> <mrow> <mo>[</mo> <msub> <mi>T</mi> <mrow> <msub> <mi>b</mi> <mi>i</mi> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> </mrow> </msub> <mo>]</mo> </mrow> <mo>&times;</mo> </msub> <msub> <mi>R</mi> <mrow> <msub> <mi>b</mi> <mi>i</mi> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> </mrow> </msub> <mo>+</mo> <msub> <mrow> <mo>[</mo> <msub> <mi>r</mi> <mn>2</mn> </msub> <mo>]</mo> </mrow> <mo>&times;</mo> </msub> </mrow> <mo>=</mo> <msup> <mi>USV</mi> <mi>T</mi> </msup> <mo>,</mo> </mrow> </math> Then x is the third column of V, then, get
<math> <mrow> <msub> <mi>R</mi> <mrow> <msub> <mi>b</mi> <mn>0</mn> </msub> <mi>w</mi> </mrow> </msub> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>r</mi> <mn>1</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>2</mn> </msub> </mtd> <mtd> <msub> <mi>r</mi> <mn>1</mn> </msub> <mo>&times;</mo> <msub> <mi>r</mi> <mn>2</mn> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>.</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>0.5</mn> <mo>)</mo> </mrow> </mrow> </math>
θi=2arctan((ATA)-1(ATB)), (0.6)
Wherein A = vec ( r 2 r 3 T + r 3 r 2 T ) , <math> <mrow> <mi>B</mi> <mo>=</mo> <mi>vec</mi> <mrow> <mo>(</mo> <mfrac> <mn>1</mn> <mi>&mu;</mi> </mfrac> <msub> <mrow> <mo>[</mo> <msub> <mi>T</mi> <mrow> <msub> <mi>b</mi> <mi>i</mi> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> </mrow> </msub> <mo>]</mo> </mrow> <mo>&times;</mo> </msub> <msub> <mi>R</mi> <mrow> <msub> <mi>b</mi> <mi>i</mi> </msub> <msub> <mi>b</mi> <mn>0</mn> </msub> </mrow> </msub> <mo>+</mo> <msub> <mrow> <mo>[</mo> <msub> <mi>r</mi> <mn>2</mn> </msub> <mo>]</mo> </mrow> <mo>&times;</mo> </msub> <mo>)</mo> </mrow> <mo>.</mo> </mrow> </math> Vec (-) here represents the straightening of the matrix, so,
R wb 0 = R b 0 w T - - - ( 0.7 )
<math> <mrow> <mi>t</mi> <mo>=</mo> <mfrac> <mi>&mu;</mi> <mrow> <mi>sin</mi> <msub> <mi>&theta;</mi> <mi>i</mi> </msub> </mrow> </mfrac> <mo>.</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>0.8</mn> <mo>)</mo> </mrow> </mrow> </math>
(3) according to the obtainedt and thetaiSolving the initial value, and solving R according to (1.16)cw,TcwValue of (A)
R cw = R cb 0 R wb 0 T , T cw = ( t , 0,0 ) T - R cw T wb 0 . - - - ( 0.9 )
Step three: intra-pair parameter pinAnd an extrinsic parameter poutCarrying out nonlinear optimization; where p isin∈□9,pout∈□10Is shown below
<math> <mrow> <msub> <mi>p</mi> <mi>in</mi> </msub> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>&alpha;</mi> <mi>x</mi> </msub> <mo>,</mo> <msub> <mi>&alpha;</mi> <mi>y</mi> </msub> <mo>,</mo> <msub> <mi>u</mi> <mrow> <mn>0</mn> <mo>,</mo> </mrow> </msub> <msub> <mi>v</mi> <mn>0</mn> </msub> <mo>,</mo> <msub> <mi>k</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>k</mi> <mn>2</mn> </msub> <mo>,</mo> <msub> <mi>k</mi> <mn>3</mn> </msub> <mo>,</mo> <msub> <mi>k</mi> <mn>4</mn> </msub> <mo>,</mo> <msub> <mi>k</mi> <mn>5</mn> </msub> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mo>,</mo> <msub> <mi>p</mi> <mi>out</mi> </msub> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>v</mi> <msub> <mi>wb</mi> <mn>0</mn> </msub> <mi>T</mi> </msubsup> <mo>,</mo> <mi>t</mi> <mo>,</mo> <msubsup> <mi>v</mi> <mi>cw</mi> <mi>T</mi> </msubsup> <mo>,</mo> <msubsup> <mi>T</mi> <mi>cw</mi> <mi>T</mi> </msubsup> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mo>,</mo> </mrow> </math>
Wherein,are respectively asRcwThe corresponding Rodrigues vector; the conversion relationship between a Rodrigues vector v and its corresponding rotation matrix R is as follows
<math> <mrow> <mi>sin</mi> <mrow> <mo>(</mo> <mo>|</mo> <mo>|</mo> <mi>v</mi> <mo>|</mo> <mo>|</mo> <mo>)</mo> </mrow> <msub> <mrow> <mo>[</mo> <mi>v</mi> <mo>]</mo> </mrow> <mo>&times;</mo> </msub> <mo>=</mo> <mfrac> <mrow> <mi>R</mi> <mo>-</mo> <msup> <mi>R</mi> <mi>T</mi> </msup> </mrow> <mn>2</mn> </mfrac> <mo>,</mo> </mrow> </math>
<math> <mrow> <mi>R</mi> <mo>=</mo> <mi>cos</mi> <mrow> <mo>(</mo> <mo>|</mo> <mo>|</mo> <mi>v</mi> <mo>|</mo> <mo>|</mo> <mo>)</mo> </mrow> <msub> <mi>I</mi> <mn>3</mn> </msub> <mo>+</mo> <mfrac> <mrow> <mo>(</mo> <mn>1</mn> <mo>-</mo> <mi>cos</mi> <mrow> <mo>(</mo> <mo>|</mo> <mo>|</mo> <mi>v</mi> <mo>|</mo> <mo>|</mo> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <msup> <mrow> <mo>|</mo> <mo>|</mo> <mi>v</mi> <mo>|</mo> <mo>|</mo> </mrow> <mn>2</mn> </msup> </mfrac> <msup> <mi>vv</mi> <mi>T</mi> </msup> <mo>+</mo> <mi>sin</mi> <mrow> <mo>(</mo> <mo>|</mo> <mo>|</mo> <mi>v</mi> <mo>|</mo> <mo>|</mo> <mo>)</mo> </mrow> <msub> <mrow> <mo>[</mo> <mi>v</mi> <mo>]</mo> </mrow> <mo>&times;</mo> </msub> <mo>,</mo> </mrow> </math>
Wherein, I3An identity matrix of order 3;
the coordinates of the individual image points are marked on the target 1 at a rotation angle θiThen, the corner point coordinate corresponding to the jth target feature point is recorded as ( u j i , v j i ) , i = 0,1 , . . . , m , j = 1,2 , . . . , n , Points on the target are noted
Xb={(xj,yj,0)T,j=1,2,...,n}.
Because errors exist in the image extraction process, the reprojection error sum of the images is selected as an optimization target, and the target point and the poutObtaining the reprojection pointsThe process of (2) is as follows:
<1>angle of rotation thetaiTime, target point (x)j,yj,0)TConversion to points in world coordinate system
<math> <mrow> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msubsup> <mi>x</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <mi>w</mi> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>y</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <mi>w</mi> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>z</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> <mi>w</mi> </msubsup> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <mi>cos</mi> <msub> <mi>&theta;</mi> <mi>i</mi> </msub> </mtd> <mtd> <mo>-</mo> <msub> <mrow> <mi>sin</mi> <mi>&theta;</mi> </mrow> <mi>i</mi> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <msub> <mrow> <mi>sin</mi> <mi>&theta;</mi> </mrow> <mi>i</mi> </msub> </mtd> <mtd> <msub> <mrow> <mi>cos</mi> <mi>&theta;</mi> </mrow> <mi>i</mi> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mrow> <mo>(</mo> <msub> <mi>R</mi> <msub> <mi>wb</mi> <mn>0</mn> </msub> </msub> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msub> <mi>x</mi> <mi>j</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>y</mi> <mi>j</mi> </msub> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> </mfenced> <mo>+</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <mi>t</mi> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> </mfenced> <mo>)</mo> </mrow> <mo>.</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>0.10</mn> <mo>)</mo> </mrow> </mrow> </math>
<2>And calculating the corresponding reprojection point
The reprojection error is defined as
<math> <mrow> <msub> <mi>E</mi> <mi>r</mi> </msub> <mo>=</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>m</mi> </munderover> <munderover> <mi>&Sigma;</mi> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>n</mi> </munderover> <mo>[</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>u</mi> <mi>i</mi> <mi>j</mi> </msubsup> <mo>-</mo> <msub> <mi>g</mi> <mi>u</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mi>in</mi> </msub> <mo>,</mo> <msub> <mi>p</mi> <mi>out</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>,</mo> <msub> <mi>&theta;</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>v</mi> <mi>i</mi> <mi>j</mi> </msubsup> <mo>-</mo> <msub> <mi>g</mi> <mi>v</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>p</mi> <mi>in</mi> </msub> <mo>,</mo> <msub> <mi>p</mi> <mi>out</mi> </msub> <mo>,</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>,</mo> <msub> <mi>&theta;</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>]</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>0.13</mn> <mo>)</mo> </mrow> </mrow> </math>
The optimization problem is described as
<math> <mrow> <mrow> <mo>(</mo> <msubsup> <mi>p</mi> <mi>in</mi> <mo>*</mo> </msubsup> <mo>,</mo> <msubsup> <mi>p</mi> <mi>out</mi> <mo>*</mo> </msubsup> <mo>,</mo> <msubsup> <mi>&theta;</mi> <mn>1</mn> <mo>*</mo> </msubsup> <mo>,</mo> <msubsup> <mi>&theta;</mi> <mn>2</mn> <mo>*</mo> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mi>&theta;</mi> <mi>m</mi> <mo>*</mo> </msubsup> <mo>)</mo> </mrow> <mo>=</mo> <mi>arg</mi> <munder> <mi>min</mi> <mrow> <msub> <mi>p</mi> <mi>in</mi> </msub> <mo>,</mo> <msub> <mi>p</mi> <mi>out</mi> </msub> <mo>,</mo> <mo>,</mo> <msub> <mi>&theta;</mi> <mn>1</mn> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mi>&theta;</mi> <mi>m</mi> </msub> </mrow> </munder> <msub> <mi>E</mi> <mi>r</mi> </msub> <mo>.</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>0.14</mn> <mo>)</mo> </mrow> </mrow> </math>
The optimization problem is solved by utilizing a sparse Levenberg-Marquardt algorithm, and an optimization tool box of the sparse LM algorithm is downloaded in http:// users. ics.forth.gr/. Loursakis/spark LM; with the above optimization, obtaint,Rcw,TcwThe information of (1), which is used for the rotation angle calculation of the step four;
step four: measuring the rotation angle by utilizing the calibrated internal and external parameters;
firstly, matching angle points according to calibrated information; let the corner coordinate of the picture taken at θ be Xc={(ui,vi)T,i=1,2,...,NcAt this time, occlusion may exist in the picture, so matching cannot be automatically completed according to the following algorithm:
scattering and searching a point set which is possibly matched;
for each corner point and target point pairCalculating a score Si,jThe calculation method is as follows:
(1) obtaining (x)j,yj,0)TCorresponding world coordinate
x j w y j w z j w = R wb 0 x j y j 0 + t 0 0 .
(2) Finding an image point (u)i,vi)TIn thatPrimary image on planeThe obtaining method is as follows
<math> <mrow> <msubsup> <mi>X</mi> <mi>w</mi> <mi>j</mi> </msubsup> <mo>=</mo> <mi>&rho;</mi> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mi>n</mi> </msubsup> <mo>,</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mi>n</mi> </msubsup> <mo>,</mo> <mn>1</mn> <mo>)</mo> </mrow> <msub> <mi>r</mi> <mn>1</mn> </msub> <mo>+</mo> <mi>t</mi> </mrow> </math>
<math> <mrow> <msubsup> <mi>Y</mi> <mi>w</mi> <mi>j</mi> </msubsup> <mo>=</mo> <mi>&rho;</mi> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mi>n</mi> </msubsup> <mo>,</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mi>n</mi> </msubsup> <mo>,</mo> <mn>1</mn> <mo>)</mo> </mrow> <msub> <mi>r</mi> <mn>2</mn> </msub> <mo>,</mo> </mrow> </math>
Z w j = z w j ,
Wherein, <math> <mrow> <mi>&rho;</mi> <mo>=</mo> <mfrac> <msubsup> <mi>z</mi> <mi>w</mi> <mi>j</mi> </msubsup> <mrow> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mi>n</mi> </msubsup> <mo>,</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mi>n</mi> </msubsup> <mo>,</mo> <mn>1</mn> <mo>)</mo> </mrow> <msub> <mi>r</mi> <mn>3</mn> </msub> </mrow> </mfrac> <mo>,</mo> </mrow> </math> <math> <mrow> <mo>[</mo> <msub> <mi>r</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>r</mi> <mn>2</mn> </msub> <mo>,</mo> <msub> <mi>r</mi> <mn>3</mn> </msub> <mo>]</mo> <mo>=</mo> <msub> <mi>R</mi> <msub> <mi>wb</mi> <mn>0</mn> </msub> </msub> <mo>&CenterDot;</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>x</mi> <mi>i</mi> <mi>n</mi> </msubsup> <mo>,</mo> <msubsup> <mi>y</mi> <mi>i</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> <mi>T</mi> </msup> </mrow> </math> is (u)i,vi)TThe corresponding normalized coordinates are obtained by iteration;
(3) definition of Si,jThe following formula
S i , j = ( X w j ) 2 + ( Y w j ) 2 - ( x w j ) 2 + ( y w j ) 2 . - - - ( 0.15 )
(4) Selecting a threshold τmWhere d is the length of the checkerboard grid, then define the set of points that may match
<math> <mrow> <mi>&Omega;</mi> <mo>=</mo> <mo>{</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>u</mi> <mi>i</mi> </msub> <mo>,</mo> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mo>&LeftRightArrow;</mo> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>j</mi> </msub> <mo>,</mo> <msub> <mi>y</mi> <mi>j</mi> </msub> <mo>,</mo> <mn>0</mn> <mo>)</mo> </mrow> <mi>T</mi> </msup> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1,2</mn> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <mi>n</mi> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1,2</mn> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mi>N</mi> <mi>c</mi> </msub> <mo>|</mo> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>&lt;</mo> <msub> <mi>&tau;</mi> <mi>m</mi> </msub> <mo>}</mo> <mo>.</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>0.16</mn> <mo>)</mo> </mrow> </mrow> </math>
Utilizing the histogram to calculate an angle;
for the elements in Ω, θ is calculated by the following equationi,j
<math> <mrow> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msubsup> <mi>x</mi> <mi>j</mi> <mi>w</mi> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>y</mi> <mi>j</mi> <mi>w</mi> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>z</mi> <mi>j</mi> <mi>w</mi> </msubsup> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <mi>cos</mi> <msub> <mi>&theta;</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mo>-</mo> <msub> <mrow> <mi>sin</mi> <mi>&theta;</mi> </mrow> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <msub> <mrow> <mi>sin</mi> <mi>&theta;</mi> </mrow> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <msub> <mrow> <mi>cos</mi> <mi>&theta;</mi> </mrow> <mrow> <mi>i</mi> <mo>,</mo> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mfenced open='[' close=']'> <mtable> <mtr> <mtd> <msubsup> <mi>X</mi> <mi>j</mi> <mi>w</mi> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>Y</mi> <mi>j</mi> <mi>w</mi> </msubsup> </mtd> </mtr> <mtr> <mtd> <msubsup> <mi>Z</mi> <mi>j</mi> <mi>w</mi> </msubsup> </mtd> </mtr> </mtable> </mfenced> <mo>.</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>0.17</mn> <mo>)</mo> </mrow> </mrow> </math>
Then draw outA histogram of distribution having 360 squares, the number of elements in the kth square being (k-181) °, (k-179) ° n Ω; an estimate of theta of
Selecting a correct matching pair by using the obtained angle;
i corresponds to the point M (j) with the smallest score in the correct angle range, i.e. the point M (j)
M ( i ) = min j S i , j , Satisfies thetai,j∈[θ-1°,θ+1°].
If theta is not presenti,j∈[θ-1°,θ+1°]Then, let m (i) be 0;
good and non-linear optimization
The optimization problem is described as
<math> <mrow> <msup> <mi>&theta;</mi> <mo>*</mo> </msup> <mo>=</mo> <mi>arg</mi> <munder> <mi>min</mi> <mi>&theta;</mi> </munder> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <msub> <mi>N</mi> <mi>c</mi> </msub> </munderover> <mi>&delta;</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <mrow> <mo>(</mo> <msub> <mi>u</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>g</mi> <mi>u</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>p</mi> <mi>in</mi> <mo>*</mo> </msubsup> <mo>,</mo> <msubsup> <mi>p</mi> <mi>out</mi> <mo>*</mo> </msubsup> <mo>,</mo> <msub> <mi>x</mi> <mrow> <mi>M</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>,</mo> <msub> <mi>y</mi> <mrow> <mi>M</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>,</mo> <mi>&theta;</mi> <mo>)</mo> </mrow> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>+</mo> <mrow> <mo>(</mo> <msup> <mrow> <msub> <mi>v</mi> <mi>i</mi> </msub> <mo>-</mo> <msub> <mi>g</mi> <mi>v</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>p</mi> <mi>in</mi> <mo>*</mo> </msubsup> <mo>,</mo> <msubsup> <mi>p</mi> <mi>out</mi> <mo>*</mo> </msubsup> <mo>,</mo> <msub> <mi>x</mi> <mrow> <mi>M</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>,</mo> <msub> <mi>y</mi> <mrow> <mi>M</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>,</mo> <mi>&theta;</mi> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>0.18</mn> <mo>)</mo> </mrow> </mrow> </math>
Wherein, <math> <mrow> <mi>&delta;</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfenced open='{' close=''> <mtable> <mtr> <mtd> <mn>1</mn> <mo>,</mo> <mi>M</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>></mo> <mn>0</mn> </mtd> </mtr> <mtr> <mtd> <mn>0</mn> <mo>,</mo> <mi>M</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mn>0</mn> </mtd> </mtr> </mtable> </mfenced> </mrow> </math>
the optimization problem is solved by the lsqnolin function of the MATLAB itself.
CN201410506279.0A 2014-09-28 2014-09-28 Single-axis rotation angle vision measurement method based on fixed camera and single target Active CN104374338B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410506279.0A CN104374338B (en) 2014-09-28 2014-09-28 Single-axis rotation angle vision measurement method based on fixed camera and single target

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410506279.0A CN104374338B (en) 2014-09-28 2014-09-28 Single-axis rotation angle vision measurement method based on fixed camera and single target

Publications (2)

Publication Number Publication Date
CN104374338A true CN104374338A (en) 2015-02-25
CN104374338B CN104374338B (en) 2017-04-26

Family

ID=52553394

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410506279.0A Active CN104374338B (en) 2014-09-28 2014-09-28 Single-axis rotation angle vision measurement method based on fixed camera and single target

Country Status (1)

Country Link
CN (1) CN104374338B (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106289071A (en) * 2016-08-18 2017-01-04 温州大学 A kind of structure three-dimensional displacement monocular photographing measurement method
CN106920262A (en) * 2017-03-07 2017-07-04 湖南科技大学 A kind of machine vision 3D four-wheel aligners instrument target binding method
CN107421502A (en) * 2017-07-26 2017-12-01 同济大学 A kind of railway freight-car gauge automatic measurement method
CN107817005A (en) * 2017-10-09 2018-03-20 大连理工大学 The integrated flexible experimental method of monocular pose measurement accuracy evaluation
CN108663043A (en) * 2018-05-16 2018-10-16 北京航空航天大学 Distributed boss's POS node relative pose measurement method based on single camera auxiliary
CN108776980A (en) * 2018-05-14 2018-11-09 南京工程学院 A kind of scaling method towards lenticule light-field camera
CN109785394A (en) * 2018-12-31 2019-05-21 深圳积木易搭科技技术有限公司 A kind of camera and turntable combined calibrating method, device and storage medium
CN110006368A (en) * 2019-05-20 2019-07-12 中山大学 A kind of the rope Different Deflection Angle Measurement and system of view-based access control model measurement
CN110136204A (en) * 2019-03-19 2019-08-16 浙江大学山东工业技术研究院 Sound film top dome assembly system based on the calibration of bilateral telecentric lens camera machine tool position
CN110428457A (en) * 2019-08-08 2019-11-08 苏州中科全象智能科技有限公司 A kind of point set affine transform algorithm in vision positioning
CN110440726A (en) * 2019-08-31 2019-11-12 大连理工大学 The bolt faying face coplanarity measuring method of twin shaft translation stage and structured light scanner
CN110455188A (en) * 2019-08-25 2019-11-15 大连理工大学 Single-axis translation platform and structure light 3 D sensor combined measurement scaling method
CN110954067A (en) * 2019-12-28 2020-04-03 长安大学 Monocular vision excavator pose measurement system and method based on target
CN111197975A (en) * 2019-12-09 2020-05-26 中国资源卫星应用中心 Image attitude estimation method based on Rodrigues
CN111981982A (en) * 2020-08-21 2020-11-24 北京航空航天大学 Multi-directional cooperative target optical measurement method based on weighted SFM algorithm
CN113450398A (en) * 2021-08-31 2021-09-28 北京柏惠维康科技有限公司 Method, device, equipment and readable medium for matching marker in calibration object
CN113658266A (en) * 2021-07-27 2021-11-16 中航西安飞机工业集团股份有限公司 Moving axis rotation angle visual measurement method based on fixed camera and single target
CN114216395A (en) * 2021-12-14 2022-03-22 众致盛视智能科技(苏州)有限公司 Space rotation axis solving method based on calibration plate

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101424551A (en) * 2008-11-28 2009-05-06 北京航空航天大学 Active vision non-contact type servomechanism parameter measurement method and apparatus thereof
JP2010140386A (en) * 2008-12-15 2010-06-24 Panasonic Corp Optical angle sensor
JP2010187130A (en) * 2009-02-10 2010-08-26 Nippon Telegr & Teleph Corp <Ntt> Camera calibrating device, camera calibration method, camera calibration program, and recording medium having the program recorded therein
CN102692183A (en) * 2011-03-23 2012-09-26 比比威株式会社 Measurement method of initial positions and poses of multiple cameras
CN103292809A (en) * 2013-05-14 2013-09-11 哈尔滨工程大学 Single-shaft rotary type inertial navigation system and special error self-compensation method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101424551A (en) * 2008-11-28 2009-05-06 北京航空航天大学 Active vision non-contact type servomechanism parameter measurement method and apparatus thereof
JP2010140386A (en) * 2008-12-15 2010-06-24 Panasonic Corp Optical angle sensor
JP2010187130A (en) * 2009-02-10 2010-08-26 Nippon Telegr & Teleph Corp <Ntt> Camera calibrating device, camera calibration method, camera calibration program, and recording medium having the program recorded therein
CN102692183A (en) * 2011-03-23 2012-09-26 比比威株式会社 Measurement method of initial positions and poses of multiple cameras
CN103292809A (en) * 2013-05-14 2013-09-11 哈尔滨工程大学 Single-shaft rotary type inertial navigation system and special error self-compensation method thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
付强等: "基于自由运动一维标定物的多摄像机参数标定方法与实验", 《控制理论与应用》 *

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106289071B (en) * 2016-08-18 2018-10-19 温州大学 A kind of structure three-dimensional displacement monocular photographing measurement method
CN106289071A (en) * 2016-08-18 2017-01-04 温州大学 A kind of structure three-dimensional displacement monocular photographing measurement method
CN106920262A (en) * 2017-03-07 2017-07-04 湖南科技大学 A kind of machine vision 3D four-wheel aligners instrument target binding method
CN107421502A (en) * 2017-07-26 2017-12-01 同济大学 A kind of railway freight-car gauge automatic measurement method
CN107421502B (en) * 2017-07-26 2019-09-27 同济大学 A kind of railway freight-car limit automatic measurement method
CN107817005A (en) * 2017-10-09 2018-03-20 大连理工大学 The integrated flexible experimental method of monocular pose measurement accuracy evaluation
CN107817005B (en) * 2017-10-09 2020-01-24 大连理工大学 Integrated flexible experimental method for monocular pose measurement accuracy evaluation
CN108776980A (en) * 2018-05-14 2018-11-09 南京工程学院 A kind of scaling method towards lenticule light-field camera
CN108776980B (en) * 2018-05-14 2021-07-09 南京工程学院 Calibration method for micro-lens light field camera
CN108663043B (en) * 2018-05-16 2020-01-10 北京航空航天大学 Single-camera-assisted distributed POS main node and sub node relative pose measurement method
CN108663043A (en) * 2018-05-16 2018-10-16 北京航空航天大学 Distributed boss's POS node relative pose measurement method based on single camera auxiliary
CN109785394A (en) * 2018-12-31 2019-05-21 深圳积木易搭科技技术有限公司 A kind of camera and turntable combined calibrating method, device and storage medium
CN110136204A (en) * 2019-03-19 2019-08-16 浙江大学山东工业技术研究院 Sound film top dome assembly system based on the calibration of bilateral telecentric lens camera machine tool position
CN110136204B (en) * 2019-03-19 2021-08-03 浙江大学山东工业技术研究院 Sound film dome assembly system based on calibration of machine tool position of bilateral telecentric lens camera
CN110006368A (en) * 2019-05-20 2019-07-12 中山大学 A kind of the rope Different Deflection Angle Measurement and system of view-based access control model measurement
CN110428457A (en) * 2019-08-08 2019-11-08 苏州中科全象智能科技有限公司 A kind of point set affine transform algorithm in vision positioning
CN110428457B (en) * 2019-08-08 2022-02-22 苏州中科全象智能科技有限公司 Point set affine transformation algorithm in visual positioning
CN110455188A (en) * 2019-08-25 2019-11-15 大连理工大学 Single-axis translation platform and structure light 3 D sensor combined measurement scaling method
CN110440726A (en) * 2019-08-31 2019-11-12 大连理工大学 The bolt faying face coplanarity measuring method of twin shaft translation stage and structured light scanner
CN111197975A (en) * 2019-12-09 2020-05-26 中国资源卫星应用中心 Image attitude estimation method based on Rodrigues
CN110954067A (en) * 2019-12-28 2020-04-03 长安大学 Monocular vision excavator pose measurement system and method based on target
CN111981982B (en) * 2020-08-21 2021-07-06 北京航空航天大学 Multi-directional cooperative target optical measurement method based on weighted SFM algorithm
CN111981982A (en) * 2020-08-21 2020-11-24 北京航空航天大学 Multi-directional cooperative target optical measurement method based on weighted SFM algorithm
CN113658266A (en) * 2021-07-27 2021-11-16 中航西安飞机工业集团股份有限公司 Moving axis rotation angle visual measurement method based on fixed camera and single target
CN113658266B (en) * 2021-07-27 2023-10-20 中航西安飞机工业集团股份有限公司 Visual measurement method for rotation angle of moving shaft based on fixed camera and single target
CN113450398A (en) * 2021-08-31 2021-09-28 北京柏惠维康科技有限公司 Method, device, equipment and readable medium for matching marker in calibration object
CN113450398B (en) * 2021-08-31 2021-11-19 北京柏惠维康科技有限公司 Method, device, equipment and readable medium for matching marker in calibration object
CN114216395A (en) * 2021-12-14 2022-03-22 众致盛视智能科技(苏州)有限公司 Space rotation axis solving method based on calibration plate
CN114216395B (en) * 2021-12-14 2023-10-24 众致盛视智能科技(苏州)有限公司 Space rotation axis solving method based on calibration plate

Also Published As

Publication number Publication date
CN104374338B (en) 2017-04-26

Similar Documents

Publication Publication Date Title
CN104374338B (en) Single-axis rotation angle vision measurement method based on fixed camera and single target
CN109035320B (en) Monocular vision-based depth extraction method
CN109146980B (en) Monocular vision based optimized depth extraction and passive distance measurement method
CN112819903B (en) L-shaped calibration plate-based camera and laser radar combined calibration method
CN104392435B (en) Fisheye camera scaling method and caliberating device
CN104376553B (en) A kind of vision measuring method at the single-shaft-rotation angle based on mobile camera and dual-target
CN109064516B (en) Camera self-calibration method based on absolute quadratic curve image
CN108510551B (en) Method and system for calibrating camera parameters under long-distance large-field-of-view condition
CN103278138B (en) Method for measuring three-dimensional position and posture of thin component with complex structure
US20170221210A1 (en) Devices, systems, and methods for high-resolution multi-view camera calibration
CN105809706B (en) A kind of overall calibration method of the more camera systems of distribution
CN101377405B (en) Vision measuring method of space round gesture parameter and geometric parameter
CN109961485A (en) A method of target positioning is carried out based on monocular vision
US11985292B1 (en) Residual error mitigation in multiview calibration
CN103426168B (en) Based on the general calibration method of common, wide-angle, the flake stereo camera of one-dimension calibration bar
CN101377404B (en) Method for disambiguating space round gesture recognition ambiguity based on angle restriction
Li et al. Cross-ratio invariant based line scan camera geometric calibration with static linear data
CN104167001B (en) Large-visual-field camera calibration method based on orthogonal compensation
KR101597163B1 (en) Method and camera apparatus for calibration of stereo camera
Yang et al. Precision calibration method for binocular vision measurement systems based on arbitrary translations and 3D-connection information
CN104504691A (en) Camera position and posture measuring method on basis of low-rank textures
Huang et al. Vision pose estimation from planar dual circles in a single image
Wang et al. An improved measurement model of binocular vision using geometrical approximation
Mei et al. Fast central catadioptric line extraction, estimation, tracking and structure from motion
Yang et al. Eccentricity error compensation for geometric camera calibration based on circular features

Legal Events

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