图像的选取方法、装置、存储介质及电子设备与流程

文档序号:15521727发布日期:2018-09-25 19:38阅读:134来源:国知局

本申请属于图像技术领域,尤其涉及一种图像的选取方法、装置、存储介质及电子设备。



背景技术:

拍照是终端的一项基本功能。随着摄像模组等硬件和图像处理算法的不断进步,终端的拍摄功能越来越强大。用户也越来越频繁地使用终端进行拍照,比如用户经常会使用终端拍摄人物照等等。相关技术中,终端可以采集多帧图像,再从这多帧图像中选取用于进行处理的图像。然而,当从多帧图像中选取用于进行处理的图像时,终端选取图像的灵活性较差。



技术实现要素:

本申请实施例提供一种图像的选取方法、装置、存储介质及电子设备,可以提高终端从多帧图像中选取用于进行处理的图像时的灵活性。

本申请实施例提供一种图像的选取方法,包括:

获取多帧包含人脸的待处理图像;

对所述待处理图像中每一用户的人脸图像进行表情识别,得到每一用户的表情识别结果;

根据所述每一用户的表情识别结果,从所述待处理图像中选取基础图像。

本申请实施例提供一种图像的选取装置,包括:

获取模块,用于获取多帧包含人脸的待处理图像;

识别模块,用于对所述待处理图像中每一用户的人脸图像进行表情识别,得到每一用户的表情识别结果;

选取模块,用于根据所述每一用户的表情识别结果,从所述待处理图像中选取基础图像。

本申请实施例提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行本申请实施例提供的图像的选取方法中的步骤。

本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本申请实施例提供的图像的选取方法中的步骤。

本实施例中,当需要从多帧待处理图像中选取基础图像时,终端可以先对该待处理图像中的每一用户的人脸图像进行表情识别,然后再根据每一用户的表情识别结果,从该待处理图像中确定出基础图像。即,本实施例可以根据用户的表情从待处理图像中选取出基础图像。因此,本实施例可以提高终端从多帧图像中选取用于进行处理的图像时的灵活性。此外,本实施例还可以提高终端拍摄的照片的成像效果。

附图说明

下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其有益效果显而易见。

图1是本申请实施例提供的图像的选取方法的流程示意图。

图2是本申请实施例提供的图像的选取方法的另一流程示意图。

图3至图5是本申请实施例提供的图像的选取方法的场景示意图。

图6是本申请实施例提供的图像的选取装置的结构示意图。

图7是本申请实施例提供的图像的选取装置的另一结构示意图。

图8是本申请实施例提供的移动终端的结构示意图。

图9是本申请实施例提供的移动终端的另一结构示意图。

具体实施方式

请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。

可以理解的是,本申请实施例的执行主体可以是诸如智能手机或平板电脑等的终端设备。

请参阅图1,图1是本申请实施例提供的图像的选取方法的流程示意图,流程可以包括:

在步骤s101中,获取多帧包含人脸的待处理图像。

拍照是终端的一项基本功能。随着摄像模组等硬件和图像处理算法的不断进步,终端的拍摄功能越来越强大。用户也越来越频繁地使用终端进行拍照,比如用户经常会使用终端拍摄人物照等等。然而,相关技术中,终端采集到的图像的成像效果较差。

比如,终端可以先获取多帧包含人脸的待处理图像。例如,终端获取到a、b、c、d、e、f这六帧待处理图像。

在步骤s102中,对该待处理图像中每一用户的人脸图像进行表情识别,得到每一用户的表情识别结果。

比如,在获取a、b、c、d、e、f这六帧待处理图像后,终端可以对该六帧待处理图像中的每一用户的人脸图像进行表情识别,从而得到每一用户的表情识别结果。

例如,若上述a、b、c、d、e、f六帧图像为终端连续、快速采集到的关于同一用户甲的单人图像,那么终端可以对每一帧待处理图像中用户甲的人脸图像进行表情识别,从而得到用户甲的表情识别结果。

又如,若上述a、b、c、d、e、f六帧图像为终端连续、快速采集到的多人合影图像,例如上述六帧图像为甲、乙、丙、丁四人的合影图像,那么终端可以先对这六帧图像中用户甲的人脸图像进行表情识别,再依次对用户乙、用户丙、用户丁的人脸图像进行表情识别,从而分别得到这六帧图像中用户甲、乙、丙、丁四人的表情识别结果。

在一种实施方式中,终端可以通过如下方式来对识别待处理图像中的人脸图像的表情:先从人脸图像中的确定出表情关键点,该表情关键点可以是诸如眼睛、眉毛、嘴部、面颊等部位。然后,终端根据这些表情关键点,从人脸图像中提取局部图像。之后,终端可以将这些提取到的局部图像输入经过训练的表情识别算法模型中进行表情识别。

在步骤s103中,根据该每一用户的表情识别结果,从该待处理图像中选取基础图像。

比如,在得到待处理图像中每一用户的表情识别结果后,终端可以根据每一用户的表情识别结果,从待处理中选取其中一帧图像作为基础图像。

