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

文档序号:15981710发布日期:2018-11-17 00:24阅读:184来源:国知局

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

背景技术

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



技术实现要素:

本申请实施例提供一种数据处理方法、装置、电子设备及计算机可读存储介质,可以降低控制电路的复杂度,并减少成本。

一种数据处理方法,应用于电子设备,所述电子设备包括摄像头模组、第一处理单元和第二处理单元,所述第一处理单元分别与所述第二处理单元和摄像头模组相连;所述摄像头模组包括激光摄像头、泛光灯和镭射灯,所述激光摄像头、泛光灯、镭射灯和第一处理单元与同一双向二线制同步串行i2c总线连接;

所述方法,包括:

当第一处理单元接收到第二处理单元发送的图像采集指令时,通过所述i2c总线控制开启所述泛光灯和镭射灯中的至少一个;

所述第一处理单元通过所述i2c总线控制所述激光摄像头采集目标图像;

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

一种数据处理装置,适用于电子设备,所述电子设备包括摄像头模组、第一处理单元和第二处理单元,所述第一处理单元分别与所述第二处理单元和摄像头模组相连;所述摄像头模组包括激光摄像头、泛光灯和镭射灯,所述激光摄像头、泛光灯、镭射灯和第一处理单元与同一两线式串行i2c总线连接;

所述装置,包括:

第一控制模块,用于当第一处理单元接收到第二处理单元发送的图像采集指令时,通过所述i2c总线控制开启所述泛光灯和镭射灯中的至少一个;

第二控制模块,用于通过所述i2c总线控制所述激光摄像头采集目标图像;

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

一种电子设备,包括摄像头模组、第一处理单元和第二处理单元,所述第一处理单元分别与所述第二处理单元和摄像头模组相连;所述摄像头模组包括激光摄像头、泛光灯和镭射灯,所述激光摄像头、泛光灯、镭射灯和第一处理单元与同一两线式串行i2c总线连接;

所述第一处理单元,用于当接收到第二处理单元发送的图像采集指令时,通过所述i2c总线控制开启所述泛光灯和镭射灯中的至少一个,通过所述i2c总线控制所述激光摄像头采集目标图像,对所述目标图像进行处理,并将处理后的目标图像发送给所述第二处理单元。

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

上述数据处理方法、装置、电子设备及计算机可读存储介质,激光摄像头、泛光灯、镭射灯和第一处理单元与同一i2c总线连接,第一处理单元通过该i2c总线控制开启泛光灯和镭射灯中的至少一个,并通过该i2c控制激光摄像头采集目标图像,通过同一个i2c总线控制泛光灯、镭射灯和激光摄像头,对i2c总线进行复用,可以降低控制电路的复杂度,并减少成本。

附图说明

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

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

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

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

图5为一个实施例中通过i2c总线控制开启泛光灯和镭射灯中的至少一个的流程示意图;

图6为一个实施例中对散斑图像进行处理得到深度图像的流程示意图;

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

图8为一个实施例中第二处理单元向第一处理单元发送图像采集指令的流程示意图;

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

具体实施方式

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

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

图1为一个实施例中数据处理方法的应用场景图。如图4所示,电子设备包括激光摄像头102、镭射灯104、泛光灯106、第一处理单元110、第二处理单元120和控制器130。第一处理单元110可为mcu(microcontrollerunit,微控制单元)模块等,第二处理单元120可为cpu(centralprocessingunit,中央处理器)模块等。第一处理单元110可与激光摄像头102、镭射灯104、泛光灯106和第二处理单元120连接。控制器130可分别与镭射灯104及泛光灯106连接,控制器130可对镭射灯104和泛光灯106进行控制。激光摄像头102、控制器130和第一处理单元110与同一两线式串行i2c总线连接。

