版权声明:本文为博主原创文章,未经博主允许不得转载。违者必究。                   https://blog.csdn.net/electech6/article/details/78349107                </div><link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-f57960eb32.css"><div class="htmledit_views" id="content_views">

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

深度相机按照深度测量原理不同,一般分为:飞行时间法、结构光法、双目立体视觉法。本文就来说一说飞行时间法。

飞行时间是从Time of Flight直译过来的,简称TOF。其基本原理是通过连续发射光脉冲(一般为不可见光)到被观测物体上,然后接收从物体反射回去的光脉冲,通过探测光脉冲的飞行(往返)时间来计算被测物体离相机的距离。

TOF法根据调制方法的不同,一般可以分为两种:脉冲调制(Pulsed Modulation)和连续波调制(Continuous Wave Modulation)。

飞行时间法深度测量基本原理示意图

脉冲调制

脉冲调制方案的原理比较简单,如下图所示。它直接根据脉冲发射和接收的时间差来测算距离。

光脉冲法工作原理示意图

脉冲调制方案的照射光源一般采用方波脉冲调制,这是因为它用数字电路来实现相对容易。接收端的每个像素都是由一个感光单元(如光电二极管)组成,它可以将入射光转换为电流,感光单元连接着多个高频转换开关(下图的G0,G1)可以把电流导入不同的可以储存电荷(下图S0,S1)的电容里。

相机上的控制单元打开光源然后再关闭,发出一个光脉冲。在同一时刻,控制单元打开和关闭接收端的电子快门。接收端接收到的电荷S0被存储在感光元件中。

然后,控制单元第二次打开并关闭光源。这次快门打开时间较晚,即在光源被关闭的时间点打开。新接收到的电荷S1也被存储起来。具体过程如下图所示。

因为单个光脉冲的持续时间非常短,此过程会重复几千次,直到达到曝光时间。然后感光传感器中的值会被读出,实际距离可以根据这些值来计算。

记光的速度为c,tp为光脉冲的持续时间, S0表示较早的快门收集的电荷, S1表示延迟的快门收集的电荷,那么距离d可以由如下公式计算:

最小的可测量距离是:在较早的快门期间S0中收集了所有的电荷,而在延迟的快门期间S1没有收集到电荷,即S1 = 0。代入公式会得出最小可测量距离d=0。

最大的可测量的距离是:在S1中收集了所有电荷,而在S0中根本没有收集到电荷。然后,该公式得出d= 0.5 x c × tp。因此最大可测量距离是通过光脉冲宽度来确定的。例如,tp = 50 ns,代入上式,得到最大测量距离d = 7.5m。

优点:

  1. 测量方法简单,响应较快

  2. 由于发射端能量较高,所以一定程度上降低了背景光的干扰

缺点:

  1. 发射端需要产生高频高强度脉冲,对物理器件性能要求很高

  2. 对时间测量精度要求较高

  3. 环境散射光对测量结果有一定影响

连续波调制

实际应用中,通常采用的是正弦波调制。由于接收端和发射端正弦波的相位偏移和物体距离摄像头的距离成正比(见后面推导),因此可以利用相位偏移来测量距离。

连续波调制原理示意图

连续波调制的测量原理相对脉冲调制来说复杂一些,我们以最常用的连续正弦波调制来推导一下测量的原理。

连续正弦波调制测量方法示意图

连续正弦波调制测量方法,具体的推导过程如下。序号1-9对应下图的公式1-9。

  1. 假设发射的正弦信号s(t)振幅是a,调制频率是f

  2. 经过时延 △t后接收到的信号为接收r(t),衰减后的振幅为A,强度偏移(由环境光引起)为B

  3. 四个采样时间间隔相等,均为T/4

  4. 根据上述采样时间可以列出四个方程组

  5. 从而可以计算出发射和接收的正弦信号的相位偏移△φ

  6. 据此可以根据(6)中公式计算物体和深度相机的距离d

  7. 接收信号的衰减后的振幅A的计算结果

  8. 接收信号强度偏移B的计算结果,反映了环境光

  9. A, B的值间接的反应了深度的测量精度,深度测量方差可以用公式9近似表示。

连续正弦波调制公式推导

优点:

  1. 相位偏移(公式5)中的(r2-r0)和(r1-r3)相对于脉冲调试法消除了由于测量器件或者环境光引起的固定偏差。

  2. 可以根据接收信号的振幅A和强度偏移B来间接的估算深度测量结果的精确程度(方差)。

  3. 不要求光源必须是短时高强度脉冲,可以采用不同类型的光源,运用不同的调制方法

缺点:

  1. 需要多次采样积分,测量时间较长,限制了相机的帧率

  2. 需要多次采样积分,测量运动物体时可能会产生运动模糊。

总结

目前的消费级TOF深度相机主要有:微软的Kinect 2、 MESA 的 SR4000 、Google Project Tango 中使用的PMD Tech 的TOF深度相机等。这些产品已经在体感识别、手势识别、环境建模等方面取得了较多的应用,最典型的就是微软的Kinect 2。

TOF深度相机对时间测量的精度要求较高,即使采用最高精度的电子元器件,也很难达到毫米级的精度。因此,在近距离测量领域,尤其是1m范围内,TOF深度相机的精度与其他深度相机相比还具有较大的差距,这限制它在近距离高精度领域的应用。

