脸部图像对齐方法、计算机程序、存储介质及电子设备与流程

文档序号:14250641阅读:254来源:国知局
脸部图像对齐方法、计算机程序、存储介质及电子设备与流程

本发明实施例涉及计算机视觉技术领域,尤其涉及一种脸部图像对齐方法、计算机程序、存储介质及电子设备。



背景技术:

脸部对齐是将图像中的脸部与标准脸部对齐。脸部对齐的应用非常广泛,例如,脸部对齐是人脸识别、人脸表情分析、人脸动画等应用的关键预处理过程。

以人脸对齐为例,一般人脸对齐包含如下三个过程:

a.人脸检测:得到图像中的人脸包围矩形框;

b.人脸关键点定位:在人脸检测基础上,回归输出人脸关键点(例如,嘴角,鼻尖,眼睛等)的平面坐标;

c.根据人脸关键点的平面坐标,将人脸对齐到标准人脸。

但是,现有的对齐过程存在如下缺点:需要训练人脸检测和人脸关键点定位两个模型,训练复杂度高,而且,夹在上述两个模型需要消耗较多的时间和存储空间。



技术实现要素:

本发明实施例提供了一种脸部图像对齐的技术方案。

根据本发明实施例的第一方面,提供了一种脸部图像对齐方法,包括:

获取脸部图像;

根据用于预测脸部关键点的神经网络模型对所述脸部图像进行关键点预测,得到所述脸部图像的关键点位置信息;

若所述关键点位置信息满足收敛条件或者执行关键点预测的步骤的迭代次数达到预设次数,则根据满足所述收敛条件的关键点位置信息或者达到预设次数时的关键点位置信息进行脸部图像对齐。

可选地,所述方法还包括:

若所述关键点位置信息不满足所述收敛条件,且执行关键点预测的步骤的迭代次数达到所述预设次数,则获取所述脸部图像的关键点包围矩形框内的图像;

根据所述神经网络模型对所述关键点包围矩形框内的图像进行关键点预测,得到所述关键点包围矩形框内的图像的关键点位置信息;

判断所述关键点包围矩形框内的图像的关键点位置信息是否满足所述收敛条件,或者执行关键点预测的步骤的迭代次数是否达到所述预设次数。

可选地,所述根据满足所述收敛条件的关键点位置信息或者达到预设次数时的关键点位置信息进行脸部图像对齐,包括:

根据满足所述收敛条件的关键点位置信息或者达到预设次数时的关键点位置信息,利用几何变换方式进行脸部图像对齐。

可选地,所述收敛条件包括所述关键点位置信息的误差值小于收敛阈值。

可选地,所述脸部图像包括人脸图像和/或牲畜脸图像。

可选地,所述牲畜为牛、羊、马、猪、狗、鸡、鸭或者鹅。

可选地,所述关键点位置信息包括关键点坐标信息。

根据本发明实施例的第二方面,提供了一种计算机程序,包括有计算机程序指令,其中,所述程序指令被处理器执行时用于实现如第一方面所述的脸部图像对齐方法对应的步骤。

根据本发明实施例的第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,其中,所述程序指令被处理器执行时用于实现如第一方面所述的脸部图像对齐方法对应的步骤。

根据本发明实施例的第四方面,提供了一种电子设备,包括:处理器、存储器、通信元件和通信总线,所述处理器、所述存储器和所述通信元件通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面所述的脸部图像对齐方法对应的步骤。

根据本发明实施例的脸部图像对齐方案,获取脸部图像;根据用于预测脸部关键点的神经网络模型对脸部图像进行关键点预测,得到脸部图像的关键点位置信息;若关键点位置信息满足收敛条件或者执行关键点预测的步骤的迭代次数达到预设次数,则根据满足收敛条件的关键点位置信息或者达到预设次数时的关键点位置信息进行脸部图像对齐。本发明实施例不需要分别训练脸部检测模型和关键点预测模型,降低了脸部图像对齐的复杂度,减少了脸部图像对齐的时间成本和存储空间;通过对用于预测脸部关键点的神经网络模型的迭代过程,逐步优化关键点的预测结果。