可以理解的是,本实施例中,当需要从多帧待处理图像中选取基础图像时,终端可以先对该待处理图像中的每一用户的人脸图像进行表情识别,然后再根据每一用户的表情识别结果,从该待处理图像中确定出基础图像。即,本实施例可以根据用户的表情从待处理图像中选取出基础图像。因此,本实施例可以提高终端从多帧图像中选取用于进行处理的图像时的灵活性。

请参阅图2,图2为本申请实施例提供的图像的选取方法的另一流程示意图,流程可以包括:

在步骤s201中,终端获取多帧包含人脸的待处理图像。

在一种实施方式中,终端相机采集到的图像可以被保存到一定长的缓存队列中,那么当需要获取图像时,终端就可以从该缓存队列中获取。

比如,本实施例中,用户使用终端相机拍摄人物图像,那么当终端最近采集到的图像都可以被保存到缓存队列中,当用户按下拍照按钮后,终端可以从该缓存队列中获取多帧包含人脸的图像,这些图像即是待处理图像。

例如,终端获取到h、i、j、k、l、m这六帧待处理图像。这六帧待处理图像都是关于甲、乙、丙、丁四人的合影图像。

在步骤s202中,终端对该待处理图像中每一用户的人脸图像进行表情识别,得到每一用户的表情识别结果。

比如,在获取到关于甲、乙、丙、丁四人的合影图像h、i、j、k、l、m后,终端可以对这6帧待处理图像中每一用户的人脸图像进行表情识别,从而得到每一用户的表情识别结果。

例如,终端可以先对这六帧图像中用户甲的人脸图像进行表情识别,再依次对用户乙、用户丙、用户丁的人脸图像进行表情识别,从而分别得到h、i、j、k、l、m这六帧图像中用户甲、乙、丙、丁四人的表情识别结果。

在获得待处理图像中每一用户的表情识别结果后,终端可以根据每一用户的表情识别结果,判断待处理图像中本用户的表情是否发生变化。

若根据每一用户的表情识别结果判断出所有用户在待处理图像中的表情均未发生变化,那么进入步骤s203中。

若根据每一用户的表情识别结果判断出待处理图像中某些用户的表情均发生变化,那么进入步骤s206中。

在步骤s203中,若根据每一用户的表情识别结果确定出所有用户在该待处理图像中的表情未发生变化,则终端获取每一该待处理图像中每一用户的眼部值,该眼部值为用于表示眼部大小的数值。

比如,终端根据用户甲的表情识别结果判断出用户甲的表情在这6帧待处理图像h、i、j、k、l、m中没有发生变化,即终端判断出用户甲在这6帧待处理图像中的表情一致,或者变化极其微小。同理,终端根据各个用户的表情识别结果判断出用户乙、丙、丁的表情在这6帧待处理图像中均没有发生变化。在这种情况下,终端可以获取每一待处理图像中每一用户的眼部值。其中,该眼部值可以是用于表示眼部大小的数值。例如,该眼部值可以是表示眼部的面积大小的数值,或者该眼部值可以是表示眼部竖直方向的高度的数值。

在步骤s204中,根据每一该待处理图像中每一用户的眼部值,终端确定出每一用户的目标人脸图像,该目标人脸图像为用户的眼部值中的最大值所对应的图像。

比如,用户甲在待处理图像h、i、j、k、l、m中的眼部值分别为70、72、75、80、78、79。乙在待处理图像h、i、j、k、l、m中的眼睛大小的数值分别为80、80、81、82、85、82。丙在待处理图像h、i、j、k、l、m中的眼睛大小的数值分别为80、82、82、50、30、0。丁在待处理图像h、i、j、k、l、m中的眼睛大小的数值分别为82、83、84、88、85、81。其中,由待处理图像中丙的眼睛大小的变化可知,丙的眼睛从图像j开始不断变小,这可以认为丙在眨眼。其中图像m中丙处于闭眼状态(眼睛大小为0)。

在得到每一用户在每一帧待处理图像中的眼部值之后,终端可以从待处理图像中确定出每一用户的目标人脸图像。其中,每一用户的目标人脸图像可以是该用户的眼部值中的最大值所对应的人脸图像。

例如,用户甲在待处理图像k中的眼部值80是所有待处理图像中甲的眼部值中的最大值,因此终端可以将待处理图像k中用户甲的人脸图像确定为用户甲的目标人脸图像。

同理,终端可以将待处理图像l中用户乙的人脸图像确定为用户乙的目标人脸图像,将待处理图像i或者j中用户丙的人脸图像确定为用户丙的目标人脸图像,将待处理图像k中用户丁的人脸图像确定为用户丁的目标人脸图像。

在步骤s205中,终端将包含目标人脸图像个数最多的待处理图像选取为基础图像。

比如,在确定出每一用户的目标人脸图像后,终端可以将包含目标人脸图像的个数最多的待处理图像选取为基础图像。

例如,由于待处理图像i和j中包含一个目标人脸图像(用户丙的目标人脸图像),待处理图像k中包含两个目标人脸图像(用户甲和丁的目标人脸图像),待处理图像l中包含一个目标人脸图像(用户乙的目标人脸图像),其他待处理图像中不包含目标人脸图像。因此,终端可以将待处理图像k选取为基础图像。