当第一处理单元110接收到第二处理单元120发送的图像采集指令时,可通过i2c总线控制开启泛光灯106和镭射灯104中的至少一个。第一处理单元110可向连接在该i2c总线的控制器130发送控制指令,控制器130接收到控制指令后,可根据控制指令控制开启泛光灯106和镭射灯104中的至少一个,第一处理单元110可通过pwm(pulsewidthmodulation,脉冲宽度调制)对泛光灯106和镭射灯104进行点亮。第一处理单元110可通过该i2c(inter-integratedcircuit,双向二线制同步串行)总线控制激光摄像头102采集目标图像。第一处理单元110对采集的目标图像进行处理,可将处理后的目标图像发送给第二处理单元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发射的带有图案的点光源被反射后图案发生形变的图像。激光摄像头212、泛光灯214、镭射灯218和第一处理单元230可与同一个i2c总线连接。

第二处理单元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。第一处理单元230可通过连接的i2c总线控制泛光灯214或镭射灯218,上述pwm模块232可向摄像头模组发射脉冲,点亮开启的泛光灯214或镭射灯218。第一处理单元230可通过i2c控制激光摄像头212采集红外图像或散斑图像。上述spi/i2c接口234用于接收第二处理单元220发送的图像采集指令。上述深度引擎238可对散斑图像进行处理得到深度视差图。

当第二处理单元220接收到应用程序的数据获取请求时,例如,当应用程序需要进行人脸解锁、人脸支付时,可通过运行在tee环境下的cpu内核向第一处理单元230发送图像采集指令。当第一处理单元230接收到图像采集指令后,可通过i2c总线控制开启控制摄像头模组210中的泛光灯214,再通过pwm模块232发射脉冲波点亮泛光灯214,并通过i2c总线控制激光摄像头212采集红外图像,可通过i2c总线控制开启摄像头模组210中的镭射灯218,并通过i2c总线控制激光摄像头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,当第一处理单元接收到第二处理单元发送的图像采集指令时,通过i2c总线控制开启泛光灯和镭射灯中的至少一个。

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

第一处理单元和摄像头模组中的激光摄像头、泛光灯、镭射灯可与同一个i2c总线连接。i2c总线可通过一根数据线和一根时钟线实现连接于i2c总线上的各个器件之间的数据传输。第一处理单元接收第二处理单元发送的图像采集指令后,可通过i2c总线向同时连接在该i2c总线上的泛光灯和/或镭射灯发送控制指令,控制泛光灯和镭射灯中的至少一个开启。

在一个实施例中,第一处理单元接收图像采集指令后,可根据图像采集指令判断当前需要控制的是泛光灯还是镭射灯。若需要控制开启泛光灯,则第一处理单元可通过i2c总线对连接在该i2c总线上的泛光灯进行寻址,然后向泛光灯发送控制指令,控制开启泛光灯。若需要控制开启镭射灯,则第一处理单元可通过i2c总线对连接在该i2c总线上的镭射灯进行寻址,然后向镭射灯发送控制指令,控制开启泛光灯。

步骤420,第一处理单元通过i2c总线控制激光摄像头采集目标图像。

第一处理单元通过i2c总线控制开启泛光灯和镭射灯中的至少一个后,可通过该i2c总线控制激光摄像头采集目标图像,目标图像可包括红外图像、散斑图像等。第一处理单元可通过i2c总线控制开启摄像头模组中的泛光灯,并通过该i2c总线控制激光摄像头采集红外图像,其中,泛光灯可为一种向四面八方均匀照射的点光源,泛光灯发射的光线可为红外光,激光摄像头可采集人脸得到红外图像。第一处理单元可通过i2c总线控制开启摄像头模组中的镭射灯,并通过该i2c总线控制激光摄像头采集散斑图像等。激光器发出的激光可由透镜和doe(diffractiveopticalelements,光学衍射元件)进行衍射产生带散斑颗粒的图案,通过带散斑颗粒的图案投射到目标物体,受目标物体各点与电子设备的距离不同产生散斑图案的偏移,激光摄像头对目标物体进行采集得到散斑图像。

