专栏首页点云PCL三种主流深度相机介绍

三种主流深度相机介绍

深度相机

01

深度相机又称之为3D相机,顾名思义,就是通过该相机能检测出拍摄空间的景深距离,这也是与普通摄像头最大的区别。

普通的彩色相机拍摄到的图片能看到相机视角内的所有物体并记录下来,但是其所记录的数据不包含这些物体距离相机的距离。仅仅能通过图像的语义分析来判断哪些物体离我们比较远,哪些比较近,但是并没有确切的数据。而 深度相机则恰恰解决了该问题,通过深度相机获取到的数据,我们能准确知道图像中每个点离摄像头距离,这样加上该点在 2D 图像中的(x,y)坐标,就能获取图像中每 个点的三维空间坐标。通过三维坐标就能还原真实场景,实现场景建模等应用。

THE

END

深度相机分类

02

目前市面上常有的深度相机方案有以下三种。

(1)结构光(Structured-light),代表公司有奥比中光,苹果(Prime Sense),微软 Kinect-1,英特尔 RealSense, Mantis Vision 等。

(2)双目视觉(Stereo),代表公司 Leap Motion, ZED, 大疆;

(3)光飞行时间法(TOF),代表公司微软 Kinect-2,PMD,SoftKinect, 联想 Phab。

THE

END

结构光深度相机

03

结构光,英文叫做 Structured light,其基本原理是,通过近红外激光器,将具有一定结构特征的光线投射到被拍摄物体上,再由专门的红外摄像头进行采集。这种具备一定结构的光线,会因被摄物体的不同深度区域,而采集不同的图像相位信息,然后通过运算单元将这种结构的变化换算成深度信息,以此来获得三维结构。简单来说就是,通过光学手段获取被拍摄物体的三维结构,再将获取到的信息进行更深入的应用。通常采用特定波长的不可见的红外激光作为光源,它发射出来的光经过 一定的编码投影在物体上,通过一定算法来计算返回的编码图案的畸变来得到物体的位置和深度信息。根据编码图案不同一般有:

条纹结构光,代表传感器 enshape ,

编码结构光,代表传感器 Mantis Vision, Realsense(F200),

散斑结构光 ,代表传感器 apple(primesense), 奥比中光。

下图是一个典型的结构光相机的示意图:

结构光相机示意图

结构光(散斑)的优点主要有:

1)方案成熟,相机基线可以做的比较小,方便小型化。

2)资源消耗较低,单帧 IR 图就可计算出深度图,功耗低。

3)主动光源,夜晚也可使用。

4)在一定范围内精度高,分辨率高,分辨率可达 1280x1024,帧率可达 60FPS。

散斑结构光的缺点与结构光类似:

1)容易受环境光干扰,室外体验差。

2)随检测距离增加,精度会变差。

目前结构光技术有如下几种变种:一种是单目IR+投影红外点阵,另外一种是双目IR+投影红外点阵,这样相当于结构光+双目立体融合了,深度测量效果会比前者好一些,比如Intel RealSense R200采用的就是双目IR+投影红外点阵,不足之处就是体积较大。而单目IR+投影红外点阵的方案虽然体积较小,但是效果会差一点。

THE

END

TOF

04

TOF(time of flight),顾名思义是测量光飞行时间来取得距离,具体而言就是通过给目标连续发射激光脉冲,然后用传感器 接收从反射光线,通过探测光脉冲的飞行往返时间来得到确切的目标物距离。因为光速激光,通过直接测 光飞行时间实际不可行,一般通过检测通过一定手段调制后的光波的相位偏移来实现。TOF 法根据调制方法的不同,一般可以分为两种:脉冲调制(Pulsed Modulation)和连续波调制 (Continuous Wave Modulation)。脉冲调制需要非常高精度时钟进行测量,且需要发出高频高强度激光,目 前大多采用检测相位偏移办法来实现 TOF 功能。简单来说就是,发出一道经过处理的光,碰到物体以后会反射回来,捕捉来回的时间,因为已知光速和调制光的波长,所以能快速准确计算出到物体的距离。

其原理示意图:

因为 TOF 并非基于特征匹配,这样在测试距离变远时,精度也不会下降很快,目前无人驾驶以及一些高 端的消费类 Lidar 基本都是采用该方法来实现。TOF 的优点主要有:

1)检测距离远。在激光能量够的情况下可达几十米。

2)受环境光干扰比较小。

