由双目立体视觉系统获得的来自同一场景的两幅图像之间存在着一定的约束关系,也就是说,当我们用两个相机在不同的位置拍摄同一个场景或者物体时,如果两张照片中的景物有重叠的部分,那么这两张照片之间就存在一定的对应关系,用来描述这种关系的就是对极几何(epipolar geometry)

首先,我们结合图1明确一下之后提到的各种概念所指的对象:

  • 匹配点(matching points):由同一物点在左右摄像机中所成的像点称为一对匹配点,如
  • 基线(baseline):连接两个摄像机光心的直线,即直线 
  • 对极点(epipolar):基线与像平面的交点,即点  与点 
  • 对极平面(epipolar plane):任何包含基线的平面,如平面
  • 对极线(epipolar line):对极平面与图像平面的交线,如直线  与直线 

图1

根据两个相机光轴是否平行,双目立体视觉系统可以分为平行与非平行双目视觉系统两类。从理论上来讲,两条极线应该共线,但是由于相机实际摆放不准确或镜头畸变等原因,使得两者只是接近共线。

在建立成像模型之前,我们再详细说一下极线(epipolar line)极点(epipoles),好多教程都对这块内容一笔带过,所以让人看得时候很费劲。

如图2所示,根据相机的成像原理,对于一张照片里的一个点 ,它在三维世界里所对应的物体 必定位于一条穿过相机的光心和成像平面中的像点  的直线,即 上。因此我们不能从这单独的一张图像中获得w点具体的位置信息。如果我们引入另一个相机拍摄w,那么,第二幅图像中w点的投影位置  必定位于光线 在投影平面2中的某个位置上。极线其实也可以理解为三维空间中的光线在二维空间中的投影。对于第一幅图像中的任意点,其在第二幅图像中的对应点被限制在一条线上,这就是所谓的极线约束。三维空间中的光线在二维空间中的投影就是极线。对于第一幅图像中的任意点,其在第二幅图像中的对应点被限制在一条线上。这就是所谓的极线约束。同样的,两个相机拍摄的两幅图中的两个相匹配的w的像点与相机光心构成的两条射线必定相交于空间中的一点,即w点处,那这种一堆匹配像点之间存在的约束关系,被称为对极约束

图2

我们再来看图3,我们知道,投影平面中的每一个点都与三维空间中的一条光线相关联,每一条光线都在第二幅图像中投影而形成极线。由于所有的光线都汇聚于第一个摄像机的光心,所以极线必须汇聚于第二幅图像平面上的一个点。这是第一个摄像机的光心在第二个摄像机中的图像,称为极点

图3

需要注意的是,极点并不一定位于观测图像内。当两个摄像机都位于同一方向(即没有相对旋转)且垂直于光轴时,极线是相互平行的,因此由极线汇聚的极点就位于无穷远处(如图4-a)所示)。当两个摄像机位于同一方向且平行于光轴时,极点就位于图像的中心且极线呈放射状(如图4-b)所示),结合图4的例子,说明极线的模式能够提供摄像机间的相对位置和方向等信息

图4

我们再用一个实例来描述一下左右图像中极线的情况,如图5所示。可以看到现实中的目标在两幅图片上有不同的对应点,相机图像上所有对极线都会交于对极点,这个对极点就是另一个相机中心在其图像上的像。

图5

下面就进入激动人心的推导环节。

从上文的分析中我们知道,对于第一幅图像上的任意像点,在第二幅图像中都有一条与之对应的对极线  。该对极线是像点  与过相机光心的射线在第二幅图像上的投影,并且,第二幅图像中与像点  对应的像点  必定在该对极线上。因此,肯定存在一个像点与对极线  的映射关系:基础矩阵 (fundamental matrix)就表示了这种映射关系。

下面从几何的角度讨论一下

图5

如图5所示,对于这两个相机对应的两个投影平面,存在一个二维的单应矩阵,把左像中的每一个点映射到右像中对应的点上,即

对于一个点,通过与该平面上的极点的极线  可以表示为:

此处需要一点扩展知识:

把  带入  中,可以得到:

令 ,则有。这就是 的推导过程

在这里,让我们回想一下之前说到的对极约束的概念。我们知道了,而肯定位于上,因此有:

所以,通过已知的两个投影平面上的匹配点就可以求出基础矩阵


下面我们试着从代数的角度考虑这个问题,我们以左侧相机的光心为原点建立世界坐标系,选定空间内一点X 在左右两个相机投影平面内的像点分别为

对于,根据小孔成像模型可知,。其中,K为相机的内参。

因为分别以两个相机光心为原点的相机坐标系可以通过旋转和平移转换,所以对应的,对于,也就是:

经过一系列变化关系(参考这里and这里),最终我们可以得到:

因为上面我们已经知道,,所以有:,也就是说, 是由两个相机各自的内参和两个相机之间的平移与旋转关系决定的。

如果我们知道了相机的内参,那么我们把中间的矩阵提取出来,令  被称为本质矩阵(Essential matrix),主要反映的是两个相机间的位置关系。

总结一下:

基础矩阵是一个秩为2、自由度为7的3×3的齐次矩阵,它表达的是之间的对应关系。

本质矩阵是一个特殊的基础矩阵,它也是一个3×3的齐次矩阵,自由度为5,包含平移的3个自由度与旋转的3个自由度(还有齐次的约束)。本质矩阵表示了两个相机之间的位置关系。


