TOF和结构光
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和结构光的更多相关文章
- TOF与结构光技术分析
TOF与结构光技术分析 一.概述 结构光(Structuredlight),通常采用特定波长的不可见的激光作为光源,它发射出来的光带有编码信息,投射在物体上,通过一定算法来计算返回的编码图案的畸变来得 ...
- 3D-camera结构光原理
3D-camera结构光原理 目前主流的深度探测技术是结构光,TOF,和双目.具体的百度就有很详细的信息. 而结构光也有双目结构光和散斑结构光等,没错,Iphone X 的3D深度相机就用 散斑结构光 ...
- 3D结构光
3D结构光 3D结构光的整个系统包含结构光投影设备.摄像机.图像采集和处理系统.其过程就是投影设备发射光线到被测物体上,摄像机拍摄在被测物体上形成的三维光图形,拍摄图像经采集处理系统处理后获得被测物体 ...
- 教你如何认识人脸识别开发套件中的双目摄像、3D结构光摄像头、单目摄像头的区别及详细讲解
深圳市宁远电子提供的人脸识别模组可支持双目摄像头和3D结构光摄像头,在客户咨询中经常有被问到双目的为什么会比单目的成本高,区别在哪里,他们的适用于哪些场景呢?在此,深圳市宁远电子技术工程师就为大家详细 ...
- 结构光和ToF
- 双目结构光三维扫描仪获得的三维点云模型(GIF)
- 【计算机视觉】深度相机(一)--TOF总结
http://www.voidcn.com/blog/lg1259156776/article/p-6302915.html 1.1 TOF初探 TOF是Time of flight的简写,直译为飞行 ...
- TOF 初探
TOF 简介 TOF是Time of flight的简写,直译为飞行时间的意思.所谓飞行时间法3D成像,是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得 ...
- TOF相机基本知识
TOF是Time of flight的简写,直译为飞行时间的意思.所谓飞行时间法3D成像,是通过给目标连续发送光脉冲,然后利用传感器接收从物体返回的光,通过探测光脉冲的飞行时间来得到目标物的距离.TO ...
- 【计算机视觉】time of flight (TOF)
目录(?)[-] 11 TOF初探 12 TOF研究机构 13 TOF之应用领域 14 TOF相机特点 2 深度相机比较 1 MESA系列介绍 2 PMD Tec系列 3 NATAL 4 primeS ...
随机推荐
- Spyglass CDC工具使用(四)
最近一直在搞CDC (clock domain crossing) 方面的事情,现在就CDC的一些知识点进行总结. 做CDC检查使用的是Spyglass工具.以下内容转载自:Spyglass之CDC检 ...
- python-GUI-pyqt5之文件加密解密工具
pyqt5的文件加密解密程序,用到base64,rsa和aes进行混合解密,代码比较杂乱,可自行整理,仅供学习参考之用,如需转载,请联系博主或附上博客链接,下面直接干货. 程序截图如下: # -*- ...
- vue3-使用百度地图遇到的坑-地图实例化
1.创建地图实例 原因:在使用vue3为了只定义一次地图实例,在所有方法中使用,直接使用如下定义方式: setup() { const data = reactive({ bmap: null,}) ...
- 01.html大致主体格式
<!DOCTYPE html> 不是HTML标签,就是文档声明标签 告诉浏览器使用哪种html版本来显示网页,其必须在文档中的最前面位置,要放在<html>标签之前, < ...
- 学习记录--C++多态性简答+编程题
#include<iostream> #include<string> //双目运算符:运算符作用域两个操作数 //定义一个复数类,重载"+",作为复数类的 ...
- 多线程中使用COM 的注意事项
最近做了一个TCP Server的程序,其中需用使用COM组件,但是tcp 的部分是阻塞的,所以开了一个线程用来专门接收来自客户端的信号,当接收到信号后,再根据情况处理. 按照这个思路,在程序的一开始 ...
- Python gdal读取MODIS遥感影像并结合质量控制QC波段掩膜数据
本文介绍基于Python中GDAL模块,实现MODIS遥感影像数据的读取.计算,并基于质量控制QC波段进行图像掩膜的方法. 前期的文章Python GDAL读取栅格数据并基于质量评估波段QA对 ...
- 【手搓模型】亲手实现 Vision Transformer
前言 博客主页:睡晚不猿序程 首发时间:2023.3.17,首发于博客园 最近更新时间:2023.3.17 本文由 睡晚不猿序程 原创 作者是蒻蒟本蒟,如果文章里有任何错误或者表述不清,请 tt 我, ...
- Django笔记二之连接数据库、执行migrate数据结构更改操作
本篇笔记目录索引如下: Django 连接mysql,执行数据库表结构迁移步骤介绍 操作数据库,对数据进行简单操作 接下来几篇笔记都会介绍和数据库相关,包括数据库的连接.操作(包括增删改查).对应的字 ...
- Java面试——Java基础
更多内容,移步IT-BLOG 一.JAVA中的几种基本数据类型 Java语言中一共提供了8种原始的数据类型(byte,short,int,long,float,double,char,boolean) ...