浅析dToF和iToF-程序员宅基地

技术标签: 大咖说3D  3d成像  计算机视觉  人工智能  人脸识别  手势识别  

苹果公司近期正式推出了新款iPad Pro,吸引了不少人的关注。在官方的宣传标语中,有一句话尤其引人关注,“它的Pro级摄像头打通了真实和虚拟的交界”。

新款iPad Pro搭载的Pro级摄像头不仅包含了全新的超广角摄像头,还包含了一款激光雷达扫描仪。该扫描仪利用dToF技术,结合运动传感器和iPadOS内的架构,可以进行深度测量,为增强现实及更广泛的领域开启无尽可能。

那么dToF是什么呢,它和我们之前市面上已有的iToF又有什么不同呢?

本文将会介绍dToF和iToF的成像原理,对比分析dToF和iToF两者的差异性,带领大家了解一下ToF领域。

 一、ToF是什么?

首先,让我们先来了解一下ToF的基本概念。

Time-of-Flight(ToF),顾名思义,是一种利用光飞行时间的技术。接触过3D视觉的读者应该知道,ToF和结构光、双目立体视觉是近年来三种主流的3D成像方式。ToF向场景中发射近红外光,利用光的飞行时间信息,测量场景中物体的距离。ToF相比较另外两种3D成像方式,深度信息计算量小,抗干扰性强,测量范围远。种种优势推动了ToF在机器人、交互以及其他工业领域中的应用。尤其是在移动端,已有多品牌手机,比如华为、OPPO、苹果,将其用于手机后置摄像。

 二、dToF和iToF 

了解了ToF的概念之后,让我们再来深入了解一下两类ToF的基本成像原理,也就是文章标题中提到的iToF和dToF。

dToF,全称是direct Time-of-Flight。顾名思义,dToF直接测量飞行时间。dToF核心组件包含VCSEL、单光子雪崩二极管SPAD和时间数字转换器TDC。Single Photon Avalanche Diode(SPAD)是一种具有单光子探测能力的光电探测雪崩二极管,只要有微弱的光信号就能产生电流。dToF模组的VCSEL向场景中发射脉冲波,SPAD接收从目标物体反射回来的脉冲波。Time Digital Converter(TDC)能够记录每次接收到的光信号的飞行时间,也就是发射脉冲和接收脉冲之间的时间间隔。dToF会在单帧测量时间内发射和接收N次光信号,然后对记录的N次飞行时间做直方图统计,其中出现频率最高的飞行时间t用来计算待测物体的深度,d=c*\frac{t}{2}  。图1是dToF单个像素点记录的光飞行时间直方图,其中,高度最高的柱对应的时间就是该像素点的最终光飞行时间。

图1. 单像素记录的光飞行时间直方图示意图

dToF的原理看起来虽然很简单,但是实际能达到较高的精度很困难。除了对时钟同步有非常高的精度要求以外,还对脉冲信号的精度有很高的要求。普通的光电二极管难以满足这样的需求。而dToF中的核心组件SPAD由于制作工艺复杂,能胜任生产任务的厂家并不多,并且集成困难。所以目前研究dToF的厂家并不多,更多的是在研究和推动iToF。

iToF的概念和dToF相对应,全称是indirect Time-of-Flight,直译就是间接光飞行时间。所谓间接,

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/smarttof/article/details/108647666

智能推荐

docker 报错bash: warning: setlocale: LC_ALL: cannot change locale (en_US.utf-8) 解决方案_docker bash: warning: setlocale: lc_all: cannot ch-程序员宅基地

文章浏览阅读6.1k次,点赞6次,收藏8次。docker 环境经常提升【bash: warning: setlocale: LC_ALL: cannot change locale (en_US.utf-8)】这种报错。ubuntu的虚拟环境。去网上找了一堆解决方法,几乎没一个给力的。自己研究了一下,解决办法就是apt-get clean && apt-get update && apt-get install -y localeslocale-gen en_US.UTF-8实测有用。原地址.._docker bash: warning: setlocale: lc_all: cannot change locale (en_us.utf8)

Android——EditText-imeOptions属性_android:imeoptions="flagnoextractui-程序员宅基地

文章浏览阅读404次。1.当我们手机横屏,且使用Android自带的软键盘为EditText进行文本输入时,若不进行特殊的设置,该软键盘会占用整个界面,那么,如何让键盘只占用屏幕的一部分呢? 其实只需要改一个小小的属性即可!另外使用android_android:imeoptions="flagnoextractui

