点击上方“计算机视觉工坊”,选择“星标”

干货第一时间送达


文章导读

本文通过介绍TOF相机的成像过程,带大家了解TOF相机中脉冲法和连续波调制这两种技术原理,并详细的分析每种方法的实现细节和各自优缺点,对连续波调制方法深入其相位差原理,单频相位测距的限制及如何解决模糊距离等问题。

0

前情回顾

小编过了一个咸鱼般的五一,躺尸在家被五大过程组,十大知识体系折磨个半死,做题全凭感觉。

记得放假前一天和朋友吃饭,被问到TOF的原理是什么?小编弱弱的回答发射脉冲波打到物体返回后统计光的运行时间从而计算距离。被大佬用质疑的眼神瞄了一下,然后啪嗒啪嗒给我解释了一番连续调制波的原理。

小编总感觉哪里有些问题,做了这么久激光雷达感知算法,那些Velodyne-16,Horizon确实是基于脉冲波的技术原理呀,不过再往下问具体传感器内部是怎么工作的,小编也是一知半解。

下面我们来好好补一补有关TOF相机的基本知识,剧透一下原来TOF相机既可以基于脉冲波的光学快门方法又可以基于连续调制波的方法。

1

什么是TOF相机

在双目成像的文章中,我们说过双目相机是一种被动接收自然光的传感器,通过接收自然光利用三角测距的方式描述三维环境。本文的TOF相机则是一种主动发射红外光的传感器,通过发射光脉冲并接收打到物体反射回来的脉冲信号,最后计算光脉冲的飞行时间得到目标物体的距离。

说到这里我们可能第一反应是这不就是激光雷达的工作原理嘛!确实很相似,但是机械式或混合固态激光雷达采用逐点扫描的方式感知环境信息,而TOF相机以面阵的方式得到深度图。

小编最早接触的TOF相机就是微软的Kinect 2.0。Kinect系列很有意思,第一代基于结构光原理做的深度相机,第二代基于TOF原理做的深度相机,当时小编以为第三代是不是要用双目原理做深度相机了,誓把深度成像的技术都玩个遍的时候它停产了。如下图所示:上面是Kinect 1.0,下面是Kinect 2.0(长得太丑)

TOF相机输出的深度图在2D空间表示为灰度图像,每个像素点对应一个距离值,其中强度越亮表示距离越近,如果光源被吸收或者未收到反射信号则呈现黑色。如下图所示:

在深度图的基础上,配合相机的外参数据可以转换三维点云。假如你又同时有一颗RGB相机,能够将物体表面纹理映射到点云体素上,那么一张栩栩如生的三维渲染模型就出来了,如下如所示:

2

TOF相机的技术原理

发射模块和接收模块是TOF相机的核心部分,通过内部的数据处理计算出深度信息。至于采用什么技术计算深度信息,我们提到了两种方法:

基于脉冲法原理简单:类似于我们有一个计时器,按下开始键发射一束脉冲波出去,当遇到障碍物后返回,当被接收器收到后按下停止键。根据计时器记录的时间和光的速度可以计算出相机到物体的距离。

公式如:Distance = 1/2 × c × Δt

其中c表示光在空气中传播的速度,Δt表示脉冲信号从相机到目标往返的时间。

通过一个高频率的时钟驱动计数器对收发脉冲之间的时间进行计数,使得计数时钟的周期必须远小于发送脉冲和接收脉冲之间的时间才能够保证足够的精度。但是如果要达到毫米级别的测量,对控制时钟,发射单元等电子元器件的精度都是一项挑战。这就是为什么无人驾驶中应用的激光雷达传感器常基于脉冲法,因为该方法比较适合中远距离的测量。

但是在机器人等应用中使用的TOF相机大多采用的是连续波调制的方法:使用调制光照射场景, 并测量通过场景中的物体反射后返回光的相位延迟。得到相位延迟后, 再使用正交采样技术测量间接得到距离。

公式如:Distance = 1/2 × c × ϕ × T/2π

其中c表示光在空气中传播的速度,T表示调制周期,ϕ表示发射和接收波形的相位差。

该方法比较适合中短距离的测量,精度往往可以达到毫米级。

通过对比上述两种方法的基本原理,我们不难发现:

