计算机视觉之三维重建(5)---双目立体视觉

文章目录

  • 一、平行视图
    • 1.1 示意图
    • 1.2 平行视图的基础矩阵
    • 1.3 平行视图的极几何
    • 1.4 平行视图的三角测量
  • 二、图像校正
  • 三、对应点问题
    • 3.1 相关匹配法
    • 3.2 归一化相关匹配法
    • 3.3 窗口问题
    • 3.4 相关法存在的问题
    • 3.5 约束问题


一、平行视图

1.1 示意图

 如下图即是一个平行视图。特点:(1) 两个平面平行。 (2) 基线平行于图像平面,极点 e e e e ′ e' e 位于无穷远处。

在这里插入图片描述

1.2 平行视图的基础矩阵

 1. 对于基础矩阵我们有另一个表达式: F = e ′ × K ′ R K − 1 F=e'×K'RK^{−1} F=e×KRK1,推导过程如下所示。

在这里插入图片描述

 2. 在平行视图情况下,极点交于无穷远处,所以我们可以假定极点 e ′ = [ 1 , 0 , 0 ] T e'=[1,0,0]^T e=[1,0,0]T,平行视图下, K = K ′ K=K' K=K R = I R=I R=I,那么对于平行视图有:

在这里插入图片描述

1.3 平行视图的极几何

 1. 极线是水平的,平行于 u u u 轴。

 2. 平行视图下, p p p p ′ p' p v v v 轴方向坐标相同,即垂直方向没有变换。

 3. 极点位于无穷远处。

 4. 已知 p p p F F F 的情况下, p ′ p' p 只需要按着扫描线寻找即可,扫描线指的是过 p p p 且平行于 u u u 轴的线。

在这里插入图片描述

在这里插入图片描述

1.4 平行视图的三角测量

 1. 俯视这个平行视图,两个摄像机平面就会变成线。 P P P O 1 O_1 O1 O 2 O_2 O2 的距离表示为深度 z z z O 1 O_1 O1 O 2 O_2 O2 的距离为 B B B,焦距为 f f f。利用相似三角形底比高可得视差与深度 z z z 成反比。

在这里插入图片描述

在这里插入图片描述

 2. (1) 平行视图中的视差图:根据两台平行摄像机在不同角度观察同一物体或场景时,由于视角差异造成的图像的差异进而推断出物体的深度和距离,得到一幅信息图,可以用于对物体或场景的三维重建和识别。 (2) 3D电影通过用两个摄像头同时模拟拍摄同一场景,模拟人眼双眼视觉,再将两个平行视图分别投影到屏幕上,由于使用特殊的偏振式眼睛,通过人眼的立体视觉原理,会给观众感知到一种立体的深度效果。

在这里插入图片描述

在这里插入图片描述

二、图像校正

 1. 图像校正:使一组非平行视图通过校正构建成平行视图。

 2. 图像校正有五步:
 (1) 在两幅图像 l l l l ′ l' l 上找到一组匹配点 p i ↔ p i ′ p_i↔p'_i pipi,不少于 8 8 8 个。

 (2) 计算基础矩阵 F F F(八点法),求解两幅图像中的极点 e e e e ′ e' e
在这里插入图片描述

 (3) 选择透视变换 H ′ H' H e ′ e' e 映射到无穷远点 ( f , 0 , 0 ) (f,0,0) (f,0,0),变换公式: H = T − 1 G R T H=T^{-1}GRT H=T1GRT
 ① 先将图像的中心点从左下角移到中心。② 构造 R R R。③ 构造 G G G

在这里插入图片描述

 (4) 对透视变换矩阵 H H H 进行变换,使得经过 H H H H ′ H' H 变换后的两个像平面满足平行视图要求: Σ d ( H p i , H ′ p i ′ ) Σd(Hp_i,H'p_i') Σd(Hpi,Hpi)

 (5) 分别利用新的矩阵 H H H H ′ H' H,对左右两幅图像 l l l l ′ l' l 进行重采样,得到一组平行视图。

在这里插入图片描述

三、对应点问题

 对应点搜索问题,即根据 p p p 点寻找对应 p ′ p' p 点的问题,我们根据平行视图极几何关系可知, p ′ p' p 点一定在扫描线上,这样可以进一步缩小的检索范围。

3.1 相关匹配法

 通过点与点之间 3 ∗ 3 3*3 33 窗口的相关性来进行判断。作为相关性标准,该方法可行依据在于,一般情况下一个图像上像素颜色或灰度的变化是平滑的,这样近似相同点平方的最大值的和在理论上大于高偏差点平方的最大值的和。

在这里插入图片描述

