一种打光以及反射光数据获取方法、装置

文档序号:1041612 发布日期:2020-10-09 浏览:10次 >En<

阅读说明:本技术 一种打光以及反射光数据获取方法、装置 (Method and device for obtaining polishing and reflected light data ) 是由 李晨静 陈华 于 2020-06-24 设计创作,主要内容包括:本申请实施例提供一种打光以及反射光数据获取方法、装置以及电子设备。方法包括:驱动光源组的第一子光源组和第二子光源组为目标物体打光,其中,在同一次打光中,所述第一子光源组的光强不同于所述第二子光源组的光强;获取同一次打光中所述第一子光源组和所述第二子光源组为所述目标物体打光所生成的反射光数据;根据预设反射光动态范围对所述反射光数据进行筛选以获得满足所述预设反射光动态范围的反射光数据。根据本申请的方法,根据本申请实施例的方法,在一次打光-反射光数据采集就可以获取对应两种光强的反射光数据,大大提高了数据采集效率,降低了数据采集功耗。(The embodiment of the application provides a method and a device for acquiring polishing and reflected light data and electronic equipment. The method comprises the following steps: driving a first sub light source group and a second sub light source group of a light source group to polish a target object, wherein in the same polishing, the light intensity of the first sub light source group is different from that of the second sub light source group; acquiring reflected light data generated by polishing the target object by the first sub light source group and the second sub light source group in the same polishing; and screening the reflected light data according to a preset reflected light dynamic range to obtain reflected light data meeting the preset reflected light dynamic range. According to the method, reflected light data corresponding to two light intensities can be acquired by one-time light striking-reflected light data acquisition, so that the data acquisition efficiency is greatly improved, and the data acquisition power consumption is reduced.)

一种打光以及反射光数据获取方法、装置

技术领域

本申请涉及传感器技术领域,特别涉及一种打光以及反射光数据获取方法、装置。

背景技术

在光数据应用处理领域,对目标对象打光以获取对应的反射光并进一步对反射光进行数据处理,以获取所需的场景信息是一种常见的光数据应用处理方式。例如,在利用光飞行时间(Time-of-Flight,ToF)进行测距的应用方案中,通过向目标物体打光(例如,发射近红外光)以获取对应的反射光数据,对获取到的反射光数据进行处理以获取光的飞行时间信息,利用光的飞行时间信息,测量场景中物体的距离或深度。

在处理反射光数据时,通常会限定特定的反射光动态范围,只有处于反射光动态范围内的反射光数据才能被顺利处理并获取预期的处理结果。因此,为了确保反射光数据处于反射光动态范围内,会针对不同的应用场景采用不同的打光光强。例如,在利用间接光飞行时间(indirect Time-of-Flight,iToF)进行测距的应用方案中,针对不同距离范围的目标对象,使用不同的驱动功率驱动光源进行打光,针对较近的目标对象采用较低的光源驱动功率,针对较远的目标对象采用较高的光源驱动功率。

然而,在实际应用场景中,通常在打光前无法确认应用场景的具体应用状态,这样也就无法优选应该采用何种程度的打光光强,这就会导致打光光强过强或过弱的情况的发生,从而使得最终获取到的反射光数据超出反射光动态范围,最终使得无法获取预期的反射光数据处理结果。

发明内容

针对现有技术中无法获取处于反射光动态范围内的反射光数据的问题,本申请提供了一种打光以及反射光数据获取方法、装置。

本申请实施例采用下述技术方案:

第一方面,本申请一实施例提供一种打光以及反射光数据获取方法,包括:

驱动光源组为目标物体打光,其中,所述光源组包括第一子光源组和第二子光源组,所述第一子光源组包括多个光源,所述第二子光源组包括另外的多个光源,且在同一次打光中,所述第一子光源组的所述多个光源的光强不同于所述第二子光源组的所述另外多个光源的光强,所述第一子光源组的所述多个光源以及所述第二子光源组的所述另外多个光源为所述目标物体打光的打光位置互不重合,所述光源组为所述目标物体打光的光线经所述目标物体反射后照射在同一光传感器上生成反射光数据;

获取同一次打光中所述第一子光源组和所述第二子光源组为所述目标物体打光所生成的所述反射光数据;

根据预设反射光动态范围对所述反射光数据进行筛选以获得满足所述预设反射光动态范围的反射光数据。

在上述第一方面的一种可行的实现方式中,基于不同的驱动功率分别驱动所述第一子光源组和所述第二子光源组。

在上述第一方面的一种可行的实现方式中,所述驱动光源组为目标物体打光,其中:

在所述第一子光源组为所述目标物体打光的打光范围中,所述第一子光源组的所述多个光源的打光位置均匀分布;

以及,

在所述第二子光源组为所述目标物体打光的打光范围中,所述第二子光源组的所述另外多个光源的打光位置均匀分布。

在上述第一方面的一种可行的实现方式中,所述第一子光源组为所述目标物体打光的打光范围与所述第二子光源组为所述目标物体打光的打光范围为同一打光范围。

在上述第一方面的一种可行的实现方式中,所述光源组为光源点阵,其中:

所述第一子光源组为光源点阵的奇数行的点光源,所述第二子光源组为光源点阵的偶数行的点光源;

或者,

所述第一子光源组为光源点阵的奇数列的点光源,所述第二子光源组为光源点阵的偶数列的点光源。

