基本矩阵F、本质矩阵E、单应矩阵H的关系

基础矩阵 一、基础矩阵原理介绍 基本矩阵体现了两视图几何(对极几何,epipolar geometry)的内在射影几何(projective geometry)关系,基本矩阵只依赖于摄像机的内参KK和外参R,tR,t。 上图是一个两视图的几何描述,其中OO、O′O′是两个相机的光心,两点连线OO′OO′称为基线,基线与图像平面的交点ee、e′e′称为对极点,其中ll、l′l′分别是图像点x′x′、xx对应... 阅读详情

前言:

立体视觉几何中有以下问题:

1.已知一幅图像中一点,如何寻找另一幅图像中这个点的对应点(可用光流法、特征点匹配法)

2.已知两幅图像中两点是对应关系,如何求解两相机的相对位置和姿态【R|t】

3.已知多幅图像中同一3D点的对应点,如何求解该3D点的3D坐标

对极几何/基础矩阵 的出现可以解决问题2。

之前有总结过:https://blog.youkuaiyun.com/try_again_later/article/details/81638064


总结: 

      1 Essential Matrix     

             E= t ^ R 为3*3的矩阵,奇异值为 [ u, u, 0] ^ T 的形式。为本质矩阵的内在性质。

             性质:理论上综合旋转、平移共有6个自由度,因尺度等价,E有5个自由度。

             求解:一般使用8点法,通过SVD分解,恢复出R,t 。

     2 Fundamental Matrix

            基本矩阵F和E只差了一个相机内参    F = K^(-T) *E *K^(-1) ,如果需要,直接带入求解。

            基础矩阵F表明一个图像点p1到另一图像上对极线L上的映射。

     3 Homograph Matrix

           单应矩阵的定义与R、t、平面参数相关,单应矩阵为3*3的矩阵,自由度为8,求解的思路和E、F相似。

           单应矩阵表明两个点之间变换H。p2=H*p1

           求解:可用一组不共线的四个匹配点来计算矩阵H。

区别:本质矩阵则是基本矩阵的一种特殊情况,是在归一化图像坐标下的基本矩阵,可以理解为本质矩阵对应的坐标位于相机坐标系,基础矩阵对应的坐标位于图像平面坐标系。

E=t^R

F=K^{-T}EK^{-1}

H=R-t*nT/d

在相机只有旋转而没有平移的情况,此时t为0,E也将为0,导致无法求解R,这时可以使用单应矩阵H求旋转,但仅有旋转,无法三角化求深度。


对极几何 

在对极几何中,e1和e2被称作极点,PO1O2平面为极面,p1e1为极线,同理p2e2也为极线。这是对极几何中重要的三个概念。

极点:基线的平行线在各自像面上的消失点

A. 如图,两个相机相对放置(会聚视角), 相机1面向右边,相机2面向左边,可知极点位于1的右边,2的左边。图中花瓶上标示的横线即为平行于基线的线条。

 

p点在像面2上的对应点一定在极线l'上。p1--L2

这样我们就得到了两个相机上的像素坐标和基础矩阵F之间的关系了


 基础矩阵F和本质矩阵E

作用:给定一个图像上的一个点,被本质矩阵或基本矩阵相乘,其结果为此点在另一个图像上的对极线,在匹配时,可以大大缩小搜索范围。像素-->极线

本质矩阵特性

    1) rank (E) = 2  (本质矩阵的秩为2,非常重要)

    2)  本质矩阵仅依赖外部参数(Extrinsic Parameters) (R & T)决定。

    3) 使用摄像机(Camera)坐标系

基本矩阵的特性

    1) rank (F) = 2  (基本矩阵的秩为2,非常重要)

    2)  基本矩阵依赖内部和外部参数(Intrinsic and Extrinsic Parameters) (f, R & T)决定。

    3) 使用像素坐标系

 

 

 单应矩阵H


参考:

https://www.cnblogs.com/sunny-li/p/7500541.html

http://www.cnblogs.com/youzx/p/6385513.html

视觉SLAM笔记--第5篇: 基础矩阵F和单应矩阵H的推导过程,区别分析 基础矩阵F和单应矩阵H的推导过程,区别分析参考博客1. 基础矩阵F1.1 Essential Matrix1.2 Fundamental Matrix1.3 两者区别2. 单应矩阵H3. 基础与单应矩阵区别4. 详细推导求解 参考博客 参考博客:https://blog.youkuaiyun.com/try_again_later/article/details/88655563 1. 基础矩阵F 1.1 E... 阅读详情

相关推荐

