1、tof标定概述
系统校准是一个减少ToF系统中系统误差影响的过程,如图1.1所示。本文件旨在介绍校准方法、设备和软件
1.1 系统误差
1.1.1 周期误差
谐波失真导致的相位(距离)相关误差。
1.1.2 固定相位模式噪声
由于解调信号的时延取决于可见像素位置以及VCSEL和传感器的未对准(这是几何误差),从而导致像素相关误差。
1.1.3 温漂
温度相关误差,因为相对于温度的时延可以在传感器的解调路径和VCSEL的调制路径中改变
1.1.4 镜头
透镜畸变、偏移和倾斜引起的几何误差。
1.2 整体标定步骤
ToF校准有两种类型
一次性校准:温度漂移校准通常只进行一次。
模组到模组(M2M)校准:摆动、镜头和FPPN具有每个模块的变化。每个模块都必须进行校准。
一次性校准
1) 预热模块10分钟后,在恒温下校准摆动和透镜FPPN。
2) 使用摆动和FPPN校准的数据获得参考深度。
3) 根据时间和环境温度获得温度漂移的统计数据。
4) 使用统计数据计算系数。
M2M校准
:在M2M校准过程中,传感器和激光驱动器中的温度会随着时间的推移而变化。每次校准时都会进行温度漂移补偿。
1) 使用带有外部延时的摆动校准板校准摆动。
2) 使用镜头FPPN校准板校准镜头FPPN,无需外部延时(正常模式)。
表1.1 M2M计算处理时间(条件:双调制频率;100MHz和80MHz,PC规格。;i7 3.6GHz,16GB内存)。
标定项 | 预热时间(ms)1) | 数据采集时间(ms) | 数据加载和处理时间 (ms) | 数据量 5) (depth/frame) |
周期误差 | 5,000 | 3,500 2) | 1,500 | 20/80 |
镜头-相位 | 5,000 | 40,000 3) | 7,800 4) | 8/32 |
总计 | 10,000 | 43,500 | 9,300 | 28/112 |
62,800 |
1) 根据温度漂移性能,预热时间可以缩短。
2) 用摆动校准板的摆动数据捕获时间。
3) 假设平面图的8个不同视图(0、10、90、100、180、190、270、280)。镜头FPPN数据捕获时间取决于电动载物台的旋转速度和稳定性。
4) 如果使用平面图的4个不同视图,数据加载和处理时间将减少到5000ms。
5) 一个深度需要4个原始帧。
下图显示了使用校准数据的补偿程序。
图显示了整体补偿程序的示例。
2、tof标定
2.1 温漂
温度可以改变深度偏移,因为VCSEL调制和传感器解调路径中的延迟时间会随着温度而变化。因此,基于传感器和激光驱动器中的温度,应将具有温度漂移的距离偏移补偿应用于原始距离(这里,我们假设VCSEL的温度由激光驱动器的温度表示)。补偿偏移可以建模如下:
组成偏移=a×温度传感器+b×温度传感器+C
其中,tempsensor和tempvcsel分别是传感器和激光驱动器的温度数据,可以在传感器原始数据的嵌入式行中获得(详见ToF传感器的应用说明)。系数a、b和C是使用监测工具和校准库根据温度数据计算的。温度漂移校准通常仅从海量数据中执行一次,但在M2M中则不执行。
根据时间和环境温度,可以通过“温度漂移监测工具”获得温度漂移统计数据。在获取统计数据时,环境温度可能会发生变化。“校准库”根据此统计数据计算系数。
2.1.1 标定步骤
温度漂移校准程序(见图)
1) 选择一个摄像头模块进行温度漂移校准。
2) 在校准a)和b)的参考模块之前,预热10分钟。
a) 摆动机芯
b) 镜头FPPN校准
3) 将环境温度设置为25、35、45和55℃
a) 获取每个环境温度下30分钟的温度统计数据。
:“温度漂移Mointoring Tool”可以获得温度漂移的统计数据。此工具使用摆动和FPPN校准数据。
4) 使用“标定库”计算系数a、b和C,并将其写入所有相机模块的存储器(如EEPROM)中。
2.1.2 标定设备
对于温度漂移校准,通常使用反射率高于80%的平面图。通过监控代码来固定模块和平面图的距离,以防止饱和。该距离约为400-700mm,具体取决于VCSEL的光功率、积分时间和图表反射率。
温度漂移校准需要传感器和激光驱动器保持在特定的稳定温度。为此,热室可能是调节温度的候选者。然而,热室的尺寸限制可能会导致一些问题。小型腔室会引起多次反射,因为不允许将平面图放入腔室中,而大型腔室成本高昂,占用空间巨大。
我们建议使用热电冷却器(TEC)来调节校准温度。TEC是一种固态设备,可以使用电流控制热通量;它由精密温度控制器和基板组成,如图2.2所示。铜或铝等高导热材料将用作卡盘或热平台的基板。TEC芯片直接连接到基板上快速双向控制温度。这允许温度设置高于和低于环境温度。TEC在小规模温度控制中特别有用,提供快速的温度响应和超高温稳定性。在低温测试下,创造无水分环境非常重要。
图使用平面图的温度漂移补偿环境示例。高度可调与TEC结合的模块(400~700mm)的舞台安装架。高度将固定为制造环境
校准温度漂移时,必须使用如图所示的没有外部时间延迟的“镜头FPPN和温度漂移校准板
2.2 周期误差
摆动误差,也称为圆误差,是一种已知的系统正弦深度失真。误差各不相同使用(LUT);测量深度和地层真值(GT)之间的残差将在中预先计算校准程序。在传统方法中,摆动校准是通过移动图表在测量轨迹线。但在批量生产中,由于空间和即使只使用感兴趣的中心区域(ROI)。我们将使用外部延时板和简单的平面图来校准摆动误差。该程序不需要在测量轨迹线上移动图表。固定距离的白色平面图就足够了。这种方法减少了大规模生产的校准时间和空间。可以只使用小数据集。激光驱动器的调制信号中的时间延迟应由外部延时板调整,以便在光信号的调制和解调之间增加相移。调制路径中的延迟相当于物体在光学中心的距离偏移。请注意,外部延时板获得的图表的原始数据将与图所示的移动图表获得的数据不同。在移动图表的情况下,与传感器和图表的距离
在传感器的笛卡尔坐标系上,z方向逐渐增加(见图a,b)。然而,当使用延时电路时,在球面坐标系上,传感器和图表的虚拟距离在r方向上是一致调整的,但在笛卡尔坐标系上则不是在z方向上。因此,得到的原始数据看起来像是捕捉了如图b,d所示的曲面。为了测试这种方法,使用了On semiconductor®的NB6L295等精密延时IC。NB6L295是一款双通道可编程延迟芯片[2];主要规格为0-11.2ns总时延(扩展模式),每步11ps时延,511步(9位控制),线性度+/-20ps(最大)。延迟时间可以通过Arduino等MCU板进行数字控制。NB6L295的单个时间步长相当于约1.54mm的距离偏移。由于延时IC在由两个串联芯片使用时包含2048步,因此最大延时表示约3.1478m的距离偏移。
移动图表((a)和(b))与基于时间延迟的虚拟图表((c)和(d))之间的比较
2.2.1 标定步骤
摆动校准程序(见图)
1) 设置一个能够捕获平面图的模块
2) 将模块预热5秒。
3) 设置步骤数以指定校准中使用的图像数量(默认值为20)
5) 原始数据是自动捕获的。
6) 使用Calibraiton库计算摆动LUT。
图 周期误差或摆动误差标定步骤
2.2.2 标定设备
对于摆动校准,可以使用白色平面图。平面图的反射率超过80%。通过监控代码来固定模块和平面图的距离,以防止饱和。该距离约为400-700mm,具体取决于VCSEL的光功率、积分时间和图表反射率。
校准板类型 | 白板 |
板尺寸 | 1000 mm × 750 mm |
材料(朗伯反射率) | > 80% |
距离模组距离 | 400 - 700 mm |
摆动校准图。模块高度可调的载物台安装架(400-700mm)。身高将针对制造环境进行固定。校准摆动时,必须使用如图所示的具有外部延时的“摆动校准板”。
2.2.3 周期误差标定板
摆动校准板用于生成ToF系统摆动校准所需的参考距离。摆动校准板使用高精度延时IC插入与RX(传感器)和TX(激光驱动器)之间的参考距离相对应的延时。图显示了使用延时的ToF摆动校准系统的概念图。
图显示了与摆动校准板和电话PCB上的信号连接。需要延迟去嵌入来校准摆动校准板的固有延迟(图a中的红线可能不需要通过电话PCB上的连接进行额外的延迟校准(图b中的蓝线)(额外的延迟将足够小,因为它比其他迹线短得多)
板子评估环境
时间延迟IC的数据表描述了每个控制位的延迟时间。但是,指定的时间延迟可能会随着温度、电源电压等环境变化而变化。因此,我们建议评估摆动校准板,并为每个控制位制作延迟时间表。
图显示了制造的摆动校准板的评估环境。为了进行高精度评估,我们使用安捷伦科技8113DA的函数发生器生成输入信号,并使用Keysight DSA-Z 504A的示波器测量输出信号延迟。函数发生器在100 MHz下产生一对1-V DC偏移和600 mV振幅的差分时钟信号。功率分配器已被用于将差分时钟信号分成摆动校准板和示波器。
嵌入式延迟是指来自电路板环境的偏移延迟,如电缆、连接器、PCB迹线和延时IC中的“零码”延迟;在摆动校准过程中,这种延迟将被消除。控制码可以控制总共2048步(每个IC 1024步)。每个IC的控制码是9位,但IC有两个时间延迟轨道,可以通过1024步扩展的标志信号独立控制。此表是摆动校准板评估的示例。由于摆动校准板上可能存在时间延迟偏差,因此需要对每块板进行评估。为了进行精确的摆动校准,我们建议在每块板上创建表格。
使用摆动校准板时的注意事项
摆动校准板上的延时IC会根据温度而变化。当IC的内部温度稳定时,时间延迟漂移可能会随着时间的推移而发生。因此,使用摆动校准板时可能需要足够的预热时间。我们建议至少有15分钟的预热时间,以获得稳定的结果。预热时间因电路板设计而异,仅在设备初始化开始时需要;预热时间后,每个单独模块的摆动校准过程不需要额外的预热。
2.3 镜头-固定相位模式噪声标定
几何校准使用张的标准技术。参数通常通过3D和2D点之间的单应性来估计。通过使用平面棋盘的至少三个不同视图,估计横向固有相机参数(光心cc,焦距fc,镜头畸变kc)。镜头FPPN校准使用至少四个不同的平面视图。K被称为相机矩阵,定义如下:
镜头畸变使用布朗模型,如下所示
其中dx是切向畸变向量:
因此,5维向量kc包含径向和切向畸变系数。
固定模式相位噪声(FPPN)解释了像素位置相关的相位偏差。传统的方法是借助平面来估计FPPN,并用多项式拟合来近似误差。透镜和FPPN校准可以在相同的设备和环境下同时进行,因为在透镜校准中可以获得平面不同视图的外部参数,并且可以使用外部和内部参数计算平面的地面真值(GT)。
2.3.1 标定步骤
首先进行镜头校准。因此,可以获得内在和外在参数。利用外部参数,FPPN校准可以生成空间深度偏移LUT。
镜头FPPN校准程序(如图所示)
1) 选择用于镜头FPPN校准的模块。
2) 校准参考模块前预热5秒。
3) 将方格图的角度设置为0°、90°、180°和270°。可以设置额外的10°、100°、190°和280°。
4) 获取双调制频率下每个角度的原始数据图像。
5) 镜头校准使用校准库进行。
a) 计算每个模块的固有参数。
b) 计算每个原始数据图像的外部参数
6) FPPN校准使用校准库进行。
a) 计算空间深度偏移。
b) 应用多项式曲面拟合并提取系数
镜头FPPN校准程序详细说明:
FPPN校准是为了补偿由于解调信号的时延取决于像素位置以及VCSEL和传感器的未对准(这是一种几何误差)而导致的像素位置相关误差。由于相对于参考控制信号的注入的时延,ToF传感器的每个像素可以具有不同的深度偏移。此外,由于小尺寸的空间有限,VCSEL和传感器可能会错位。这种错位可能会导致每像素深度偏移。
作为FPPN输入数据,使用相同的棋盘图像,具有不同的旋转角度,基本上由0°、90°、180°和270°组成。为了提高性能,可以添加额外的不同旋转角度,如10°、100°、190°和280°。图详细显示了使用4个不同旋转角度输入时的FPPN校准程序。每个输入棋盘图像的地面真值深度图像可以用从透镜校准中获得的外部参数生成。输入的原始图像被转换为测量的深度。低置信度深度数据可以通过使用置信度图来删除。在较高置信度区域计算深度偏移。接下来,将剩余的深度偏移图像合并为一个偏移图像。由于排除了低置信度深度像素的区域,因此在某些空间中没有深度偏移数据
位置如图所示。为了弥补深度偏移的不足,应用了特殊的滤波,然后进行整体滤波可以获得深度偏移。FPPN深度偏移可以通过多项式曲面拟合技术进行估计。最后,校准库计算FPPN深度偏移LUT。
2.3.2 标定设备
图和表显示了镜头FPPN图的示例。镜头FPPN图的规格可以根据各种条件进行更改。通过监控代码来固定模块和平面图的距离,以防止饱和。该距离约为375-825毫米,具体取决于VCSEL的光功率、积分时间和图表反射率。
标定板类型 | 棋盘格 |
标定板尺寸 | 1610 mm × 1410 mm |
材料 (朗博反射率) | White > 80%, Dark > 10% |
方格尺寸 | 40 mm × 40 mm |
方格数 | 40 x 35 |
倾斜角度调制 | 30。 |
旋转角度范围 | 0º, 90º, 180º, 270º + 10º, 100º, 190º, 280º (added angles depending on performance) |
模组距离 | 375 – 825 mm |
3 、tof标定软件开发
3.1 概述
软件部分包括,温度标定,周期误差标定,相位误差标定,镜头标定软件。
3.2 标定库开发
3.2.1 标定库
标定库包括raw图解析,深度计算,温度标定统计以及系数计算,自动棋盘格检测与内外参计算标定,GT计算,误差曲面拟合,深度图滤波,傅里叶曲线拟合,查找表生成等。
3.2.2 验证库
包括读入raw,以及查找表数据,进行补偿算法流程,最后输出标定后的深度结果。
3.2.3 输出文件
校准库生成每个校准块结果,并以二进制格式合并完整的校准结果。每个校准块的结果都可以在内部使用。此外,完整的校准结果可用于写入相机模块上的EEPROM等存储器。
离线计算会同时输出csv和bin文件,直接读入csv文件数据或解析bin文件参数进行离线测试,并输出测试深度结果。