参数估计是计算机视觉中经常遇到的一个问题,为较好的估计参数,人们发明了各种各样的算法。这里我们就以单应矩阵H的估计为例,一个个介绍这些常用算法。

DLT算法

DLT(direct linear transform)算法是一个用于解决包含尺度的最小二乘问题的算法。可以解决的问题包括相机内参估计、单应矩阵估计、基础矩阵估计等。

以单应矩阵H的估算为例。由于H为3×33\times33×3的矩阵,除去尺度的影响之后有8个自由度。需要4对对应点来求解。假设某一对对应点xi,xi′\textbf x_i,\textbf x_i'xi​,xi′​,则
xi′=Hxi=[h1Txih2Txih3Txi]\textbf x_i'=H\textbf x_i=\begin{bmatrix}h^{1T}\textbf x_i\\h^{2T}\textbf x_i\\h^{3T}\textbf x_i\end{bmatrix}xi′​=Hxi​=⎣⎡​h1Txi​h2Txi​h3Txi​​⎦⎤​
其中hjTh^{jT}hjT代表H的第j行。

假设xi′=(xi′,yi′,wi′)T\textbf x_i'=(x_i',y_i',w_i')^Txi′​=(xi′​,yi′​,wi′​)T。对等式叉乘一个xi′\textbf x_i'xi′​我们得到

xi′×Hxi=[yi′h3Txi−wi′h2Txiwi′h1Txi−xi′h3Txixi′h2Txi−yi′h1Txi]=0\textbf x'_i \times H\textbf x_i = \begin{bmatrix}y_i'h^{3T}\textbf x_i-w'_ih^{2T}\textbf x_i\\w'_ih^{1T}\textbf x_i-x'_ih^{3T}\textbf x_i \\x'_ih_{2T}\textbf x_i-y_i'h^{1T}\textbf x_i\end{bmatrix} = 0xi′​×Hxi​=⎣⎡​yi′​h3Txi​−wi′​h2Txi​wi′​h1Txi​−xi′​h3Txi​xi′​h2T​xi​−yi′​h1Txi​​⎦⎤​=0

(1)[0T−wi′xiTyi′xiTwi′xiT0T−xi′xiT−yi′xiTxi′xiT0T][h1h2h3]=0\begin{bmatrix}0^T&-w'_i\textbf x^T_i&y_i'\textbf x^T_i \\\ w'_i\textbf x_i^T&0^T&-x'_i\textbf x_i^T \\\ -y'_i\textbf x_i^T&x'_i\textbf x^T_i&0^T\end{bmatrix} \begin{bmatrix}\textbf h^1 \\ \textbf h^2 \\ \textbf h^3\end{bmatrix} =0\tag{1}⎣⎡​0T wi′​xiT​ −yi′​xiT​​−wi′​xiT​0Txi′​xiT​​yi′​xiT​−xi′​xiT​0T​⎦⎤​⎣⎡​h1h2h3​⎦⎤​=0(1)
可以记为Aih=0A_ih=0Ai​h=0。其中A是一个3×93\times93×9的矩阵,h是一个9维向量,它的元素对应H中的元素。即
h=[h1h2h3],H=[h1Th2Th3T]h=\begin{bmatrix}h^1\\h^2\\h^3\end{bmatrix},H=\begin{bmatrix}h^{1T}\\h^{2T}\\h^{3T}\end{bmatrix}h=⎣⎡​h1h2h3​⎦⎤​,H=⎣⎡​h1Th2Th3T​⎦⎤​

可以看到,Aih=0A_ih=0Ai​h=0是一个关于h的线性方程,AiA_iAi​可以由对应点坐标得到。同时A的第三行其实可以由前两行线性表出。由此每对点实际上是给出了H的两个约束。简化A可以得到一个2×92\times 92×9的矩阵。

四点法

取四对点,将它们的线性方程系数矩阵进行叠加我们就得到了一个8×98\times 98×9(去除线性相关的行)或者12×912\times 912×9的矩阵,不论如何这个矩阵的秩都为8。于是我们可以从线性方程Aih=0A_ih=0Ai​h=0的一维零空间中得到h。这样的h有无穷多,彼此相差一个尺度,一般为求得唯一的解我们假设∣∣h∣∣=1||h||=1∣∣h∣∣=1。

