一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

ToF深度相机的标定方法及装置、电子设备与流程

2023-01-15 07:14:53 来源:中国专利 TAG:

tof深度相机的标定方法及装置、电子设备
技术领域
1.本技术涉及tof测距技术领域,尤其涉及一种tof深度相机的标定方法及装置、电子设备。


背景技术:

2.双目测距、结构光与飞行时间(time-of-flight,简称tof)是现今三大主流3d成像技术;其中,tof由于其原理简单、结构简单稳定、测量距离远等优势,已逐渐应用于手势识别、3d建模、无人驾驶及机器视觉等领域。如图1所示,tof技术的工作原理是:tof深度相机通过控制模块(controller)11控制发光模块12(vcsel、红外发射器(ir emitter)或led等)发射连续调制的发射光,发射光照射到被测目标物19表面后反射回来,反射光被tof深度相机的图像传感器(sensor)13捕获;通过计算发射光与反射光的相位差,得到被测目标物19距离tof深度相机的深度信息。
3.tof深度相机由于自身成像原因及外界环境干扰等,直接获取的数据通常存在一定的误差,因此在应用前需要对tof深度相机进行一系列校准,以提高测量精度。通常的标定有wiggling标定,fppn标定,lens标定等,其中wiggling标定是和距离相关的循环误差。由于实际的光波形和理想情况有一定的差异,导致测量得到的相位和理想相位呈现一定的周期性的变化规律,如图2所示。图中横轴为真实相位(realphase)、纵轴为摆动误差(wiggling error)。
4.现有技术中,一般通过移动标定板、量测不同测量距离和真实距离建立映射关系,再通过拟合的方式计算出整个周期的摆动误差,如图3所示。或通过延时电路改变延时(delay)值扫描完整一个周期,得到测量距离和真实距离的映射关系,如图4所示;其中,增加延时相当于每个图像传感器的真实距离增加一个相同的补偿(offset)。但是,tof深度相机由于像素自身因素测量包含着各种随机噪声,需要在时域上做平均;因此在标定的过程中需要在每个距离下抓取一定的数据做平均,需要一定的标定时间,也因此带来了一定的标定成本增加。中国专利公开文献cn113281726a公开了一种误差标定方法及装置,其通过内部延时电路模拟虚拟标定板替代传统的移动标定板产生一系列虚拟的真实距离,根据测量距离和虚拟真实距离建立映射关系,再通过拟合的方式计算出整个周期的摆动误差,从而完成整个周期的wiggling标定。但是,对每个虚拟真实距离下抓取多张数据做平均,会带来的时间成本增加,导致标定成本增加;而且通过拟合的方式所确定的拟合模型并不适用所有的测量点,会导致一些点有较大的残留误差。
5.因此,如何节省标定时间、降低标定成本,是当前亟待解决的技术问题。


技术实现要素:

6.本技术的目的在于提供一种tof深度相机的标定方法及装置、电子设备,用于解决现有的tof深度相机标定所需时间较长、标定成本较高的技术问题,通过以空域替代时域的方式,实现节省标定时间、降低标定成本。
7.为实现上述目的,本技术提供了一种tof深度相机的标定方法,包括如下步骤:在初始延时值时,对tof深度相机的图像传感器中每个测量相位进行第一预设次数的时域平均获取相应的平均测量相位,以去除随机噪声;以所有所述平均测量相位中的中心点测量相位为种子点、遍历所有所述平均测量相位,查找平均测量相位与所述中心点测量相位相同的像素点、并获取所有查找到的像素点的目标像素坐标;以预设步长调整延时值,并在每次调整延时值后抓取预设帧的当前测量相位、获取像素坐标与所述目标像素坐标相同的当前测量相位并进行平均、以作为当前延时值对应的当前中心点测量相位;以及当完成预设周期的延时值调整以及中心点测量相位获取后,生成测量相位和真实相位的映射表,完成wiggling标定。
8.可选的,所述的生成测量相位和真实相位映射表的步骤进一步包括:采用线性插值方式增加像素点,以补充所述映射表。
9.为实现上述目的,本技术还提供了一种tof深度相机的标定装置,包括:第一获取模块,用于在初始延时值时,对tof深度相机的图像传感器中每个测量相位进行第一预设次数的时域平均获取相应的平均测量相位,以去除随机噪声;第二获取模块,用于以所有所述平均测量相位中的中心点测量相位为种子点、遍历所有所述平均测量相位,查找平均测量相位与所述中心点测量相位相同的像素点、并获取所有查找到的像素点的目标像素坐标;第三获取模块,用于以预设步长调整延时值,并在每次调整延时值后抓取预设帧的当前测量相位、获取像素坐标与所述目标像素坐标相同的当前测量相位并进行平均、以作为当前延时值对应的当前中心点测量相位;以及生成模块,用于当完成预设周期的延时值调整以及中心点测量相位获取后,生成测量相位和真实相位的映射表,完成wiggling标定。
10.为实现上述目的,本技术还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机可执行程序,所述处理器执行所述计算机可执行程序时实现如本技术所述的tof深度相机的标定方法的步骤。
11.本技术通过以空域替代时域的方式节省标定时间、降低标定成本,解决了现有的tof深度相机标定所需时间较长、标定成本较高的技术问题;本技术进一步以线性插值方式更加匹配真实的摆动误差,避免了现有采用拟合方式导致残留误差。
附图说明
12.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍。显而易见地,下面描述中的附图仅是本技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
13.图1为tof工作原理示意图;
14.图2为测量过程存在的摆动误差;
15.图3为移动标定板进行wiggling标定的示意图;
16.图4为通过延时电路模拟虚拟标定板进行wiggling标定的示意图;
17.图5为本技术一实施例提供的tof深度相机的标定方法步骤示意图;
18.图6为本技术一实施例提供的查找到的像素点集合示意图;
19.图7为本技术一实施例提供的测量相位和真实相位映射关系示意图;
20.图8为本技术一实施例提供的线性插值方式示意图;
21.图9为本技术一实施例提供的tof深度相机的标定方法流程图;
22.图10为本技术一实施例提供的tof深度相机的标定装置的结构框图。
具体实施方式
23.下面将结合附图,对本技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
24.一般可以采用四相位法计算相位,通过计算发射光与反射光的相位差,可以得到被测目标物距离tof深度相机的深度信息。
25.采用四相位法计算相位可以采用下述计算公式:
26.phase=arctan[(q
3-q4)/(q
1-q2)];
[0027]
其中,q1为相位延时(phasedelay)为0
°
时的相位,q2为相位延时为90
°
时的相位,q3为相位延时为180
°
时的相位,q4为相位延时为270
°
时的相位。
[0028]
根据相位获取深度可以采用以下计算公式:
[0029]
d=c*[phase/(2*f*phase_max)] d_max*n;
[0030]
其中,c为光速,phase为相位,phase_max为一个相位周期(例如2π),f为发射光的调制频率,d_max=(c/2)*(1/f),n为预设帧数且n∈[0,1
……
]。
[0031]
由于实际的光波形和理想情况有一定的差异,导致测量得到的相位和理想相位呈现一定的周期性的变化规律,如图2所示。为了解决现有的tof深度相机标定所需时间较长、标定成本较高的技术问题,本技术从tof深度相机随机噪声的原理分析,通过以空域替代时域的方式,实现节省标定时间、降低标定成本;在考虑摆动误差模型时,减少扫描步长、并以线性插值方式替代现有拟合的方式,使得所生成测量相位和真实相位的映射表更加匹配图像传感器实际的摆动误差。以下给出详细解释说明。
[0032]
本技术一实施例提供了一种tof深度相机的标定方法。
[0033]
请一并参阅图5~图8,其中,图5为本技术一实施例提供的tof深度相机的标定方法步骤示意图,图6为本技术一实施例提供的查找到的像素点集合示意图,图7为本技术一实施例提供的测量相位和真实相位映射关系示意图,图8为本技术一实施例提供的线性插值方式示意图。
[0034]
如图5所示,本实施例所述标定方法,包括如下步骤:s1、在初始延时值时,对tof深度相机的图像传感器中每个测量相位进行第一预设次数的时域平均获取相应的平均测量相位,以去除随机噪声;s2、以所有所述平均测量相位中的中心点测量相位为种子点、遍历所有所述平均测量相位,查找平均测量相位与所述中心点测量相位相同的像素点、并获取所有查找到的像素点的目标像素坐标;s3、以预设步长调整延时值,并在每次调整延时值后抓取预设帧的当前测量相位、获取像素坐标与所述目标像素坐标相同的当前测量相位并进行平均、以作为当前延时值对应的当前中心点测量相位;以及s4、当完成预设周期的延时值调整以及中心点测量相位获取后,生成测量相位和真实相位的映射表,完成wiggling标定。
[0035]
关于步骤s1、在初始延时值时,对tof深度相机的图像传感器中每个测量相位进行
第一预设次数的时域平均获取相应的平均测量相位,以去除随机噪声。具体来说,对tof深度相机的图像传感器中,每个像素点的测量相位包含一定的随机噪声,由于每个像素点的传递函数是一致的,满足经过预设次数的时域平均收敛到一个固定值。因此,通过对每个测量相位进行第一预设次数的时域平均获取相应的平均测量相位,以去除随机噪声。其中,第一预设次数可以根据标定精度需求设定,而在后续调整延时后只需要抓取较少的帧数进行相位获取,即以空域替代时域。由于后续帧率不需要设置很高,可以实现节省标定时间、降低标定成本,且可以防止温度飘动带来额外的误差。
[0036]
在一些实施例中,所述初始延时值为0。即,在延时值为0时,通过对每个测量相位进行第一预设次数的时域平均获取相应的平均测量相位,以去除随机噪声。
[0037]
在一些实施例中,所述图像传感器中每个测量相位经过所述第一预设次数的时域平均后,所述随机噪声收敛到一个固定值(例如0)。具体的,所获取的平均测量相位满足以下公式:
[0038]
phase
n,i
=phasen ε
n,m

