【计算机视觉】Lecture 18:广义的立体视觉:对极几何

2024-05-11 07:58

本文主要是介绍【计算机视觉】Lecture 18:广义的立体视觉:对极几何,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

广义的立体视觉

主要思想:任何两张有重叠视图的图像,它们都可以被视为一对立体图像

我们只需要弄清楚这两个视图是如何关联的

视觉中一些最“漂亮”的数学问题是描述多个视图之间的几何关系。

回忆:对极约束(Epipolar Constraint)

重要的立体视觉概念:

给定左图像上的一个点,我们不必在整个右图像中搜索对应的点

“对极约束”将搜索空间缩小为一条一维的直线。

回顾:简单的立体视觉系统

在这里插入图片描述

回顾:对极约束

在这里插入图片描述

相应的特征被限制在共轭的极线上(在我们简单配置的例子中是位于同一行上的)

广义的立体视觉

在这里插入图片描述

一般来说,相机可以通过任意变换(R,T)进行关联:对极矩阵

一般来说,相机内参可能是不同的,甚至是未知的:基础矩阵

对极几何

在这里插入图片描述

Ol, Or的连线与两个像平面的交点为el, er,称为极点(Epipoles)
Ol, Or, P三个点确定的平面称为极平面(Epipolar plane)
极平面与两个像平面的相交线plel,prer称为极线(Epipolar line)
对应的点在“共轭”的极线上:对极约束

可视化

在这里插入图片描述

光线到场景中的点

在这里插入图片描述

将线系在管脚上,并将焦点连接到场景点
对另一个观察者来说这会是什么样子?

从第二个观察者看到的光线

在这里插入图片描述

从第一个观察者看到的光线

在这里插入图片描述

对极几何

在这里插入图片描述

左边
极点:相机1所看到的相机2的位置。

右边
极点:相机2所看到的相机1的位置

对极几何

在这里插入图片描述

对应点位于共轭极线上

对极几何

在这里插入图片描述

共轭极线在图像上产生了广义的一维“扫描线”序列(类似于图像中行的传统扫描线序列)

极点不一定要在图像中

在这里插入图片描述

对极几何

在这里插入图片描述

Ol, Or的连线与两个像平面的交点为el, er,称为极点(Epipoles)
Ol, Or, P三个点确定的平面称为极平面(Epipolar plane)
极平面与两个像平面的相交线plel,prer称为极线(Epipolar line)
对应的点在“共轭”的极线上:对极约束

对极约束

在这里插入图片描述

给定左特征点pl:

  1. 考虑它的极线:plel;
  2. 找到极平面Ol, pl, el;
  3. 极平面和右像平面的交叉线为右极线
  4. 在右极线上寻找pr

本质矩阵Essential Matrix

在这里插入图片描述

回忆:通过(R,T)将世界坐标系到相机坐标系的变换。在这里,我们从一个相机转变到另一个相机。

在这里插入图片描述

极线约束:Pl,T和Pl-T是共面的

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

向量积作为矩阵乘法

在这里插入图片描述

本质矩阵

在这里插入图片描述
本质矩阵:在这里插入图片描述

那么在这里插入图片描述

本质矩阵的性质

在这里插入图片描述

  • rank为2
  • 仅取决于外参(R和T)

这篇关于【计算机视觉】Lecture 18:广义的立体视觉:对极几何的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/978952

相关文章

uva 10387 Billiard(简单几何)

题意是一个球从矩形的中点出发,告诉你小球与矩形两条边的碰撞次数与小球回到原点的时间,求小球出发时的角度和小球的速度。 简单的几何问题,小球每与竖边碰撞一次,向右扩展一个相同的矩形;每与横边碰撞一次,向上扩展一个相同的矩形。 可以发现,扩展矩形的路径和在当前矩形中的每一段路径相同,当小球回到出发点时,一条直线的路径刚好经过最后一个扩展矩形的中心点。 最后扩展的路径和横边竖边恰好组成一个直

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

poj 3304 几何

题目大意:给出n条线段两个端点的坐标,问所有线段投影到一条直线上,如果这些所有投影至少相交于一点就输出Yes!,否则输出No!。 解题思路:如果存在这样的直线,过投影相交点(或投影相交区域中的点)作直线的垂线,该垂线(也是直线)必定与每条线段相交,问题转化为问是否存在一条直线和所有线段相交。 若存在一条直线与所有线段相交,此时该直线必定经过这些线段的某两个端点,所以枚举任意两个端点即可。

POJ 2318 几何 POJ 2398

给出0 , 1 , 2 ... n 个盒子, 和m个点, 统计每个盒子里面的点的个数。 const double eps = 1e-10 ;double add(double x , double y){if(fabs(x+y) < eps*(fabs(x) + fabs(y))) return 0 ;return x + y ;}struct Point{double x , y

poj 2653 几何

按顺序给一系列的线段,问最终哪些线段处在顶端(俯视图是完整的)。 const double eps = 1e-10 ;double add(double x , double y){if(fabs(x+y) < eps*(fabs(x) + fabs(y))) return 0 ;return x + y ;}struct Point{double x , y ;Point(){}Po

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频) 停车管理信息系统是为了提升停车场的运营效率和管理水平而设计的综合性平台。系统涵盖用户信息管理、车位管理、收费管理、违规车辆处理等多个功能模块,旨在实现对停车场资源的高效配置和实时监控。此外,系统还提供了资讯管理和统计查询功能,帮助管理者及时发布信息并进行数据分析,为停车场的科学