什么是三角化?

三角化就是下图的红字部分:K和K’分别为两个相机的内参矩阵

什么是极几何?

极几何描述了同一场景或者物体在两个视点图像间的对应关系。
下图中的O1和O2分别是两个相机的光心,即摄像机坐标系的原点。由下图可知给定了一个三维空间下的P点,虽然不知道对应的成像平面上像素点p和p’在哪个位置,但是我知道它一定在l和l’这两条极线上。这样就不会全图去找了,只用在极线上去搜索了。再比如给定一个图像上的p点,找另一个图像上对应的p’点就可以通过极几何约束,将搜索范围缩小到对应的极线上

什么是本质矩阵

本质矩阵是表示对规范化摄像机拍摄的两个视点图像间的极几何关系进行代数描述。用规范化相机就可以用这条规律:图像点的齐次坐标等于相机坐标系下对应三维点的欧式坐标,这样的话就方便求解了
如下图所示图像I上的点p像素坐标是(u,v),那么p的齐次坐标就是(u,v,1),因为齐次坐标和像素坐标的转换关系就是齐次坐标系的第一维除以第三维得到像素坐标系的x坐标,用第二维除以第三维就得到像素坐标系的y坐标,用公式表示就是(u/1,v/1)。图中K为相机内参矩阵,R和T为相机O1坐标系到相机O2坐标系的变换。

下图左边红字的推导中Tx转置=-Tx,等式等于0,0这是一个数字,所以转置没有写。推导最后就是为了得到了下图红框中的表达式,下图红框中的E=[T×R]就是本质矩阵,描述了规范化摄像机坐标系下,两张图上对应的两个像素坐标之间的关系。

什么是规范化摄像机:如下图所示,就是相机内参矩阵M长下图这个样子的就叫规范化相机

利用下图红框中的等式可以得到以下推论(E是本质矩阵等于[T×R],p和p’是图像上的齐次坐标即3乘1的矩阵,E是3乘3的矩阵,l和l’都是指像素坐标下的,0是代表一个数而不是矩阵。
奇异是指不是满秩,秩为2的矩阵乘以可逆矩阵秩不改变,所以本质矩阵的秩为2。K是内参矩阵是3乘3的):

什么是基础矩阵

基础矩阵描述的是一般的透视摄像机拍摄的两个视点的图像间的极几何关系
求解一般的透视摄像机拍摄的两个视点的图像间的极几何关系的思路是把一般的透视相机先变换到规范化相机,然后再利用上述规范化相机的求解方法求解。如下图红框所示,F就是基础矩阵,F刻画了两幅图像的极几何关系,即相同场景在不同视图中的对应关系。基础矩阵F建立点和极线的对应关系,F矩阵包含了相机内参数信息和两个相机间的旋转平移信息。,K为两个相机的内参数矩阵。:

利用下图红框中的等式可以得到以下推论(p和p’是图像上的齐次坐标即3乘1的矩阵,F是3乘3的矩阵,l和l’都是指像素坐标下的,0是代表一个数而不是矩阵,奇异是指不是满秩,K是内参矩阵是3乘3的,T×的意思见上面叉乘的矩阵表示形式,[Tx]R就是本质矩阵。了解有几个自由度其实就是为了知道求解需要几个方程。):
至于为什么基础矩阵的自由度为7可以参照以下这个链接:
https://blog.csdn.net/CSSDCC/article/details/122131478?ops_request_misc=&request_id=&biz_id=102&utm_term=%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9F%BA%E7%A1%80%E7%9F%A9%E9%98%B5%E6%98%AF7%E4%B8%AA%E8%87%AA%E7%94%B1%E5%BA%A6&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-122131478.142v44pc_rank_34_default_3&spm=1018.2226.3001.4187

基础矩阵F怎么来?

因为基础矩阵F刻画了两幅图像的极几何关系,即相同场景在不同视图中的对应关系。F矩阵包含了相机内参数信息和两个相机间的旋转平移信息。所以我们更多时候是利用对应关系去估计出F矩阵,然后从F矩阵中想办法弄出我们想要的内参数和相机之间的旋转平移,去做三角化三维重建。

八点算法:

构建W矩阵和对W矩阵进行奇异值分解得到f,然后f可以按照上图写回成F尖矩阵:

八点算法步骤:

u和v作为图像的像素坐标,数值变化范围太大,会造成以下的问题:

所以我们采用归一化八点法,让两张图单独处理,两张图上的所有点坐标的均值在(0,0)中心点,然后让所有像素点到中心的距离的平方全部累加起来除以点的个数等于2。

T和T’矩阵就是指上图的归一化:

单应矩阵

因为基础矩阵刻画了两幅图像的极几何关系,即相同场景在不同视图中的对应关系。如果在此基础上增加一个假设:即对应的三维空间点都来自同一个平面,这样的话,一般的透视摄像机拍摄的两个视点的图像间的极几何关系就用单应矩阵H来描述。 单应矩阵建立点和点的对应关系,而基础矩阵建立点和极线的对应关系

单应矩阵H下的像素点p和p’具有一一对应关系(下图的平面方程是指Ax+By+Cz+d=0):

如果我们拿到的8对像素点在三维空间正好位于一个平面上时或者两个相机之间只有旋转而无平移,我们只能用单应矩阵去估计,来恢复出摄像机的外参数(指两个相机之间的旋转平移关系)和内参数。基础矩阵对于同一个平面的点是干不动的

相机投影矩阵

摄像机位姿就是摄像机在世界坐标系的位置和朝向即相对于世界坐标系的R和T,在多相机的情况下,我们可以把某一个相机坐标系当成世界坐标系,但不一定都这样做,取决于具体情况