附图说明

图1是根据本发明实施例一的一种脸部图像对齐方法的步骤流程图;

图2是根据本发明实施例二的一种脸部图像对齐方法的步骤流程图;

图3是根据本发明实施例二的一种脸部对齐算法的流程示意图;

图4是根据本发明实施例四的一种电子设备的结构示意图。

具体实施方式

下面结合附图(若干附图中相同的标号表示相同的元素)和实施例,对本发明实施例的具体实施方式作进一步详细说明。以下实施例用于说明本发明,但不用来限制本发明的范围。

本领域技术人员可以理解,本发明实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。

实施例一

参照图1,示出了根据本发明实施例一的一种脸部图像对齐方法的步骤流程图。

本实施例的脸部图像对齐方法包括以下步骤:

步骤s100:获取脸部图像。

本发明实施例中,可以采用任意具有摄像功能的装置对目标对象进行拍照,获取包括目标对象脸部的脸部图像。

步骤s102:根据用于预测脸部关键点的神经网络模型对脸部图像进行关键点预测,得到脸部图像的关键点位置信息。

本发明实施例中,用于预测脸部关键点的神经网络模型可以为卷积神经网络模型。

一种可选的实施方式中,在神经网络模型的训练过程中,可以在图像平面空间中进行随机采样得到任意状态下的脸部图像和对应的关键点坐标,其中,任意状态包括正脸、侧脸、斜侧脸、低头、抬头等不同角度、方向。

本发明实施例中,关键点可以包括眼睛、鼻子、嘴巴、下巴等。

步骤s104:若关键点位置信息满足收敛条件或者执行关键点预测的步骤的迭代次数达到预设次数,则根据满足收敛条件的关键点位置信息或者达到预设次数时的关键点位置信息进行脸部图像对齐。

在得到关键点位置信息之后,若关键点位置信息满足收敛条件,则表示神经网络模型对脸部图像的关键点预测结果准确或达到预期目标;若关键点位置信息不满足收敛条件,则表示神经网络模型对脸部图像的关键点预测不准确或未达到预期目标。

若关键点位置信息满足收敛条件,或者执行关键点预测的步骤的迭代次数达到预设次数,则结束迭代过程。此时得到的关键点位置信息可以用于进行脸部图像对齐。

根据本发明实施例的脸部图像对齐方法,获取脸部图像;根据用于预测脸部关键点的神经网络模型对脸部图像进行关键点预测,得到脸部图像的关键点位置信息;若关键点位置信息满足收敛条件或者执行关键点预测的步骤的迭代次数达到预设次数,则根据满足收敛条件的关键点位置信息或者达到预设次数时的关键点位置信息进行脸部图像对齐。本发明实施例不需要分别训练脸部检测模型和关键点预测模型,降低了脸部图像对齐的复杂度,减少了脸部图像对齐的时间成本和存储空间;通过对用于预测脸部关键点的神经网络模型的迭代过程,逐步优化关键点的预测结果。

本发明实施例的脸部图像对齐方法可以由任意适当的具有相应的图像或数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本发明实施例提供的任一种脸部图像对齐方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本发明实施例提及的任一种脸部图像对齐方法。下文不再赘述。

实施例二

参照图2,示出了根据本发明实施例二的一种脸部图像对齐方法的步骤流程图。

本实施例的脸部图像对齐方法包括以下步骤:

步骤s200:获取脸部图像。

本发明实施例中,可以采用任意具有摄像功能的装置对目标对象进行拍照,获取包括目标对象脸部的脸部图像。

可选地,本实施例中的脸部图像可以为人脸图像和/或牲畜脸图像。其中,牲畜可以包括但不限于牛、羊、马、猪、狗、鸡、鸭或者鹅等。

例如,通过手机或者相机对目标人物进行拍照,获取目标人物的人脸图像。

步骤s202:根据用于预测脸部关键点的神经网络模型对脸部图像进行关键点预测,得到脸部图像的关键点位置信息。

本发明实施例中,用于预测脸部关键点的神经网络模型可以为卷积神经网络模型。

