本文已经首发在个人微信公共号:计算机视觉life(微信号CV_life),欢迎关注!

导读

结构光法:为解决双目匹配问题而生

深度图效果:结构光vs.双目

投射图案的编码方式

直接编码

时分复用编码

空分复用编码

Kinect1原理

iPhone X原深感相机是缩小版的更强大的Kinect1

结构光法优缺点总结

------------------------------------------------------------------

结构光法:为解决双目匹配问题而生

前面文章《深度相机原理揭秘--双目立体视觉》中提到基于双目立体视觉的深度相机对环境光照强度比较敏感,且比较依赖图像本身的特征,因此在光照不足、缺乏纹理等情况下很难提取到有效鲁棒的特征,从而导致匹配误差增大甚至匹配失败。

而基于结构光法的深度相机就是为了解决上述双目匹配算法的复杂度和鲁棒性问题而提出的,其他处理步骤和双目立体视觉类似,本文不再赘述。结构光法不依赖于物体本身的颜色和纹理,采用了主动投影已知图案的方法来实现快速鲁棒的匹配特征点,能够达到较高的精度,也大大扩展了适用范围。

结构光深度相机原理示意图(注意E端发射的带图案的光源)

深度图效果:结构光vs.双目

下图左是普通双目立体视觉深度相机拍摄的图像和对应的深度图结果;下图右是结构光法的深度相机投射的图案及对应的深度图结果,明显可以观察到在同样的场景下结构光法得到的深度图更完整,细节更丰富,效果大大好于双目立体视觉法。

双目立体视觉(左)和结构光(右)深度相机拍摄的图像和对应的深度图

投射图案的编码方式

结构光法投射的图案需要进行精心设计和编码,结构光编码的方式有很多种,一般分为如下几大类:

1、直接编码(direct coding)

根据图像灰度或者颜色信息编码,需要很宽的光谱范围。

优势:对所有点都进行了编码,理论上可以达到较高的分辨率。

缺点:受环境噪音影响较大,测量精度较差。

直接编码原理示意图

2、时分复用编码(time multiplexing coding)

顾名思义,该技术方案需要投影N个连续序列的不同编码光,接收端根据接收到N个连续的序列图像来每个识别每个编码点。投射的编码光有二进制码(最常用)、N进制码、灰度+相移等方案。

该方案的优点:测量精度很高(最高可达微米级);可得到较高分辨率深度图(因为有大量的3D投影点);受物体本身颜色影响很小(采用二进制编码)。

缺点:比较适合静态场景,不适用于动态场景;计算量较大(因为识别一个编码点需要计算连续N次投影)。

时分复用编码原理示意图