脉冲法测量方式简单,占空比窄检测距离远;但是它易受环境光和元器件精度影响,测量精度相对较低。

相位差可以消除测量器件带来的固定偏差但是采样次数多,导致测量耗时帧率低。

3

如何将相位偏移转换成距离?

仔细看两种方法的距离求解公式,其实很相似,最终都是距离 = 速度 × 时间。唯一区别在于时间是怎么得到的?

脉冲法求时间比较直接,这里没有什么好解释的,就是到达时间-发射时间即可。

相位差也是可以转换成时间的,通常某一定频率 f 的相位差时间 = 相位差的度数 / 2πf 。这里就有小伙伴会问相位差的度数是怎么求的?

在连续波调制过程中通常将连续波近似为正弦波划分成4个窗口进行采样,并且采样时间间隔相同。如下图所示:

推导过程就不贴了,最终的结果为:

ϕ = arctan((Q3-Q4) / (Q1-Q2))

相位差求取中的(Q3-Q4)和(Q1-Q2)相对于脉冲调试法消除了由于测量器件或者环境光引起的固定偏差。并且方程中求商的过程减少了来自距离测量的恒定增益影响,比如系统放大和衰减或者反射响度等问题。

4

重复周期下的相移如何计算距离?

在信号与系统中提到过相位与延时的关系,其中2π为一个符号周期时间,如果采用相位差法测距,怎么判断目标位于第几个周期呢?

事实上采用单一频率进行相位测距,确实无法分辨超过一个周期的距离值。简单粗暴一点的做法就是根据最大测量距离来调节频率,不过频率越高意味着距离分辨率越低,从而测量精度越低。所以在单一频率下会出现距离和精度无法同时满足的情况。

为解决单频造成的模糊距离问题,可以采用多频率技术来延长测量距离同时不降低调制频率。多频率技术的工作原理就是将一个或多个调制频率添加到混合。每个调制频率将有不同的模糊距离,但真正的位置是在不同的频率一致。当两个调制一致的频率,称为拍频,通常是较低的,并对应一个更长的模糊距离。如下图所示:

此解释来源于2014年的一篇文章:Time-of-Flight Camera – An Introduction

有兴趣的小伙伴可以私我要文章(还有一篇更详细的原理解释:TOF Camera Principles Methods and Applications)

5

TOF相机的特性对比

市场上比较常见的视觉传感器包括单目相机、双目相机、结构光相机、全景相机、红外相机、TOF相机等。通常在谈到深度相机时会把TOF和结构光、双目这三种技术拿出来进行对比。

TOF技术相比结构光实现难度较低,发射信号遇到目标返回即可,不像结构光需要先打出激光散斑编码,然后再去提取编码特征。而且TOF受环境影响较小,不存在结构光激光散斑在户外会被淹没的问题,具有较好的抗干扰能力。但是TOF相机的分辨率低,所以通常只适用于一些近距离的避障导航功能。

TOF技术相比双目成像技术,因为其主动发射光源,输出的深度数据是通过解相位计算得到,所以很大程度上不受阴影的影响,在昏暗场景依然有良好的效果。而且TOF生成深度图没有复杂的特征配准、三角测量等算法加持,所以不依赖特征匹配的好坏,也就不受物体表面纹理,环境光照射角度等影响。在生成深度图的实时性上自然优于双目经过一大堆复杂计算的成像过程。

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「计算机视觉工坊」公众号后台回复:深度学习,即可下载深度学习算法、3D深度学习、深度学习框架、目标检测、GAN等相关内容近30本pdf书籍。

下载2

在「计算机视觉工坊」公众号后台回复:计算机视觉,即可下载计算机视觉相关17本pdf书籍,包含计算机视觉算法、Python视觉实战、Opencv3.0学习等。

下载3

在「计算机视觉工坊」公众号后台回复:SLAM,即可下载独家SLAM相关视频课程,包含视觉SLAM、激光SLAM精品课程。

重磅!计算机视觉工坊-学习交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、深度估计、学术交流、求职交流等微信群,请扫描下面微信号加群,备注:”研究方向+学校/公司+昵称“,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进去相关微信群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、orb-slam3等视频课程)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

