二维图片,人眼可以通过物体的相对位置关系判断物体距离的远近,而相机则不可以。

深度相机(3D相机)就是终端和机器人的眼睛,其就是通过该相机能检测出拍摄空间的景深距离。通过深度相机获取到图像中每个点距离摄像头的距离,在加上该点在 2D 图像中的二维坐标,就能获取图像中每个点的三维空间坐标。

结构光(Structured-light)

其原理是基本原理是,通过近红外激光器,将具有一定结构特征的光线投射到被拍摄物体上,再由专门的红外摄像头进行采集这种具备一定结构的光线( 根据编码图案不同一般有条纹结构光enshape ,编码结构光Mantis Vision, Realsense(F200), 散斑结构光apple(primesense)),会因被摄物体的不同深度区域,而采集反射的结构光图案的信息,然后通过运算单元将这种结构的变化换算成深度信息,以此来获得三维结构。

简单来说就是,通常采用特定波长的不可见的红外激光作为光源,它发射出来的光经过 一定的编码投影在物体上,通过一定算法计算返回的编码图案的畸变来得到物体的位置和深度信息。

结构光深度相机的分类:主要分为单目结构光和双目结构光相机。

 单目结构光容易受光照的影响,在室外环境下,如果是晴天,激光器发出的编码光斑容易太阳光淹没掉。

双目结构光可以在室内环境下使用结构光测量深度信息,在室外光照导致结构光失效的情况下转为纯双目的方式,其抗环境干扰能力、可靠性更强,深度图质量有更大提升空间。

此外,结构光方案中的激光器寿命较短,难以满足7*24小时的长时间工作要求,其长时间连续工作很容易损坏。因为单目镜头和激光器需要进行精确的标定,一旦损坏,替换激光器时重新进行两者的标定是非常困难的。

由于结构光主动投射编码光,因而适合在光照不足(甚至无光)、缺乏纹理的场景使用。

3D结构光目前的使用场景为:

第一,物体信息分割与识别,3D人脸识别,用于安全验证、金融支付等场景;

第二,体感手势识别,为智能终端提供新的交互方式;

第三,三维场景重建,利用深度相机生成的深度信息(点云数据),结合RGB彩色图像信息,可完成对三维场景的还原,可用于测距,虚拟装修等场景。

例子:

iPhone-X上的True-depth相机,这种是散斑结构光方案,通过投射人眼不可见的伪随机散斑红外光点到物体上,每个伪随机散斑光点和它周围一定范围内的点集在空间分布中的每个位置都是唯一的,并将预先进行了存储。这些散斑投影在被观察物体上的大小和形状根据物体和相机的距离和方向而不同,由此计算深度信息。

双目视觉(Stereo-vision)

基于视差原理并利用成像设备 从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息。

RGB双目相机因为非常依赖纯图像特征匹配,所以在光照较暗或者过度曝光的情况下效果都非常差,另外如果被测场景本身缺乏纹理,也很难进行特征提取和匹配。

双目相机的主要优点有:

1)硬件要求低,成本也低。普通 CMOS 相机即可。

2)室内外都适用。只要光线合适,不要太昏暗。

但是双目的缺点也是非常明显:

1)对环境光照非常敏感。光线变化导致图像偏差大,进而会导致匹配失败或精度低

2)不适用单调缺乏纹理的场景。双目视觉根据视觉特征进行图像匹配,没有特征会导致匹配失败。

3)计算复杂度高。该方法是纯视觉的方法,对算法要求高,计算量较大。

4)基线限制了测量范围。测量范围和基线(两个摄像头间距)成正比,导致无法小型化。

光飞行时间法(TOF Time-Of-Flight)

通过红外发射器发射调制过的光脉冲,遇到物体反射后,用接收器接收反射回来的光脉冲,并根据光脉冲的往返时间计算与物体之间的距离。

这种调制方式对发射器和接收器的要求较高,光速那么快,对于时间的测量有极高的精度要求。

在实际应用中,通常调制成脉冲波(一般是正弦波),当遇到障碍物发生漫反射,再通过特制的CMOS传感器接收反射的正弦波,这时波形已经产生了相位偏移,通过相位偏移可以计算物体到深度相机的距离

ToF技术也是有一些局限性

  1. 当拍摄物体具有多个棱角时,会造成光线折射返回到摄像头,导致测量结果失真。

  1. 强烈的阳光也会导致镜头芯片快速饱和无法检测红外的真实性,导致失真。
  2. 如果有多台ToF设备在进行工作时,会导致红外传入其他镜头中,形成互相干扰,导致失真。

TOF技术同结构光技术不同,其发射的是持续不断的“面光源”。光线遇到不可穿透物体会发生反射。利用这一原理,通过记录反射光达到接收器的时间,由于光速和光波长已知,理论上便能快速计算出光源与物体的距离,由此得到一张被测物体的3D图像。

相机类型 TOF飞行时间 RGB双目 结构光(单目/双目)
测距方式 主动式 被动式 主动式
测量范围 受光源强度限制,测量范围是几十米以内,测量精度在毫米级别 受光照,基线的限制,测量精度在厘米级别 受光斑图案限制,测量范围是十米之内,测量精度在毫米精度
影响因素 不受光照变化和物体纹理影响,受多重反射,环境光的影响 受光照变化和物体纹理影响很大,在晚上无法使用 不受光照变化和物体纹理影响,受反光的影响
户外工作 功率小时会受到影响 不受影响 有影响,和编码图案的设计有关
功耗 很大,因为需要全照射 很低,纯软件 中等,只需要投射图案到部分区域,
帧率 上百fps 大,小均有 几十fps,一般为30fps

