本质矩阵E求解及运动状态恢复
为了获取本质矩阵,首先计算基础矩阵F。根据本质矩阵E,即可恢复得到运动的状态R和T。
由可以根据匹配点得到F,然后根据
和相机内参,即可得到本质矩阵E。进而根据:
注意:根据摄像机模型t=-RT,恢复运动状态,就是要计算t和R。
8点法
8点算法是计算基本矩阵的最简单的方法,它涉及构造并(最小二乘)解一个线性方程组。给定足够多的匹配点(至少7对),可解得基础矩阵F。
记和
,每一组点匹配提供关于
的未知元素的一个线性方程。对应于一对点
和
的方程是:
写成矩阵(矢量)的形式:
其中:
从而根据n对匹配的点集,我们可以得到线性方程组:
计算最小二乘解,的最小二乘解是对应于
的最小奇异矩阵的奇异矢量,即是
的SVD分解
中矩阵
的最后一列矢量。用这种方法得到的解矢量
在条件
下取
的最小值。
该方法步骤简单,易于实现,但由于其计算结果对输入数据异常敏感,从而直接影响它在实际中的应用。
1997年,Hartley对原始8点算法进行改进,在构造解的方程之前对输入的数据进行适当的归一化。即在形成8点算法的线性方程组之前,图像点的一个简单变换(平移或变尺度)将使这个问题的条件极大地改善,从而提高结果的稳定性。而且进行这种变换所增加的计算复杂性并不显著。算法具体过程具体如下:
- 对原始图象坐标做一个平移变换,使原来以左上角为原点的图象坐标变成以所有图像点的重心为原点的图像坐标;
- 再对图象坐标做一个尺度变换,使得点到原点的平均距离为
。
分别对两幅图像进行以上两步变换,然后将变换后的图像坐标作为输入数据计算基础矩阵。
计算过程如下:
- 设两个独立的图像坐标变换分别为T、
,则变换后的图像坐标为
和
;
- 基于转换后的匹配点对
,利用八点算法计算基础矩阵
;
- 解除归一化,令
,矩阵F是对应于原始数据
的基本矩阵。
注意:此时求得的F阵的秩并不保证严格为2。而且,由于噪声影响计算得到的F一般都是满秩的。
进而,根据相机的内参信息得到本质矩阵E。
运动恢复
在二视图中,第一个相机的投影矩阵为:,而第二个相机的投影矩阵为:
,投影矩阵的旋转矩阵R和平移矩阵t是要被计算出来的,计算的过程称为运动恢复。这里的“运动”就是第二帧相机相对于第一帧相机的运动变化。
1992年,Hartley提出了从本质矩阵在相差一个尺度因子的情况下恢复出摄像机投影矩阵的四个可能解,然后从四个解中选择一个正确解的方法。证明过程可见“计算机视觉中的多视图几何”中文本174页。
定理1:一个3*3的矩阵是本质矩阵的充要条件是它的奇异值中有两个相等而第三个是0。
定理2:设本质矩阵的SVD分解是:
,不考虑本质矩阵的符号,则存在两种可能的解:
,
,
其中:
推论:已知本质矩阵和第一和摄像机矩阵
,那么第二个摄像机矩阵有下列四种可能的选择:
是
的最后一列。
t的具体空间长度是不能恢复出来的,只能在相差一个尺度因子的情况下恢复平移单位向量。
4个解的几何解释
显然前面两个解的差别就是第一个摄像机到第二个摄像机的平移矢量是反向的。
上下两行的差别在于摄像机绕基线旋转了180度,上图中只有(a)时,重构点同时出现在两个摄像机的前面。
从匹配点对中随机选择n对特征点,采用视图重建的方法,分别基于四种可能的摄像机矩阵重建出对应的三维点,满足景深为正的点数最多的解就是对应的,同时也可以确定相机的外参R和t。
本质矩阵E求解及运动状态恢复相关推荐
- 单目slam基础 特点匹配 光流匹配 单应变换恢复变换矩阵 本质矩阵恢复变换矩阵 深度滤波
非滤波单目slam基础 非滤波方法的单目视觉SLAM系统综述 论文 直接法 特征点法 混合法区别与联系 按照 2D−2D 数据关联方式的不同 ,视觉定位方法可以分为直接法.非直接法和混合法1. 直接法 ...
- Colmap学习三:后端Initialization部分(基础矩阵F、本质矩阵E和单应矩阵H)
算矩阵的基础知识 解析本质.基础.单应矩阵的自由度 1 寻找初始像对 1.1手动选择ID 1.2自动筛选 ①prior focal length存在情况下,开始筛选 匹配点数由小到大排序 第二张候选影 ...
- 一分钟详解「本质矩阵」推导过程
文章目录 前言 一 本质矩阵如何推导 二 本质矩阵的意义 三 本质矩阵的求解 四 扩展--基本矩阵 前言 两幅视图存在两个关系:第一种,通过对极几何,一幅图像上的点可以确定另外一幅图像上的一条直线:另 ...
- 什么是单应矩阵和本质矩阵
知乎上面的大牛还是很多,直接搜Homography或者单应矩阵就能得到很多大神的回答,可能回答中的一句话或者一个链接就够自己学习很久. 其实在之前研究双目视觉的时候就接触了对极几何,通过视觉就可以得到 ...
- 2D - 2D 点对 求解基础矩阵 F 本质矩阵E 单应矩阵 H 进而求 旋转矩阵 R 和 t
*对极几何 求解 两组单目相机 2D图像 间的 旋转平移 矩阵 * 2D 点对 求 两相机的 旋转和平移矩阵 * 空间点 P 两相机 像素点对 p1 p2 两相机 归一化平面上的点对 x1 x2 与P ...
- ORB-SLAM2 特征点法SLAM 单目 双目 rgbd相机SLAM 单应/本质矩阵恢复运动 小图大图地图优化
ORB-SLAM2 ORB特征点法SLAM 支持单目.双目.rgbd相机 安装测试 本文github链接 orbslam2 + imu ORB-SLAM是一个基于特征点的实时单目SLAM系统,在大规模 ...
- 单目初始化 单应矩阵 本质矩阵 恢复R t 三角变换求 3D点
单目初始化 单应矩阵 本质矩阵 恢复R t 三角变换求 3D点 博文末尾支持二维码赞赏哦 ^_^ /* * This file is part of ORB-SLAM2 * * 单目相机初始化 * 用 ...
- 多视图几何总结——从本质矩阵恢复摄像机矩阵
多视图几何总结--等距变换.相似变换.仿射变换和射影变换 多视图几何总结--从本质矩阵恢复摄像机矩阵 (1)本质矩阵性质 (2)从本质矩阵恢复摄像机矩阵 多视图几何总结--从本质矩阵恢复摄像机矩阵 本 ...
- 多视图几何总结——基础矩阵、本质矩阵和单应矩阵的求解过程
多视图几何总结--基础矩阵.本质矩阵和单应矩阵的求解过程 多视图几何总结--基础矩阵.本质矩阵和单应矩阵的求解过程 1. 说明--其实求解过程大同小异 2. 单应矩阵求解过程 2.1 基于代数误差的线 ...
最新文章
- 介绍一个.Net资源站点
- 用DOS命令来运行Java代码
- 用神经网络分类3*3矩阵
- Java泛型深入理解小总结
- MOSS点滴(1):如何开发和部署feature
- 常用jquery鼠标事件和渐变动画效果
- vue2.0版本指令v-if与v-show的区别
- power bi 中计算_Power BI中的期间比较
- zip转直链php,蓝奏网盘直链转换器
- 游标操作 for Oracle
- eclipse 初步新建jsp页面笔记
- python常量列表_Python中实现常量(Const)功能
- mysql 幻读和不可重复读_幻读和不可重复读的区别
- 大数据平台的整体架构由哪些组成
- 金山词霸2016下载的离线词典包位置
- torch.Tensor详解
- MATLAB 查找互素(质)对
- 2020十大最佳大数据分析工具,果断收藏
- 苹果MAC OS X双系统安装教程
- html的常用标签,系列篇
热门文章
- cmder 窗口,λ后面总会多一个字母
- mybatis-plus学习(一)——入门看这一篇就够了
- 打电话(通讯录、直接拨打、拨号)
- 【rmzt:新网球王子动漫主题】
- win10无法连接WiFi,飞行模式中显示“我们在这台电脑上找不到无线设备”
- 开启灯光就是近光吗_怎么看自己是开近光灯还是远光灯?近光和远光灯怎么切换?...
- 解决W10: Warning: Changing a readonly file
- 西门子S7通讯批量写入char数据
- linux medea 软件安装,MedeA for Windows 安装
- python外国大神有哪些_国外Python大牛们用什么互相沟通、聊天?