在步骤s206中,若根据每一用户的表情识别结果确定出该待处理图像中存在表情发生变化的用户的人脸图像,则终端将该表情发生变化的用户确定为目标用户。

在步骤s207中,对于每一该目标用户,终端将表情符合预设条件的人脸图像确定为该目标用户的目标人脸图像。

在步骤s208中,对于每一非目标用户,终端获取每一该待处理图像中每一非目标用户的眼部值,该眼部值为用于表示眼部大小的数值,将眼部值中的最大值所对应的图像确定为非目标用户的目标人脸图像。

在步骤s209中,终端将包含目标人脸图像个数最多的待处理图像选取为基础图像。

比如,步骤s206、s207、s208和s209可以包括:

终端根据各个用户的表情识别结果,确定出待处理图像中存在表情发生变化的用户的人脸图像,即终端判断出待处理图像中某些用户的表情发生变化。例如,待处理图像为o、p、q、r、s、t。根据表情识别结果,终端确定出在这六帧图像中用户丙的表情从不含微笑到包含微笑。用户丙在待处理图像o、p、q、r、s、t的眼部值分别为82、80、60、50、30、0。也就是说,从图像o至图像t,用户丙的眼睛逐渐变小,但是用户丙的表情从不含微笑到包含微笑。并且,用户丙是女生,在微笑时,她的眼睛也跟着笑起来,使得眼睛呈现弯起来的效果。正是由于用户丙在微笑时眼睛弯起来了,导致用户丙的眼睛逐渐变小。在这种情况下,终端可以将表情发生变化的用户丙确定为目标用户。

对于目标用户,终端可以将其表情符合预设条件的人脸图像确定为该目标用户的目标人脸图像。例如,预设条件可以为用户笑得最灿烂的表情。

例如,由于终端检测到用户丙的人脸图像中存在包含微笑表情的人脸图像,因此终端可以将包含微笑表情的人脸图像中用户丙笑得最灿烂的人脸图像,确定为用户丙的目标人脸图像。例如,终端检测到待处理图像t中用户丙的表情笑得最灿烂,那么终端可以将图像t中用户丙的人脸图像确定为用户丙的目标人脸图像。

而对于每一非目标用户(即表情没有发生变化的用户),终端可以获取每一待处理图像中每一非目标用户的眼部值。其中,该眼部值可以是用于表示眼部大小的数值。然后,终端可以将每一用户的眼部值中的最大值所对应的人脸图像确定为该非目标用户的目标人脸图像。

例如,用户甲、乙、丁在待处理图像中的表情没有发生变化或者变化极其微小,因此终端将用户甲、乙、丁确定为非目标用户。其中,用户甲在待处理图像o、p、q、r、s、t中的眼部值分别为70、71、72、72、72、73,用户乙在待处理图像o、p、q、r、s、t中的眼部值分别为80、81、81、83、82、82,用户丁在待处理图像o、p、q、r、s、t中的眼部值分别为82、83、83、84、85、84。

那么,终端可以将待处理图像t中用户甲的人脸图像确定为用户甲的目标人脸图像,将待处理图像r中用户乙的人脸图像确定为用户乙的目标人脸图像,将待处理图像s中用户丁的人脸图像确定为用户丁的目标人脸图像。

然后,终端可以将包含目标人脸图像个数最多的待处理图像选取为基础图像。例如,由于待处理图像t中包含两个目标人脸图像(用户甲和丙的目标人脸图像),而待处理图像r中包含一个目标人脸图像(用户乙的目标人脸图像),待处理图像s中包含一个目标人脸图像(用户丁的目标人脸图像)。因此,终端可以将待处理图像t确定为基础图像。

在步骤s210中,终端从基础图像中确定出待替换人脸图像,该待替换人脸图像为用户的非目标人脸图像。

在步骤s211中,从该待处理图像中,终端获取用于替换每一待替换人脸图像的目标人脸图像,每一待替换人脸图像及其对应的目标人脸图像为相同用户的人脸图像。

在步骤s212中,终端使用对应的目标人脸图像对每一待替换人脸图像进行图像替换处理,得到经过图像替换处理的基础图像。

比如,步骤s210、s211和s212可以包括:

在确定出基础图像后,终端可以从该基础图像中确定出待替换人脸图像。其中,终端可以将基础图像中的非目标人脸图像确定为待替换人脸图像。

例如,基础图像t中,用户乙和用户丁的人脸图像不是各自的目标人脸图像,因此终端可以将基础图像t中用户乙和用户丁的人脸图像确定为待替换人脸图像。

然后,终端可以从基础图像之外的其他待处理图像中,获取用于替换每一待替换人脸图像的目标人脸图像。可以理解的是,每一待替换人脸图像及其对应的目标人脸图像为相同用户的人脸图像。

例如,待处理图像r中用户乙的人脸图像为用户乙的目标人脸图像,待处理图像s中用户丁的人脸图像为用户丁的目标人脸图像,那么终端就可以获取待处理图像r中用户乙的人脸图像和待处理图像s中用户丁的人脸图像。