[三维重建] 对极几何约束、本质矩阵、基础矩阵、单应矩阵

本质矩阵,基础矩阵,单应矩阵

weixin_44179561的博客 2627

基本矩阵、本质矩阵和单应矩阵

基本矩阵、本质矩阵和单应矩阵

kokerf的博客 4万+

数据清洗(Data Cleansing)

数据清洗(Data Cleansing)是指对数据进行处理和纠错,以去除或修复数据集中存在的错误、不致、不完整和冗余的数据,从而使数据更加准确、可靠和有用。数据清洗是数据处理和数据分析中一个非常重要的步骤,它可以帮助我们提高数据的质量,从而提高数据分析和机器学习的准确性和可靠性。数据清洗是一个重要的过程,它可以帮助我们提高数据的质量,从而提高数据分析和机器学习的准确性和可靠性。在实际应用中,我们可以使用一些工具和技术来实现数据清洗,例如 Pandas、NumPy 和 OpenRefine 等。通过数据清洗,

meimei169500的博客 1万+

李宏毅线性代数笔记6:矩阵的计算

1 矩阵的几个概念 1.1 数量矩阵 主对角线上元素是同一个数,其余元素全为0的n级矩阵 1.2 可交换 如果AB=BA,那么A,B可交换 一般来说,≠,但是如果A,B可交换,那么= 1.3 矩阵集合 2 初等行变化与矩阵相乘 3 阶梯矩阵REF和简化阶梯矩阵RREF 3.1 REF Row Echelon Form 行阶梯矩阵 3.2 RREF Reduced Row Echelon Form 简化行阶梯矩阵 ...

qq_40206371的博客 7942

CAN接受和发送失败的原因有哪些---之前调试MCP2515驱动时,数据一直发不出去,三个发送邮箱都被占满.至今未解决,读寄存器-总线错误

0.CAN总线错误分析与解决–讲的最精辟的放在最前面 我们知道CAN总线上的每个节点往总线上发送数据的同时会同时读取总线上的数据,并与自己发送的数据作对比。—CAN仲裁??? CAN总线错误分别有发送和接收错误计数,计数达到一定的累计以后就会产生CAN BUS OFF, 这说明CAN总线上出现了严重的错误。如下图CAN总线产生错误后的状态转换机制 如果出现了BUS OFF,总线上的节点需要做一些动作,例如重启CAN控制器或是重新上电,但是这些都只是一些补救措施,最根本的还是需要找到引起BUS OFF的根源

dianqicyuyan的博客 2万+

【脑电分析系列】第7篇:频域分析基石 — 功率谱密度(PSD)的计算与常见方法对比

本文探讨了脑电图(EEG)频域分析的核心方法——功率谱密度(PSD)。通过对比基于快速傅里叶变换的周期图法和更稳健的Welch's方法,指出后者通过分段、加窗和平均处理,能有效降低估计方差,更适合分析非稳态的脑电信号。文章详细解析了关键参数设置对频率分辨率和统计稳定性的影响,并提供了Python计算实现。PSD分析将复杂的脑电信号转换为直观的频域特征,为研究认知功能和神经疾病提供重要依据。

qq_32516809的博客 1804

线性代数学习笔记——第九讲——初等矩阵

1. E(i,j)——单位矩阵的第i行和第j行对换(或第i列与第j列对换) 2. E(i,j)左乘一个矩阵,结果相当于将该矩阵的第i行和第j行对换 3. E(i,j)右乘一个矩阵,结果相当于将该矩阵的第i列和第j列对换 4. E(i(k))——单位矩阵的第i行倍乘k(或第i列倍乘k) 5. E(i(k))左乘一个矩阵,结果相当于将该矩阵的第i行倍乘k ...

预见未来to50的专栏 3万+

MounRiver Studio实战:像管理个人项目一样整理沁恒MCU的EVT例程(附文件结构图)

本文详细介绍了如何使用MounRiver Studio重构沁恒MCU的EVT例程,实现工程化管理。通过分析官方EVT设计的局限性,提出标准化的目录结构和迁移步骤,帮助开发者提升代码可维护性和团队协作效率。文章还提供了MounRiver Studio的关键配置参数和常见问题排查指南,适用于沁恒MCU开发者。

weixin_33940469的博客 356

单应矩阵H推导及理解

和本质矩阵E、基本矩阵F不同,单应矩阵H描述的是位于同一平面上的点在两张图像直接的关系。这里,简单地推导一下H的表达式。

li815278590的博客 1556

Unity 面试篇|(三)设计模式篇 【全面总结 | 持续更新 | 建议收藏】

