Title: 相机标定中绝对二次曲线、圆环点、配极关系之详细推导
文章目录
多视图几何读书笔记
[2] [笔记] 仿射变换性质的代数证明
[3] 多视图几何中向量叉乘的矩阵转换恒等式 Matrix Transformation for Cross Product in MVG
[4] 相机标定中绝对二次曲线、圆环点、配极关系之详细推导 ← \leftarrow ← 本篇
前言
相机标定中绝对二次曲线、圆环点、配极关系等这些概念比较抽象, 不易理解. 相关概念在射影几何中不会讲太细, 但三维视觉中默认为都会的基础.
为了加深理解, 记录一下自己对概念中细枝末节部分的理解和推导.
I. 相机标定中的射影几何 (Projective Geometry in Camera Calibration)
1. 相机标定中的几何示意
如 Fig. 1 所示,
O c O_c Oc —— 相机光心
Π ∞ \Pi_\infty Π∞ —— 无穷远平面
Π c \Pi_c Πc —— 相机成像平面
Π ( n , d ) \Pi(\mathbf{n},d) Π(n,d) —— 为一平面, 分别与 Π ∞ \Pi_\infty Π∞、 Π c \Pi_c Πc 都不平行
Π ′ ( n , d ′ ) \Pi'(\mathbf{n},d') Π′(n,d′) —— 经过光心 O c O_c Oc 且平行于 Π ( n , d ) \Pi(\mathbf{n},d) Π(n,d) 的平面
其他几何元素我们逐渐展开.