在上述第一方面的一种可行的实现方式中,所述光源组还包括所述第一子光源组以及所述第二子光源组以外的一个或多个其他子光源组,且在同一次打光中,所述光源组中不同子光源组的光源的光强互不相同,所述光源组中所有光源为所述目标物体打光的打光位置互不重合。

在上述第一方面的一种可行的实现方式中:

所述光源组中子光源组的个数为预设子光源组数,所述光源组中各个子光源组打光的光强在预设光强有效区间内均匀分布;

或者,

所述光源组中子光源组的个数为基于预设步长对所述预设光强有效区间进行划分得到划分节点数,所述光源组中各个子光源组打光的光强在所述预设光强有效区间内均匀分布;

或者,

所述光源组中子光源组的个数与预设打光档位设置中的档位个数对应,所述光源组中子光源组打光的光强为所述预设打光档位设置中对应打光档位的光强。

在上述第一方面的一种可行的实现方式中,所述光源组中子光源组的个数以及每个所述子光源组打光的光强与处理所述反射光数据的应用场景需求匹配。

在上述第一方面的一种可行的实现方式中,处理所述反射光数据的应用场景为间接光飞行时间测距,其中:

所述光源组中子光源组的个数与所述间接光飞行时间测距的有效测距范围分档策略的分档数对应,所述光源组中每个子光源组对应一个有效测距范围;

所述光源组中子光源组打光的光强为所述子光源组对应的有效测距范围所对应的光强。

在上述第一方面的一种可行的实现方式中,处理所述反射光数据的应用场景为间接光飞行时间测距;

所述获取同一次打光中所述第一子光源组和所述第二子光源组为所述目标物体打光所生成的反射光数据,包括:获取同一次打光中所述第一子光源组和所述第二子光源组为所述目标物体打光所生成的光斑的光斑数据;

所述根据预设反射光动态范围对所述反射光数据进行筛选以获得满足所述预设反射光动态范围的反射光数据,包括:从所述光斑数据中筛选出满足预设灰度值区间的光斑所对应的光斑数据。

在上述第一方面的一种可行的实现方式中,所述方法还包括:

根据筛选出的所述满足预设灰度值区间的光斑所对应的光斑数据,计算所述光源打光后经所述目标物体反射直到光斑数据被采集的过程中,光信号的相位偏移,根据所述光信号的相位偏移进行深度计算。

第二方面,本申请一实施例提供了一种打光控制以及反射光数据获取装置,包括:

光源控制模块,其用于驱动光源组为目标物体打光,其中,所述光源组包括第一子光源组和第二子光源组,所述第一子光源组包括多个光源,所述第二子光源组包括另外的多个光源,且在同一次打光中,所述第一子光源组的所述多个光源的光强不同于所述第二子光源组的所述另外多个光源的光强,所述第一子光源组的所述多个光源以及所述第二子光源组的所述另外多个光源为所述目标物体打光的打光位置互不重合,所述光源组为所述目标物体打光的光线经所述目标物体反射后照射在同一光传感器上生成反射光数据;

反射光获取模块,其用于获取同一次打光中所述第一子光源组和所述第二子光源组为所述目标物体打光所生成的所述反射光数据;

数据筛选模块,其用于根据预设反射光动态范围对所述反射光数据进行筛选以获得满足所述预设反射光动态范围的反射光数据。

第三方面,本申请一实施例提供了一种打光以及反射光数据采集装置,包括:

光源组,其包括第一子光源组和第二子光源组,所述第一子光源组包括多个光源,所述第二子光源组包括另外的多个光源,所述第一子光源组的所述多个光源以及所述第二子光源组的所述另外多个光源为目标物体打光的打光位置互不重合,所述光源组为所述目标物体打光的光线经所述目标物体反射后照射在同一光传感器上生成反射光数据;

光源组控制模块,其用于驱动光源组为目标物体打光;

反射光采集模块,其用于获取同一次打光中所述第一子光源组和所述第二子光源组为所述目标物体打光所生成的所述反射光数据;

数据处理模块,其用于:

发送控制指令到所述光源组控制模块,使得在同一次打光中,所述第一子光源组的所述多个光源的光强不同于所述第二子光源组的所述另外多个光源的光强;

根据预设反射光动态范围对所述反射光数据进行筛选以获得满足所述预设反射光动态范围的反射光数据。

第四方面,本申请一实施例提供一种电子设备,所述电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发电子设备执行如上述第一方面所述的方法。

第五方面,本申请一实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当其在电子设备上运行时,使得所述电子设备执行如上述第一方面所述的方法。

根据本申请实施例所提出的上述技术方案,至少可以实现下述技术效果:根据本申请实施例的方法,在一次打光-反射光数据采集就可以获取对应两种光强的反射光数据,而无需执行两次打光-反射光数据采集,大大提高了数据采集效率,降低了数据采集功耗。

附图说明

图1所示为iToF测距的一实施例的流程图;

图2所示为根据本申请打光以及反射光数据获取方法一实施例的流程图;

图3所示为根据本申请一实施例的光源组光源排布示意图;

图4所示为根据本申请一实施例的光源组打光生成的光斑排布示意图;

图5所示为根据本申请一实施例的打光光线经目标物体反射后在光传感器上生成的光斑排布示意图;