3.2 归一化相关匹配法

 1. 对于一个图像上存在像素颜色或灰度变化突变的情况,上一种方法会出现计算误差较大,所以需要进行归一化。

 2. 归一化相关匹配法:改变原来的相似性度量,通过每个窗口向窗口均值进行归一化,达到平滑的效果。

在这里插入图片描述

在这里插入图片描述

3.3 窗口问题

 对于较小的窗口:会引入更多的噪声,更容易受到噪声影响,但反之也会在没有噪声影响的地方提供更精确的信息。对于较大的窗口:通过归一化操作可以平滑更多的噪声,但也会丢失一部分细节。

在这里插入图片描述

3.4 相关法存在的问题

 1. 透视缩短和遮挡问题:

在这里插入图片描述

 2. 当遇到不规则物体在视角上存在遮挡时,可能由于 B / z B/z B/z 的过大,两个像平面无法得到更多的信息交互,导致信息丢失,所以可以适当减小 B / z B/z B/z。但当 B / z B/z B/z 过小时,由于双目视觉上遮挡的信息只能尽量的去弱化,不能去消除,所以当 B / z B/z B/z 过小时,物体的突出部会造成过大的深度误差,从而在三维重建过程中存在视觉上的明显错误。

在这里插入图片描述

 3. 同质区域:由于存在世界坐标下不同区域但颜色非常相近的地方,所以会导致误差的产生,比如用双目视觉去测量一堵白墙的形状,但光影极其不明显。

在这里插入图片描述

 4. 对于世界实物上存在重复的区域,这会对双目视觉的三维重建产生较大的影响。

在这里插入图片描述

3.5 约束问题

 1. 唯一性约束:对于一张图像中的任何点,在另一张图像上最多只有一个匹配点,不存在同质区域和重复区域。

在这里插入图片描述

 2. 顺序约束/单调性约束:左右视图中的对应点次序一致,保证不存在遮挡。

在这里插入图片描述

 3. 平滑性约束:视差函数通常是平滑的,减少曝光亮度突变的问题。

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

视觉检测系统,外观细节无可挑剔

在传统行业中,利用人工检测来检测产品外观缺陷依然是主流,但由于竞争的加剧,对企业生产效率的要求也越来越高。传统的检测产品外观缺陷问题的方法就是透过人工目检,或者工人采用游标卡尺等工具检测,此种方式检测速度慢…

如何优化嵌入式系统的实时性能

大家好,今天给大家介绍如何优化嵌入式系统的实时性能,文章末尾附有分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!可进群免费领取。 优化嵌入式系统的实时性能是一个综合性的任务,涉及到…

【介绍什么是DDOS】

🌈个人主页:程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

C语言 | Leetcode C语言题解之第6题Z字形变换

题目&#xff1a; 题解&#xff1a; char * convert(char * s, int numRows){int n strlen(s), r numRows;if (r 1 || r > n) {return s;}int t r * 2 - 2;char * ans (char *)malloc(sizeof(char) * (n 1));int pos 0;for (int i 0; i < r; i) { // 枚举矩阵的…

wps没保存关闭了恢复数据教程

有时候我们因为电脑问题会忘记保存就关闭wps导致数据丢失&#xff0c;不知道wps没保存关闭了怎么恢复数据&#xff0c;其实数据是无法恢复的。 wps没保存关闭了怎么恢复数据 1、wps没有数据恢复功能&#xff0c;不过可以开启自动备份。 2、我们可以先点击wps左上角的“文件”…

tcpdump + wireshark 服务器抓包分析

tcpdump wireshark 服务器抓包分析 1.tcpdump安装2.tcpdump使用3.安装wireshark4.使用wireshark 本文用以总结使用tcpdump进行抓包&#xff0c;然后使用wireshark工具打开抓包出来的pacp文件进行分析。通过tcpdump可以实时监控到linux服务器中tcp和http、https等通讯的内容和信…

【C++进阶】二叉搜索树(来自二叉树的复仇)

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;c大冒险 总有光环在陨落&#xff0c;总有新星在闪烁 [本节目标] 1. 二叉搜索树…

软件架构风格_2.调用/返回体系结构风格

调用/返回风格是指在系统中采用了调用与返回机制。利用调用-返回实际上是一种分而治之的策略&#xff0c;其主要思想是将一个复杂的大系统分解为若干子系统&#xff0c;以便降低复杂度&#xff0c;并且增加可修改性。程序从其执行起点开始执行该构件的代码&#xff0c;程序执行…

使用 Docker 部署 Puter 云桌面系统

1&#xff09;Puter 介绍 :::info GitHub&#xff1a;https://github.com/HeyPuter/puter ::: Puter 是一个先进的开源桌面环境&#xff0c;运行在浏览器中&#xff0c;旨在具备丰富的功能、异常快速和高度可扩展性。它可以用于构建远程桌面环境&#xff0c;也可以作为云存储服…

