数据处理方法、装置、电子设备及计算机可读存储介质与流程

文档序号:15925103发布日期:2018-11-14 01:03阅读:148来源:国知局

本申请涉及计算机技术领域,特别是涉及一种数据处理方法、装置、电子设备及计算机可读存储介质。

背景技术

3d(3dimensions,三维)人脸在人脸识别、美颜、3d模型建立等不同应用场景中均起到重要的作用。电子设备可通过激光器发射激光,并通过摄像头采集被激光照射的人脸图像,通过结构光构建3d人脸。在传统的方式中,电子设备对激光器、摄像头等进行控制时,数据处理复杂。



技术实现要素:

本申请实施例提供一种数据处理方法、装置、电子设备及计算机可读存储介质,可以降低对激光器、摄像头等进行控制时的数据处理复杂度。

一种数据处理方法,包括:

当第一处理单元接收到第二处理单元发送的图像采集指令时,根据所述图像采集指令确定图像类型;

若所述图像类型为第一类型,则开启摄像头模组中的泛光灯,并通过第一脉冲宽度调制pwm模块向第一控制器发送脉冲,点亮所述泛光灯,再通过摄像头模组中的激光摄像头采集与所述第一类型对应的目标图像;

若所述图像类型为第二类型,则开启摄像头模组中的镭射灯,并通过第二pwm模块向第二控制器发送脉冲,点亮所述镭射灯,再通过摄像头模组中的激光摄像头采集与所述第二类型对应的目标图像;

通过所述第一处理单元对所述目标图像进行处理,并将处理后的目标图像发送给所述第二处理单元。

一种数据处理装置,包括:

类型确定模块,用于当第一处理单元接收到第二处理单元发送的图像采集指令时,根据所述图像采集指令确定图像类型;

第一脉冲发送模块,用于若所述图像类型为第一类型,则开启摄像头模组中的泛光灯,并通过第一脉冲宽度调制pwm模块向第一控制器发送脉冲,点亮所述泛光灯,再通过摄像头模组中的激光摄像头采集与所述第一类型对应的目标图像;

第二脉冲发送模块,用于若所述图像类型为第二类型,则开启摄像头模组中的镭射灯,并通过第二pwm模块向第二控制器发送脉冲,点亮所述镭射灯,再通过摄像头模组中的激光摄像头采集与所述第二类型对应的目标图像;

处理模块,用于通过所述第一处理单元对所述目标图像进行处理,并将处理后的目标图像发送给所述第二处理单元。

一种电子设备,包括摄像头模组、第一处理单元和第二处理单元,所述第一处理单元分别与所述第二处理单元和摄像头模组相连;所述摄像头模组包括激光摄像头、泛光灯和镭射灯,所述泛光灯与第一控制器连接,所述镭射灯与第二控制器连接;所述第一处理单元包括第一pwm模块和第二pwm模块,所述第一处理单元通过第一pwm模块与第一控制器连接,所述第一处理单元通过第二pwm模块与第二控制器连接;

所述第一处理单元,用于当接收到第二处理单元发送的图像采集指令时,根据所述图像采集指令确定图像类型,若所述图像类型为第一类型,则开启摄像头模组中的泛光灯,并通过第一脉冲宽度调制pwm模块向第一控制器发送脉冲,点亮所述泛光灯,再通过摄像头模组中的激光摄像头采集与所述第一类型对应的目标图像;若所述图像类型为第二类型,则开启摄像头模组中的镭射灯,并通过第二pwm模块向第二控制器发送脉冲,点亮所述镭射灯,再通过摄像头模组中的激光摄像头采集与所述第二类型对应的目标图像;对所述目标图像进行处理,并将处理后的目标图像发送给所述第二处理单元。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。

上述数据处理方法、装置、电子设备及计算机可读存储介质,当第一处理单元接收到第二处理单元发送的图像采集指令时,根据图像采集指令确定图像类型,若图像类型为第一类型,通过第一pwm模块点亮泛光灯并通过激光摄像头采集与第一类型对应的目标图像,若图像类型为第二类型,则通过第二pwm模块向第二控制器点亮镭射灯并通过激光摄像头采集与第二类型对应的目标图像,通过两个pwm模块分别控制泛光灯和镭射灯,无需进行实时切换,可以降低数据处理复杂度,并减轻第一处理单元的处理压力。

附图说明

图1为一个实施例中数据处理方法的应用场景图;

图2为另一个实施例中数据处理方法的应用场景图;

图3为一个实施例中电子设备的框图;

图4为一个实施例中数据处理方法的流程示意图;

图5为一个实施例中第二处理单元通过i2c总线与泛光灯和镭射灯连接的示意图;

图6为一个实施例中通过第一处理单元对目标图像进行处理的流程示意图;

图7为一个实施例中在第一处理单元中写入参考散斑图像的流程示意图;

图8为一个实施例中数据处理装置的框图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。

可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一客户端称为第二客户端,且类似地,可将第二客户端称为第一客户端。第一客户端和第二客户端两者都是客户端,但其不是同一客户端。

