双目视觉简介

article/2025/10/9 18:58:57

hi 小伙伴们,人啊,很容易有惰性,很久不跟新了,不做笔记了,如今“良心发现”,毕业之后第一次更新博客。当然还是学习,整合分享给更多的人!

相信关注我博客和微信公众号的人很多都是做点云处理,那么使用的传感器不是激光就是相机,这里将介绍一下双目立体视觉
这里写图片描述

双目立体视觉,在百度百科里的解释是这样解释的:双目立体视觉(Binocular Stereo Vision)是机器视觉的一种重要形式,它是基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的方法。

我相信未来的世界一定是三维感知的世界,毕竟二维世界很多情况下不能满足要求的,

一 视差 Disparity与深度图

那么提到双目视觉就不得不提视差图:双目立体视觉融合两只眼睛获得的图像并观察它们之间的差别,使我们可以获得明显的深度感,建立特征间的对应关系,将同一空间物理点在不同图像中的映像点对应起来,这个差别,我们称作视差(Disparity)图像。

对于视差的理解自己可以体验一下:将手指头放在离眼睛不同距离的位置,并轮换睁、闭左右眼,可以发现手指在不同距离的位置,视觉差也不同,且距离越近,视差越大。

那么提到视差图,就有深度图,深度图像也叫距离影像,是指将从图像采集器到场景中各点的距离(深度)值作为像素值的图像。获取方法有:激光雷达深度成像法、计算机立体视觉成像、坐标测量机法、莫尔条纹法、结构光法。

那么这里引申一下深度图与点云的区别,点云:当一束激光照射到物体表面时,所反射的激光会携带方位、距离等信息。若将激光束按照某种轨迹进行扫描,便会边扫描边记录到反射的激光点信息,由于扫描极为精细,则能够得到大量的激光点,因而就可形成激光点云。

深度图像经过坐标转换可以计算为点云数据;有规则及必要信息的点云数据可以反算为深度图像。 两者在一定条件下是可以相互转化的,之前的博客里,有使用PCL库实现过点云提取深度图,当然给出相机参数也是可以由深度图转为点云的。截图一个深度图:

这里写图片描述

所以深度与视差的关系如下

这里写图片描述

比如绝对差值法 绝对差值图的计算方法如下:

    D=|L-R| 

  式中,L、R和D分别代表左视图、右视图和对应的绝对差值图的亮度值。绝对差值图并不是严格意义上的视差图,但是它的计算方法最为简单,速度快,它给出的结果可以作为参考

那么我们知道视差又有另外一个概念就是UV-disparity mapping,简单的给个图表示:
这里写图片描述

是怎么得到这个结果的呢?原来是统计统计视差的个数,比如V-disparity Map中的第一行分别统计视差为0,1,2,3,4,5的个数,所以得到了V-disparity Map的第一行分别为

0,2,0,1,1,1,那么在真实的图喜爱那个中得到的结果如下:
这里写图片描述

那么利用视差可以做很多有用的功能,比如列举一篇文章 UV disparity based obstacle detection and pedestrian classification in urban traffic scenarios

二 Rays

ray就是连接图像上一点到光心形成的一条射线。这个也是之后的对极约束的基础。
这里写图片描述这里写图片描述
那么建立世界坐标系,我们的两条rays是相交的。如I下图所示,接下来就是利用rays的相交关系,来解释対极几何(Epipolar geometry )了。
这里写图片描述
这里写图片描述

以上的图文说明明了对极几何(Epipolar Geometry)描述的是两幅视图之间的内在射影关系,与外部场景无关,只依赖于摄像机内参数和这两幅试图之间的的相对姿态。

有以下几种概念

  1. 基线(baseline):直线Oc-Oc’为基线。

  2. 对极平面束(epipolar pencil):以基线为轴的平面束。

  3. 对极平面(epipolar plane):任何包含基线的平面都称为对极平面。

  4. 对极点(epipole):摄像机的基线与每幅图像的交点。比如,上图中的点e和e’。

  5. 对极线(epipolar line):对极平面与图像的交线。比如,上图中的直线l和l’。

  6. 5点共面:点x,x’,摄像机中心Oc Oc’,空间点X是5点共面的。

  7. 极线约束:两极线上点的对应关系。

