这篇文章主要介绍一些关于极几何的概念和理解,主要分为了极几何,本质矩阵,基础矩阵三部分。
一.极几何
先来看一下什么是极几何:极几何主要描述了同一场景或物体的两个视点图像之间的几何关系。 通俗的来说,极几何就是指物体空间点在两个成像平面上所投影的点之间的对应关系。
上图中P表示物体空间点,p与p’分别表示物体空间点在成像平面上所投影的点,O1,O2分别指摄像机的光心。
具体介绍极几何之前,还需要介绍几个极几何的概念与性质。
概念:
极平面:过点P,𝑂1与𝑂2的平面即上图中的灰色平面
基线:𝑂1与𝑂2的连线即上图中橙色线段
极线:极平面与成像平面的交线即上图中蓝色线段
极点:基线与成像平面的交点即上图中e与e’
性质:
极平面相交于基线: 随着三维场景点P的移动,极平面将围绕基线转动,所以任何极平面都必定相交于基线。
极线相交于极点: 同上一性质一样随着三维重建点的变换,极线也将围绕极点转动,所以极线必定相交于极点。
在说最后一条性质之前,我们由上面几条概念与性质我们就可以对p的对应点做出第一次约束,即将其范围约束到了一个面上。由于图中可以看出成像点p,p’与摄像机光心O1,O2是共面的,并且与空间点P也是共面的,这五个点共面与极平面,这是一个最本质的约束,即五个点确定了一个平面,由此可得出一个重要性质,由成像点p和p’反投影的射线共面,并且在同一个平面上。
性质:
p的对应点在极线l’上,p’的对应点在极线l上: 根据前面提到的成像点p与p’一定位于极平面上,而点p’又位于右侧成像平面上,而极平面与右侧成像平面的唯一交线为l’,所以我们得到点p的对应点一定位于极线l’上,相对应的,p’点一定位于左侧极线l上。
从上图可以看出,不管空间点位于Pp线上的任何一点,它都必然投影在它的对应右侧极线上。
到这里就介绍完了所有极几何的概念与性质,要注意的是我们当前的极线约束是一种点对直线的约束,而不是点对点的约束,它将p的对应点从整幅图像上约束到了一条直线上。
了解了如何将对应点的寻找范围压缩到一条直线上后,我们就该进一步探究如何将它继续约束到一个点上,但在这之前,先介绍两个关于双目视觉极几何的特例:
平行视图
该特例指的是两个摄像机平行摆放,此时两个成像平面平行,由图中可以看出,基线与两个成像平面平行。也就意味着找不到基线与成像平面相交的点。那极点是不是就不存在了?并不是,在这种情况下我们就将极点定义为过成像点p,p’的线段两边的无穷远处的点称为极点,它的极线平行于图中的u轴,该特例主要用于双目视觉立体重构系统中。
前向平移
该特例指两个摄像机前后摆放,极点在两个成像平面上的位置相同。由右图可以看出,其极线呈扩散型,所以在这种情况下极点又称做展开焦点。这种特例可以用来推导场景三维深度。
但其实现在主流的双目立体视觉重构系统对于摄像机的摆放位置要求不大,仅仅重构精度会有微小的差异。现在市面上最常见的双目视觉多数使用平行视图。比如微软作为Xbox体感周边发行的kinect。Kinect v2提供了非常多的SDK,比如最多6人的骨架追踪,基本手势操作和脸部跟踪。而且它最大的优势是便宜!
回到我们的主要问题上来,在前面的介绍中已经将对应点的寻找范围约束到了一条直线上,接下来要做的就是如何将它进一步约束到一个点上。
要做到这一点,我们就需要引入本质矩阵的概念。
二.本质矩阵
本质矩阵是指对规范化摄像机拍摄的两个视点图像间的极几何关系进行代数描述。
在上面的概念中提到的规范化摄像机指的是摄像机内参数矩阵为(3×3)的单位矩阵时的摄像机称为规范化摄像机。
在上图中,我们将物体空间点标为P,p与p’分别为物体空间点P在两个成像平面I,I’上的成像点,L与L’分别为物体空间点与摄像机光心O1,O2的连线,在之后的介绍中,我们将以O1点为原点的坐标系称为世界坐标系。最后这里的R,T分别指O1坐标系到O2坐标系的旋转矩阵和平移向量。其中R通常为(3×3)的矩阵。而T通常为(3×1)的向量。
现在就该正式介绍如何得到本质矩阵了,先来确定一下我们的已知量:
图像I,I’上p和p’的像素坐标分别为(U,V)和(U’,V’)。
两个摄像机K,K’的参数矩阵均为(3×3)的单位矩阵。
由规范化投影变换可以得到p,p’在其各自摄像机坐标系下的三维点的欧式(非齐次)坐标分别为(U,V,1)及(U’,V’,1)。
此时我们需要解决两个物体:
p’在O1坐标系下的坐标;
O2在O1坐标系下的坐标;
由上面的公式:摄像机坐标系下p点的坐标等于世界坐标系下p点的坐标乘旋转矩阵再加平移向量。刚才已经说过O1坐标系为世界坐标系。此时我们就可以解决上述的两个问题了。
由刚才的公式,我们有p’点在O2坐标系下的坐标等于p’点在O1坐标系下的坐标乘旋转矩阵在加平移向量。如上图,变换后很容易得出p’,O2在O1坐标系下的坐标如下图(O2点在O2坐标系下相当于在O2坐标系下的原点)。
现在我们就可以构建两个向量O1p’和O1O2。两向量叉乘可以得到一条垂直于平面O1P’O2平面的向量,该向量垂直于平面O1p’O2的任一向量。也就是该平面上任一向量乘该向量均为0。所以我们用该向量乘O1p向量就得到了我们的对应点公式如图。
其中[T×R]就是我们的本质矩阵E。
三.基础矩阵
基础矩阵于本质矩阵的不同点就在于基础矩阵是相对于我们真实的摄像机内参数矩阵来说的,而不是规范化摄像机。在实际研究中使用的是基础矩阵,本质矩阵是为了便于理解与学习的,现实中并不存在规范化摄像机。
本文参考于北京邮电大学鲁鹏教授的极几何相关课程!