本发明实施例涉及图像处理技术领域,尤其涉及一种多人脸的图像处理方法、装置、设备及存储介质。
背景技术:
随着拍照及美颜技术的不断发展,用户对照片质量的要求越来越高。现有的美颜技术中,大多数只能对图像中单一的人脸进行处理,无法对多人脸的图像进行美颜,即使有一些可以对多人脸进行美颜处理,效果也不好。
技术实现要素:
本发明实施例提供一种多人脸的图像处理方法、装置、设备及存储介质,以实现对多人脸的图像处理,可提高图像处理效果。
第一方面,本发明实施例提供了一种多人脸的图像处理方法,包括:
获取图像中多个人脸的关键点信息;
对于每个人脸,根据所述关键点信息确定人脸网格边界;
根据所述关键点信息和所述人脸网格边界构建人脸网格结构;
根据所述人脸网格结构对人脸进行脸型调整。
进一步地,对于每个人脸,根据所述关键点信息确定人脸网格边界,包括:
根据所述关键点信息确定最小人脸轮廓区域;
将所述最小人脸轮廓区域扩展设定倍数,获得人脸网格边界。
进一步地,根据所述关键点信息确定所述最小人脸轮廓区域,包括:
获取由所述关键点信息构成的最小矩形;
将所述最小矩形构成的区域确定为最小人脸轮廓区域。
进一步地,将所述最小人脸轮廓区域扩展设定倍数,获得人脸网格边界,包括:
判断所述人脸是否是第一个被识别的人脸;
若否,则判断所述人脸网格边界与其他已识别人脸的人脸网格边界是否重合;
若重合,则缩小所述人脸网格边界,直至缩小的人脸网格边界与其他已识别人脸的人脸网格边界不重合。
进一步地,缩小所述人脸网格边界,包括:
若所述人脸网格边界缩小至最小人脸轮廓区域仍与其他已识别人脸的人脸网格边界重合,则放弃处理所述人脸。
进一步地,根据所述关键点信息和所述人脸网格边界构建人脸网格结构,包括:
确定位置相邻的关键点,作为第一目标关键点;
确定位于人脸网格边界上的边缘点,并确定与所述边缘点相邻的关键点,作为第二目标关键点;
以所述第一目标关键点为顶点连接所述第一目标关键点,以所述边缘点和所述第二目标关键点为顶点连接所述边缘点和所述第二目标关键点,获得人脸网络结构。
进一步地,根据所述人脸网格结构对人脸进行脸型调整,包括:
接收作用于所述人脸的调整操作;
根据所述调整操作调整关键点所处的网格;
将调整后的网格与人脸图像进行映射变化,获得脸型调整后的人脸。
第二方面,本发明实施例还提供了一种多人脸的图像处理装置,该装置包括:
关键点信息获取模块,用于获取图像中多个人脸的关键点信息;
人脸网格边界确定模块,用于根据所述关键点信息确定每个人脸的人脸网格边界;
人脸网格结构构建模块,用于根据所述关键点信息和所述人脸网格边界构建人脸网格结构;
脸型调整模块,用于根据所述人脸网格结构对人脸进行脸型调整。
第三方面,本发明实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例所述的多人脸的图像处理方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所述的多人脸的图像处理方法。
本发明实施例,首先获取图像中多个人脸的关键点信息,然后对于每个人脸,根据关键点信息确定人脸网格边界,再然后根据关键点信息和人脸网格边界构建人脸网格结构,最后根据人脸网格结构对人脸进行脸型调整。本发明实施例提供的多人脸的图像处理方法,根据关键点信息构建每个人脸的人脸网格结构,根据人脸网格结构分别对人脸进行脸型调整,从而实现多人脸的图像处理,可提高图像处理效果。
附图说明
图1是本发明实施例一中的一种多人脸的图像处理方法的流程图;
图2a是本发明实施例一中的一种人脸图像的示意图;
图2b是本发明实施例一中的一种人脸关键点的示例图;
图2c是本发明实施例一中的一种人脸关键点的示例图;
图3a是本发明实施例一中的由关键点信息确定最小矩形的示例图;
图3b是本发明实施例一中的确定的最小人脸轮廓区域的示例图;
图3c是本发明实施例一中的确定人脸网格边界的示例图;
图3d是本发明实施例一中的关键点和人脸网格边界的示例图;
图3e是本发明实施例一中的构建的一种人脸网络结构的示例图;
图4是本发明实施例二中的一种多人脸的图像处理装置的结构示意图;
图5是本发明实施例三中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种多人脸的图像处理方法的流程图,本实施例可适用于对多人脸的图像进行脸型调整的情况,该方法可以由多人脸的图像处理装置来执行,该装置可以由软件和/或硬件实现,可配置在电子设备中,可以包括手机、平板、pda(personaldigitalassistant,个人数字助理)、智能穿戴设备(如智能眼镜、智能手表)等移动终端,也可以包括服务器、工作站、智能电视、个人电脑等非移动终端。如图1所示,该方法具体包括如下步骤:
步骤110,获取图像中多个人脸的关键点信息。
其中,关键点信息可以是关键点在图像中的坐标信息,人脸的关键点信息是通过对图像进行人脸检测获得的。人脸检测也可以称为人脸关键点检测、定位或者人脸对齐,是指对包含人脸的图像定位出人脸面部的关键区域位置,包括眉毛、眼睛、鼻子、嘴巴、脸部轮廓等等。
需要说明的是,人脸关键点的数量,可以由本领域技术人员根据实际情况设置,对于静态的图像处理,由于实时性要求较低,可以检测较为稠密的人脸关键点,如1000个,这种方式不仅能定位人脸重要特征点之外,还能准确的描述出五官的轮廓;对于直播等,实时性要求较高,可以检测较为稀疏的人脸关键点,如68、81、106个,定位人脸上比较明显且重要的特征点(如眼睛关键点、眉毛关键点、鼻子关键点、嘴巴关键点、轮廓关键点等),以降低处理量、减少处理时间。示例性的,对图2a所示的图像进行人脸检测,可以获得如图2b所示的68个人脸关键点,或者如图2c所示的106个人脸关键点。
本实施例中,图像中包含多个人脸,需要分别获取各个人脸的关键点信息。
步骤120,对于每个人脸,根据关键点信息确定人脸网格边界。
其中,人脸网格边界用于构建人脸网格结构。具体的,根据关键点信息确定人脸网格边界的过程可以是,根据关键点信息确定最小人脸轮廓区域;将最小人脸轮廓区域扩展设定倍数,获得人脸网格边界。
最小人脸轮廓区域可以理解为覆盖了所有关键点的最小图像区域。本实施例中,首先获取由关键点信息构成的最小矩形,然后将最小矩形构成的区域确定为最小人脸轮廓区域。
具体的,首先获取最小矩形的四个顶点的坐标。假设人脸的关键点信息为(x1,y1),(x2,y2)....(xn,yn),则最小矩形的四个顶点的坐标为(min(x1,x2...xn),min(y1,y2....yn)),(min(x1,x2...xn),max(y1,y2....yn)),(max(x1,x2...xn),min(y1,y2....yn)),(max(x1,x2...xn),max(y1,y2....yn))。图3a为由关键点信息确定最小矩形的示例图,图3b为确定的最小人脸轮廓区域的示例图。如图3a所示,共有68个关键点,其中,轮廓关键点共17个,对应的编号为1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17;眉毛关键点共10个,对应的编号分别为18、19、20、21、22、23、24、25、26、27;鼻子关键点共9个,对应的编号分别为28、29、30、31、32、33、34、35、36;眼睛关键点共12个,对应的编号分别为37、38、39、40、41、42、43、44、45、46、47、48;嘴巴关键点共20个,对应的编号分别为49、50、51、52、53、54、55、56、57、58、59、60、61、62、63、64、65、66、67、68。
本实施例中,将最小人脸轮廓区域扩展设定倍数可以是将最小矩形的长和宽分别扩大设定倍数,或者将最小矩形的面积扩展设定倍数。其中,设定倍数可以设置为1.2-1.5之间的任意值。图3c为确定人脸网格边界的示例图。
本实施例中,由于图像中包含多个人脸,在获取当前人脸的人脸网格边界时,首先判断人脸是否是第一个被识别的人脸;若否,则判断人脸网格边界与其他已识别人脸的人脸网格边界是否存在重合;若重合,则缩小人脸网格边界,直至缩小的人脸网格边界与其他已识别人脸的人脸网格边界不重合。
其中,判断人脸网格边界与其他已识别人脸的人脸网格边界是否存在重合的方式可以是根据人脸网格边界的四个顶点的坐标判断。本实施例中,重合的方式为部分重合。在缩小人脸网格边界时,可以按照一定的步长进行缩小。当人脸网格边界缩小至最小人脸轮廓区域仍与其他已识别人脸的人脸网格边界重合,则放弃处理人脸。本实施例中,若最小人脸轮廓区域仍与其他已识别人脸的人脸网格边界重合,则表明该人脸的大部分区域被其他人脸遮挡,此时,无需继续处理该人脸,可以节省功耗。
步骤130,根据关键点信息和人脸网格边界构建人脸网格结构。
其中,网格(mesh),代表单个的可绘制实体,其顶点至少包括关键点,即以关键点作为网格的部分顶点,将人脸进行网格化,划分为多个网格。所谓网格化,是将凹多边形或有边相交的多边形划分成凸多边形,如三角形,以便被opengl等api或渲染引擎渲染。需要说明的是,网格之间是有序的,从而形成网格序列,使得符合opengl等api或渲染引擎的渲染规范。本实施例中,采用三角剖分方式构建人脸网格结构。
具体的,根据关键点信息和人脸网格边界构建人脸网格结构的方式可以是,确定位置相邻的关键点,作为第一目标关键点;确定位于人脸网格边界上的边缘点,并确定与边缘点相邻的关键点,作为第二目标关键点;以第一目标关键点为顶点连接第一目标关键点,以边缘点和第二目标关键点为顶点连接边缘点和第二目标关键点,获得人脸网络结构。
其中,边缘点可以是人脸网格边界的顶点和人脸网格边界四条边的中点。网格的顶点可同时包括关键点和边缘点。图3d为关键点和人脸网格边界的示例图。如图3d所示,边缘点对应的编号为69、70、71、72、73、74、75和76。具体的,在确定了第一目标关键点、边缘点及第二目标关键点后,以第一目标关键点为顶点连接第一目标关键点,以边缘点和第二目标关键点为顶点连接边缘点和第二目标关键点,获得人脸网络结构。例如:(1,76,2)、(2,76,3)、(3,76,4)、(4,76,5)等均可连成一个网格。图3e为本实施例构建的一种人脸网络结构的示例图,如图3e所示,将第一目标关键点、边缘点及第二目标关键点按照顺序连接,获得多个网格,多个网格构成人脸网格结构。
步骤140,根据人脸网格结构对人脸进行脸型调整。
其中,脸型调整可以包括调整类型、幅度。类型可以包括脸型、眉毛、嘴唇及鼻子的调整。例如,对于脸型(以轮廓关键点表示),调整类型包括调整下巴的形状、额头的高度、下颌骨位置的脸型、脸宽,等等。按照该调整类型、幅度,对该轮廓关键点进行调整,在保持轮廓关键点作为网格的顶点的情况下,调整轮廓关键点,可连同调整网格,使得网格内的脸型发生变化,从而实现调整脸型的效果。
本实施例中,根据人脸网格结构对人脸进行脸型调整的过程可以是:接收作用于人脸的调整操作;根据调整操作调整关键点所处的网格;将调整后的网格与人脸图像进行映射变化,获得脸型调整后的人脸。
具体的,调整关键点所处的网格的方式是调整组成网格的关键点坐标,然后将调整后的网格通过三角形形变映射至人脸图像,获得脸型调整后的人脸。
本实施例中,将举例说明多种调整的类型,如调整下巴形状及脸宽等。
1、调整下巴形状
在一种调整的类型中,调整操作用于调整下巴的形状,该轮廓关键点包括下巴的下巴关键点(如图3d所示的编号为7、8、9、10、11的关键点)、该关键点还包括鼻尖的鼻尖关键点(如图3d所示的编号为31的人脸关键点)。在此调整的类型中,将鼻尖关键点31确定为参考点,以参考点为目标移动下巴关键点,以调整下巴关键点所处的网格。进一步而言,可以通过如下方式移动下巴关键点:resultm=dstn a(y)·f(x)(svcm-dstn)
其中,resultm为移动之后的下巴关键点,dstn为移动之前的下巴关键点,为svcm为鼻尖关键点表示的参考点,a(y)为幅度,f(x)为移动函数。
2、脸宽
2.1、下颌位置的脸宽
在另一种调整的类型中,调整操作用于调整下颌位置的脸宽,轮廓关键点包括下颌的下颌关键点(如图3d中编号为4、5、6、12、13、14的关键点)、关键点包括鼻尖的鼻尖关键点(如图3d中编号为31的人脸关键点)。
在此调整的类型中,将鼻尖关键点确定为参考点;以参考点为目标移动下颌关键点,以调整下颌关键点所处的网格。进一步而言,可以通过如下方式移动下颌关键点:
resultm=dstn a(y)·f(x)(svcm-dstn)
其中,resultm为移动之后的下颌关键点,dstn为移动之前的下颌关键点,为svcm为参考点,a(y)为幅度,f(x)为移动函数。
2.2、整体削脸
在另一种调整的类型中,调整操作用于调整位于不同位置的脸型的轮廓,轮廓关键点包括眉毛以下、鼻尖以上的上部轮廓关键点(如图3d中编号为1、2、16、17的关键点),鼻尖以下、下嘴唇以上的中部轮廓关键点(如图3d中编号为3、4、5、6、12、13、14、15的人脸关键点),下嘴唇以下的下部轮廓关键点(如图3d中编号为7、8、9、10、11的关键点);所述人脸关键点包括下嘴唇的下嘴唇关键点(如图3d中编号为49、55、56、57、58、57、58、59、60、61、68、67、66、65的关键点),上嘴唇的上嘴唇关键点(如图3d中编号为49、50、51、52、53、54、55、65、64、43、62、61的关键点)。人脸关键点还包括鼻尖的鼻尖关键点(如图3d中编号为31的关键点)。
2.2.1、上部轮廓关键点
在此调整的类型中,将两瞳孔之间的中点确定为参考点(如图3d中编号为28的关键点),以参考点为目标移动上部轮廓关键点,以调整上部轮廓关键点所处的网格。
进一步而言,可以通过如下方式移动上部额头关键点:
resultm=dstn a(y)·f(x)(svcm-dstn)
其中,resultm为移动之后的上部额头关键点,dstn为移动之前的上部额头关键点,为svcm为参考点,a(y)为幅度,f(x)为移动函数。
2.2.2、中部轮廓关键点
在此调整的类型中,将鼻尖关键点确定为参考点,以参考点为目标移动中部轮廓关键点,以调整中部轮廓关键点所处的网格。进一步而言,可以通过如下方式移动中部额头关键点:
resultm=dstn a(y)·f(x)(svcm-dstn)
其中,resultm为移动之后的中部额头关键点,dstn为移动之前的中部额头关键点,为svcm为参考点,a(y)为幅度,f(x)为移动函数。
2.2.3、下部轮廓关键点
在此调整的类型中,将靠近下巴的下嘴唇关键点确定为参考点(如图3d中编号为58的关键点);以参考点为目标移动下部轮廓关键点,以调整下部轮廓关键点所处的网格。
进一步而言,可以通过如下方式移动下部额头关键点:
resultm=dstn a(y)·f(x)(svcm-dstn)
其中,resultm为移动之后的下部额头关键点,dstn为移动之前的下部额头关键点,为svcm为参考点,a(y)为幅度,f(x)为移动函数。
上述调整轮廓关键点的方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他调整轮廓关键点的方式,例如,选择位于不同位置的轮廓关键点,并指定各自对应的不同的参考点,还可以对每个轮廓关键点指定各自不同的移动的幅度等等,本发明实施例对此不加以限制。另外,除了上述调整轮廓关键点的方式外,本领域技术人员还可以根据实际需要采用其它调整轮廓关键点的方式,本发明实施例对此也不加以限制。
本实施例的技术方案,首先获取图像中多个人脸的关键点信息,然后对于每个人脸,根据关键点信息确定人脸网格边界,再然后根据关键点信息和人脸网格边界构建人脸网格结构,最后根据人脸网格结构对人脸进行脸型调整。本发明实施例提供的多人脸的图像处理方法,根据关键点信息构建每个人脸的人脸网格结构,根据人脸网格结构分别对人脸进行脸型调整,从而实现多人脸的图像处理,可提高图像处理效果。
实施例二
图4为本发明实施例二提供的一种多人脸的图像处理装置的结构示意图。如图4所示,该装置包括:关键点信息获取模块210、人脸网格边界确定模块220、人脸网格结构构建模块230和脸型调整模块240。
关键点信息获取模块210,用于获取图像中多个人脸的关键点信息;
人脸网格边界确定模块220,用于根据关键点信息确定每个人脸的人脸网格边界;
人脸网格结构构建模块230,用于根据关键点信息和人脸网格边界构建人脸网格结构;
脸型调整模块240,用于根据人脸网格结构对人脸进行脸型调整。
可选的,人脸网格边界确定模块220,还用于:
根据关键点信息确定最小人脸轮廓区域;
将最小人脸轮廓区域扩展设定倍数,获得人脸网格边界。
可选的,人脸网格边界确定模块220,还用于:
获取由关键点信息构成的最小矩形;
将最小矩形构成的区域确定为最小人脸轮廓区域。
可选的,人脸网格边界确定模块220,还用于:
判断人脸是否是第一个被识别的人脸;
若否,则判断人脸网格边界与其他已识别人脸的人脸网格边界是否重合;
若重合,则缩小人脸网格边界,直至缩小的人脸网格边界与其他已识别人脸的人脸网格边界不重合。
可选的,人脸网格边界确定模块220,还用于:
当人脸网格边界缩小至最小人脸轮廓区域仍与其他已识别人脸的人脸网格边界重合时,则放弃处理人脸。
可选的,人脸网格结构构建模块230,还用于:
确定位置相邻的关键点,作为第一目标关键点;
确定位于人脸网格边界上的边缘点,并确定与边缘点相邻的关键点,作为第二目标关键点;
以第一目标关键点为顶点连接第一目标关键点,以边缘点和第二目标关键点为顶点连接边缘点和第二目标关键点,获得人脸网络结构。
可选的,脸型调整模块240,还用于:
接收作用于人脸的调整操作;
根据调整操作调整关键点所处的网格;
将调整后的网格与人脸图像进行映射变化,获得脸型调整后的人脸。
上述装置可执行本发明前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。
实施例三
图5为本发明实施例五提供的一种计算机设备的结构示意图。图5示出了适于用来实现本发明实施方式的计算机设备312的框图。图5显示的计算机设备312仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。设备312是典型的多人脸的图像处理功能的计算设备。
如图5所示,计算机设备312以通用计算设备的形式表现。计算机设备312的组件可以包括但不限于:一个或者多个处理器316,存储装置328,连接不同系统组件(包括存储装置328和处理器316)的总线318。
总线318表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industrystandardarchitecture,isa)总线,微通道体系结构(microchannelarchitecture,mca)总线,增强型isa总线、视频电子标准协会(videoelectronicsstandardsassociation,vesa)局域总线以及外围组件互连(peripheralcomponentinterconnect,pci)总线。
计算机设备312典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备312访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储装置328可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(randomaccessmemory,ram)330和/或高速缓存存储器332。计算机设备312可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统334可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(compactdisc-readonlymemory,cd-rom)、数字视盘(digitalvideodisc-readonlymemory,dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线318相连。存储装置328可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块326的程序336,可以存储在例如存储装置328中,这样的程序模块326包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块326通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备312也可以与一个或多个外部设备314(例如键盘、指向设备、摄像头、显示器324等)通信,还可与一个或者多个使得用户能与该计算机设备312交互的设备通信,和/或与使得该计算机设备312能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口322进行。并且,计算机设备312还可以通过网络适配器320与一个或者多个网络(例如局域网(localareanetwork,lan),广域网wideareanetwork,wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器320通过总线318与计算机设备312的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备312使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(redundantarraysofindependentdisks,raid)系统、磁带驱动器以及数据备份存储系统等。
处理器316通过运行存储在存储装置328中的程序,从而执行各种功能应用以及数据处理,例如实现本发明上述实施例所提供的多人脸的图像处理方法。
实施例四
本发明实施例四还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的多人脸的图像处理方法。
当然,本发明实施例所提供的一种计算机可读存储介质,其上存储的计算机程序不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的多人脸的图像处理方法中的相关操作。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
1.一种多人脸的图像处理方法,其特征在于,包括:
获取图像中多个人脸的关键点信息;
对于每个人脸,根据所述关键点信息确定人脸网格边界;
根据所述关键点信息和所述人脸网格边界构建人脸网格结构;
根据所述人脸网格结构对人脸进行脸型调整。
2.根据权利要求1所述的方法,其特征在于,对于每个人脸,根据所述关键点信息确定人脸网格边界,包括:
根据所述关键点信息确定最小人脸轮廓区域;
将所述最小人脸轮廓区域扩展设定倍数,获得人脸网格边界。
3.根据权利要求2所述的方法,其特征在于,根据所述关键点信息确定所述最小人脸轮廓区域,包括:
获取由所述关键点信息构成的最小矩形;
将所述最小矩形构成的区域确定为最小人脸轮廓区域。
4.根据权利要求2所述的方法,其特征在于,将所述最小人脸轮廓区域扩展设定倍数,获得人脸网格边界,包括:
判断所述人脸是否是第一个被识别的人脸;
若否,则判断所述人脸网格边界与其他已识别人脸的人脸网格边界是否重合;
若重合,则缩小所述人脸网格边界,直至缩小的人脸网格边界与其他已识别人脸的人脸网格边界不重合。
5.根据权利要求4所述的方法,其特征在于,缩小所述人脸网格边界,包括:
若所述人脸网格边界缩小至最小人脸轮廓区域仍与其他已识别人脸的人脸网格边界重合,则放弃处理所述人脸。
6.根据权利要求1所述的方法,其特征在于,根据所述关键点信息和所述人脸网格边界构建人脸网格结构,包括:
确定位置相邻的关键点,作为第一目标关键点;
确定位于人脸网格边界上的边缘点,并确定与所述边缘点相邻的关键点,作为第二目标关键点;
以所述第一目标关键点为顶点连接所述第一目标关键点,以所述边缘点和所述第二目标关键点为顶点连接所述边缘点和所述第二目标关键点,获得人脸网络结构。
7.根据权利要求1所述的方法,其特征在于,根据所述人脸网格结构对人脸进行脸型调整,包括:
接收作用于所述人脸的调整操作;
根据所述调整操作调整关键点所处的网格;
将调整后的网格与人脸图像进行映射变化,获得脸型调整后的人脸。
8.一种多人脸的图像处理装置,其特征在于,包括:
关键点信息获取模块,用于获取图像中多个人脸的关键点信息;
人脸网格边界确定模块,用于根据所述关键点信息确定每个人脸的人脸网格边界;
人脸网格结构构建模块,用于根据所述关键点信息和所述人脸网格边界构建人脸网格结构;
脸型调整模块,用于根据所述人脸网格结构对人脸进行脸型调整。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的多人脸的图像处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的多人脸的图像处理方法。
技术总结