2. 射影坐标系
根据射影坐标系的定义我们可知, 二维射影平面 P 2 \mathbb{P}^2 P2 上的射影坐标系 ( P Q R ∣ E ) (PQR|E) (PQR∣E) 包括一个坐标三点形 PQR 以及一个单位点 E, 满足
- P、Q、R、E 任意三点不公线
- 单位点规则
ρ
E
=
P
+
Q
+
R
(II-1)
\rho \mathbf{E} = \mathbf{P} + \mathbf{Q}+\mathbf{R} \tag{II-1}
ρE=P+Q+R(II-1)
其中
ρ
\rho
ρ 为非零实数,
E
\mathbf{E}
E、
P
\mathbf{P}
P、
Q
\mathbf{Q}
Q、
R
\mathbf{R}
R 为对应点的原始坐标.
则该平面上任意点 X 的在原始坐标系下可以表示为
ρ
X
=
x
1
P
+
x
2
Q
+
x
3
R
(II-2)
\rho \mathbf{X} = x_1 \mathbf{P} +x_2 \mathbf{Q}+x_3 \mathbf{R} \tag{II-2}
ρX=x1P+x2Q+x3R(II-2)
则二维点 X 在射影坐标系
(
P
Q
R
∣
E
)
(PQR|E)
(PQR∣E) 上的坐标即为
X
=
[
x
1
,
x
2
,
x
3
]
T
\mathbf{X}=[x_1, x_2, x_3]^{\rm T}
X=[x1,x2,x3]T.
三维立体射影坐标的建立比起二维平面射影坐标复杂, 但基本原理一致.
三维射影空间 P 3 \mathbb{P}^3 P3 上的射影坐标系 ( P Q R S ∣ E ) (PQRS|E) (PQRS∣E) 包括一个坐标四面体 PQRS 以及一个单位点 E, 满足
- P、Q、R、S、E 任意四点不公面
- 单位点规则
ρ
E
=
P
+
Q
+
R
+
S
(II-3)
\rho \mathbf{E} = \mathbf{P} + \mathbf{Q}+\mathbf{R} + \mathbf{S} \tag{II-3}
ρE=P+Q+R+S(II-3)
同样地
S
\mathbf{S}
S 为点 S 的原始坐标.
则该立体空间内任意点 X 的在原始坐标系下可以表示为
ρ
X
=
x
1
P
+
x
2
Q
+
x
3
R
+
x
4
S
(II-4)
\rho \mathbf{X} = x_1 \mathbf{P} +x_2 \mathbf{Q}+x_3 \mathbf{R} + x_4 \mathbf{S} \tag{II-4}
ρX=x1P+x2Q+x3R+x4S(II-4)
则三维点 X 在射影坐标系
(
P
Q
R
S
∣
E
)
(PQRS|E)
(PQRS∣E) 上的坐标即为
X
=
[
x
1
,
x
2
,
x
3
,
x
4
]
T
\mathbf{X}=[x_1, x_2, x_3, x_4]^{\rm T}
X=[x1,x2,x3,x4]T.
以上是一般的射影坐标, 在存在度量性质的射影空间中就可以直接建立我们熟悉的欧式坐标.
事实上, 圆环点、绝对二次曲线、配极关系等就是用来建立射影空间中的度量.
所以相机标定中可以默认欧式坐标是适用的.
(这一节参考文献 [1])
III. 圆环点 (Circular Points)
1. 平面 Π ( n , d ) \Pi(\mathbf{n}, d) Π(n,d) 上的圆环点
平面 Π ( n , d ) \Pi(\mathbf{n}, d) Π(n,d) 的法向量为 n \mathbf{n} n 并与全局坐标系原点的距离为 d d d.
其中 n \mathbf{n} n 是全局三维欧式空间中的方向向量描述, 该方向向量对应的三维射影空间的坐标为 n ~ = [ n T , 0 ] T \tilde{\mathbf{n}}=[\mathbf{n}^{\rm T}, 0]^{\rm T} n~=[nT,0]T.
平面 Π ( n , d ) \Pi(\mathbf{n}, d) Π(n,d) 是二维射影空间, 其上任一点在平面射影坐标下的描述为 Π x = [ x 1 , x 2 , x 3 ] T ^\Pi\mathbf{x} = [x_1, x_2, x_3]^{\rm T} Πx=[x1,x2,x3]T.
圆的一般方程为
a
11
x
1
2
+
a
11
x
2
2
+
2
a
13
x
1
x
3
+
2
a
23
x
2
x
3
+
a
33
x
3
2
=
0
a_{11} x_1^2 + a_{11} x_2^2+ 2 a_{13} x_1 x_3 +2 a_{23} x_2 x_3 +a_{33} x_3^2=0
a11x12+a11x22+2a13x1x3+2a23x2x3+a33x32=0, 写成矩阵形式
[
x
1
x
2
x
3
]
[
a
11
0
a
13
0
a
11
a
23
a
13
a
23
a
33
]
[
x
1
x
2
x
3
]
=
0
(III-1-1)
\begin{bmatrix}x_1 &x_2 &x_3\end{bmatrix} \begin{bmatrix}a_{11} &0 &a_{13}\\ 0 &a_{11} &a_{23}\\ a_{13} &a_{23} &a_{33}\end{bmatrix} \begin{bmatrix}x_1\\ x_2\\ x_3\end{bmatrix}=0 \tag{III-1-1}
[x1x2x3]
a110a130a11a23a13a23a33
x1x2x3
=0(III-1-1)
无穷远直线的方程为
x
3
=
0
(III-1-2)
x_3 = 0 \tag{III-1-2}
x3=0(III-1-2)
以上两式联立, 可以知道
I
=
[
1
,
i
,
0
]
T
\mathbf{I}=[1,i,0]^{\rm T}
I=[1,i,0]T 和
J
=
[
1
,
−
i
,
0
]
T
\mathbf{J} = [1, -i, 0]^{\rm T}
J=[1,−i,0]T 这两个虚点满足圆的一般方程, 称
I
\mathbf{I}
I 和
J
\mathbf{J}
J 为平面
Π
(
n
,
d
)
\Pi(\mathbf{n},d)
Π(n,d) 上的圆环点.
这两圆环点在 Π ( n , d ) \Pi(\mathbf{n}, d) Π(n,d) 无穷远直线上, 即在 Π ( n , d ) \Pi(\mathbf{n}, d) Π(n,d) 与 Π ∞ \Pi_\infty Π∞ 的交线 l ∞ \mathbf{l}_\infty l∞ 上.
平面 Π ( n , d ) \Pi(\mathbf{n}, d) Π(n,d) 引入虚元素 (虚点、虚直线) 后成为实-复射影平面.
2. 平面 Π ′ ( n , d ′ ) \Pi'(\mathbf{n}, d') Π′(n,d′) 上的圆环点
已知平面 Π ′ ( n , d ′ ) \Pi'(\mathbf{n},d') Π′(n,d′) 是经过光心 O c O_c Oc 且平行于 Π ( n , d ) \Pi(\mathbf{n},d) Π(n,d) 的平面.
在分析 “平面
Π
(
n
,
d
)
\Pi(\mathbf{n}, d)
Π(n,d) 上的圆环点” 是采用的是该平面上的平面坐标系
(
P
Q
R
∣
E
)
(PQR|E)
(PQR∣E). 那么只要沿着平面法线方向
n
\mathbf{n}
n 进行平行投影 (记为 Parallel_Projection), 就可以将
Π
(
n
,
d
)
\Pi(\mathbf{n}, d)
Π(n,d) 上的平面射影坐标系复制到平面
Π
′
(
n
,
d
′
)
\Pi'(\mathbf{n}, d')
Π′(n,d′) 上, 记为
(
P
′
Q
′
R
′
∣
E
′
)
(P'Q'R'|E')
(P′Q′R′∣E′). 如 Fig. 2 所示,
(
P
′
Q
′
R
′
∣
E
′
)
=
P
a
r
a
l
l
e
l
_
P
r
o
j
e
c
t
i
o
n
(
P
Q
R
∣
E
)
(III-2-1)
(P'Q'R'|E') = {\rm Parallel\_Projection}(PQR|E) \tag{III-2-1}
(P′Q′R′∣E′)=Parallel_Projection(PQR∣E)(III-2-1)
在平行射影下
Π
(
n
,
d
)
\Pi(\mathbf{n}, d)
Π(n,d) 平面上的 X 点被投影到了
Π
′
(
n
,
d
′
)
\Pi'(\mathbf{n},d')
Π′(n,d′) 平面上的 X’ 点.
Π
(
n
,
d
)
\Pi(\mathbf{n}, d)
Π(n,d) 上一点 X 在
(
P
Q
R
∣
E
)
(PQR|E)
(PQR∣E) 坐标系下的坐标
x
\mathbf{x}
x, 投影后
Π
′
(
n
,
d
′
)
\Pi'(\mathbf{n},d')
Π′(n,d′) 上点 X’ 在
(
P
′
Q
′
R
′
∣
E
′
)
(P'Q'R'|E')
(P′Q′R′∣E′) 坐标系下的坐标为
x
′
=
x
(III-2-2)
\mathbf{x}' = \mathbf{x} \tag{III-2-2}
x′=x(III-2-2)
在
(
P
′
Q
′
R
′
∣
E
′
)
(P'Q'R'|E')
(P′Q′R′∣E′) 坐标系下联立圆和无穷远直线方程, 可得到
Π
′
(
n
,
d
′
)
\Pi'(\mathbf{n}, d')
Π′(n,d′) 上的圆环点在
(
P
′
Q
′
R
′
∣
E
′
)
(P'Q'R'|E')
(P′Q′R′∣E′) 坐标系下也是
I
′
=
[
1
,
i
,
0
]
T
\mathbf{I}'=[1,i,0]^{\rm T}
I′=[1,i,0]T 和
J
′
=
[
1
,
−
i
,
0
]
T
\mathbf{J}' = [1, -i, 0]^{\rm T}
J′=[1,−i,0]T.
因为 I = I ′ \mathbf{I}=\mathbf{I}' I=I′ 及 J = J ′ \mathbf{J} = \mathbf{J}' J=J′, 此时可以知道 Π ( n , d ) \Pi(\mathbf{n}, d) Π(n,d) 上圆环点 I \mathbf{I} I、 J \mathbf{J} J 和 Π ′ ( n , d ′ ) \Pi'(\mathbf{n},d') Π′(n,d′) 上圆环点 I ′ \mathbf{I}' I′、 J ′ \mathbf{J}' J′ 是关于该平行投影是对应的.
由两平行平面在无穷远处交于同一无穷远直线, 所以 Π ( n , d ) \Pi(\mathbf{n},d) Π(n,d) 和 Π ′ ( n , d ′ ) \Pi'(\mathbf{n},d') Π′(n,d′) 都交无穷远平面 Π ∞ \Pi_\infty Π∞ 于无穷远直线 l ∞ \mathbf{l}_\infty l∞. 在同一条直线山执行该平行射影 Parallel_Projection, 则直线上任意点的位置都完全不变.
所以平面
Π
(
n
,
d
)
\Pi(\mathbf{n}, d)
Π(n,d) 上圆环点
I
\mathbf{I}
I、
J
\mathbf{J}
J 和平面
Π
′
(
n
,
d
′
)
\Pi'(\mathbf{n},d')
Π′(n,d′) 上圆环点
I
′
\mathbf{I}'
I′、
J
′
\mathbf{J}'
J′ 都在无穷远直线
l
∞
\mathbf{l}_\infty
l∞ 上, 并且对应圆环点完全重合. 可知无穷远直线方程
l
∞
=
I
×
J
(III-2-3)
\mathbf{l}_\infty = \mathbf{I}\times \mathbf{J} \tag{III-2-3}
l∞=I×J(III-2-3)
圆环点具有不变性: 相似变换 (包括正交变换、欧式变换) 保持圆环点不变. 书上都有, 此处不展开.