在得到每一待替换人脸图像的目标人脸图像后,终端可以使用对应的目标人脸图像对每一待替换人脸图像进行图像替换处理,从而得到经过图像替换处理的基础图像。

例如,在基础图像t中,终端可以将基础图像t中用户乙的待替换人脸图像替换为待处理图像r中用户乙的目标人脸图像,将基础图像t中用户丁的待替换人脸图像替换为待处理图像s中用户丁的目标人脸图像,从而得到经过图像替换处理的基础图像t。

可以理解的是,经过图像替换处理后的基础图像t中每一用户的人脸图像均为该用户的目标人脸图像了。例如,经过图像替换处理后,基础图像t中,用户甲、乙、丁的人脸图像是各自眼部值的最大值对应的人脸图像了,用户丙的人脸图像是用户丙笑得最灿烂的人脸图像了。

在一种实施方式中,终端也可以对每一用户的表情进行数值化表示。比如,对于积极的表情,终端可以赋予正数的数值,对于消极表情,终端可以赋予负数的数值。对于积极的表情,终端可以根据表情的表现程度,赋予不同的正数值。例如对于微笑的笑容幅度较小的表情,终端可以赋予一个数值较小的正数,而对于微笑的笑容幅度较大的表情,终端可以赋予一个数值较大的正数。这样的话,用户的表情就都用表情值进行表示了。

然后,终端可以根据表情值和眼部值,从待处理图像中综合确定出用户的目标人脸图像。比如,对于表情发生变化的用户的人脸图像,终端可以对表情值赋予一个较大的权重,而赋予眼部值一个较小的权重。例如,表情值的权重为85%,眼部值的权重为15%。

以用户丙的人脸图像为例,用户丙在待处理图像o、p、q、r、s、t中的眼部值分别为82、80、60、50、30、0。而用户丙在待处理图像o、p、q、r、s、t中的眼部值分别为10、20、30、40、50、60。那么,待处理图像o中用户丙的综合值为20.8(82*15%+10*85%)。同理,待处理图像p、q、r、s、t的综合值依次为29、34.5、41.5、47、51。那么,由于待处理图像t的综合值最大,因此终端可以将待处理图像t中用户丙的人脸图像确定为用户丙的目标人脸图像。然后,终端再将包含目标人脸图像的个数最多的待处理图像确定为基础图像。

在一种实施方式中,在获取多帧包含人脸的待处理图像的步骤之前,还可以包括如下步骤:

当采集包含人脸的图像时,终端根据采集到的至少两帧图像确定出目标帧数。

那么,终端获取多帧包含人脸的待处理图像的步骤,可以包括:从采集到的多帧图像中,终端获取数量为该目标帧数的待处理图像。

比如,在进入相机预览界面后,如果检测到终端在采集包含人脸的图像,那么终端可以根据采集到的至少两帧包含人脸的图像,确定出一个目标帧数。在一种实施方式中,该目标帧数可以大于或等于2。

例如,当终端采集到四帧包含人脸的图像时,终端可以检测这四帧图像中的人脸所在的位置是否发生位移。若未发生位移或者位移很小,则可以认为图像中的人脸图像比较稳定,即用户没有大范围的摇动或转动头部。若发生位移,则可以认为人脸图像不稳定,即用户摇动或转动了头部,并且幅度较大。

在一种实施方式中,可以通过如下方式来检测图像中的人脸是否发生位移:在获取到采集的四帧图像后,终端可以生成一个坐标系,然后终端可以用相同的方式将每一帧图像放入该坐标系中。之后,终端可以获取每一帧图像中的人脸图像特征点在该坐标系中的坐标。在得到每一帧图像中的人脸图像的特征点在该坐标系中的坐标后,终端就可以比较不同图像中的同一人脸图像特征点的坐标是否相同。若相同,则可以认为图像中的人脸图像未发生位移。若不同,则可以认为图像中的人脸图像发生位移。若检测到人脸图像发生位移,那么终端可以获取具体的位移数值。若该具体的位移数值处于预设数值范围内,则可以认为图像中的人脸图像位移较小。若该具体的位移数值处于预设数值范围外,那么可以认为图像中的人脸图像位移较大。

在一种实施方式中,例如,若人脸图像发生位移,则可以将目标帧数确定为4帧。若人脸图像未发生位移,则可以将目标帧数确定为6帧或8帧。

在用户按下拍照按钮后,终端可以从最近采集到的图像中,获取数量为目标帧数的待处理图像。

在一种实施方式中,在得到经过图像替换处理的基础图像的步骤之后,还可以包括如下步骤:

根据待处理图像,终端对该经过图像替换处理的基础图像进行图像降噪处理。

比如,在得到经过图像替换处理的基础图像后,终端可以根据待处理图像,对该经过图像替换处理的基础图像进行图像降噪处理。比如,终端可以获取一组包含基础图像在内的连续采集到的图像,并根据这组图像对该经过图像替换处理的基础图像进行多帧降噪处理。

例如,由于基础图像为图像t,因此终端可以获取待处理图像q、r、s,并根据图像q、r、s对经过图像替换处理的基础图像t进行多帧降噪处理。