图1为一个实施例中数据处理方法的应用场景图。如图1所示,该数据处理方法可应用于电子设备,电子设备可包括激光摄像头102、泛光灯104、镭射灯106、第一处理单元110、第二处理单元120、第一控制器130和第二控制器140。第一处理单元110可分别与激光摄像头102和第二处理单元120连接,其中,第一处理单元110可为mcu(microcontrollerunit,微控制单元)模块等,第二处理单元120可为cpu(centralprocessingunit,中央处理器)模块等。第一控制器130与泛光灯104连接,第二控制器140与镭射灯106连接。第一处理单元110可包括第一pwm(pulsewidthmodulation,脉冲宽度调制)模块112和第二pwm模块114,第一处理单元110通过第一pwm模块112与第一控制器130连接,第一处理单元110通过第二pwm模块114与第二控制器140连接。

当第一处理单元110接收到第二处理单元120发送的图像采集指令时,根据图像采集指令确定图像类型。若图像类型为第一类型,则开启泛光灯104,并通过第一pwm模块112向第一控制器130发送脉冲,点亮泛光灯104,再通过激光摄像头102采集与第一类型对应的目标图像。若图像类型为第二类型,则开启镭射灯106,并通过第二pwm模块114向第二控制器140发送脉冲,点亮镭射灯106,再通过激光摄像头102采集与第二类型对应的目标图像。第一处理单元110可对激光摄像头102采集的目标图像进行处理,并将处理后的目标图像发送给第二处理单元120。

图2为另一个实施例中数据处理方法的应用场景图。如图2所示,电子设备200可包括摄像头模组210、第二处理单元220,第一处理单元230。上述第二处理单元220可为cpu模块。上述第一处理单元230可为mcu模块等。其中,第一处理单元230连接在第二处理单元220和摄像头模组210之间,上述第一处理单元230可控制摄像头模组210中激光摄像头212、泛光灯214和镭射灯218,上述第二处理单元220可控制摄像头模组210中rgb摄像头216。

摄像头模组210中包括激光摄像头212、泛光灯214、rgb摄像头216和镭射灯218。上述激光摄像头212可为红外摄像头,用于获取红外图像。上述泛光灯214为可发射红外光的面光源;上述镭射灯218为可发射激光的点光源且为带有图案的点光源。其中,当泛光灯214发射面光源时,激光摄像头212可根据反射回的光线获取红外图像。当镭射灯218发射点光源时,激光摄像头212可根据反射回的光线获取散斑图像。上述散斑图像是镭射灯218发射的带有图案的点光源被反射后图案发生形变的图像。

第二处理单元220可包括在tee(trustedexecutionenvironment,可信运行环境)环境下运行的cpu内核和在ree(richexecutionenvironment,自然运行环境)环境下运行的cpu内核。其中,tee环境和ree环境均为arm模块(advancedriscmachines,高级精简指令集处理器)的运行模式。其中,tee环境的安全级别较高,第二处理单元220中有且仅有一个cpu内核可同时运行在tee环境下。通常情况下,电子设备200中安全级别较高的操作行为需要在tee环境下的cpu内核中执行,安全级别较低的操作行为可在ree环境下的cpu内核中执行。

第一处理单元230包括pwm模块232、spi/i2c(serialperipheralinterface/inter-integratedcircuit,串行外设接口/双向二线制同步串行接口)接口234、ram(randomaccessmemory,随机存取存储器)模块236和深度引擎238。pwm模块232可包括第一pwm模块和第二pwm模块,其中,第一pwm模块可与泛光灯214的控制器连接,控制开启泛光灯214,并向泛光灯214发送脉冲点亮泛光灯214;第二pwm模块可与镭射灯218的控制器连接,控制开启镭射灯218,并向镭射灯218发送脉冲点亮镭射灯218。上述spi/i2c接口234用于接收第二处理单元220发送的图像采集指令。上述深度引擎238可对散斑图像进行处理得到深度视差图。

当第二处理单元220接收到应用程序的数据获取请求时,例如,当应用程序需要进行人脸解锁、人脸支付时,可通过运行在tee环境下的cpu内核向第一处理单元230发送图像采集指令。当第一处理单元230接收到图像采集指令后,可通过pwm模块232中的第一pwm模块发射脉冲波点亮泛光灯214,并通过激光摄像头212采集红外图像,可通过pwm模块232中的第二pwm模块发射脉冲波点亮镭射灯218,并激光摄像头212采集散斑图像。摄像头模组210可将采集到的红外图像和散斑图像发送给第一处理单元230。第一处理单元230可对接收到的红外图像进行处理得到红外视差图;对接收到的散斑图像进行处理得到散斑视差图或深度视差图。其中,第一处理单元230对上述红外图像和散斑图像进行处理是指对红外图像或散斑图像进行校正,去除摄像头模组210中内外参数对图像的影响。其中,第一处理单元230可设置成不同的模式,不同模式输出的图像不同。当第一处理单元230设置为散斑图模式时,第一处理单元230对散斑图像处理得到散斑视差图,根据上述散斑视差图可得到目标散斑图像;当第一处理单元230设置为深度图模式时,第一处理单元230对散斑图像处理得到深度视差图,根据上述深度视差图可得到深度图像,上述深度图像是指带有深度信息的图像。第一处理单元230可将上述红外视差图和散斑视差图发送给第二处理单元220,第一处理单元230也可将上述红外视差图和深度视差图发送给第二处理单元220。第二处理单元220可根据上述红外视差图获取目标红外图像、根据上述深度视差图获取深度图像。进一步的,第二处理单元220可根据目标红外图像、深度图像来进行人脸识别、人脸匹配、活体检测以及获取检测到的人脸的深度信息。

