多视图几何总结——基础矩阵、本质矩阵和单应矩阵的自由度分析

  • 多视图几何总结——基础矩阵、本质矩阵和单应矩阵的自由度分析
    • 总结
    • 基础矩阵自由度
      • (1)几何推导
      • (2)代数推导
      • (3)直观理解
    • 本质矩阵自由度
    • 单应矩阵自由度

多视图几何总结——基础矩阵、本质矩阵和单应矩阵的自由度分析

总结

首先给出结论,矩阵的自由度反应了矩阵中每个元素的约束的状态,基础矩阵(Fundmental Matrix)具有7个自由度,本质矩阵(Essential Matrix)具有5个自由度,单应矩阵(Homography Matrix)具有8个自由度,通过对自由度的分析,可以进一步了解各个矩阵的性质,下面逐个对其自由度进行分析

基础矩阵自由度

基础矩阵的定义:在对极几何中存在一个从一幅图像上的点到另一幅图像与之对应的极线的映射,基础矩阵即表示该射影映射

(1)几何推导

基本矩阵(F矩阵)可以分解为两步,第一步是将xxx通过射影变换映射到x′x'x′;第二步是连接x′x'x′和极点e′e'e′即获得对极线l′l'l′。
第一步可以通过下图理解,XXX是空间中的点,而x,x′x,x'x,x′分别是它在两幅图像上的投影点,应为x,x′x,x'x,x′在同意平面上,因此存在一个射影变换HπH_\piHπ​。

下图是多视图几何第二章中解释射影变换的几个例子,对极几何就属于其中的第一种。

第二步可以理解为,过x′x'x′和极点e′e'e′的对极线可以记为l′=e′×x′=[e′]×x‘l' = e'×x'=[e']_×x‘l′=e′×x′=[e′]×​x‘ 。
综上两步有l’=[e′]×Hπx=Fxl’=[e']_×H_\pi x=Fxl’=[e′]×​Hπ​x=Fx由此可以过得F矩阵的几何定义形式,[e′]×[e']_×[e′]×​秩为2(反对称矩阵的秩为偶数,可以通过SVD分解证明),HπH_\piHπ​的秩为3,因此F矩阵的秩为2,因此F矩阵是不可逆矩阵。
下面来分析F矩阵的自由度,首先F矩阵是三阶的,最高自由度为9,然后其满足尺度等价性(因为图像坐标是通过齐次坐标表示,因此你矩阵同乘一个常数,最后求得的坐标其实是一致的,可以理解为H33H_{33}H33​衡等于1,或者满足一个约束等式),因此自由度减一,再其次其满足不可逆矩阵的性质,行列式为零的约束等式,因此自由度再减一,因此自由度为7

(2)代数推导

代数的推导可以参看这个知乎知乎回答本质矩阵和基础矩阵的区别是什么,我觉得已经回答得很好了,就不再复述了(主要是敲公式实在太慢),大致思想就是把一幅图像上的投影点通过反投影获得空间中的点,然后将这个空间点和这幅图像对应的相机中心(也是一个空间点)投影到另外一幅图像上去,作这两个点的叉乘就可以获得对极线,推得结果如下l′=[P′C]×P′P†x=[e′]×P′P†x=Fxl' = [P'C]_{\times} {P}'{P}^\dagger x = [{e}']_{\times} {P}'{P}^\dagger x = Fxl′=[P′C]×​P′P†x=[e′]×​P′P†x=Fx其中,CCC就是摄像机的中心,满足PC=0PC=0PC=0(其实C=(0,0,1)TC=(0,0,1)^TC=(0,0,1)T),上述结果和几何推导的结果是一致的,其自由度分析也同上。

(3)直观理解

假设l,l′l,l'l,l′是两幅图像的对极线,则lll上的所有点都可以映射到同一极线l′l'l′上,即这个点到线的映射是不存在逆映射的,因此FFF矩阵不是满秩的,自由度分析同上。

补充:在相机纯平移运动时,F矩阵自由度退化为2,在纯平面运动时,自由度退化为6。

本质矩阵自由度

