1 图像、相机、世界坐标关系
1.1 图像坐标系 ( u , v ) (u,v) (u,v)
固定在图像上以像素为单位的平面直角坐标系, 通常以图像左上角为像素原点,每一像素的 ( u , v ) (u,v) (u,v)分别表示该像素在图像数组中的列数和行数。
1.2 成像平面坐标系 ( x , y ) (x,y) (x,y)
光轴与成像平面交点,称为主点。成像平面坐标系以主点为原点,是以物理单位表示的平面直角坐标系。
d
x
,
d
y
dx,dy
dx,dy 分别表示单个图像像素点在成像平面的物理尺寸。
u
=
x
d
x
+
u
0
v
=
y
d
y
+
v
0
u=\frac{x}{dx}+u_0 \\v=\frac{y}{dy}+v_0
u=dxx+u0v=dyy+v0
齐次坐标与矩阵表示方法:
[
u
v
1
]
=
[
1
d
x
0
−
u
0
0
1
d
y
v
0
0
0
1
]
[
x
y
1
]
{\left[ \begin{array}{ccc} u \\ v \\1 \end{array} \right ]}= {\left[ \begin{array}{ccc} \frac{1}{dx} & 0 & -u_0\\ 0 & \frac{1}{dy} & v_0\\ 0 & 0 & 1 \end{array} \right ]} {\left[ \begin{array}{ccc} x \\ y \\1 \end{array} \right ]}
⎣⎡uv1⎦⎤=⎣⎡dx1000dy10−u0v01⎦⎤⎣⎡xy1⎦⎤
1.3 相机坐标系
( X c , Y c , Z c ) (X_c,Y_c,Z_c) (Xc,Yc,Zc):以针孔模型的聚焦中心 O O O(光心)为原点,摄像机光轴为 Z 轴建立三维坐标系,光心到图像平面的距离为有效焦距 f f f。
1.4 世界坐标系
( X w , Y w , Z w ) (X_w,Y_w,Z_w) (Xw,Yw,Zw):在环境中由用户任意选择一个基准坐标系作为参考来描述摄像机位置,在相机标定中一般选择标定板坐标系作为世界坐标系。
[ X c Y c Z c 1 ] = [ R t 0 1 ] [ X w Y w Z w 1 ] {\left[ \begin{array}{ccc} X_c \\ Y_c \\ Z_c \\1 \end{array} \right ]}= {\left[ \begin{array}{ccc} R & t\\ 0 & 1 \end{array} \right ]} {\left[ \begin{array}{ccc} X_w \\ Y_w \\ Z_w \\1 \end{array} \right ]} ⎣⎢⎢⎡XcYcZc1⎦⎥⎥⎤=[R0t1]⎣⎢⎢⎡XwYwZw1⎦⎥⎥⎤
通过坐标转换,知道 ( u , v ) (u,v) (u,v)可知道 ( x , y ) (x,y) (x,y)
2 相机标定
2.1 单个相机标定
- 由第一部分可知,是事实上, R , f , t R,f,t R,f,t等都是由于相机自身的因素产生的,在相机标定中,就是通过一系列的拍摄标准图像来求解其值。
- 此外,相机还有由于镜头的成像产生的各种图像畸变问题,也需要标定矫正。
2.2 立体相机标定
同一个点在两个相机下的坐标(由世界坐标变换)为:
x
c
1
=
R
1
x
w
+
t
1
x
c
2
=
R
2
x
w
+
t
2
x_c1=R_1x_w+t_1 \\x_c2=R_2x_w+t_2
xc1=R1xw+t1xc2=R2xw+t2
消去
x
w
x_w
xw得到两相机间的关系
x
c
1
=
R
1
R
2
−
1
x
c
2
+
t
1
−
R
1
R
2
−
1
t
2
(
x
=
R
x
+
t
)
x_c1=R_1R_2^{-1}x_{c2}+t_1-R_1R_2^{-1}t_2 \\(x=Rx+t)
xc1=R1R2−1xc2+t1−R1R2−1t2(x=Rx+t)
2.3 手眼标定
eye to hand,眼在手外。这种关系下,两次运动,机器人末端和标定板的位姿关系始终不变。求解的量为相机和机器人底座坐标系之间的位姿关系。
即求
A
X
=
X
B
AX =XB
AX=XB的问题
参考
1.《计算机视觉——计算理论与算法基础》,张正友;
2. 相机标定、手眼标定(理论篇)
3. 相机标定与手眼标定小记
4. 机器人手眼标定Ax=xB(eye to hand和eye in hand)及平面九点法标定