第一处理单元230与第二处理单元220之间通信是通过固定的安全接口,用以确保传输数据的安全性。如图1所示,第二处理单元220发送给第一处理单元230的数据是通过securespi/i2c240,第一处理单元230发送给第二处理单元220的数据是通过securemipi(mobileindustryprocessorinterface,移动产业处理器接口)250。

在一个实施例中,第一处理单元230也可根据上述红外视差图获取目标红外图像、上述深度视差图计算获取深度图像,再将上述目标红外图像、深度图像发送给第二处理单元220。

图3为一个实施例中电子设备的框图。如图3所示,该电子设备包括通过系统总线连接的处理器、存储器、显示屏和输入装置。其中,存储器可包括非易失性存储介质及处理器。电子设备的非易失性存储介质存储有操作系统及计算机程序,该计算机程序被处理器执行时以实现本申请实施例中提供的一种数据处理方法。该处理器用于提供计算和控制能力,支撑整个电子设备的运行。电子设备中的内存储器为非易失性存储介质中的计算机程序的运行提供环境。电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏等,输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,也可以是外接的键盘、触控板或鼠标等。该电子设备可以是手机、平板电脑或者个人数字助理或穿戴式设备等。本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

如图4所示,在一个实施例中,提供一种数据处理方法,包括以下步骤:

步骤410,当第一处理单元接收到第二处理单元发送的图像采集指令时,根据图像采集指令确定图像类型。

当电子设备中应用程序需要获取人脸数据时,应用程序可向第二处理单元发送数据获取请求,其中,人脸数据可包括但不限于人脸解锁、人脸支付等场景下需要进行人脸验证的数据,和人脸深度信息等。第二处理单元接收数据获取请求后,可向第一处理单元发送图像采集指令,其中,第一处理单元可以是mcu模块,第二处理单元可以是cpu模块。

第一处理单元接收第二处理单元发送的图像采集指令,可根据图像采集指令确定采集的图像类型,其中,图像类型可以是红外图像、散斑图像及深度图像等中的一种或多种。图像类型可根据应用程序所需的人脸数据进行确定,第二处理单元接收数据获取请求后,可根据数据获取请求确定图像类型,并向第一处理单元发送包含该图像类型的图像采集指令。例如,需要进行人脸解锁的数据,则可确定图像类型为红外图像及散斑图像,需要人脸深度信息,则可确定图像类型为深度图像等,但不限于此。

步骤420,若图像类型为第一类型,则开启摄像头模组中的泛光灯,并通过第一脉冲宽度调制pwm模块向第一控制器发送脉冲,点亮泛光灯,再通过摄像头模组中的激光摄像头采集与第一类型对应的目标图像。

若图像类型为第一类型,在本实施例中,第一类型可以是红外图像,则第一处理单元可向第一控制器发送控制指令,该控制指令可用于开启摄像头模组中的泛光灯。第一处理单元可通过第一pwm模块向可用于控制泛光灯的第一控制器发送脉冲信号,点亮泛光灯。可选地,第一pwm模块可按照一定电压幅度、一定时间间隔向泛光灯连续发出的脉冲信号,控制点亮泛光灯。泛光灯可为一种向四面八方均匀照射的点光源,当泛光灯被点亮时,可发射红外光,激光摄像头可采集人脸得到红外图像。

步骤430,若图像类型为第二类型,则开启摄像头模组中的镭射灯,并通过第二pwm模块向第二控制器发送脉冲,点亮镭射灯,再通过摄像头模组中的激光摄像头采集与第二类型对应的目标图像。

若图像类型为第二类型,在本实施例中,第二类型可以是散斑图像或深度图像等,则第一处理单元可向第二控制器发送控制指令,该控制指令可用于开启摄像头模组中的镭射灯。第一处理单元可通过第二pwm模块向可用于控制镭射灯的第二控制器发送脉冲信号,点亮镭射灯。可选地,第二pwm模块可按照一定电压幅度、一定时间间隔向镭射灯连续发出的脉冲信号,控制点亮镭射灯。镭射灯被点亮时,发出的激光可由透镜和doe(diffractiveopticalelements,光学衍射元件)进行衍射产生带散斑颗粒的图案,通过带散斑颗粒的图案投射到目标物体,受目标物体各点与电子设备的距离不同产生散斑图案的偏移,激光摄像头对目标物体进行采集得到散斑图像。