设计模式是一套被反复使用、多数人知晓、经过分类编目、代码设计经验的总结。设计模式与方法或库的使用方式不同, 你很难直接在自己的程序中套用某个设计模式。模式并不是一段特定的代码, 而是解决特定问题的一般性概念。你可以根据模式来实现符合自己程序实际所需的解决方案。常常会混淆模式和算法, 因为两者在概念上都是已知特定问题的典型解决方案。但算法总是明确定义达成特定目标所需的一系列步骤, 而模式则是对解决方案的更高层次描述。同一模式在两个不同程序中的实现代码可能会不一样。单例模式。

游戏开发小Y的博客 12万+

5G Multicast/Broadcast Services(MBS) (七) MBS广播DRX

当处于RRC_IDLE或RRC_INACTIVE或RRC_CONNECTED 状态时,如果为 G-RNTI 配置了broadcast DRX,则允许MAC entity使用broadcast DRX 操作不连续地监听此G-RNTI的PDCCH;此 G-RNTI 的 drx-onDurationTimerPTM 或 drx-InactivityTimerPTM 正在运行的时间,也就是。long DRX周期drx-LongCycle-PTM和drx-StartOffset-PTM定义DRX周期开始的子帧。

asd199086的博客 391

VSLAM基础(三)————对极几何中的基础矩阵F、本质矩阵E、单应矩阵H

在上一篇中,讲到了可以通过相机矩阵P(P=K[R|t])将三维点的世界坐标投影到图像像素坐标。而一般vslam问题中P矩阵并不是已知的(R,t未知),于是我们需要通过其他方法求得R,t,这就需要用到对极几何中的知识。 一、对极几何 那么什么是对极几何? 对极几何(Epipolar Geometry)描述的是两幅视图之间的内在射影关系,与外部场景无关,只依赖于摄像机内参数和这两幅视图之间的的相...

potxxx的博客 5071

【工业相机】【深度4】线扫描相机 - 选型实践

前言: 在工业相机的深度应用的前三节里面,针对工业相机的选型、参数、应用计算等做了一些说明。期中,在深度3里面,在说明工业相机在速度场景下的应用的时候,专门开了一节介绍线扫描相机行频速度的计算公式和镜头的选型的大致说明,感觉说的还是不够透彻,切应用举例也不充分,这里特别开一个章节,基于线扫描相机的特点对比面阵相机的特点进行比较详细的说明,尤其对线扫描相机的选型实践,尤其是线扫描相机的分辨率选择计算、行频选择计算进行了充分的说明和计算说明,希望能够给用到线扫描工业相机的同学给予一定的参考: 阐述: 在编

山云的专栏 2万+

单应矩阵 (H)、本质矩阵 (E) 和基础矩阵 (F)

特性本质矩阵 E基础矩阵 F单应矩阵 H定义公式Et×REt×​RFK−TEK−1FK−TEK−1HR−tnTdHR−dtnT​约束/数学关系x2TEx10x2T​Ex1​0p2TFp10p2T​Fp1​0p2∝Hp1p2​∝Hp1​(等价于x2Hx1x2​Hx1​约束类型标量(1个方程)、点到线 (弱约束)

weixin_41469272的博客 774

基于Qt的工业组态软件开发:图形绘制与TCP通讯实现

在数据接收时,通过 readyRead 信号触发解析函数,校验数据包完整性后提取有效数据,并更新对应图形元素的状态,例如根据温度值改变矩形的填充色,实现设备状态可视化。测试阶段,我们将软件部署到Windows工控机,连接PLC设备进行通讯测试,结果表明图形元素响应及时,TCP数据传输稳定,满足工业现场的基本需求。综上所述,基于Qt的组态软件开发,核心在于利用 QGraphicsView 框架实现图形元素的灵活绘制与管理,结合 QTcpSocket 完成工业数据的可靠交互。

谢谢大家的关注和点赞!这里只有纯纯的知识干货,没有一句废话。希望能实实在在帮到大家~要是觉得有用,别忘了给我点支持哟,你 273

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

视觉笔记 - 基本矩阵、本质矩阵、单应矩阵

by luoshi006

luoshi006的博客 569

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

三维重建笔记_相机标定(相机矩阵求解)基本概念汇总

目录 1. 数学知识 1.1. 单应性矩阵 1.2. SVD(奇异值分解) 1.3.矩阵范数 ||A|| 2. 相机知识 2.1.相机模型 2.2. 相机矩阵 2.3 相机标定算法--同时标定内参外参 3. 对极几何 3.1多视几何 基本矩阵 F(Fundamental matrix) 本质矩阵 E (Essential matrix) 单位矩阵 I (Ident...

惊鸿一博 1万+

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

跟六哥学习ORB-SLAM2作业(二)上

1、(问答题)本质矩阵E,基础矩阵 F, 单应矩阵H 矩阵,这几个矩阵之间是什么关系? 2、(问答题) 单应矩阵(homography matrix)自由度是多少?为什么? 3、(问答题) 基础矩阵(fundamental matrix)自由度是多少?为什么? 4、(问答题) 为什么本质矩阵(essential matrix)的秩为2?请解释或者证明 5、(问答题) ORB_SLAM中为什么要进行特征点的均匀化?有什么好处?请调研至少1种以上其他可以实现均匀化的方法? 6、(问答题...

走走走走走走你 1384

从H、E、F矩阵到视觉里程计:低视差与平面场景下的位姿估计实战

本文深入探讨了视觉里程计中单应矩阵(H)、本质矩阵(E)和基础矩阵(F)的选择与应用。通过实际项目案例,详细分析了低视差与平面场景下的位姿估计策略,包括无人机悬停和车载相机的实战调参经验,帮助开发者优化视觉SLAM系统的矩阵选择算法。

weixin_34122532的博客 170

基础矩阵、本质矩阵与单应矩阵:视觉几何三兄弟的数学原理与工程实践

多视图几何是计算机视觉的核心基础,其中对极几何与平面变换分别描述了不同场景下的图像点对应关系。基础矩阵、本质矩阵与单应矩阵作为三种最常见的3×3变换矩阵,各自拥有独特的数学约束、自由度与适用条件:基础矩阵刻画像素坐标系下的极线约束,本质矩阵在内参已知时直接关联相机相对位姿,而单应矩阵则精确建模共面场景或纯旋转运动。理解这些差异对视觉SLAM初始化、三维重建、AR平面跟踪等工程任务至关重要。实际应用中,RANSAC与特征匹配质量直接影响矩阵求解的稳定性,场景退化时还需在H与F之间正确切换。掌握三者的数学原理与

weixin_29056101的博客 259

视觉几何(3D->2D,2D->3D)

相机标定指建立相机图像像素位置与场景点位置之间的关系,即求解相机模型的参数。(u,v)为图像点K为相机内参数(相机硬件)R为相机旋转,t为相机平移(相机位姿)(X,Y,Z)为空间点f为焦距,dx,dy为每个像素的距离,u0,v0为主点坐标世界坐标系->相机坐标系(刚体变换)相机坐标系->图像坐标系(透视投影)图像坐标系->像素坐标系(仿射变换)

weixin_56766801的博客 400

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

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

点云PCL 9555

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

H(单应矩阵homography),本质矩阵(Essential Matrix)和F(基础矩阵fundamental) H矩阵适用于:1)特征点位于平面上;2)纯旋转,使用Faugeras 和 Lustman方法通过H阵解算出8种可能的(R,t)(R,t)(R,t) F使用于普通场景(非平面场景),但是从E/F中解算位姿有四种可能性,且不适用于低视差的场景。 因此单应矩阵H可以更好的应用于低视差(接近纯旋转)的场景下。而当平移接近零时,E和F阵则接近零(E=t∧R,  F=K−TEK−1

weixin_41469272的博客 1万+

知识点梳理:基本矩阵F、本质矩阵E、单应矩阵H

1.基本矩阵F:根据两帧间匹配的像素点对儿计算 2.本质矩阵E:通过归一化坐标对进行计算。 因为R,t共有6个自由度,又因为单目尺度等价性,所以实际上E矩阵共有5个自由度。因此至少需要5个点对来求解。十四讲中说因为E矩阵的内在性质是一种非线性,求解起来十分麻烦。这句话怎么理解呢?其实意思应该是说把E矩阵用5个变量来表示是比较困难的,他们之间是一个非线性的表示形式(E=[t]×R[\mathbf ...

Fs-Ryan的博客 5456

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

官网:https://docs.opencv.org/3.4.0/d9/d0c/group__calib3d.html#ga4abc2ece9fab9398f2e560d53c8c9780 基础矩阵F Mat cv::findFundamentalMat ( InputArray points1, InputArray points2, int method = FM_RA...

xiaohu的博客 6361
上一篇: 边缘检测算子Soble、Laplace、Canny
下一篇: PnP(3D-2D)、ICP(3D-3D)
try_again_later
try_again_later 领域专家: C/C++技术领域 领域专家: C/C++技术领域
博客等级 码龄9年 1061粉丝 203原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值