多视图几何总结——等距变换、相似变换、仿射变换和射影变换

  • 多视图几何总结——从本质矩阵恢复摄像机矩阵
    • (1)本质矩阵性质
    • (2)从本质矩阵恢复摄像机矩阵

多视图几何总结——从本质矩阵恢复摄像机矩阵

本质矩阵是归一化坐标下基本矩阵的特殊形式,具有五个自由度,我们通过八点法或者五点法可以求出本质矩阵,那么我们如何从中恢复出我们实际想要的RRR和ttt呢?我们得从性质入手。

(1)本质矩阵性质

多视图几何上定义:一个3×3的矩阵是本质矩阵的充要条件是它的奇异值中有两个相等而第三个是0,为什么呢?
首先我们知道E=[t]×R=SRE=[t]_{ \times} R=S RE=[t]×​R=SR其中S为反对称矩阵,反对称矩阵有什么性质呢?

结论1:如果SSS是实的反对称矩阵,那么S=UBUTS=UBU^TS=UBUT,其中BBB为形如diag(a1Z,a2Z...amZ,0,0...0)diag(a_1Z,a_2Z...a_mZ,0,0...0)diag(a1​Z,a2​Z...am​Z,0,0...0)的分块对角阵,其中Z=[01−10]Z=\begin{bmatrix}0 & 1 \\ -1 & 0\end{bmatrix}Z=[0−1​10​],反对称矩阵的特征矢量都是纯虚数并且奇数阶的反对称矩阵必是奇异的

那么根据这个结论我们可以将SSS矩阵写成S=kUZU⊤\mathrm{S}=k \mathrm{UZU}^{\top}S=kUZU⊤,而Z\mathrm{Z}Z为Z=[010−100000]\mathrm{Z}=\left[ \begin{array}{ccc}{0} & {1} & {0} \\ {-1} & {0} & {0} \\ {0} & {0} & {0}\end{array}\right] Z=⎣⎡​0−10​100​000​⎦⎤​而ZZZ由可以写成Z=diag⁡(1,1,0)W\mathrm{Z}=\operatorname{diag}(1,1,0) \mathrm{W}Z=diag(1,1,0)W,其中W\mathrm{W}W为W=[0−10100001]\mathrm{W}=\left[ \begin{array}{ccc}{0} & {-1} & {0} \\ {1} & {0} & {0} \\ {0} & {0} & {1}\end{array}\right] W=⎣⎡​010​−100​001​⎦⎤​因此这个EEE矩阵可以分解为E=SR=Udiag⁡(1,1,0)(WU⊤R)\mathrm{E}=\mathrm{SR}=\mathrm{U} \operatorname{diag}(1,1,0)\left(\mathrm{WU}^{\top} \mathrm{R}\right) E=SR=Udiag(1,1,0)(WU⊤R)这样就证明了EEE拥有两个相等的奇异值

(2)从本质矩阵恢复摄像机矩阵

假定第一个摄像机矩阵是P=[I∣0]\mathrm{P}=[\mathrm{I} | 0]P=[I∣0],为了计算第二个摄像机矩阵P′\mathrm{P}^{\prime}P′,必须把EEE矩阵分解为反对成举着和旋转矩阵的乘积SR\mathrm{SR}SR。
还是根据上面的结论一,我们在相差一个常数因子的前提下有S=UZUT\mathrm{S}=\mathrm{U} \mathrm{ZU}^{\mathrm{T}}S=UZUT,我们假设旋转矩阵分解为UXVT\mathrm{UXV}^{\mathrm{T}}UXVT,则有Udiag⁡(1,1,0)VT=E=SR=(UZUT)(UXV⊤)=U(ZX)VT\mathrm{U} \operatorname{diag}(1,1,0) \mathrm{V}^{\mathrm{T}}=\mathrm{E}=\mathrm{SR}=\left(\mathrm{UZU}^{\mathrm{T}}\right)\left(\mathrm{UXV}^{\top}\right)=\mathrm{U}(\mathrm{ZX}) \mathrm{V}^{\mathrm{T}} Udiag(1,1,0)VT=E=SR=(UZUT)(UXV⊤)=U(ZX)VT则有ZX=diag⁡(1,1,0)\mathrm{ZX}=\operatorname{diag}(1,1,0)ZX=diag(1,1,0),因此x=W\mathrm{x}=\mathrm{W}x=W或者X=WT\mathrm{X}=\mathrm{W}^{\mathrm{T}}X=WT

结论:如果EEE的SVD分解为Udiag⁡(1,1,0)V⊤\mathrm{U} \operatorname{diag}(1,1,0) \mathrm{V}^{\top}Udiag(1,1,0)V⊤,E=SR\mathrm{E}=\mathrm{SR}E=SR有两种分解形式,分别是:S=UZU⊤R=UWVTor UW TV⊤\mathrm{S}=\mathrm{UZU}^{\top} \quad \mathrm{R}=\mathrm{UWV}^{\mathrm{T}} \text {or UW }^{\mathrm{T}} \mathrm{V}^{\top} S=UZU⊤R=UWVTor UW TV⊤