步骤440,通过第一处理单元对目标图像进行处理,并将处理后的目标图像发送给第二处理单元。

激光摄像头可将采集的目标图像发送给第一处理单元,第一处理单元可对目标图像进行处理,其中,目标图像可包括红外图像、散斑图像等。第一处理单元根据图像采集指令确定图像类型后,可根据确定的图像类型采集与图像类型对应的目标图像,并对目标图像进行相应的处理。当图像类型为红外图像时,第一处理单元可通过第一pwm模块向第一控制器发送脉冲,点亮泛光灯,并通过激光摄像头采集红外图像,可对红外图像进行处理得到红外视差图。当图像类型为散斑图像时,第一处理单元可通过第二pwm模块向第二控制器发送脉冲,点亮镭射灯,并通过激光摄像头采集散斑图像,可对散斑图像进行处理得到散斑视差图。当图像类型为深度图像时,第一处理单元可采集散斑图像,并对采集的散斑图像进行处理得到深度视差图。

在一个实施例中,第一处理单元可对目标图像进行校正处理,进行校正处理是指校正目标图像由于激光摄像头及rgb摄像头的内外参数等造成的图像内容偏移,例如由于激光摄像头偏转角度、激光摄像头和rgb摄像头之间的摆放位置等引起的图像内容偏移等。对目标图像进行校正处理后,可得到目标图像的视差图,例如,对红外图像进行校正处理得到红外视差图,对散斑图像进行校正可得到散斑视差图或深度视差图等。对目标图像进行校正处理,可以防止最终在电子设备的屏幕上呈现的图像出现重影的情况。

第一处理单元对目标图像进行处理,可将处理后的目标图像发送给第二处理单元。第二处理单元可根据处理后的目标图像得到所需的图像,比如红外图像、散斑图像及深度图像等。第二处理单元可根据应用程序的需求对所需的图像进行处理。

例如,应用程序需要进行人脸验证时,则第二处理单元则可对得到的所需的图像等进行人脸检测,其中,人脸检测可包括人脸识别、人脸匹配和活体检测。人脸识别是指识别所需的图像中是否存在人脸,人脸匹配是指将所需的图像中人脸与预存的人脸进行匹配,活体检测是指检测所需的图像中人脸是否具有生物活性等。若应用程序需要获取人脸的深度信息,则可将生成的深度图像上传至应用程序,应用程序可根据接收到的深度图像进行美颜处理、三维建模等。

在本实施例中,当第一处理单元接收到第二处理单元发送的图像采集指令时,根据图像采集指令确定图像类型,若图像类型为第一类型,通过第一pwm模块点亮泛光灯并通过激光摄像头采集与第一类型对应的目标图像,若图像类型为第二类型,则通过第二pwm模块向第二控制器点亮镭射灯并通过激光摄像头采集与第二类型对应的目标图像,通过两个pwm模块分别控制泛光灯和镭射灯,无需进行实时切换,可以降低数据处理复杂度,并减轻第一处理单元的处理压力。

在一个实施例中,在步骤410当第一处理单元接收到第二处理单元发送的图像采集指令时,根据图像采集指令确定图像类型之前,还包括:当检测到摄像头模组启动时,第二处理单元通过i2c总线分别对泛光灯和镭射灯进行配置。

当电子设备的应用程序需要通过摄像头模组采集所需的图像数据时,可启动摄像头模组,并通过摄像头模组采集图像。当电子设备检测到摄像头模组启动时,第二处理单元可通过i2c总线分别对泛光灯和镭射灯进行配置,其中,i2c总线可通过一根数据线和一根时钟线实现连接于i2c总线上的各个器件之间的数据传输。第二处理单元可先读取配置文件,并根据配置文件中包含的参数对泛光灯和镭射灯进行配置。配置文件中可记录有泛光灯和镭射灯的发射功率、发射电流等参数,但不限于此,也可以是其他参数。第二处理单元可根据配置文件中的参数对泛光灯和镭射灯的发射功率、发射电流等进行配置。

在一个实施例中,第二处理单元可通过同一个i2c总线分别与泛光灯和镭射灯连接,泛光灯、镭射灯和第二处理单元可连接在同一个i2c总线上。第二处理单元对泛光灯和镭射灯进行配置时,可先通过i2c总线对泛光灯进行寻址,并对泛光灯进行配置,再通过i2c总线对镭射灯进行寻址,并对镭射灯进行配置。可选地,第二处理单元也可先通过i2c总线对镭射灯进行寻址,并对镭射灯进行配置,再通过i2c总线对泛光灯进行寻址,并对泛光灯进行配置。通过对连接的同一个i2c总线进行分时复用,可以降低控制电路的复杂度,节省资源,降低成本。

