摄像机模型之无穷远摄像机
无穷远摄像机是中心在无穷远平面上的摄像机。无穷远摄像机可以分为仿射摄像机和非仿射摄像机。
仿射摄像机
仿射摄像机是矩阵
P
P
P的最后一行
P
3
T
P^{3T}
P3T形如
(
0
,
0
,
1
)
(0,0,1)
(0,0,1)的摄像机。
对于有限射影摄像机:
P
0
=
K
P
[
I
∣
−
C
~
]
=
K
(
r
1
T
−
r
1
T
C
~
r
2
T
−
r
2
T
C
~
r
3
T
−
r
3
T
C
~
)
P_0=KP[I|-\tilde{C}]=K\begin{pmatrix} r^{1T} &-r^{1T}\tilde{C} \\ r^{2T} &-r^{2T}\tilde{C} \\ r^{3T} &-r^{3T}\tilde{C} \end{pmatrix}
P0=KP[I∣−C~]=K⎝⎛r1Tr2Tr3T−r1TC~−r2TC~−r3TC~⎠⎞
其中
r
i
T
r^{iT}
riT是旋转矩阵的第
i
i
i行。而数值的
d
0
=
−
r
3
T
C
~
d_0=-r^{3T}\tilde{C}
d0=−r3TC~是世界原点到摄像机中心在主射线方向上的距离。
沿主射线跟踪的效果是将矩阵的
(
3
,
4
)
( 3 , 4 )
(3,4)元素用世界原点到摄像机中心的深度
d
t
d_t
dt替代。
假定使图像大小保持不变的放大因子是
k
=
d
t
/
d
0
k=d_t/d_0
k=dt/d0,在时间
t
t
t所产生的摄像机矩阵是:
P
t
=
K
(
d
t
/
d
0
d
t
/
d
0
1
)
(
r
1
T
−
r
1
T
C
~
r
2
T
−
r
2
T
C
~
r
3
T
d
t
)
=
d
t
d
0
K
(
r
1
T
−
r
1
T
C
~
r
2
T
−
r
2
T
C
~
r
3
T
d
0
/
d
t
d
0
)
P_t=K\begin{pmatrix} d_t/d_0 & & \\ & d_t/d_0& \\ & & 1 \end{pmatrix}\begin{pmatrix} r^{1T} &-r^{1T}\tilde{C} \\ r^{2T} &-r^{2T}\tilde{C} \\ r^{3T} &d_t \end{pmatrix}=\frac{d_t}{d_0}K\begin{pmatrix} r^{1T} &-r^{1T}\tilde{C} \\ r^{2T} &-r^{2T}\tilde{C} \\ r^{3T}d_0/d_t &d_0 \end{pmatrix}
Pt=K⎝⎛dt/d0dt/d01⎠⎞⎝⎛r1Tr2Tr3T−r1TC~−r2TC~dt⎠⎞=d0dtK⎝⎛r1Tr2Tr3Td0/dt−r1TC~−r2TC~d0⎠⎞
而当
d
t
d_t
dt 趋向无穷大时:
P
∞
=
K
(
r
1
T
−
r
1
T
C
~
r
2
T
−
r
2
T
C
~
0
T
d
0
)
P_\infty =K\begin{pmatrix} r^{1T} &-r^{1T}\tilde{C} \\ r^{2T} &-r^{2T}\tilde{C} \\ 0^T &d_0 \end{pmatrix}
P∞=K⎝⎛r1Tr2T0T−r1TC~−r2TC~d0⎠⎞
应用仿射摄像机的误差
在过世界原点并垂直子主轴方向的平面上的任何点的图像在这种变焦和运动的复合作用下保持不变。这样的一个点可以记为:
X
=
(
α
r
1
+
β
r
2
1
)
X=\begin{pmatrix} \alpha r^1+\beta r^2\\ 1 \end{pmatrix}
X=(αr1+βr21)
有
P
0
X
=
P
t
X
=
P
∞
X
P_0X=P_tX=P_\infty X
P0X=PtX=P∞X
对于不在诙平面上的点,设一点
X
X
X离该平面的垂直距离是
Δ
\Delta
Δ:
X
=
(
α
r
1
+
β
r
2
+
Δ
r
3
1
)
X=\begin{pmatrix} \alpha r^1+\beta r^2+\Delta r^3\\ 1 \end{pmatrix}
X=(αr1+βr2+Δr31)
并分别被摄像机
P
0
P_0
P0和
P
∞
P_\infty
P∞影像到:
X
p
r
o
j
=
P
0
X
=
K
(
x
~
y
~
d
0
+
Δ
)
,
X
a
f
f
i
n
e
=
P
∞
X
=
K
(
x
~
y
~
d
0
)
X_{proj}=P_0X=K\begin{pmatrix} \tilde{x}\\ \tilde{y}\\ d_0+\Delta \end{pmatrix},X_{affine}=P_\infty X=K\begin{pmatrix} \tilde{x}\\ \tilde{y}\\ d_0 \end{pmatrix}
Xproj=P0X=K⎝⎛x~y~d0+Δ⎠⎞,Xaffine=P∞X=K⎝⎛x~y~d0⎠⎞
其中
x
~
=
α
−
r
1
T
C
~
,
y
~
=
β
−
r
2
T
C
~
\tilde{x}=\alpha -r^{1T}\tilde{C},\tilde{y}=\beta-r^{2T}\tilde{C}
x~=α−r1TC~,y~=β−r2TC~。记标定矩阵为:
K
=
(
K
2
×
2
X
~
0
0
~
T
1
)
K=\begin{pmatrix} K_{2\times 2} & \tilde{X}_0\\ \tilde{0}^T& 1 \end{pmatrix}
K=(K2×20~TX~01)
因此有:
X
~
a
f
f
i
n
e
−
X
~
0
=
d
0
+
Δ
d
0
(
X
~
p
r
o
j
−
X
~
0
)
\tilde{X}_{affine}-\tilde{X}_{0}=\frac{d_0+\Delta }{d_0}(\tilde{X}_{proj}-\tilde{X}_{0})
X~affine−X~0=d0d0+Δ(X~proj−X~0)
用 P ∞ P_\infty P∞仿射近似真实摄像机矩阵 P 0 P_0 P0的效应是把点 X X X的图像径向地靠近或离开主点 x ~ 0 \tilde{x}_0 x~0,其加权因子是 ( d 0 + Δ ) / d 0 = 1 + Δ / d 0 (d_0+\Delta)/d_0=1+\Delta/d_0 (d0+Δ)/d0=1+Δ/d0
仿射影像条件
X
~
a
f
f
i
n
e
−
X
~
p
r
o
j
=
Δ
d
0
(
X
~
p
r
o
j
−
X
~
0
)
\tilde{X}_{affine}-\tilde{X}_{proj}=\frac{\Delta }{d_0}(\tilde{X}_{proj}-\tilde{X}_{0})
X~affine−X~proj=d0Δ(X~proj−X~0)
- 深度的起伏( Δ \Delta Δ)相对平均深度( d 0 d_0 d0) 较小
- 点离主轴的距离较小
P ∞ P_\infty P∞的分解
P ∞ = ( K 2 × 2 0 ^ 0 ^ T 1 ) ( R ^ t ^ 0 T 1 ) = ( K 2 × 2 X ~ 0 0 ^ T 1 ) ( R ^ 0 ^ 0 T 1 ) P_\infty=\begin{pmatrix} K_{2\times 2} & \hat{0}\\ \hat{0}^T & 1 \end{pmatrix}\begin{pmatrix} \hat{R }&\hat{t} \\ 0^T& 1 \end{pmatrix}=\begin{pmatrix} K_{2\times 2} &\tilde{X}_0 \\ \hat{0}^T & 1 \end{pmatrix}\begin{pmatrix} \hat{R} &\hat{0} \\ 0^T& 1 \end{pmatrix} P∞=(K2×20^T0^1)(R^0Tt^1)=(K2×20^TX~01)(R^0T0^1)
平行投影
1.平行投影矩阵
(
1
0
0
0
0
1
0
0
0
0
0
1
)
\begin{pmatrix} 1 & 0& 0 & 0\\ 0 & 1 & 0& 0\\ 0&0 & 0&1 \end{pmatrix}
⎝⎛100010000001⎠⎞
代替了有限摄像机的规范射影矩阵
[
I
∣
0
]
[I|0]
[I∣0]
2.标定矩阵 ( K 2 × 2 0 ^ 0 ^ T 1 ) \begin{pmatrix} K_{2\times 2} & \hat{0}\\ \hat{0}^T & 1 \end{pmatrix} (K2×20^T0^1)
代替了有限摄像机的 K K K。
3.主点无定义
仿射摄像机的层次
正投影
P
=
(
r
1
T
t
1
r
2
T
t
2
0
T
1
)
P=\begin{pmatrix} r^{1T} & t_1\\ r^{2T} & t_2\\ 0^T & 1 \end{pmatrix}
P=⎝⎛r1Tr2T0Tt1t21⎠⎞
正投影摄像机有5个自由度,即描述旋转矩阵 R R R的三个参数,加上两个偏置参数 t 1 t_1 t1和 t 2 t_2 t2
缩放正投影
P
=
(
r
1
T
t
1
r
2
T
t
2
0
T
1
/
k
)
P=\begin{pmatrix} r^{1T} & t_1\\ r^{2T} & t_2\\ 0^T & 1/k \end{pmatrix}
P=⎝⎛r1Tr2T0Tt1t21/k⎠⎞
它有六个自由度。
弱透视投影
P
=
(
α
x
α
y
1
)
(
r
1
T
t
1
r
2
T
t
2
0
T
1
)
P=\begin{pmatrix} \alpha _x & & \\ & \alpha _y & \\ & & 1 \end{pmatrix}\begin{pmatrix} r^{1T} & t_1\\ r^{2T} & t_2\\ 0^T & 1 \end{pmatrix}
P=⎝⎛αxαy1⎠⎞⎝⎛r1Tr2T0Tt1t21⎠⎞
它有七个自由度。
仿射摄像机 P A P_A PA
P A = ( α x s α y 1 ) ( r 1 T t 1 r 2 T t 2 0 T 1 ) P_A=\begin{pmatrix} \alpha _x & s & \\ & \alpha _y & \\ & & 1 \end{pmatrix}\begin{pmatrix} r^{1T} & t_1\\ r^{2T} & t_2\\ 0^T & 1 \end{pmatrix} PA=⎝⎛αxsαy1⎠⎞⎝⎛r1Tr2T0Tt1t21⎠⎞
它有八个自由度,并可以认为是有限射影摄像机的平行投影。
仿射摄像机的其他性质
- 主平面是无穷远平面的任何射影摄像机矩阵是仿射摄像机矩阵。
- 平行的世界直线被投影成平行的图像直线。
- 满足 M 2 × 3 d = 0 M_{2\times 3}d=0 M2×3d=0的矢量 d d d是平行投影的方向,而 ( d T , 0 ) T (d^T,0)^T (dT,0)T是摄像机中心。
一般无穷远摄像机
{} | 仿射摄像机 | 非仿射摄像机 |
---|---|---|
摄像机中心在 π ∞ \pi_\infty π∞ 上 | 是 | 是 |
主平面是 π ∞ \pi_\infty π∞ | 是 | 不是 |
π ∞ \pi_\infty π∞的点的图像在 l ∞ l_\infty l∞上 | 是 | 一般不是 |