IV. 绝对二次曲线 (Absolute Conic)
1. 绝对二次曲线
二维平面内, 坐标满足
S
=
[
x
1
x
2
x
3
]
[
a
11
a
12
a
13
a
12
a
22
a
23
a
13
a
23
a
33
]
[
x
1
x
2
x
3
]
=
0
(IV-1-1)
S= \begin{bmatrix}x_1 & x_2 & x_3\end{bmatrix} \begin{bmatrix}a_{11} & a_{12} & a_{13}\\ a_{12} & a_{22} & a_{23}\\ a_{13} & a_{23} & a_{33}\\ \end{bmatrix} \begin{bmatrix}x_1 \\ x_2 \\ x_3\end{bmatrix}=0 \tag{IV-1-1}
S=[x1x2x3]
a11a12a13a12a22a23a13a23a33
x1x2x3
=0(IV-1-1)
其中
r
a
n
k
(
a
i
j
)
≥
1
{\rm rank}(a_{ij})\geq 1
rank(aij)≥1, 所有点
[
x
1
,
x
2
,
x
3
]
T
[x_1, x_2, x_3]^{\rm T}
[x1,x2,x3]T 的集合称为一条二阶曲线, 其中
A
=
(
a
i
j
)
A=(a_{ij})
A=(aij) 为二阶曲线的矩阵.
上述定义的对偶形式获得的由直线集合构成的包络称为二级曲线. 二阶曲线和二级曲线本质上是一个东西, 统称为二次曲线.
在三维射影空间中, 建立全局三维欧式坐标系 ( A 1 A 2 A 3 A 4 ∣ A 5 ) (A_1 A_2 A_3 A_4|A_5) (A1A2A3A4∣A5).
无穷远平面 Π ∞ = [ 0 , 0 , 0 , 1 ] T \Pi_\infty=[0,0,0,1]^{\rm T} Π∞=[0,0,0,1]T, 其上的无穷远点 x = [ x 1 , x 2 , x 3 , 0 ] T \mathbf{x}=[x_1, x_2, x_3, 0]^{\rm T} x=[x1,x2,x3,0]T.
在明确无穷远平面的情况下, 为方便描述, 上面的无穷远点记作
x
=
[
x
1
,
x
2
,
x
3
]
T
\mathbf{x}=[x_1, x_2, x_3]^{\rm T}
x=[x1,x2,x3]T. 如果点
x
\mathbf{x}
x 满足无穷远平面上的二次曲线方程
[
x
1
,
x
2
,
x
3
]
[
1
0
0
0
1
0
0
0
1
]
[
x
1
x
2
x
3
]
=
x
T
I
x
=
0
(IV-1-2)
[x_1, x_2, x_3]\begin{bmatrix}1 &0 &0 \\ 0&1&0\\ 0&0&1\end{bmatrix} \begin{bmatrix}x_1\\ x_2\\x_3\end{bmatrix}=\mathbf{x}^{\rm T} I \mathbf{x}=0 \tag{IV-1-2}
[x1,x2,x3]
100010001
x1x2x3
=xTIx=0(IV-1-2)
则称点
x
\mathbf{x}
x 的轨迹形成无穷远平面上的绝对二次曲线 (Absolute Conic)
Ω
∞
\Omega_\infty
Ω∞, 在欧式坐标系下
Ω
∞
=
I
3
\Omega_\infty = I_3
Ω∞=I3. (绝对二次曲线参考文献 [2])
事实上,只要在无穷远平面上的二次曲线都是绝对二次曲线. 一般坐标系下的绝对二次曲线与上面欧式坐标系下的绝对二次曲线只相差一个坐标转换.
无论是否在欧式坐标系下描述, 二次曲线矩阵 Ω ∞ \Omega_\infty Ω∞ 都是一个对称矩阵. 由矩阵知识可知, 对称矩阵合同于一个对角矩阵.
故而绝对二次曲线可以看作是一个在无穷远平面上的虚椭圆.
2. 绝对二次曲线与圆的交为圆环点
平面 Π ( n , d ) \Pi(\mathbf{n}, d) Π(n,d) 上的平面圆环点是在平面坐标系下的描述, 我们先将平面坐标 “升维” 到三维空间中描述.
首先将平面 Π ( n , d ) \Pi(\mathbf{n}, d) Π(n,d) 的法线方向 n \mathbf{n} n 作为新的维度方向, 建立由平面坐标系诱导的三维坐标系 ( P Q R S ∣ E ) (PQRS|E) (PQRS∣E).
则圆环点在新坐标系下的描述为 I ~ = [ 1 , i , 0 , 0 ] T \tilde{\mathbf{I}}=[1,i,0,0]^{\rm T} I~=[1,i,0,0]T 和 J ~ = [ 1 , − i , 0 , 0 ] T \tilde{\mathbf{J}}=[1,-i,0,0]^{\rm T} J~=[1,−i,0,0]T.
很显然坐标系建立时可以进行特殊设计, 使得坐标系
(
P
Q
R
S
∣
E
)
(PQRS|E)
(PQRS∣E) 和坐标系
(
A
1
A
2
A
3
A
4
∣
A
5
)
(A_1 A_2 A_3 A_4 | A_5)
(A1A2A3A4∣A5) 之间可以利用一个欧式变换进行相互转换. 即
(
A
1
A
2
A
3
A
4
∣
A
5
)
=
[
R
t
0
T
1
]
(
P
Q
R
S
∣
E
)
(IV-2-1)
(A_1 A_2 A_3 A_4 | A_5) =\begin{bmatrix}{R} &\mathbf{t}\\\mathbf{0}^{\rm T} &1\end{bmatrix}(PQRS|E) \tag{IV-2-1}
(A1A2A3A4∣A5)=[R0Tt1](PQRS∣E)(IV-2-1)
则圆环点在三维坐标系下的新坐标为
w
I
~
=
[
R
t
0
T
1
]
I
~
=
[
R
I
0
]
w
J
~
=
[
R
t
0
T
1
]
J
~
=
[
R
J
0
]
(IV-2-2)
^w \tilde{\mathbf{I}} =\begin{bmatrix}{R} &\mathbf{t}\\\mathbf{0}^{\rm T} &1\end{bmatrix} \tilde{\mathbf{I}} = \begin{bmatrix}{R} \mathbf{I}\\ 0 \end{bmatrix}\\ ^w \tilde{\mathbf{J}} =\begin{bmatrix}{R} &\mathbf{t}\\\mathbf{0}^{\rm T} &1\end{bmatrix} \tilde{\mathbf{J}} = \begin{bmatrix}{R} \mathbf{J}\\ 0 \end{bmatrix} \tag{IV-2-2}
wI~=[R0Tt1]I~=[RI0]wJ~=[R0Tt1]J~=[RJ0](IV-2-2)
其中
R
I
R\mathbf{I}
RI 和
R
J
R\mathbf{J}
RJ 表示新坐标
w
I
~
^w \tilde{\mathbf{I}}
wI~ 和
w
J
~
^w \tilde{\mathbf{J}}
wJ~ 在无穷远平面内的平面坐标部分. 那么
(
R
I
)
T
Ω
∞
(
R
I
)
=
I
T
R
T
I
3
R
I
=
I
T
I
=
0
(
R
J
)
T
Ω
∞
(
R
J
)
=
J
T
R
T
I
3
R
J
=
J
T
J
=
0
(IV-2-3)
({R}\mathbf{I})^{\rm T} \Omega_\infty ({R}\mathbf{I}) = \mathbf{I}^{\rm T} {R}^{\rm T} I_3 {R}\mathbf{I}= \mathbf{I}^{\rm T} \mathbf{I} = 0\\ ({R}\mathbf{J})^{\rm T} \Omega_\infty ({R}\mathbf{J}) = \mathbf{J}^{\rm T} {R}^{\rm T} I_3 {R}\mathbf{J}= \mathbf{J}^{\rm T} \mathbf{J} = 0 \tag{IV-2-3}
(RI)TΩ∞(RI)=ITRTI3RI=ITI=0(RJ)TΩ∞(RJ)=JTRTI3RJ=JTJ=0(IV-2-3)
所以平面圆环点都在绝对二次曲线上, 任意一个圆与绝对二次曲线相交于两个圆环点.
3. 绝对二次曲线由圆环点组成
空间中任意平面 Π \Pi Π (除了无穷远平面) 交无穷远平面 Π ∞ \Pi_\infty Π∞ 于一条无穷远直线 l ∞ \mathbf{l}_\infty l∞, 而无穷远直线交绝对二次曲线 Ω ∞ \Omega_\infty Ω∞ 于两点. 又已知空间任一平面上的任意圆交绝对二次曲线于两个圆环点. 所以空间任意平面总是交绝对二次曲线于两个圆环点.
又绝对二次曲线上任意两无穷远点的连线组成一条无穷远直线, 以这条无穷远直线为轴, 可以形成一组平面束. 平面束内的任意平面 (除了无穷远平面) 就交绝对二次曲线于两个圆环点, 所以绝对二次曲线上的任意点都是圆环点.
所以绝对二次曲线是由所有圆环点组成的.
4. 所有球交无穷远平面于绝对二次曲线
我们很熟悉, 在非齐次三维坐标系下单位球的描述方程为
x
1
2
+
x
2
2
+
x
3
2
=
1
(IV-4-1)
x_1^2+x_2^2+x_3^2=1 \tag{IV-4-1}
x12+x22+x32=1(IV-4-1)
射影空间中, 引入齐次坐标后的球的坐标为
(
x
1
x
4
)
2
+
(
x
2
x
4
)
2
+
(
x
3
x
4
)
2
=
1
⇒
x
1
2
+
x
2
2
+
x
3
2
−
x
4
2
=
0
(IV-4-2)
\left(\frac{x_1}{x_4}\right)^2 + \left(\frac{x_2}{x_4}\right)^2 + \left(\frac{x_3}{x_4}\right)^2 = 1\\ \Rightarrow\quad x_1^2+x_2^2+x_3^2- x_4^2=0 \tag{IV-4-2}
(x4x1)2+(x4x2)2+(x4x3)2=1⇒x12+x22+x32−x42=0(IV-4-2)
球与无穷远平面 (
x
4
=
0
x_4=0
x4=0) 相交时, 就得到绝对二次曲线方程,
{
x
1
2
+
x
2
2
+
x
3
2
=
0
x
4
=
0
(IV-4-3)
\left\{ \begin{array}{l} x_1^2+x_2^2+x_3^2=0\\ x_4 = 0 \end{array} \right. \tag{IV-4-3}
{x12+x22+x32=0x4=0(IV-4-3)
所以所有球交无穷远平面于绝对二次曲线.
5. 绝对二次曲线图像
我们再回到 Fig. 1 中, 从无穷远平面
Π
∞
\Pi_\infty
Π∞ 到相机成像平面的射影作用可以由一个单应矩阵来描述, 称为无穷远单应
H
∞
H_\infty
H∞,
H
∞
=
K
R
(IV-5-1)
H_\infty = KR \tag{IV-5-1}
H∞=KR(IV-5-1)
其中
K
K
K 为可逆的相机内参矩阵,
R
R
R 为相机姿态矩阵.
这个无穷远单应刻画的是无穷远平面 Π ∞ \Pi_\infty Π∞ 与相机成像平面 Π c \Pi_c Πc 之间的中心投影变换, 是一一对应的, 故无穷远单应是可逆矩阵.
无穷远平面上绝对二次曲线上的任意点
x
=
[
x
1
,
x
2
,
x
3
]
T
\mathbf{x}=[x_1, x_2, x_3]^{\rm T}
x=[x1,x2,x3]T 通过无穷远单应变换到像平面上, 得到对应图像点
m
x
=
H
∞
x
(IV-5-2)
\mathbf{m}_x = H_\infty \mathbf{x} \tag{IV-5-2}
mx=H∞x(IV-5-2)
反过来, 已知图像点的情况下, 反向投影得到无穷远平面上的点
x
=
H
∞
−
1
m
x
(IV-5-3)
\mathbf{x} = H_\infty^{-1} \mathbf{m}_x \tag{IV-5-3}
x=H∞−1mx(IV-5-3)
代入欧式坐标系下无穷远平面上的绝对二次曲线方程
x
T
I
x
=
0
⇒
m
x
T
H
∞
−
T
H
∞
−
1
m
x
=
0
⇒
m
x
T
K
−
T
R
−
T
R
−
1
K
−
1
m
x
=
0
⇒
m
x
T
K
−
T
K
−
1
m
x
=
0
(IV-5-4)
\begin{aligned} \mathbf{x}^{\rm T} I \mathbf{x} = 0\\ \Rightarrow\quad \mathbf{m}_x^{\rm T} H_\infty^{\rm -T} H_\infty^{-1} \mathbf{m}_x = 0\\ \Rightarrow\quad \mathbf{m}_x^{\rm T} K^{\rm -T} R^{\rm -T} R^{-1} K^{-1} \mathbf{m}_x = 0\\ \Rightarrow\quad \mathbf{m}_x^{\rm T} K^{\rm -T} K^{-1} \mathbf{m}_x = 0\\ \end{aligned} \tag{IV-5-4}
xTIx=0⇒mxTH∞−TH∞−1mx=0⇒mxTK−TR−TR−1K−1mx=0⇒mxTK−TK−1mx=0(IV-5-4)
-
K
−
T
K
−
1
K^{\rm -T} K^{-1}
K−TK−1 是对称矩阵
- r a n k ( K − T K − 1 ) = 3 {\rm rank}(K^{\rm -T} K^{-1})=3 rank(K−TK−1)=3, 因为 K K K 是相机的内参矩阵
所以绝对二次曲线在相机成像平面上的点 m x \mathbf{m}_x mx 形成的轨迹仍然是一条二次曲线.
定义
ω
≜
K
−
T
K
−
1
(IV-5-5)
\omega \triangleq K^{\rm -T} K^{-1} \tag{IV-5-5}
ω≜K−TK−1(IV-5-5)
为在相机成像平面上的绝对二次曲线图像 (Image of the Absolute Conic, IAC).
绝对二次曲线仅与相机内参有关, 故是相机标定的理论基础[2].
V. 配极关系 (Pole-Polar Relationship)
1. 隐消点与影消线
直线上的无穷远点, 即直线在无穷远平面上的交点, 只与直线方向有关而与直线位置无关.
该无穷远交点通过无穷远单应得到相机成像平面上的图像点, 称为隐消点.
Fig. 1 中, 平面 Π ( n , d ) \Pi(\mathbf{n}, d) Π(n,d) 的法线方向直线 n \mathbf{n} n 在无穷远平面 Π ∞ \Pi_\infty Π∞ 上的交点为 n ~ = [ n T , 0 ] T \tilde{\mathbf{n}} = [\mathbf{n}^{\rm T}, 0]^{\rm T} n~=[nT,0]T, 不引起误解情况下也称为无穷远平面上的点 n \mathbf{n} n.
无穷远平面上的点
n
\mathbf{n}
n 通过相机作用 (无穷远单应
H
∞
H_\infty
H∞) 在成像平面
Π
c
\Pi_c
Πc 上的隐消点是
v
n
\mathbf{v}_n
vn,
v
n
=
H
∞
n
(V-1-1)
\mathbf{v}_n = H_\infty \mathbf{n} \tag{V-1-1}
vn=H∞n(V-1-1)
当然,
v
n
\mathbf{v}_n
vn 也是平面
Π
′
(
n
,
d
′
)
\Pi'{(\mathbf{n}, d')}
Π′(n,d′) 法向直线的隐消点.
平面上无穷远直线在成像平面上的投影是该平面的隐消线. 隐消线与平面法向量有关而与平面位置无关.
Fig. 1 中平面 Π ( n , d ) \Pi(\mathbf{n}, d) Π(n,d) 与平面 Π ′ ( n , d ′ ) \Pi'(\mathbf{n}, d') Π′(n,d′) 平行, 两个平面都与无穷远平面交于无穷远直线 l ∞ \mathbf{l}_\infty l∞, 两者的隐消线也是相同的, 都是经过光心 O c O_c Oc 的平面 Π ′ ( n , d ′ ) \Pi'(\mathbf{n}, d') Π′(n,d′) 与相机成像平面 Π c \Pi_c Πc 的交线 l \mathbf{l} l.
隐消线通过平面法线方向定义的方程[2]为
l
=
K
−
T
R
n
(V-1-2)
\mathbf{l} = K^{\rm -T} R \mathbf{n} \tag{V-1-2}
l=K−TRn(V-1-2)
无穷远平面上的圆环点
I
I
I 和
J
J
J 在成像平面上的像点分别为
m
I
\mathbf{m}_I
mI 和
m
J
\mathbf{m}_J
mJ, 且
m
J
=
m
I
‾
\mathbf{m}_J = \overline{\mathbf{m}_I}
mJ=mI. 则隐消线也可以用过这两个像点计算获得
l
=
m
I
×
m
J
=
m
I
×
m
I
‾
(V-1-3)
\mathbf{l} = \mathbf{m}_I\times {\mathbf{m}_J}= \mathbf{m}_I\times \overline{\mathbf{m}_I} \tag{V-1-3}
l=mI×mJ=mI×mI(V-1-3)
(隐消点、隐消线参考文献 [2])
2. 隐消点、影消线及绝对二次曲线图像的关系
下面推导一下隐消线、隐消点以及绝对二次曲线图像之间的关系. 首先
n
=
H
∞
−
1
v
n
=
R
−
1
K
−
1
v
n
(V-2-1)
\mathbf{n} = H_\infty^{-1} \mathbf{v}_n = R^{-1} K^{-1}\mathbf{v}_n \tag{V-2-1}
n=H∞−1vn=R−1K−1vn(V-2-1)
代入式 (V-1-2) 得
l
=
K
−
T
R
n
=
K
−
T
R
R
−
1
K
−
1
v
n
=
K
−
T
K
−
1
v
n
=
ω
v
n
(V-2-2)
\mathbf{l} = K^{\rm -T} R \mathbf{n}= K^{\rm -T} R R^{-1} K^{-1}\mathbf{v}_n = K^{\rm -T} K^{-1}\mathbf{v}_n = \omega \mathbf{v}_n \tag{V-2-2}
l=K−TRn=K−TRR−1K−1vn=K−TK−1vn=ωvn(V-2-2)
参考文献 [3] 提供了另一种思路, 我们模仿一下.
相机投影作用由相机矩阵确定
P
=
K
(
R
,
T
)
(V-2-3)
P = K(R, \mathbf{T}) \tag{V-2-3}
P=K(R,T)(V-2-3)
平面
Π
′
(
n
,
d
′
)
\Pi'(\mathbf{n}, d')
Π′(n,d′) 可以视作为隐消线
l
\mathbf{l}
l 的反向投影的结果.
平面
Π
′
(
n
,
d
′
)
\Pi'(\mathbf{n}, d')
Π′(n,d′) 上任一点
x
\mathbf{x}
x 在相机投影作用下为在隐消线上的一点
P
x
P\mathbf{x}
Px, 则满足点在直线上的约束.
l
T
(
P
x
)
=
0
⇒
x
T
(
P
T
l
)
=
0
(V-2-4)
\mathbf{l}^{\rm T}(P\mathbf{x})=0 \quad \Rightarrow \quad \mathbf{x}^{\rm T}(P^{\rm T}\mathbf{l})=0 \tag{V-2-4}
lT(Px)=0⇒xT(PTl)=0(V-2-4)
因为
x
\mathbf{x}
x 是平面
Π
′
(
n
,
d
′
)
\Pi'(\mathbf{n}, d')
Π′(n,d′) 上任一点, 则
[
n
d
′
]
=
P
T
l
=
[
R
T
T
T
]
K
T
l
(V-2-5)
\begin{bmatrix}\mathbf{n}\\ d'\end{bmatrix} = P^{\rm T} \mathbf{l} = \begin{bmatrix} R^{\rm T} \\ \mathbf{T}^{\rm T}\end{bmatrix}K^{\rm T} \mathbf{l} \tag{V-2-5}
[nd′]=PTl=[RTTT]KTl(V-2-5)
我们只关心法线方向, 故有
n
=
R
T
K
T
l
=
H
∞
T
l
(V-2-6)
\mathbf{n} = R^{\rm T} K^{\rm T} \mathbf{l} = H_\infty^{\rm T} \mathbf{l} \tag{V-2-6}
n=RTKTl=H∞Tl(V-2-6)
然后可知隐消点
v
n
=
H
∞
n
=
H
∞
H
∞
T
l
=
K
K
T
l
⇒
l
=
ω
v
n
(V-2-7)
\mathbf{v}_n = H_\infty \mathbf{n}= H_\infty H_\infty^{\rm T} \mathbf{l} = K K^{\rm T} \mathbf{l}\\ \Rightarrow \quad \mathbf{l} = \omega \mathbf{v}_n \tag{V-2-7}
vn=H∞n=H∞H∞Tl=KKTl⇒l=ωvn(V-2-7)
3. 图像平面上的配极关系
根据配及原理结合式 (V-2-7) 可以知道, 平面 Π ( n , d ) \Pi(\mathbf{n}, d) Π(n,d) 在成像平面上的隐消线 l \mathbf{l} l 和平面 Π ( n , d ) \Pi(\mathbf{n}, d) Π(n,d) 法线方向在成像平面上的隐消点 v n \mathbf{v}_n vn 是关于绝对二次曲线图像 ω \omega ω 的一对极线和极点.
因为隐消线 l \mathbf{l} l 上的 m I \mathbf{m}_I mI 和 m J \mathbf{m}_J mJ 两点又都在绝对二次曲线图像 ω \omega ω 上, 所以这两点对应的关于 ω \omega ω 的极线是各自的切线.
由配给原则 (两点连线的极点是这两点极线的交点), m I \mathbf{m}_I mI 和 m J \mathbf{m}_J mJ 两点处的切线交于 l \mathbf{l} l 的极点 v n \mathbf{v}_n vn —— 隐消点.
隐消线
l
\mathbf{l}
l 上任意点
v
l
\mathbf{v}_l
vl 满足
l
T
v
l
=
v
n
T
ω
T
v
l
=
v
n
T
ω
v
l
=
0
(V-3-1)
\mathbf{l}^{\rm T} \mathbf{v}_l = \mathbf{v}_n^{\rm T}\omega^{\rm T} \mathbf{v}_l = \mathbf{v}_n^{\rm T}\omega \mathbf{v}_l = 0 \tag{V-3-1}
lTvl=vnTωTvl=vnTωvl=0(V-3-1)
即隐消线
l
\mathbf{l}
l 上任意点与隐消点
v
n
\mathbf{v}_n
vn 关于绝对二次曲线图像
ω
\omega
ω 共轭.
4. 无穷远平面上的配极关系
式 (V-2-7) 是成像平面 Π c \Pi_c Πc 上的配极关系, 由此出发我们看一下在无穷远平面内是否有对应的配极关系?
式 (V-2-7) 的左手边,
l
=
m
I
×
m
J
=
H
∞
I
×
H
∞
J
=
H
∞
−
T
(
I
×
J
)
=
K
−
T
R
(
I
×
J
)
(V-4-1)
\begin{aligned} \mathbf{l} &= \mathbf{m}_I \times \mathbf{m}_J \\ &= H_{\infty} \mathbf{I} \times H_{\infty} \mathbf{J} \\ &= H_{\infty}^{\rm -T}(\mathbf{I} \times \mathbf{J})\\ &= K^{\rm -T} R (\mathbf{I} \times \mathbf{J}) \end{aligned} \tag{V-4-1}
l=mI×mJ=H∞I×H∞J=H∞−T(I×J)=K−TR(I×J)(V-4-1)
式 (V-2-7) 的右手边,
ω
v
n
=
K
−
T
K
−
1
H
∞
n
=
K
−
T
K
−
1
K
R
n
=
K
−
T
R
n
(V-4-2)
\omega \mathbf{v}_n = K^{\rm -T} K^{-1} H_\infty \mathbf{n} = K^{\rm -T} K^{-1} K R \mathbf{n}= K^{\rm -T} R \mathbf{n} \tag{V-4-2}
ωvn=K−TK−1H∞n=K−TK−1KRn=K−TRn(V-4-2)
由式 (V-2-7) 的左右两边可知,
I
×
J
=
n
⇒
I
×
J
=
Ω
∞
n
⇒
l
∞
=
Ω
∞
n
(V-4-3)
\mathbf{I} \times \mathbf{J} = \mathbf{n}\\ \Rightarrow \mathbf{I} \times \mathbf{J} =\Omega_\infty \mathbf{n} \\ \Rightarrow \mathbf{l}_\infty =\Omega_\infty \mathbf{n} \tag{V-4-3}
I×J=n⇒I×J=Ω∞n⇒l∞=Ω∞n(V-4-3)
那么在无穷远平面上
Π
∞
\Pi_\infty
Π∞ 上点
n
\mathbf{n}
n 与无穷远直线
l
∞
\mathbf{l}_\infty
l∞ 是关于绝对二次曲线
Ω
∞
\Omega_\infty
Ω∞ 的极点和极线关系.
因为无穷远直线 l ∞ \mathbf{l}_\infty l∞ 上的 I \mathbf{I} I 和 J \mathbf{J} J 两点又都在绝对二次曲线 Ω ∞ \Omega_\infty Ω∞ 上, 所以这两点对应的关于 Ω ∞ \Omega_\infty Ω∞ 的极线是各自的切线.
由配给原则, I \mathbf{I} I 和 J \mathbf{J} J 两点处的切线交于 l ∞ \mathbf{l}_\infty l∞ 的极点 n \mathbf{n} n (无穷远平面上的点 n \mathbf{n} n).
无穷远直线
l
∞
\mathbf{l}_\infty
l∞ 上任意点
K
\mathbf{K}
K 满足
l
∞
T
K
=
n
T
Ω
∞
T
K
=
n
T
Ω
∞
K
=
0
(V-4-4)
\mathbf{l}_\infty^{\rm T} \mathbf{K} = \mathbf{n}^{\rm T}\Omega_\infty^{\rm T}\mathbf{K} = \mathbf{n}^{\rm T} \Omega_\infty \mathbf{K} = 0 \tag{V-4-4}
l∞TK=nTΩ∞TK=nTΩ∞K=0(V-4-4)
故无穷远平面上的点
n
\mathbf{n}
n 与无穷远直线
l
∞
\mathbf{l}_\infty
l∞ 上任意点是关于绝对二次曲线
Ω
∞
\Omega_\infty
Ω∞ 共轭.
小结
以上主要针对相机标定中的圆环点、绝对二次曲线、绝对二次曲线图像、配极关系等一些基础概念进行了梳理和推导.
参考文献
[1] 周兴和, 杨明升, 高等几何, 3版, 科学出版社, 2015
[2] 吴福朝, 计算机视觉中的数学方法, 教育科学出版社, 2008
[3] Kwan-Yee Kenneth Wong, Structure and Motion from Silhouettes, PhD dissertation, 2001
版权声明:本文为博主原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/woyaomaishu2/article/details/144354647
本文作者:wzf@robotics_notes