目录
1 导论
透视几何的缺陷是图像深度信息的丢失,如图1所示,根据相似变换关系,视线上的若干平面都映射为成像面上的一个平面。
对极几何是两个透视几何模型间的几何约束关系,主要用于实现基于三角测量的双目立体视觉、深度估计等,对极几何约束只能实现点到线的映射,因此约束条件弱于透视几何。图2展示了对极几何的基本概念,其中3D世界的真实点称为物点 X X X;物点在相机成像面上形成像点 x L x_L x
L
、 x R x_R x
R
;两台透视相机间光心的连线称为基线;基线与成像面的交点称为极点 e L e_L e
L
、 e R e_R e
R
,若图像中不存在极点,则说明两个摄像机不能拍摄到彼此;像点与极点的连线称为极线,所有极线相交于极点;透视相机光心与物点确定的平面称为极平面,对于不同物点,极平面绕基线旋转,极线绕极点矩形,如图3所示。
2 对极约束推导
下面讨论两个透视模型间的关系。不妨以左侧相机为参考,设物点 L X = [ X Y Z ] T ^{\boldsymbol{L}}\!X=\left[
XYZ
XYZ
\right] ^T
L
X=[
X
Y
Z
]
T
,左右两相机间的变换关系为
L R T = [ R t 0 1 ] _{\boldsymbol{L}}^{\boldsymbol{R}}\boldsymbol{T}=\left[
R0t1
Rt01
\right]
L
R
T=[
R
0
t
1
]
则物点在右透视相机坐标系里的3D坐标为
R X = L R T L X = R [ X Y Z ] + t = [ X ′ Y ′ Z ′ ] ^{\boldsymbol{R}}\!\boldsymbol{X}=_{\boldsymbol{L}}^{\boldsymbol{R}}\boldsymbol{T}^{\boldsymbol{L}}\!\boldsymbol{X}=\boldsymbol{R}\left[
XYZ
XYZ
\right] +\boldsymbol{t}=\left[
X′Y′Z′
X′Y′Z′
\right]
R
X=
L
R
T
L
X=R
⎣
⎡
X
Y
Z
⎦
⎤
+t=
⎣
⎡
X
′
Y
′
Z
′
⎦
⎤
事实上,向量 t t t与成像面的交点即为极点。
根据相似关系,物点在左、右成像面上几何坐标为
{ x L = f L X Z y L = f L Y Z z L = f L ⇒ L x = f L Z L X { x R = f R X ′ Z ′ y R = f R Y ′ Z ′ z R = f R ⇒ R x = f R Z ′ R X
⎧⎩⎨⎪⎪xL=fLXZyL=fLYZzL=fL
{xL=fLXZyL=fLYZzL=fL
\Rightarrow ^{\boldsymbol{L}}\!\boldsymbol{x}=\frac{f_L}{Z}\,\,^{\boldsymbol{L}}\!\boldsymbol{X}\,\,
⎧⎩⎨⎪⎪⎪⎪xR=fRX′Z′yR=fRY′Z′zR=fR
{xR=fRX′Z′yR=fRY′Z′zR=fR
\Rightarrow ^{\boldsymbol{R}}\!\boldsymbol{x}=\frac{f_R}{Z'}\,\,^{\boldsymbol{R}}\!\boldsymbol{X}
⎩
⎪
⎨
⎪
⎧
x
L
=f
L
Z
X
y
L
=f
L
Z
Y
z
L
=f
L
⇒
L
x=
Z
f
L
L
X
⎩
⎪
⎨
⎪
⎧
x
R
=f
R
Z
′
X
′
y
R
=f
R
Z
′
Y
′
z
R
=f
R
⇒
R
x=
Z
′
f
R
R
X
结合齐次变换关系,有
R x = f R Z ′ ( R L X + t ) = f R Z ′ ( R Z f L ⋅ L x + t ) = α R L x + β t ^{\boldsymbol{R}}\!\boldsymbol{x}=\frac{f_R}{Z'}\left( \boldsymbol{R}^{\boldsymbol{L}}\!\boldsymbol{X}+\boldsymbol{t} \right) \\=\frac{f_R}{Z'}\left( \boldsymbol{R}\frac{Z}{f_L}\cdot ^{\boldsymbol{L}}\!\boldsymbol{x}+\boldsymbol{t} \right) \\=\alpha \boldsymbol{R}^{\boldsymbol{L}}\!\boldsymbol{x}+\beta \boldsymbol{t}\,\,
R
x=
Z
′
f
R
(R
L
X+t)
=
Z
′
f
R
(R
f
L
Z
⋅
L
x+t)
=αR
L
x+βt
其中 α \alpha α、 β \beta β为两个与尺度有关的常数。将等式两边同时与向量 t t t做外积,有
R x × t = ( α R L x + β t ) × t ^{\boldsymbol{R}}\!\boldsymbol{x}\times \boldsymbol{t}=\left( \alpha \boldsymbol{R}^{\boldsymbol{L}}\!\boldsymbol{x}+\beta \boldsymbol{t} \right) \times \boldsymbol{t}
R
x×t=(αR
L
x+βt)×t
线性化为
t ∧ R x = α t ∧ R L x {\boldsymbol{t}^{\land}}^{\boldsymbol{R}}\!\boldsymbol{x}=\alpha \boldsymbol{t}^{\land}\boldsymbol{R}^{\boldsymbol{L}}\!\boldsymbol{x}
t
∧
R
x=αt
∧
R
L
x
两边同乘 R x T ^{\boldsymbol{R}}\!\boldsymbol{x}^T
R
x
T
,考虑到 R x T ^{\boldsymbol{R}}\!\boldsymbol{x}^T
R
x
T
与向量 R x × t ^{\boldsymbol{R}}\!\boldsymbol{x}\times \boldsymbol{t}
R
x×t垂直,故
α R x T t ∧ R L x = 0 \alpha ^{\boldsymbol{R}}\!\boldsymbol{x}^T\boldsymbol{t}^{\land}\boldsymbol{R}^{\boldsymbol{L}}\!\boldsymbol{x}=0
α
R
x
T
t
∧
R
L
x=0
消去常数 α \alpha α,即得
R x T E L x = 0 {^{\boldsymbol{R}}\!\boldsymbol{x}^T\boldsymbol{E}^{\boldsymbol{L}}\!\boldsymbol{x}=0}
R
x
T
E
L
x=0
其中 E = t ∧ R \boldsymbol{E}=\boldsymbol{t}^{\land}\boldsymbol{R} E=t
∧
R称为本征矩阵(Essential Matrix),表征了同一物点在两个透视相机成像面上像点的几何约束关系。
下面引入相机内参矩阵,将像点映射到像素平面
{ L u = K L L x R u = K R R x
{Lu=KLLxRu=KRRx
{Lu=KLLxRu=KRRx
{
L
u=K
L
L
x
R
u=K
R
R
x
代入上式即得
R u T F L u = 0 { ^{\boldsymbol{R}}\!\boldsymbol{u}^T\boldsymbol{F}^{\boldsymbol{L}}\!\boldsymbol{u}=0}
R
u
T
F
L
u=0
其中 F = K R − T E K L − 1 \boldsymbol{F}=\boldsymbol{K}_{R}^{-T}\boldsymbol{EK}_{L}^{-1} F=K
R
−T
EK
L
−1
称为基本矩阵(Fundamental Matrix),表征了同一物点在两个透视相机像素面上像素点间的几何约束关系。
本征矩阵与基本矩阵表征了两个透视模型对极几何的代数特征,以上二式共同构成对极约束(Epipolar Constraint)。
🚀 计算机视觉基础教程说明
🔥 更多精彩专栏: