自学内容网 自学内容网

三维测量与建模笔记 - 5.1 对极几何-基础矩阵-本质矩阵

叉积,点积回顾 

         两个向量的叉积运算会得到一个垂直于这两个向量的向量。如果两个向量点乘为0,则两个向量垂直。

对极几何理论知识 

        

        如上图,有左右两个成像平面,其光心分别为O何O',在三维世界空间中的一点P。将这三个点两两相连,形成一个平面POO',这个平面叫做极平面。直线OO'叫做基线。直线OO'和两个平面相交于e和e'两点,这两个点叫做极点。极点和成像点相连的直线l和l`称为极线。从上述关系可以看出,P点在左平面上投影到了p点,它处于极线l上,在右平面上的投影点p'一定处于极线l'上。

        如上图,对于给定的左右成像平面,基线和极点是不变的,世界空间中不同的点对应着不同极平面,和两个成像平面相交出不同的极线。

        上图展示了一个极点超出了可视的画幅范围,但仍然在成像平面(无限延展)上的例子。这个例子中,左右两个成像平面存在一定夹角。两条不同的极线必定相交于极点,如果能在图像中提取到极线,则能找到极点。

        如果两个摄像头是平行的,左右两个成像平面如果处于同一水平面,则极点处于无穷远处。 

        现在假设我们需要对左右两幅图中的点进行匹配,该如何做呢?

        由之前的描述可以看出,根据极线约束,如果我们找到了极平面和成像平面相交的极线,那么在空间中的一点M,在左成像平面中的点是m,则在右成像平面中搜索时,只需要在右成像平面中的极线上进行搜索即可。 

        那么如何找到极线呢?这里就引入了基础矩阵的概念。

        回顾射影几何知识 

        H矩阵是一个单应矩阵,通过它可以找到m点在右平面的m'点。由于m'点在极线l'上,因此{l}'{m}' = 0可以推到出l`的方程。 l^Tm = {l}'^T{m}' => l^Tm = {l}'^THm => l^T = {l}'^TH => l^TH^{-1} = {l}'^T => {l}' = H^{-T}l = H^{-T}[e]\times m

        上面说的归一化的影像空间平面就是z为1的成像平面。下面我们来看E是如何推导的。

        这个关系的意思也很简单,两个向量方向一样,大小不同。

        左右两个相平面可以通过[R|t]矩阵联系起来,因此有:

      上式左侧为0,是因为t\times M^1这两个向量做叉积,得到的是垂直于t和M^1这两个向量的新向量。M^1点乘一个和它垂直的向量,结果为0。

       上式右侧,可以通过叉积运算法则得到M^1(t \times RM^0 + t \times t),其中t叉乘t为0。

        叉积的运算法则,可以参考以下链接:

叉积(向量积、外积)的运算法则及其与点积(数量积、内积)的混合运算-CSDN博客文章浏览阅读5.3w次,点赞37次,收藏110次。  设a, b, c为R3上的三个向量,λ, μ为两个标量,×表示两向量之间的向量积,·表示两向量之间的数量积。则:  1. 向量积的定义  a与b的向量积为一向量,记为a×b。记a与b之间的夹角为θ,则它的模与方向分别为:模:|a×b| = |a||b|sinθ方向:垂直于a与b所构成的平面,且满足右手法则2. 向量积的代数规则反交换律:a×b = -b×a。分配律:a×(b+c) = a×b+a×c。与标量乘法兼容:(λa)×b = a×(λb) = λ(a×b)。数乘结合律:_叉积https://blog.csdn.net/weixin_44120025/article/details/120399358        上式改写成叉积的反对称矩阵形式,有:

        将中间的t,R运算结果用E表示,E就是本质矩阵。

        从式子(M^1)^TEM^0 = 0可以看出,本质矩阵将空间中的某个点M在左右两个归一化平面上的两个点联系起来了,E包含了两个平面的旋转和平移信息。回忆一下基础矩阵F的式子m'Fm = 0,基础矩阵将空间中的某个点M在左右两个实际成像平面上的两个点联系起来了。

        本质矩阵的性质有:

        F矩阵和E矩阵的对比和联系如下: 

        对于K1参数,也有m_1 = K_1M^1

        那么,如何求解出基础矩阵呢?

        

            从上面的等式可以看出,和标定类似,只要能拿到左右成像平面中的同名点的坐标,就能得到基础矩阵。如果拿到多个同名点对儿,则我们就能建立足够多的方程,解出F矩阵参数。

实际中应用的案例

         在实际应用中,假设我们要找到左图中绿色的点在右图的同名点,由于参数计算过程和实际噪声影响会引入误差,不能简单地就选取右侧图像中计算出的极线来做,要对极线上下一定范围内的区域内进行搜索。


原文地址:https://blog.csdn.net/vivo01/article/details/144067479

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!