一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于CNN的面部油光去除方法、装置以及设备与流程

2022-06-02 14:09:58 来源:中国专利 TAG:

一种基于cnn的面部油光去除方法、装置以及设备
技术领域
1.本发明涉及图像处理技术领域,尤其涉及一种基于cnn的面部油光去除方法、装置以及设备。


背景技术:

2.由于经常熬夜、过度疲劳以及作息不规律,会导致人的内分泌失调,出现面部油腻,出油的情况。一些特定情况下(比如灯光)也会拍出油光满面的照片。基于上述所获取的照片,在进行修图时,人像的面部会有明显的油光、高光分散,影响照片整体美观。如何告别油光满面,一键拥有高级质感是业界重点想要解决的难点。油光主要分布于额头、两颊、人中、下巴、鼻头和眼角周围。油光是大面积呈片状散开,形状不规则,分布不均匀,有液体感,且高亮区域颜色为亮白色。
3.目前行业中,对于人脸面部油光去除的方案是基于传统算法,通过亮度统计的方式检测出人脸面部的油光区域再使用固定阈值对面部区域油光调整,使用该类型方法去除油光需要根据不同的使用场景以及不同的光照环境不断调整油光区域的判断阈值。对于实际需求中的复杂场景,传统算法的应用需要设置不同的参数进行调整,操作繁琐。


技术实现要素:

4.有鉴于此,本发明的目的在于提出一种基于cnn的面部油光去除方法和装置以及设备,旨在解决现有的油光去除方法需要根据不同情况不断调整判断阈值,导致操作繁琐的问题。
5.为实现上述目的,本发明提供一种基于cnn的面部油光去除方法,所述方法包括:
6.获取输入的待处理图像;
7.对所述待处理图像进行预处理,得到第一人脸图;
8.计算所述第一人脸图的人脸蒙版以及噪声蒙版;
9.将所述第一人脸图以及所述噪声蒙版输入至预先训练完成的祛油光模型中进行人脸油光去除处理,得到目标人脸图像。
10.优选的,所述对所述待处理图像进行预处理,得到第一人脸图,包括:
11.对所述待处理图像进行人脸点检测,基于人脸点计算所述待处理图像的人脸外接框;
12.根据所述人脸外接框计算所述待处理图像的仿射变换矩阵,并进行人脸矫正和裁剪,得到第一人脸图。
13.优选的,所述计算所述第一人脸图的人脸蒙版以及噪声蒙版,包括:
14.通过获取所述第一人脸图的人脸点计算所述第一人脸图的所述人脸蒙版;
15.根据所述人脸蒙版将所述第一人脸图中像素值大于0的区域随机生成与所述人脸蒙版相同尺寸的所述噪声蒙版。
16.优选的,所述将所述第一人脸图以及所述噪声蒙版输入至预先训练完成的祛油光
模型中进行人脸油光去除处理,得到目标人脸图像,包括:
17.基于所述仿射变换矩阵计算对应的逆矩阵,通过所述逆矩阵将所述祛油光模型中进行人脸油光去除处理后所得到的结果图映射至所述待处理图像中,得到所述目标人脸图像。
18.优选的,所述方法还包括:
19.判断所述第一人脸图的人脸光照类型是否为油光类型。
20.优选的,所述袪油光模型基于gan网络进行网络构建,所述袪油光模型包括生成网络和判别网络,其中,所述生成网络采用编码解码结构进行构建,所述判别网络包括多尺度的辨别器。
21.优选的,所述袪油光模型包括在所述生成网络中设有用于提取图像中人脸区域的面部纹理的纹理保护模块。
22.为实现上述目的,本发明还提供一种基于cnn的面部油光去除装置,所述装置包括:
23.获取单元,用于获取输入的待处理图像;
24.预处理单元,用于对所述待处理图像进行预处理,得到第一人脸图;
25.计算单元,用于计算所述第一人脸图的人脸蒙版以及噪声蒙版;
26.油光去除单元,用于将所述第一人脸图以及所述噪声蒙版输入至预先训练完成的祛油光模型中进行人脸油光去除处理,得到目标人脸图像。
27.为了实现上述目的,本发明还提出一种设备,包括处理器、存储器以及存储在所述存储器内的计算机程序,所述计算机程序被所述处理器执行以实现如上述实施例所述的一种基于cnn的面部油光去除方法的步骤。
28.为了实现上述目的,本发明还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现如上述实施例所述的一种基于cnn的面部油光去除方法的步骤。
29.有益效果:
30.以上方案,通过对待处理图像进行预处理后得到的第一人脸图进行计算,得到人脸蒙版和噪声蒙版,将其输入预训练完成的袪油光模型进行人脸油光去除处理,得到目标人脸图像,该袪油光模型基于cnn网络结构进行训练,无需进行复杂的参数调整,能够快速精确的去除人像的面部油光,提升图片的视觉观感效果。
附图说明
31.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
32.图1为本发明一实施例提供的一种基于cnn的面部油光去除方法的流程示意图。
33.图2为本发明一实施例提供的矫正裁剪后的人脸图。
34.图3为本发明一实施例提供的人脸蒙版示意图。
35.图4为本发明一实施例提供的噪声蒙版示意图。
36.图5为本发明一实施例提供的生成网络的结构示意图。
37.图6为本发明一实施例提供的生成网络的网络结构示意图。
38.图7为本发明一实施例提供的待处理图像示意图。
39.图8为本发明一实施例提供的目标人脸图像的结果示意图。
40.图9为本发明一实施例提供的一种基于cnn的面部油光去除装置的结构示意图。
41.发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
42.为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
43.在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。
44.以下结合实施例详细阐述本发明的内容。
45.现有人脸面部去除油光方案并不完善,还存在以下难点:
46.(1)目前有些方案虽然能够去除面部油光,但是为了保证人脸油光区域的纹理不丢失,会采用线性叠加原图的形式把去油光图与原图进行融合,这样虽然能够减少去油光区域的纹理细节丢失,但是会导致结果图油光去除不干净。(2)再有现有方案无法准确区分面部的高光、哑光与油光区域的区别,造成对高光以及哑光区域的错误去除。综上,现有的修图软件虽然能够根据用户图片的实际情况去除油光,但是存在油光去除不干净或者是去油光后油光区域纹理丢失或者肤色过度不均匀的情况。目前还没有可以在保证人像面部质感的同时有效去除人像面部油光。
47.基于此,本发明提出一种基于cnn的面部油光去除方法,无需进行复杂的参数调整,能够快速精确的祛除人像的面部油光的同时保证肤色质感,确保在各种复杂场景下都能具有较好的鲁棒性。
48.参照图1所示为本发明一实施例提供的一种基于cnn的面部油光去除方法的流程示意图。
49.本实施例中,该方法包括:
50.s11,获取输入的待处理图像。
51.s12,对所述待处理图像进行预处理,得到第一人脸图。
52.s13,计算所述第一人脸图的人脸蒙版以及噪声蒙版。
53.s14,将所述第一人脸图以及所述噪声蒙版输入至预先训练完成的祛油光模型中进行人脸油光去除处理,得到目标人脸图像。
54.在本实施例中,为了提高袪油光模型的学习能力,以及模型的稳定性,在准备训练数据时并不是直接将图像作为网络输入,而是对图像进行数据预处理:包括人脸检测、提取人脸点以及人脸外接框,对提取出的人脸进行摆正,从而保证输入人脸是摆正的以及裁剪出的人脸在图像中占比更高,能够为网络提供更多有效信息。具体的,通过使用当前已经成熟的基于cnn的人脸检测和人脸对齐技术检测出图像img中的人脸点fcaepoint,并根据人脸点fcaepoint计算出人脸在图像中的最大外接矩。使用外接矩计算出人脸相对于图像img的仿射变换矩阵f,将矫正后的人脸图faceimg从图像img裁剪出来,并获取对应的经过旋转矫正后的人脸图的人脸点facepointwarp,人脸图faceimg如图2所示。
55.进一步的,利用获取矫正后的人脸图的人脸点facepointwarp计算出裁剪出的人脸图对应的单通道人脸蒙版facemask,人脸蒙版facemask的作用是提高后续使用的cnn网络的训练效率,人脸蒙版facemask如图3所示。进一步的,使用人脸蒙版facemask对人脸图中每一个像素值大于0的区域,随机生成与人脸蒙版facemask相同尺度的随机噪声蒙版nosiemask,噪声蒙版nosiemask如图4所示。本实施例中,加入一张基于人脸蒙版facemask的有效区域生成的随机噪声蒙版nosiemask,与输入的人脸图faceimg进行concate作为第四通道。噪声蒙版图的作用是提高输入模型数据的丰富程度,提高模型鲁棒性,提高最终模型结果的肤色质感以及清晰度,从而确保所输出的结果不会存在涂抹感。
56.更进一步的,将人脸图faceimg输入油光类型识别模块进行识别处理,区分出高光/哑光/油光类型。通过区分出存在油光问题的图像,成对的监督数据能够直接得到相对应的去油光结果,对各类场景均有较好的鲁棒性。
57.其中,所述袪油光模型基于gan网络进行网络构建,所述袪油光模型包括生成网络和判别网络,其中,所述生成网络采用编码解码结构进行构建,所述判别网络包括多尺度的辨别器。
58.其中,所述袪油光模型包括在所述生成网络中设有用于提取图像中人脸区域的面部纹理的纹理保护模块。
59.在本实施例中,构建了一种通用的全卷积网络,采用的是320-640尺度范围内的随机分辨率输入(能够有效提高网络应对不同分辨率图像的效果)。该袪油光模型包括生成网络和判别网络,其中,生成网络输入通道为4通道,分别是旋转矫正后裁剪出的人脸图faceimg,以及基于人脸蒙版facemask生成的nosiemask,将两张图concate到一起作为输入。其中,faceimg和nosiemask需要归一化到(-1,1)的范围。
60.进一步的,该生成网络采用编码解码结构,解码部分的上采样采用的是最近邻上采样 卷积层的结合,输出层的激活函数为tanh,参见图5所示。传统的生成网络为了提高模型的训练效率,会在网络结构中加入归一化层,而本实施例为了提高模型对不同复杂场景的鲁棒性,取消所有bn层,减少固定的归一化值对效果的负面影响。也就是通过去除bn层,能有效改善去油光后区域色彩不均匀的问题。
61.鉴于传统的基于cnn的去油光算法处理得到的图像存在纹理不清晰,油光区域过度不均匀的情况,本方法在编码-解码层之间加入了一个纹理保护模块(tpm),如图6所示的网络结构示意图。人脸区域的面部纹理属于高频的全局特征,该纹理保护模块能够提取图像的全局高频特征,tpm的前后输入特征图的尺度不变,在进入解码网络前与局部特征相结合。通过加入纹理保护模块,将全局高频特征与局部特征结合,能够有效保护人脸区域纹
理,防止去油光区域肤色过度不均匀。本实施例提出的是适用于任何一个全卷积-生成对抗网络结构的,这里以下表1的网络结构为例,构建一个生成网络,网络的输入尺寸以384为例,leakyrelu的negativeslope均为0.3。
62.进一步的,该判别网络采用的是multi_scale的discriminator,分别判别不同分辨率的真假图像。本实施例采用2个尺度的判别器,分别判别384x384、192x192,不同分辨率的图像,直接通过maxpooling下采样即可。
63.64.表1
65.另外,训练数据是通过搜集不同年龄段、不同面部姿态、不同光照环境下以及不同性别用户的图像数据50000张(侧脸等多姿态的训练数据能够有效提高模型的鲁棒性)。通过搜集不同年龄段、不同面部姿态以及不同性别用户的存在面部油光情况的人像数据,使用传统的祛油光算法生成监督数据。其中47000张为训练集,3000为测试集。为了得到鲁棒性更强的网络,在训练时对数据添加了多种增益,如仿射变换,文字或物体遮挡,曝光,对比度、饱和度调整,马赛克等。
66.进一步的,对网络训练的优化算法使用adam,生成网络的学习率为0.0002,判别网络的学习率为0.0001。该模型训练的总损失表示为:
[0067][0068]
其中,α,β,γ表示相对应损失函数的权重。α=1,β=0.5,γ=0.5。
[0069][0070]
其中,tanh是做双曲正切处理,output表示网络输出图像,groundtruth是目标图。
[0071]
另外,选择l1_loss能够保证图像的色彩亮度。l1_loss是一个线性的损失函数,为了保证图像高频区域细节不会损失,计算l1_loss之前,分别对输出图像output以及groundtruth做tanh操作,这样能够保证图像在高频区域有更高的权重。再有,为保证图像感知相似性,引入了基于vgg19的感知损失perceptual_loss:l
perc
;以及为了保证图像真实性,利用对抗损失gan_loss来最小化真实图像的色彩估计与生成网络输出的图像色彩分布之间的距离。其中,代表两个不同分辨率的判别器输出的损失函数。
[0072][0073]
其中,ladv(生成对抗损失)是一个常见的对抗损失函数,d代表上文中提到的判别器,x代表真实数据(即,groundtruth),z代表网络生成的数据,px表示真实数据样本的分布,pz同理。e表示期望。
[0074]
进一步的,所述对所述待处理图像进行预处理,得到第一人脸图,包括:
[0075]
s12-1,对所述待处理图像进行人脸点检测,基于人脸点计算所述待处理图像的人脸外接框;
[0076]
s12-2,根据所述人脸外接框计算所述待处理图像的仿射变换矩阵,并进行人脸矫正和裁剪,得到第一人脸图。
[0077]
进一步的,所述计算所述第一人脸图的人脸蒙版以及噪声蒙版,包括:
[0078]
s13-1,通过获取所述第一人脸图的人脸点计算所述第一人脸图的所述人脸蒙版;
[0079]
s13-2,根据所述人脸蒙版将所述第一人脸图中像素值大于0的区域随机生成与所述人脸蒙版相同尺寸的所述噪声蒙版。
[0080]
进一步的,所述将所述第一人脸图以及所述噪声蒙版输入至预先训练完成的祛油光模型中进行人脸油光去除处理,得到目标人脸图像,包括:
[0081]
基于所述仿射变换矩阵计算对应的逆矩阵,通过所述逆矩阵将所述祛油光模型中进行人脸油光去除处理后所得到的结果图映射至所述待处理图像中,得到所述目标人脸图像。
[0082]
在本实施例中,通过上述训练完成后得到了袪油光模型。在具体应用时,对于一张原始用户图,如图7所示的待处理图像示意图,首先使用上述对图像进行数据预处理的方式裁剪出矫正后的第一人脸图,利用获取第一人脸图的人脸点生成对应的人脸蒙版,再根据人脸蒙版的有效区域生成随机噪声蒙版,将所裁剪出的第一人脸图以及噪声蒙版进行cancate成4通道,并输入到训练好的袪油光模型中,网络的最终输出结果就是去除油光后的目标人脸图像。该目标人脸图像可参见图8所示。
[0083]
更进一步的,在所述对所述待处理图像进行预处理,得到第一人脸图之后,还包括:
[0084]
判断所述第一人脸图的人脸光照类型是否为油光类型。
[0085]
在本实施例中,面部高光与哑光均属于人脸面部妆容的正常情况,传统的祛油光算法比较多的是直接对面部油光区域进行处理,但是并没有将油光与妆容中的高光/哑光类型区分开,造成对高光/哑光区域的错误处理。本实施例添加了油光类型识别模块,通过目前比较成熟的基于cnn的油光/哑光/高光三种人脸光照情况的分类方法,对裁剪后的第一人脸图进行识别处理,即判断该第一人脸图的人脸为油光类型才通过袪油光模型进行处理。从而能够有效区分出高光/哑光/油光类型,防止错误处理的同时有效去除油光。
[0086]
综上,本实施例通过设计了基于全卷机网络的袪油光模型以及特殊的训练流程,能够有效区分出高光/哑光/油光类型,有效去除油光,是一种端到端的面部油光去除方法。另外,传统方法使用高斯或者其他低通滤波方案对油光区域处理再叠加回原图的处理方式会造成去油光区域的纹理细节缺失以及肤色过度不均匀,而本方案使用全人脸图加噪声图的形式作为输入,直接输出结果图,不需要叠加原图,从而能够避免油光去除不干净等问题。再有,在编码-解码网络中间部分加入纹理保护模块tpm,提取了图像的全局高频纹理特征与残差模块的局部特征相结合,这样既能够保证对脸部区域的连续处理不会造成肤色过度不均匀,同时能够提高模型输出的纹理细节,提升清晰度。
[0087]
参照图9所示为本发明一实施例提供的一种基于cnn的面部油光去除装置的结构示意图。
[0088]
在本实施例中,该装置90包括:
[0089]
获取单元91,用于获取输入的待处理图像;
[0090]
预处理单元92,用于对所述待处理图像进行预处理,得到第一人脸图;
[0091]
计算单元93,用于计算所述第一人脸图的人脸蒙版以及噪声蒙版;
[0092]
油光去除单元94,用于将所述第一人脸图以及所述噪声蒙版输入至预先训练完成的祛油光模型中进行人脸油光去除处理,得到目标人脸图像。
[0093]
进一步的,所述预处理单元92,还包括:
[0094]
外接框计算单元,用于对所述待处理图像进行人脸点检测,基于人脸点计算所述待处理图像的人脸外接框;
[0095]
矫正裁剪单元,用于根据所述人脸外接框计算所述待处理图像的仿射变换矩阵,并进行人脸矫正和裁剪,得到第一人脸图。
[0096]
进一步的,所述计算单元93,还包括:
[0097]
人脸蒙版计算单元,用于通过获取所述第一人脸图的人脸点计算所述第一人脸图的所述人脸蒙版;
[0098]
噪声蒙版计算单元,用于根据所述人脸蒙版将所述第一人脸图中像素值大于0的区域随机生成与所述人脸蒙版相同尺寸的所述噪声蒙版。
[0099]
进一步的,所述油光去除单元94,还用于:
[0100]
基于所述仿射变换矩阵计算对应的逆矩阵,通过所述逆矩阵将所述祛油光模型中进行人脸油光去除处理后所得到的结果图映射至所述待处理图像中,得到所述目标人脸图像。
[0101]
进一步的,所述装置90,包括:
[0102]
类型判断单元,用于判断所述第一人脸图的人脸光照类型是否为油光类型。
[0103]
进一步的,所述袪油光模型基于gan网络进行网络构建,所述袪油光模型包括生成网络和判别网络,其中,所述生成网络采用编码解码结构进行构建,所述判别网络包括多尺度的辨别器。
[0104]
进一步的,所述袪油光模型包括在所述生成网络中设有用于提取图像中人脸区域的面部纹理的纹理保护模块。
[0105]
该装置90的各个单元模块可分别执行上述方法实施例中对应步骤,故在此不对各单元模块进行赘述,详细请参见以上对应步骤的说明。
[0106]
本发明实施例还提供一种设备,该设备包括如上所述的基于cnn的面部油光去除装置,其中,基于cnn的面部油光去除装置可以采用图9实施例的结构,其对应地,可以执行图1所示方法实施例的技术方案,其实现原理和技术效果类似,详细可以参见上述实施例中的相关记载,此处不再赘述。
[0107]
所述设备包括:手机、数码相机或平板电脑等具有拍照功能的设备,或者具有图像处理功能的设备,或者具有图像显示功能的设备。所述设备可包括存储器、处理器、输入单元、显示单元、电源等部件。
[0108]
其中,存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(例如图像播放功能等)等;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器和输入单元对存储器的访问。
[0109]
输入单元可用于接收输入的数字或字符或图像信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,本实施例的输入单元除了包括摄像头,还可包括触敏表面(例如触摸显示屏)以及其他输入设备。
[0110]
显示单元可用于显示由用户输入的信息或提供给用户的信息以及设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元可包括显示面板,可选的,可以采用lcd(liquid crystal display,液晶显示器)、oled(organic light-emitting diode,有机发光二极管)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器以确定触摸事件的类型,随后处理器根据触摸事件的类型在显示面板上提供相应的视觉输出。
[0111]
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现图1所示的基于cnn的面部油光去除方法。所述计算机可读存储介质可以是只读存储器,磁盘或光盘等。
[0112]
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例、设备实施例及存储介质实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0113]
并且,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0114]
上述说明示出并描述了本发明的优选实施例,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献