教程说明
章号 内容
0 色彩空间与数字成像(待定)
1 计算机几何基础
2 图像增强、滤波、金字塔
3 图像特征提取
4 图像特征描述
5 图像特征匹配
6 立体视觉
1 导论
透视几何的缺陷是图像深度信息的丢失,如图1所示,根据相似变换关系,视线上的若干平面都映射为成像面上的一个平面。
对极几何是两个透视几何模型间的几何约束关系,主要用于实现基于三角测量的双目立体视觉、深度估计等,对极几何约束只能实现点到线的映射,因此约束条件弱于透视几何。图2展示了对极几何的基本概念,其中3D世界的真实点称为物点 X X X;物点在相机成像面上形成像点 x L x_L xL、 x R x_R xR;两台透视相机间光心的连线称为基线;基线与成像面的交点称为极点 e L e_L eL、 e R e_R eR,若图像中不存在极点,则说明两个摄像机不能拍摄到彼此;像点与极点的连线称为极线,所有极线相交于极点;透视相机光心与物点确定的平面称为极平面,对于不同物点,极平面绕基线旋转,极线绕极点矩形,如图3所示。
2 对极约束推导
下面讨论两个透视模型间的关系。不妨以左侧相机为参考,设物点 L X = [ X Y Z ] T ^{\boldsymbol{L}}\!X=\left[ \begin{matrix} X& Y& Z\\\end{matrix} \right] ^T LX=[XYZ]T,左右两相机间的变换关系为
L R T = [ R t 0 1 ] _{\boldsymbol{L}}^{\boldsymbol{R}}\boldsymbol{T}=\left[ \begin{matrix} \boldsymbol{R}& \boldsymbol{t}\\ 0& 1\\\end{matrix} \right] LRT=[R0t1]
则物点在右透视相机坐标系里的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[ \begin{array}{c} X\\ Y\\ Z\\\end{array} \right] +\boldsymbol{t}=\left[ \begin{array}{c} X'\\ Y'\\ Z'\\\end{array} \right] RX=LRTLX=R⎣⎡XYZ⎦⎤+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 \begin{cases} x_L=f_L\frac{X}{Z}\\ y_L=f_L\frac{Y}{Z}\\ z_L=f_L\\\end{cases}\Rightarrow ^{\boldsymbol{L}}\!\boldsymbol{x}=\frac{f_L}{Z}\,\,^{\boldsymbol{L}}\!\boldsymbol{X}\,\, \begin{cases} x_R=f_R\frac{X'}{Z'}\\ y_R=f_R\frac{Y'}{Z'}\\ z_R=f_R\\\end{cases}\Rightarrow ^{\boldsymbol{R}}\!\boldsymbol{x}=\frac{f_R}{Z'}\,\,^{\boldsymbol{R}}\!\boldsymbol{X} ⎩⎪⎨⎪⎧xL=fLZXyL=fLZYzL=fL⇒Lx=ZfLLX⎩⎪⎨⎪⎧xR=fRZ′X′yR=fRZ′Y′zR=fR⇒Rx=Z′fRRX
结合齐次变换关系,有
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}\,\, Rx=Z′fR(RLX+t)=Z′fR(RfLZ⋅Lx+t)=αRLx+β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} Rx×t=(αRLx+β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∧Rx=αt∧RLx
两边同乘 R x T ^{\boldsymbol{R}}\!\boldsymbol{x}^T RxT,考虑到 R x T ^{\boldsymbol{R}}\!\boldsymbol{x}^T RxT与向量 R x × t ^{\boldsymbol{R}}\!\boldsymbol{x}\times \boldsymbol{t} Rx×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 αRxTt∧RLx=0
消去常数 α \alpha α,即得
R x T E L x = 0 {^{\boldsymbol{R}}\!\boldsymbol{x}^T\boldsymbol{E}^{\boldsymbol{L}}\!\boldsymbol{x}=0} RxTELx=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 \begin{cases} ^{\boldsymbol{L}}\!\!\:\boldsymbol{u}={\boldsymbol{K}_{\boldsymbol{L}}}^{\boldsymbol{L}}\!\boldsymbol{x}\\ ^{\boldsymbol{R}}\!\!\:\boldsymbol{u}={\boldsymbol{K}_{\boldsymbol{R}}}^{\boldsymbol{R}}\!\boldsymbol{x}\\\end{cases} { Lu=KLLxRu=KRRx
代入上式即得
R u T F L u = 0 { ^{\boldsymbol{R}}\!\boldsymbol{u}^T\boldsymbol{F}^{\boldsymbol{L}}\!\boldsymbol{u}=0} RuTFLu=0
其中 F = K R − T E K L − 1 \boldsymbol{F}=\boldsymbol{K}_{R}^{-T}\boldsymbol{EK}_{L}^{-1} F=KR−TEKL−1称为基本矩阵(Fundamental Matrix),表征了同一物点在两个透视相机像素面上像素点间的几何约束关系。
本征矩阵与基本矩阵表征了两个透视模型对极几何的代数特征,以上二式共同构成对极约束(Epipolar Constraint)。
下期预告:计算机视觉系列教程15:本征矩阵、基本矩阵性质与估计