图6所示为根据本申请打光以及反射光数据采集装置一实施例的结构图;

图7所示为根据本申请打光以及反射光数据采集装置一实施例的结构图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。

针对现有技术中无法获取处于反射光动态范围内的反射光数据的问题,本申请提供了一种打光以及反射光数据获取方法。

在实际应用场景中,无法获取处于反射光动态范围内的反射光数据通常是由打光的光强过高或打光的光强不足所导致的。因此,一种可行的解决方案是进行多次的打光-反射光数据采集操作,在每次打光操作中使用不同的光强直到获取到处于反射光动态范围内的反射光数据。例如,在iToF测距的一种解决方案中,将iToF设备的有效测距范围划分为近距以及远距两个阶段,分别针对近距以及远距设定对应的光源驱动功率W11以及光源驱动功率W12(W11<W12)。在进行测距时分别基于W11以及W12驱动光源进行打光并获取对应的反射光数据,从获取到的两次反射光数据中选用满足反射光动态范围的反射光数据进行测距计算,或者,当两次反射光数据均不满足反射光动态范围时反馈测距失败。

图1所示为iToF测距的一实施例的流程图。如图1所示,测距过程包含以下步骤:

步骤110,基于驱动功率W11驱动光源打光;

步骤111,采集步骤110打光所生成的第一反射光数据;

步骤120,基于驱动功率W12驱动光源打光;

步骤121,采集步骤120打光所生成的第二反射光数据;

步骤130,从第一反射光数据以及第二反射光数据中筛选满足反射光动态范围的反射光数据;

步骤140,根据步骤130中筛选出的反射光数据进行测距计算。

基于多次打光-反射光数据采集操作虽然可以在无法预先确定打光光强的情况下依然可以获取到基于最佳光强所生成的反射光数据,从而确保获取到处于反射光动态范围内的反射光数据。但是,由于需要进行多次打光以及多次反射光数据采集操作,反射光数据的获取流程被延长,反射光数据的获取效率被大大降低,处理功耗大大增加。例如,在图1所示实施例中,就需要执行两次打光操作以及两次反射光数据采集操作,iToF测距的执行效率以及执行功耗都受到了影响。

针对上述问题,为了提高反射光数据的获取效率、降低处理功耗,在本申请申请一实施例中,采用多打光光源的方案来减少打光-反射光数据采集操作的执行次数。具体的,在一次打光中同时使用多个光源,每个光源打光会生成对应的反射光数据。这样,如果不同的光源采用不同的光强打光,就可以生成对应多种不同光强的反射光数据。在存在可以生成满足反射光动态范围的反射光数据的光强的前提下,一次打光所获取的反射光数据中就包含满足反射光动态范围的反射光数据。通过对获取到的反射光数据进行筛选,一次打光就可以获取到满足反射光动态范围的反射光数据,而无需采用不同的光强进行多次打光,这就大大提高了数据采集效率并降低了数据采集功耗。

图2所示为根据本申请打光以及反射光数据获取方法一实施例的流程图。如图2所示,在本申请一实施例中,执行以下步骤以获取处于反射光动态范围内的反射光数据:

步骤210,驱动光源组为目标物体打光,其中,光源组包括第一子光源组和第二子光源组,第一子光源组包括多个光源,第二子光源组包括另外的多个光源,且在同一次打光中,第一子光源组的多个光源的光强不同于第二子光源组的另外多个光源的光强,第一子光源组的多个光源以及第二子光源组的另外多个光源为目标物体打光的打光位置互不重合,光源组为目标物体打光的光线经目标物体反射后照射在同一光传感器上生成反射光数据;

步骤220,获取同一次打光中第一子光源组和第二子光源组为目标物体打光所生成的反射光数据;

步骤230,根据预设反射光动态范围对反射光数据进行筛选以获得满足预设反射光动态范围的反射光数据。

在图2所示实施例中,由于使用光源组的两个子光源组为目标物体打光,并且,两个子光源组打光的光强不同。这样,一次打光-反射光数据采集就可以获取对应两种光强的反射光数据,而无需执行两次打光-反射光数据采集,大大提高了数据采集效率,降低了数据采集功耗。

进一步的,在本申请一实施例中,光源组还包括第一子光源组以及第二子光源组以外的一个或多个其他子光源组,且在同一次打光中,光源组中不同子光源组的光源的光强互不相同,光源组中所有光源为目标物体打光的打光位置互不重合。

由于使用光源组的多个子光源组为目标物体打光,并且,不同的子光源组打光的光强不同;因此,就可以生成对应多种不同光强的反射光数据。这样,在存在可以生成满足反射光动态范围的反射光数据的光强的前提下,一次打光所获取的反射光数据中就包含满足反射光动态范围的反射光数据。这就确保可以获取到满足反射光动态范围的反射光数据,从而确保对反射光数据顺利进行反射光数据处理,获取预期的反射光数据处理结果。

进一步的,由于在一次打光中同时使用光源组的多个子光源组为目标物体打光;因此,只需一次打光就可以根据本申请一实施例的方法,在单次打光-反射光数据采集操作周期中就可以获取满足反射光动态范围的反射光数据,而无需执行多次打光-反射光数据采集操作,大大提高了数据采集效率,降低了数据采集功耗。进一步的,在本申请一实施例中,通过调节光源的驱动功率来调节光源打光时的光强。即,在同时使用光源组的多个子光源组为目标物体打光的过程中,基于不同的驱动功率分别驱动多个子光源组。具体的,在步骤210的一种实现方式中,基于不同的驱动功率分别驱动第一子光源组和第二子光源组。