[0039]
其中,phase
n,i
为第n个像素点的第i次测量相位,phasen为第n个像素点去除随机噪声后的理论测量值,ε
n,m
为m次时域平均后所述随机噪声收敛到的固定值。优选地,基于噪声的正态分布形态,ε
n,m
=0。
[0040]
关于步骤s2、以所有所述平均测量相位中的中心点测量相位为种子点、遍历所有所述平均测量相位,查找平均测量相位与所述中心点测量相位相同的像素点、并获取所有查找到的像素点的目标像素坐标。具体来说,经过步骤s1预设次数时域平均后可以形成一张平均后的深度图像或将平均后的测量相位进行存储(例如以一张深度图像形式存储,便于后续基于测量相位进行查找);再以在初始延时值时的像素中心点的中心点测量相位为种子点,遍历平均后形成的深度图像,查找所有平均测量相位与所述中心点测量相位相同的像素点、并获取所有查找到的像素点的目标像素坐标《posx,posy》。所查找到的像素点集合如图6所示。
[0041]
在一些实施例中,步骤s2所述的查找平均测量相位与所述中心点测量相位相同的像素点、并获取所有查找到的像素点的目标像素坐标进一步包括:若判定所查找到的像素点的数量小于预设数值,则调整所述中心点测量相位后,再次进行遍历,以增加所查找到的像素点的数量。例如,若所查找到的与所述中心点测量相位相同像素点较少,可以将所述中心点测量相位加/减1、再继续遍历,以获取更多的像素坐标。
[0042]
关于步骤s3、以预设步长调整延时值,并在每次调整延时值后抓取预设帧的当前测量相位、获取像素坐标与所述目标像素坐标相同的当前测量相位并进行平均、以作为当前延时值对应的当前中心点测量相位。具体来说,可以在初始延时值的基础上,每次增加预设步长来增加延时值;每次增加延时值后执行当前中心点测量相位的获取操作,从而可以在扫描完一整个周期后,完成wiggling标定。所述预设步长可以为π/4、π/8、π/16的任意其中之一;所述预设周期可以为2π。为例提高标定精度,预设步长也可以为更小值;可以根据标定精度与标定时间的综合考量来设定延时值调整步长。
[0043]
在一些实施例中,所述预设帧为1帧。也即,在每次调整延时值后抓取1帧深度图像并获取该帧深度图像的所有当前测量相位。由于只需要抓取较少的帧数进行相位获取,可以实现节省标定时间、降低标定成本,且可以防止温度飘动带来额外的误差。
[0044]
在一些实施例中,步骤s3所述的在每次调整延时值后抓取预设帧的当前测量相位、获取像素坐标与所述目标像素坐标相同的当前测量相位进一步包括:1)在每次调整延时值后抓取预设帧的当前测量相位并存储;以及2)在所存储的当前测量相位中,查找像素坐标与所述目标像素坐标相同的当前像素点、并获取相应的当前测量相位。例如,在每次调整延时值后抓取1帧深度图像、并获取该帧深度图像的所有当前测量相位并存储;以步骤s2所获取的所有目标像素坐标《posx,posy》在所存储的当前测量相位中进行查找,分别找出相应的当前像素点,每一当前像素点对应一测量相位,该测量相位为tof深度相机输出的该像素点的测量相位、为已知值。
[0045]
以下对通过测量相位相同的像素点的测量相位平均(即空域平均)可以替代时域的平均的实现原理进行解释说明。
[0046]
像素点wiggling校正模型可以采用如公式(1)所示:
[0047]
phase
real
=wiggling_lut[phase
measure
]-fppn
i,j
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0048]
其中,phase
real
为像素点pixel(i,j)真实距离对应的真实相位,wiggling_lut为wiggling标定映射表,phase
measure
为该像素点的测量相位,fppn
i,j
为该像素点对应的fppn误差。
[0049]
经过m次平均后,以中心点的测量相位phase
measure
为种子点在平均后的深度图像中查找测量相位与中心点测量相位相同的像素点。由于查找到的各像素点的测量相位phase'
measure
与中心点的测量相位phase
measure
相同,则其wiggling值与中心点的wiggling值相同,即:
[0050]
wiggling_lut[phase'
measure
]=wiggling_lut[phase
measure
]。
[0051]
则查找到的像素点wiggling校正模型满足公式(2):
[0052]
phase'
real
=wiggling_lut[phase
measure
]-fppn'
x,y
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0053]
其中,phase'
real
为查找到的像素点pixel(x,y)的真实距离对应的真实相位,fppn'
x,y
为该像素点对应的fppn误差。
[0054]
公式(1)-公式(2)可得公式(3):
[0055]
phase
real-phase'
real
=fppn'
x,y-fppn
i,j
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0056]
由于通过延时电路增加一个延时值,真实距离增加相同的补偿(offset),因此,在延时值增加前后所获取的图像中像素坐标相同的像素点,其fppn值也相同,即fppn'
i,j
=fppn
i,j
;则由公式(3)可得:
[0057]
wiggling_lut[phase
measure1
]=wiggling_lut[phase'
measure1
]
ꢀꢀꢀꢀꢀꢀ
(4)
[0058]
其中,wiggling_lut[phase
measure1
]为增加延时值前测量相位phase
measure1
映射的真实相位,wiggling_lut[phase'
measure1
]为增加延时值后测量相位phase'
measure1
映射的真实相位。
[0059]
由于wiggling标定映射表在整个周期和真实相位是一一映射的,则根据上述公式(4)可得:
[0060]
phase
measure1
=phase'
measure1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0061]
也即,通过对测量相位相同的像素点进行测量相位平均(即空域平均)、可以替代时域的平均。通过改变延时值,当扫描完一整个周期后,即可完成wiggling标定
[0062]
关于步骤s4、当完成预设周期的延时值调整以及中心点测量相位获取后,生成测
量相位和真实相位的映射表,完成wiggling标定。具体来说,根据一个延时值对应的测量相位平均值、计算每次改变延时值后对应的真实相位,则可以生成测量相位和真实相位的映射表。测量相位和真实相位映射关系示意图如图7所示。
[0063]
由于延时值的调整步长(step)可能存在不能覆盖所有的真实相位的情况,本技术进一步采用线性插值方式增加像素点,以补充所述映射表(lut),从而补充出一个完整的映射表。相比于现有通过拟合的方式,本技术增加的像素点更加贴合真实的摆动误差(wiggling error),避免存在个别离群点不能匹配拟合模型。
[0064]
在一些实施例中,所述的采用线性插值方式增加像素点,以补充所述映射表的步骤进一步包括:1)采用以下公式计算待增加像素点所位于的区间段的斜率k:k=(y
j-yi)/(x
j-xi),其中,xi、xj为所述区间段两端的测量相位,yi为测量相位xi对应的真实相位,yj为测量相位xj对应的真实相位;2)采用以下任一公式计算截距b:yi=kxi b或yj=kxj b;3)采用以下公式计算待增加像素点的真实相位:y=kx b,其中,y为待计算真实相位,x为待增加像素点的测量相位,k为所述斜率,b为所述截距。根据求得的斜率k、截距b,即可根据y=kx b快速计算出xi、xj对应区间段内任意像素点的真实相位。线性插值方式示意图如图8所示,图中横轴为测量相位、纵轴为真实相位,p点示意待增加像素点。
[0065]
在一些实施例中,所述方法在生成测量相位和真实相位的映射表之前进一步包括:将所述图像传感器的延时值恢复至默认值。由于在标定过程中,对图像传感器的延时值进行了改变,因此在标定结束后会对图像传感器进行数据复原,以使后续tof深度相机可以正常使用。
[0066]
以下结合图9对本技术tof深度相机的标定方法的流程做进一步解释说明。本实施例具体的流程为:s91、在延时值为0时,获取tof深度相机的图像传感器的m张深度图像以及现有的测量相位,并进行m次平均获取一张平均后形成的深度图像;s92、根据平均后形成的深度图像的像素中心点的中心点测量相位,遍历平均后形成的深度图像,查找所有平均测量相位与所述中心点测量相位相同的像素点、并获取所有查找到的像素点的目标像素坐标《posx,posy》;s93、以预设步长(例如π/8)增加延时值;s94、抓取1帧深度图像并获取该帧深度图像的所有当前测量相位,以所有目标像素坐标《posx,posy》在当前测量相位中进行查找,分别找出相应的当前像素点,每一当前像素点对应一当前测量相位,对所有当前测量相位进行平均后作为当前延时值对应的当前中心点测量相位;s95、判定当前延时值是否小于或等于最大延时值(delay《=max_delay_count;其中,max_delay_count为预设周期,例如2π),若是则返回步骤s93继续进行延时值增加以及后续操作,若当前延时值大于最大延时值则标定完成,执行步骤s96、;s96、将所述图像传感器的延时值恢复至默认值;以及s97、生成测量相位和真实相位的映射表。
[0067]
根据以上内容可以看出,本技术通过以空域替代时域的方式节省标定时间、降低标定成本,进一步以线性插值方式更加匹配真实的摆动误差,解决了现有的tof深度相机标定所需时间较长、标定成本较高、拟合方式导致残留误差的技术问题。
[0068]
基于同一发明构思,本技术还提供了一种tof深度相机的标定装置。所提供的tof深度相机的标定装置可以采用如图5所示的tof深度相机的标定方法完成对tof深度相机的标定。
[0069]
请参阅图10,其为本技术一实施例提供的tof深度相机的标定装置的结构框图。如
图10所示,所述tof深度相机的标定装置包括:第一获取模块101、第二获取模块102、第三获取模块103以及生成模块104。
[0070]
具体来说,所述第一获取模块101用于在初始延时值时,对tof深度相机的图像传感器中每个测量相位进行第一预设次数的时域平均获取相应的平均测量相位,以去除随机噪声。所述第二获取模块102用于以所有所述平均测量相位中的中心点测量相位为种子点、遍历所有所述平均测量相位,查找平均测量相位与所述中心点测量相位相同的像素点、并获取所有查找到的像素点的目标像素坐标。所述第三获取模块103用于以预设步长调整延时值,并在每次调整延时值后抓取预设帧的当前测量相位、获取像素坐标与所述目标像素坐标相同的当前测量相位并进行平均、以作为当前延时值对应的当前中心点测量相位。所述生成模块104用于当完成预设周期的延时值调整以及中心点测量相位获取后,生成测量相位和真实相位的映射表,完成wiggling标定。
[0071]
基于同一发明构思,本技术还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机可执行程序;所述处理器执行所述计算机可执行程序时实现如图5所示的tof深度相机的标定方法的步骤。
[0072]
在本技术构思的领域中是可以根据执行所描述的一个或多个功能的模块来描述和说明实施例。这些模块(本文也可以称为单元等)可以由模拟和/或数字电路物理地实现,例如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子元件、有源电子元件、光学组件、硬连线电路等,并且可以可选地由固件和/或软件来驱动。电路例如可以在一个或更多个半导体芯片中实施。构成模块的电路可以由专用硬件实现,或者由处理器(例如,一个或更多个编程的微处理器和相关电路)实现,或者由执行模块的一些功能的专用硬件和执行模块的其它功能的处理器的组合来实现。在不脱离本技术构思的范围的情况下,可以将实施例的每个模块物理地分成两个或更多个交互且分立的模块。同样地,在不脱离本技术构思的范围的情况下,可以将实施例的模块物理地组合成更复杂的模块。
[0073]
通常,可以至少部分地从上下文中的用法理解术语。例如,在本文中所使用的术语“一个或多个”至少部分取决于上下文,可以用于以单数意义描述特征、结构或特性,或可以用于以复数意义描述特征、结构或特征的组合。另外,术语“基于”可以被理解为不一定旨在表达一组排他性的因素,而是可以替代地,同样至少部分地取决于上下文,允许存在不一定明确描述的其它因素。
[0074]
需要说明的是,本技术的文件中涉及的术语“包括”和“具有”以及它们的变形,意图在于覆盖不排他的包含。术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,除非上下文有明确指示,应该理解这样使用的数据在适当情况下可以互换。另外,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。此外,在以上说明中,省略了对公知组件和技术的描述,以避免不必要地混淆本技术的概念。上述各个实施例中,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同/相似的部分互相参见即可。
[0075]
以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献