在一个实施例中,第一处理单元通过i2c总线对连接在该i2c总线上的泛光灯或镭射灯进行寻址,并向泛光灯或镭射灯发送控制指令,控制开启泛光灯或镭射灯之后,可通过i2c总线对连接在该i2c总线上的激光摄像头进行寻址,并向该激光摄像头发送控制指令,控制激光摄像头采集红外图像或散斑图像。

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

激光摄像头可将采集的目标图像发送给第一处理单元,第一处理单元可对目标图像进行处理。第一处理单元可设置成不同的模式,不同模式可采集不同的目标图像,并对目标图像进行不同的处理等。当第一处理单元为红外模式时,第一处理单元可通过i2c总线控制开启泛光灯,并通过i2c总线控制激光摄像头采集红外图像,可对红外图像进行处理得到红外视差图。当第一处理单元为散斑图模式时,第一处理单元可通过i2c总线控制开启镭射灯,并通过i2c总线控制激光摄像头采集散斑图像,可对散斑图像进行处理得到散斑视差图。当第一处理单元为深度图模式时,第一处理单元可对散斑图像进行处理得到深度视差图。

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

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

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

在本实施例中,激光摄像头、泛光灯、镭射灯和第一处理单元与同一i2c总线连接,第一处理单元通过该i2c总线控制开启泛光灯和镭射灯中的至少一个,并通过该i2c控制激光摄像头采集目标图像,通过同一个i2c总线控制泛光灯、镭射灯和激光摄像头,对i2c总线进行复用,可以降低控制电路的复杂度,并减少成本。

如图5所示,在一个实施例中,步骤通过i2c总线控制开启泛光灯和镭射灯中的至少一个,包括以下步骤:

步骤502,根据图像采集指令确定采集的图像类型。

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

步骤504,若图像类型为红外图像,则第一处理单元通过i2c总线向控制器发送第一控制指令,第一控制指令用于指示控制器开启泛光灯。

电子设备中可设置有控制器,泛光灯和镭射灯可共用同一个控制器,该控制器可分别与泛光灯和镭射灯连接,控制器用于对泛光灯和镭射灯进行控制,可包括控制开启泛光灯或镭射灯,控制泛光灯和镭射灯之间的切换,控制泛光灯和镭射灯的发射功率等。控制器可与激光摄像头、第一处理单元连接同一个i2c总线。

若图像类型为红外图像,第一处理单元可通过连接的i2c向控制器发送第一控制指令,控制器可根据第一控制指令切换至泛光灯,并开启泛光灯。第一处理单元可通过pwm模块向控制器发射脉冲,点亮泛光灯。可选地,第一处理单元可通过i2c对控制器进行寻址,并向控制器发送第一控制指令。

步骤506,若图像类型为散斑图像或深度图像,则第一处理单元通过i2c总线向控制器发送第二控制指令,第二控制指令用于指示控制器开启镭射灯。

若图像类型为散斑图像或深度图像,第一处理单元可通过连接的i2c向控制器发送第二控制指令,控制器可根据第二控制指令切换至镭射灯,并开启镭射灯。第一处理单元可通过pwm模块向控制器发射脉冲,点亮镭射灯。

可选地,图像类型可包括多种,可能同时包括红外图像和散斑图像,或是包括红外图像和深度图像,或是包括红外图像、散斑图像和深度图像等。第一处理单元需要分别控制开启泛光灯采集红外图像、控制开启镭射灯采集散斑图像。第一处理单元可先采集红外图像,也可先采集散斑图像,并不限定先后采集顺序。当图像类型包括红外图像和散斑图像,或包括红外图像和深度图像时,第一处理单元可先通过i2c总线向控制器发送第一控制指令,开启泛光灯,并通过i2c总线控制激光摄像头采集红外图像,然后通过i2c总线向控制器发送第二控制指令,开启镭射灯,并通过i2c总线控制激光摄像头采集散斑图像。

在一个实施例中,当图像类型包括红外图像和散斑图像,或包括红外图像和深度图像时,第一处理单元也可先通过i2c总线向控制器发送第二控制指令,开启镭射灯,并通过i2c总线控制激光摄像头采集散斑图像,然后通过i2c总线向控制器发送第一控制指令,开启泛光灯,并通过i2c总线控制激光摄像头采集红外图像。对同一个i2c总线进行分时复用,可以降低控制电路的复杂度,并减少成本。