进一步的,在本申请一实施例中,也可以通过调节光源的驱动功率以外的其他方式来调节光源打光时的光强。例如,为光源附加不同透射率的透镜;或者,改变子光源组中启用的光源的个数。进一步的,在本申请实施例的方案中,可以采用任意可行的结构来构造光源组。具体的,在本申请一实施例中,光源组为光源点阵,光源组包含多个排列成矩阵的点光源。图3所示为根据本申请一实施例的光源组光源排布示意图。如图3所示,L1~L8为光源点阵的列序号,H1~H16为光源点阵的行序号。光源组包含以8x16排列的128个点光源。

进一步的,为了确保不同的子光源组使用不同的光强同时进行打光,就需要子光源组可以被独立控制。即,在将光源组划分为多个子光源组时,必须基于光源的控制模式来划分。具体的,在一实施例中,在如图3所示的光源点阵中,当光源组采用行驱动时,即,每一行光源具备一套驱动线路,可以单独调节一行的光源的驱动功率。因此,在进行子光源组划分时,以行为单位进行划分,不能将同一行中的光源划分到不同的子光源组中。例如,将每行光源划分为一个子光源组,或者,将每二行光源划分为一个子光源组。

具体的,在一实施例中,在如图3所示的光源点阵中,当光源组采用列驱动时,即,每一列光源具备一套驱动线路,可以单独调节一列的光源的驱动功率。因此,在进行子光源组划分时,以列为单位进行划分,不能将同一列中的光源划分到不同的子光源组中。例如,将每列光源划分为一个子光源组,或者,将每二列光源划分为一个子光源组。

具体的,在一实施例中,在如图3所示的光源点阵中,当光源组采用点驱动时,即,每一个光源具备一套驱动线路,可以单独调节任意一个光源的驱动功率。因此,在进行子光源组划分时,以单一光源为单位进行划分。例如,将每个光源划分为一个子光源组,或者,将每二个光源划分为一个子光源组,例如将相邻的两个光源划分为一个子光源组。

进一步的,为了确保打光均匀,在本申请一实施例中,在子光源组为目标物体打光的打光范围中,子光源组的多个光源的打光位置均匀分布。具体的,在如图2所示的一实施例中,在第一子光源组为目标物体打光的打光范围中,第一子光源组的多个光源的打光位置均匀分布;以及,在第二子光源组为目标物体打光的打光范围中,第二子光源组的另外多个光源的打光位置均匀分布。

进一步的,在本申请一实施例中,不同子光源组为目标物体打光的打光范围为同一打光范围。这样,就可以使得,在子光源组为目标物体打光时,在打光范围内不同光强的打光位置均匀分布。具体的,在如图2所示的一实施例中,第一子光源组为目标物体打光的打光范围与第二子光源组为目标物体打光的打光范围为同一打光范围。

具体的,在如图2所示的一实施例中,光源组为光源点阵,第一子光源组为光源点阵的奇数行的点光源,第二子光源组为光源点阵的偶数行的点光源。或者,第一子光源组为光源点阵的奇数列的点光源,第二子光源组为光源点阵的偶数列的点光源。

例如,在如图3所示的光源点阵中,在划分两个子光源组时,光源组包括第一子光源组以及第二子光源组。

当光源组采用列驱动时,第一子光源组为光源点阵的奇数列(L1、L 3、L 5、L 7列)的点光源,第二子光源组为光源点阵的偶数列(L2、L4、L6、L8列)的点光源。在进行打光时,4列奇数列的共计64个点采用第一驱动功率驱动,4列偶数列的共计64个点采用第二驱动功率驱动。

当光源组采用行驱动时,第一子光源组为光源点阵的奇数行(H1、H3、H5、H7、H9、H11、H13、H15行)的点光源,第二子光源组为光源点阵的偶数行(H 2、H4、H6、H8、H10、H12、H14、H16行)的点光源。在进行打光时,8行奇数行的共计64个点采用第一驱动功率驱动,8行偶数行的共计64个点采用第二驱动功率驱动。

又例如,在如图3所示的光源点阵中,划分四个子光源组,当光源组采用点驱动时,每相邻两行两列中的四个光源分别属于四个子光源组。例如,光源(L1,H1)、光源(L1,H2)、光源(L2,H1)、光源(L2,H2)分属四个子光源组,光源(L3,H1)、(L5,H1)、(L7,H1)与光源(L1,H1)属于同一子光源组,光源(L3,H2)、(L5,H2)、(L7,H2)与光源(L1,H2)属于同一子光源组,光源(L4,H1)、(L6,H1)、(L8,H1)与光源(L2,H1)属于同一子光源组,光源(L4,H2)、(L6,H2)、(L8,H2)与光源(L2,H2)属于同一子光源组。

具体的,在一应用场景中,光源组的光源为目标物体打光后,每个光源的打光光线在目标物表面会生成一个光斑。