基于单片机PM2.5监测系统仿真设计

**单片机设计介绍&#xff0c;基于单片机PM2.5监测系统仿真设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机PM2.5监测系统仿真设计概要主要涉及通过单片机实现对PM2.5浓度的实时监测与显示&#xff0c;并通过仿真工…

Python快速入门系列-8(Python数据分析与可视化)

第八章:Python数据分析与可视化 8.1 数据处理与清洗8.1.1 数据加载与查看8.1.2 数据清洗与处理8.1.3 数据转换与整理8.2 数据可视化工具介绍8.2.1 Matplotlib8.2.2 Seaborn8.2.3 Plotly8.3 数据挖掘与机器学习简介8.3.1 Scikit-learn8.3.2 TensorFlow总结在本章中,我们将探讨…

hive词频统计---文件始终上传不来

目录 准备工作&#xff1a; 文件内容&#xff1a; 创建数据库及表 将文件上传到&#xff1a;上传到/user/hive/warehouse/db1.db/t_word目录下 hive里面查询&#xff0c;始终报错&#xff1a;&#xff08;直接查询也是不行&#xff09; 解决方案&#xff1a; 准备工作&am…

用于AGV物流机器人的爱普生陀螺仪传感器XV7000系列

适用于AGV物流机器人的爱普生陀螺仪传感器XV7000系列:XV7001BB&#xff0c;XV7011BB。以前我们都知道XV7001BB&#xff0c;XV7011BB适用于扫地机器人&#xff0c;其实对于AGV物流机器人来说&#xff0c;XV7000系列生陀螺仪传感器也是其中重要一环。AGV机器人又叫做AGV搬运机器人…

基于java+SpringBoot+Vue的校园交友网站设计与实现

基于javaSpringBootVue的校园交友网站设计与实现 开发语言: Java 数据库: MySQL技术: SpringBoot MyBatis工具: IDEA/Eclipse、Navicat、Maven 系统展示 前台展示 后台展示 系统简介 整体功能包含&#xff1a; 校园交友网站是一个为在校师生提供一个交流互动、寻找朋友的…

手搓 Docker Image Creator(DIC)工具(02):预备知识

此节主要简单介绍一下 Docker、Dockerfile 的基本概念&#xff0c;Dockerfile 对的基本语法&#xff0c;Windows 和 macOS 下 Docker 桌面的安装&#xff0c;Docker 镜像的创建和运行测试等。 1 关于 Docker Docker 是一个开源的应用容器引擎&#xff0c;它允许开发者打包应用…

Python实现BOA蝴蝶优化算法优化BP神经网络回归模型(BP神经网络回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蝴蝶优化算法(butterfly optimization algorithm, BOA)是Arora 等人于2019年提出的一种元启发式智能算…

Incus:新一代容器与虚拟机编排管理引擎

Incus是什么&#xff1f; Incus是一个用于编排管理应用型容器、系统型容器及虚拟机实例的管理工具。它是对 Canonical LXD 的继承与发展&#xff0c;引入了更多的存储驱动支持。 Incus项目的产品地址&#xff1a;Linux Containers - Incus - Introduction 在 LXC-Incus 项目…

【蓝牙协议栈】【BLE】【ATT】低功耗蓝牙之属性协议介绍

1. 精讲蓝牙协议栈&#xff08;Bluetooth Stack&#xff09;&#xff1a;SPP/A2DP/AVRCP/HFP/PBAP/IAP2/HID/MAP/OPP/PAN/GATTC/GATTS/HOGP等协议理论 2. 欢迎大家关注和订阅&#xff0c;【蓝牙协议栈】和【Android Bluetooth Stack】专栏会持续更新中.....敬请期待&#xff01…

HarmonyOS 应用开发之通过数据管理服务实现数据共享静默访问

场景介绍 典型跨应用访问数据的用户场景下&#xff0c;数据提供方会存在多次被拉起的情况。 为了降低数据提供方拉起次数&#xff0c;提高访问速度&#xff0c;OpenHarmony提供了一种不拉起数据提供方直接访问数据库的方式&#xff0c;即静默数据访问。 静默数据访问通过数据…

uniApp使用XR-Frame创建3D场景(4)金属度和粗糙度

上一篇讲解了如何在uniApp中创建xr-frame子组件并创建简单的3D场景。 这一篇我们讲解xr-frame中关于mesh网格材质的金属度和粗糙度的设置。 1.先看源码 <xr-scene render-system"alpha:true" bind:ready"handleReady"> <xr-node visible"{…