TOF和结构光

一、ToF

ToF(Time of Flight)飞行时间
字面理解就是通过光的飞行时间来计算距离
ToF的基本原理是通过红外发射器发射调制过的光脉冲,遇到物体反射后,用接收器接收反射回来的光脉冲,并根据光脉冲的往返时间计算与物体之间的距离。这种调制方式对发射器和接收器的要求较高,光速那么快,对于时间的测量有极高的精度要求。


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

由于测量光的飞行时间需要非常高的频率和精度,早期的ToF设备在体积上一直存在问题,成本也高,所以多只用于工业领域。ToF的小型化极大依赖于近年来集成电路与传感器技术上的突破,使得在CMOS芯片上对光脉冲相位的测量逐渐变得可行。有芯片上的解决方案,才有小型化和低成本的产品出现。

据说目前最小的ToF模块IRSZ238XC,整个模块(包括传感器,镜头IR发射器及电路)尺寸为12mm×8mm。外形更小巧,拥有比以前芯片更高的分辨率,达38,000像素。

二、结构光

结构光 (Structured Light)
结构光是通过红外激光器,将具有一定结构特征的光线投射到被拍摄物体上,再由专门的红外摄像头进行采集反射的结构光图案,根据三角测量原理进行深度信息的计算。

iPhoneX上的Truedepth相机,用的是以色列PrimeSense公司的Light Coding技术。这种结构光方案,通过投射人眼不可见的伪随机散斑红外光点到物体上,每个伪随机散斑光点和它周围一定范围内的点集在空间分布中的每个位置都是唯一的,并将预先进行了存储。

这些散斑投影在被观察物体上的大小和形状根据物体和相机的距离和方向而不同,由此计算深度信息。

这种方案和ToF相比,计算量少功耗低,在近距离范围内精度更高,所以在人脸识别,手势识别方面极具优势。

当然,结构光的缺点也比较明显。

由于投射的经过编码的图像或散斑光点,在室外容易被强自然光淹没,所以结构光方案在室外并不好用。当物体距离相机较远时,物体上投射到的图像或光点越大,精度也越差;它也容易受光滑平面的反光影响,比如投射到镜子上。

P.S. 想象一下手电筒,几万个点投射在你手上,和投射在10米远处的物体上,每个点覆盖的面积是不是放大了很多倍?精度就会自然降低很多。

三、测量距离、分辨率、开发周期的对比

测量距离方面,ToF也具备一定优势。由于ToF接收传感器所接收的每个像素点对应一个物体表面的实际位置,只要有反射光回来,就可以通过解相位的方法获取到深度。其测量精度不会随着测量距离的增大而降低,其测量误差在整个测量范围内基本上是固定的。而且由于太阳光并未经过调制,可以简单认为它对相位是没有影响的,所以ToF对于室外强光环境也有一定的鲁棒性。

分辨率方面,采用ToF技术的深度相机分辨率目前还偏低,一般也就320*240的水准,功耗上也略微不尽人意。

开发周期和解决方案方面,ToF因基于它的解决方案出现较晚,开发群体较为薄弱。而结构光技术,一方面PrimeSense(Kinect 1)当年的如日中天留下了无数成型的解决方案,有Intel支持的RealSense又有着非常强大的SDK,这些都使得基于结构光的开发周期可以比较短。

综合来看,对于AR眼镜,无论是设备小型化需要还是实现SLAM需要的实时三维建图,ToF都有很大的优势。目前的一些“旗舰”产品HoloLens、Magic LeapOne的深度摄像头用的也都是ToF技术。

当然,ToF目前对于近距离的手势识别精度还有待提高。随着技术的发展,究竟哪种技术会成为主流还未可知,但终将会出现被大家广泛使用于AR眼镜的三维测量方案,到时AR眼镜的普及率已经有很大提升了吧。


结构光投射点阵,ToF投射的是一整个面