一种可选的实施方式中,在神经网络模型的训练过程中,可以在图像平面空间中进行随机采样得到任意状态下的脸部图像和对应的关键点坐标,其中,任意状态包括正脸、侧脸、斜侧脸、低头、抬头等不同角度、方向。

本发明实施例中,关键点可以包括眼睛、鼻子、嘴巴、下巴等。

一种可选的实施方式中,将人脸图像输入至人脸关键点的回归预测模型m中,利用人脸关键点的回归预测模型m预测人脸图像中的关键点位置信息,如关键点坐标信息。

步骤s204:若关键点位置信息满足收敛条件或者执行关键点预测的步骤的迭代次数达到预设次数,则根据满足收敛条件的关键点位置信息或者达到预设次数时的关键点位置信息进行脸部图像对齐。

在得到关键点位置信息之后,若关键点位置信息满足收敛条件,则表示神经网络模型对脸部图像的关键点预测结果准确或达到预期目标;若关键点位置信息不满足收敛条件,则表示神经网络模型对脸部图像的关键点预测不准确或未达到预期目标。

若关键点位置信息满足收敛条件,或者执行关键点预测的步骤的迭代次数达到预设次数,则结束迭代过程。此时得到的关键点位置信息可以用于进行脸部图像对齐。

可选地,根据满足收敛条件的关键点位置信息或者达到预设次数时的关键点位置信息,利用几何变换方式进行脸部图像对齐。其中,几何变换方式可以包括但不限于仿射变换(如基于三点的人脸对齐、基于两点的人脸对齐)。仿射变换是对人脸图像按比例缩放、旋转、平移或剪切的组合。

可选地,收敛条件包括关键点位置信息的误差值小于收敛阈值。

步骤s206:若关键点位置信息不满足收敛条件,且执行关键点预测的步骤的迭代次数达到预设次数,则获取脸部图像的关键点包围矩形框内的图像;根据神经网络模型对关键点包围矩形框内的图像进行关键点预测,得到关键点包围矩形框内的图像的关键点位置信息;判断关键点包围矩形框内的图像的关键点位置信息是否满足收敛条件,或者执行关键点预测的步骤的迭代次数是否达到预设次数。

例如,预先设置收敛阈值为0.01,预设次数为10000次。如果在执行关键点预测的步骤的迭代次数在10000次内,且关键点位置信息的误差值小于0.01,则结束迭代过程。如果关键点位置信息的误差值始终大于0.01,或者执行关键点预测的步骤的迭代次数大于10000次,也结束迭代过程。

可选地,关键点包围矩形框可以为人脸的全部关键点的最小外包矩形。

需要说明的是,在执行步骤s206之后,可以重新执行步骤s204,最终实现脸部图像对齐。

基于上述对脸部图像对齐方法的介绍,本发明实施例还提供了一种脸部对齐算法,如图3所示。将待对齐的图像输入至卷积神经网络,该卷积神经网络用于预测图像中人脸的关键点坐标,当关键点坐标满足收敛条件或者关键点坐标的预测次数达到预设次数时,输出人脸的关键点坐标,进而进行人脸图像对齐。当关键点坐标不满足收敛条件,且关键点坐标的预测次数达到预设次数时,获取待对齐的图像中人脸关键点的包围框,将人脸关键点的包围框内的图像输入至卷积神经网络。

根据本发明实施例的脸部图像对齐方法,获取脸部图像;根据用于预测脸部关键点的神经网络模型对脸部图像进行关键点预测,得到脸部图像的关键点位置信息;若关键点位置信息满足收敛条件或者执行关键点预测的步骤的迭代次数达到预设次数,则根据满足收敛条件的关键点位置信息或者达到预设次数时的关键点位置信息进行脸部图像对齐。本发明实施例不需要分别训练脸部检测模型和关键点预测模型,降低了脸部图像对齐的复杂度,减少了脸部图像对齐的时间成本和存储空间;通过对用于预测脸部关键点的神经网络模型的迭代过程,逐步优化关键点的预测结果。

实施例三