在本实施例中,可通过一个控制器实现泛光灯和镭射灯的切换和控制,可以进一步降低控制电路的复杂度,并减少成本。

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

步骤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,当本次获取的参考散斑图像与第一处理单元中存储的参考散斑图像不一致时,通过第二处理单元将本次获取的参考散斑图像写入第一处理单元。

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

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

如图8所示,在一个实施例中,上述数据处理方法,还包括以下步骤:

步骤802,通过第二处理单元中运行在第一运行模式的内核向第一处理单元发送图像采集指令,第一运行模式为可信运行环境。

电子设备中第二处理单元可包括两种运行模式,其中,第一运行模式可以为tee,tee为可信运行环境,安全级别高;第二运行模式可以为ree,ree为自然运行环境,ree的安全级较低。当第二处理单元接收到应用程序发送的数据获取请求后,可通过第一运行模式向第一处理单元发送图像采集指令。当第二处理单元为单核的cpu时,可直接将上述单核由第二运行模式切换到第一运行模式;当第二处理单元为多核时,可将一个内核由第二运行模式切换到第一运行模式,其他内核仍运行在第二运行模式中,并通过运行在第一运行模式下的内核向第一处理单元发送图像采集指令。

步骤804,第一处理单元将处理后的目标图像发送给第二处理单元中运行在第一运行模式的内核。

第一处理单元对采集的第一图像进行处理后,可将处理后的第一图像发送给该运行在第一运行模式下的内核,可保证第一处理单元一直在可信运行环境下运行,提高安全性。第二处理单元可在该运行在第一运行模式下的内核中,根据处理后的第一图像得到目标图像,并根据应用程序的需求对目标图像进行处理。比如,第二处理单元可在运行在第一运行模式下的内核中对目标图像进行人脸检测。

在一个实施例中,由于运行在第一运行模式的内核是唯一的,第二处理单元在tee环境下对目标图像进行人脸检测,可采集串行的方式逐一对目标图像进行人脸识别、人脸匹配和活体检测等。第二处理单元可先对目标图像进行人脸识别,当识别到人脸时,再将目标图像中包含的人脸与预先存储的人脸进行匹配,判断是否为同一人脸。若为同一人脸再根据目标图像对人脸进行活体检测,防止采集的人脸是二维的平面人脸等。当没有识别到人脸时,可不进行人脸匹配和活体检测,可减轻第二处理单元的处理压力。

在本实施例中,通过第二处理单元安全性高的内核向第一处理单元发送图像采集指令,可保证第一处理单元处于安全性高的环境中,提高数据的安全。

在一个实施例中,提供一种数据处理方法,应用于电子设备,该电子设备包括摄像头模组、第一处理单元和第二处理单元,第一处理单元分别与第二处理单元和摄像头模组相连;摄像头模组包括激光摄像头、泛光灯和镭射灯述激光摄像头、泛光灯、镭射灯和第一处理单元与同一双向二线制同步串行i2c总线连接。

上述数据处理方法,包括以下步骤:

步骤(1),当第一处理单元接收到第二处理单元发送的图像采集指令时,通过i2c总线控制开启泛光灯和镭射灯中的至少一个。

在一个实施例中,电子设备还包括控制器,控制器用于控制泛光灯和镭射灯,控制器与i2c总线连接。步骤(1),包括:根据图像采集指令确定采集的图像类型;若图像类型为红外图像,则第一处理单元通过i2c总线向控制器发送第一控制指令,第一控制指令用于指示控制器开启泛光灯;若图像类型为散斑图像或深度图像,则第一处理单元通过i2c总线向控制器发送第二控制指令,第二控制指令用于指示控制器开启镭射灯。