说明:直线l是对应于点x’的极线,直线l’是对应于点x的极线。极线约束是指点x’一定在对应于x的极线l’上,点x一定在对应于x’的极线l上。

根据以上原理就得出了基础矩阵F和本质矩阵E等,网上有很多资料的

这里直接将推导公式贴出来就好了
这里写图片描述

本质矩阵E的基本性质:秩为2,且仅依赖于外部参数R和T。其中,P表示世界坐标点矢量,p表示像素点矢量

那么基础矩阵求法:由于本质矩阵E并不包含相机内参信息,且E是面向相机坐标系的。实际上,我们更感兴趣的是在像素坐标系上去研究一个像素点在另一视图上的对极线,这就需要用到相机内参信息将相机坐标系和像素坐标系联系起来。假设和是世界坐标值,其对应的像素坐标值为和,相机内参矩阵为M,那么。根据,那么。令基础矩阵,那么

也就是我们在下图的第一幅图找到一个特征点,通过以上対极几何的知识推导出,该点在第二幅图位于图喜的哪个位置
这里写图片描述

举个例子,比如kinect
这里写图片描述

这里写图片描述
无论是双目还是kinect都是类似的原理
这里写图片描述

f=Focal length

b=Baseline

d=Disparity value

ps=Pixel size

D=Depth

这里写图片描述
Focal length
这里写图片描述
Baseline
这里写图片描述
Pixel size

这里写图片描述
Disparity value

备注:(Pixel size)像素大小是图像传感器中单个像素的大小。像素大小用微米表示。由于立体视觉系统使用两个摄像机,图像传感器的像素大小必须相同。随着像素尺寸的减小,系统的深度范围增大。

(Disparity value)视差是指在两个摄像机图像之间的像素位置的差异。假设立体视觉相机中的左图像在位置(1,30)具有像素,并且相同的像素在右图像中的位置(4,30)存在,视差值或差值为(4-1)=3。视差值与上述公式的深度成反比。

好了,就这样了

有兴趣的小伙伴可以关注微信公众号,加入QQ或者微信群,和大家一起交流分享吧
这里写图片描述


http://chatgpt.dhexx.cn/article/rsoGxLDQ.shtml

相关文章

机器视觉——双目视觉的基础知识(视差深度、标定、立体匹配)

1、双目视觉的视差与深度 人类具有一双眼睛,对同一目标可以形成视差,因而能清晰地感知到三维世界。因此,计算机的一双眼睛通常用双目视觉来实现,双目视觉就是通过两个摄像头获得图像信息,计算出视差,从而使…

双目立体视觉(一) 基本原理和步骤

目录 一、双目立体视觉系统的四个基本步骤 二、各步骤原理 1、相机标定 2、立体校正 3、立体匹配 一、双目立体视觉系统的四个基本步骤 相机标定主要包含两部分内容: 单相机的内参标定和双目相机的外参标定,前者可以获得每个相机的焦距、光心、畸变系数等参数…

长连接和短链接的区别

长连接意味着进行一次数据传输后,不关闭连接,长期保持连通状态。如果两个应用程序之间有新的数据需要传输,则直接复用这个连接,无需再建立一个新的连接。就像下图这样。 它的优势是在多次通信中可以省去连接建立和关闭连接的开销…

springboot 实现长链接转短链接

实现结果: 转换短链接api: 接口:http://127.0.0.1/api?urlurlencode(要缩短的网址) 例如:http://127.0.0.1/api?urlhttp%3a%2f%2fwww.baidu.com 返回:http://127.0.0.1/baidu 访问短链接即可还原原url;…

长链接与短链接

1、Http协议 1.1 HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接。HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议。IP协议主要解决网络路由和寻址问题,TCP协议主要解决如何在IP层之上可靠的传递…

长连接与短链接

短链接:客户端每次请求成功后,将关闭链接 长连接:客户端请求成功后,并不会立即关闭链接,适用于客户端请求较为频繁的情况 ———————————————————————————————————— 1. HTTP协议与TC…

如何实现 长链接变 短 链接?

短链接,通俗来说,就是将长的 URL 网址,通过程序计算等方式,转换为简短的网址字符串。 大家经常会收到一些莫名的营销短信,里面有一个非常短的链接让你跳转。新浪微博因为限制字数,所以也会经常见到这种看着…