在一个实施例中,第二处理单元可通过两个i2c总线分别与泛光灯和镭射灯连接,第二处理单元可通过一个i2c总线与泛光灯连接,并通过另一个i2c总线与镭射灯连接。当第二处理单元对泛光灯和镭射灯进行配置时,可通过与泛光灯连接的i2c总线对泛光灯进行寻址,并对泛光灯进行配置,同时可通过与镭射灯连接的i2c总线对镭射灯进行寻址,并对镭射灯进行配置。通过两个i2c总线分别连接泛光灯和镭射灯,可以并行对泛光灯和镭射灯进行配置,提高数据处理速度。

图5为一个实施例中第二处理单元通过i2c总线与泛光灯和镭射灯连接的示意图。如图5所示,在(1)中,第二处理单元120通过同一个i2c总线分别连接泛光灯104和镭射灯106。在(2)中,第二处理单元120通过两个i2c总线分别与泛光灯104和镭射灯106连接,第二处理单元可通过一个i2c总线与泛光灯104连接,并通过另一个i2c总线与镭射灯106连接。

在本实施例中,第二处理单元可在摄像头模组启动时,通过i2c总线对泛光灯和镭射灯进行配置,可以更加精准地控制图像采集,并提高了数据处理效率。

在一个实施例中,在上述数据处理方法中,第一pwm模块向第一控制器发送脉冲的时刻与第二pwm模块向第二控制器发送脉冲的时刻不同,向第一控制器发送脉冲的时刻与向第二控制器发送脉冲的时刻之间的时间间隔小于时间阈值。

第一处理单元根据图像采集指令确定图像类型,图像类型可包含有至少两种,比如,图像类型可同时包含第一类型和第二类型。当图像类型包含红外图像和散斑图像,或是包含红外图像和深度图像时,需要同时采集红外图像和散斑图像。第一处理单元可同时通过第一pwm模块向第一控制器发送脉冲,通过第二pwm模块向第二控制器发送脉冲,对泛光灯和镭射灯进行点亮。第一pwm模块向第一控制器发送脉冲的时刻与第二pwm模块向第二控制器发送脉冲的时刻可不同,从而在不同的时刻点亮泛光灯和镭射灯。第一处理单元可在第一pwm模块向第一控制器发送脉冲的时刻通过激光摄像头采集红外图像,可在第二pwm模块向第二控制器发送脉冲的时刻通过激光摄像头采集散斑图像。

可选地,第一pwm模块向第一控制器发送脉冲的时刻与第二pwm模块向第二控制器发送脉冲的时刻之间的时间间隔小于时间阈值,激光摄像头在采集完红外图像后可在小于时间阈值的时间间隔中采集到散斑图像,使得采集的红外图像与散斑图像的图像内容较为一致,方便后续进行人脸检测等处理。时间阈值可根据实际需求进行设定,例如20毫秒、30毫秒等。

在本实施例中,第一处理单元可通过激光摄像头在不同时刻分别采集红外图像及散斑图像,且可保证采集的红外图像与散斑图像的图像内容较为一致,提高后续人脸检测的准确性。

如图6所示,在一个实施例中,步骤440通过第一处理单元对目标图像进行处理,并将处理后的目标图像发送给第二处理单元,包括以下步骤:

步骤602,获取存储的参考散斑图像,参考散斑图像带有参考深度信息。

在摄像机坐标系中,以垂直成像平面并穿过镜面中心的直线为z轴,若物体在摄像机坐标系的坐标为(x,y,z),那么其中的z值即为物体在该摄像机成像平面的深度信息。若应用程序需要获取人脸的深度信息,则需要采集包含人脸深度信息的深度图像。第一处理单元可通过i2c总线控制开启镭射灯,并通过i2c总线控制激光摄像头采集散斑图像。第一处理单元中可预先存储有参考散斑图,参考散斑图可带有参考深度信息,可根据采集的散斑图像及参考散斑图像获取散斑图像中包含的各个像素点的深度信息。

步骤604,将参考散斑图像与散斑图像进行匹配,得到匹配结果。

第一处理单元可依次以采集的散斑图像中包含的各个像素点为中心,选择一个预设大小像素块,例如31pixel(像素)*31pixel大小,在参考散斑图像上搜索与选择的像素块相匹配的块。第一处理单元可从采集的散斑图像中选择的像素块和参考散斑图像相匹配的块中,找到散斑图像及参考散斑图像中分别在同一条激光光路上的两个点,同一激光光路上的两个点的散斑信息一致,在同一条激光光路上的两个点可认定为对应的像素点。参考散斑图像中,每一条激光光路上的点的深度信息都是已知的。第一处理单元可计算目标散斑图像与参考散斑图像在同一条激光光路上的两个对应的像素点之间的偏移量,并根据偏移量计算得到采集的散斑图中包含的各个像素点的深度信息。

在一个实施例中,第一处理单元将采集的散斑图像与参考散斑图进行偏移量的计算,根据偏移量计算得到散斑图像中包含的各个像素点的深度信息,其计算公式可如式(1)所示:

