摘要
本文从齐次坐标开始说起,介绍齐次坐标中点的表达方式,齐次坐标中点在直线上的表述,然后载介绍本质矩阵(基本矩阵)的物理意义,最后介绍怎么求极线。
动机
网上没看到很好说明对极约束的资料,许多资料都说本质矩阵(基本矩阵)描述了两个相机间的对极约束,但是都没说清楚它们的几何意义(至少不能让我很好的理解),因此自己总结一下。
齐次坐标中点的表示方法
一个点坐标换成齐次坐标表示可以简单理解为在最后加一个维度,该维度值为1。例如:
设有一个坐标
(
x
,
y
)
−
>
(
x
,
y
,
1
)
(
x
,
y
,
z
)
−
>
(
x
,
y
,
z
,
1
)
(x, y) -> (x, y, 1) \\ (x, y, z) -> (x, y, z, 1) \\
(x,y)−>(x,y,1)(x,y,z)−>(x,y,z,1)
齐次坐标中点在直线上的表示方法
在二维平面上,一条直线
l
l
l 可以用直线方程
a
x
+
b
y
+
c
=
0
ax + by + c = 0
ax+by+c=0 来表示(这里x, y 是变量),我们还可以用向量来表示一条直线:
l
=
(
a
,
b
,
c
)
T
l = (a, b, c)^T
l=(a,b,c)T
已知一个具体位置的点
p
(
x
0
,
y
0
)
p(x_0, y_0)
p(x0,y0) ,若该点在直线
l
l
l 上,则有
a
x
0
+
b
y
0
+
c
=
0
ax_0 + by_0 + c = 0
ax0+by0+c=0
当我们改用齐次坐标表示点
p
(
x
0
,
y
0
,
1
)
p(x_0, y_0, 1)
p(x0,y0,1) ,那么该点在直线
l
l
l 上的表示可以用向量表述:
p
l
=
0
pl = 0
pl=0
因此,改用齐次坐标表示一个点后,判断该点在不在一条直线上的方式,变成判断等式
p
l
=
0
pl = 0
pl=0 是否成立,或者说点
p
p
p 与
l
l
l 的内积是否为0。
基本矩阵的物理意义以及极线的求法
如下图,
O
1
、
O
2
O_1、O_2
O1、O2 是两个相机光心在三维空间中的位置,
P
P
P 为三维空间中一个点;
O
1
、
O
2
、
P
O_1、O_2、P
O1、O2、P 三点所确定的平面,与两个相机成像平面
I
1
、
I
2
I_1、I_2
I1、I2 相交于四个点;其中,
p
1
、
p
2
p_1、p_2
p1、p2 为点
P
P
P 在两个相机成像平面
I
1
、
I
2
I_1、I_2
I1、I2 上的投影,
e
1
、
e
2
e_1、e_2
e1、e2 为直线
O
1
、
O
2
O_1、O_2
O1、O2 与两个相机成像平面
I
1
、
I
2
I_1、I_2
I1、I2 的两个交点。其中
基线:
O
1
、
O
2
O_1、O_2
O1、O2 所确定的线段
极平面:
O
1
、
O
2
、
P
O_1、O_2、P
O1、O2、P 三点所确定的平面
极点:点
e
1
、
e
2
e_1、e_2
e1、e2
极线:
p
1
、
e
1
p_1、e_1
p1、e1 所确定的直线
l
1
l_1
l1 以及
p
2
、
e
2
p_2、e_2
p2、e2 所确定的直线
l
2
l_2
l2
对于
p
1
=
(
u
1
,
v
1
,
1
)
T
,
p
2
=
(
u
2
,
v
2
,
1
)
T
p_1=(u_1, v_1, 1)^T, p_2=(u_2, v_2, 1)^T
p1=(u1,v1,1)T,p2=(u2,v2,1)T ,基本矩阵
F
F
F ,根据对极约束有
p
2
T
F
p
1
=
0
p_2^TFp_1=0
p2TFp1=0
回顾上面齐次坐标中点在直线上的表示方法,我们可以知道点
p
2
p_2
p2 在直线
F
p
1
Fp_1
Fp1 上,因此直线直线
F
p
1
Fp_1
Fp1 就是我们所说的极线,且该直线为上图中的极线
l
2
l_2
l2 。通过类比可得另一条极线为
l
1
=
F
−
1
p
2
l_1 = F^{-1}p_2
l1=F−1p2