接着分析,又因为St=0\mathrm{St}=0St=0(自己和自己叉乘肯定为0嘛)以及∥t∥=1\|\mathbf{t}\|=1∥t∥=1(对两个摄像机矩阵的基线的一种常用归一化),因此t=U(0,0,1)T=u3\mathbf{t}=\mathrm{U}(0,0,1)^{\mathrm{T}}=\mathbf{u}_{3}t=U(0,0,1)T=u3​,即矩阵UUU的最后一列,这样的好处是不用再去求SSS了,应为t\mathbf{t}t的符号不确定,RRR矩阵有两种可能,因此其分解有如下四种情况:P′=[UWVT∣+u3]or [UWVT∣−u3]or[UWTVT∣+u3]or [UWTVT∣−u3]\mathrm{P}^{\prime}=\left[\mathrm{UWV}^{\mathrm{T}} |+\mathbf{u}_{3}\right] \text { or }\left[\mathrm{UWV}^{\mathrm{T}} |-\mathbf{u}_{3}\right] or \left[\mathrm{UW}^{\mathrm{T}} \mathrm{V}^{\mathrm{T}} |+\mathbf{u}_{3}\right] \text { or }\left[\mathrm{UW}^{\mathrm{T}} \mathrm{V}^{\mathrm{T}} |-\mathbf{u}_{3}\right] P′=[UWVT∣+u3​] or [UWVT∣−u3​]or[UWTVT∣+u3​] or [UWTVT∣−u3​]
就是下面这张图展示的

然后用空间中的一个点作测试,验证它是否在两个摄像机前面就可以从两个不同解中确定一个作为摄像机矩阵

到这里就OK啦,有问题欢迎交流~

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

多视图几何总结——从本质矩阵恢复摄像机矩阵相关推荐

  1. 从本质矩阵恢复相机矩阵

    本质矩阵 本质矩阵(essential matrix )是基本矩阵在归一化图像坐标下的一种特殊形式. 考虑相机矩阵P=K[R∣t]P=K[R|\mathbf t]P=K[R∣t],点x=PX\math ...

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

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

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

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

  4. 单目slam基础 特点匹配 光流匹配 单应变换恢复变换矩阵 本质矩阵恢复变换矩阵 深度滤波

    非滤波单目slam基础 非滤波方法的单目视觉SLAM系统综述 论文 直接法 特征点法 混合法区别与联系 按照 2D−2D 数据关联方式的不同 ,视觉定位方法可以分为直接法.非直接法和混合法1. 直接法 ...

  5. 单目初始化 单应矩阵 本质矩阵 恢复R t 三角变换求 3D点

    单目初始化 单应矩阵 本质矩阵 恢复R t 三角变换求 3D点 博文末尾支持二维码赞赏哦 ^_^ /* * This file is part of ORB-SLAM2 * * 单目相机初始化 * 用 ...

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

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

  7. SLAM笔记(四)运动恢复结构的几何数学(本征矩阵、单应矩阵、基础矩阵)

    1. 间接法进行运动恢复的前提假设 对于结构与运动或视觉三维重建中,通常假设已经通过特征匹配等方法获取了匹配好的点对. 先求出匹配点对再获取结构和运动信息的方法称作间接法. 间接法最重要的三个假设是: ...

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

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

  9. 计算机视觉学习7_多视图几何_基础矩阵

    文章目录 对极几何 本质矩阵(Essentical Matrix) 基本矩阵(Fundamental Matrix) 8点算法估算基础矩阵F 实现代码 实现结果 三维重建 对极几何 多视图几何是利用在 ...

最新文章

  1. python的质量控制模块_10.11. 质量控制
  2. skyline粒子效果xml获取
  3. python3 多进程 multiprocessing对僵尸进程的处理
  4. 大闸蟹谋定功能性养殖-丰收节交易会·李喜贵: 科技示范基地
  5. SQLite大批量插入性能优化
  6. 女人,就是不适合做IT!
  7. 公路交通安全设施设计细则_转让江苏公路交通工程(公路安全设施分项)二级资质(包安许)...
  8. javaweb男的gulp入手实践
  9. android9 mate10,华为仅这四部手机升到安卓9.0,Mate10和P20用户窃喜!
  10. 高可用之KeepAlived(一):基本概念和配置文件分析
  11. 【数据结构】深度优先和广度优先比较
  12. HOLOLENS的DEVICE POTAL连接和安装
  13. 关于升级短信源码开发接入SMPP通道
  14. 嵌入式软件测试——初探
  15. Phython环境搭建
  16. Unhandled exception occurred whilst decorating page java.lang.ArrayIndexOutOfBoundsException: -1
  17. android手机与电脑无线连接工具handshaker
  18. OpenCV-颜色通道的分离、合并
  19. 导出富文本格式word
  20. ChatGPT介绍世界杯历史与编写足球游戏python程序

热门文章

  1. c++中函数放在等号右边_如何从C或C++中的函数返回多个值?
  2. 划痕麻点检测程序_精密外观检测机设计
  3. 用Java实现天天酷跑(附源码),只能用牛逼来形容了!
  4. springmvc教程--快速入门教程
  5. jerseycom.sun.jersey.api.client.UniformInterfaceException
  6. 一天搞定CSS:层级(z-index)--18
  7. LinkedList集合
  8. Python3算法基础练习:编程100例( 31 ~ 35 )
  9. Android UI编程之自定义控件初步(下)——CustomEditText
  10. Docker私有仓库的搭建