图4所示为根据本申请一实施例的光源组打光光斑排布示意图。如图4所示,图3所示的光源点阵401发出的光经准直镜准直成小角度的打光光线,打光光线按照光源点阵401的光源排布方式排布成打光光线阵列,打光光线阵列经衍射光栅复制成多份(例如,3*3),最终投射到目标对象上,在目标对象表面形成如图4所示的光斑阵列,光斑阵列的光斑共1152点。

拍摄装置402拍摄目标对象表面的1152个光斑获取光斑数据(反射光数据)。具体的,拍摄装置402拍摄到的光斑数据即为光源点阵401发出的打光光线照射到目标物体后被反射到拍摄装置402的光传感器上所生成的光斑的光斑数据。

图5所示为根据本申请一实施例的打光光线经目标物体反射后在光传感器上生成的光斑排布示意图。形成如图4所示的光斑阵列的打光光线经目标对象反射,反射光线在拍摄装置402的光传感器上生成与图4所示的光斑阵列对应的1152个光斑(光斑阵列)。拍摄装置402的光传感器上的1152个光斑的一部分如图5所示。图5所示的每一个网格代表光传感器的一个像素,每个圆形(701、702、703、711、712、721、722以及723)代表目标物体的反射光线在光传感器上生成的一个光斑,每个光斑覆盖多个像素。

当光源组采用行驱动时,第一子光源组为光源点阵401的奇数行的点光源,第二子光源组为光源点阵401的偶数行的点光源。在光源点阵401打光时,基于第一驱动功率以及第二驱动功率分别驱动第一子光源组以及第二子光源组。图4所示的1152个光斑中对应第一驱动功率的576个,对应第二驱动功率的576个。

如图5所示,光斑701、702、703、721、722以及723为第一子光源组打光光线经目标对象反射后生成的光斑。光斑711、712为第二子光源组打光光线经目标对象反射后生成的光斑。

进一步的,在本申请一实施例中,根据光源的状态参数来确定光源组中子光源组的个数以及每个子光源组打光的光强。

具体的,在实际应用场景中,光源在正常工作时具备可以达到的光强上限以及光强下限。例如,在一应用场景中,当光源的驱动功率低于第一驱动功率时,光源无法被驱动,将第一驱动功率驱动光源时的光强设定为光强下限;当光源的驱动功率高于第二驱动功率时,光源处于过载状态,将第二驱动功率驱动光源时的光强设定为光强上限。光强上限以及光强下限构成了光源的光强有效区间。为了在一次打光中尽可能的覆盖所有的可选光强,在本申请一实施例中,根据光源的光强有效区间确定光源组中子光源组的个数以及每个子光源组打光的光强。

具体的,在本申请一实施例中,光源组中子光源组的个数为预设子光源组数,光源组中各个子光源组打光的光强在预设光强有效区间内均匀分布。

例如,光源组中的光源基于最低驱动功率W211以及最高驱动功率W221可实现其设计上的下限光强以及上限光强。假设预设子光源组数为3,则在进行子光源组划分时则将光源组划分为三个子光源组,在打光时,三个子光源组的光源驱动功率分别为W211、(W211+W221)/2、W221

具体的,在本申请一实施例中,光源组中子光源组的个数为基于预设步长对预设光强有效区间进行划分得到划分节点数,光源组中各个子光源组打光的光强在预设光强有效区间内均匀分布。

例如,光源组中的光源基于最低驱动功率W212以及最高驱动功率W222可实现其设计上的下限光强以及上限光强。,假设预设步长为w,则在进行子光源组划分时则将光源组划分为n个子光源组,其中:

W212+(n-2)*w≤W222≤W212+(n-1)*w;(1)

在打光时,n个子光源组的光源驱动功率分别为W212、W212+w、W212+2w、…W212+(n-2)*w、W222

进一步的,在某些应用场景中,光源被预设有打光档位设置,光源只能按照预设的打光档位设置进行打光光强的调节。因此,在本申请一实施例中,根据光源的打光档位设置确定光源组中子光源组的个数以及每个子光源组打光的光强。

具体的,在本申请一实施例中,光源组中子光源组的个数与预设打光档位设置中的档位个数对应,光源组中子光源组打光的光强为预设打光档位设置中对应打光档位的光强。

例如,光源组中的光源被设定为三档打光模式(一档打光、二档打光以及三档打光),三档打光模式分别对应预设的光源驱动功率(W213、W223、W233)以实现对应的三档打光光强。在进行子光源组划分时则将光源组划分为三个子光源组,在打光时,三个子光源组的光源驱动功率分别为W213、W223、W233

进一步的,在本申请一实施例中,根据处理反射光数据的应用场景需求确定光源组中子光源组的划分方式以及每个子光源组打光的光强。具体的,在本申请一实施例中,光源组中子光源组的个数以及每个子光源组打光的光强与处理反射光数据的应用场景需求匹配。

例如,在某应用场景中,只需要考虑三种打光模式,则进行子光源组划分时则将光源组划分为三个子光源组,在打光时,三个子光源组的打光光强分别为三种打光模式的光强。在另一应用场景中,在处理反射光数据的过程中,设定超出预设上限Q1以及低于预设下限Q2的光强所生成的反射光数据为无效数据,即,如果子光源组的光强超出预设上限Q1或低于预设下限Q2时,生成的反射光数据是无法被使用的,因此,在设定子光源组的光强时,就不能让子光源组的光强超出预设上限Q1或低于预设下限Q2。