3、空分复用编码(spatial multiplexing coding

根据周围邻域内的一个窗口内所有的点的分布来识别编码。

该技术的优势:适用于运动物体。

缺点:不连续的物体表面可能产生错误的窗口解码(因为遮挡)。

空分复用编码原理示意图

Kinect1原理

业界比较有名的结构光方案就是以色列PrimeSense公司的Light Coding的技术,该方案最早被应用于Microsoft的明星产品Kinect1(Kinect2是基于TOF的技术)上。下面以Kinect1为例,介绍一下其工作原理。

Microsoft和PrimeSense合作的Kinect1

Kinect1的红外IR发射端投射人眼不可见的伪随机散斑红外光点到物体上,每个伪随机散斑光点和它周围窗口内的点集在空间分布中的每个位置都是唯一且已知的。这是因为Kinect1的存储器中已经预储存了所有的数据。

Kinect1投影的伪随机散斑

这些散斑投影在被观察物体上的大小和形状根据物体和相机的距离和方向而不同。如下图所示。

Kinect1根据三种不同的距离使用了三种不同尺寸的散斑,如下图所示。这样的目的是为了在远中近三种距离内都能得到相对较好的测量精度:

近距离(0.8 – 1.2 m):可以获得较高的测量精度

中距离(1.2 – 2.0 m):可以获得中等的测量精度

远距离(2.0 – 3.5 m):可以获得较低的测量精度

Kinect1测量精度如下:

spatial x/y resolution: 3mm @2m distance

depth z resolution: 1cm @2m distance

iPhone X原深感相机是缩小版更强大的Kinect1

2013年11月苹果公司以3.45亿美元收购了PrimeSense公司。之后,苹果一直在推动PrimeSense的深度相机向小型化发展。

2016年7月,苹果公布了新型3D手势控制专利,是一个内嵌在类似手机的iOS设备上的图形投影仪,可以识别出用户的手势操作。

2017年9月,苹果发布了重磅产品iPhone X。其中摄像技术最大的创新就是使用了前置深度相机(苹果称之为Truedepth)。虽然苹果没有透露具体的技术细节,但是从官网介绍来看,投影3万个不可见的红外光点完全符合结构光方案(而不是TOF)的特征。另外结构光方案和TOF方案相比,还具有功耗低,精度高的优势。这对移动设备做近距离的人脸识别来说,是极大的技术优势。

点阵投影在人脸上的示意图

(投影的是人眼不可见的红外光,这里只是示意图)

iPhone X利用前置的原深感相机开发了一系列新奇有趣的玩法,比如FaceID、前置背景虚化、人像光效、动画表情、clips等。可见iPhone X的结构光深度相机和Kinect1相比深度图测量更加精细准确,性能有了质的飞跃。

iPhone X基于原深感相机开发的动画表情功能

因此iPhone X的前置原深感相机可以认为是一个缩小版的功能更强的Kinect1。

结构光法优缺点总结

根据前面的原理介绍,我们总结一下基于结构光法深度相机的优缺点。

1、优点

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

2)、结构光投影图案一般经过精心设计,所以在一定范围内可以达到较高的测量精度。

3)、技术成熟,深度图像可以做到相对较高的分辨率。

2、缺点

1)、室外环境基本不能使用。这是因为在室外容易受到强自然光影响,导致投射的编码光被淹没。增加投射光源的功率可以一定程度上缓解该问题,但是效果并不能让人满意。

2)、测量距离较近。物体距离相机越远,物体上的投影图案越大,精度也越差(想象一下手电筒照射远处的情景),相对应的测量精度也越差。所以基于结构光的深度相机测量精度随着距离的增大而大幅降低。因而,往往在近距离场景中应用较多。

3)、容易受到光滑平面反光的影响。

最后,给出几种主流的结构光的深度相机及参数。

几种结构光深度相机的参数

