计算机视觉之三维重建(4)---三维重建基础与极几何

文章目录

  • 一、三维重建基础
    • 1.1 问题引入
    • 1.2 线性解法
    • 1.3 非线性解法
    • 1.4 多视图几何的关键问题
  • 二、极几何与基础矩阵
    • 2.1 极几何
    • 2.2 极几何特例
    • 2.3 本质矩阵
    • 2.4 本质矩阵的性质
    • 2.5 基础矩阵
    • 2.6 基础矩阵的性质
  • 三、基础矩阵估计


一、三维重建基础

1.1 问题引入

 1. 从单张图像恢复场景几何比较困难。比如下面这张图,图片上人和塔几乎高度相同,但是我们不知道人和塔离摄像机的距离,无法还原真实场景。

在这里插入图片描述

 2. 要解决上面这个问题,我们必须有 “双眼系统” 才能解决。因为两条射线可以确定交点。但由于噪声的存在,两条直线通常不相交。我们应该如何通过两个摄像机像平面的点 p p p p ′ p' p 以及两个摄像机内参数 K K K K ′ K' K、三角化的矩阵 R R R T T T,来计算世界坐标系下的 P P P 点的坐标呢?
 有线性解法和非线性解法两种。

在这里插入图片描述

1.2 线性解法

 通过摄像机模型关系我们可以得到关于 p p p p ′ p' p 的式子,如下图左半部分所示。 那么我们可以根据这两个式子,对于同一个点以及两个像平面点之间的对应关系,写出四个齐次方程,但是未知数只有三个,所以是一个超定齐次线性方程组,可以用齐次方程的最小二乘解来进行计算。

在这里插入图片描述

1.3 非线性解法

 非线性解法对于下图来说,由于存在噪声,对于 P P P 点在两个平面的投影 M P MP MP M ′ P ∗ M'P^* MP 与真实的像平面 p p p p ′ p' p 存在一定的误差,所以寻找 m i n [ d ( p , M P ) + d ( p ′ , M ′ P ) ] min[d(p,MP)+d(p',M'P)] min[d(p,MP)+d(p,MP)]的值,仍然是一个齐次非线性方程组的问题,所以用牛顿法和 L − M L-M LM 方法来求解。

在这里插入图片描述

1.4 多视图几何的关键问题

 1. 摄影机几何:从一张或多张图像中求解摄像机的内外参数。

 2. 场景几何:通过二至多幅图片寻找3D场景坐标。

 3. 对应关系:已知一个图像的 p p p 点,如何在另一个图像上找到 p ′ p' p 点。

二、极几何与基础矩阵

2.1 极几何

 1. 极几何:描述同一场景或者物体的两个视点图像间的几何关系。极几何主要解决的就是多视图几何的第三个问题: p p p p ′ p' p 的对应关系。

 2. 对于下图,两个平面就是指两个视点图像,也就是两个摄像机的像平面。 p p p p ′ p' p 是两个像素点。
 (1) 极平面:过点 P P P O 1 O_1 O1 O 2 O_2 O2 的平面,也就是 P P P p p p p ′ p' p 所组成的平面,这两个平面相似。
 (2) 基线: O 1 O_1 O1 O 2 O_2 O2 的连线。
 (3) 极线:极平面与成像平面的交线,即 p e pe pe p ′ e ′ p'e' pe 直线。
 (4) 极点:基线与成像平面的交点,即下图的 e e e e ′ e' e

 3. 性质:
 (1) 极平面相交于基线,应该是基线在极平面上。
 (2) 极线相交于极点。
 (3) 对于不同的世界坐标点 P P P 和点 Q Q Q,在两个像平面的极点 e e e e ′ e' e 不变。
 (4) p p p 的对应点在另一个相机的极线 l ′ l' l 上。(对应点指的是两个相机之间的三角化 R R R T T T 对应关系)
 (5) p ′ p' p 的对应点在另一个相机的极线 l l l 上。

在这里插入图片描述