在一个实施例中,在步骤根据图像采集指令确定采集的图像类型之后,还包括:当图像类型包括红外图像和散斑图像,或包括红外图像和深度图像时,第一处理单元通过i2c总线向控制器发送第一控制指令,开启泛光灯,并通过i2c总线控制激光摄像头采集红外图像,然后通过i2c总线向控制器发送第二控制指令,开启镭射灯,并通过i2c总线控制激光摄像头采集散斑图像。

在一个实施例中,在步骤根据图像采集指令确定采集的图像类型之后,还包括:当图像类型包括红外图像和散斑图像,或包括红外图像和深度图像时,第一处理单元通过i2c总线向控制器发送第二控制指令,开启镭射灯,并通过i2c总线控制激光摄像头采集散斑图像,然后通过i2c总线向控制器发送第一控制指令,开启泛光灯,并通过i2c总线控制激光摄像头采集红外图像。

步骤(2),第一处理单元通过i2c总线控制激光摄像头采集目标图像。

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

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

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

在一个实施例中,在步骤(1)之前,还包括:通过第二处理单元中运行在第一运行模式的内核向第一处理单元发送图像采集指令,第一运行模式为可信运行环境;步骤(3),包括:第一处理单元将处理后的目标图像发送给第二处理单元中运行在第一运行模式的内核。

在本实施例中,激光摄像头、泛光灯、镭射灯和第一处理单元与同一i2c总线连接,第一处理单元通过该i2c总线控制开启泛光灯和镭射灯中的至少一个,并通过该i2c控制激光摄像头采集目标图像,通过同一个i2c总线控制泛光灯、镭射灯和激光摄像头,对i2c总线进行复用,可以降低控制电路的复杂度,并减少成本。

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

在一个实施例中,提供一种电子设备。该电子设备包括摄像头模组、第一处理单元和第二处理单元,第一处理单元可分别与第二处理单元和摄像头模组相连。摄像头模组可包括激光摄像头、泛光灯和镭射灯等,激光摄像头、泛光灯、镭射灯和第一处理单元与同一两线式串行i2c总线连接。

第一处理单元,用于当接收到第二处理单元发送的图像采集指令时,通过i2c总线控制开启泛光灯和镭射灯中的至少一个,通过i2c总线控制激光摄像头采集目标图像,对目标图像进行处理,并将处理后的目标图像发送给第二处理单元。

在本实施例中,激光摄像头、泛光灯、镭射灯和第一处理单元与同一i2c总线连接,第一处理单元通过该i2c总线控制开启泛光灯和镭射灯中的至少一个,并通过该i2c控制激光摄像头采集目标图像,通过同一个i2c总线控制泛光灯、镭射灯和激光摄像头,对i2c总线进行复用,可以降低控制电路的复杂度,并减少成本。

在一个实施例中,电子设备还包括控制器,控制器可分别与泛光灯和镭射灯连接,控制器用于控制泛光灯和镭射灯,控制器与i2c总线连接。

第一处理单元,还用于根据图像采集指令确定采集的图像类型,若图像类型为红外图像,则通过i2c总线向控制器发送第一控制指令,第一控制指令用于指示控制器开启泛光灯,若图像类型为散斑图像或深度图像,则通过i2c总线向控制器发送第二控制指令,第二控制指令用于指示控制器开启镭射灯。

在一个实施例中,第一处理单元,还用于根据图像采集指令确定采集的图像类型,若图像类型为红外图像,则通过i2c总线向控制器发送第一控制指令,第一控制指令用于指示控制器开启泛光灯,若图像类型为散斑图像或深度图像,则通过i2c总线向控制器发送第二控制指令,第二控制指令用于指示控制器开启镭射灯。

在一个实施例中,第一处理单元,还用于当图像类型包括红外图像和散斑图像,或包括红外图像和深度图像时,通过i2c总线向控制器发送第二控制指令,开启镭射灯,并通过i2c总线控制激光摄像头采集散斑图像,然后通过i2c总线向控制器发送第一控制指令,开启泛光灯,并通过i2c总线控制激光摄像头采集红外图像。

在本实施例中,可通过一个控制器实现泛光灯和镭射灯的切换和控制,可以进一步降低控制电路的复杂度,并减少成本。

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

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

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

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

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