具体的,在本申请一实施例中,处理反射光数据的应用场景为iToF测距,其中:

光源组中子光源组的个数与间接光飞行时间测距的有效测距范围分档策略的分档数对应,光源组中每个子光源组对应一个有效测距范围;

光源组中子光源组打光的光强为子光源组对应的有效测距范围所对应的光强。

例如,假设在某一iToF测距的应用场景中,测距有效范围为1米~7米。在该应用场景中,有效测距范围分档策略为:

对于距离1米~3米的目标物体,适宜使用驱动功率W31驱动光源进行打光以生成反射光数据进行测距计算;

对于距离3米~5米的目标物体,适宜使用驱动功率W32驱动光源进行打光以生成反射光数据进行测距计算;

对于距离5米~7米的目标物体,适宜使用驱动功率W31驱动光源进行打光以生成反射光数据进行测距计算。

在不清楚目标物体的距离范围时,需要基于驱动功率W31、W32、W33分别进行三次打光,才能获取符合测距计算需求的反射光数据,或者,确认目标物体不在测距范围内。而根据本申请一实施例的方法,将光源组划分为三个子光源组,在同一次打光时,三个子光源组的驱动功率分别为W31、W32、W33。这样,就可以在同一次打光中,就可以获取符合测距计算需求的反射光数据,或者,确认目标物体不在测距范围内。

又例如,假设在某一iToF测距的应用场景中,测距有效范围为3米~7米。在该应用场景中,有效测距范围分档策略为:

对于距离3米~5米的目标物体,适宜使用驱动功率W41驱动光源进行打光以生成反射光数据进行测距计算;

对于距离5米~7米的目标物体,适宜使用驱动功率W42驱动光源进行打光以生成反射光数据进行测距计算。

在不清楚目标物体的距离范围时,需要基于驱动功率W41、W42分别进行二次打光,才能获取符合测距计算需求的反射光数据,或者,确认目标物体不在测距范围内。而根据本申请一实施例的方法,将光源组划分为二个子光源组,在同一次打光时,二个子光源组的驱动功率分别为W41、W42。这样,就可以在同一次打光中,就可以获取符合测距计算需求的反射光数据,或者,确认目标物体不在测距范围内。

进一步的,本申请一实施例中,在根据预设的反射光动态范围对反射光数据进行筛选的过程中,根据光斑灰度值对反射光数据进行筛选。具体的,在一应用场景中,处理反射光数据的应用场景为间接光飞行时间测距;获取同一次打光中第一子光源组和第二子光源组为目标物体打光所生成的反射光数据的过程包括:获取同一次打光中第一子光源组和第二子光源组为目标物体打光所生成的光斑的光斑数据;根据预设反射光动态范围对反射光数据进行筛选以获得满足预设反射光动态范围的反射光数据的过程包括:从光斑数据中筛选出满足预设灰度值区间的光斑所对应的光斑数据。

进一步的,本申请一实施例中,方法还包括:

根据筛选出的满足预设灰度值区间的光斑所对应的光斑数据,计算光源打光后经目标物体反射直到光斑数据被采集的过程中,光信号的相位偏移,根据光信号的相位偏移进行深度计算。

在本申请一实施例中,根据预设的反射光动态范围对反射光数据进行筛选以获取满足反射光动态范围的反射光数据。这里需要说明的是,最终获取的满足反射光动态范围的反射光数据,是对所有的反射光数据进行筛选而得到的,而不是根据光源驱动功率进行筛选而得到的。满足反射光动态范围的反射光数据可以是某个子光源组打光所生成的反射光数据,也可以是多个子光源组打光所生成的反射光数据。具体的,在本申请一实施例中,假设光源组被划分为第一子光源组以及第二子光源组,第一子光源组打光生成第一反射光数据,第二子光源组打光生成第二反射光数据。在打光时,第一子光源组以及第二子光源组同时打光,生成第一反射光数据以及第二反射光数据。则存在以下可能的情况:

第一反射光数据或第二反射光数据满足反射光动态范围;

第一反射光数据以及第二反射光数据均满足反射光动态范围;

第一反射光数据以及第二反射光数据均不满足反射光动态范围,例如,打光失败,目标物体不在测量范围,比如太靠近成像装置或者距离成像装置太远的时候,返回的数据都过爆或者太弱,均不适合用于计算深度。

比如,假设在某一iToF测距的应用场景中,测距有效范围为3米~7米。在该应用场景中,有效测距范围分档策略为:对于距离3米~5米的目标物体,适宜使用驱动功率W41驱动光源进行打光以生成反射光数据进行测距计算;对于距离5米~7米的目标物体,适宜使用驱动功率W42驱动光源进行打光以生成反射光数据进行测距计算。然而,对于距离3米~5米的目标物体,适宜使用驱动功率W41驱动光源进行打光,并不等于是说,对于距离3米~5米的目标物体,只有使用驱动功率W42驱动光源进行打光才能生成满足反射光动态范围的反射光数据。例如:

对于距离3.5米左右的目标物体,使用驱动功率W41驱动光源进行打光所生成反射光数据满足反射光动态范围,同时,使用驱动功率W42驱动光源进行打光所生成反射光数据不满足反射光动态范围;

对于距离6.5米左右的目标物体,使用驱动功率W41驱动光源进行打光所生成反射光数据不满足反射光动态范围,同时,使用驱动功率W42驱动光源进行打光所生成反射光数据满足反射光动态范围;