【深度相机系列四】深度相机原理揭秘--结构光(iPhone X 齐刘海原理)相关推荐

  1. 深度相机(三)——结构光(iPhone X 齐刘海原理)

    结构光法:为解决双目匹配问题而生 前面文章<深度相机原理揭秘--双目立体视觉>中提到基于双目立体视觉的深度相机对环境光照强度比较敏感,且比较依赖图像本身的特征,因此在光照不足.缺乏纹理等情 ...

  2. 【深度相机系列四】深度相机分类之结构光法

    说明:文中所举例的产品比较早,读者把重点放在学习原理上就好. 一.结构光法:为解决双目匹配问题而生 上一篇<[深度相机系列三]深度相机分类之双目立体视觉法>中提到基于双目立体视觉的深度相机 ...

  3. 深度学习系列:深度学习在腾讯的平台化和应用实践

    深度学习系列:深度学习在腾讯的平台化和应用实践(一) 莫扎特 2015-01-04 6:05:13 大数据技术 评论(0) 深度学习是近年机器学习领域的重大突破,有着广泛的应用前景.随着Google公 ...

  4. 【深度学习系列】——深度学习简介

    这是深度学习系列的第一篇文章,欢迎关注原创公众号 [计算机视觉联盟],第一时间阅读我的原创!回复 [西瓜书手推笔记] 还可获取我的机器学习纯手推笔记! 直达笔记地址:机器学习手推笔记(GitHub地址 ...

  5. 结构光系统标定(四)基于双目视觉的结构光系统标定

    上一篇文章讲了基于多项式拟合的结构光系统标定,实际上就是将一系列待测的长度值,隐式地表达在一个多项式里面,通过拟合的方式去求出从相位计算三维坐标所需的参数.当然,这个名字是我自己取的,不一定准确. 这 ...

  6. [结构光三维重建] 2、基于结构光的三维重建系统工作原理总结

    概念 基于结构光三维重建系统模型,如下图所示: 基于结构光的三维成像,实际上是三维参数的测量与重现,需要主动去投射结构光到被测物体上,通过结构光的变形来确定被测物的尺寸参数,是一种主动三维测量方式. ...

  7. spad dtof lidar车载IMX459更新系列四深度传感器进化为激光雷达

    之所以索尼会在spad lidar上走的遥遥领先,背后的逻辑是离不开苹果.索尼在苹果phone12 pro以及ipad上的那颗料,只有苹果如此清晰的定义产品,索尼才会精益求精的满足苹果的需求.当然,这 ...

  8. 深度学习系列-前言:深度学习的好教程

    写在之前:忙忙碌碌,总是在走走停停,挤挤时间,留一个思考的机会.断断续续,研究深度学习也有段时间,从开始的小白到现在算是入门了,中途看过些许文章文献资料,也有许多的问题.高山之行才刚刚开始,本系列旨在 ...

  9. 【腾讯深度学习系列】深度学习及并行化实现概述

    [原文:http://djt.qq.com/article/view/1245] 摘要: 深度学习可以完成需要高度抽象特征的人工智能任务,如语音识别.图像识别和检索.自然语言理解等.深层模型是包含多个 ...

  10. 【定位原理揭秘第三期】室内定位技术原理揭秘

    > > > >引言 地图软件已经成为我们日常出行必不可少的工具之一,在导航和搜索上带来了很多便捷的帮助.而定位技术在地图软件里的应用可谓无法替代,尤其是在小范围的室内定位环境下 ...

最新文章

  1. android 蓝牙低耗能(LBE)技术介绍
  2. 删除桌面快捷方式小图标的bat命令
  3. fuse java_java中的Fuse文件系统 - JVM错误双重免费或损坏
  4. 安卓开发fragment报错_android开发 Fragment嵌套调用常见错误
  5. (二):集成日志框架:springboot使用logback日志框架
  6. wxWidgets:wxDataObjectComposite类用法
  7. Go报错package github.com/astaxie/beego: exit status 128
  8. 华为云welink考试试题_华为内部开启WeLink项目,华为云是这样考虑的-通信/网络-与非网...
  9. leetcode 476. 数字的补数(Number Complement)
  10. 项目部署到服务器后字符编码,将UTF-8编码的数据发布到服务器会丢失某些字符...
  11. font-spider(字蛛) 让页面引入中文web字体
  12. listview去掉底部多出的边框黑色
  13. python中文文本聚类_python进行中文文本聚类实例(TFIDF计算、词袋构建)
  14. 高德行政区划地图,区域划线,行政区划浏览
  15. html 左侧居中对齐,HTML的居中对齐
  16. 利用“微PE”自制PE可引导iso
  17. python apply函数不打印_Python Pandas dataframe shift在apply函数中不起作用
  18. MATLAB制作歌曲
  19. Oracle中的next_day(date,char)
  20. 彻底掌握基于HTTP网络层的 “前端性能优化“

热门文章

  1. electron最小化托盘、禁用右键菜单
  2. Foxmail中的文件夹丢失解决方法
  3. 支付行业PCI DSS 3.0学习概述
  4. Linux下禁用笔记本触摸板
  5. JavaScript常用库和API学习文档
  6. 复制网页文本的几种方法
  7. 句法分析 依存句法分析
  8. 北邮“一号邮路”上的数学体验
  9. LSB 算法matlab改进版,将二值图嵌入多张灰度图像中
  10. 算法分析怎么写_区位分析怎么写