基础矩阵的求解方法下:


 参考

  • https://www.cnblogs.com/majiale/p/9306039.html 对极几何
  • https://www.cnblogs.com/wangguchangqing/p/8151128.html SLAM入门之视觉里程计(3):两视图对极约束 基础矩阵
  • https://blog.csdn.net/qq_22424571/article/details/82669525 本质矩阵
  • https://blog.csdn.net/kokerf/article/details/72191054 基本矩阵、本质矩阵和单应矩阵
  • https://zhuanlan.zhihu.com/p/33458436 对极几何与基本矩阵
  • 《计算机双目立体视觉》 高宏伟 著

《计算机双目立体视觉》学习笔记:对极几何相关推荐

  1. 双目立体视觉学习笔记(一)

    双目立体视觉 立体视觉(Stereo Vision)又称为三维视觉,它通过两个或多个相机采集被测目标的图像,并将这些图像调整至同一平面,然后基于其中同一被测特征点所对应像素间的差异来重建三维信息或实现 ...

  2. 立体视觉中的对极几何——如何更好更快地寻找对应点

    立体视觉中的对极几何--如何更好更快地寻找对应点 2019.10.21 FesianXu 文章目录 @[toc] 前言 什么是立体视觉 对极几何 对极约束 本征矩阵 去掉归一化坐标系的限制,引入基础矩 ...

  3. 计算机图形学基础学习笔记-其一:向量与线性代数

    计算机图形学基础学习笔记-其一:向量与线性代数 前言 计算机图形学概述 向量(矢量) 点乘 叉乘 点乘,叉乘与直角坐标系 矩阵 前言 GAMES101现代计算机图形学入门的学习笔记 正在为TA实习攒作 ...

  4. 《王道计算机组成原理》学习笔记和总目录导航

    <王道计算机组成原理>学习笔记和总目录导读 本篇文章是阅读和学习<王道计算机组成原理>后总结的理论知识笔记导航,专门用于遗忘后复习 下面的文章是我在学习了<王道计算机组成 ...

  5. 计算机二级Python学习笔记(七)

    上一篇:计算机二级Python学习笔记(六) 第7章 文件和数据格式化 7.1 文件的使用 文件:数据的集合和抽象,存储在辅助存储器上的一组数据序列,可以包含任何数据内容. 文件类型:文本文件(由单一 ...

  6. Halcon 学习笔记五:几何定位+仿射变换+测量

    Halcon 学习笔记五:几何定位+仿射变换+测量 定位流程 例子一 例子二(药片的定位) 例子三(充电宝定位) 例子四(车牌定位) 其他 定位流程 blob分析 模板匹配 (仿射变换成标准的形状) ...

  7. MVG(second)学习笔记- 对极几何和基础矩阵F,本质矩阵E

    本部分总结一下对极几何,对极几何是两幅视图之间的内在的射影几何,它独立于场景结构,只依赖于摄像机的内参和相对姿态. 下图简单画出示意图. 1.图中基本术语: X-X'为一对匹配点,对应空间点P CC' ...

  8. 图形学基础 | 计算机图形学MOOC学习笔记

    计算机图形学 学习笔记 视频链接 http://www.icourse163.org/learn/CAU-45006?tid=1001746004#/learn/announce 补充一下一些图形学基 ...

  9. 《计算机组成原理》学习笔记

    目录 第一章 计算机系统概论 1.计算机的软硬件概念及系统的层次结构 2.计算机的基本组成 3.计算机体系结构与组成 4.冯·诺伊曼机基本组成.特点 5.计算机基本概念:CPU(由哪几部分构成)机器字 ...

最新文章

  1. 牛客网——今年的第几天
  2. ​设计模式之装饰模式
  3. lambda 对象去重_采用java8 lambda表达式 实现 java list 交集 并集 差集 去重复并集...
  4. linux很多python进程,Python多进程编程详解
  5. Struts2执行流程
  6. C++ Segmentation fault 一般原因
  7. excel VBA编程入门,自定义excel数据库模板生成sql语句
  8. SCUT J.O: 百步梯
  9. 周杰伦专辑《最伟大的作品》在哪看?当贝盒子畅享周董最新MV
  10. 计算机管理员和用户名区别,Administrator记不住?教你自定义管理员账户名称
  11. 【物联网】22.物联网开发之先进传感 - 立体相机
  12. 调教ChatGpt看这一篇文章就够了
  13. excel中用正则匹配_Excel利用正则表达式匹配和替换内容
  14. 罗永浩回应被叫行业冥灯:完全不能同意;联想一员工侵占公司工时费近1000万;爱彼迎CEO:办公室时代已过去 | EA周报...
  15. abovedisplayskip无效_latex中页面距离的设置
  16. 手机上如何远程控制Linux服务器?
  17. hive可视化图形页面(hwi)
  18. 学历和能力对程序员那个更重要
  19. 因路径乱码使InstallShield Wizard安装包打开“出现1155错误,文件xxx.msi未找到“的解决方式
  20. 如何使用WinHex恢复数据(小宇特详解)

热门文章

  1. 演出购票高保真移动端Axure原型模板
  2. 360随身wifi2.0小度wifi猎豹wifi校园网的表现
  3. 关于1588 PTP的IGB网卡驱动代码分析
  4. 统计物理双原子分子定容热容图像(平动热容、转动热容、振动热容)
  5. 15.(cesium篇)cesium暗色系地图样式地图(滤镜实现,反色滤镜)
  6. zynq操作系统:Linux打实时补丁preempt_rt
  7. 监考系统监视范围_医用内窥镜摄像系统解决方案
  8. JSPatch Convertor 实现原理详解 1
  9. 手机麦克风结构原理图_详解麦克风阵列的基本原理、结构组成及声学效果
  10. SOLIDWORKS Simulation中使用连接器简化设计分析中的问题