3D深度传感ToF技术的基本原理解析

小白学视觉

共 8503字,需浏览 18分钟

 ·

2021-11-11 13:29

点击上方小白学视觉”,选择加"星标"或“置顶”

重磅干货,第一时间送达


飞行时间(ToF)相机凭借更小的外形尺寸、更宽的动态感测范围,以及在多种环境下工作的能力,成为首选的深度传感方法。虽然ToF技术已在科学和军事领域应用多年,但随着21世纪初图像传感技术的进步,才得到更加普遍的应用。性能的变革意味着,包括 ADI ToF 技术在内的探测技术,已被应用到智能手机、消费电子和游戏设备中,未来将不仅限于消费市场。随着技术的进一步成熟,将有机会利用主流制造工艺从设计、制造和货物运输等多方面来提高系统效率。

图1. 飞行时间(ToF):一项检测到物体的距离的技术。

物流、质检、导航、机器人、人脸识别、安保、监控、安全、医疗健康和驾驶员监控,所有这些应用都有机会使用3D深度传感ToF技术,从而来解决许多传统2D技术无能为力的问题。高分辨率深度数据与强大的分类算法以及AI相结合,将会解锁许多新的应用方向。

本文将探讨ToF深度传感的基本原理和两种主要的方法,并与其他常用的深度测量技术进行比较。然后,详细介绍ADI公司的3D 深度传感ToF技术的核心—— ADDI9036 模拟前端,这是一个完整的ToF信号处理器件,集成了深度处理器,将来自VGA CCD 传感器的原始图像数据处理成深度/像素数据。我们还将讨论ADI如何通过硬件合作伙伴生态系统,将这项技术扩展到我们广阔的市场客户群。

基本的工作原理


图2. 简单的飞行时间测量示意图。

ToF相机通过使用调制光源(例如激光或LED)主动照亮物体,并用对激光波长敏感的图像传感器捕捉反射光,以此测量出目标距离(图2)。传感器可以测量出发射出的激光信号经目标反射,回到相机的时间延迟∆T。该延迟与相机到目标物体间的两倍距离(往返)成正比;因此,深度可以估算为:

其中 c表示光速。ToF相机的主要工作是估算发射光信号和反射光信号之间的延迟。

目前存在多种不同的测量∆T的方法,其中两种最为常用:连续波(CW)方法和脉冲方法。

连续波方法

图3. 连续波ToF系统图解

连续波方法采用周期调制信号进行主动发光(图3),然后对接收到的信号进行零差解调,以测量反射光的相移。

例如,当发射信号使用正弦调制是,可以表示为如下公式:

其中

● As表示信号的幅度

● Bs 表示信号的偏置量

● fmod 表示调制频率, fmod – 1/Tmod 其中 Tmod 表示调制周期。

接收信号 r(t)是反射信号经过延迟和衰减得到的:

0 ≤ α 《 1,α是衰减系数,其值取决于目标距离以及表面反射率,∆T表示返回信号的延迟时间。

连续波飞行时间传感器通过按照相同的频率s(t) 对接收信号 r(t))和解调信号 g(t) 之间的相关函数进行采样,以此测量每个像素的距离。在理想情况下,解调信号也是一个正弦波:

像素执行的操作为相关运算:

当发射信号和解调信号都是正弦波时,相关值作为延迟τ 的函数应用到解调信号中:

之后,如公式3所示,在每个四分之一周期内,对相关函数 c(τ)采样(通过90°步进改变发射光信号相位)。对于发射信号和解调信号之间的相位偏置Φ=2πfmodΔT,可以使用公式7估算:

深度则与相移成正比:

图4. 相关函数采样过程图解。

脉冲方法


在脉冲方法中,光源发出一系列N 个激光短脉冲,这些脉冲被反射回带有电子快门的传感器,该传感器能够在一系列短时间窗口中进行曝光。图5中的三个快门窗口或脉冲被用于捕获反射 光脉冲。其中BG窗口捕获环境光,计算深度时环境光强度会被减掉。

图5. 快门窗口捕捉反射光的示意图。

根据不同快门曝光测得的光强值,可以按照以下公式估算得出ToF ∆T:

