0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

干货:双目视觉测距原理,数学推导及三维重建资源

新机器视觉 来源:新机器视觉 作者:新机器视觉 2020-11-05 10:07 次阅读

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

单目测距原理:

先通过图像匹配进行目标识别(各种车型、行人、物体等),再通过目标在图像中的大小去估算目标距离。这就要求在估算距离之前首先对目标进行准确识别,是汽车还是行人,是货车、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、相机基线限制了测量范围。测量范围和基线(两个摄像头间距)关系很大:基线越大,测量范围越远;基线越小,测量范围越近。所以基线在一定程度上限制了该深度相机的测量范围。

责任编辑:xj

原文标题:双目视觉测距原理,数学推导及三维重建资源

文章出处:【微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 测距
    +关注

    关注

    2

    文章

    96

    浏览量

    19445
  • 三维重建
    +关注

    关注

    0

    文章

    24

    浏览量

    9858
  • 双目
    +关注

    关注

    0

    文章

    2

    浏览量

    5758

原文标题:双目视觉测距原理,数学推导及三维重建资源

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    工业上常见的高精度主动式重建算法

    三维重建目前是最为炙手可热的领域。摄影测量或结构光投影技术可以解决漫反射重建问题,但却无法有效应对镜面反射物体(如玻璃、积水、反光物体和汽车车身)等的重建挑战。
    发表于 01-05 10:46 233次阅读
    工业上常见的高精度主动式<b class='flag-5'>重建</b>算法

    三维视觉测量技术知识科普

    三维视觉测量技术按照测量过程中是否投射光源,获取被测物体三维形貌信息的方法可以分为两大类: 被动视觉测量和主动视觉测量。
    的头像 发表于 01-03 11:47 599次阅读
    <b class='flag-5'>三维</b><b class='flag-5'>视觉</b>测量技术知识科普

    三维视觉测量技术:被动视觉测量和主动视觉测量

    与人眼的立体感知类似,双目立体视觉用两个相机从不同的角度对被测物体成像。依据两幅图像中对应点的立体视差( stereo disparity) ,根据角测量原理实现三维信息测量。
    的头像 发表于 01-03 11:30 441次阅读
    <b class='flag-5'>三维</b><b class='flag-5'>视觉</b>测量技术:被动<b class='flag-5'>视觉</b>测量和主动<b class='flag-5'>视觉</b>测量

    基于光学计算超表面的全光学目标识别和三维重建技术

    随着物体识别和三维(3D) 重建技术在各种逆向工程、人工智能、医疗诊断和工业生产领域变得必不可少,人们越来越关注与寻求可以简化处理的高效、更快的速度和更集成的方法。
    的头像 发表于 12-22 10:13 322次阅读
    基于光学计算超表面的全光学目标识别和<b class='flag-5'>三维重建</b>技术

    LabVIEW开发自动驾驶的双目测距系统

    挑战,包括激光雷达、单目测距双目视觉技术等。在当前的高级辅助驾驶技术(ADAS)中,双目视觉技术在距离检测方面表现出色,它可以精确地测量物体的距离,提供更客观的数据。 为了应对这一需求,设计了一种
    发表于 12-19 18:02

    基于深度学习的三维重建技术

    多视图立体几何(Multi-View Stereo,MVS)是计算机视觉中重要的研究领域,也是迈入三维计算机视觉研究的重点问题。它通过利用多张互相重叠的图像恢复出原始三维场景的几何结构
    的头像 发表于 12-04 10:08 706次阅读
    基于深度学习的<b class='flag-5'>三维重建</b>技术

    RayDF:实时渲染!基于射线的三维重建新方法

    在机器视觉和机器人领域的许多前沿应用中,学习准确且高效的三维形状表达是十分重要的。然而,现有的基于三维坐标的隐式表达在表示三维形状或是渲染二
    的头像 发表于 11-17 16:23 497次阅读
    RayDF:实时渲染!基于射线的<b class='flag-5'>三维重建</b>新方法

    三维立体视觉三维恢复方法

    电子发烧友网站提供《三维立体视觉三维恢复方法.doc》资料免费下载
    发表于 11-03 09:31 0次下载
    <b class='flag-5'>三维</b>立体<b class='flag-5'>视觉</b>之<b class='flag-5'>三维</b>恢复方法

    基于光学成像的物体三维重建技术研究

    随着计算机科学和数字成像技术的飞速发展,光学成像技术在许多领域中得到了广泛应用,其中之一便是物体三维重建。物体三维重建技术是一种通过计算机处理图像数据,获得物体三维信息的技术。光学成像技术作为物体
    的头像 发表于 09-15 09:29 627次阅读
    基于光学成像的物体<b class='flag-5'>三维重建</b>技术研究

    总结!三维点云基础知识

    该方法具体通过六个步骤实现:图像的采集、系统相机标定、特征模板匹配、图像处理、三维仿真匹配以及三维重建。首先,通过两个相机于不同位置对待测物体进行图像信息感知获取。然后根据角测量原理获得待测表面的
    的头像 发表于 09-01 16:12 1544次阅读
    总结!<b class='flag-5'>三维</b>点云基础知识

    如何实现整个三维重建过程

    在计算机视觉中,三维重建是指根据单视图或者多视图的图像重建三维信息的过程。由于单视频的信息不完全,因此三维重建需要利用经验知识,而多视图的
    发表于 09-01 11:06 1307次阅读
    如何实现整个<b class='flag-5'>三维重建</b>过程

    双目立体视觉是什么?单目视觉双目立体视觉的区别?

    双目更多的是基于物理测量,而单目视觉则是基于逻辑推理,通过大量的数据训练,先识别出目标,再根据目标的大小和高度估算距离。因此,单目视觉的漏检率高于双目立体
    发表于 08-17 09:40 2752次阅读
    <b class='flag-5'>双目</b>立体<b class='flag-5'>视觉</b>是什么?单<b class='flag-5'>目视觉</b>与<b class='flag-5'>双目</b>立体<b class='flag-5'>视觉</b>的区别?

    三维重建之结构光编码方案研究

    接下来进入主题,正式介绍结构光编码方案。结构光三维重建按照所投影的图案一般可以分为以下类,点结构光、线结构光和面结构光,其中面结构光按照编码原理又可以基于时域编码的结构光和基于空域编码的结构光。
    的头像 发表于 08-16 16:52 816次阅读
    <b class='flag-5'>三维重建</b>之结构光编码方案研究

    计算机视觉三维重建是什么 常见的三维重建表达方式有哪些

    角网格就是全部由角形组成的多边形网格。多边形和角网格在图形学和建模中广泛使用,用来模拟复杂物体的表面,如建筑、车辆、人体,当然还有茶壶等。任意多边形网格都能转换成角网格。
    发表于 08-03 10:23 2371次阅读
    计算机<b class='flag-5'>视觉</b>的<b class='flag-5'>三维重建</b>是什么 常见的<b class='flag-5'>三维重建</b>表达方式有哪些

    双目立体视觉原理 HALCON的双目视觉系统研究

    、图像预处理和特征提取、立体匹配以及三维重建。为解决智能移动机器人、工业装配机器人、家用机器人、公共服务机器人的视觉问题,双目立体视觉技术的进一步研究可对多
    发表于 07-19 14:18 0次下载