计算机视觉系列教程1-4:对极几何基本原理图解

340 阅读3分钟

「这是我参与2022首次更文挑战的第13天,活动详情查看:2022首次更文挑战


1 导论

透视几何的缺陷是图像深度信息的丢失,如图1所示,根据相似变换关系,视线上的若干平面都映射为成像面上的一个平面。

在这里插入图片描述

对极几何是两个透视几何模型间的几何约束关系,主要用于实现基于三角测量的双目立体视觉、深度估计等,对极几何约束只能实现点到线的映射,因此约束条件弱于透视几何。下图展示了对极几何的基本概念,其中3D世界的真实点称为物点XX;物点在相机成像面上形成像点xLx_LxRx_R;两台透视相机间光心的连线称为基线;基线与成像面的交点称为极点eLe_LeRe_R,若图像中不存在极点,则说明两个摄像机不能拍摄到彼此;像点与极点的连线称为极线,所有极线相交于极点;透视相机光心与物点确定的平面称为极平面在这里插入图片描述

对于不同物点,极平面绕基线旋转,极线绕极点矩形,如图3所示。

在这里插入图片描述

2 对极约束推导

下面讨论两个透视模型间的关系。不妨以左侧相机为参考,设物点L ⁣X=[XYZ]T^{\boldsymbol{L}}\!X=\left[ \begin{matrix} X& Y& Z\\\end{matrix} \right] ^T,左右两相机间的变换关系为

LRT=[Rt01]_{\boldsymbol{L}}^{\boldsymbol{R}}\boldsymbol{T}=\left[ \begin{matrix} \boldsymbol{R}& \boldsymbol{t}\\ 0& 1\\\end{matrix} \right]

则物点在右透视相机坐标系里的3D坐标为

R ⁣X=LRTL ⁣X=R[XYZ]+t=[XYZ]^{\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]

事实上,向量tt与成像面的交点即为极点。

根据相似关系,物点在左、右成像面上几何坐标为

\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}

结合齐次变换关系,有

R ⁣x=fRZ(RL ⁣X+t)=fRZ(RZfLL ⁣x+t)=αRL ⁣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}\,\,

其中α\alphaβ\beta为两个与尺度有关的常数。将等式两边同时与向量tt做外积,有

R ⁣x×t=(αRL ⁣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}

线性化为

tR ⁣x=αtRL ⁣x{\boldsymbol{t}^{\land}}^{\boldsymbol{R}}\!\boldsymbol{x}=\alpha \boldsymbol{t}^{\land}\boldsymbol{R}^{\boldsymbol{L}}\!\boldsymbol{x}

两边同乘R ⁣xT^{\boldsymbol{R}}\!\boldsymbol{x}^T,考虑到R ⁣xT^{\boldsymbol{R}}\!\boldsymbol{x}^T与向量R ⁣x×t^{\boldsymbol{R}}\!\boldsymbol{x}\times \boldsymbol{t}垂直,故

αR ⁣xTtRL ⁣x=0\alpha ^{\boldsymbol{R}}\!\boldsymbol{x}^T\boldsymbol{t}^{\land}\boldsymbol{R}^{\boldsymbol{L}}\!\boldsymbol{x}=0

消去常数α\alpha,即得

R ⁣xTEL ⁣x=0{^{\boldsymbol{R}}\!\boldsymbol{x}^T\boldsymbol{E}^{\boldsymbol{L}}\!\boldsymbol{x}=0}

其中E=tR\boldsymbol{E}=\boldsymbol{t}^{\land}\boldsymbol{R}称为本征矩阵(Essential Matrix),表征了同一物点在两个透视相机成像面上像点的几何约束关系。

下面引入相机内参矩阵,将像点映射到像素平面

{L ⁣ ⁣u=KLL ⁣xR ⁣ ⁣u=KRR ⁣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}

代入上式即得

R ⁣uTFL ⁣u=0{ ^{\boldsymbol{R}}\!\boldsymbol{u}^T\boldsymbol{F}^{\boldsymbol{L}}\!\boldsymbol{u}=0}

其中F=KRTEKL1\boldsymbol{F}=\boldsymbol{K}_{R}^{-T}\boldsymbol{EK}_{L}^{-1}称为基本矩阵(Fundamental Matrix),表征了同一物点在两个透视相机像素面上像素点间的几何约束关系

本征矩阵与基本矩阵表征了两个透视模型对极几何的代数特征,以上二式共同构成对极约束(Epipolar Constraint)


计算机视觉基础教程大纲

章号                                    内容

  0                              色彩空间与数字成像

  1                              计算机几何基础

  2                              图像增强、滤波、金字塔

  3                              图像特征提取

  4                              图像特征描述

  5                              图像特征匹配

  6                              立体视觉

  7                              项目实战

更多优质内容和配套代码欢迎来我的AI频道“AI技术社”