其中,zd表示像素点的深度信息,也即像素点的深度值;l为激光摄像头与激光器之间的距离;f为激光摄像头中透镜的焦距,z0为参考散斑图像采集时参考平面距离电子设备的激光摄像头的深度值,p为采集的散斑图像与参考散斑图像中对应像素点之间的偏移量。p可由目标散斑图与参考散斑图中像素点偏移的像素量乘以一个像素点的实际距离得到。当目标物体与激光摄像头之间的距离大于参考平面与激光摄像头之间的距离时,p为负值,当目标物体与激光摄像头之间的距离小于参考平面与激光摄像头之间的距离时,p为正值。

步骤606,根据参考深度信息和匹配结果生成深度视差图,并将深度视差图发送给第二处理单元,通过第二处理单元对深度视差图进行处理得到深度图。

第一处理单元得到采集的散斑图像中包含的各个像素点的深度信息,可对采集的散斑图像进行校正处理,校正采集的散斑图像由于激光摄像头及rgb摄像头的内外参数等造成的图像内容偏移。第一处理单元可根据校正后的散斑图像,以及散斑图像中各个像素点的深度值,生成深度视差图,并将深度视差图发送给第二处理单元。第二处理单元可根据深度视差图得到深度图,深度图中可包含各个像素点的深度信息。第二处理单元可将深度图上传至应用程序,应用程序可根据深度图中人脸的深度信息进行美颜、三维建模等。第二处理单元也可根据深度图中人脸的深度信息进行活体检测,可防止采集的人脸是二维的平面人脸等。

在本实施例中,通过第一处理单元可精准得到采集的图像的深度信息,数据处理效率高,且提高了图像处理的精准性。

如图7所示,在一个实施例中,在步骤602获取存储的参考散斑图像之前,还包括以下步骤:

步骤702,每隔采集时间段采集镭射灯的温度,并通过第二处理单元获取与温度对应的参考散斑图像。

电子设备可在镭射灯旁设置有温度传感器,并通过温度传感器采集镭射灯等的温度。第二处理单元可每隔采集时间段获取温度传感器采集的镭射灯的温度,其中,采集时间段可根据实际需求进行设定,例如3秒、4秒等,但不限于此。由于当镭射灯的温度发生变化时,可能会对摄像头模组造成形变,影响第一摄像头和第二摄像头的内外参数。不同温度下对摄像头的影响不同,因此,在不同的温度下,可对应不同的参考散斑图像。

第二处理单元可获取与温度对应的参考散斑图像,并根据与温度对应的参考散斑图像对在该温度下采集的散斑图像进行处理,得到深度图。可选地,第二处理单元可预先设定多个不同的温度区间,比如0℃(摄式度)~30℃,30℃~60℃,60℃~90℃等,但不限于此,不同温度区间可对应不同的参考散斑图像。第二处理单元采集温度后,可确定该温度所处的温度区间,并获取与该温度区间对应的参考散斑图像。

步骤704,当本次获取的参考散斑图像与第一处理单元中存储的参考散斑图像不一致时,通过第二处理单元将本次获取的参考散斑图像写入第一处理单元。

第二处理单元获取与采集的温度对应的参考散斑图像后,可判断本次获取的参考散斑图像与第一处理单元中存储的参考散斑图像是否一致,参考散斑图像中可携带有图像标识,图像标识可以由数字、字线及字符等中的一种或多种组成。第二处理单元可从第一处理单元中读取存储的参考散斑图像的图像标识,并将本次获取的参考散斑图像的图像标识与从第一处理单元读取的图像标识进行比较。若两个图像标识不一致,则可说明本次获取的参考散斑图像与第一处理单元中存储的参考散斑图像不一致,则第二处理单元可将本次获取的参考散斑图像写入第一处理单元。第一处理单元可存储新写入的参考散斑图像,并删除之前存储的参考散斑图像。

在本实施例中,可根据镭射灯的温度获取与温度对应的参考散斑图像,减少温度对最后输出的深度图的影响,使得到的深度信息更为精准。

在一个实施例中,提供一种数据处理方法,包括以下步骤:

步骤(1),当第一处理单元接收到第二处理单元发送的图像采集指令时,根据图像采集指令确定图像类型。

在一个实施例中,第二处理单元通过双向二线制同步串行i2c总线分别与泛光灯和镭射灯连接;在步骤(1)之前,还包括:当检测到摄像头模组启动时,第二处理单元通过i2c总线分别对泛光灯和镭射灯进行配置。

在一个实施例中,第二处理单元通过同一个i2c总线分别与泛光灯和镭射灯连接。

在一个实施例中,第二处理单元通过一个i2c总线与泛光灯连接,并通过另一个i2c总线与镭射灯连接。

步骤(2),若图像类型为第一类型,则开启摄像头模组中的泛光灯,并通过第一脉冲宽度调制pwm模块向第一控制器发送脉冲,点亮泛光灯,再通过摄像头模组中的激光摄像头采集与第一类型对应的目标图像。

步骤(3),若图像类型为第二类型,则开启摄像头模组中的镭射灯,并通过第二pwm模块向第二控制器发送脉冲,点亮镭射灯,再通过摄像头模组中的激光摄像头采集与第二类型对应的目标图像。