在公式1中,使用公式9中的表达式替代∆T,得出公式10,由此计算距离:

需要注意的是,这些公式是建立在假设脉冲是完美的矩形脉冲的基础上的,考虑到硬件的局限性,这是不可能实现的。此外,在实际情况下,需要对几百甚至几千个激光脉冲进行积分,才能获得测量所需的足够的信噪比(SNR)。

连续波和脉冲ToF技术系统的优缺点

相对于应用用例,两种ToF方法都有各自的优缺点。需要考虑的问题包括:测量距离、使用系统的环境、精度要求、热/功耗限制、外形大小以及电源问题。值得注意的是,目前已在市场上得到广泛应用的绝大多数连续波ToF系统都使用CMOS传感器,脉冲ToF系统则使用非CMOS传感器(主要是CCD)。因此,以下列出的优点/缺点都是基于这些假设:

连续波系统的优点


● 对于对精度要求不高的应用,连续波系统可能比脉冲系统更容易实现,因为它不要求激光脉冲非常短,也不需要具有超快的上升/下降沿,当然在实际中很难复制完美的正弦波。但是,如果精度要求变得更严格,那么将需要更高频率的调制信号,这实际上很难实现。

● 由于激光信号具有周期性,所以连续波系统测量中的任何相位测量每隔2π会重复一次,意味着会产生一个混叠距离。对于只有一个调制频率的系统,混叠距离也是最大可测距离。为了应对这个限制,可以使用多个调制频率来执行相位展开,其中,如果两个(或多个)具有不同调制频率的相位测量值与估算的距离一致,就可以确定与物体之间的真实距离。这种多重调制频率方案也可以用于减少多路径误差,多路径误差是由于一个物体的反射光击中另一个物体(或在镜头内部反射),然后返回到传感器时会导致的测量误差。

● 在所有CMOS成像器系统中,可以使用标准电源轨(+5 V、+3.3 V、+1.2 V),而CCD可能需要使用更高的负极(–9 V)和正极(+14 V)电源轨道。

● 根据它们的配置,CMOS ToF成像器往往具有更大的灵活性和更快的读出速度,因此可以实现感兴趣区域(RoI)输出等功能。

● 连续波ToF系统的温度校准可能比脉冲ToF系统更容易。随着系统温度升高,解调信号和激光信号会因为温度变化彼此偏移,但这种偏移只会影响测量距离,在整个距离范围内始终存在偏置误差,而深度线性度则基本保持稳定。

连续波系统的缺点:


● 虽然与其他传感器相比,CMOS传感器具有更高的输出数据速率,但连续波传感器需要在多个调制频率下获得4个相关函数样本,并使用多帧处理来计算深度。较长的曝光时间可能会限制系统的整体帧率,或导致运动模糊,因此只能在有限类型的应用中使用。这种更高的处理复杂性可能需要用到外部应用处理器,而这可能超出了应用的需求。

● 对于更远的测量距离或者更强环境光的场景,更高的连续光功率(与脉冲ToF系统相比)则十分必要;而这种高强度的连续光信号则可能导致散热和可靠性的新问题。

脉冲ToF技术系统的优点:

● 脉冲ToF技术系统通常依赖于在很短的时间窗口内发出高能光脉冲。它具有下列优点:

(1)更加便于设计鲁棒性强的系统,因此更适用于户外。

(2)曝光时间越短,运动模糊的效应越小。

● 脉冲ToF系统中的信号占空比通常比同等水平的连续波系统要低得多,因此具有以下优点:

(1)对于长期工作的应用,可以降低系统的总功耗。

(2)通过将脉冲群放置在与其他系统不同的帧位置,从而避免来自其他脉冲ToF系统的干扰。这可以通过协调各种系统在一帧中为激光脉冲选择不同的位置,或者使用外部光电探测器来确定其他系统脉冲的位置来实现。另一种方法是动态随机排列脉冲群的位置,这样就无需协调各个系统之间的时序,但这种方法无法完全消除干扰。

● 由于脉冲时序和宽度不需要一样,所以可以采用不同的时序方案,支持实现更宽的动态范围和自动曝光等功能。

脉冲ToF技术系统的缺点:


● 由于发射光脉冲的脉宽和快门的脉宽需要保持相同,所以系统的时序控制需要非常精确,根据应用需要,可能需要达到皮秒级精度。

● 为了达到最大效率,激光脉冲宽度必须非常短,但同时必须具有极高的功率。因此,激光驱动器需要实现非常快的上升/下降沿(《 1ns)。

● 与连续波系统相比,其温度校准过程可能更为复杂,因为温度的变化会影响单个脉冲宽度,不仅影响偏置和增益,还会影响其线性度。

● 如前所述,大多数脉冲系统都不使用CMOS传感器。例如:

(1)脉冲ToF系统几乎总是需要使用外部模拟前端来数字化和输出深度数据(尽管连续波系统也可能需要使用外部处理器,但这取决于后端处理的复杂度)。

(2)该系统的配置(特别是ToF传感器的电源要求)需要使用更多的组件和电源轨。

其他深度传感技术


熟悉其他深度传感技术对理解不同方案的优缺点非常有帮助;如前所述,根据用例和应用要求,所有深度传感系统各有优缺点。

立体视觉

要使用立体视觉进行深度测量,需要用到多个相机,彼此之间相隔一定距离(图6)。就像人眼一样,会在空间中给每个相机一个参考点,这些点相互独立,因此如果在两个相机之间能够对应还原这些点的坐标,系统就能够计算这些点的位置。确定这种对应关系需要用到高强度且复杂的算法。

图6. 使用立体视觉的3D深度测量

优点

● 无需主动发光

● 它只需要使用两个相机来获取数据,因此价格更便宜(虽然可能需要使用一个复杂的应用处理器来找到对应的点,并生成3D图像)。

缺点

● 如果两个相机之间的对应点没有差别对比,则无法计算距离。对于白墙环境(因为两个相机显示的内容之间没有差异)和环境光不足的环境,这个问题就会凸显出来。

● 距离更远时,两个相机彼此之间应该相距更远,以便对应的点位于两个相机的不同位置。对于需要测量更远距离的应用,尺寸成为明显的问题。

结构光

结构光的工作原理是将已知的参考点图投射到三维物体上,参考点图经过物体高度调制产生变形,被调制的光信息被2D相机采集捕捉,然后将调制后的光信息与投射的参考点图做对比,基于调制水平计算出深度图。

图7. 使用结构光方法的深度传感图解。

优点

● 能够在近距离内(《 2米)实现非常高的空间分辨率和非常高的精度。

缺点

● 提取一帧信息需要多次投影,这可能会降低帧速率,导致从移动对象中提取距离信息变得非常困难。

● 对于远距离探测,光源需要远离相机镜头,因为如果光源距离镜头太近,可能导致无法识别图像变形。对于需要小尺寸外形的应用,这可能不太合适。因此,当深度测量应用的距离大于2米时,一般不使用结构光方法。

● 室外环境光也可能干扰图像调制,所以结构光更加适合在室内使用。

ADI深度传感(ToF)技术

ADI的ToF技术属于脉冲ToF CCD系统(图8),使用高性能ToF CCD和集成了12位ADC、深度处理器(将来自CCD的原始模拟图像信号处理成深度/像素数据),以及高精度时钟发生器(为CCD和激光器生成驱动时序)的TOF模拟处理前端ADDI9036。时序发生器的精确时序内核支持在45 MHz时钟频率下按照大约174 ps分辨率调整时钟和LD输出。

图8. ADI ToF系统功能框图。

与其他解决方案相比,ADI的ToF系统具备以下优点

● 使用了分辨率为640×480的ToF图像传感器,其分辨率比市面上大部分其他ToF解决方案的分辨率高4倍。

● 使用了对940nm波长高度灵敏的传感器。如之前所述,环境光将显著降低反射信号的信噪比,特别是在强烈的环境光下。940nm激光器已经变得很普遍,因为这种波长在太阳光光谱中占据了一席之地,在该光谱中,光子通量的幅度相对较低(图9)。ADI ToF系统使用对940nm光敏感的ToF CCD,因此能够在室外环境或具有强环境光的区域采集到更多的有效信号。

图9. 光子通量与太阳光的波长。