本质矩阵是归一化坐标系下基础矩阵的特殊形式,通过上面的推到已经知道F矩阵满足:F=[e′]×P′P†=[P′C]×P′P†{F} = [{e}']_{\times} {P}'{P}^\dagger = [P'C]_{\times} {P}'{P}^\daggerF=[e′]×​P′P†=[P′C]×​P′P†假设FFF矩阵是两个个已标定的摄像机的变换矩阵且世界坐标系在第一个摄像机上:P=K[I∣0]P′=K′[R∣t]P = K[I|0]\space\space\space\space\space\space P'=K'[R|t]P=K[I∣0]      P′=K′[R∣t]EEE矩阵是归一化坐标系下的变换矩阵,因此KKK和K′K'K′可以视为单位矩阵,带入上式即可得E=[t]×RE=[t]_×RE=[t]×​R由此可得,本质矩阵(E矩阵)平移ttt的待自由度是3(xyz三个方向),旋转矩阵RRR的自由度是3(row,pitch,yaw三个方向),所以其自由度最高是6,同时EEE满足尺度等价性约束,所以EEE的自由度减一,其自由度为5。

单应矩阵自由度

单应矩阵所有的空间点都再同一个平面上,则两幅图像中的点都满足同一个射影变换,该射影变换即单应矩阵,射影变换的自由度为9,其同样具有尺度等价性(因为图像坐标是通过齐次坐标表示,因此你矩阵同乘一个常数,最后求得的坐标其实是一致的),因此自由度减一,其自由度为8。

上述自由度分析或者推导中如有问题,欢迎指正。

此外,对SLAM算法感兴趣的同学可以看考我的博客SLAM算法总结——经典SLAM算法框架总结

多视图几何总结——基础矩阵、本质矩阵和单应矩阵的自由度分析相关推荐

  1. 单应性矩阵和仿射变换_单应矩阵 基本矩阵 本质矩阵的区别与联系

    1. 叉乘 2. 双目系统 3. 对极几何 (Epipolar Geometry) 对极几何定义:是两个视图间的内部射影几何,它只与摄像机的内部参数和相对位姿有关,与场景结构无关. 基线(baseli ...

  2. 多视图几何总结——单应矩阵和基础矩阵的兼容关系

    多视图几何总结--单应矩阵和基础矩阵的兼容关系 多视图几何总结--单应矩阵和基础矩阵的兼容关系 (1)单应矩阵和基础矩阵的兼容性 (2)基础矩阵 -> 单应矩阵 (3)单应矩阵 -> 基础 ...

  3. H(单应矩阵homography),本质矩阵(Essential Matrix)和F(基础矩阵fundamental)

    文章目录 A x = 0 Ax=0 Ax=0 问题的求解 H(单应矩阵homography),本质矩阵(Essential Matrix)和F(基础矩阵fundamental) 单应矩阵 求解H步骤 ...

  4. 三维重建1-位姿追踪:单应矩阵、本质矩阵和基本矩阵

    从今天起,好好复习一下面试到的题目,把研究生时期学习的,工作时间忘记的东西再补回来. 本文所写与原文相距甚远,如有疑问,请拜访原文.未经允许大量盗图,如有不满,请联系删除. 更多的细节请参考多视几何一 ...

  5. linux vim编辑矩阵乘,LM算法计算单应矩阵

    LM算法计算单应矩阵 slam 单应矩阵 单应矩阵的定义 什么是单应矩阵呢?其实简单来说,就是两个图像之间的变换矩阵.什么意思呢,可以考虑这样一个情形: 你有一个相机,拍摄一个建筑物,首先在某一个视角 ...

  6. 单应矩阵(Homography)基本概念和代码测试

    简 介: 应用棋盘格图片或者相机图片中与标准棋盘格之间的单应矩阵.其中应用到opencv中的findChessboardCorners, findHomographys等函数. 这位利用单应矩阵进行下 ...

  7. 多视图几何总结——基础矩阵、本质矩阵和单应矩阵的求解过程

    多视图几何总结--基础矩阵.本质矩阵和单应矩阵的求解过程 多视图几何总结--基础矩阵.本质矩阵和单应矩阵的求解过程 1. 说明--其实求解过程大同小异 2. 单应矩阵求解过程 2.1 基于代数误差的线 ...

  8. 极几何,本质矩阵,基础矩阵,单应矩阵,相机投影矩阵

    什么是三角化? 三角化就是下图的红字部分:K和K'分别为两个相机的内参矩阵 什么是极几何? 极几何描述了同一场景或者物体在两个视点图像间的对应关系. 下图中的O1和O2分别是两个相机的光心,即摄像机坐 ...

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

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

最新文章

  1. linux压缩和打包的区别,Linux中的压缩和打包
  2. 网络爬虫--10.使用正则表达式的爬虫
  3. 技术动态 | 大规模中文概念图谱CN-Probase正式发布
  4. 为什么需要动态内存分配?
  5. mysql 126_MySQL教程126-MySQL事务隔离级别
  6. Install Oracle on RHEL5 - step by step
  7. L1-001 Hello World (5 分)—团体程序设计天梯赛
  8. js基础-10-url,src,href的理解
  9. python tkinter窗口组件Canva
  10. 微信 html avi视频无法播放,怎么把qlv格式转成mp4?腾讯视频qlv格式转换mp4方法
  11. IDEA maven项目使用Junit报错 java: 程序包org.junit不存在
  12. XSS修炼之独孤九剑——笔记
  13. LeetCode初级算法之数组:有效数独
  14. 【2021.08】python会员数据化运营task01
  15. 【java获取日期的年月日】
  16. 1675. Minimize Deviation in Array
  17. 【CVPR2020】Detection in Crowded Scenes One Proposal Multiple Predictions 翻译
  18. I题 hdu 1234 开门人和关门人
  19. Cisco Firepower 9300 Series FTD Software 7.2.0 ASA Software 9.18.1
  20. Java计算机毕业设计电影网站系统设计源码+系统+数据库+lw文档

热门文章

  1. axure7.0元件库 安卓_AxureRP 7.0 元件库下载
  2. JVM 面试题 87 题详解
  3. 聊一聊 Redis 数据内部存储使用到的数据结构
  4. 回溯算法的题目,这样做,秒杀!!
  5. 细思极恐,你真的会写 Java 吗
  6. 一文教你 Dubbo 服务性能压测(with JMeter)
  7. struts.xml配置文件(一)
  8. struts2中一个表单中提交多个请求(动态调用方法)
  9. java责任链模式做优惠_Java设计模式菜鸟系列(十八)责任链模式建模与实现
  10. (网络编程)UDP实现聊天