在一种实施方式中,在进行多帧降噪时,终端可以先将图像q、r、s、t对齐,并获取图像中每一组对齐像素的像素值。若同一组对齐像素的像素值相差不多,那么终端可以计算这组对齐像素的像素值均值,再用该像素值均值替换掉图像t的对应像素的像素值。若同一组对齐像素的像素值相差较多,那么可以不对图像t中的像素值进行调整。

例如,图像q中的像素p1、图像r中的像素p2、图像s中的像素p3以及图像t中的像素p4是一组相互对齐的像素,其中p1的像素值为101,p2的像素值为102,p3的像素值为103,p4的像素值为104,那么这组相互对齐的像素的像素值均值为102.5,那么终端就可以将图像t中的p4像素的像素值由104调整为102.5,从而对图像t中的p4像素进行降噪处理。若p1的像素值为80,p2的像素值为83,p3的像素值为90,p4的像素值为103,那么由于它们的像素值相差较多,此时终端可以不调整p4的像素值,即p4的像素值保持104不变。

请参阅图3至图5,图3至图5为本申请实施例提供的图像的选取方法的场景示意图。

本实施例中,在进入相机的预览界面后,如果检测到终端在采集人脸图像,那么终端可以采集当前的环境参数,并根据采集到的至少两帧人脸图像,确定出一个目标帧数。该环境参数可以是环境光亮度。

若终端根据采集到在至少两帧人脸图像,确定出图像中的人脸未发生位移(或者位移很小),并且当前处于亮光环境,那么终端可以将目标帧数确定为8帧。若终端根据采集到在至少两帧人脸图像,确定出图像中的人脸未发生位移(或者位移很小),并且当前处于暗光环境,那么终端可以将目标帧数确定为6帧。若终端根据采集到在至少两帧人脸图像,确定出图像中的人脸发生位移,那么终端可以将目标帧数确定为4帧。

终端可以将采集到的图像保存到缓存队列。该缓存队列可以为定长队列,例如该缓存队列可以保存终端最新采集到的10帧图像。

比如,甲、乙、丙、丁、戊五人外出游玩,并准备在一处风景旁拍照。其中,甲使用终端先为乙拍照,如图3所示。比如,在进入相机的预览界面后,终端根据当前采集到的环境参数,每隔50毫秒采集一帧图像。在甲按下相机的拍照按钮前,终端可以先从缓存队列中获取采集到的4帧图像,可以理解的是,这4帧图像中均包含乙的人脸图像。然后,终端可以检测这4帧图像中乙的人脸图像在画面中的位置是否发生位移。若未发生位移或者位移很小,则可以认为乙的人脸图像比较稳定,即乙没有大范围的摇动或转动头部。若发生位移,则可以认为乙的人脸图像不稳定,即乙摇动或转动了头部,并且幅度较大。例如,本实施例中,终端检测到上述4帧图像中乙的人脸图像在画面中的位置未发生位移。

然后,终端可以获取当前的环境光亮度,并根据该环境光亮度,判断当前是否处于暗光环境。例如,终端判断出当前处于暗光环境。

之后,终端可以根据上述获取到的信息:乙的人脸图像在画面中的位置未发生位移,以及当前处于暗光环境,确定出一个目标帧数。例如,确定出来的目标帧数为6帧。

此后,当甲按下拍照按钮后,终端可以获取6帧采集到的关于乙的图像。例如,终端可以从缓存队列中获取最近采集到的6帧关于乙的图像,例如按照时间先后,这6帧图像分别为a、b、c、d、e、f。可以理解的是,这六帧图像a、b、c、d、e、f即是终端获取到的待处理图像。

在获取到6帧图像后,终端可以对该6帧图像进行人脸的表情识别,并检测图像中人脸图像的眼部值,该眼部值是用于表示眼部大小的数值。例如,a、b、c、d、e、f图像中乙的眼部值分别为80、82、83、84、85、84。例如,终端检测到用户乙在这6帧图像中的表情没有变化。

在确定出用户乙在待处理图像中的表情没有发生变化的情况下,由于这6帧图像为乙的单人图像,因此终端可以将这6帧图像中眼部值最大的那帧图像确定为基础图像,即图像e被确定为基础图像。

在将图像e确定为基础图像后,终端可以根据图像c、d、f,对图像e进行多帧降噪处理。在对图像e进行多帧降噪处理后,终端可以将经过降噪处理后的图像e存储到相册中成为一张照片。可以理解的是,图像e即是拍摄到的乙的大眼照片。

之后,戊为甲、乙、丙、丁四人拍摄合影。比如,在进入相机的预览界面后,终端检测到采集到的4帧图像中甲乙丙丁四人的人脸图像在画面中的位置未发生位移,并且当前处于暗光环境。基于此,终端确定出目标帧数为6帧。

此后,当戊按下拍照按钮后,终端可以获取6帧采集到的关于甲乙丙丁的图像,如图4所示。例如,终端可以从缓存队列中获取最近采集到的6帧关于甲乙丙丁的图像。例如,按照时间先后,这6帧图像分别为o、p、q、r、s、t。可以理解的是,这6帧图像即是待处理图像。