深度相机(3D相机)相关推荐

  1. 3D相机技术调研(飞行时间TOF+双目+结构光)

    1. 深度估计3D相机方案 目前市面上常有的 3D 相机方案主要有3种: 飞行时间(Time of flight,TOF),代表公司微软Kinect2,PMD,SoftKinect, 联想 Phab, ...

  2. 3D相机(1):1、了解

    前言:随着机器视觉, 自动驾驶等颠覆性的技术逐步发展, 采用 3D 相机进行物体识别, 行为识别, 场景建模的相关应用越来越多, 可以说 3D 相机就是终端和机器人的眼睛. 那什么是 3D 相机呢? ...

  3. 3D相机的数据处理方式

    在上一篇中,我们介绍了什么是3D相机.但是对于初次接触3D相机的同学,可能首先面临的问题是如何处理3D相机得到的数据.3D相机的数据分为两种方式:三维点云数据方式,二维数据方式.其中,三维数据保存的格 ...

  4. 直播回顾|结构光3D相机光机核心技术及3D成像性能分析

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 大家好,本公众号现已开启线上视频公开课,主讲人通过B站直播间(bilibili号:3D视觉工坊:htt ...

  5. OpenCV使用Orbbec Astra 3D相机

    OpenCV使用Orbbec Astra 3D相机 使用Orbbec Astra 3D相机 介绍 安装说明 代码 使用Orbbec Astra 3D相机 介绍 本教程专门针对Orbbec 3D相机的A ...

  6. 泰禾光电机器人研发_机器之眼 | 3D相机能让机器人看见什么?

    "中国制造2025",其核心环节之一就是机器人智能化.视觉技术代表了机器的眼睛和大脑,机器视觉将使得机器人智能化变成现实. 为了使机器人能够胜任更复杂的工作,机器人不但要有更好的控 ...

  7. python热成像_盘点Terabee传感器家族:TOF测距、3D相机、热成像

    了解Terabee Terabee公司2012年始创于法国,作为一家无人机服务公司,开发了基于无人机的先进数据获取和分析技术.Terabee采用LED而非激光飞行时间传感技术,树立了光学飞行时间传感的 ...

  8. 基于飞凌i.MX6Q-C核心板搭建3D相机

    随着对精度和自动化的需求不断增加,3D机器视觉会变得越来越流行.业界认为,从2D到3D的过渡将成为继黑白到彩色.低分辨率到高分辨率以及静态图像到电影之后的第四次革命. 一. 产品介绍 1.什么是3D相 ...

  9. 3D相机面临的困难问题和解决方案

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨HawkWang 来源丨 计算摄影学 一. 3D相机面临的各种挑战 正如你已经在上一篇文章52. ...

最新文章

  1. linux/hpux 添加用户
  2. phpstorm 2017.1激活
  3. 14 WM配置-主数据-定义存储单位类型(Storage Unit Type)
  4. Delphi 常用API 函数
  5. 1、视觉slam简介
  6. 软件行业正面临一场新的变革——SaaS软件
  7. Python 数据挖掘(四) pandas模块 简单使用
  8. 陕西车牌顺口溜~~~~~~~~~~~
  9. 微型计算机的显示器是,微型计算机显示器.doc
  10. 使用JSONObject比较Java复杂对象
  11. 如何用opencv(C++)读入sar.tif图(复数矩阵)(radasat2)
  12. 北京大学计算机考研资料汇总
  13. 图卷积网络 GCN Graph Convolutional Network(谱域GCN)的理解和详细推导
  14. php为网页更改颜色,php如何设置网页颜色?
  15. 使用Python rembg库进行抠图:一行命令就搞定
  16. Win系统 - 更新卡太久,我能不能强制关机?
  17. 刨根问底 Kafka,面试过程真好使
  18. Qt论坛和博客网址大全
  19. 客户说发货慢怎么回复_拼多多买家催发货怎么回复(拼多多客户催货应对技巧)...
  20. JS正则表达式可以为空但不可以输入特殊字符可以输入逗号(自用)

热门文章

  1. htc手机一直android升级,不放弃!HTC U11 Life获得Android 10更新
  2. 随机森林降维matlab,随机森林在高光谱遥感数据中降维与分类的应用
  3. 火箭闹钟+android,火箭闹钟 - 闹钟就要凶残的! - Android 应用 - 闹钟 - 【最美应用】...
  4. 我的世界手机有PHP的开服器下载,《我的世界手机版》怎么用电脑开服,pocketminePC版使用教程...
  5. 影响原创内容价值的因素有哪些
  6. 工业路由器的联网方式有哪些?各有什么不同
  7. python稳定版本是哪些_python3哪个版本稳定_后端开发
  8. hadoop最新稳定版本dkhadoop版本介绍
  9. 【唐老狮】Unity网络通信中的分包、黏包
  10. oracle 调整缓存大小,Oracle调整缓冲区高速缓存