本实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该程序指令被处理器执行时实现本发明实施例提供的任一脸部图像对齐方法的步骤。

本实施例还提供了一种计算机程序,其包括有计算机程序指令,所述程序指令被处理器执行时用于实现本发明实施例提供的任一脸部图像对齐方法的步骤。

本实施例的计算机可读存储介质和计算机程序用于实现前述方法实施例中相应的脸部图像对齐方法,并具有相应的方法实施例的有益效果,在此不再赘述。

实施例四

本发明实施例四提供了一种电子设备,例如可以是移动终端、个人计算机(pc)、平板电脑、服务器等。下面参考图4,其示出了适于用来实现本发明实施例的终端设备或服务器的电子设备400的结构示意图:如图4所示,电子设备400包括一个或多个处理器、通信元件等,所述一个或多个处理器例如:一个或多个中央处理单元(cpu)401,和/或一个或多个图像处理器(gpu)413等,处理器可以根据存储在只读存储器(rom)402中的可执行指令或者从存储部分408加载到随机访问存储器(ram)403中的可执行指令而执行各种适当的动作和处理。通信元件包括通信组件412和/或通信接口409。其中,通信组件412可包括但不限于网卡,所述网卡可包括但不限于ib(infiniband)网卡,通信接口409包括诸如lan卡、调制解调器等的网络接口卡的通信接口,通信接口409经由诸如因特网的网络执行通信处理。

处理器可与只读存储器402和/或随机访问存储器403中通信以执行可执行指令,通过通信总线404与通信组件412相连、并经通信组件412与其他目标设备通信,从而完成本发明实施例提供的任一脸部图像对齐方法对应的操作,例如,获取脸部图像;根据用于预测脸部关键点的神经网络模型对所述脸部图像进行关键点预测,得到所述脸部图像的关键点位置信息;若所述关键点位置信息满足收敛条件或者执行关键点预测的步骤的迭代次数达到预设次数,则根据满足所述收敛条件的关键点位置信息或者达到预设次数时的关键点位置信息进行脸部图像对齐。

此外,在ram403中,还可存储有装置操作所需的各种程序和数据。cpu401或gpu413、rom402以及ram403通过通信总线404彼此相连。在有ram403的情况下,rom402为可选模块。ram403存储可执行指令,或在运行时向rom402中写入可执行指令,可执行指令使处理器执行上述通信方法对应的操作。输入/输出(i/o)接口405也连接至通信总线404。通信组件412可以集成设置,也可以设置为具有多个子模块(例如多个ib网卡),并在通信总线链接上。

以下部件连接至i/o接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如lan卡、调制解调器等的网络接口卡的通信接口409。驱动器410也根据需要连接至i/o接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。

需要说明的,如图4所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图4的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如gpu和cpu可分离设置或者可将gpu集成在cpu上,通信元件可分离设置,也可集成设置在cpu或gpu上,等等。这些可替换的实施方式均落入本发明的保护范围。

特别地,根据本发明实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,计算机程序包含用于执行流程图所示的方法的程序代码,程序代码可包括对应执行本发明实施例提供的方法步骤对应的指令,例如,获取脸部图像;根据用于预测脸部关键点的神经网络模型对所述脸部图像进行关键点预测,得到所述脸部图像的关键点位置信息;若所述关键点位置信息满足收敛条件或者执行关键点预测的步骤的迭代次数达到预设次数,则根据满足所述收敛条件的关键点位置信息或者达到预设次数时的关键点位置信息进行脸部图像对齐。在这样的实施例中,该计算机程序可以通过通信元件从网络上被下载和安装,和/或从可拆卸介质411被安装。在该计算机程序被处理器执行时,执行本发明实施例的方法中限定的上述功能。

需要指出,根据实施的需要,可将本发明实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本发明实施例的目的。

上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如cdrom、ram、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如asic或fpga)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,ram、rom、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专用计算机。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。

以上实施方式仅用于说明本发明实施例,而并非对本发明实施例的限制,有关技术领域的普通技术人员,在不脱离本发明实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明实施例的范畴,本发明实施例的专利保护范围应由权利要求限定。

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