对于距离5米左右的目标物体,使用驱动功率W41驱动光源进行打光所生成反射光数据满足反射光动态范围,同时,使用驱动功率W42驱动光源进行打光所生成反射光数据也满足反射光动态范围;

对于距离2米左右的目标物体,使用驱动功率W41驱动光源进行打光所生成反射光数据不满足反射光动态范围,同时,使用驱动功率W42驱动光源进行打光所生成反射光数据也不满足反射光动态范围;

对于距离8米左右的目标物体,使用驱动功率W41驱动光源进行打光所生成反射光数据不满足反射光动态范围,同时,使用驱动功率W42驱动光源进行打光所生成反射光数据也不满足反射光动态范围。

进一步的,考虑到同一子光源组中的多个光源进行打光所生成的反射光数据可能不同。

例如,假设目标物体具备不平整的表面,那么相对于一个子光源组而言,目标物体表面上不同位置的点距离子光源组的距离是不同的,即,子光源组的不同光源打光到目标物体的不同位置后反射回来的光所经历的距离是不同的,这就导致同一子光源为目标物体打光时,不同光源打光所生成的放射光数据可能是不同的。

又例如,在图4所示的应用场景中,在驱动功率相同的情况下,由于光线散射,位于中心的光斑的亮度可能会高于位于边缘的光斑的亮度。

因此,对于同一子光源组而言,其所包含的多个光源打光所生成的多个反射光数据中,可能有一部分满足反射光动态范围并且另一部分不满足反射光动态范围。

具体的,在本申请一实施例中,假设光源组被划分为第一子光源组以及第二子光源组,第一子光源组打光生成第一反射光数据,第二子光源组打光生成第二反射光数据。在打光时,第一子光源组以及第二子光源组同时打光,生成第一反射光数据以及第二反射光数据。

则还存在以下可能的情况:

第一反射光数据中的一部分反射光数据或第二反射光数据的一部分反射光数据满足反射光动态范围;

第一反射光数据中的一部分反射光数据以及第二反射光数据的一部分反射光数据满足反射光动态范围;

第一反射光数据中的一部分反射光数据以及第二反射光数据满足反射光动态范围;

第一反射光数据以及第二反射光数据的一部分反射光数据满足反射光动态范围。

比如,假设在某一iToF测距的应用场景中,测距有效范围为3米~7米。在该应用场景中,有效测距范围分档策略为:对于距离3米~5米的目标物体,适宜使用驱动功率W41驱动光源进行打光以生成反射光数据进行测距计算;对于距离5米~7米的目标物体,适宜使用驱动功率W42驱动光源进行打光以生成反射光数据进行测距计算。假如对于某一子光源组而言,目标物体的一部分距离该子光源组的距离为4米左右,目标物体的另一部分距离该子光源组的距离为6米左右。那么,当以W41驱动该子光源组的光源进行打光时,为距离该子光源组的距离为4米左右的目标物体的那一部分打光所生成的反射光数据就满足反射光动态范围;为距离该子光源组的距离为6米左右的目标物体的那一部分打光所生成的反射光数据就不满足反射光动态范围。

又比如,假设在某一iToF测距的应用场景中,测距有效范围为3米~7米。在该应用场景中,有效测距范围分档策略为:对于距离3米~5米的目标物体,适宜使用驱动功率W41驱动光源进行打光以生成反射光数据进行测距计算;对于距离5米~7米的目标物体,适宜使用驱动功率W42驱动光源进行打光以生成反射光数据进行测距计算。假如对于某一子光源组而言,基于同一驱动功率驱动子光源组为目标物体打光,打光范围的中心部分的光强要高于周边部分。那么,当以W41或W42驱动该子光源组的光源进行打光时,当打光范围的中心部分的反射光数据满足反射光动态范围时,打光范围的周边部分的反射光数据就有可能不满足反射光动态范围;或者,当打光范围的周边部分的反射光数据满足反射光动态范围时,打光范围的中心部分的反射光数据就有可能不满足反射光动态范围。

进一步,在实际应用场景中,根据满足反射光动态范围的反射光数据所对应的子光源组个数的不同,可以实现不同的处理分辨率。

例如,在一应用场景中,iToF测距的有效测距范围分档策略为3米~5米、5米~7米二档,并且,对于距离3米~5米的目标物体,适宜使用驱动功率W41驱动光源进行打光以生成反射光数据进行测距计算;对于距离5米~7米的目标物体,适宜使用驱动功率W42驱动光源进行打光以生成反射光数据进行测距计算。则,将光源组划分为二个子光源组(例如,将图3所示的光源点阵中奇数行分为一个子光源组,偶数行分为一个子光源组)。在打光时,基于W51以及W52分别驱动二个子光源组打光到目标物体上,在目标物体表面生成如图4所示的1152个光斑,1152个光斑中对应W51的576个,对应W52的576个。

拍摄装置402拍摄1152个光斑获取1152个光斑的光斑数据(反射光数据)。解析各个光斑的光斑数据以确定各个光斑的光斑灰度值,则在一应用场景中存在下述四种情况:

a,对应W51的576个光斑的光斑灰度值满足反射光动态范围,对应W52的576个光斑的光斑灰度值不满足反射光动态范围,则使用对应W51的576个光斑的光斑数据进行测距计算,此时的测距分辨率为576个测距点;