在一个实施例中,第一pwm模块向第一控制器发送脉冲的时刻与第二pwm模块向第二控制器发送脉冲的时刻不同,向第一控制器发送脉冲的时刻与向第二控制器发送脉冲的时刻之间的时间间隔小于时间阈值。

步骤(4),通过第一处理单元对目标图像进行处理,并将处理后的目标图像发送给第二处理单元。

在一个实施例中,目标图像包括散斑图像;步骤(4),包括:获取存储的参考散斑图像,参考散斑图像带有参考深度信息;将参考散斑图像与散斑图像进行匹配,得到匹配结果;根据参考深度信息和匹配结果生成深度视差图,并将深度视差图发送给第二处理单元,通过第二处理单元对深度视差图进行处理得到深度图。

在一个实施例中,在步骤获取存储的参考散斑图像之前,还包括:每隔采集时间段采集镭射灯的温度,并通过第二处理单元获取与温度对应的参考散斑图像;当本次获取的参考散斑图像与第一处理单元中存储的参考散斑图像不一致时,通过第二处理单元将所述本次获取的参考散斑图像写入第一处理单元。

在本实施例中,当第一处理单元接收到第二处理单元发送的图像采集指令时,根据图像采集指令确定图像类型,若图像类型为第一类型,通过第一pwm模块点亮泛光灯并通过激光摄像头采集与第一类型对应的目标图像,若图像类型为第二类型,则通过第二pwm模块向第二控制器点亮镭射灯并通过激光摄像头采集与第二类型对应的目标图像,通过两个pwm模块分别控制泛光灯和镭射灯,无需进行实时切换,可以降低数据处理复杂度,并减轻第一处理单元的处理压力。

应该理解的是,虽然上述各个流程示意图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各个流程示意图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,提供一种电子设备,包括摄像头模组、第一处理单元和第二处理单元,第一处理单元分别与第二处理单元和摄像头模组相连。摄像头模组包括激光摄像头、泛光灯和镭射灯,泛光灯与第一控制器连接,镭射灯与第二控制器连接。第一处理单元包括第一pwm模块和第二pwm模块,第一处理单元通过第一pwm模块与第一控制器连接,第一处理单元通过第二pwm模块与第二控制器连接。

第一处理单元,用于当接收到第二处理单元发送的图像采集指令时,根据图像采集指令确定图像类型,若图像类型为第一类型,则开启摄像头模组中的泛光灯,并通过第一脉冲宽度调制pwm模块向第一控制器发送脉冲,点亮泛光灯,再通过摄像头模组中的激光摄像头采集与第一类型对应的目标图像;若图像类型为第二类型,则开启摄像头模组中的镭射灯,并通过第二pwm模块向第二控制器发送脉冲,点亮镭射灯,再通过摄像头模组中的激光摄像头采集与第二类型对应的目标图像;对目标图像进行处理,并将处理后的目标图像发送给第二处理单元。

在本实施例中,当第一处理单元接收到第二处理单元发送的图像采集指令时,根据图像采集指令确定图像类型,若图像类型为第一类型,通过第一pwm模块点亮泛光灯并通过激光摄像头采集与第一类型对应的目标图像,若图像类型为第二类型,则通过第二pwm模块向第二控制器点亮镭射灯并通过激光摄像头采集与第二类型对应的目标图像,通过两个pwm模块分别控制泛光灯和镭射灯,无需进行实时切换,可以降低数据处理复杂度,并减轻第一处理单元的处理压力。

在一个实施例中,第二处理单元通过双向二线制同步串行i2c总线分别与泛光灯和镭射灯连接。

第二处理单元,还用于当检测到摄像头模组启动时,通过i2c总线分别对泛光灯和镭射灯进行配置。

在一个实施例中,第二处理单元通过同一个i2c总线分别与泛光灯和镭射灯连接。

在一个实施例中,第二处理单元通过一个i2c总线与泛光灯连接,并通过另一个i2c总线与所述镭射灯连接。

在本实施例中,第二处理单元可在摄像头模组启动时,通过i2c总线对泛光灯和镭射灯进行配置,可以更加精准地控制图像采集,并提高了数据处理效率。

在一个实施例中,第一pwm模块向第一控制器发送脉冲的时刻与第二pwm模块向第二控制器发送脉冲的时刻不同,向第一控制器发送脉冲的时刻与向第二控制器发送脉冲的时刻之间的时间间隔小于时间阈值。

在本实施例中,第一处理单元可通过激光摄像头在不同时刻分别采集红外图像及散斑图像,且可保证采集的红外图像与散斑图像的图像内容较为一致,提高后续人脸检测的准确性。

在一个实施例中,第一处理单元,还用于获取存储的参考散斑图像,将参考散斑图像与所述散斑图像进行匹配,得到匹配结果,根据参考深度信息和匹配结果生成深度视差图,并将深度视差图发送给第二处理单元,参考散斑图像带有参考深度信息。

第二处理单元,还用于对深度视差图进行处理得到深度图。

在本实施例中,通过第一处理单元可精准得到采集的图像的深度信息,数据处理效率高,且提高了图像处理的精准性。