但是,从前面的原理不难看出,TOF深度相机可以通过调节发射脉冲的频率改变相机测量距离;TOF深度相机与基于特征匹配原理的深度相机不同,其测量精度不会随着测量距离的增大而降低,其测量误差在整个测量范围内基本上是固定的;TOF深度相机抗干扰能力也较强。因此,在测量距离要求比较远的场合(如无人驾驶),TOF深度相机具有非常明显的优势。

深度相机原理揭秘之飞行时间法(TOF)相关推荐

  1. 深度相机原理揭秘之3D结构光Sensor(iPhone X、小米8探索版、OPPO Find)

    转自:https://blog.csdn.net/electech6/article/details/78707839 结构光法:为解决双目匹配问题而生 深度图效果:结构光vs.双目 投射图案的编码方 ...

  2. 双目视觉焦距_深度相机原理揭秘--双目立体视觉

    深度相机原理揭秘--双目立体视觉 博文来源:http://www.sohu.com/a/203027140_100007727 导读 为什么非得用双目相机才能得到深度? 双目立体视觉深度相机的工作流程 ...

  3. 第一课:深度相机原理揭秘--双目立体视觉

    导读 为什么非得用双目相机才能得到深度? 双目立体视觉深度相机的工作流程 双目立体视觉深度相机详细工作原理 理想双目相机成像模型 极线约束 图像矫正技术 基于滑动窗口的图像匹配 基于能量优化的图像匹配 ...

  4. 【深度相机系列三】深度相机原理揭秘--双目立体视觉

    本文已经首发在个人微信公共号:计算机视觉life(微信号CV_life),欢迎关注! 导读 为什么非得用双目相机才能得到深度? 双目立体视觉深度相机的工作流程 双目立体视觉深度相机详细工作原理 理想双 ...

  5. 深度相机原理和优势对比

    目前的深度相机根据其工作原理可以分为三种:TOF.RGB双目.结构光 TOF简介 TOF是Time of flight的简写,直译为飞行时间的意思.所谓飞行时间法3D成像,是通过给目标连续发送光脉冲, ...

  6. kinect深度距离误差_azure kinect 深度相机原理

    azure kinect 深度相机原理 RGB原理就不要讲了 工作原理 Azure Kinect DK 深度相机实现调幅连续波 (AMCW) 时差测距 (ToF) 原理. 该相机将近红外 (NIR) ...

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

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

  8. 深度相机(二)——飞行时间(TOF)

    深度相机按照深度测量原理不同,一般分为:飞行时间法.结构光法.双目立体视觉法.本文就来说一说飞行时间法. 一.TOF简介 飞行时间是从Time of Flight直译过来的,简称TOF.其基本原理是通 ...

  9. 三维重建学习笔记之深度相机入门篇

    说在前面: 一.学术词汇概念解析 学习历程:三维重建→深度相机→点云→点云配准 1.三维重建技术:基于视觉的三维重建,指的是通过摄像机获取场景物体的数据图像,并对此图像进行分析处理,再结合计算机视觉知 ...

最新文章

  1. .net 程序加密方法
  2. 线性布局 相对布局 参数
  3. “春色满园”!谷歌新数据中心有望实现100%可再生能源
  4. Linux Shell 通配符、元字符、转义符使用实例介绍
  5. mysql 使用场景_MySQLMHA典型使用场景
  6. 第一次java怎么创建一class_Java:如何创建Class参数?
  7. 【安装包】apache-tomcat-8.5.45-windows-x64
  8. ASP.NET基于donetCHARTING的自动报表
  9. 吴恩达教授机器学习课程笔记【八】- Part 8 感知器和大间隔分类器(在线学习感知器算法错分类次数上界及其证明)
  10. PowerApps 中的单选控件
  11. 把一个代表DateTime带有T和Z的string转化成DateTime c#
  12. 全国各省市区县数据整理
  13. 写给程序员的心理学入门知识(一)
  14. Vue 拖拽缩放组件 vue-drag-resize属性
  15. 【Lilishop商城】No3-2.模块详细设计,系统设置(系统配置、行政区划、物流公司、滑块验证码图片、敏感词过滤)的详细设计
  16. 基于OpenCV的图像透视变换详解(从理论到实现再到实践)
  17. Python处理中文路径
  18. python提供了几个基本的数值运算操作符_慢步学习,二级python,数字类型及其运算...
  19. 全国计算机等级考试试题练习,全国计算机等级考试一级练习试题
  20. 任务2、创建笔记本电脑类(继承一个类,实现多个接口)

热门文章

  1. 什么是龙格现象(Runge phenomenon)?如何避免龙格现象?
  2. Mac 安装7z解压工具
  3. 【软考高项】新一代信息技术及应用之云计算
  4. [经验分享] 覃超直播课学习笔记
  5. Latex--TikZ和PGF--高级文本绘图,思维绘图,想到--得到!
  6. XSD文件与xml 文件
  7. 法国敏捷开发与敏捷测试模式
  8. 概率论——随机变量及其分布
  9. 2023年最新版kali linux安装教程
  10. 简单工厂/工厂方法/抽象工厂