极几何,本质矩阵,基础矩阵,单应矩阵,相机投影矩阵相关推荐

  1. Colmap学习三:后端Initialization部分(基础矩阵F、本质矩阵E和单应矩阵H)

    算矩阵的基础知识 解析本质.基础.单应矩阵的自由度 1 寻找初始像对 1.1手动选择ID 1.2自动筛选 ①prior focal length存在情况下,开始筛选 匹配点数由小到大排序 第二张候选影 ...

  2. SLAM基础- 题目:基础矩阵F、本质矩阵E和单应矩阵H的自由度和秩

    主要分析:基础矩阵F.本质矩阵E和单应矩阵H的自由度和秩,首先两个问题,尺度归一化和秩 尺度归一化: 以本质矩阵为例,表达两帧的相机归一化坐标之间的对应关系 将矩阵写成向量,转化为下式: 由于等式右侧 ...

  3. 矩阵论习题:设A,B为投影矩阵,证明A+B仍为投影矩阵当且仅当AB=BA=0。

    题目: 设A,B为投影矩阵,证明A+B仍为投影矩阵当且仅当AB=BA=0. 证明: 因为:A,B为投影矩阵 则:A²=A,B²=B.(A+B)²=A²+B²+AB+BA=A+B+AB+BA 若:AB= ...

  4. 3D中的相机 - 投影矩阵和视图矩阵

    3D中的相机 - 投影矩阵和视图矩阵 3d游戏中,一般通过相机的设置来计算投影矩阵和视图矩阵,比如untiy和cocos,一般情况下我们不用关注如何计算, 可以直接在可视化的编辑器中调整参数就可以了, ...

  5. 计算相机投影矩阵(含代码)(Python)

    计算相机投影矩阵(含代码)(Python) 前几天处理点云时,需要使用到像片与3D点云的对应关系.在这边找了一圈没有发现直接可用的代码,于是去GitHub试了一下,以下是一个提炼后的矩阵计算代码. 下 ...

  6. Opencv学习(3)——基础矩阵F、本质矩阵E、单应矩阵H 函数解析

    官网:https://docs.opencv.org/3.4.0/d9/d0c/group__calib3d.html#ga4abc2ece9fab9398f2e560d53c8c9780 基础矩阵F ...

  7. 基础矩阵,本质矩阵,单应性矩阵讲解

    ORB-SLAM点云地图中相机的位姿初始化,无论算法工作在平面场景,还是非平面场景下,都能够完成初始化的工作.其中主要是使用了适用于平面场景的单应性矩阵H和适用于非平面场景的基础矩阵F,程序中通过一个 ...

  8. 《增强现实:原理、算法与应用》读书笔记(1)基础矩阵、本质矩阵与单应性矩阵

    <增强现实:原理.算法与应用>读书笔记(1) 入坑增强现实,学长让我先把这本书看懂,看了一小半,确实有很多对数学要求挺高的地方,所以打算写个读书笔记,分享一些体会. 第三章:实景的三维结构 ...

  9. 计算机视觉三维重建的几何基础:坐标系与关键矩阵(基础矩阵、本质矩阵、单应矩阵)...

    作者丨李迎松@知乎 来源丨https://zhuanlan.zhihu.com/p/159194599 编辑丨3D视觉工坊 你站在桥上看风景, 看风景人在楼上看你. 明月装饰了你的窗子, 你装饰了别人 ...

最新文章

  1. Shell特殊变量含义
  2. 屏幕适配方式都有哪些
  3. linux压缩与解压缩命令
  4. matlab 水平投影,科学网—Matlab中如何将投影信息写入到shape文件中 - 朱永超的博文...
  5. 存储过程与触发器的应用
  6. 前端工程化/构建自动化
  7. Home_W的位运算(位运算+预处理)
  8. [leetcode] 406. Queue Reconstruction by Height (medium)
  9. 服务器主板电池的电压不稳定怎么办,轻松解决CMOS掉电烦恼这绝招
  10. 论文阅读笔记(16):Doubly Stochastic Subspace Clustering,双重随机子空间聚类
  11. win7 手把手教你将win7背景色修改为浅绿保护色【包括资源管理器的背景】
  12. 走近棒球运动·亚特兰大勇士队·MLB棒球创造营
  13. 主从模式的数据库搭建(主从复制)
  14. Python输出菱形图案
  15. 梦幻西游藏宝阁不显示服务器,玩转梦幻西游藏宝阁全服搜索功能体验
  16. 记录一下 Java 代码实现文件夹、文件的对比,主要包含 word、pdf、文本、图片等相关文件的对比计算,以及计算文本的相似率(重复率)、筛选出差异的文件、方便文件和文档的去重,并封装为jar包
  17. WPARAM 与 LPARAM 参数的解析 [C#、WinAPI]
  18. Map中可以作为Key的类型
  19. 2022年科协第二次硬件培训总结
  20. 软件工程师安德烈·梅萨加冕世界小姐

热门文章

  1. Linux 中实时查看日志的3种方法
  2. JAVA文件和安全性
  3. CentOS 6.X无法读取NTFS分区的移动硬盘
  4. 幻灯片(基于CSS3动画animation)
  5. 命令行模拟post请求
  6. C语言 干支纪年查询(已验证1900-2100)
  7. win7 远程桌面操作步骤
  8. 大厂面经:网易美团头条百度+Java学习路线
  9. sp公司新人培训经典教案
  10. 《用AJAX实现图书记录的添加》