1.简介
3D 飞行时间技术是机器视觉领域的革新,它采用低成本的 CMOS 点阵和有源调制光源,
提供了 3D 成像方法。飞行时间相机结构紧凑,简单易用,高精度,高帧率,是一种非常有吸引力的方案,应用广泛。本文先介绍飞行时间相机的基本原理,对比了飞行时间相机和其他2D/3D 技术。然后,介绍了飞行时间相机各种有价值的应用,比如手势感应,3D 扫描和打印。
最后,提供了开发飞行时间相机的各种资源。
2.原理
3D 飞行时间相机通过一个调制光源和检测反射光来照亮场景。检测发射光和反射光之间
的相位移动,并换算成距离。图 1 显示了基本的飞行时间相机原理。
图1: 3D 飞行时间相机原理
通常,固态激光或者 LED 的发射光源是近红外波段(~850nm),对人眼不可见。图像传感器需要能够响应相同的波段,接收光,将光能量转化为电流。注意,进入传感器的光同时包
括了环境光和反射光。距离(深度)信息只存在于反射光中。因此,过多的环境光会降低信噪
比(SNR)。为了检测发射光和发射光之间的相位移动,光源是脉冲波或是调制过的连续波,
光源通常是正弦波或方波。方波调制更通用,可以通过数字电路很容易实现。
通过集成的光电转换器从反射光中获取脉冲调制,或在反射的第一个检测中启动快速计数
器。快速计数器需要一个快速光检测器,通常是一个单光子雪崩二极管(SPAD)。这种计数
方法需要快速电子脉冲,1 毫米的精度需要的时钟脉冲间隔是 6.6 皮秒。这种级别的精度在室
温下的芯片上是无法获得的。
图 2: 两种飞行时间方法:脉冲(上)和连续波(下)
脉冲方法是比较直观的。在一个比较短的时间内,光源照射时间为(Δt),采用两个异相
窗口,C1 和 C2,在相同的时间间隔Δt 内,同时并行对每个像素点的反射能量进行采样。在这些采样时间内,电流持续充电,测量 Q1 和 Q2 用下面公式计算距离:
连续波方法每次测量获取多个样本,每个样本相位差 90 度,共 4 个样本。使用这种技
术,发射光和反射光之前的相位角为,φ,距离 d 可以通过下式计算:
接着,待测量像素的亮度(A)和偏移(B),计算为:
在所有的公式中,c 是光速 30 万千米每小时。
第一眼看,相比脉冲波,连续波方法的复杂度看似不合理,但仔细看连续波的公式, 就会
发现(Q3 − Q4)和(Q1 − Q2)减少了测量中的偏移常量。还有就是,相位角公式中的商值可以减少
距离测量中的增益常量的影响,比如,系统中的放大或衰减,或者反射的强度。
反射亮度(A)和偏移(B)会影响深度测量的精度。深度值方差可以用以下公式估计:
调制常量 cd 描述了飞行时间传感器分离和收集光电信号的好坏程度。反射光强,A,是光
强的函数。偏移,B,是环境光和系统内部偏移的函数。可以从公式 6 得到结论是高幅度,高调
制频率和高调制对比度,可以增加精度;但高偏移会导致相机饱和从而降低精度。
高频情况下,由于芯片硅半导体的特性,调制对比度会衰减。这是调制频率的实际上线。具有快速下降沿频率的飞行时间相机精度更高。
连续波测量基于相位,每 2π重复一次,意味着距离就会产生锯齿。产生锯齿的距离,称为
模糊距离,damb,用公式 7 表示:
距离出现循环,damb 就是最大的观测距离。如果需要增加观测距离,就需要减小调制频
率,根据公式 6,就会减小精度。
如果不想妥协,高级飞行时间系统就会采用多频技术增加距离而不减小调制频率。增加一个或多个调制频率混合可以生成多频技术。每个调制频率都有一个不同的模糊距离,但真正的位置是多个频率相交的地方。两个调制频率相交,称为差(分)频(率),通常很低,对应一个较长的模糊距离。双频技术方法如下所示。
图 3: 用多频技术增加距离
3.点云
飞行时间传感器,测量 2 维可寻址的阵列传感器中的每个像素的距离,生成深度图。深度
图是 3 维点云的集合(每个点称为一个体素)。比如,QVGA 传感器的深度图有 320x240 个
体素。深度图的 2 维表示是一个灰度图,如图 4 易拉罐所示,亮度比较亮,比较近的体素。图4 显示了一组易拉罐深度图。
图 4: 易拉罐深度图
另外,深度图可以通过一系列的点组成的三维空间来渲染,或者点云。3D 点可以连接形
成网格,表明影射有材质贴图。如果有同一物体的实时彩色图像生成材质,就可以渲染出逼真
的 3D 物体,如图 5 所示。图片中的人可以旋转人像看不同的透视图。
图 5: 从点云生成的人像
4.其他的视觉技术
飞行时间技术并不是唯一的视觉技术。这节我们将对比飞行时间技术和经典的 2D 机器视
觉和其他的 3D 视觉技术。本节最后对这一比较作了总结。
2D 机器视觉
目前大部分机器视觉都是 2D,性价比高,光照容易控制。非常适合质量检验,瑕疵可以
通过图像处理检测,比如边缘检测,模板匹配和形态学打卡/关闭。这些算法提取关键特征参
数,对比数据库用于瑕疵检测。为了检测 Z 轴方向的瑕疵,需要加一个 1D 传感器或 3D 视觉
传感器。
2D 视觉可用于无结构环境中,需要借助高级图像处理算法处理复杂的光照和阴影。如图 6所示,这些图像时同一张脸,但是不同的光照。阴影不同使得人脸面部识别非常困难。
相反,飞行时间传感器生成的点云用于计算机识别不会受到阴影的影响,因为光照是飞行
时间传感器自己提供的,深度信息使从相位数据中提取的,而不是图像亮度。
图 6: 同一张脸,不同的阴影
3D 机器视觉
鲁棒的 3D 视觉克服了 2D 视觉的很多问题,深度信息可以轻松地分离前景和背景。这对
场景的理解非常有用,其第一步就是从图像的其他部分(背景)分割出兴趣目标物体(前
景)。
比如,手势识别,就涉及到场景理解。用距离作为一个分类器,飞行时间传感器就可以将
人脸,手和手指从图像中的其他部分分离出来,所以,手势识别非常容易。
图 7: 3D 视觉对比 2D 的优势
接下来,我们将对比 ToF 和另外两种 3D 视觉技术:立体视觉和结构光。
立体视觉 vs. ToF
立体相机通常使用两个相机,类似于人的双眼。给定空间中的 3D 点,分开的相机可以测
量两个相机图像中的目标的视差。用针孔相机模型,可以计算每幅图像中的目标位置,如图所
示,分别用α和β表示。根据角度,深度值,Z 就可以计算出来了。
图 8: 视差测量计算立体视觉深度
立体视觉的主要调整是解决对应问题:给定一幅图像中的一个点,如何找到另一相机图像中相同的点?如果没有对应关系,视差和深度值就无法精确地算出来。对应关系问题比较复杂,需要使用特征提取和匹配中的算法。特征提取和匹配也需要足够的亮度和颜色。如果缺少
这些变量,立体视觉效率就会下降,比如,测量同一颜色的墙面之间的距离时。ToF 相机就不
会有这些限制,它并不依赖于颜色或纹理测量距离。
在立体视觉中,深度分辨率误差是距离的二次函数。相比 ToF 相机,作用于反射光,也对
距离敏感。但不同的是,ToF 的这个弱点可以增加光照亮度来弥补;ToF 使用的亮度信息是用
于增加精度的有效特征,使用的是类似卡尔曼滤波这样的技术。
立体视觉也有一些优势。成本低,可以使用现有的相机。双目相机符合人眼的直觉,他们
可以看到相同的图像。
结构光 vs. ToF
结构光是投射已知模板的光到物体上,检查模板的变形。多个连续的代码或相位移动模板
用于提取一帧深度图,帧率非常低。低帧率就要求被拍物体保持不动,以避免模糊。
反射模式
对环境光的干扰非常敏感;因此,结构光更适用于室内应用。结构光的主要优点是可以使用现有的 DLP 投影仪或高清彩色相机获得相对高的空间(X-Y)分辨率。
图 9: 结构光原理
ToF 对机械结构上的设计和环境光相对不敏感,结构设计更紧凑。目前 ToF 技术分辨率低于结构光技术。
ToF,立体相机和结构光的总结如表 1 所示。ToF 的主要优势是性价比高,结构紧凑,深度图像不受环境光影响,非常方便分离场景理解中的前景和背景。这使得 ToF 应用非常广泛。
表 1: 3D 成像技术对比
ToF 可应用于汽车,工业,健康,智能广告,游戏和娱乐。ToF 传感器也可以作为优秀的
输入设备用于静态和移动计算设备。在汽车领域,ToF 传感器可以实现自动驾驶,增加对环境
安全的感知。在工业领域,ToF 传感器可以作为 HMI,用于强制安全措施。在智能广告中,ToF 传感器可以识别人类手势。在健康领域,手势识别可以提供非接触操作。手势非常适合消
费电子,尤其是游戏,移动计算和家庭娱乐。ToF 传感器天然地提供第一人称直觉游戏界面。
可以用于远程控制,鼠标和触摸屏。总的来说,ToF 传感器应用可分为手势和非手势。手势应
用强调人的交互和速度;非手势偏重测量精度。
图 10: ToF 技术应用于各种应用
手势应用
手势应用将人的活动(面部,手,手指或身体)转换成指令控制游戏机,智能电视或移动
计算设备。比如,切换频道可以滑动手指。这些应用要求快速的反应时间,中小距离,厘米级
的精度和低功耗。
图 11: 使用 3D-ToF 传感器和 SoftKinetic iisu®软件的手势识别
非手势应用
ToF 传感器也用于非手势应用。比如,汽车辅助驾驶中,ToF 传感器当检测到行人和物体
时可以提醒司机确保安全。在机器人和自动化中,ToF 传感器可以检测产品瑕疵,当人和机器
靠得太近时可以确保安全。ToF 传感器可以 3D 扫描使 3D 打印价格下降。在这些应用中,空
间精度非常重要。
6.开始设计
TI 的 3D-ToF 方案基于连续波方法,在功耗和精度上有所加强。
硬件
这套方案是 3 颗芯片:ToF 图像传感器,模拟前端和 ToF 控制器。提供了一套相机开发工
具。图 12 是系统框图。
图 12: 3D-ToF 系统框图
软件
SoftKinetic: http://www.softkinetic.com
Point-Cloud Library: http://www.pointclouds.org
OpenCV: http://www.opencv.org
7.总结
本文总结了 ToF 技术的原理。对比了 ToF 传感器和 2D,其他 3D 机器视觉技术。探索了
相关应用,提供了开发需要用的软件。
参考文献
[1] E. Charbon, M. Fisburn, R. Walker, R. Henderson, C. Niclass, SPAD-Based Sensors.
[2] D. Van Nieuwenhove, W. Van der Tempel, R. Grrotjans, M. Kuijk, “Time-of-flight Optical Ranging
Sensor based on a Current Assisted Photonic Demodulator”, Proceedings Symposium, IEEE/LEOSBenelux Chapter, 2006, Eindhoven.
[3] SoftKinetic DepthSenseTM sensors, http://www.softkinetic.com/en-
us/products/depthsensesensors.aspx.
[4] J. Geng, “Structured-Light 3D Surface Imaging: a Tutorial”, Advances in Optics and Photonics 3,128-160 (2011).
[5] M. Hansard, S. Lee, O. Choi, R. Horaud, “Time-of-Flight Cameras: Principles, Methods and
Applications”, Springer Brief in Computer Science, 2012.
[6] A.P.P Jongenelen, D. G. Bailey, A.D. Payne, A.A. Dorrington, D.A. Carnegie, Analysis of Errors in ToF
Range Imaging with Dual-Frequency Modulation, IEEE Transactions on Instrumentation and
Measurement, Vo. 60, No. 5, May 2011, SSN0018-9456.
【版权声明】泡泡机器人SLAM的所有文章全部由泡泡机器人的成员花费大量心血制作而成的原创内容,希望大家珍惜我们的劳动成果,转载请务必注明出自【泡泡机器人SLAM】微信公众号,否则侵权必究!同时,我们也欢迎各位转载到自己的朋友圈,让更多的人能进入到SLAM这个领域中,让我们共同为推进中国的SLAM事业而努力!
【注】商业转载请联系刘富强([email protected])进行授权。普通个人转载,请保留版权声明,并且在文章下方放上“泡泡机器人SLAM”微信公众账号的二维码即可。
【编辑】张韵