Geometric camera calibration
图2,中心折反射相机,分别具有双曲、椭圆和抛物面镜。Z轴是相机的光轴,也是镜面的旋转轴。场景点P成像在p点。在任何情况下,反折射系统的视点都是由焦距F表示的反射镜的焦点。在双曲和椭圆镜的情况下,透视相机的有效针孔必须放置在另一个焦点上,这里用 F ′ F^{'} F′表示。
相机模型
本节描述常见的相机模型。主要关注中心相机,也就是具有单一有效视点的相机。单视点意味着到达图像的所有光线都穿过空间中的单个点,即焦点。
透视相机
针孔相机模型是最常见的相机模型,对于大多数服从透视模型的传统相机来说,这是一个相当合理的近似模型。通常,这些相机具有小于60°的小视场。本质上,针孔相机模型只是一个透视投影,然后是图像平面中的仿射变换。
相机坐标系(3D)到像平面坐标系(2D)的齐次变换可用3x4投影矩阵表示
Z
c
(
x
y
1
)
=
[
f
0
0
0
0
f
0
0
0
0
1
0
]
(
X
c
Y
c
Z
c
1
)
Z_c\begin{pmatrix} x\\ y\\ 1 \end{pmatrix} = \begin{bmatrix} f& 0& 0 & 0\\ 0& f& 0 & 0\\ 0& 0& 1 & 0 \end{bmatrix}\begin{pmatrix} X_c\\ Y_c\\ Z_c \\ 1 \end{pmatrix}
Zc⎝⎛xy1⎠⎞=⎣⎡f000f0001000⎦⎤⎝⎜⎜⎛XcYcZc1⎠⎟⎟⎞
像平面坐标系到像素坐标系变换:
(
u
v
)
=
[
m
u
−
m
u
cot
α
0
m
v
sin
α
]
(
x
y
)
+
(
u
0
v
0
)
\begin{pmatrix} u\\ v \end{pmatrix} = \begin{bmatrix} m_u& -m_u\cot \alpha\\ 0& \frac{m_v}{\sin \alpha} \end{bmatrix}\begin{pmatrix} x\\ y \end{pmatrix}+\begin{pmatrix} u_0\\ v_0 \end{pmatrix}
(uv)=[mu0−mucotαsinαmv](xy)+(u0v0)
α \alpha α是轴u和v的夹角,传统相机一般是90°。 m u m_u mu和 m v m_v mv是轴u和v方向上每单位距离内的像素数量。
联立起来,得到世界坐标系到像素坐标系的变换公式:
m
u
f
m_u f
muf是一起变化的,优化时直接合在一起。
s
=
−
cot
α
s=-\cot \alpha
s=−cotα;
γ
=
m
v
m
u
sin
α
\gamma=\frac{m_v}{m_u\sin \alpha}
γ=musinαmv。简化为:
1
Z
c
(
u
v
1
)
=
[
f
s
f
u
0
0
γ
f
v
0
0
0
1
]
[
R
t
]
(
X
c
Y
c
Z
c
1
)
\frac{1}{Z_c}\begin{pmatrix} u\\ v \\ 1 \end{pmatrix} =\begin{bmatrix} f& sf& u_0\\ 0& \gamma f& v_0\\ 0& 0& 1 \end{bmatrix} [\mathbf{R} \quad \mathbf{t}] \begin{pmatrix} X_c\\ Y_c\\ Z_c \\ 1 \end{pmatrix}
Zc1⎝⎛uv1⎠⎞=⎣⎡f00sfγf0u0v01⎦⎤[Rt]⎝⎜⎜⎛XcYcZc1⎠⎟⎟⎞
由于一般
α
\alpha
α是90°,当轴u和v上的像素数相同时,s=0,
γ
=
1
\gamma=1
γ=1。不相同时保留
γ
\gamma
γ,进行优化。
简化写为内参和外参矩阵形式:
λ
(
u
v
1
)
=
K
[
R
t
]
(
X
c
Y
c
Z
c
1
)
\lambda \begin{pmatrix} u\\ v \\ 1 \end{pmatrix} = \mathbf{K} [\mathbf{R} \quad \mathbf{t}] \begin{pmatrix} X_c\\ Y_c\\ Z_c \\ 1 \end{pmatrix}
λ⎝⎛uv1⎠⎞=K[Rt]⎝⎜⎜⎛XcYcZc1⎠⎟⎟⎞