微信:长链接转短链接

前言 微信复制出来的链接太长,想转短连接如何做? 将一条长链接转成短链接。 主要使用场景: 开发者用于生成二维码的原链接(商品、支付二维码等)太长导致扫码速度和成功率下降,将原长链接通过此接口转成短…

长链接 转换成 短链接

文章目录 参考来源思路方法一方法二 参考来源 豆瓣 短链接生成的算法原理 思路 方法一 一般会想到用哈希,这里可以用MD5码获取哈希值,但时MD5生成的串挺长的,这类要考虑怎么把它变短。 做法如下: 方法二 很好想的思路&…

长链接 转短链接URL的设计思路

最烂的回答 实现一个算法,将长地址转成短地址。实现长和短一一对应。然后再实现它的逆运算,将短地址还能换算回长地址。 这个回答看起来挺完美的,然后候选人也会说现在时间比较短,如果给我时间我去找这个算法就解决问题了。但是稍…

长链接转成短链接的原理和实现详解

一、为什么要设计短链接,短链接有什么好处? 1、链接变短,在对内容长度有限制的平台发文,可编辑的文字就变多了。 比如:微博,限定了只能发 140 个字,如果一串长链直接怼上去,其他可…

长链到短链转化

文章目录 1:为什么将长链转化为短链?2:短链跳转的基本原理3:将长链转化为短链(Hash)3.1:hash3.1.1:hash算法的选取3.1.2hash后还是有点长3.1.3:解决hash冲突 3.2:自增序列算法 1:为什么将长链转化为短链? 1、链接变短…

2022年最新Python学习路线图(内附视频资料)【六张图带你掌握Python技巧】

目录 一、基础语法学习 二、制定发展方向 三、编程实践 四、资料获取 五、学习路线图​ 一、基础语法学习 Python的基础语法包括两大部分,其一是函数式编程部分,其二是面向对象编程部分。函数式部分的内容还是比较简单的,包括列表、函数…

零基础Python学习路线图,小白的进阶之路!

近几年Python的受欢迎程度可谓是扶摇直上,当然了学习的人也是愈来愈多。一些学习Python的小白在学习初期,总希望能够得到一份Python学习路线图,小编经过多方汇总为大家汇总了一份Python学习路线图。 对于一个零基础的想学习python的朋友来说…

15张超详细的Python学习路线图,纯良心分享,零基础学习宝典

这是一篇 Python 入门指南,针对那些没有任何编程经验,从零开始学习 Python 的同学。不管你学习的出发点是兴趣驱动、拓展思维,还是工作需要、想要转行,都可以用此文作为一个参考。 在这个信息爆炸的时代,以 “Python入…

2020最新版Python学习路线图

Python学习路线图网上有很多版本,前川网的这套Python学习路线图是2020最新版的,是根据企业招聘的要求不断更新的学习路线图,对之前的Pyhton学习路线图做了一些调整和改变,想要用Python爬虫或者深度学习人工智能的看这套Python学习…

Python 学习之路

最近在疫情静默管理期间,刚好有时间可以学习一下Python,非常幸运,找到一本Eric Matthes的《Python Crash Course》Python编程从入门到实践,好好研究一下。基础的语法就是一带而过了,使用的Python3.8.10版本&#xff0c…

一文讲清Python的7大学习路线(建议收藏)

现如今铺天盖地都是来自学习Python的勇士,Python这个编程语言中最友好的语言早已不是高不可攀的状态了。 无论是业余爱好,还是专职求学,学习Python的朋友都在依靠着自己的方法,勤勤恳恳的学习着,但是学习有方向&#x…

超全的Python学习路线图

Python是一种编程语言 完成同一个任务,C语言要写1000行代码,Java只需要写100行,而Python可能只要20行。用Python完成项目,编写的代码量更少,代码简短可读性强,团队协作开发时读别人的代码速度会非常快&…

零基础Python学习路线图

Python学习路线图先奉上: Python教程_完全入门 推荐视频:https://www.bilibili.com/video/BV1jZ4y1p7zQ Python学习路线 第一阶段Python基础与Linux数据库 掌握Python基本语法规则及变量、逻辑控制、内置数据结构、文件操作、高级函数、模块、常用标…