作者||技述无忌
原文地址:https://mp.weixin.qq.com/s/e_Y7QBI3HWd4_eOS8J5lpw
✨如果觉得文章内容不错,别忘了三连支持下哦😘~
一、多路径干扰影响的典型场景
ToF多路径干扰是多条发射光经过不同反射路径或者单条光线经过多次反射后被ToF sensor接收,从而导致ToF计算空间距离产生误差的现象;
(图片来源:M. Gupta, S. K. Nayar, M. B. Hullin, and J. Martin, “Phasor imaging: A generalization of correlation-based time-of-flight imaging,” ACM Transactions on Graphics (ToG))
第一类多径干扰现象是场景中存在高反射率的物体,发射光被环境物体反射之后,照射到目标上,经目标反射回ToF的接收端,从而使得接收端在计算相位或者距离时出现错误;如下图所示:
第二类多径干扰现象是发生在类似墙角凹陷的地方,虽然可能墙面的反射率不高,但由于反射的各方向光线比较密集,导致影响角落边上的深度;
第三类多径干扰现象出现在场景中存在半透的物体,一部分光线在物体的前表面反射回来,而另一部分光线穿过物体后由背景的物体反射回ToF设备接收端,从而导深度测量误差。对于这类问题、其原理还会影响到ToF设备设计,比如ToF前的档板影响,在后续的文章中会单独分析这个问题。
二、多路径干扰抑制
2.1 提高调制频率
根据前面技术系列对于IToF原理的说明, 相位的大小与调制频率和距离相关:频率越高,相同距离对应的相位越大、区分度高,测量精度越高。
对于双频系统,理论上光波 f 1 f_1 f1、光波 f 2 f_2 f2对于同一点的测量值是相等的。但在实际的测量系统中,对应的光波 f 1 f_1 f1 、光波 f 2 f_2 f2测得的距离 d 1 d_1 d1与 d 2 d_2 d2并不相等 。
d 1 = d 2 + e 1 + e 2 d_1 = d_2 + e_1+e_2 d1=d2+e1+e2,其中 e 1 e_1 e1表示为系统及环境导致的误差, e 2 e_2 e2代表多径干扰引起的误差。
对于相同距离反射的次级光线,频率越高,对应的相位差异会越大,通过控制高低频对于同一点测量的精度误差 e 2 e_2 e2的绝对值大小,就可以检测出目标点是否存在多径干扰,因此,可以通过控制相位的差异来抑制多径干扰导致的深度测量误差。
2.2 多频调制
具有多路径干扰时,反射光的模型可表达为:
r
(
t
:
τ
~
)
=
a
1
c
o
s
2
π
f
0
(
t
−
τ
1
)
+
a
2
c
o
s
2
π
f
0
(
t
−
τ
2
)
+
b
r(t:\tilde{\tau})=a_1cos2{\pi}f_0(t-{\tau_1})+a_2cos2{\pi}f_0(t-{\tau_2})+b
r(t:τ~)=a1cos2πf0(t−τ1)+a2cos2πf0(t−τ2)+b
=
a
~
c
o
s
2
π
f
0
(
t
−
τ
~
)
+
b
=\tilde{a} cos2{\pi}f_0(t-\tilde{\tau})+b
=a~cos2πf0(t−τ~)+b
IToF感光值是 M M M个调制光周期的积分值,这个积分值仅与频率 f f f、物体距离 d d d以及物体反射率有关。可用如下表达式:
C ( f ) = a 1 ( e j 4 π d 1 / c ) f + a 2 ( e j 4 π d 2 / c ) f C(f)=a_1(e^{j4{\pi}d_1/c})^f+a_2(e^{j4{\pi}d_2/c})^f C(f)=a1(ej4πd1/c)f+a2(ej4πd2/c)f
其中, C ( f ) C(f) C(f)是ToF sensor的曝光积分值, f f f为调制频率, d d d为物体距离。
由上式可知:存在4个未知参数 ( a 1 , a 2 , d 1 , d 2 ) (a_1,a_2,d_1,d_2) (a1,a2,d1,d2),所以需要调制4个频率或者更多,才能解算出多径干扰。
上式虽然看上去仅考虑了两条路径,但仍然使用于一般性的多径影响。
2.3 多传感融合
主动光的测量方法或多或少都会存在多径问题,为了抑制多径的影响,可以考虑引入其它的测量系统,通过多测量系统的融合滤波降低多径的影响。
不过,对于此方案的精度,笔者并未验证,在此仅对其可行性进行简单的论证分析。
下面,我们以ToF与IMU的融合来讨论其可行性。
借用视觉贯性里程计的思路,假定在ToF系统中增加IMU的测量数据,融合为一个独立的测量系统。那么,就可以借用IMU瞬时测量数据比较精确的特性来估计ToF的测量误差。
IMU的测量数据不依赖于ToF子系统,它们是独立变量互不干扰,因此,系统可以发挥两者的优势,从而得到一个比任一单一传感器更好的测量效果。
IMU在手机、机器人、平板等设备中基本上已经成为了一个标准件,因此采用IMU的数据解决ToF的噪声(含多径干扰)具有产品、技术上的可操作性。
IMU与视觉ToF坐标系标定与对准:港科大的VINS就实现了一个在线的Camera和IMU的标定算法,其方法同样适用于与面阵ToF的标定,其支持online与offline两种标定方式,online标定使用起来会更加的方便,具有兼容性,能够对不同的设备进行标定,但是也增加了初始化的复杂性。
在不需要动态求争camera内参的情况下,一般会采用offline,详细在此不做赘述。——https://github.com/ethz-asl/kalibr
多传感器融合滤波(EKF):一般地采用扩展的卡尔漫滤波进行多传感器的滤波。在ToF系统中,仅需要将多径干扰的点滤除即可,确保测量数据的准确性。如果要求恢复真实的深度则会变得更加复杂。
2.4 机器学习(深度学习)
基于机器学习的方法比较好理解,以《DeepToF: Off-the-Shelf Real-Time Correction of Multipath Interference in Time-of-Flight Imaging》为例。
该文作者对多径特征的观察表明,它的大部分信息都存在于图像空间中,这就可以将深度成像过程表示为一个空间变化的卷积,并使用卷积神经网络来修正多径误差。
由于输入和输出数据的结构类似,所以,该文作者以自动编码器为基础设计网络,并将网络分为两个阶段进行训练。
首先,第一个阶段使用编码器学习一个合适的basis,可以用来表示受多径干扰的深度图像。其次,第二个阶段训练一个解码器去修正仿真图像的深度。具体的网络如下图所示。
“DeepToF:Off-the-Shelf Real-Time Correction of Multipath Interference inTime-of-Flight Imaging”
文章的效果对比效果图如下:
“DeepToF:Off-the-Shelf Real-Time Correction of Multipath Interference inTime-of-Flight Imaging”
我们可以看到,其对于MPI的纠正效果还不错。
基于这类机器学习的方法,很容易理解,对于神经网络的输入的数据可以是ToF深度+RGB图像+IMU+幅值图等的一个或者是多个组合,输入源越多网络越复杂。
同样地,与用神经网络学习的方法解决其它问题一样,训练数据集的采集是一个难点,特别对于场景的真实3D数据其采集难度大,无法获取大量真实场景的3D数据。
合成数据集虽然一定程度上可以缓解,但其无法完全模拟真实的设备、元器件噪声、场景干扰等因素。
三、总结
总地来说, 调制频率越高,对于元器件的要求也越高,提高频率的方法存在一定的上限;而对于多频的方法,则需要Sensor的快速曝光采集、数据传输等的配合。
目前,对于双频、三频已有成熟悉的系统,如果对于帧率要求不高的场景,则可以通过降低帧率以获得更多频调制信号的支持。以上两种方法对于ToF硬件系统改变较小、算力要求不高,因此也都具备可行性。
而对于机器学习的方法,一方面,存在标准数据集的缺乏;另一方面,其算力要求普遍较高。因此在当前阶段,仅适用于非适时应用的需求, 对于适时应用代价、成本相对较高。
参考资料:
《Keyframe-based visual–inertial odometry using nonlinear optimization》
《VINS-Mono: A Robust and Versatile MonocularVisual-Inertial State Estimator》
《DeepToF: Off-the-Shelf Real-Time Correction of Multipath Interference in Time-of-Flight Imaging》
《SPUMIC: SIMULTANEOUS PHASE UNWRAPPING AND MULTIPATH INTERFERENCE CANCELLATION IN TIME-OF-FLIGHT CAMERAS USING SPECTRAL METHODS》
文中示意相关图片源于互联网。
版权声明:本文为奥比中光特约专家张无忌授权转载,由3D视觉开发者社区编辑整理发布,仅做学术分享,未经授权请勿二次传播,版权归原作者所有,若涉及侵权内容请联系删文。
3D视觉开发者社区是由奥比中光给所有开发者打造的分享与交流平台,旨在将3D视觉技术开放给开发者。平台为开发者提供3D视觉领域免费课程、奥比中光独家资源与专业技术支持。
点击加入3D视觉开发者社区,和开发者们一起讨论分享吧~
也可移步微信关注官方公众号 3D视觉开发者社区 ,获取更多干货知识哦!