深度处理器采用伪随机化算法和特殊的图像处理功能,可以消除多机干扰(如前所述)。因此,可以在同个环境中使用多个ADI的ToF系统。

图10. 户外图像的深度图比较。

在图10显示的示例中,在户外使用三个不同的深度测量系统来测量距离。值得注意的是,使用850 nm光源的CMOS ToF系统很难分辨出人与三脚架,而ADI的CCD ToF系统却能够清晰地分辨出两者。

W哪些应用正在使用ToF技术?


如引言所述,在2D图像中加入深度信息可以提取出更多的有效信息,从而显著提高场景信息的质量。例如,2D图像检测无法区分真人和照片。提取深度信息可以更好地区分人体,跟踪面部和身体特征。ToF深度传感可以提供高质量且可靠的人脸识别方案,用于身份安全验证。分辨率和深度精度越高,分类算法 的性能越好。它可以用于实现简单功能,例如允许访问移动设备/私人家庭空间,也可以实现高端应用,例如在商业敏感区域提供门禁控制。

图11. 数字人脸识别。

随着深度传感技术的分辨率和深度精度不断提高,人员的区分和跟踪将变得更加容易。人工智能的使用可以大大提高分类的置信度,从而推动新的新兴应用领域涌现。一个很好的例子是商业自动门开启功能,尤其是在太阳光强烈的区域。确保门只对人开放,不对其他物体开放,这有助于实现高效楼宇管理,并提高安全性。

图12. 自动门开启的人员分类。

随着3D算法进一步成熟,数据分析将被用来收集大量关于人们行为的有效信息。这种技术可能最先应用于楼宇控制应用,例如门禁系统。垂直安装的传感器增加了深度信息,这意味着可以非常准确地计算人数。另一个用例是智能自动门开启(图13),它可以对人进行区分,只有在检测到真人时才开启。ADI正在开发人员计数和区分的软件算法。

通过使用深度信息,可以在许多具有挑战性的条件下对人进行高精度的分类,例如在光线暗淡或没有环境光的环境中,在人口密度较大的地区,以及在人员着装复杂的情况下(例如,戴着帽子、围巾等)。最重要的是,几乎可以消除人员计数错误。如今,立体摄像机可以用于进出检测,但由于机械尺寸(两个传感器)和高处理器需求的限制,立体视觉往往价格昂贵,且尺寸很大。ADI ToF 技术直接输出深度图,且只采用一个传感器,因此大大降低了外形尺寸和处理需求。

图13. 使用深度传感技术的人员跟踪算法。

深度传感是工业、制造和建筑过程中的重要应用。在整个生产过程中实时准确地确定尺寸并进行分类,这是一项了不起的功能。准确的深度传感可以确定仓库的使用率。需要能够快速确定下线产品的尺寸,以进行传输。高分辨率深度传感能够实时确定目标对象的边缘和线条,并快速计算出其体积。这种确定体积的应用目前已使用神经网络方法。

图14. 3D尺寸。

在工厂内部,自动传输产品的范围不断扩大。AGV(自动导航车辆)等自动驾驶车辆将需要在工厂和仓库中更快地自主导航。高精度深度传感技术使得传感器能够实时绘制所处的环境、确定自身在地图中的位置,然后找出最高效的导航路线。在工厂自动化环境中部署这种技术的最大挑战之一在于:来自在同一 区域运行的其他传感器的干扰。ADI的干扰消除IP使得这些传感器能够在彼此的视线范围内工作,且不互相影响性能。

图15.制造过程中的深度传感用例。

如何使用ToF技术实施评估、原型制作和设计?

ADI开发了一个光学传感器电路板 (AD-96TOF1-EBZ),与Arrow 96应 用处理器平台兼容。关于这款96TOF1电路板的光学规格,请参 见表1。

图16. ADI的96TOF光学深度测量电路板。

表1. ADI的96TOF光学电路板规格

该电路板可以直接连接到Arrow的96Boards系列产品。96Boards系列是一系列硬件处理器平台,以合理的价格为开发人员提供基于 ARM®的最新处理器。按照96Boards规格生产的电路板适用于快速原型制作, Qualcomm® SnapdragonTM, 恩智浦和 NVIDIA® 处理器都支持96Boards平台。

