具体实施方式
下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明一实施例提供了一种iToF相机的多机干扰检测与去除方法。
请一并参阅图3~图8,其中,图3为本发明提供的iToF相机的多机干扰检测与去除方法步骤示意图,图4为本发明一实施例提供的四相位法解调深度示意图,图5为本发明一实施例提供的包尾布局示意图,图6为本发明一实施例提供的光脉冲碰撞后偏移示意图,图7为本发明一实施例提供的检测像素点相位随机变化的示意图,图8为本发明一实施例提供的随机延时干扰去除示意图。
如图3所示,本实施例所述iToF相机的多机干扰检测与去除方法,包括如下步骤:S1、获取当前帧图像的四个相位下每一相位的调制原始数据的数据包平均值;S2、检测所述四个相位中是否存在任意两相位的调制原始数据的数据包平均值的差值绝对值大于第一预设阈值,若存在任意两相位的调制原始数据的数据包平均值的差值绝对值大于第一预设阈值,则判定存在多机干扰;以及S3、当存在多机干扰时,所述iToF相机的图像传感器停止曝光并进行随机延时后再次启动曝光,以去除多机干扰。
关于步骤S1、获取当前帧图像的四个相位下每一相位的调制原始数据的数据包平均值。
具体来说,iToF相机通常分为连续调制和脉冲调制,对于连续调制iToF相机,像素通常是由两个数据包(2tap)组成,计算被测物体的深度通过四相位去求解。
如图4所示,通常间接飞行时间通过四相位法解调深度。采用四相位法计算深度图像的相位的计算公式为:
phase=arctan[(Q3-Q4)/(Q1-Q2)]
其中,Q1为相位延时(Phase Delay)为0°时的测量相位,Q2为相位延时为90°时的测量相位,Q3为相位延时为180°时的测量相位,Q4为相位延时为270°时的测量相位。
随着被测物体距离的改变,需要曝光时间不断改变才能更好的探测物体。通常自动曝光(Automatic Exposure,简称AE)需要通过统计图像的所有像素的数据包平均值。对于由两个数据包(例如tapA和tapB)组成的像素,需要通过所有像素的tapA+tapB的平均统计信息,才能更好的去调节不同的积分时间。
在一些实施例中,当前帧图像的每一像素由两个数据包组成,所述数据包平均值进一步通过以下步骤获取:1)获取当前帧图像中每一像素的两个数据包的数据包和值;2)对当前帧图像中所有像素的数据包和值求和后除以当前帧图像的像素个数,获取当前帧图像的数据包平均值。所述方法还包括:将该数据包平均值放置于当前帧图像的包尾中。可以通过硬件(例如感光器件)进行每帧图像的调制原始数据的数据包平均值的自动计算,并直接输出至该帧图像的包尾中。包尾布局示意图如图5所示。
关于步骤S2、检测所述四个相位中是否存在任意两相位的调制原始数据的数据包平均值的差值绝对值大于第一预设阈值,若存在任意两相位的调制原始数据的数据包平均值的差值绝对值大于第一预设阈值,则判定存在多机干扰。
如图6所示,两个相机TOF1、TOF2的光脉冲发生碰撞,则一相机的像素会接收到另一个相机的光脉冲,光脉冲发生偏移(shift)。光脉冲偏移会导致四个相位的调制原始数据中至少有一个相位的调制原始数据的数据包平均值发生变化,且随着时间的推移,光脉冲也在不断的前移,受影响的数据包平均值会先变大后慢慢变小。
当处于复杂场景下,由于积分时间以及其它运动物体的引入,调制原始数据0度和180度之和以及90度和270度之和不为常数。通过检测整张画面中所有像素的tapA+tapB的数据包平均值,两两相减,当超过第一预设阈值才判定为存在多机干扰可能。
即,当多机干扰时,至少存在一组数据包平均值的差值绝对值abs_diff1大于第一预设阈值Thr1:
abs_diff1(quadm-quadn)>Thr1
其中,quadm、quadn分别为四个相位中某两相位的调制原始数据的数据包平均值,Thr1为用户设定的第一预设阈值。若检测到存在任意两相位的调制原始数据的数据包平均值的差值绝对值abs_diff1大于第一预设阈值Thr1,则判定存在多机干扰。
在一些实施例中,所述第一预设阈值Thr1为一预设亮度阈值,且所述第一预设阈值Thr1随平均亮度(Mean Amplitude)的增加而减小。平均亮度越高,噪声越小,第一预设阈值Thr1就可以设定的越小。在一些实施例中,第一预设阈值Thr1默认为100。
利用自动曝光的统计信息,只需要通过检测包尾的调制原始数据的数据包平均值信息,以包尾的数据包平均值来检测判断是否存在多机干扰,减少了硬件的成本以及避免积分时间的改变带来的影响。
在一些实施例中,所述方法进一步包括:若任意两相位的调制原始数据的数据包平均值的差值绝对值均小于或等于所述第一预设阈值,则进一步执行以下步骤:检测当前帧图像中预设数量的像素点中是否存在超过目标数量的像素点发生相位随机变化,若存在超过目标数量的像素点发生相位随机变化,则判定存在多机干扰。具体来说,存在有一种情况,当四个相位的调制原始数据同时都受到干扰,则四个相位的调制原始数据的数据包平均值都同时发生变化,四个数据包平均值变化呈现单调递增或单调递减,则四个相位会呈现随机变化;此时可能会造成任意两相位的调制原始数据的数据包平均值的差值绝对值均小于或等于所述第一预设阈值,则需要进一步检测像素点相位随机变化以确定是否存在多机干扰。
接上述实施例,所述的检测当前帧图像中预设数量的像素点中是否存在超过目标数量的像素点发生相位随机变化的步骤进一步包括:分别获取预设数量的像素点的当前相位与前一相位相减后的相位变化绝对值;获取所有相位变化绝对值中大于第二预设阈值的计数值;若所述计数值大于所述目标数量,则存在超过目标数量的像素点发生相位随机变化。具体的,根所述预设数量可以为5个,所述目标数量可以为3个,所述第二预设阈值为一预设相位阈值。
请参阅图7,其为本发明一实施例提供的检测像素点相位随机变化的示意图。图7示出了检测当前帧图像中5个像素点Point0~Point4中是否存在超过3个像素点发生相位随机变化,以检测是否存在多机干扰。具体的,1)对每一像素点Point0~Point4,计算其当前相位(Current Phase)P-Cur与前一相位(Previous Phase)P-Pre相减后的相位变化绝对值abs_diff2;2)对每一相位变化绝对值abs_diff2,将其与第二预设阈值Thr2进行比较,若abs_diff2>Thr2,则计数值加1(Cnt++),否则计数值不变;3)在5个像素点的相位变化绝对值abs_diff2均与第二预设阈值Thr2比较后,判断获取的计数值是否大于3,若Cnt>3,则存在超过3个像素点发生相位随机变化,即判定存在多机干扰。其中,所述第二预设阈值Thr2为进行相位比较所设定的相位阈值。
在一些实施例中,可以进一步检测是否存在连续三张图像中,每张图像的5个像素点中存在超过3个像素点发生相位随机变化,从而判定检测到存在多机干扰,以进一步提高检测的准确性。
以包尾的统计的调制原始数据的数据包平均值以及当前帧图像中多个像素点的相位随机变化,来检测是否存在多机干扰,提高了检测的准确性,且减少了硬件的成本以及避免积分时间的改变带来的影响。
关于步骤S3、当存在多机干扰时,所述iToF相机的图像传感器停止曝光并进行随机延时后再次启动曝光,以去除多机干扰。
具体来说,当检测到干扰后,即两个光脉冲发生碰撞,则图像传感器需要停止曝光,加上一定的随机延时(Random Delay)时间,则两个光脉冲碰撞的几率就大大降低了,再次启动曝光,则可以去除多机干扰,如图8所示。
利用自动曝光的统计信息,只需要通过检测包尾的调制原始数据的数据包平均值信息,以包尾的数据包平均值来检测判断是否存在多机干扰,减少了硬件的成本以及避免积分时间的改变带来的影响;当检测到存在多机干扰,通过随机延时后,重新触发(Trigger)相机,不需要额外的硬件去配置,减少系统的成本。也可以采用外部硬件(例如感光器件),在曝光之前检测是否存在多机干扰,若存在多机干扰,直接通过硬件随机延时,以降低光脉冲的碰撞。
在一些实施例中,在获取所述数据包平均值之前,所述方法进一步包括:1)设定寄存器的配置ID,并将配置ID值放置于包尾中;2)检测当前帧图像的包尾ID值和所述配置ID值是否一致;3)若包尾ID值和所述配置ID值一致,则当前帧图像有效并进行获取所述数据包平均值的操作,否则丢弃当前帧图像。包尾ID值指包尾中存储的配置ID值。通常情况下,飞行时间整个数据通路有较多的缓存,这样就可能会有几帧的干扰数据缓存在缓存器(buffer)中。通过设定寄存器的配置ID(Config ID),并将配置ID值也同样打包放置到包尾中,每一帧检测包尾ID值和寄存器的配置ID值是否一致,来判断当前帧是否有效,当不一致时,则会将当前帧直接丢掉,以提高多机干扰检测效率。
接上述实施例,当设定了寄存器的配置ID时,所述的图像传感器停止曝光并进行随机延时后再次启动曝光的步骤进一步包括:在图像传感器停止曝光后,将当前配置ID值取反并设定为寄存器的配置ID,之后进行随机延时。由于图像传感器传输的数据有缓存,为防止缓存的数据是受到干扰的数据,本发明进一步通过设定配置ID,从包尾中去检查,以保证拿到的用于进行检测的数据是最新的数据。
以下结合图9对本发明iToF相机的多机干扰检测与去除方法的流程做进一步解释说明。本实施例具体的流程为:S91、检测当前帧图像的包尾ID值和寄存器的配置ID值是否一致,若包尾ID值和所述配置ID值一致,则当前帧图像有效并继续进行获取所述数据包平均值的操作,否则丢弃当前帧图像;S92、分别获取0度、90度、180度、270度相位的调制原始数据的数据包平均值:quad0_(A+B Mean)、quad1_(A+B Mean)、quad2_(A+B Mean)、quad3_(A+B Mean),并两两相减,获取相应的差值绝对值abs_diff1;S93、对每一差值绝对值abs_diff1,将其与第一预设亮度阈值Thr1进行比较,若abs_diff1>Thr1,则判定存在多机干扰,执行步骤S95,否则执行步骤S94;S94、检测当前帧图像中5个像素点中是否存在超过3个像素点发生相位随机变化(具体参考图7所示),若存在超过3个像素点发生相位随机变化,则判定存在多机干扰,执行步骤S95,否则判定多相机的光脉冲发射正常、不存在多机干扰;S95、iToF相机的图像传感器停止曝光;S96、将当前配置ID值取反并设定为寄存器的配置ID;S97、进行随机延时;S98、再次启动曝光。在一些实施例中,还可以根据平均亮度(MeanAmplitude)调节所述第一预设阈值Thr1获取调节后的亮度阈值Gain,并将差值绝对值abs_diff1与调节后的亮度阈值Gain进行比较。平均亮度越高,噪声越小,调节后的亮度阈值越小。
根据以上内容可以看出,本发明只需要通过检测包尾的调制原始数据的数据包平均值信息,以包尾的数据包平均值来检测判断是否存在多机干扰,减少了硬件的成本以及避免积分时间的改变带来的影响;进一步结合当前帧图像中多个像素点的相位随机变化,来检测是否存在多机干扰,提高了检测的准确性。当检测到存在多机干扰,通过随机延时后,重新触发相机,不需要额外的硬件去配置,减少系统的成本。
基于同一发明构思,本发明还提供了一种iToF相机的多机干扰检测与去除装置。所提供的iToF相机的多机干扰检测与去除装置可以采用如图3~图9所示的iToF相机的多机干扰检测与去除方法完成对iToF相机的多机干扰检测与去除。
请参阅图10,其为本发明一实施例提供的iToF相机的多机干扰检测与去除装置的结构框图。如图10所示,所述iToF相机的多机干扰检测与去除装置包括:获取模块101、检测模块102以及去除模块103。
具体来说,获取模块101用于获取当前帧图像的四个相位下每一相位的调制原始数据的数据包平均值;检测模块102用于检测所述四个相位中是否存在任意两相位的调制原始数据的数据包平均值的差值绝对值大于第一预设阈值,若存在任意两相位的调制原始数据的数据包平均值的差值绝对值大于第一预设阈值,则判定存在多机干扰;去除模块103用于当存在多机干扰时,所述iToF相机的图像传感器停止曝光并进行随机延时后再次启动曝光,以去除多机干扰。
在一些实施例中,所述检测模块102进一步用于在任意两相位的调制原始数据的数据包平均值的差值绝对值均小于或等于所述第一预设阈值时,检测当前帧图像中预设数量的像素点中是否存在目标数量的像素点发生相位随机变化,若存在目标数量的像素点发生相位随机变化,则判定存在多机干扰。
各模块的工作方式可参考图3~图9所示的iToF相机的多机干扰检测与去除方法中相应步骤的描述,此处不再赘述。
基于同一发明构思,本发明还提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机可执行程序;所述处理器执行所述计算机可执行程序时实现如图3~图9所示的iToF相机的多机干扰检测与去除方法的步骤。
在本发明构思的领域中是可以根据执行所描述的一个或多个功能的模块来描述和说明实施例。这些模块(本文也可以称为单元等)可以由模拟和/或数字电路物理地实现,例如逻辑门、集成电路、微处理器、微控制器、存储器电路、无源电子元件、有源电子元件、光学组件、硬连线电路等,并且可以可选地由固件和/或软件来驱动。电路例如可以在一个或更多个半导体芯片中实施。构成模块的电路可以由专用硬件实现,或者由处理器(例如,一个或更多个编程的微处理器和相关电路)实现,或者由执行模块的一些功能的专用硬件和执行模块的其它功能的处理器的组合来实现。在不脱离本发明构思的范围的情况下,可以将实施例的每个模块物理地分成两个或更多个交互且分立的模块。同样地,在不脱离本发明构思的范围的情况下,可以将实施例的模块物理地组合成更复杂的模块。
通常,可以至少部分地从上下文中的用法理解术语。例如,在本文中所使用的术语“一个或多个”至少部分取决于上下文,可以用于以单数意义描述特征、结构或特性,或可以用于以复数意义描述特征、结构或特征的组合。另外,术语“基于”可以被理解为不一定旨在表达一组排他性的因素,而是可以替代地,同样至少部分地取决于上下文,允许存在不一定明确描述的其它因素。
需要说明的是,本发明的文件中涉及的术语“包括”和“具有”以及它们的变形,意图在于覆盖不排他的包含。术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,除非上下文有明确指示,应该理解这样使用的数据在适当情况下可以互换。另外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。此外,在以上说明中,省略了对公知组件和技术的描述,以避免不必要地混淆本发明的概念。上述各个实施例中,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同/相似的部分互相参见即可。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。