这种解法也称为最小解,因为它使用的点数最少。
###多于四点的情况
当两幅图像中的对应点大于4对时,由于噪声的存在,矩阵A的秩为9,得到的线性方程只有零解。我们称这种方程为超定方程,此时可以求它的最小二乘解。即min∣∣Ah∣∣min||Ah||min∣∣Ah∣∣。对它的求解同样可以使用SVD分解。这将在后面进一步进行介绍。

退化

在使用四点法时,如果其中3点共线,就会发生退化。(很容易理解,3点共线=一点可以由其他两点线性表出=缺秩)从而得到无穷多解。这种在多于4点的情况也可能发生。

直线与混合情况下的求解

根据对偶原理,显然也可以根据两幅图像中的对应直线对。由li=HTli′l_i=H^Tl_i'li​=HTli′​可以进行求解,在此不多赘述。
混合情况下,3个直线对和三个点对互相等价(三角形),从而可以转换成纯点或纯直线的求解。2个直线对、2个点对的情况,和它的对偶情况无法求解,因为这相当于5个点对,其中有4个点共线点情况。

MVG读书笔记——单应矩阵估计这件小事(一)相关推荐

  1. MVG读书笔记——单应矩阵估计这件小事(二)

    还是以两幅图像进行单应矩阵求解为例,上面讲到使用DLT算法一对对应点之间可以构成一个方程组Ah=0Ah=0,其中A为一个2×92 \times 9的矩阵.由此只需要4个点就可以求解出H矩阵.但是在实际 ...

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

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

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

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

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

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

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

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

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

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

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

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

  8. 单应矩阵,基本矩阵,本质矩阵

    1.归一化图像坐标 2.本质矩阵 essential matrix 2.1 本质矩阵的推导 2.2特点 3.相机内参 4.基本矩阵 fundamental matrix 4.2基本矩阵推导 4.1特点 ...

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

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

最新文章

  1. DeepMind集成AI智能体架构「MERLIN」:基于目标导向智能体中的无监督预测记忆
  2. VS2010,mvc架构详解(英文版的哦)
  3. [转]Data mining with WEKA, Part 3: Nearest Neighbor and server-side library
  4. iOS之地理位置及定位系统 -- 入门笔记(用Swift)
  5. C语言动态内存管理和动态内存分配
  6. nodejs 复制、移动文件
  7. redis常用命令getex_redis常用命令大全
  8. 耐克为何不接受加密货币付款?
  9. VSCode配置PyQt5和designer
  10. 济南大学转专业计算机面试难吗,我校2016-2017学年学生转专业工作结束
  11. Python, Ruby 与 Groovy,谁与争锋
  12. PythonAM3_统计量分析
  13. 安装activex手机控件_86/BRZ 免“油饼”安装 Defi 机油压力表
  14. RouterOS 动态IP接入上网设置教程(超详细)
  15. backgroundWorker控件使用笔记
  16. 自动驾驶技术-环境感知篇:基于视觉相关技术介绍
  17. AIR应用:二维码批量生成
  18. 红外线遥控协议简介(NEC格式)
  19. docker部署smokeping监控网络掉包
  20. 北航操作系统课程-20200511课堂小测-操作系统安全

热门文章

  1. 巾帼不让须眉 IT界10大女性CEO排行
  2. Bilateral Filtering(双边滤波)算法研究
  3. 想从事人工智能和大数据的学生们,这里有几条职业建议给你
  4. 互联网晚报 | 8月17日 星期三 | ​龙湖回应网传将于8月底破产;苹果因搜包向零售员工赔偿2亿;便利蜂回应​被传“大幅关店”...
  5. 20了解网络设备管理工具 Ansible Network 的基本用法,包括配置管理、状态采集的教程
  6. jquery:选择器【基础选择器、层级选择器、属性选择器和方法操作、过滤选择器、筛选选择器和方法,可见性过滤选择器】
  7. android音量控制setVolumeControlStream
  8. Linux中SELINUX状态的巨大影响
  9. ios上架图片在线制作_IOS上架证书制作,ipa打包,Transporter上传
  10. 【软考备战·希赛网每日一练】2023年4月17日