一文详解深度相机之TOF成像相关推荐

  1. 一文详解深度相机之双目成像

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 文章导读 本文通过介绍双目立体视觉的成像过程,带大家了解双目视觉如何从两个不同视角的成像平面中恢复出物 ...

  2. 重磅直播|中科慧眼崔峰博士详解深度相机原理及其应用

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 大家好,本公众号现已开启线上视频公开课,主讲人通过B站直播间,对3D视觉领域相关知识点进行讲解,并在微 ...

  3. 一文详解鱼眼相机的车位线感知

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 文章导读 本文是一篇介绍鱼眼相机做车位线检测的文章,放眼当下泊车功能在智能汽车领域研究的如火如荼,从L ...

  4. 一文详解双目相机标定理论

    01 前言 双目相机标定,从广义上讲,其实它包含两个部分内容: 两台相机各自误差的标定(单目标定) 两台相机之间相互位置的标定(狭义,双目标定) 在这里我们所说的双目标定是狭义的,讲解理论的时候仅指两 ...

  5. 一文详解深度学习冷板式液冷散热技术规范及要求

    深度学习 | 东数西算 | 液冷散热 数据挖掘 | 数据分析 | 高性能计算 随着深度学习.东数西算.医药研发.数据分析.数据挖掘.遥感测绘.高性能计算等技术的快速发展,数据中心的创建与日俱增,传统的 ...

  6. 一文详解深度学习在命名实体识别(NER)中的应用

    近几年来,基于神经网络的深度学习方法在计算机视觉.语音识别等领域取得了巨大成功,另外在自然语言处理领域也取得了不少进展.在NLP的关键性基础任务-命名实体识别(Named Entity Recogni ...

  7. 深度相机之TOF原理详解

    /*************************************************************************************************** ...

  8. 【卷积神经网络结构专题】一文详解AlexNet(附代码实现)

    关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! [导读]本文是卷积神经网络结构系列专题第二篇文章,前面我们已经介绍了第一个真正意义 ...

  9. 一文详解决策树算法模型

    AI有道 一个有情怀的公众号 上文我们主要介绍了Adaptive Boosting.AdaBoost演算法通过调整每笔资料的权重,得到不同的hypotheses,然后将不同的hypothesis乘以不 ...

  10. 【NLP】四万字全面详解 | 深度学习中的注意力机制(四,完结篇)

    作者 | 蘑菇先生 知乎 | 蘑菇先生学习记 深度学习Attention小综述系列: 四万字全面详解 | 深度学习中的注意力机制(一) 四万字全面详解 | 深度学习中的注意力机制(二) 四万字全面详解 ...

最新文章

  1. 习题4-1 求奇数和 (15 分)
  2. 8088微型计算机pdf,微型计算机原理与接口技术:第3章 8086-8088微处理器及其体系结构.pdf...
  3. python项目面试_Python面试中最常见的25个问题-结束
  4. 七种武器——.NET工程师求职面试必杀技
  5. 最小可行产品是什么_无论如何,“最小可行产品”到底意味着什么?
  6. 【转】DICOM的常用Tag分类和说明!!!!
  7. idea安装Translation翻译插件
  8. Go Web编程--应用数据库
  9. 58岁退休女士,想出去旅游却很难约到合适的伴,怎么办?
  10. 全国青少年软件编程(C语言)等级考试试题-2019年9月(一级含答案)
  11. bat 设置变量带中文
  12. linux 下 ethtool 修改网卡eeprom
  13. [转]企业安全建设二——如何推动安全策略
  14. 缺陷报告【软件测试】
  15. Landsat系列卫星介绍
  16. Unable to establish SSL connection.
  17. (二)U盘安装Windows Server 2008 R2系统
  18. 数据结构与算法——时间与空间复杂度
  19. vscode使用ssh连接远程Ubuntu服务器(记录)
  20. Go 语言开发工具 LiteIDE X36 发布

热门文章

  1. .net core2 发送电子邮件封装
  2. winform打包项目
  3. xxx.lib(xxx.obj)fatal error LNK1103: debugging information corrupt; recompile module 的解决方案
  4. 11-11 11:11
  5. 微信小程序——风水罗盘
  6. 非直接缓冲区与直接缓冲区
  7. SQL Server数据库查询sql去掉小数后点后末尾的0
  8. vscode在vue页面中书写代码没有提示!怎么破?
  9. vxp grandle 自动更新应用
  10. libevent参考手册 系列文章