精华内容
下载资源
问答
  • 点击–>双目视觉测距原理 很好的一篇原理入门级文章

    点击–>双目视觉测距原理
    很好的一篇原理入门级文章

    展开全文
  • 双目视觉测距原理深度剖析:一个被忽略的小问题

    千次阅读 热门讨论 2018-12-21 17:03:22
    这里不对双目视觉测距的原理进行过多讲解,而是针对双目测距公式,一个容易忽视的小问题,讲一下...双目视觉测距原理,数学推导及三维重建资源 双目相机–双目视差与深度距离关系推导详解 以下内容也是由此引发: ...

    这里不对双目视觉测距的原理进行过多讨论,而是针对其中一个容易被忽视的小问题,讲一下我的学习所得,欢迎大家批评指正。

    参考博客:

    双目测距的原理可以参考如下博客,讲解的都很详细:

    1. 双目视觉测距原理,数学推导及三维重建资源
    2. 双目相机–双目视差与深度距离关系推导详解

    问题引入

    我在学习上述两个博客时发现,两者对于双目视觉深度值计算公式的推导过程有些细微的出入。
    如图1所示,其中xlx_lxrx_r分别为左右相机像平面上的成像点距主点的距离(xx方向),可以理解为xlx_lxrx_r是在相机坐标系测得的。

    图1

    如图2所示,其中xRx_RxTx_T分别为左右相机像平面上的成像点距像平面左边缘的距离,可以理解为xRx_RxTx_T是在像素坐标系测得的。

    图2

    问题:上述两公式虽然计算视差值采用的坐标系不同,但后续计算双目深度值时的公式又是相同的,这如何理解?又有何不同之处?

    解释

    • 首先,需要确认的是两种公式的推导方式都是正确的,都能得到正确的视差值和深度值;
    • 其次,不同之处在于:当以相机坐标系下xlx_lxrx_r计算视差时,焦距ff的度量单位是mmmm;而以像素坐标系下xRx_RxTx_T计算视差时,ff的单位则为像素(pixel),总之需要保证深度值zz的单位为mmmm(通常基线bb是以mmmm为单位的)。

    分析
    由公式:z=fbxlxrz=\frac {f*b} {x_l-x_r}可知,

    • xlx_lxrx_r为相机坐标系下测得,则他们应该以mmmm为单位,此时为保证深度zz的单位为mmmm,焦距ff就需要转换成以mmmm为度量的值;
    • 同样,当以像素坐标系下xlx_lxrx_r进行计算时,就需要将以像素为度量的ff代入计算;

    得到深度zz的值以后,再选择如下两公式之一计算xxyy坐标,即可得出目标点的三维坐标:

    其中,uvu与v为像素坐标系下的坐标值,xyx与y为相机坐标系下的坐标值。

    展开全文
  • 双目视觉测距原理,数学推导及三维重建资源

    万次阅读 多人点赞 2018-01-09 21:15:20
    先说一下单/双目测距原理区别:单目测距原理:先通过图像匹配进行目标识别(各种车型、行人、物体等),再通过目标在图像中的大小去估算目标距离。这就要求在估算距离之前首先对目标进行准确识别,是汽车还是行人...

    先说一下单/双目的测距原理区别:

    单目测距原理:

    先通过图像匹配进行目标识别(各种车型、行人、物体等),再通过目标在图像中的大小去估算目标距离。这就要求在估算距离之前首先对目标进行准确识别,是汽车还是行人,是货车、SUV还是小轿车。准确识别是准确估算距离的第一步。要做到这一点,就需要建立并不断维护一个庞大的样本特征数据库,保证这个数据库包含待识别目标的全部特征数据。比如在一些特殊地区,为了专门检测大型动物,必须先行建立大型动物的数据库;而对于另外某些区域存在一些非常规车型,也要先将这些车型的特征数据加入到数据库中。如果缺乏待识别目标的特征数据,就会导致系统无法对这些车型、物体、障碍物进行识别,从而也就无法准确估算这些目标的距离。

    单/双目方案的优点与难点

    从上面的介绍,单目系统的优势在于成本较低,对计算资源的要求不高,系统结构相对简单;缺点是:(1)需要不断更新和维护一个庞大的样本数据库,才能保证系统达到较高的识别率;(2)无法对非标准障碍物进行判断;(3)距离并非真正意义上的测量,准确度较低。

    双目检测原理

    通过对两幅图像视差的计算,直接对前方景物(图像所拍摄到的范围)进行距离测量,而无需判断前方出现的是什么类型的障碍物。所以对于任何类型的障碍物,都能根据距离信息的变化,进行必要的预警或制动。双目摄像头的原理与人眼相似。人眼能够感知物体的远近,是由于两只眼睛对同一个物体呈现的图像存在差异,也称“视差”。物体距离越远,视差越小;反之,视差越大。视差的大小对应着物体与眼睛之间距离的远近,这也是3D电影能够使人有立体层次感知的原因。


    上图中的人和椰子树,人在前,椰子树在后,最下方是双目相机中的成像。其中,右侧相机成像中人在树的左侧,左侧相机成像中人在树的右侧,这是因为双目的角度不一样。再通过对比两幅图像就可以知道人眼观察树的时候视差小,而观察人时视差大。因为树的距离远,人的距离近。这就是双目三角测距的原理。双目系统对目标物体距离感知是一种绝对的测量,而非估算。

    理想双目相机成像模型



    根据三角形相似定律:

                                (1)

    由式(1),解方程得:

            (2)

                 z=b*f/d, x=z*xl/d, y=z*y/f                         (3)

    根据上述推导,要求得空间点P离相机的距离(深度)z,必须知道:
    1、相机焦距f,左右相机基线b(可以通过先验信息或者相机标定得到)。
    2、视差 :,即左相机像素点(xl, yl)和右相机中对应点(xr, yr)的关系,这是双目视觉的核心问题。


    重点来看一下视差(disparity),视差是同一个空间点在两个相机成像中对应的x坐标的差值,它可以通过编码成灰度图来反映出距离的远近,离镜头越近的灰度越亮;


    极线约束

    对于左图中的一个像素点,如何确定该点在右图中的位置?需要在整个图像中地毯式搜索吗?当然不用,此时需要用到极线约束。
    如上图所示。O1,O2是两个相机,P是空间中的一个点,P和两个相机中心点O1、O2形成了三维空间中的一个平面PO1O2,称为极平面(Epipolar plane)。极平面和两幅图像相交于两条直线,这两条直线称为极线(Epipolar line)

    P在相机O1中的成像点是P1,在相机O2中的成像点是P2,但是P的位置是未知的。我们的目标是:对于左图的P1点,寻找它在右图中的对应点P2,这样就能确定P点的空间位置。
    极线约束(Epipolar Constraint)是指当空间点在两幅图像上分别成像时,已知左图投影点p1,那么对应右图投影点p2一定在相对于p1的极线上,这样可以极大的缩小匹配范围。即P2一定在对应极线上,所以只需要沿着极线搜索便可以找到P1的对应点P2。

    非理性情况:

    上面是两相机共面且光轴平行,参数相同的理想情况,当相机O1,O2不是在同一直线上怎么办呢?事实上,这种情况非常常见,因为有些场景下两个相机需要独立固定,很难保证光心完全水平,即使固定在同一个基板上也会由于装配的原因导致光心不完全水平,如下图所示:两个相机的极线不平行,并且不共面。

    这种情况下拍摄的两张左右图片,如下图所示。左图中三个十字标志的点,右图中对应的极线是右图中的三条白色直线,也就是对应的搜索区域。我们看到这三条直线并不是水平的,如果进行逐点搜索效率非常低。


    图像矫正技术

    图像矫正是通过分别对两张图片用单应性矩阵(homography matrix)变换得到,目的是把两个不同方向的图像平面(下图中灰色平面)重新投影到同一个平面且光轴互相平行(下图中黄色平面),这样转化为理想情况的模型。

    经过图像矫正后,左图中的像素点只需要沿着水平的极线方向搜索对应点就可以了。从下图中我们可以看到三个点对应的视差(红色双箭头线段)是不同的,越远的物体视差越小,越近的物体视差越大。



    上面的主要工作是在极线上寻找匹配点,但是由于要保证两个相机参数完全一致是不现实的,并且外界光照变化和视角不同的影响,使得单个像素点鲁棒性很差。所以匹配工作是一项很重要的事情,这也关系着双目视觉测距的准确性。

    双目视觉的工作流程


    相机镜头畸变校正原理及方法,之前介绍过,这个基本是通用的,可以用张正友校准法。

    双目测距的优点与难点

    从上面的介绍看出,双目系统优势:(1)成本比单目系统要高,但尚处于可接受范围内,并且与激光雷达等方案相比成本较低;(2)没有识别率的限制,因为从原理上无需先进行识别再进行测算,而是对所有障碍物直接进行测量;(3)直接利用视差计算距离,精度比单目高;(4)无需维护样本数据库,因为对于双目没有样本的概念。

    双目系统的难点

    (1)计算量非常大,对计算单元的性能要求非常高,这使得双目系统的产品化、小型化的难度较大。所以在芯片或FPGA上解决双目的计算问题难度比较大。国际上使用双目的研究机构或厂商,绝大多数是使用服务器进行图像处理与计算,也有部分将算法进行简化后,使用FPGA进行处理。

    (2)双目的配准效果,直接影响到测距的准确性。

    2.1、对环境光照非常敏感。双目立体视觉法依赖环境中的自然光线采集图像,而由于光照角度变化、光照强度变化等环境因素的影响,拍摄的两张图片亮度差别会比较大,这会对匹配算法提出很大的挑战。



    2.2、不适用于单调缺乏纹理的场景。由于双目立体视觉法根据视觉特征进行图像匹配,所以对于缺乏视觉特征的场景(如天空、白墙、沙漠等)会出现匹配困难,导致匹配误差较大甚至匹配失败。


    2.3、计算复杂度高。该方法需要逐像素匹配;又因为上述多种因素的影响,为保证匹配结果的鲁棒性,需要在算法中增加大量的错误剔除策略,因此对算法要求较高,想要实现可靠商用难度大,计算量较大。
    2.4、相机基线限制了测量范围。测量范围和基线(两个摄像头间距)关系很大:基线越大,测量范围越远;基线越小,测量范围越近。所以基线在一定程度上限制了该深度相机的测量范围。

    ---------------项目开源:-----------

    卡内基梅隆大学双目实验室

    Oxford大牛:Andrew Zisserman,http://www.robots.ox.ac.uk/~vgg/hzbook/code/,主要研究多幅图像的几何学,该网站提供了部分工具,相当实用,还有例子

    Cambridge:http://mi.eng.cam.ac.uk/milab.html,剑桥大学的机器智能实验室,里面有三个小组,Computer Vision & Robotics, Machine Intelligence, Speech

    stanford:http://ai.stanford.edu/~asaxena/reconstruction3d/,主要对于单张照片的三维重建

    caltech:http://www.vision.caltech.edu/bouguetj/calib_doc/,这是我们Computer Vision老师课件上的连接,主要是用于摄像机标定的工具集,当然也有涉及对标定图像三维重建的前期处理过程

    JP Tarel:http://perso.lcpc.fr/tarel.jean-philippe/,个人主页

    ------------匹配与3D重建算法:-----------

    https://www.cnblogs.com/polly333/p/5130375.html

    http://blog.csdn.net/wangyaninglm/article/details/51533549

    http://blog.csdn.net/wangyaninglm/article/details/51531333


    https://www.zhihu.com/question/29885222?sort=created

    http://blog.csdn.net/wangyaninglm/article/details/51558656

    http://blog.csdn.net/wangyaninglm/article/details/51558310

    https://www.cnblogs.com/mysunnyday/archive/2011/05/09/2041115.html


    参考:

    深度相机原理揭秘--双目立体视觉

    Stereo vision: algorithms and applications

    Stereo Vision and Applications

    http://blog.csdn.net/u014629875/article/details/51227534

    展开全文
  • 结构光双目视觉测距原理

    千次阅读 2020-02-20 15:04:41
    结构光视觉技术是一种主动投影式的三维测量技术,通过使用投影仪和相机组成的系统来对物体进行三维测量 系统结构: 硬件系统: 常见编码方法: 结构光图案编码 常用的是格雷码和传统的二进制码相比,格雷...

    结构光视觉技术是一种主动投影式的三维测量技术,通过使用投影仪和相机组成的系统来对物体进行三维测量

    系统结构:

    硬件系统:

    常见编码方法:

    结构光图案编码

    常用的是格雷码和传统的二进制码相比,格雷码的编码数中任意两个相邻的码值之间只有一个数字不同,因此格雷码有更强的抗干扰能力和良好的稳定性

    蓝线为一个编码,箭头方向为观察方向。

    假设我们采用7位的格雷码可以生成128个编码,投影仪的分辨率为854*480,对于列480个像素可以划分128个区间,每个区间像素宽度为480/128 = 3.75pixel,约每4个像素拥有相同的格雷码值,同理行方向每7个像素拥有相同的格雷码值。

    横向和纵向的投影方案。

    通过在时间序列对大小为7*4的像素块进行识别,如图所示,此时列和横会生成格雷码

     双目匹配:

    先将图像二值化,为了提高边缘误差可以采用正反码图案

     

    搜索策略分为粗匹配和精匹配两个步骤:

    粗匹配以像素块为单位,在极线矫正的和结构光对像素块编码标识的基础上,采用一维的区域搜索方式

    可以通过纵向的格雷匹配,确保极线约束。

    精匹配:

    对于失败的匹配点可以采用线性插值的方法填充视差 

    展开全文
  • 一、双目测距原理 通过对两幅图像视差的计算,直接对前方景物(图像所拍摄到的范围)进行距离测量。双目摄像头的原理与人眼相似。人眼能够感知物体的远近,是由于两只眼睛对同一个物体呈现的图像存在差异,也称...
  • opencv实现双目视觉测距

    万次阅读 多人点赞 2017-12-26 11:47:21
    最近一直在研究双目视觉测距,资料真的特别多网上,有matlab 的,python的,C++的,但个人感觉都不详细,对于小白,特别不容易上手,在这里我提供一个傻瓜式教程吧,利用matlab来进行标注,图形界面,无须任何代码,...
  • 双目视觉-双目测距原理剖析

    千次阅读 2020-04-08 14:45:29
    这是一篇好文章, 深入浅出,帮助我们更好地了解了双目相机的工作原理。 1.从相似三角形原理可知,我们仅仅需要分析出左眼图片和右眼图片中,相同物体的两个不同坐标,就可以算出深度值。 2. 计算 两个图片之间的...
  • 双目视觉测距原理,数学推导及三维重建资源 被低估的单目视觉识别 深度相机原理揭秘--双目立体视觉 什么是图像金字塔 Sift中尺度空间、高斯金字塔、差分金字塔(DOG金字塔)、图像金字塔 ...
  • 双目测距】2 双目测距原理

    千次阅读 2018-11-25 17:05:29
    双目测距原理推导 如下图,为一组平行双目视觉模型。 平行双目立体视觉模型 让两摄像机光心相距T平行放置。 左右成像仪的像素原点都是在图像的左上角; P点为现实场景中的一个目标点; 和是目标点P在左右图像...
  • 双目视觉

    2020-09-04 15:45:49
    双目视觉测距原理 https://www.sohu.com/a/203027140_100007727
  • 我在学习上述两个博客时发现,两者对于双目视觉深度值计算公式的推导过程有些细微的出入。 如图1所示,其中xl与xr,分别为左右相机像平面上的成像点距主点的距离(x方向),可以理解为x1与xr,是在相机坐标系测得的...
  • opencv双目测距原理与应用

    千次阅读 2016-12-28 16:38:50
    虽然最近注意力已经不可遏制地被神经科学、大脑记忆机制和各种毕业活动吸引过去了,但是还是觉得有必要把这段时间双目视觉方面的进展总结一下。毕竟从上一篇博文发表之后,很多同仁发E-mail来与我讨论,很多原来的...
  • 双目视觉,点云原理

    2019-05-07 20:57:05
    双目视觉,点云原理: http://www.elecfans.com/d/863829.html 单目视觉测距代码: https://www.cnblogs.com/fpzs/p/9513932.html
  • 转载 双目相机标定以及立体测距原理及OpenCV实现 http://blog.csdn.net/dcrmg/article/details/52986522?locationNum=15&fps=1 单目相机标定的目标是获取相机的内参和外参,内参(1/dx,1/dy,Cx,Cy,f)表征...
  • 这是我的课程设计论文,里面的主要内容是关于双目立体视觉测距原理和代码,效果图等。
  • 1. 双目视觉原理 采用一对相机代替双眼。通过左右图像获取各像素点的视差,然后基于三角测量原理重构三维信息,从而识别障碍物体。与单目视觉相比,双目视觉不依赖庞大的训练集,测距精度较高。 ...
  • 参考: 双目匹配与视差计算双目测距原理:经过之前的标定工作,我们已经得到了\frac{f}{dx}和T_{x},要计算一个物体上某一点的深度Z,只需要知道其在左右相片上的像素坐标就可以了
  • 双目立体视觉(双摄测距

    千次阅读 2019-07-22 15:42:52
    基于双目立体视觉的深度相机类似人类的双眼,和基于TOF、结构光原理的深度相机不同,它不对外主动投射光源,完全依靠拍摄的两张图片(彩色RGB或者灰度图)来计算深度,因此有时候也被称为被动双目深度相机。...
  • ...双目测距的基本原理 如上图所示,双目测距主要是利用了目标点在左右两幅视图上成像的横向坐标直接存在的差异(即视差)与目标点到成像平面的距离Z存在着反比例的关系:Z=fT/d。“@scy
  • 本学期的智能机器人课程设计题目是智能机器人视觉之双目视差图,稍微延伸之后,我选择了双目视觉测距系统作为自己本次课设的目标。 准备工作:安装OpenCV3.1.0与VS2013 教程链接点我 首...
  • 双目视觉基础

    2020-12-24 18:23:26
    双目测距原理解析 该文档是配套熊冰(892867807)提供的OPENCV双目测距视频教程及源码。 用于理解双目测距每个流程和算法原理,以便于快速完成论文编写。 大部分内容经整理得到,请理解后撰写文章,切不可直接搬运使用...
  • 双目测距理论

    2017-12-21 18:58:39
    转载:...如下图是双目立体视觉原理图,OL和OR是左右相机的光心,它们的光轴和各自的成像平面如图所示。假设两相机的内部和外部参数完全相同,焦距为f,光心之间的距离(基线)为B,两台相机在同
  • 转载 Joe_quan的 ...目录说明双目测距原理opencv实现双目测距的原理双目测距代码说明双目测距的代码和实现接下来 1 说明 怕以后忘了,现在总结一下前一段时间一直在弄的,有关双目
  • Evision双目视觉关于双目视觉的一些总结相机模型标定视差算法:立体匹配重投影:测量,三维重建,重投影约束三维重建示例程序 关于双目视觉的一些总结 笔者2013年进入吉林大学软件学院,2014年开始写自己的第一个完整的...
  • 原文: ... 双目测距的基本原理 如上图所示,双目测距主要是利用了目标点在左右两幅视图上成像的横向坐标直接存在的差异(即视差)与目标点到成像平面的距离Z存在着反比例的关系:Z...

空空如也

空空如也

1 2 3 4
收藏数 75
精华内容 30
关键字:

双目视觉测距原理