之后,终端可以对这6帧待处理图像中每一用户的人脸图像进行表情识别,从而得到每一用户的表情识别结果。在获得待处理图像中每一用户的表情识别结果后,终端可以根据每一用户的表情识别结果,判断待处理图像中本用户的表情是否发生变化。

例如,根据表情识别结果,终端确定出在这六帧图像中用户丙的表情从不含微笑到包含微笑。用户丙在待处理图像o、p、q、r、s、t的眼部值分别为82、80、60、50、30、0。也就是说,从图像o至图像t,用户丙的眼睛逐渐变小,但是用户丙的表情从不含微笑到包含微笑。在这种情况下,终端可以将表情发生变化的用户丙确定为目标用户。例如,用户丙在从图像o至图像t的人脸图像如图5所示。

由于终端检测到用户丙的人脸图像中存在包含微笑表情的人脸图像,因此终端可以将包含微笑表情的人脸图像中用户丙笑得最灿烂的人脸图像,确定为用户丙的目标人脸图像。例如,终端检测到待处理图像t中用户丙的表情笑得最灿烂,那么终端可以将图像t中用户丙的人脸图像确定为用户丙的目标人脸图像。

另外,用户甲、乙、丁在待处理图像中的表情没有发生变化或者变化极其微小,因此终端将用户甲、乙、丁确定为非目标用户。其中,终端获取到用户甲在待处理图像o、p、q、r、s、t中的眼部值分别为70、71、72、72、72、73,用户乙在待处理图像o、p、q、r、s、t中的眼部值分别为80、81、81、83、82、82,用户丁在待处理图像o、p、q、r、s、t中的眼部值分别为82、83、83、84、85、84。

那么,终端可以将待处理图像t中用户甲的人脸图像确定为用户甲的目标人脸图像,将待处理图像r中用户乙的人脸图像确定为用户乙的目标人脸图像,将待处理图像s中用户丁的人脸图像确定为用户丁的目标人脸图像。

然后,终端可以将包含目标人脸图像个数最多的待处理图像选取为基础图像。例如,由于待处理图像t中包含两个目标人脸图像(用户甲和丙的目标人脸图像),而待处理图像r中包含一个目标人脸图像(用户乙的目标人脸图像),待处理图像s中包含一个目标人脸图像(用户丁的目标人脸图像)。因此,终端可以将待处理图像t确定为基础图像。

在基础图像t中,由于用户乙和用户丁的人脸图像不是各自的目标人脸图像,因此终端可以将基础图像t中用户乙和用户丁的人脸图像确定为待替换人脸图像。

例如,待处理图像r中用户乙的人脸图像为用户乙的目标人脸图像,待处理图像s中用户丁的人脸图像为用户丁的目标人脸图像,那么终端就可以获取待处理图像r中用户乙的人脸图像和待处理图像s中用户丁的人脸图像。

然后,终端可以将基础图像t中用户乙的待替换人脸图像替换为待处理图像r中用户乙的目标人脸图像,将基础图像t中用户丁的待替换人脸图像替换为待处理图像s中用户丁的目标人脸图像,从而得到经过图像替换处理的基础图像t。

可以理解的是,经过图像替换处理后的基础图像t中每一用户的人脸图像均为该用户的目标人脸图像了。例如,经过图像替换处理后,基础图像t中,用户甲、乙、丁的人脸图像是各自眼部值的最大值对应的人脸图像了,用户丙的人脸图像是用户丙笑得最灿烂的人脸图像了。

之后,终端可以获取待处理图像q、r、s,并根据图像q、r、s对经过图像替换处理的基础图像t进行多帧降噪处理。然后,终端可以将经过降噪处理的图像t存储到相册中成为照片。

可以理解的是,存储到相册中的照片中甲乙丙丁四人或者处于大眼状态或者处于表情(笑容)最佳状态,因此本实施例可以提高终端拍摄的照片的成像效果,提高用户体验。

请参阅图6,图6为本申请实施例提供的图像的选取装置的结构示意图。图像的选取装置300可以包括:获取模块301,识别模块302,以及选取模块303。

获取模块301,用于获取多帧包含人脸的待处理图像。

识别模块302,用于对所述待处理图像中每一用户的人脸图像进行表情识别,得到每一用户的表情识别结果。

选取模块303,用于根据所述每一用户的表情识别结果,从所述待处理图像中选取基础图像。

在一种实施方式中,选取模块303可以用于:

若根据每一用户的表情识别结果确定出所有用户在所述待处理图像中的表情未发生变化,则获取每一所述待处理图像中每一用户的眼部值,所述眼部值为用于表示眼部大小的数值;

根据每一所述待处理图像中每一用户的眼部值,从所述待处理图像中选取基础图像。

在一种实施方式中,选取模块303可以用于:

根据每一所述待处理图像中每一用户的眼部值,确定出每一用户的目标人脸图像,所述目标人脸图像为用户的眼部值中的最大值所对应的图像;

将包含目标人脸图像个数最多的待处理图像选取为基础图像。

在一种实施方式中,选取模块303可以用于:

若根据每一用户的表情识别结果确定出所述待处理图像中存在表情发生变化的用户的人脸图像,则将所述表情发生变化的用户确定为目标用户;

对于每一所述目标用户,将表情符合预设条件的人脸图像确定为所述目标用户的目标人脸图像;

对于每一非目标用户,获取每一所述待处理图像中每一非目标用户的眼部值,所述眼部值为用于表示眼部大小的数值,将眼部值中的最大值所对应的图像确定为非目标用户的目标人脸图像;

将包含目标人脸图像个数最多的待处理图像选取为基础图像。

请一并参阅图7,图7为本申请实施例提供的图像的选取装置的另一结构示意图。在一实施例中,图像的选取装置300还可以包括:采集模块304和处理模块305。

采集模块304,用于当采集包含人脸的图像时,根据采集到的至少两帧图像确定出目标帧数。

那么,获取模块301可以用于:从采集到的多帧图像中,获取数量为所述目标帧数的待处理图像。

处理模块305用于在所述从所述待处理图像中选取基础图像的步骤之后:

从基础图像中确定出待替换人脸图像,所述待替换人脸图像为用户的非目标人脸图像;

从所述待处理图像中,获取用于替换每一待替换人脸图像的目标人脸图像,每一待替换人脸图像及其对应的目标人脸图像为相同用户的人脸图像;

使用对应的目标人脸图像对每一待替换人脸图像进行图像替换处理,得到经过图像替换处理的基础图像。

在一种实施方式中,处理模块305还可以用于:根据所述待处理图像,对所述经过图像替换处理的基础图像进行图像降噪处理。

本申请实施例提供一种计算机可读的存储介质,其上存储有计算机程序,当所述计算机程序在计算机上执行时,使得所述计算机执行如本实施例提供的图像的选取方法中的步骤。

本申请实施例还提供一种电子设备,包括存储器,处理器,所述处理器通过调用所述存储器中存储的计算机程序,用于执行本实施例提供的图像的选取方法中的步骤。

例如,上述电子设备可以是诸如平板电脑或者智能手机等移动终端。请参阅图8,图8为本申请实施例提供的移动终端的结构示意图。

该移动终端400可以包括摄像模组401、存储器402、处理器403等部件。本领域技术人员可以理解,图8中示出的移动终端结构并不构成对移动终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

摄像模组401可以包括单摄像模组和双摄像模组。

存储器402可用于存储应用程序和数据。存储器402存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器403通过运行存储在存储器402的应用程序,从而执行各种功能应用以及数据处理。

处理器403是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器402内的应用程序,以及调用存储在存储器402内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。

在本实施例中,移动终端中的处理器403会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器402中,并由处理器403来运行存储在存储器402中的应用程序,从而实现步骤:

获取多帧包含人脸的待处理图像;对所述待处理图像中每一用户的人脸图像进行表情识别,得到每一用户的表情识别结果;根据所述每一用户的表情识别结果,从所述待处理图像中选取基础图像。

本发明实施例还提供一种电子设备。上述电子设备中包括图像处理电路,图像处理电路可以利用硬件和/或软件组件实现,可包括定义isp(imagesignalprocessing,图像信号处理)管线的各种处理单元。图9为一个实施例中图像处理电路的结构示意图。如图9所示,为便于说明,仅示出与本发明实施例相关的图像处理技术的各个方面。

如图9所示,图像处理电路包括图像信号处理器540和控制逻辑器550。成像设备510捕捉的图像数据首先由图像信号处理器540处理,图像信号处理器540对图像数据进行分析以捕捉可用于确定和/或成像设备510的一个或多个控制参数的图像统计信息。成像设备510可包括具有一个或多个透镜511和图像传感器512的照相机。图像传感器512可包括色彩滤镜阵列(如bayer滤镜),图像传感器512可获取用图像传感器512的每个成像像素捕捉的光强度和波长信息,并提供可由图像信号处理器540处理的一组原始图像数据。传感器520可基于传感器520接口类型把原始图像数据提供给图像信号处理器540。传感器520接口可以利用smia(standardmobileimagingarchitecture,标准移动成像架构)接口、其它串行或并行照相机接口或上述接口的组合。

图像信号处理器540按多种格式逐个像素地处理原始图像数据。例如,每个图像像素可具有8、10、12或14比特的位深度,图像信号处理器540可对原始图像数据进行一个或多个图像处理操作、收集关于图像数据的统计信息。其中,图像处理操作可按相同或不同的位深度精度进行。

图像信号处理器540还可从图像存储器530接收像素数据。例如,从传感器520接口将原始像素数据发送给图像存储器530,图像存储器530中的原始像素数据再提供给图像信号处理器540以供处理。图像存储器530可为存储器装置的一部分、存储设备、或电子设备内的独立的专用存储器,并可包括dma(directmemoryaccess,直接直接存储器存取)特征。

