MVG学习笔记(3) --从多个视角重建
文章目录
- 从多个视角重建
- 重建步骤
从多个视角重建
我们现在转向本次博文的议题- 从几幅图像重建场景。 最简单的情况是两个图像,我们将首先考虑。 作为一种数学抽象,我们将讨论局限于仅由点组成的“场景”。
对于重建的许多算法,通常输入是一组点对应关系。
因此,在两视图的情况下,我们在两个图像中考虑一组对应关系xi↔xi′{\rm x}_i \leftrightarrow {\rm x}^\prime_ixi↔xi′。 假设存在一些相机矩阵,P\rm PP和P′{\rm P^\prime}P′ 以及一组3D点Xi{\rm X}_iXi,由这些图像上产生对应关系,满足于PXi=xi{\rm PX}_i={\rm x}_iPXi=xi和P′Xi=xi′{\rm P^\prime X}_i={\rm x}^\prime_iP′Xi=xi′。
因此,点Xi{\rm X}_iXi投射到两个给定的数据点。 但是,摄像机(由投影矩阵P\rm PP和P′{\rm P^\prime}P′ 表示)和点Xi{\rm X}_iXi都不是已知的。 我们的任务是确定它们。
我们的已知条件是对应图像中的匹配点对,我们的目标是计算所谓的camera matrix和3D空间中的实际点云!
从一开始就很清楚,不可能唯一地确定点的位置。 这是一个普遍的模糊性,无论我们给出了多少图像,即使我们不仅仅有点对应数据。
例如,给定几个立方体的图像,不可能分辨它的绝对位置(它位于Addis Ababa的夜总会,还是大英博物馆),它的方向(面朝北)或其大小。
通过这个例子我们想说的是,重建最多可能达到世界的相似变换。 然而,事实证明,除非已知关于两个相机的校准,否则重建中的模糊性由更一般的变换类 -射影变换表示。
产生这种模糊性是因为可能将射影变换(由4×4矩阵H表示)应用于每个点Xi{\rm X}_iXi,并且在每个相机矩阵Pj{\rm P}_jPj的右侧,而不改变射影图像点,因此:
PjXi=(PjH−1)(HXi){\rm P}_j{\rm X}_i = ({\rm P}_j{\rm H}^{-1})({\rm HX}_i)PjXi=(PjH−1)(HXi)
没有令人信服的理由选择一组点和相机矩阵而不是另一组。 H的选择基本上是任意的,我们说重建具有射影模糊性,或者是射影重建。
然而,好消息是这是可能发生的最坏情况。 可以从两个视图重建一组点,直到不可避免的投影模糊。为了能够这样说,我们需要做一些条件限制; 必须有足够多的点,至少七个,并且它们不能位于各种明确定义的关键配置(critical configurations)中。
从两个视图重建点集的基本工具是基础矩阵(fundamental matrix),它表示如果它们是相同3D点的图像,则图像点x\rm xx和x′\rm x^\primex′所要遵循的约束。
这种约束源于两个视图的相机中心,图像点和空间点的共面性。
给定基本矩阵F\rm FF,一对匹配点xi↔xi′{\rm x}_i \leftrightarrow {\rm x}^\prime_ixi↔xi′, 必须满足
xi′Fxi=0{\rm x}^\prime_i{\rm F}{\rm x}_i=0xi′Fxi=0
其中F\rm FF是秩为2的3×3矩阵。这些方程在矩阵F\rm FF的元素(entries)中是线性的,这意味着如果F\rm FF是未知的,则可以从一组点对应计算它。
一对相机矩阵P\rm PP和P′{\rm P^\prime}P′ 唯一地确定基本矩阵F\rm FF,相反,基本矩阵确定一对相机矩阵,直到3D射影模糊度。 因此,基本矩阵封装了这对相机的完整投影几何,并且通过3D的射影变换而不变。
重建步骤
用于重建场景的基础矩阵方法非常简单,包括以下步骤:
- 给定两个视图中的几个点对应关系xi↔xi′{\rm x}_i \leftrightarrow {\rm x}^\prime_ixi↔xi′,基于共面方程xi′Fxi=0{\rm x}^\prime_i{\rm F}{\rm x}_i=0xi′Fxi=0在F的元素中形成线性方程。
- 找到F\rm FF作为一组线性方程的解
- 根据某些给出的简单公式(后期博文若有需求则更新)计算F\rm FF中的一对相机矩阵。
- 鉴于两个相机(P\rm PP,P′{\rm P^\prime}P′)和相应的图像点对xi↔xi′{\rm x}_i \leftrightarrow {\rm x}^\prime_ixi↔xi′,找到射影到给定图像点的3D点Xi{\rm X}_iXi。 以这种方式求解X\rm XX被称为三角测量。
这里给出的算法只是一个大纲,以后会详细讨论了它的每个部分。 该算法不应直接从该简要描述中实现。
MVG学习笔记(3) --从多个视角重建相关推荐
- 【论文学习笔记-2】高分辨率3D深度重建
[论文学习笔记-2] 高分辨率3D深度重建 背景介绍 模型 目标 Related Works 背景介绍 应用场景广泛:桥,电缆etc 高分辨率图像的特点:像素多,potential disparity ...
- MVG学习笔记(1) --无处不在的射影几何
文章目录 前言 无处不在的射影几何 坐标 齐次性 仿射和欧几里得几何 仿射几何 欧几里得几何 3D欧几里得几何 前言 关于计算机视觉圣经的学习笔记.本次此系列的博文除了本次博文,基本不会包含前言了 ...
- 冈萨雷斯《数字图像处理》学习笔记(4)--图像复原与重建(含傅里叶切片定理推导)
一.图像复原模型 若H是线性的,空间不变的过程,则退化图像在空间域通过下式给出: g(x,y)=h(x,y)∗f(x,y)+δ(x,y)g(x,y)=h(x,y)*f(x,y)+\delta(x,y) ...
- Games201学习笔记3:欧拉视角
学习教程来自:GAMES201:高级物理引擎实战指南2020 以下大部分图片来自教程PPT,仅作为笔记用于学习和分享,侵删 笔记内容大多为课程内容的翻译和转述,外加一些自己的理解,若有不正确的地方恳请 ...
- Unity的学习笔记(鼠标移动控制视角移动)
using UnityEngine;public class MouseLook : MonoBehaviour {public enum RotationAxes { MouseXAndY = 0, ...
- MVG学习笔记(10) --射影变换的初步了解
文章目录 射影变换的初步了解 逆命题 平面间的映射 消除平面透视图像的射影失真 直线与二次曲线的变换 直线的变换 二次曲线的变换 博文内容总结和概览 知识 定理 射影变换的初步了解 2D射影几何研 ...
- MVG学习笔记(5) --四视图几何和n视图重建
四视图几何和n视图重建 可以使用基于张量的方法再进行一步,并定义四个视图中可见的四焦点张量相关实体. 然而这种方法很少使用,因为计算符合其内部约束的四焦点张量的相对困难. 然而,它确实提供了基 ...
- MVG学习笔记(7) --自动标定和3D图形模型
文章目录 自动标定 已知在无穷远处的平面 给定图像中的方形像素进行自动校准 3D图形模型 视频增强 自动标定 在不了解相机标定的情况下,不可能比射影重建做得更好. 在任意数量的视图中的一组特征 ...
- MVG学习笔记(8) --背景和平面几何
文章目录 后续知识背景 投影几何与二维变换 平面几何 后续知识背景 后面的博文会讲述该阶段相关的内容,这是背景介绍. 本博文讲述一些将使用的表示,术语和符号,为后续的博文打基础. 射影几何 ...
最新文章
- linux上安装pycharm
- Arduino方式开发ESP32笔记:使用Preferences保存数据
- ubuntu下配置交叉编译环境
- MPLS/×××分解:防止PE-CE的路由环路
- 用户自定义类型(User-defined Type)参数的传递
- wxWidgets:窗口大小概述
- python默认深拷贝_Python 深拷贝与浅拷贝
- python字典属于无序序列_Python序列结构--字典
- c语言洗牌发牌结构体,C语言程序设计课程设计多功能计算器、洗牌发牌、学生文件处理、链表处理.doc...
- keras embedding层_初识TextCNN及keras实现
- 华为路由器内部服务器地址映射不起作用,第一次买华为AR2204-s路由,内部服务器映射问题...
- 数字电路:常见的锁存器浅析
- Python学生成绩计算和平均值
- ASP.NET类计算机专业毕业设计题目选题课题
- 京胡琴师-周佑军[转]
- 天刀手游服务器维护11月7号,天涯明月刀手游11月11日正式服维护公告
- jsp常见面试题(1)
- Linux学习-redis主从架构
- H3C云AP瘦转胖fit转fat超详细图文攻略
- 按键精灵多语言自动截图
热门文章
- 苹果微信浏览器html缓存图片吗,h5清理微信浏览器网页缓存
- 基于QT的多媒体播放器
- 选购手机时,运行内存和处理器先考虑哪个?来说说你的观点
- 龙族幻想微信一区哪个服务器人多,龙族幻想哪个区人最多_龙族幻想哪个区人多一点...
- Science重磅 | 新技术Slide-seq能以高空间分辨率测量全基因组的表达情况
- 用word制作电子公章
- 三星980处理器和骁龙855_骁龙855、麒麟980、Exynos9820谁最强?看完秒懂
- 患腰.凸,险些瘫痪,如今却行动自如,他是如何康复的?
- neuoj1472 yuki的氪金之旅(倒置树状数组
- js检查中英文数字的正则表达式,检查特殊字符