在一个实施例中,第二处理单元,还用于每隔采集时间段采集镭射灯的温度,并通过第二处理单元获取与温度对应的参考散斑图像,当本次获取的参考散斑图像与第一处理单元中存储的参考散斑图像不一致时,通过第二处理单元将本次获取的参考散斑图像写入第一处理单元。

在本实施例中,可根据镭射灯的温度获取与温度对应的参考散斑图像,减少温度对最后输出的深度图的影响,使得到的深度信息更为精准。

如图8所示,在一个实施例中,提供一种数据处理装置800,包括类型确定模块810、第一脉冲发送模块820、第二脉冲发送模块830及处理模块840。

类型确定模块810,用于当第一处理单元接收到第二处理单元发送的图像采集指令时,根据图像采集指令确定图像类型。

第一脉冲发送模块820,用于若图像类型为第一类型,则开启摄像头模组中的泛光灯,并通过第一脉冲宽度调制pwm模块向第一控制器发送脉冲,点亮泛光灯,再通过摄像头模组中的激光摄像头采集与第一类型对应的目标图像。

第二脉冲发送模块830,用于若图像类型为第二类型,则开启摄像头模组中的镭射灯,并通过第二pwm模块向第二控制器发送脉冲,点亮镭射灯,再通过摄像头模组中的激光摄像头采集与第二类型对应的目标图像。

处理模块840,用于通过第一处理单元对目标图像进行处理,并将处理后的目标图像发送给第二处理单元。

在本实施例中,当第一处理单元接收到第二处理单元发送的图像采集指令时,根据图像采集指令确定图像类型,若图像类型为第一类型,通过第一pwm模块点亮泛光灯并通过激光摄像头采集与第一类型对应的目标图像,若图像类型为第二类型,则通过第二pwm模块向第二控制器点亮镭射灯并通过激光摄像头采集与第二类型对应的目标图像,通过两个pwm模块分别控制泛光灯和镭射灯,无需进行实时切换,可以降低数据处理复杂度,并减轻第一处理单元的处理压力。

在一个实施例中,第二处理单元通过双向二线制同步串行i2c总线分别与泛光灯和镭射灯连接。

上述数据处理装置800,除了包括类型确定模块810、第一脉冲发送模块820、第二脉冲发送模块830及处理模块840,还包括配置模块。

配置模块,用于当检测到摄像头模组启动时,通过i2c总线分别对泛光灯和镭射灯进行配置。

在一个实施例中,第二处理单元通过同一个i2c总线分别与泛光灯和镭射灯连接。

在一个实施例中,第二处理单元通过一个i2c总线与泛光灯连接,并通过另一个i2c总线与镭射灯连接。

在本实施例中,第二处理单元可在摄像头模组启动时,通过i2c总线对泛光灯和镭射灯进行配置,可以更加精准地控制图像采集,并提高了数据处理效率。

在一个实施例中,第一pwm模块向第一控制器发送脉冲的时刻与第二pwm模块向第二控制器发送脉冲的时刻不同,向第一控制器发送脉冲的时刻与向第二控制器发送脉冲的时刻之间的时间间隔小于时间阈值。

在本实施例中,第一处理单元可通过激光摄像头在不同时刻分别采集红外图像及散斑图像,且可保证采集的红外图像与散斑图像的图像内容较为一致,提高后续人脸检测的准确性。

在一个实施例中,处理模块840,包括图像获取单元、匹配单元及生成单元。

图像获取单元,用于获取存储的参考散斑图像,参考散斑图像带有参考深度信息。

匹配单元,用于将参考散斑图像与散斑图像进行匹配,得到匹配结果。

生成单元,用于根据参考深度信息和匹配结果生成深度视差图,并将深度视差图发送给第二处理单元,通过第二处理单元对深度视差图进行处理得到深度图。

在本实施例中,通过第一处理单元可精准得到采集的图像的深度信息,数据处理效率高,且提高了图像处理的精准性。

在一个实施例中,上述数据处理装置800,除了包括类型确定模块810、第一脉冲发送模块820、第二脉冲发送模块830、处理模块840及配置模块,还包括温度采集模块及写入模块。

温度采集模块,用于每隔采集时间段采集镭射灯的温度,并通过第二处理单元获取与温度对应的参考散斑图像。

写入模块,用于当本次获取的参考散斑图像与第一处理单元中存储的参考散斑图像不一致时,通过第二处理单元将本次获取的参考散斑图像写入第一处理单元。

在本实施例中,可根据镭射灯的温度获取与温度对应的参考散斑图像,减少温度对最后输出的深度图的影响,使得到的深度信息更为精准。

在一个实施例中,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的数据处理方法。

在一个实施例中,提供一种包含计算机程序的计算机程序产品,当其在计算机设备上运行时,使得计算机设备执行时实现上述的数据处理方法。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等。

如此处所使用的对存储器、存储、数据库或其它介质的任何引用可包括非易失性和/或易失性存储器。合适的非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram),它用作外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1