当接收到来自传感器520接口或来自图像存储器530的原始图像数据时,图像信号处理器540可进行一个或多个图像处理操作,如时域滤波。处理后的图像数据可发送给图像存储器530,以便在被显示之前进行另外的处理。图像信号处理器540从图像存储器530接收处理数据,并对所述处理数据进行原始域中以及rgb和ycbcr颜色空间中的图像数据处理。处理后的图像数据可输出给显示器570,以供用户观看和/或由图形引擎或gpu(graphicsprocessingunit,图形处理器)进一步处理。此外,图像信号处理器540的输出还可发送给图像存储器530,且显示器570可从图像存储器530读取图像数据。在一种实施方式中,图像存储器530可被配置为实现一个或多个帧缓冲器。此外,图像信号处理器540的输出可发送给编码器/解码器560,以便编码/解码图像数据。编码的图像数据可被保存,并在显示于显示器570设备上之前解压缩。编码器/解码器560可由cpu或gpu或协处理器实现。

图像信号处理器540确定的统计数据可发送给控制逻辑器550。例如,统计数据可包括自动曝光、自动白平衡、自动聚焦、闪烁检测、黑电平补偿、透镜511阴影校正等图像传感器512统计信息。控制逻辑器550可包括执行一个或多个例程(如固件)的处理器和/或微控制器,一个或多个例程可根据接收的统计数据,确定成像设备510的控制参数以及的控制参数。例如,控制参数可包括传感器520控制参数(例如增益、曝光控制的积分时间)、照相机闪光控制参数、透镜511控制参数(例如聚焦或变焦用焦距)、或这些参数的组合。isp控制参数可包括用于自动白平衡和颜色调整(例如,在rgb处理期间)的增益水平和色彩校正矩阵,以及透镜511阴影校正参数。

以下为运用图9中图像处理技术实现本实施例提供的图像的处理方法的步骤:

获取多帧包含人脸的待处理图像;对所述待处理图像中每一用户的人脸图像进行表情识别,得到每一用户的表情识别结果;根据所述每一用户的表情识别结果,从所述待处理图像中选取基础图像。

在一种实施方式中,电子设备执行所述根据所述每一用户的表情识别结果从所述待处理图像中选取基础图像的步骤时,可以执行:若根据每一用户的表情识别结果确定出所有用户在所述待处理图像中的表情未发生变化,则获取每一所述待处理图像中每一用户的眼部值,所述眼部值为用于表示眼部大小的数值;根据每一所述待处理图像中每一用户的眼部值,从所述待处理图像中选取基础图像。

在一种实施方式中,电子设备执行所述根据每一所述待处理图像中每一用户的眼部值从所述待处理图像中选取基础图像的步骤时,可以执行:根据每一所述待处理图像中每一用户的眼部值,确定出每一用户的目标人脸图像,所述目标人脸图像为用户的眼部值中的最大值所对应的图像;将包含目标人脸图像个数最多的待处理图像选取为基础图像。

在一种实施方式中,电子设备执行所述根据所述每一用户的表情识别结果从所述待处理图像中选取基础图像的步骤时,可以执行:若根据每一用户的表情识别结果确定出所述待处理图像中存在表情发生变化的用户的人脸图像,则将所述表情发生变化的用户确定为目标用户;对于每一所述目标用户,将表情符合预设条件的人脸图像确定为所述目标用户的目标人脸图像;对于每一非目标用户,获取每一所述待处理图像中每一非目标用户的眼部值,所述眼部值为用于表示眼部大小的数值,将眼部值中的最大值所对应的图像确定为非目标用户的目标人脸图像;将包含目标人脸图像个数最多的待处理图像选取为基础图像。

在一种实施方式中,在所述获取多帧包含人脸的待处理图像的步骤之前,电子设备还可以执行:当采集包含人脸的图像时,根据采集到的至少两帧图像确定出目标帧数;

那么,电子设备执行所述获取多帧包含人脸的待处理图像的步骤时,可以执行:从采集到的多帧图像中,获取数量为所述目标帧数的待处理图像;

在所述从所述待处理图像中选取基础图像的步骤之后,电子设别还可以执行:从基础图像中确定出待替换人脸图像,所述待替换人脸图像为用户的非目标人脸图像;从所述待处理图像中,获取用于替换每一待替换人脸图像的目标人脸图像,每一待替换人脸图像及其对应的目标人脸图像为相同用户的人脸图像;使用对应的目标人脸图像对每一待替换人脸图像进行图像替换处理,得到经过图像替换处理的基础图像。

在一种实施方式中,在所述得到经过图像替换处理的基础图像的步骤之后,电子设备还可以执行:根据所述待处理图像,对所述经过图像替换处理的基础图像进行图像降噪处理。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对图像的选取方法的详细描述,此处不再赘述。

本申请实施例提供的所述图像的选取装置与上文实施例中的图像的选取方法属于同一构思,在所述图像的选取装置上可以运行所述图像的选取方法实施例中提供的任一方法,其具体实现过程详见所述图像的选取方法实施例,此处不再赘述。

需要说明的是,对本申请实施例所述图像的选取方法而言,本领域普通技术人员可以理解实现本申请实施例所述图像的选取方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在存储器中,并被至少一个处理器执行,在执行过程中可包括如所述图像的选取方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)等。

对本申请实施例的所述图像的选取装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。

以上对本申请实施例所提供的一种图像的选取方法、装置、存储介质以及电子设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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