一种三维人脸的图像处理方法及装置与流程

文档序号:16090602发布日期:2018-11-27 22:58阅读:165来源:国知局
本申请涉及计算机
技术领域
,尤其涉及一种三维人脸的图像处理方法及装置。
背景技术
:人们在利用移动终端拍照时,为了将人物最美的一面展现出来,常常会对拍摄得到的照片中的人脸进行美妆处理。保证人脸美妆效果的关键在于精确地定位人脸特征点,例如眉毛、眼睛、鼻子、嘴巴等特征点。人脸特征点的定位过程,也被称为人脸对齐。目前已提出多种人脸对齐方法,例如,基于生成模型的方法、基于回归的方法以及基于深度卷积神经网络的方法等。其中,基于生成模型的方法具体如:主观形状模型(ActiveShapeModel,ASM)、主动外观模型(ActiveAppreanceModel,AAM)、有约束的局部模型(ConstrainedLocalModel,CLM)等;基于回归的方法具体如:监督下降法(SupvisedDescentMethod,SDM)、局部二值特征(LocalBinaryFeatures,LBF)、显示形状回归(ExplicitShapeRegression,ESR)和粗到细形状搜索(Coarse-to-FineShapeSearching,CFSS)等。现有的这些方法对正面或姿态变化不大的人脸对齐具有较好的效果,但是对大姿态的人脸对齐效果并不理想,进而使得基于这些方法定位出的人脸特征做出的美妆效果也不理想。技术实现要素:本申请实施例提供一种三维人脸的图像处理方法及装置,以改善大姿态的人脸美妆效果。第一方面,本申请实施例提供一种三维人脸的图像处理方法,所述方法包括:接收对目标图像中的人脸区域进行图像处理的请求;将所述目标图像输入预先训练得到的沙漏网络模型;其中,所述沙漏网络模型是通过将深度网络模型的残差模块进行二值化卷积处理得到的深度网络模型,且所述沙漏网络模型是基于三维人脸特征点数据库训练得到的;基于所述沙漏网络模型,定位所述人脸区域的三维特征点;基于定位出的所述人脸区域的三维特征点,对所述人脸区域进行图像处理。第二方面,本申请实施例还提供一种三维人脸的图像处理装置,所述装置包括:接收模块,用于接收对目标图像中的人脸区域进行图像处理的请求;输入模块,用于将所述目标图像输入预先训练得到的沙漏网络模型;其中,所述沙漏网络模型是通过将深度网络模型的残差模块进行二值化卷积处理得到的深度网络模型,且所述沙漏网络模型是基于三维人脸特征点数据库训练得到的;定位模块,用于基于所述沙漏网络模型,定位所述人脸区域的三维特征点;美妆模块,用于基于定位出的所述人脸区域的三维特征点,对所述人脸区域进行图像处理。第三方面,本申请实施例还提供了一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如第一方面所述的方法的步骤。第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的方法的步骤。本申请实施例采用的上述至少一个技术方案,在接收到对目标图像中的人脸进行美妆的请求后,由于是通过基于三维人脸特征点数据库训练得到的沙漏网络模型,定位出所述人脸区域的三维特征点而不是依赖二维特征点,并基于定位出的所述人脸区域的三维特征点,对所述人脸区域进行图像处理。因此,不但对于正向或者小姿态人脸能够获得很好的美妆效果,对于大姿态人脸也能获得良好的美妆效果,改善了大姿态下的美妆效果,换句话说,在任意姿态下都能取得自然贴合的良好美妆效果。此外,由于本申请实施例中的沙漏网络模型是通过将深度网络模型的残差模块进行二值化卷积处理得到的深度网络模型,因此,不仅可以减小沙漏网模型的体积,还可以减少人脸区域三维特征点定位过程中的计算量,从而降低了内存消耗,因此非常适用于移动终端。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是本申请实施例提供的三维人脸的图像处理方法的流程示意图。图2是本申请实施例提供的单层沙漏网络结构的一种结构示意图。图3是本申请实施例提供的残差模块的一种结构示意图。图4是现有技术中的残差模块的结构示意图。图5是本申请实施例提供的三维人数据库中人脸区域三维特征点标注示意图。图6A至图6E是现有技术中的二维人脸特征点定位结果示意图。图7A至图7E是应用本申请实施例提供的三维人脸的图像处理方法定位出的人脸区域三维特征点示意图。图8是应用本申请实施例提供的三维人脸的图像处理方法的美妆效果示意图。图9是本申请实施例提供的三维人脸的图像处理装置的结构示意图。图10为本申请实施例提供的一种电子设备的结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。为了改善大姿态的人脸美妆效果,本申请实施例提供了一种三维人脸的图像处理方法和装置,该方法的执行主体,可以包括但不限于手机、IPAD、平板电脑、可穿戴设备等能够被配置为执行本发明实施例提供的方法的终端的至少一种,或者,该方法的执行主体,还可以是能够执行该方法的客户端本身。下面先对本申请实施例提供的一种三维人脸的图像处理方法进行说明。且为了便于描述,下文以该方法的执行主体为能够执行该方法的手机为例,对该方法的实施方式进行介绍。可以理解,该方法的执行主体为手机只是一种示例性的说明,并不应理解为对该方法的限定。如图1所示,本申请实施例提供的一种三维人脸的图像处理方法,应用于移动终端,该方法可以包括如下步骤:步骤101、接收对目标图像中的人脸区域进行图像处理的请求。目标图像,可以是包含至少一个人脸区域的单独的图像,例如用户手机上存储的一张包含人脸区域的照片,或者用户利用手机拍摄的一张包含人脸区域的照片;目标图像,还可以是视频中包含人脸区域的一帧图像,例如用户手机上存储的一段视频中的一帧图像,或者用户利用手机拍摄的一段视频中的一帧图像。在实际应用中,本申请实施例提供的三维人脸的图像处理方法可以作为一个图像处理应用程序安装在手机中,用户通过该应用程序打开需要进行图像处理的照片,即认为是发起了对目标图像中的人脸区域进行图像处理的请求,所述图像处理具体可以是美妆处理。步骤102、将所述目标图像输入预先训练得到的沙漏网络模型。其中,所述沙漏网络模型是通过将深度网络模型(深度卷积神经网络模型)的残差模块进行二值化卷积处理得到的深度网络模型,且所述沙漏网络模型是基于三维人脸特征点数据库训练得到的。更为具体的,所述沙漏网络模型(Hourglass)包括多个残差模块,所述残差模块包括多个卷积模块,且所述卷积模块为二值化位运算卷积模块。沙漏网络模型是深度卷积神经网络模型的一种,且在本申请实施例中,沙漏网络模型既可以是单层的、也可以是多层的。由于移动终端的计算能力相比于台式计算机而言较弱,因此,在移动终端中,可以选用体积较小的单层深度网络模型,以减少移动终端的计算量,从而降低移动终端在执行本申请实施例的提供的人脸三维美妆方法时的计算压力。但也可以理解,沙漏网络模型的层数越多,人脸区域三维特征点的定位精度越高。在实际应用中,可以根据移动终端的计算能力,确定所采用的沙漏网络模型的层数,本申请实施例对此不做限定。图2示出了本申请实施例提供的单层沙漏网络模型的一种结构示意图。在图2中,一个长方体代表一个残差模块,且图2所示的单层沙漏网络模型中存在旁路相加的情况,具体如,图2中加号所示的位置,代表两个旁路的相加。需要说明的是,图2所示的单层网络模型仅仅是一种示例,在实际应用中可采用其他形式的单层沙漏网络模型,本申请实施例对此也不做限定。本申请实施例采用的沙漏网络模型中的残差模块可以包括多个卷积模块,且其中的卷积模块为二值化位运算卷积模块,其中,位运算包括:与、或、异或等逻辑运算,由于异或运算能取得更好的三维特征点定位效果,因此,作为一个较佳的例子,所述位运算为异或位运算,相应的,所述卷积模块为二值化异或xor[-1,1]卷积模块。在本申请实施例中,二值化的具体过程是,将该卷积模块上一层输出的浮点数值进行二值化处理,当上一层输出的浮点数值大于零时变为1,当上一层输出的浮点数值小于零时变为-1(负1),即上一层输出的浮点数值二值化结果为1或-1。在另一个例子中,本申请实施例采用的沙漏网络模型中的残差模块可以包括多个分支,每一所述分支上设置有至少一个上述卷积模块(具体为上述二值化位运算卷积模块),且所述残差模块的输出值为所述多个分支的输出值的连接。也就是说,在该例子中,残差模块最终的输出不是各分支的输出结果对应元素(element-wise)的相加,而是并行连接(Concat)。具体如3所示,本申请实施例提供的沙漏网络模型中的残差模块可以包括:第一分支11、第二分支12和第三分支13,其中:所述第一分支11上设置有第一卷积模块21;所述第二分支12上设置有所述第一卷积模块21和第二卷积模块22,且所述第二卷积模块22的输入值为所述第一卷积模块21的输出值;所述第三分支13上设置有所述第一卷积模块21、所述第二卷积模块22和第三卷积模块23,且所述第二卷积模块22的输入值为所述第一卷积模块21的输出值,所述第三卷积模块23的输入值为所述第二卷积模块22的输出值。在图3中,第一卷积模块21为输入值为256通道、输出值为128通道的3×3二值化异或位运算卷积模块,第二卷积模块22为输入值为128通道、输出值为64通道的3×3二值化异或位运算卷积模块,第三卷积模块23为输入值为64通道、输出值也为64通道的3×3二值化异或位运算卷积模块。其中,3×3表示卷积核的大小为3,也即在图3所示的例子中,第一卷积模块21、第二卷积模块22和第三卷积模块23的卷积核大小均为3。图3所示的残差模块的输出值为第一分支11、第二分支12和第三分支13的并行连接,具体来说,由于第一分支11的输出值为128通道,第二分支12和第三分支13的输出值均为64通道,那么将第一分支11、第二分支12和第三分支13的输出值并行连接后得到256(128+64+64=256)通道的输出值。图3所示的残差模块的初始输入值为与该残差模块连接的上一残差模块的输出值。可选地,如图3所示,在每一分支中,每一卷积模块的输入值是经过归一化(BatchNormalization,BN)和二值化(Binary)处理后的值,以及每一卷积模块的运算是异或运算而不是传统的乘法运算。进一步地,为了更清楚地说明本申请实施例采用的包含多个二值化位运算卷积模块的残差模块带来的有益技术效果,下面结合图4对现有技术中采用的残差模块的结构进行说明。如图4所示,现有技术中的残差模块包括:设置在同一支路上的第四卷积模块31、第五卷积模块32和第六卷积模块33,且该残差模块只有一个支路。其中,第四卷积模块31为输入值为256通道、输出值为128通道的1×1卷积模块,第五卷积模块32为输入值为128通道、输出值也为128通道的3×3卷积模块,第六卷积模块33为输入值为128通道、输出值为256通道的1×1卷积模块。在图4所示的残差模块中,虽然对输入各卷积模块的输入值进行了归一化处理,但是第四卷积模块31、第五卷积模块32和第六卷积模块33仍然进行的浮点数(RELU)乘法运算,使得采用现有技术提供的残差模块构成的沙漏网络模型的大小可能达到几百兆,对手机等移动终端来说适用性差。可以理解的是,由于浮点数值需要占用32位的内存,而二值化位运算的结果只需要占用1位内存(例如,1与1的异或位运算结果等于0,而0仅需要占用1位内存),因此,当沙漏网络模型采用的卷积模块为二值化位运算卷积模块时,可以降低大约32倍的内存消耗,与此同时还会降低沙漏网络模型本身的大小(可以小于5M),以及能实现运算速度的加速(大约7倍的加速),最终使得本申请实施例提供的一种三维人脸的图像处理方法非常适用于移动终端。此外,在一个例子中,本申请实施例采用的残差模块中的卷积模块的卷积核大小均大于1,如图3所示的第一卷积模块21、第二卷积模块22和第三卷积模块23的卷积核大小均大于1。也即,相比于图4所示的现有技术中卷积模块,本申请实施例去除了1×1卷积模块,而是采用卷积核大于1的卷积模块。这是因为,在二值化位运算卷积模块中,1×1卷积会减小图像特征表达能力,而3×3卷积模块作为一个多尺度的卷积核,可以大大提升图像特征表达能力,从而有助于提升人脸区域三维特征点的定位精度。需要说明的是,虽然图3仅示出了包含3个分支和3个卷积模块的残差模块,但是基于本申请实施例提供的发明构思,本领域技术人员还可以延伸出包含其它数量(例如4个)的分支和其它数量(例如4个)的卷积模块的残差模块。再有,本申请实施例采用的沙漏网络模型是直接基于三维(3D)人脸特征点数据库训练得到的,因此在下述的步骤103中,能够直接定位出目标图像中人脸区域的三维特征点。而在现有技术中,先根据已知的模型(如本说明书
背景技术
中所列举的模型)定位出人脸的二维(2D)特征点,然后基于二维特征点和三维人脸特征点数据库拟合得到的人脸三维姿态。相比而言,在人脸大姿态情况下,后者(现有技术)利用2D特征点标注三维姿态时,会出现本来隐藏的特征点移动到可视位置的情况,特别是隐藏的脸部轮廓点会移动到可视位置的情况,导致人脸大姿态情况下的特征点定位效果不佳。前者(本申请)则不会出现这样的情况,而是能直接、准确地定位出反映三维姿态的三维特征点,在异常初始化矩形框等况下也能精确地定位出三维特征点,为后续获得良好的美妆效果奠定了基础。需要说明的是,基于三维人脸特征点数据库训练得到沙漏网络模型的过程属于现有技术,此处不加赘述。图5示出了三维人脸特征点数据库中的人脸区域三维特征点标注示意图。步骤103、基于所述沙漏网络模型,定位所述人脸区域的三维特征点。在上述对步骤102的说明中,已经详细说明了本申请实施例所采用的沙漏网模型的结构,以及训练该沙漏网络性所采用的数据库,因此在经过步骤103之后,可以精确地定位出目标图像中的人脸区域的三维特征点。下面结合图6A至图6E以及图7A至图7E,对现有技术提供的方法的定位效果(或者说人脸对齐效果)与本申请实施例提供的方法的定位效果进行比较。图6A至图6E显示出了现有技术中的二维人脸特征点定位结果示意图,图7A至图7E显示出了应用本申请实施例提供的三维人脸的图像处理方法定位出的人脸区域三维特征点示意图,且图7A至图7E中所示的效果示意图是基于AFLW2000-3D数据库测试得到的。对比可见,图7A至图7E中显示的定位结果与人脸的实际特征点更吻合。为了更加直观地理解上述对比结果,下面采用归一化平均误差(NormalizedMeanError,NME)对上述对比结果进行量化比较,具体是将多个点(例如68个)的像素误差的平方和开根号后再除以两个眼睛之间的距离得到归一化平均误差,具体计算公式如下:其中,dist为两个眼睛之间的距离,dx为像素误差。表1列出了本申请实施例提供的一种三维人脸的图像处理方法(在表1中简称为本申请实施例)与现有技术中的ESR和SDM两种方法的归一化平均误差值,在表1中,[0,30]、[30,60]和[60,90]表示人脸绕垂直于水平面的平面的旋转角度,人脸旋转角度的大小代表人脸姿态的大小。表1方法[0,30][30,60][60,90]平均ESR5.6912.5622.4313.56SDM4.688.2118.5610.48本申请实施例3.674.335.544.51从表1中不难看出,在大姿态情况下,例如人脸旋转角度大于30度的情况下,本申请实施例能够取得更高的定位精度,能更精确地定位出人脸区域三维特征点。步骤104、基于定位出的所述人脸区域的三维特征点,对所述人脸区域进行图像处理。具体而言,步骤104可以包括:将UV图的坐标与所述目标图像中所述人脸区域的三维特征点的坐标对齐,所述UV图为具有预设美妆纹理效果的图像;将所述UV图投影到对齐后的所述目标图像中。可选地,在将所述UV图投影到对齐后的所述目标图像中之前,本申请实施例提供的三维人脸的图像处理方法还可以包括:确定所述目标图像中所述人脸区域的遮挡部分;将所述UV图中与所述遮挡部分对应的部分进行切除。在具体实现时,在定位出人脸区域三维特征点后,利用3D渲染引擎(例如,OpenGL渲染引擎)切除人脸上的遮挡部分,然后将UV图中预先设置好的美妆纹理投影、贴合在目标图像中的人脸上,实现对唇彩、粉底、腮红、眼线、眼影等的一键美妆效果。图8示出了本申请实施例提供的三维人脸的图像处理方法一个应用效果示意图,虽然图8中不能显示真实彩色美妆效果图,但我们依然能从图8中看出人脸上的嘴唇、眉毛、睫毛等部位具备良好的化妆效果。基于上述说明,不难发现,本申请实施例提供的一种三维人脸的图像处理方法,一方面,在接收到对目标图像中的人脸进行美妆的请求后,由于是通过基于三维人脸特征点数据库训练得到的沙漏网络模型,定位出所述人脸区域的三维特征点而不是二维特征点,并基于定位出的所述人脸区域的三维特征点,对所述人脸区域进行图像处理。因此,不但对于正向或者小姿态人脸能够获得很好的美妆效果,对于大姿态人脸也能获得良好的美妆效果,改善了大姿态下的美妆效果,换句话说,在任意姿态下都能取得自然贴合的良好美妆效果。另一方面,由于本申请实施例中的沙漏网络模型是通过将深度网络模型的残差模块进行二值化卷积处理得到的深度网络模型,因此,不仅可以减小沙漏网模型的体积,还可以减少人脸区域三维特征点定位过程中的计算量,从而降低了内存消耗,因此非常适用于移动终端。此外,在本申请的一个实施例中,卷积模块的卷积核均大于1,这可以大大提升图像特征表达能力,从而提升了人脸区域三维特征点的定位精度。相应于上述方法实施例,本申请实施例还提供了一种三维人脸的图像处理装置,下面进行介绍。如图9所示,本申请实施例提供的一种三维人脸的图像处理装置,可以包括:接收模块901、输入模块902、定位模块903和美妆模块904。接收模块901,用于接收对目标图像中的人脸区域进行图像处理的请求。目标图像,可以是包含至少一个人脸区域的单独的图像,例如用户手机上存储的一张包含人脸区域的照片,或者用户利用手机拍摄的一张包含人脸区域的照片;目标图像,还可以是视频中包含人脸区域的一帧图像,例如用户手机上存储的一段视频中的一帧图像,或者用户利用手机拍摄的一段视频中的一帧图像。在实际应用中,本申请实施例提供的三维人脸的图像处理方法可以作为一个图像处理应用程序安装在手机中,用户通过该应用程序打开需要进行图像处理的照片,即认为是发起了对目标图像中的人脸区域进行图像处理的请求,所述图像处理具体可以是美妆处理。输入模块902,用于将所述目标图像输入预先训练得到的沙漏网络模型。其中,所述沙漏网络模型是通过将深度网络模型(深度卷积神经网络模型)的残差模块进行二值化卷积处理得到的深度网络模型,且所述沙漏网络模型是基于三维人脸特征点数据库训练得到的。更为具体的,所述沙漏网络模型(Hourglass)包括多个残差模块,所述残差模块包括多个卷积模块,且所述卷积模块为二值化位运算卷积模块。由于移动终端的计算能力相比于台式计算机而言较弱,因此,在移动终端中,可以选用体积较小的单层深度网络模型,以减少移动终端的计算量,从而降低移动终端在执行本申请实施例的提供的人脸三维美妆方法时的计算压力。但也可以理解,沙漏网络模型的层数越多,人脸区域三维特征点的定位精度越高。在实际应用中,可以根据移动终端的计算能力,确定所采用的沙漏网络模型的层数,本申请实施例对此不做限定。本申请实施例采用的沙漏网络模型中的残差模块可以包括多个卷积模块,且其中的卷积模块为二值化位运算卷积模块,其中,位运算包括:与、或、异或等逻辑运算,由于异或运算能取得更好的三维特征点定位效果,因此,作为一个较佳的例子,所述位运算为异或位运算,相应的,所述卷积模块为二值化异或xor[-1,1]卷积模块。在另一个例子中,本申请实施例采用的沙漏网络模型中的残差模块可以包括多个分支,每一所述分支上设置有至少一个上述卷积模块(具体为上述二值化位运算卷积模块),且所述残差模块的输出值为所述多个分支的输出值的连接。也就是说,在该例子中,残差模块最终的输出不是各分支的输出结果对应元素(element-wise)的相加,而是并行连接(Concat)。所述残差模块包括:第一分支、第二分支和第三分支,其中:所述第一分支上设置有第一卷积模块;所述第二分支上设置有所述第一卷积模块和第二卷积模块,且所述第二卷积模块的输入值为所述第一卷积模块的输出值;所述第三分支上设置有所述第一卷积模块、所述第二卷积模块和第三卷积模块,且所述第二卷积模块的输入值为所述第一卷积模块的输出值,所述第三卷积模块的输入值为所述第二卷积模块的输出值;以及所述第一卷积模块、所述第二卷积模块和所述第三卷积模块的卷积核的大小均大于1。例如,所述第一卷积模块、所述第二卷积模块和所述第三卷积模块的卷积核的大小均为3具体如3所示,本申请实施例提供的沙漏网络模型中的残差模块可以包括:第一分支11、第二分支12和第三分支13,其中:所述第一分支11上设置有第一卷积模块21;所述第二分支12上设置有所述第一卷积模块21和第二卷积模块22,且所述第二卷积模块22的输入值为所述第一卷积模块21的输出值;所述第三分支13上设置有所述第一卷积模块21、所述第二卷积模块22和第三卷积模块23,且所述第二卷积模块22的输入值为所述第一卷积模块21的输出值,所述第三卷积模块23的输入值为所述第二卷积模块22的输出值。在图3中,第一卷积模块21为输入值为256通道、输出值为128通道的3×3二值化异或位运算卷积模块,第二卷积模块22为输入值为128通道、输出值为64通道的3×3二值化异或位运算卷积模块,第三卷积模块23为输入值为64通道、输出值也为64通道的3×3二值化异或位运算卷积模块。其中,3×3表示卷积核的大小为3,也即在图3所示的例子中,第一卷积模块21、第二卷积模块22和第三卷积模块23的卷积核大小均为3。图3所示的残差模块的输出值为第一分支11、第二分支12和第三分支13的并行连接,具体来说,由于第一分支11的输出值为128通道,第二分支12和第三分支13的输出值均为64通道,那么将第一分支11、第二分支12和第三分支13的输出值并行连接后得到256(128+64+64=256)通道的输出值。图3所示的残差模块的初始输入值为与该残差模块连接的上一残差模块的输出值。可选地,如图3所示,在每一分支中,每一卷积模块的输入值是经过归一化(BatchNormalization,BN)和二值化(Binary)处理后的值,以及每一卷积模块的运算是异或运算而不是传统的乘法运算。进一步地,为了更清楚地说明本申请实施例采用的包含多个二值化位运算卷积模块的残差模块带来的有益技术效果,下面结合图4对现有技术中采用的残差模块的结构进行说明。如图4所示,现有技术中的残差模块包括:设置在同一支路上的第四卷积模块31、第五卷积模块32和第六卷积模块33,且该残差模块只有一个支路。其中,第四卷积模块31为输入值为256通道、输出值为128通道的1×1卷积模块,第五卷积模块32为输入值为128通道、输出值也为128通道的3×3卷积模块,第六卷积模块33为输入值为128通道、输出值为256通道的1×1卷积模块。在图4所示的残差模块中,虽然对输入各卷积模块的输入值进行了归一化处理,但是第四卷积模块31、第五卷积模块32和第六卷积模块33仍然进行的浮点数(RELU)乘法运算,使得采用现有技术提供的残差模块构成的沙漏网络模型的大小可能达到几百兆,对手机等移动终端来说适用性差。可以理解的是,由于浮点数值需要占用32位的内存,而二值化位运算的结果只需要占用1位内存(例如,1与1的异或位运算结果等于0,而0仅需要占用1为内存),因此,当沙漏网络模型采用的卷积模块为二值化为运算卷积模块时,可以降低大约32倍的内存消耗,与此同时还会降低沙漏网络模型本身的大小(可以小于5M),以及能实现运算速度的加速(大约7倍的加速),最终使得本申请实施例提供的一种三维人脸的图像处理方法非常适用于移动终端。此外,在一个例子中,本申请实施例采用的残差模块中的卷积模块的卷积核大小均大于1,如图3所示的第一卷积模块21、第二卷积模块22和第三卷积模块23的卷积核大小均大于1。也即,相比于图4所示的现有技术中卷积模块,本申请实施例去除了1×1卷积模块,而是采用卷积核大于1的卷积模块。这是因为,在二值化位运算卷积模块中,1×1卷积会减小图像特征表达能力,而3×3卷积模块作为一个多尺度的卷积核,可以大大提升图像特征表达能力,从而有助于提升人脸区域三维特征点的定位精度。需要说明的是,虽然图3仅示出了包含3个分支和3个卷积模块的残差模块,但是基于本申请实施例提供的发明构思,本领域技术人员还可以延伸出包含其它数量(例如4个)的分支和其它数量(例如4个)的卷积模块的残差模块。再有,本申请实施例采用的沙漏网络模型是直接基于三维(3D)人脸数据库训练得到的,也即采用人脸区域三维特征点标注数据库中的数据直接训练获得沙漏网络模型,因此在下述的步骤103中,能够直接定位出目标图像中人脸区域的三维特征点。而在现有技术中,先根据已知的模型(如本说明书
背景技术
中所列举的模型)定位出人脸的二维(2D)特征点,然后基于二维特征点和三维人脸特征点数据库拟合得到的人脸三维姿态。相比而言,在人脸大姿态情况下,后者(现有技术)利用2D特征点标注三维姿态时,会出现本来隐藏的特征点移动到可视位置的情况,特别是隐藏的脸部轮廓点会移动到可视位置的情况,导致人脸大姿态情况下的特征点定位效果不佳。前者(本申请)则不会出现这样的情况,而是能直接、准确地定位出反映三维姿态的三维特征点,在异常初始化矩形框等况下也能精确地定位出三维特征点,为后续获得良好的美妆效果奠定了基础。需要说明的是,基于三维人脸特征点数据库训练得到沙漏网络模型的过程属于现有技术,此处不加赘述。定位模块903,用于基于所述沙漏网络模型,定位所述人脸区域的三维特征点。在定位模块903中,由于是通过基于三维人脸特征点数据库训练得到的沙漏网络模型,定位出所述人脸区域的三维特征点而不是依赖二维特征点。因此,定位出的人脸区域的三维特征点更精确。美妆模块904,用于基于定位出的所述人脸区域的三维特征点,对所述人脸区域进行图像处理。具体而言,所述美妆模块904可以用于:将UV图的坐标与所述目标图像中所述人脸区域的三维特征点的坐标对齐,所述UV图为具有预设美妆纹理效果的图像;将所述UV图投影到对齐后的所述目标图像中。可选地,本申请实施例的一种三维人脸的图像处理装置还可以包括:确定模块,用于在所述将所述UV图投影到对齐后的所述目标图像中之前,确定所述目标图像中所述人脸区域的遮挡部分;切除模块,用于将所述UV图中与所述遮挡部分对应的部分进行切除。在具体实现时,在定位出人脸区域三维特征点后,利用3D渲染引擎(例如,OpenGL渲染引擎)切除人脸上的遮挡部分,然后将UV图中预先设置好的美妆纹理投影、贴合在目标图像中的人脸上,实现对唇彩、粉底、腮红、眼线、眼影等的一键美妆效果。图8示出了本申请实施例提供的三维人脸的图像处理方法一个应用效果示意图,虽然图8中不能显示真实彩色美妆效果图,但我们依然能从图8中看出人脸上的嘴唇、眉毛、睫毛等部位具备良好的化妆效果。基于上述说明,同样不难发现,本申请实施例提供的一种三维人脸的图像处理装置,一方面,在接收到对目标图像中的人脸进行美妆的请求后,由于是通过基于三维人脸特征点数据库训练得到的沙漏网络模型,定位出所述人脸区域的三维特征点而不是二维特征点,并基于定位出的所述人脸区域的三维特征点,对所述人脸区域进行图像处理。因此,不但对于正向或者小姿态人脸能够获得很好的美妆效果,对于大姿态人脸也能获得良好的美妆效果,改善了大姿态下的美妆效果,换句话说,在任意姿态下都能取得自然贴合的良好美妆效果。另一方面,由于本申请实施例中的沙漏网络模型是通过将深度网络模型的残差模块进行二值化卷积处理得到的深度网络模型,因此,不仅可以减小沙漏网模型的体积,还可以减少人脸区域三维特征点定位过程中的计算量,从而降低了内存消耗,因此非常适用于移动终端。此外,在本申请的一个实施例中,卷积模块的卷积核均大于1,这可以大大提升图像特征表达能力,从而提升了人脸区域三维特征点的定位精度。需要说明的是,由于装置实施例执行的内容与方法实施例类似,因此,本文对装置实施例部分描述的较为简略,相关之处请参见方法实施例部分。图10示出了是本申请实施例提供的一种电子设备的结构示意图。请参考图10,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-AccessMemory,RAM),也可能还包括非易失性存储器(non-volatilememory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(IndustryStandardArchitecture,工业标准体系结构)总线、PCI(PeripheralComponentInterconnect,外设部件互连标准)总线或EISA(ExtendedIndustryStandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成三维人脸的图像处理装置。处理器,执行存储器所存放的程序,并具体用于执行本申请实施例提供的三维人脸的图像处理方法。上述如本申请图10所示实施例揭示的三维人脸的图像处理装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessingUnit,CPU)、网络处理器(NetworkProcessor,NP)等;还可以是数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图10所示实施例中三维人脸的图像处理装置执行的方法,并具体用于执行本申请实施例提供的三维人脸的图像处理方法。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。需要说明的是,本申请中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1