mysql jdbc driverclassname_MySql中的driverClassName、url-程序员宅基地

文章浏览阅读915次,点赞2次,收藏2次。在Java桌面开发或者Java Web开发(基于SSM框架)配置MySQL数据源时,driverClassName属性如果填错了,会导致了这一系列错误。归结其原因就是 mysql-connector-java版本不同,driverClassName也不会有所不同。MySQL的链接中间件mysql-connector-java.jar的版本不同,链接驱动类名也有所不同,具体如下:driverClas..._mysql jdbc.driverclassname

Sklearn中predict_proba函数用法及原理详解-程序员宅基地

文章浏览阅读4k次,点赞3次,收藏11次。Sklearn中predict_proba函数用法及数学原理详解(以logistic回归为例)_predict_prob

MVCC解决什么问题?原理是什么?_mvcc解决了什么问题-程序员宅基地

文章浏览阅读1.4k次。MVCC解决什么问题?原理是什么?_mvcc解决了什么问题

(邱维声)高等代数课程笔记:解线性方程组的矩阵消元法_比较消元法和初等变换求线性方程组的异同,并阐述自己的收获-程序员宅基地

文章浏览阅读383次。根据邱维声老师的高等代数课程,整理的笔记。_比较消元法和初等变换求线性方程组的异同,并阐述自己的收获

随便推点

【C语言】模拟一个简单的银行系统(只涉及最简单的switch语句)_c语言,使用do while循环语句编写银行密码系统程序-程序员宅基地

文章浏览阅读1.3k次,点赞3次,收藏10次。用c语言实现一个模拟银行,包括存款、取款、修改密码和退出四个功能,主要是对switch语句的应用,有助于理解c语言里循环的使用_c语言,使用do while循环语句编写银行密码系统程序

个人电脑怎么搭建服务器 花生壳内网穿透 设置路由器虚拟服务器_192.168.2.128-程序员宅基地

文章浏览阅读621次。内网穿透设置: 配置内网穿透,选择服务器软件的端口号,然后将其映射到您的服务器的内部IP地址和端口号。这将允许外部访问您的服务器。添加端口映射规则: 添加一个新的端口映射规则,将外部端口映射到您的服务器的内部IP地址和端口号。确保将该规则与服务器软件的端口号匹配。_192.168.2.128

Telink 825x - SDK软件结构_telink tls825x 蓝牙芯片sdk-程序员宅基地

文章浏览阅读273次。telink 8258 remote sdk结构说明_telink tls825x 蓝牙芯片sdk

vue可视化面板创建项目_可视化创建vue项目-程序员宅基地

文章浏览阅读1.6k次。在命令行输入vue ui等待可视化界面打开填写项目名称(必须英文)和仓库信息(可选填),然后点击下一步进入“预设面板”这里根据需要选择一个选项,然后进入“功能面板”在这个部分,选择自己需要安装的功能,然后右边按钮打开,一般需要打开“Babel”、“Router”、“Linter / Formatter”以及“使用配置文件”,继续点击“下一步”根据上面信息配置完成后点击“创建项目”,此时会弹出一个面板表示是否把刚才的配置保存为一个预设(建议保存,下次创建项目的时候可以直接用)可以试一下。_可视化创建vue项目

android加音乐歌词代码,Android简易音乐播放器实现代码-程序员宅基地

文章浏览阅读441次。本文实例为大家分享了Android音乐播放器的具体代码,供大家参考,具体内容如下1.播放项目内的音乐package com.thm.g150820_android26_playmusic;import Android.media.MediaPlayer;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;..._android项目添加歌词

Vue 2.x 项目升级到 Vue 3详细指南【总结版】_vue2升级vue3-程序员宅基地

文章浏览阅读1.7w次,点赞96次,收藏159次。Vue 3 是 Vue.js 框架的最新版本,它带来了许多新特性和改进,例如更快的渲染速度、更好的类型推导、更好的组合 API 等等。如果您正在使用 Vue 2.x,升级到 Vue 3 可以让您的项目获得这些新特性和改进,并且更好地适应未来的发展。然而,Vue 3 与 Vue 2.x 在语法和一些核心概念上有一些重大变化,因此升级 Vue 3 可能需要一些额外的工作。本指南将为您提供一些有关如何将 Vue 2.x 项目升级到 Vue 3 的详细说明和指导,希望能够帮助您平滑地进行升级。_vue2升级vue3

推荐文章

热门文章

相关标签