双目视觉实战--单视图测量方法

news2025/1/17 10:54:37

目录

一.简介

二、2D变换

1. 等距变换(欧式变换)

2. 相似变换

3. 仿射变换

4. 射影变换(透视变换)

5. 结论

三、影消点与影消线

1. 平面上的线

2. 直线的交点

3. 2D无穷远点

4. 无穷远直线

5. 无穷远点的透视变换与仿射变换

6. 无穷远线的透视变换与仿射变换

7. 空间中的面和直线

8. 三维空间中的无穷远点(空间中平行线的交点)

9. 影消点

10. 影消线(视平线)

11. 无穷远平面

12. 两组平行线的夹角和影消点的关系

三、单视图重构

1. 单视图标定

2. 单视图重构


一.简介

双目视觉是利用两个摄像头或者图像传感器来模拟人类双眼之间的距离差异(即视差)而实现对物体深度信息的获取和三维立体重建。通过计算两个视角下的物体位置差异,可以得出物体相对于相机的距离,进而实现深度估计和三维重建。在机器视觉、机器人、虚拟现实、增强现实等领域有广泛应用。

单视图测量是指利用一张图像对其中物体的几何尺寸进行估计的方法。它常用于工程、制造、建筑等领域中对物体尺寸和形状进行快速测量和分析。

单视图测量通常涉及以下步骤:

  1. 选择测量对象和拍摄一张图像:从需要测量的物体中选择需要测量的特征,并拍摄一张包含这些特征的图像。

  2. 估计物体尺寸:使用现有的相机参数和基本几何知识(如三角测量、比例关系等)来推断图像中物体的几何尺寸。也可以使用相对高级的计算机视觉技术(如结构光、影像匹配等)来提高测量精度和效率。

  3. 验证测量结果:根据实际测量需求,对测量结果进行验证和校准,例如与现场实际测量值进行比较,或者使用多个视角的测量结果进行融合和校正。

单视图测量的优点在于其简单、直观,不需要额外的传感器和测量设备。但是,由于只利用一张图像进行估计,存在一定的误差和不确定性,尤其是物体形状和光照变化较大时。因此,在实际应用中,通常需要结合其他测量方法和技术来提高精度和可靠性。

二、2D变换

1. 等距变换(欧式变换)

等距变换(Isometric Transformation),也被称为刚体变换(Rigid Transformation),是指在二维或三维空间中保持物体的形状、大小和长度不变的变换。

等距变换包括平移(Translation)、旋转(Rotation)和镜像(Reflection)三种基本操作。平移是沿着某个方向将物体整体移动一定距离,旋转是围绕某个点进行旋转角度的变换,而镜像则是通过翻转物体使其对称。

在二维空间中,等距变换可以表示为:

平移变换:

[x']   [1 0 tx] [x]
[y'] = [0 1 ty] [y]

旋转变换:

[x']   [cosθ -sinθ] [x]
[y'] = [sinθ cosθ]  [y]

镜像变换:

  • 对x轴镜像:
[x']   [1  0] [x]
[y'] = [0 -1] [y]
  • 对y轴镜像:
[x']   [-1 0] [x]
[y'] = [0  1] [y]
  • 对原点镜像:
[x']   [-1  0] [x]
[y'] = [ 0 -1] [y]

在三维空间中,等距变换的表示方式类似,只是需要增加更多的维度和参数来描述物体的移动、旋转和镜像操作。

特点:

  • 不变量:长度、面积
  • 3个自由度
  • 适合描述刚性物体的运动

2. 相似变换

相似变换(Similarity Transformation)是指保持物体形状和比例关系的变换,包括平移、旋转和缩放这三种基本操作。

在二维空间中,相似变换可以表示为:

平移变换:

[x']   [1 0 tx] [x]
[y'] = [0 1 ty] [y]

旋转变换:

[x']   [cosθ -sinθ] [x]
[y'] = [sinθ cosθ]  [y]

缩放变换:

[x']   [s 0] [x]
[y'] = [0 s] [y]

其中,(x, y) 是原始点的坐标,(x', y') 是经过相似变换后得到的新点的坐标,(tx, ty) 是平移的向量,θ 是旋转角度,s 是缩放因子。

相似变换不改变物体的形状和比例关系,只是对物体进行位置的移动、旋转和缩放。它们都是线性变换,保持了直线的性质,但不一定保持角度、曲率等其他几何性质。

特点:

  • 不变量:长度的比值、角度
  • 4个自由度

3. 仿射变换

仿射变换(Affine Transformation)是指将一个点或物体通过线性变换和平移变换映射到另一个空间中的变换。它可以保持物体的平行性、直线性和比例关系,但不一定保持物体的角度和曲率。

仿射变换可以用线性代数的矩阵运算来表示,通常使用一个2x2矩阵表示旋转和缩放的部分,再加上一个2x1的平移向量。在二维平面上,仿射变换可以用如下矩阵形式表示:

[x']   [a b] [x]   [tx]
[y'] = [c d] [y] + [ty]

其中 (x, y) 是原始点的坐标,(x', y') 是经过仿射变换后得到的新点的坐标,(a, b, c, d) 是旋转和缩放的参数,(tx, ty) 是平移的向量。

仿射变换在计算机视觉和图像处理中有广泛的应用,例如图像的旋转、放缩、平移、翻转等操作都可以通过仿射变换实现。此外,仿射变换还可以用于图像配准、图像校正、特征对齐、人脸识别等任务中。

值得注意的是,仿射变换是一种线性变换,它保持直线的性质,但不能保持曲线。如果需要处理非线性变换,例如透视投影,就需要使用更为复杂的射影变换(Projective Transformation)了。

特点:

  • 不变量:平行线、面积的比值
  • 不能保持原有线之间的夹角关系
  • 6个自由度

4. 射影变换(透视变换)

射影变换(Projective Transformation)是指将一个空间中的点或物体经过投影摄像机(perspective camera)或透视图(perspective view)的映射投影到另一个平面或空间中的变换。它通常可以用矩阵来表示,因此也被称为齐次坐标变换(Homogeneous Coordinates Transformation)。

射影变换是一种非线性变换,它可以用一个3x3的矩阵表示,并且由于其具有旋转、平移、缩放和投影等变换效果,因此它可以完成更为复杂的几何变换任务。在计算机视觉中,最常用的射影变换是针孔相机模型(Pinhole Camera Model)下的投影变换,该模型假设相机与场景之间的关系是透视投影。而在图像处理中,射影变换可以被用来实现各种图像的校正和纠偏,例如透视失真纠正、倾斜校正等。

特点:

  • 不变量:共线性、四共线点的交比
  • 不能保持原有平行关系
  • 8个自由度

5. 结论

  • 欧式变换相似变换的特例
  • 相似变换仿射变换的特例
  • 仿射变换透视变换的特例

三、影消点与影消线

1. 平面上的线

2. 直线的交点

3. 2D无穷远点

4. 无穷远直线

无穷远线是无穷远点的几何,也是平面上线的“方向”的集合。

5. 无穷远点的透视变换与仿射变换

        无穷远点经透视变换不是无穷远点

        无穷远点经仿射变换仍是无穷远点

6. 无穷远线的透视变换与仿射变换

        无穷远线经透视变换不是无穷远线

        无穷远线经仿射变换仍是无穷远线

7. 空间中的面和直线

空间中的直线定义为两平面的交线。一般用来描述直线的方向。

8. 三维空间中的无穷远点(空间中平行线的交点)

        空间中平行线的交点

9. 影消点

定义:无穷远点在图像平面上的投影点

设空间中直线方向为

        则影消点和直线方向满足以下关系:

10. 影消线(视平线)

影消线是空间上同一平面的多个无穷远点经透视变换得到的影消点的集合,也是空间上无穷远线经透视变换得到的平面直线。

        影消线和无穷远直线的关系:

影消线和平面法向量之间的关系:

11. 无穷远平面

        平行平面在无穷远处相交于一条公共线,称为无穷远直线。

        两条或多条无穷远直线的集合定义为无穷远平面

12. 两组平行线的夹角和影消点的关系


        由影消点和直线方向的关系,

        可以得到空间中两组平行线的夹角和影消点, 的关系:

此外,有以下性质:

应用:

  • 估计相机参数(单视图标定)
  • 恢复三维场景结构

三、单视图重构

1. 单视图标定

选取三个互相垂直的平面,分别找出三个平面上的影消点。可以列出下面三个方程:
        有5个自由度,但只能列出三个方程。若假定零倾斜、正方形像素,则,即只剩下三个自由度。这样就可以根据三个影消点求解出相机内参数矩阵。


2. 单视图重构

可以由两个影消点画出这一平面的影消线,根据之前求出的内参数矩阵/(K/),即可得到这一平面的法向量:
        同理可以求出另外两个平面的法向量。根据三个平面的方程,即可重构出画面。

注意:

场景的实际比例无法恢复;
需要手动选择影消点和影消线;
需要场景的先验信息,如点对应的关系,线、面几何信息等等。
单幅视图2D到3D的映射具有多义性
 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Yakit单兵作战神器简单使用

文章目录 免配置抓包破解编码数据包DNSLog 官网下载地址:https://yaklang.com/ 使用文档:https://www.yaklang.com/products/intro 免配置抓包 会启动一个和BurpSuite一样的内置浏览器 访问地址,就会拦截到数据包 也可以在history里查看 破解…

屏幕录制视频编辑软件 Camtasia 2023 mac中文版软件功能

Camtasia 2023 mac是一款功能强大的屏幕录制和视频编辑软件,可以用于制作教育课程、演示文稿、培训视频等。它具有一系列工具和功能,包括屏幕录制、视频编辑、音频编辑、字幕、特效等,使用户可以轻松地创建高质量的视频内容。 Camtasia2023的…

DH48WK 温控器参数设置

北京东昊力伟科技有限责任公司 温控仪、温度控制器 产品特点: 可外接温度传感器Pt100、Cu50、K、E、J、N、T、R、S、B兼容输入;PID控制输出、位式控制输出、继电器报警输出;控温能满足设定温度值的0.2℃;既可用于加热控制、也可…

VR数字政务为我们带来了哪些便捷之处?

每每在政务大厅排队的时候,总是在想未来政务服务会变成什么样子呢?会不会变得更加便捷呢?今天我们就来看看VR数字政务,能够为我们带来哪些便捷之处吧! 传统的政务服务中,不仅办事流程复杂,而且每…

5.2 加载矢量图层(delimitedtext,spatialite,wfs,memory)

文章目录 前言加载矢量(vector)图层delimitedtextQGis导入CSV代码导入 SpatiaLite data provider (spatialite)QgsDataSourceUriQGis导入spatialite代码导入 Web服务WFS (web feature service) data provider (wfs)QGis添加图层代码添加 Memory data providerType (memory)QGis…

腾讯云服务器带宽下载速度快吗?多线BGP和CN2高速网络

腾讯云服务器公网带宽下载速度计算,1M公网带宽下载速度是128KB/秒,5M带宽下载速度是512KB/s,腾讯云10M带宽下载速度是1.25M/秒,腾讯云百科txybk.com来详细说下腾讯云服务器不同公网带宽实际下载速度以及对应的上传速度对照表&…

dig 简明教程

哈喽大家好,我是咸鱼 不知道大家在日常学习或者工作当中用 dig 命令多不多 dig 是 Domain Information Groper 的缩写,对于网络管理员和在域名系统(DNS)领域工作的小伙伴来说,它是一个非常常见且有用的工具。 无论是简单的 DNS 解析查找还…

第三章 数据结构与算法——栈和

栈和队列被称为插入和删除受限制的线性表。 🍁一、栈的基本概念 🌕(一)栈的概念: ①:栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。 进行数据插入和删除操作的一端 称为栈…

四川竹哲电子商务有限公司让抖音带货更轻松

随着电子商务的飞速发展,带货直播成为了新的行业热点。四川竹哲电子商务有限公司,一家在电子商务领域有着深厚实力和丰富经验的企业,正以其独特的视角和策略,引领着抖音带货的发展趋势,让这个新型商业模式更加轻松、高…

C++初阶(三)

文章目录 一、auto关键字(C11)1、auto简介2、auto使用规则1、 auto与指针和引用结合起来使用2、 在同一行定义多个变量 3、auto不能推导的场景1、 auto不能作为函数的参数2、 auto不能直接用来声明数组3、特性总结 二、基于范围的for循环(C11)1、范围for的语法2、 范围for的使用…

基于springboot校园二手书交易管理系统

功能如下图所示 摘要 校园二手书交易管理系统是一款基于Spring Boot框架的应用程序,旨在便捷管理大学校园内的二手书籍交易。该系统致力于为学生和教职工提供一个高效、便捷的平台,以便买卖二手书籍,从而减轻经济压力,减少资源浪费…

Linux高性能服务器编程 学习笔记 第十七章 系统监测工具

tcpdump是一款经典的抓包工具,即使今天我们已经有了像Wireshark这样更易于使用和掌握的抓包工具,tcpdump仍是网络程序员的必备利器。 tcpdump提供了一些选项用以过滤数据包或定制输出格式,常见的选项如下: 1.-n:使用I…

ROS 示例

参考链接1 话题中的Publisher与Subscriber 例1: 发送和接收 hello, world 1、创建工作空间 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace创建完成后,可以在工作空间的根目录下使用catkin_make命令编译整个工作空间&#xff1…

nfs+rpcbind实现服务器之间的文件共享

NFS简介 NFS服务及Network File System,用于在网络上共享存储,分为2,3,4三个版本,最新为4.1版本。NFS基于RPC协议,RPC为Remote Procedure Call的简写。 应用场景:用于A,B,C三台机器上需要保证被访问到的文件是一样…

用Bing绘制「V我50」漫画;GPT-5业内交流笔记;LLM大佬的跳槽建议;Stable Diffusion生态全盘点第一课 | ShowMeAI日报

👀日报&周刊合集 | 🎡生产力工具与行业应用大全 | 🧡 点赞关注评论拜托啦! 🔥 美国升级AI芯片出口禁令,13家中国GPU企业被列入实体清单 nytimes.com/2023/10/05/technology/chip-makers-china-lobbying…

QT自定义空间之软键盘

QT自定义空间之软键盘 1.功能列表2.效果2.1 中文键盘&汉字输入2.2 英文输入法2.3 数字键盘2.4 数据键盘效果 3.部分代码3.1 汉字输入3.2 切换数字键盘3.3 键盘显示&隐藏3.4 控件提升3.5样式设置3.6 使用QLineEditAllKeyBoard 控件 1.功能列表 支持中文输入法支持引文输…

jdk7新增时间类Date,SimpleDateFormat,Calendar

Date //需求1 打印时间远点开始一年后的时间extracted();//需求2 定义任意两个date对象 比较那个时间在前 哪个在后Random rnew Random();Date date1new Date(Math.abs(r.nextInt()));Date date2new Date(Math.abs(r.nextInt()));System.out.println(date1);System.out.printl…

在迪拜举行的 GITEX GLOBAL 2023 IT 展览会上,Positive Technologies 荣获两项大奖!

🏆 在迪拜举行的 GITEX GLOBAL 2023 IT 展览会上,Positive Technologies 荣获两项大奖。这两个奖项都是影响力网络安全领域的最佳供应商。 🏵 Future Enterprise Awards 2023 是该地区 IT 行业最重要的奖项之一。该奖项每年颁发给对信息技术…

python---三目运算符

在Python中三目运算符也叫三元运算符,其主要作用:就是用于 简化if...else...语句。 基本语法: 原 if 条件判断: # 语句段1 else: # 语句段2 新-----三目运算符/三元运算符 语句段1 if 条件判断 else 语句段2 案例 输入两个数…

网站如何优化加速,让网站降低延迟

优化网站架构 精简页面加载过程:通过消除冗余代码和不必要的图像,并采用CDN资源分发,以减少加载时间。 精心规划内容架构:通过使用恰当的标题和描述,使搜索引擎能够快速理解页面的内涵。 选择性能出众的前端框架&…