目录
一、实验原理
1. 对极几何
对极几何描述的是两视图之间的内存射影关系,同一个三维点在两个不同的视角下的像点存在着约束关系,如下图三维点X在两幅图像的像点分分别为x,x′
对极几何主要涉及以下几个元素:
基线(Baseline),两个相机中心的连线CC′称为基线
对极点 epipolar ,e,e′是对极点,是基线和两个成像平面的交点,也就是两个相机在另一个成像平面的像点;ee是右边的相机中心C′C′在左边相机的像点,同样e′e′是左边相机中心CC在右边相机的像点。
对极平面 epipolar plane,任何过基线的平面都被才称为对极平面,两个相机的中心C和C′,三维点X,以及其在两个相机的像点x,x′,这5点必定在同一个对极平面上。当三维点X变化时,对极平面绕着基线旋转,形成对极平面束。
对极线 epipolar line ,对极平面和成像平面的交线,所有的对极线相交于极点。
从上面的几何元素可知,对极几何和相机的内参、外参没有关系,和场景的结构也没有关系,仅和场景的一对匹配的像点有关系。
2. 基础矩阵F
给定一对图像(同一场景不同视角得到的图像),从上面的图可知,对于第一幅图像上的任一像点x,在第二幅图像中都有一条与之对应的对极线l′,该对极线是像点x与过第一个相机中心C射线在第二幅图像上的投影,并且第二幅图像中与x相匹配的像点x′必定在该对极线上。因此,存在一个像点x到另一个图像上对极线l′l′的映射: x→l′
基础矩阵F表示的就是这种从点到直线的映射。
基础矩阵的几何推导
要将一幅图像上的像点xx映射到另一幅图像对应的对极线l′l′可以分为两步:第一步,将像点xx映射到另一幅图像上与之对应的对极线l′l′上的某点x′x′上,x′x′是xx的匹配点;第二步,连接对极点e′e′与点x′x′得到的直线就是对极线l′l′。
(1)点通过平面转移
如下图,平面ππ不通过两相机中心,过第一个相机的中心CC和像点xx的射线与ππ相交于点XX。该点XX再投影到第二幅图像上得到像点x′x′,这个过程称为点通过平面的转移。
点X位于像点xx和相机中心确定的射线上,其在另一幅图像上的像点x′必然位于该射线在另一幅图像的投影也就是对极线l′上。点xx和点x′都是三维点XX的像点,这样第一副图像上的像点集合xi和第二幅图像上的像点集合x′i是射影等价的,它们都射影等价于共面的三维点集合Xi。因此,存在一个2D单应Hπ,把每一个点xx映射到对应的点x′x′上。
(2) 构造对极线
给点点x′,通过x′和对极点e′的对极线l′l′可以表示为:
又由于x′=Hπx(Hπ是将xx变换为x′的单应),带入上式可得:
定义
这样就得到了从点x到对极线l′l的变换
以上就是基础矩阵F的推导过程。
3. 通过匹配点对估算基础矩阵(8点算法)
假设一对匹配的像点p1=[u1,v1,1]T,p2=[u2,v2,1]Tp1=[u1,v1,1]T,p2=[u2,v2,1]T,带入式子中,得到: