计算机视觉基础4——对极几何(Epipolar Geometry)

2024-05-04 00:18

本文主要是介绍计算机视觉基础4——对极几何(Epipolar Geometry),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

先思考一个问题:用两个相机在不同的位置拍摄同一物体,如果两张照片中的景物有重叠的部分,我们有理由相信,这两张照片之间存在一定的对应关系,本节的任务就是如何描述它们之间的对应关系,描述工具是对极几何 ,它是研究立体视觉的重要数学方法。

  要寻找两幅图像之间的对应关系,最直接的方法就是逐点匹配,如果加以一定的约束条件对极约束(epipolar constraint),搜索的范围可以大大减小。

  先回顾简单的立体成像系统

image

对极约束的图示

image

更一般的立体成像关系:两个相机的坐标无任何约束关系,相机的内部参数可能不同,甚至是未知的。要刻画这种情况下的两幅图像之间的对应关系,需要引入两个重要的概念——对极矩阵(Epipolar Matrix)和基本矩阵(Fundamental Matrix)。

image

对极几何中的重要概念(参考下图):

极点:极点 el el:右相机坐标原点在左像平面上的像;极点 er er:左相机坐标原点在右像平面上的像

极平面:由两个相机坐标原点 Ol Ol Or Or和物点P组成的平面

级线:极平面与两个像平面的交线,即 plel plel prer prer

级线约束:两极线上点的对应关系

image

有点烦人,先转移一下话题:What would Pinhead’s eye look like close up?

image image

image

如果两个人同时看这一景物,将是什么样的呢?

image image

image

image

image

再回到对极几何图上来,通过上面几幅图示,利用对极几何的约束关系,我们可以:

1. 找到物点P在左像平面上的像点 pl pl

2. 画出极线 plel plel

3. 找到极平面 Olplel Olplel与右像平面的交线,即得极线 prer prer

4. 像点 pl pl的对应点一定在极一 prer prer上。

image

两个相机坐标系之间的关系为

image

由于R是正交矩阵,因此可写为

image

三向量共面,它们的混合积为零(混合积对应于有向体积)

image

将向量乘(叉乘)写成矩阵的形式

image

image

通过进一步的改写,可以得到左像点和右像点之间约束关系(非常简单、漂亮)

image

显然,左像点 pl pl和右像点 pr pr是通过矩阵 E=RS E=RS来约束的,我们称矩阵 E E为本质矩阵(Essential Matrix),它的基本性质有:

• has rank 2(秩为2)

• depends only on the EXTRINSIC Parameters (R & T)(仅依赖于外部参数R和T)

 

关于本质矩阵的性质,见下一节:立体视觉基础5——本质矩阵与基本矩阵

总结:看到这么多公式,要炸。

这篇关于计算机视觉基础4——对极几何(Epipolar Geometry)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/957957

相关文章

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

python操作redis基础

《python操作redis基础》Redis(RemoteDictionaryServer)是一个开源的、基于内存的键值对(Key-Value)存储系统,它通常用作数据库、缓存和消息代理,这篇文章... 目录1. Redis 简介2. 前提条件3. 安装 python Redis 客户端库4. 连接到 Re

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

SpringBoot基础框架详解

《SpringBoot基础框架详解》SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等,使用SpringBoot可以不用或者只需要很少的Spring配置就可以让企业项目快... 目录SpringBoot基础 – 框架介绍1.SpringBoot介绍1.1 概述1.2 核心功能2

Spring Boot集成SLF4j从基础到高级实践(最新推荐)

《SpringBoot集成SLF4j从基础到高级实践(最新推荐)》SLF4j(SimpleLoggingFacadeforJava)是一个日志门面(Facade),不是具体的日志实现,这篇文章主要介... 目录一、日志框架概述与SLF4j简介1.1 为什么需要日志框架1.2 主流日志框架对比1.3 SLF4

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin

MySQL复合查询从基础到多表关联与高级技巧全解析

《MySQL复合查询从基础到多表关联与高级技巧全解析》本文主要讲解了在MySQL中的复合查询,下面是关于本文章所需要数据的建表语句,感兴趣的朋友跟随小编一起看看吧... 目录前言:1.基本查询回顾:1.1.查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J1.2.按照部门

Android Mainline基础简介

《AndroidMainline基础简介》AndroidMainline是通过模块化更新Android核心组件的框架,可能提高安全性,本文给大家介绍AndroidMainline基础简介,感兴趣的朋... 目录关键要点什么是 android Mainline?Android Mainline 的工作原理关键