2.2 极几何特例

 1. 平行视图:平行视图是指两个摄像机之间三角化没有旋转关系,只有 u u u 轴的横向平移关系,基线平行于图像平面,两个极点位于无穷远处,极线平行于图像坐标的 u u u 轴。

在这里插入图片描述

 2. 前向平移:前向平移建立在两个摄像机具有两个方向的平移关系,但仍然保持极点位置相同,注意不是说同一个物体在同一个位置上。

在这里插入图片描述

 通过极几何的约束,可以将搜索范围缩小到对应的极线上,而并没有做到对应点,所以存在一个方向上的误差问题。

在这里插入图片描述

2.3 本质矩阵

 1. 本质矩阵:对规范化摄像机拍摄的两个视点图像间的极几何关系进行代数描述。
:这里强调规范化摄像机。规范化摄像机有如下性质。

在这里插入图片描述

 2. 规范化作用:我们假设有两个像平面 I I I I ′ I' I O 1 O_1 O1 O 2 O_2 O2 分别为像平面的原点,图像 I I I 上点 p p p 的像素坐标为 ( u , v ) (u,v) (u,v),图像 I ′ I' I 上点 p ′ p' p 的像素坐标为 ( u ′ , v ′ ) (u',v') (u,v)。此时对于世界坐标系的欧式坐标和两个图像点上的齐次坐标必然一致。

