最近在研究立体视觉,已经有一些日子了。相关理论对数学要求有点高,看了很久才有了一些系统的了解,并做了一些实验帮助理解。
本文会介绍Structure from motion中,利用两视图恢复相机位姿的内容,这也是三维重建的基础。
本文主要基于《Multiple View Geometry in Computer Vision(计算机视觉中的多视图几何)》这本书来梳理算法流程,有部分推导过程没有给出,读者可自行查阅
刚开始写微博,经验很少,不足之处,还请各位指导,如有错误,恳请指正。希望能向大家多多学习,共同研究和进步。
----------------------------------------------------------------------------------------------------------------------------------------------------------
条件:已获取相机在两不同位置拍摄的图像,没有空间标定物,可以不进行摄像机的标定;
目标:求出相机在3D空间中的摄像机矩阵,以便用于三维重构;
缺陷:在上述条件下,获得的摄像机矩阵与实际相差一个射影变换。
0、基础知识和参数
射影变换和单应性矩阵:
射影变换过程中不变的性质有共点、共线、相交等,单应性矩阵H可以用来表示射影变换,并且通过H矩阵联系起来的对应点是唯一的。
摄像机矩阵P:
摄像机矩阵由内参数矩阵K和外参数矩阵[R|t]组成,简单来说,P=K[R|t]。对于空间中的一个3D点X,其在图像上的投影为x=PX。
齐次坐标:
本文中用的都是齐次坐标,不懂的童鞋可以自行查阅齐次坐标的定义和性质。
1.对极几何
摄像机中心在C和C‘时分别采集两幅图像,如图(a),空间中的一点X在平面上的投影x和x',即为空间点X与摄像机中心c和c'连线和成像平面的交点。
图(b)中展示了成像过程中的数学关系。其中,摄像机中心的连线与成像平面的交点e和e'为对极点(也是摄像机中心在另一平面上的投影)。若已知左图的摄像机中心C、成像点x,则可以确定C,x,X三点所在的直线,该直线在右侧成像面的投影I’即为x对应的对极线。显然,X在右侧平面的投影x'在此对极线I‘上。
2.基本矩阵
(1)几何推导
由上图的投影关系我们可以知道,对于空间中任意一点X,在两平面中分别有唯一的点x和x'与其对应,换句话说,这两个平面点是射影等价的。因此可以找到一个单应矩阵H,使得
x'=Hx(根据射影变换的性质)
而在右图中,由对极点e'和成像点x',可以表示出对极线
I’=e'×x'(根据其次坐标的性质)
这样,I‘=e'×Hx
我们可以令基本矩阵
F=e'×H,即I‘=Fx
上式给出了基本矩阵F的定义,但是这又有什么用呢?直观上我们能感觉到,F可以表征左右两幅图的位置关