在一个实施例中,第二处理单元,还用于通过第二处理单元中运行在第一运行模式的内核向第一处理单元发送图像采集指令,第一运行模式为可信运行环境。

第一处理单元,还用于将处理后的目标图像发送给第二处理单元中运行在第一运行模式的内核。

在本实施例中,通过第二处理单元安全性高的内核向第一处理单元发送图像采集指令,可保证第一处理单元处于安全性高的环境中,提高数据的安全。

如图9所示,在一个实施例中,提供一种数据处理装置900,适用于电子设备,该电子设备包括摄像头模组、第一处理单元和第二处理单元,第一处理单元分别与第二处理单元和摄像头模组相连。摄像头模组包括激光摄像头、泛光灯和镭射灯,激光摄像头、泛光灯、镭射灯和第一处理单元与同一两线式串行i2c总线连接。该数据处理装置900,包括第一控制模块910、第二控制模块920及处理模块930。

第一控制模块910,用于当第一处理单元接收到第二处理单元发送的图像采集指令时,通过i2c总线控制开启泛光灯和镭射灯中的至少一个。

第二控制模块920,用于通过i2c总线控制激光摄像头采集目标图像。

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

在本实施例中,激光摄像头、泛光灯、镭射灯和第一处理单元与同一i2c总线连接,第一处理单元通过该i2c总线控制开启泛光灯和镭射灯中的至少一个,并通过该i2c控制激光摄像头采集目标图像,通过同一个i2c总线控制泛光灯、镭射灯和激光摄像头,对i2c总线进行复用,可以降低控制电路的复杂度,并减少成本。

在一个实施例中,电子设备还包括控制器,控制器用于控制泛光灯和镭射灯,控制器与i2c总线连接。第一控制模块910,包括类型确定单元及指令发送单元。

类型确定单元,用于根据图像采集指令确定采集的图像类型。

指令发送单元,用于若图像类型为红外图像,则通过i2c总线向控制器发送第一控制指令,第一控制指令用于指示控制器开启泛光灯。

指令发送单元,还用于若图像类型为散斑图像或深度图像,则通过i2c总线向控制器发送第二控制指令,第二控制指令用于指示控制器开启镭射灯。

在一个实施例中,第一控制模块910,还用于当图像类型包括红外图像和散斑图像,或包括红外图像和深度图像时,通过i2c总线向控制器发送第一控制指令,开启泛光灯,并通过i2c总线控制激光摄像头采集红外图像,然后通过i2c总线向控制器发送第二控制指令,开启镭射灯,并通过i2c总线控制激光摄像头采集散斑图像。

在一个实施例中,第一控制模块910,还用于当图像类型包括红外图像和散斑图像,或包括红外图像和深度图像时,通过i2c总线向控制器发送第二控制指令,开启镭射灯,并通过i2c总线控制激光摄像头采集散斑图像,然后通过i2c总线向控制器发送第一控制指令,开启泛光灯,并通过i2c总线控制激光摄像头采集红外图像。

在本实施例中,可通过一个控制器实现泛光灯和镭射灯的切换和控制,可以进一步降低控制电路的复杂度,并减少成本。

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

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

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

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

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

在一个实施例中,上述数据处理装置900,除了包括第一控制模块910、第二控制模块920及处理模块930,还包括温度采集模块及写入模块。

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

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

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

在一个实施例中,上述数据处理装置900,除了包括第一控制模块910、第二控制模块920、处理模块930、温度采集模块及写入模块,还包括

发送模块,用于通过第二处理单元中运行在第一运行模式的内核向第一处理单元发送图像采集指令,第一运行模式为可信运行环境。

处理模块930,还用于通过第一处理单元将处理后的目标图像发送给第二处理单元中运行在第一运行模式的内核。

在本实施例中,通过第二处理单元安全性高的内核向第一处理单元发送图像采集指令,可保证第一处理单元处于安全性高的环境中,提高数据的安全。

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

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

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