近年来,手机摄像头很大的一项技术革新是3D技术,而很大部分的3D技术依托于TOF摄像头模组。
关于TOF模组的原理和应用,之前科普文有很多介绍,此处不予赘述。
今天我们来聊聊TOF的校准标定
TOF怎么做出3D图像
传统手机摄像头拍下来是张二维图片,只有X/Y两轴,3D摄像头在其中增加了Z轴,也就是距离轴。
同样在拍摄马路车辆的场景,TOF模组可以产生距离信息。为了更直观地显示不同距离,可以采用不同颜色表示物体距离远近(伪彩图)。距离信息可以还原到三维象限,生成点云图。
将可见光拍摄得到的带颜色信息的二维图像,与TOF生成的深度信息相融合,作为最终的3D应用。
深度的准确性,需要校准标定来保证
当你在河边欣赏美景,睡莲可能与你只相隔咫尺▼
而当你拿出手机拍照,图片可能会是这样▼
你所计算得到的距离,并不是物体的实际距离,甚至还相去甚远,比如物体距离摄像头是50cm,而你测得的甚至可能会是2米以上。
那是为什么呢?
可能是你没有做标定校准!
1
温度标定校准
前面说到过,目前常用的相位式TOF采用相位差来计算深度。
理想中波形是这样的
波形方正没有任何变形,相位差就是绝对的相位差,深度计算也很精准。
横坐标是时间轴
而实际电路中的波形却可能是这样的
TOF芯片和VCSEL驱动芯片的温度,直接影响了波形的表现。
那么问题来了,波形已经变形成这样,相位差测不准,怎么办?可能需要一个温度补偿。
比如统计一大批模组的相位差表现,和TOF芯片温度及驱动芯片温度之间的关系,求出其补偿系数。
2
Lens标定校准
◆光心偏移
当模组对准物体中心拍摄,理论上物体的中心会成像在模组的中心;
然而,由于模组组装等的误差,实际成像并没有在模组的中心,而是会产生一定的偏移,我们定义为光心偏移。
◆畸变
摄像头在拍摄物体时,或多或少会出现一定的形变,比如
投射模组和接收模组之间的位置关系,也会影响最终的计算结果,主要包括旋转和平移等,位置关系也需要做标定校准。
除此之外,Lens校准还包括f焦距部分等,整个Lens校准是以下其他校准的基石。
3
FPPN标定校准
FPPN(Fixed Pattern Pixel Noise),或也有称之为Pixel dependent Offset,简单来说,由于TOF芯片上每个像素点所处的位置不一样,由于快门延迟等原因,导致像素点计算得到的相位差有误差。
这就直接导致了深度结果的误差。
比如你拍摄的是某一距离下的一张大白板,理论上能得到一个平整的深度平面,因为每个像素点拍摄的都是同一距离。
而实际上得到的是个曲面,如下图,右下角的深度误差是最大的。
FPPN便是标定校准了此类误差。
4
Wiggling标定校准
Wiggling标定校准也有称之为Cyclic error calibration,是距离信息相关的循环误差标定校准。
和温度校准一样,由于实际的激光投射脉冲和理想情况有一定差异,导致测量得到的相位差,与理想的相位差之间,呈现一定的变化规律。
理论相位和实测相位之间,理论上是呈现线性变化,见红色斜线,而实测值是有一定偏差的,见蓝色曲线。
而Wiggling即补偿该误差值。
3D TOF产品是个复杂的系统,深度的生成需要软件算法上的环环相扣,而校准参数的应用,是其中不可或缺的一个环节。