ToF深度传感是一项复杂的技术。实现VGA传感器的最高性能需要用到大量的光学专业知识。光学校准、高速脉冲时序模式、温度漂移和补偿都会影响深度精度。要实现所需的性能,可能需要花很长时间进行设计。虽然ADI可以提供含芯片的设计,为合格客户提供机会,但许多客户都在寻找能够更轻松、更快速且更高效进入市场的方法。

许多客户都对简单的演示模块感兴趣,他们会先评估该项技术的性能,然后决定是否在实际项目中使用。ADI与多家硬件合作伙伴合作,提供不同等级的硬件产品。DCAM710演示模块由我们其中一家硬件合作伙伴(Pico)提供,支持通过USB将深度图像直接传输至PC。

图17. DCAM710 VGA深度测量和RGB摄像机。

DCAM710模块规格

ToF摄像机DCAM710模块的规格:

● B基于ADI的ToF信号链产品和技术

● 可输出深度图和(710版)ToF + RGB图像(可禁用)

● FOV 70 × 54

● 深度摄像机支持的图像大小:30 FPS下,最大640 × 480

● RGB摄像机支持的图像大小:30 FPS下,最大1920 × 1080

● USB 2.0接口

● 支持的操作系统:可以在 Android®, Linux® 和 Windows® 7/8/10 上 运行

● Pico深度传感器SDK、示例代码和工具(兼容OpenNI SDK)

● Python®中ADI提供的示例应用算法

Pico SDK软件平台支持Windows和Linux操作系统,支持多种软件功能。点云可以在对象周围的空间中生成一组数据点,通常用于生成3D模型(可以通过SDK轻松生成)。

图18. 深度传感点云。

由于演示平台通过USB将原始数据传输到计算机上,因此很容易开发简单的软件应用算法来帮助客户快速开发代码。

图19. VGA深度传感通过USB传输至PC。

ADI在Python中提供简单的示例代码,以支持客户进行评估。下面的示例是实时截图的Python源代码,该代码被用于检测和分类人员,然后使用深度测量来确定人员与传感器之间的关系。其他可用的算法包括终端检测、对象跟踪和3D安全幕。

图20. 人员分类和范围检测。

如何利用ToF实现量产?

虽然ADI 96TOF参考设计对进行芯片化设计的客户非常有用,DCAM710演示平台仍是评估该技术的一种经济高效的方法,但在许多情况下,客户进入量产时,会需要使用不同或自定义程度更高的解决方案。例如,在AGV系统中,通常需要终端节点感测模块提供GigE或以太网输出。这提供了一种将来自终端节点感测模块的高速原始深度数据发送至集中化CPU/GPU控制器的可靠方法。

图21. 工业AGV中的深度测量(导航/防撞)。

在其他应用中,客户可能希望实现一些终端节点处理,但只将元数据发送回控制器。在这种情况下,就需要使用外形小巧的深度节点模块,配备支持ARM或FPGA的集成式终端节点处理器。ADI已经开发了大量第三方生态系统合作伙伴,可以满足不同客户的要求。

这些第三方提供一系列功能,从完整的摄像机产品到没有外壳的小型光学模块(可以集成到更大的系统中)。下图所示为没有外壳的微型MIPI模块,可以轻松集成到更大的系统中。ADI的合作伙伴网络还可以根据需要提供硬件、光学器件和应用处理器定制服务。我们的合作伙伴如今提供的模块包括USB、以太网、Wi-Fi和MIPI,以及一系列集成式终端节点处理器。

ADI和我们的硬件合作伙伴还与外部软件合作伙伴合作,后者提供系统级的深度处理算法专业知识。

结论


高分辨率深度成像系统可以帮助解决新兴应用领域中的困难任务和复杂任务,这一优点促使我们的客户开始迅速采用该系统。想要以最快的速度、最低的风险、最便宜的方式进入市场,就需要采用经济高效、尺寸小巧、高度精准、可以集成到更大系统的模块。ADI的96TOF参考设计平台提供一个完整的嵌入式评估平台,使得客户能够立即评估技术,并开始开发应用代码。

下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲
小白学视觉公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲
小白学视觉公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群


欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~


浏览 22
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报