三维重建(一)外极几何,基础矩阵及求解

来源:互联网 发布:python 二进制buffer 编辑:程序博客网 时间:2024/05/05 08:48

最近在看三维重建的东西,把看到的东西总结一下。

一、外极几何

已知两个摄像头的光心OOP为空间中的一点,pp是点P在两个摄像头成的像中的投影。
平面OOP称为外极平面,显然ppOPOP上的,即该5点共面。外极平面OOP与两个相机的视平面相交于线ll,这两条直线称为外极线。其中l是与p相关的外极线,l是与p相关的外极线。且pl上,pl上。OO与相关视平面相交于点ee,这两个点分别为OO在对方视平面的投影。如下图所示:
这里写图片描述
按照上面的定义,假设pp分别是空间中同一点在两个不同视平面上的像点,则p一定在l上,p一定在l上,这就是外极线约束。
如果已经知道相机的参数,那么在重建过程中遇到的问题就是两幅图像之间的关系,外极线约束的主要作用就是限制对应特征点的搜索范围,将对应特征点的搜索限制在极线上。

二、基础矩阵

上面提到的是两幅图像之间的约束关系,这种约束关系使用代数的方式表示出来即为基本矩阵。
假设MM分别为两个摄像机的参数矩阵,其他同上图所示。则极线l的参数方程为:

P(s)=M+p+sO
其中,M+M的广义逆矩阵,于是有,
l=e×p=(MO)×(MP(s))=(MO)×(MM+p+sMO)=(MO)×(MM+p)=[e+]×MM+p
F=[e+]×MM+
这里,F就表示两幅图像关系的基础矩阵,也是两幅图像极几何关系的代数描述。
由上可知,l=Fp,且p一定在l上,则
pTFp=0
且基础矩阵F是一个3×3的秩为2的矩阵。
一般记基础矩阵F
F=f11f21f31f12f22f32f13f23f33
给一对匹配点x1(x1,y1)x2(x2,y2)由上可知xT1Fx2=0,由矩阵乘法可知有
这里写图片描述

三、确定基础矩阵方法

确定基础矩阵的最简单的方法即为8点法。由上可知,存在一对匹配点x1,x2,当有8对这样的点时如下图所示:
8对匹配点
则有如下方程:
这里写图片描述
另左边矩阵为A,右边矩阵为f,即

Af=0
优化方法一般使用最小二乘法,即优化
minjd(xj1,Fxj1)2+d(xj2,Fxj2)

RANSAN算法可以用来消除错误匹配的的点,找到基础矩阵F,算法思想如下:
(1)随机选择8个点;
(2)用这8个点估计基础矩阵F
(3)用这个F进行验算,计算用F验算成功的点对数n
重复多次,找到使n最大的F作为基础矩阵。

0 0