b,对应W52的576个光斑的光斑灰度值满足反射光动态范围,对应W51的576个光斑的光斑灰度值不满足反射光动态范围,则使用对应W52的576个光斑的光斑数据进行测距计算,此时的测距分辨率为576个测距点;

c,1152个光斑的光斑灰度值均满足反射光动态范围,则使用1152个光斑进行测距计算,此时的测距分辨率为1152个测距点,测距分辨率为情况a以及情况b的2倍;

d,1152个光斑的光斑灰度值均不满足反射光动态范围,测距失败。

进一步的,在某些实际应用场景中,基于同一光源驱动功率驱动的光源打光时所生成的反射光数据可能是不同的。例如,在图4所示的应用场景中,在驱动功率相同的情况下,位于中心的光斑的亮度可能会高于位于边缘的光斑的亮度。在这种情况下,满足反射光动态范围的光斑个数就可能不是576个或1152个。

可以理解的是,上述实施例中的部分或全部步骤骤或操作仅是示例,本申请实施例还可以执行其它操作或者各种操作的变形。此外,各个步骤可以按照上述实施例呈现的不同的顺序来执行,并且有可能并非要执行上述实施例中的全部操作。

进一步的,基于本申请一实施例中提出的打光以及反射光数据获取方法,本申请一实施例还提出了一种打光控制以及反射光数据获取装置。图6所示为根据本申请打光以及反射光数据采集装置一实施例的结构图。在本申请一实施例中,如图6所示,在本申请一实施例中,打光控制以及反射光数据获取装置500包括:

光源控制模块510,其用于驱动光源组为目标物体打光,其中,光源组包括第一子光源组和第二子光源组,第一子光源组包括多个光源,第二子光源组包括另外的多个光源,且在同一次打光中,第一子光源组的多个光源的光强不同于第二子光源组的另外多个光源的光强,第一子光源组的多个光源以及第二子光源组的另外多个光源为目标物体打光的打光位置互不重合,光源组为目标物体打光的光线经目标物体反射后照射在同一光传感器上生成反射光数据;

反射光获取模块520,其用于获取同一次打光中第一子光源组和第二子光源组为目标物体打光所生成的反射光数据;

数据筛选模块530,其用于根据预设反射光动态范围对反射光数据进行筛选以获得满足预设反射光动态范围的反射光数据。

进一步的,基于本申请一实施例中提出的打光以及反射光数据获取方法,本申请一实施例还提出了一种打光以及反射光数据采集装置。图7所示为根据本申请打光以及反射光数据采集装置一实施例的结构图。在本申请一实施例中,如图7所示,在本申请一实施例中,打光以及反射光数据采集装置600包括:

光源组601,其包括第一子光源组和第二子光源组,第一子光源组包括多个光源,第二子光源组包括另外的多个光源,第一子光源组的多个光源以及第二子光源组的另外多个光源为目标物体打光的打光位置互不重合,光源组为目标物体打光的光线经目标物体反射后照射在同一光传感器上生成反射光数据;

光源组控制模块610,其用于驱动光源组为目标物体打光;

反射光采集模块620,其用于获取同一次打光中第一子光源组和第二子光源组为目标物体打光所生成的反射光数据;

数据处理模块630,其用于:

发送控制指令到光源组控制模块,使得在同一次打光中,第一子光源组的多个光源的光强不同于第二子光源组的另外多个光源的光强;

根据预设反射光动态范围对反射光数据进行筛选以获得满足预设反射光动态范围的反射光数据。

图6或图7所示的本申请实施例提供的装置可用于执行图2所示的本申请实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请实施例的描述中,为了描述的方便,描述装置时以功能分为各种模块/单元分别描述,各个模块/单元的划分仅仅是一种逻辑功能的划分,在实施本申请实施例时可以把各模块/单元的功能在同一个或多个软件和/或硬件中实现。

本申请中的实施例描述是参照根据本申请实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本申请一实施例还提出了一种电子设备,电子设备包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发电子设备执行如本申请实施例所述的方法步骤。

具体的,在本申请一实施例中,上述一个或多个计算机程序被存储在上述存储器中,上述一个或多个计算机程序包括指令,当上述指令被上述设备执行时,使得上述设备执行本申请实施例所述的方法步骤。

具体的,在本申请一实施例中,电子设备的处理器可以是中央处理器(CentralProcessing Unit,CPU),还可以进一步包括其他类型的处理器。处理器可以具有操作一个或多个软件程序的功能,软件程序可以存储在存储介质中。

具体的,在本申请一实施例中,电子设备的存储器可以是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何计算机可读介质。

具体的,在本申请一实施例中,处理器可以和存储器可以合成一个处理装置,更常见的是彼此独立的部件,处理器用于执行存储器中存储的程序代码来实现本申请实施例所述方法。具体实现时,该存储器也可以集成在处理器中,或者,独立于处理器。

进一步的,本申请实施例阐明的设备、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。

本领域内的技术人员应明白,本申请实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。

在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。

进一步的,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。

具体的,本申请一实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的方法。

本申请一实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的方法。

还需要说明的是,本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。

本申请实施例中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。

24页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于光学调频干涉与单频干涉的高速高精度动态测距方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类