但是 TOF 也有一些显而易见的问题:

1)对设备要求高,特别是时间测量模块。

2)资源消耗大。该方案在检测相位偏移时需要多次采样积分,运算量大。

3)边缘精度低。

4)限于资源消耗和滤波,帧率和分辨率都没办法做到较高。

目前消费类最大也就 VGA。从上面三种主流的 3D 相机成像方案来看,各有优劣,但是从实际应用场景来看,在非无人驾驶领域,结构 光,特别是散斑结构光的用途是最广泛。因为从精度,分辨率,还有应用场景的范围来看双目和 TOF 都没 有办法做到最大的平衡。而且对于结构光容易受环境光干扰,特别是太阳光影响问题,鉴于此类相机都有 红外激光发射模块,非常容易改造为主动双目来弥补该问题。

THE

END

双目立体视觉

05

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

当然完整的双目深度计算非常复杂,主要涉及到左右相机的特征匹配,计算会非常消耗资源。双目相机的主要优点有:

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

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

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

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

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

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

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

双目活体检测防伪摄像头模组

柜面双目摄像头N1330

THE

END

结构光与TOF对比

06

对比来看,结构光技术功耗更小,技术更成熟,更适合静态场景。而TOF方案在远距离下噪声较低,同时拥有更高的FPS,因此更适合动态场景。

目前,结构光技术主要应用于解锁以及安全支付等方面,其应用距离受限。而TOF技术主要用于智能机后置摄影,并在AR、VR等领域(包括3D拍照、体感游戏等)有一定的作用。

3D结构光和TOF两者其实各有优劣势。结构光最大的优势是发展的较为成熟,成本比较低,劣势是只适合中短距离使用。ToF优势是抗干扰性较好,视角较宽,缺陷是功耗高,造价贵,精度及深度图分辨率较低。两项技术各有侧重点和适配使用场景。

THE

END

三种深度相机的对比

07

供稿:Being_young博客

排版:Cand 、QiaoLin

本文分享自微信公众号 - 点云PCL(dianyunPCL),作者:dianyunPCL

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 虚拟机安装以及PCL的配置(1)

    介绍一下在windows下安装虚拟机(对于虚拟机的Ubuntu系统还是双系统Ubuntu配置PCL的环境的步骤都是一样的)……

    点云PCL博主
  • 易扩展的SLAM框架-OpenVSLAM

    本文介绍了一种具有较高可用性和可扩展性的可视化SLAM框架——OpenVSLAM。视觉SLAM系统对于AR设备、机器人和无人机的自主控制等是必不可少的。然而,传...

    点云PCL博主
  • 基于鱼眼相机的SLAM方法介绍

    本文是一篇关于鱼眼相机的SLAM的介绍以及开源demo体验的介绍,希望有兴趣的小伙伴能够自行体验,并积极分享相关内容。欢迎交流和讨论,联系邮箱:dianyunp...

    点云PCL博主
  • .NETCore Docker实现容器化与私有镜像仓库管理

    Docker是用Go语言编写基于Linux操作系统的一些特性开发的,其提供了操作系统级别的抽象,是一种容器管理技术,它隔离了应用程序对基础架构(操作系统等)的...

    hailang2zh
  • 服务端开发95th 99th 是什么意思?

    作者:滔滔不绝 链接:https://www.zhihu.com/question/20575291/answer/22814728 来源:知乎

    Leetcode名企之路
  • 为什么Docker镜像大小与仓库中不一致?

    如果仔细观察你会发现,Docker宿主机中某个镜像所占用的磁盘空间和在 Docker Hub(仓库)上看到的镜像大小是不同的,例如 golang:1.9 在 D...

    用户1560186
  • LeetCode 69. x 的平方根:二分查找法实现自定义的函数:x 的平方根

    输入: 8 输出: 2 说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。

    一个会写诗的程序员
  • 还在手动部署SpringBoot应用?试试这个自动化插件!

    https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-fabric

    macrozheng
  • 还在手动部署SpringBoot应用?试试这个自动化插件!

    https://github.com/macrozheng/mall-learning/tree/master/mall-tiny-fabric

    JAVA葵花宝典
  • Docker学习——三大组件的应用(二) 顶

    Docker 运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker 会从镜像仓库下载该镜像。 下面将介绍更多关于镜像的内容,包括:从仓库获取镜像...

    wuweixiang

扫码关注云+社区

领取腾讯云代金券