在这里插入图片描述

 3. 本质矩阵的关系表达式: E = T × R E=T×R E=T×R,其中摄像机 1 1 1 经过平移 T T T 变换,旋转 R R R 变换得到摄像机 2 2 2。对于世界坐标的点 P P P 投影到摄影机 1 1 1 的像平面 p p p 点,投影到摄像机 2 2 2 的像平面 p ′ p' p 点有下面关系成立: p ′ T [ T × R ] p = 0 p'^T[T×R]p=0 pT[T×R]p=0,即 p ′ T E p = 0 {p'}^TEp=0 pTEp=0,如何证明?
 我们知道任意一个 I I I 上的点 p p p 经过 R R R T T T 变换得到 I ′ I' I 上的点 p ′ p' p,由于旋转矩阵 R R R 是一个正交矩阵,其转置等于其逆,有 R T R = I R^TR=I RTR=I,所以可以推出 p ′ p' p O 1 O_1 O1 上的坐标。
 过程: p ′ = R p + T p'=Rp+T p=Rp+T,所以 p = R T p ′ − R T T p=R^Tp'-R^TT p=RTpRTT
p p p p ′ p' p 都是规范化摄像机坐标系下的像素坐标。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.4 本质矩阵的性质

 1. p p p 对应的极线是 l ′ l' l,对应关系 l ′ = E p l'=Ep l=Ep

 2. p ′ p' p 对应的极线是 l l l,对应关系 l = E T p ′ l=E^Tp' l=ETp

 3. E e = 0 Ee=0 Ee=0 e ′ T E = 0 e'^TE=0 eTE=0

 4. E E E 是奇异的, r a n k rank rank 2 2 2

 5. E E E 5 5 5 个自由度 (三个平移三个旋转,由于行列式为 0 0 0,去掉一个自由度)。

在这里插入图片描述

2.5 基础矩阵

 基础矩阵:对一般的透视摄像机拍摄的两个视点的图像间的极几何关系进行代数描述。

在这里插入图片描述

在这里插入图片描述

2.6 基础矩阵的性质

 1. 基本上性质与本质矩阵相似,只不过由于多了两个参数 K K K K ′ K' K 所以为 7 7 7 个自由度。

在这里插入图片描述

 2. 基础矩阵作用:基础矩阵中包含了摄像机内参数信息,所以给了基础矩阵,我们无需知道两个摄像机的内外参数就可以建立相同场景在不同视图的对应关系。

三、基础矩阵估计

 1. 首先由于 p ′ T F p = 0 {p'}^TFp=0 pTFp=0 我们可以转化成 W F ′ = 0 WF'=0 WF=0 的齐次形式,此时我们定义新的列向量参数为 F ′ F' F,由于参数列向量 F ′ F' F 一共有 8 8 8 个有效值,所以我们只需要找 8 8 8 组点就可以解这个齐次线性方程组。解齐次线性方程组,仍然可以用齐次线性方程组的最小二乘解,通过找大于 8 8 8 个点,通过求解一个 S V D SVD SVD 问题即可。

在这里插入图片描述

在这里插入图片描述

 2. 但此时有一个问题:当前的 F ′ F' F 与基础矩阵 F F F 并不一致,这一方面可以通过reshape来修改,但由于多组点不一定均为正确点以及噪声点的出现,可能导致 F ′ F' F 矩阵的秩为 3 3 3,而一般基础矩阵 F F F 的秩为 2 2 2,所以我们要进行秩 2 2 2 校正。

在这里插入图片描述

在这里插入图片描述

 3. 由于计算八点法求齐次线性方程组的最小二乘解过程中,参数之间数值差异过大,导致精度较低,误差较大,所以对八个点进行归一化处理。
 对每幅图像施加变换 T T T(平移与缩放),让其满足原点为图像上八个点的重心,各个点到坐标原点的均方根距离均为根号2。所以主要是计算两台摄像机的两幅图像中的 T T T T ′ T' T

在这里插入图片描述

 4. 归一化八点法过程如下所示:

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯刷题之路径之谜

题目来源 路径之谜 不愧是国赛的题目 题意 题目中会给你两个数组,我这里是分别用row和col来表示 每走一步,往左边和上边射一箭,走到终点的时候row数组和col数组中的值必须全部等于0这个注意哈,看题目看了半天,因为…

Win11电脑cpu温度过高怎么办呢

Win11电脑cpu温度过高怎么办呢?有时候我们感觉电脑发烫,担心电脑过烫会不会损坏。正常情况下,cpu的温度在45~65度之间,但不排除电脑同时开了太多软件,或者在玩吃鸡、英雄联盟等的大型游戏而导致温度超过85度。只要最高…

excel设置数字下拉递增方法

excel数字下拉递增怎么设置?在我们平常表格的编辑中,不可避免的会需要有这样“1、2、3、4”的序列排序下来,但为了可以更加节省时间提高工作效率,我们可以设置下拉数字递增哦,还在一个一个手动输入的朋友们&#xff0c…

数据结构——线性表(一)

线性表,顾名思义,是具有像线一样的性质的表。如同学生们在操场上排队,一个跟着一个排队,有一个打头,有一个收尾,在其中的学生都知道前一个是谁,后一个是谁,这样就像一根线将他们都串…

JWT(JSON Web Token)

JSON Web Token 是一种开放标准,用于在网络上安全传输信息的简洁、自包含的方式。它通常被用于身份验证和授权机制。 JWT 由三部分组成:头部(Header)、载荷(Payload)和签名(Signature&#xff…

【深度学习】【机器学习】用神经网络进行入侵检测,NSL-KDD数据集,基于机器学习(深度学习)判断网络入侵

文章目录 下载数据集NSL-KDD数据集介绍输入的41个特征输出的含义数据处理&&训练技巧建神经网络,输入41个特征,输出是那种类别的攻击模型训练模型推理写gradio前端界面,用户自己输入41个特征,后端用模型推理计算后显示出是…

linux环境gitlab迁移到新服务器

目录 备份项目备份gitlab配置阿里云磁盘格式化准备 最近服务器中了挖矿病毒,清理几次,都没有搞定,只能重新安装gitlab 备份项目 先把项目备份到本地 git pull git remote prune origin确保本地代码是最新的并且拥有所有的分支 git remote …

自然语言处理3(NLP)—— 机器学习

1. 自然语言处理在机器学习领域的主要任务 自然语言处理(NLP)在机器学习领域中扮演着至关重要的角色,旨在使计算机能够理解、解释和生成人类语言。以下是NLP在机器学习领域中的主要任务及其分类方法: 1.1 按照功能类型分类 1.1.…

学习可视化比较好用的网站Apache ECharts

Apache ECharts 是一个基于 JavaScript 的开源可视化图表库,它提供了直观、交互丰富且可高度个性化定制的数据可视化图表。这个库最初由百度团队开源,并在 2018 年初捐赠给了 Apache 基金会,成为 ASF 的孵化级项目。在 2021 年 1 月 26 日&am…

Hadoop+Spark大数据技术 第三次作业

第三次作业 1.简述HDFS Shell三种操作命令hadoop fs、hadoop dfs、hdfs dfs的异同点。 相同点 用于与 Hadoop 分布式文件系统(HDFS)交互。可以执行各种文件系统操作,如文件复制、删除、移动等。 不同点 hadoop fs、hadoop dfs已弃用&#xf…

蓝桥杯刷题day10——猜灯谜【算法赛】

一、问题描述 在元宵节的活动现场,有一串环形排列的灯笼,共计 n 个。每个灯笼上伴随着一个谜底以及一个数字,这些数字分别为 a1,a2 ,…,an。 根据元宵节的传统,每个灯笼的谜底都是由相邻两个灯笼上的数字之和得出的。需要注意的…

R语言 for循环问题

今天偶然发现在R的for循环中,作为循环计次的i, 并不会因为在循环体中的赋值变化而变化。 记录一下,还没有找到相关的解释。

centos2anolis

我的centos7原地升级到anolis7记录 注意:如果是桌面版请先卸载firefox,否则so文件冲突。 参考: CentOS 7和8Linux系统迁移到国产Linux龙蜥Anolis OS 8手册_disable pam_pkcs11 module in pam configuration-CSDN博客 关于 CentOS 迁移龙蜥…

SeaTunnel 与 DataX 、Sqoop、Flume、Flink CDC 对比

产品概述 Apache SeaTunnel 是一个非常易用的超高性能分布式数据集成产品,支持海量数据的离线及实时同步。每天可稳定高效同步万亿级数据,已应用于数百家企业生产,也是首个由国人主导贡献到 Apache 基金会的数据集成顶级项目。 SeaTunnel 主…

基于springboot的车辆充电桩管理系统

开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven…

Mac安装minio

Mac安装minio 本文介绍使用 mac 安装 MinIO。 所有软件安装优先参考官网:MinIO Object Storage for MacOS — MinIO Object Storage for MacOS #使用 brew 安装 minio brew install minio/stable/minio#找到 minio tong ~ $ brew list minio /opt/homebrew/Cella…

大模型精准度提升调研

如何让ChatGPT更靠谱 1. 预训练大模型概述 关于预训练 预训练(Pre-training)是深度学习中一种常见的技术,特别是在自然语言处理(NLP)和计算机视觉(CV)等领域中。它通常指在一个大型的、通常是…

搜维尔科技【应急推演】虚拟仿真技术的发展为煤炭矿井的安全生产找到新的出口

煤炭矿井的安全生产一直是我国关注的重大事项,保证煤炭矿井的安全生产,减少人员伤亡等不可逆的损失成为重中之重。虚拟仿真技术的发展为煤炭矿井的安全生产找到了新的出口。依托虚拟仿真技术,对煤炭矿井进行实时的生产监测,对矿井…

65W智能快充—同为科技桌面PDU插座推荐

近10年,移动设备的智能化、功能化已经完全且紧密的融入到我们的基础生活与工作当中。 在常态化的电子设备的应用中,设备的电力续航以及后续的供电充电就尤为重要。 就目前而言,所有消费电子产品中的输入以及充电的接口,usb-c可以…

正则表达式 vs. 字符串处理:解析优势与劣势

title: 正则表达式 vs. 字符串处理:解析优势与劣势 date: 2024/3/27 15:58:40 updated: 2024/3/27 15:58:40 tags: 正则起源正则原理模式匹配优劣分析文本处理性能比较编程应用 1. 正则表达式起源与演变 正则表达式(Regular Expression)最早…