TOF和结构光的更多相关文章

  1. TOF与结构光技术分析

    TOF与结构光技术分析 一.概述 结构光(Structuredlight),通常采用特定波长的不可见的激光作为光源,它发射出来的光带有编码信息,投射在物体上,通过一定算法来计算返回的编码图案的畸变来得 ...

  2. 3D-camera结构光原理

    3D-camera结构光原理 目前主流的深度探测技术是结构光,TOF,和双目.具体的百度就有很详细的信息. 而结构光也有双目结构光和散斑结构光等,没错,Iphone X 的3D深度相机就用 散斑结构光 ...

  3. 3D结构光

    3D结构光 3D结构光的整个系统包含结构光投影设备.摄像机.图像采集和处理系统.其过程就是投影设备发射光线到被测物体上,摄像机拍摄在被测物体上形成的三维光图形,拍摄图像经采集处理系统处理后获得被测物体 ...

  4. 教你如何认识人脸识别开发套件中的双目摄像、3D结构光摄像头、单目摄像头的区别及详细讲解

    深圳市宁远电子提供的人脸识别模组可支持双目摄像头和3D结构光摄像头,在客户咨询中经常有被问到双目的为什么会比单目的成本高,区别在哪里,他们的适用于哪些场景呢?在此,深圳市宁远电子技术工程师就为大家详细 ...

  5. 结构光和ToF

  6. 双目结构光三维扫描仪获得的三维点云模型(GIF)

  7. 【计算机视觉】深度相机(一)--TOF总结

    http://www.voidcn.com/blog/lg1259156776/article/p-6302915.html 1.1 TOF初探 TOF是Time of flight的简写,直译为飞行 ...

  8. TOF 初探

    TOF 简介 TOF是Time of flight的简写,直译为飞行时间的意思.所谓飞行时间法3D成像,是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得 ...

  9. TOF相机基本知识

    TOF是Time of flight的简写,直译为飞行时间的意思.所谓飞行时间法3D成像,是通过给目标连续发送光脉冲,然后利用传感器接收从物体返回的光,通过探测光脉冲的飞行时间来得到目标物的距离.TO ...

  10. 【计算机视觉】time of flight (TOF)

    目录(?)[-] 11 TOF初探 12 TOF研究机构 13 TOF之应用领域 14 TOF相机特点 2 深度相机比较 1 MESA系列介绍 2 PMD Tec系列 3 NATAL 4 primeS ...

随机推荐

  1. Kafka源码阅读系列——Producer

    Producer Kafka源码的exmaple模块有一个Producer类,继承了Thread类,构造方法会指定topic,是否异步,是否幂等,配置Kafka集群信息,初始化一个KafkaProdu ...

  2. ARM-linux的Windows交叉编译环境搭建

    交叉编译Arm Linux平台的QT5库 1.准备交叉编译环境 环境说明:Windows10 64位 此过程需要: (1)Qt库开源代码,我使用的是5.13.0版本: (2)Perl语言环境5.12版 ...

  3. .net 生成Excel并保存

    void SaveQuestionToExcel(List<Question> datas, string path) { using (Workbook workbook = new H ...

  4. Abp学习(一) abp+vue +mysql框架搭建

    一.到Abp官网下载框架 地址:https://aspnetboilerplate.com/Templates 二.打开项目 修改数据库连接为MySql,默认是SQL Server 2.1.修改链接字 ...

  5. CH573 CH582 CH579蓝牙从机(peripheral)例程讲解六(蓝牙设置白名单)

    蓝牙从机设置白名单,可以只扫描应答(白名单中列出的)设备,只允许(白名单中列出的)设备连接. 蓝牙主机设置白名单,可以只扫描.连接特定的蓝牙设备(白名单中列出的). 一.蓝牙从机白名单设置有关的函数介 ...

  6. Error parsing HTTP request header 控制台报错分析与解决

    控制台报错信息: org.apache.coyote.http11.AbstractHttp11Processor process 信息: Error parsing HTTP request hea ...

  7. pymysql安装后使用报错处理

    1.django启动报错: Error loading MySQLdb module. Did you install mysqlclient? 原因:初次安装配置pymysql时需要在__init_ ...

  8. [复现]2021DASCTF实战精英夏令营暨DASCTF July X CBCTF-PWN

    EasyHeap 想可执行的地方写入orw的shellcode,利用tcachebin的df进行劫持malloc_hook 然后调用add来触发. from pwn import * context. ...

  9. Maven 切换JDK版本

    欢迎访问我的个人博客:xie-kang.com 查看Maven安装目录的conf目录可以看到有 settings.xml\toolchains.xml文件.settings.xml主要是设置切换Mav ...

  10. svn操作方法

    1.SVN1.1.SVN概述1.1.1.为什么需要使用svn版本控制软件协作开发远程开发版本回退 1.1.2.解决之道SCM:软件配置管理所谓的软件配置管理实际就是对软件源代码进行控制与管理. CVS ...