首页> 中国专利> 一种基于绘画笔触指导的人脸素描生成方法

一种基于绘画笔触指导的人脸素描生成方法

摘要

本发明公开了一种基于绘画笔触指导的人脸素描生成方法。本发明步骤如下:步骤(1)数据预处理,将所有数据集的图片经过调整尺寸和裁剪的操作缩放到统一大小;步骤(2)笔触分类器模型的构建及预训练,自定义笔触标签,构建笔触分类器网络模型,完成模型的预训练,保留训练好的模型参数;步骤(3)生成对抗网络模型的构建,分别构建生成器和判别器两个网络模型;步骤(4)生成对抗网络模型的训练,定义损失函数,训练生成对抗网络模型;步骤(5)人脸素描的生成及质量评价。本发明提出了利用笔触分类器辅助指导人脸素描生成的方法,并完成了人脸素描的高质量生成。

著录项

  • 公开/公告号CN112633288A

    专利类型发明专利

  • 公开/公告日2021-04-09

    原文格式PDF

  • 申请/专利权人 杭州电子科技大学;

    申请/专利号CN202011593350.5

  • 发明设计人 俞俊;祝一帆;高飞;

    申请日2020-12-29

  • 分类号G06K9/34(20060101);G06K9/42(20060101);G06K9/62(20060101);G06N3/04(20060101);G06K9/00(20060101);

  • 代理机构33240 杭州君度专利代理事务所(特殊普通合伙);

  • 代理人朱月芬

  • 地址 310018 浙江省杭州市下沙高教园区2号大街

  • 入库时间 2023-06-19 10:32:14

说明书

技术领域

本发明提到了一种基于绘画笔触指导的人脸素描生成(Face2Sketch GenerationBased on Brushstroke Instruction)的新方法,主要涉及一种利用卷积神经网络进行分类训练得到的深层特征即绘画笔触构图信息和全局信息,以构建一个与人工绘画效果更加一致的人脸素描生成模型。

背景技术

图像处理的很多问题都是将一张输入的图片转变为一张对应的输出图片,比如灰度图、梯度图、彩色图之间的转换等。人脸素描生成的本质就是图像间的转换问题,最终目的是希望完成一张人脸照片到对应的素描图像的高质量转换。

目前比较流行的算法是pix2pix,他能够较好地实现人脸素描的生成,但是其生成的素描图像质量不高,特别是生成素描的线条笔触非常的模糊,此外,其在人脸局部细节的生成效果依然有很大的提升空间。

发明内容

本发明的目的是针对人脸素描生成精度的问题,提供一种基于绘画笔触指导的人脸素描生成方法。

本发明解决其技术问题所采用的技术方案包括如下步骤:

步骤(1)数据预处理

将所有数据集的图像经过调整尺寸和裁剪的操作缩放到统一大小;

步骤(2)笔触分类器网络模型的构建及预训练

自定义笔触标签,构建笔触分类器网络模型,完成模型的预训练,保留训练好的模型参数;

步骤(3)生成对抗网络模型的构建

分别构建生成器和判别器两个网络模型;

步骤(4)生成对抗网络模型的训练

定义损失函数,训练生成对抗网络模型;

步骤(5)人脸素描的生成及质量评价

依次将待处理的人脸图像输入到训练后的生成对抗网络模型中,得到对应的人脸素描画图像,并根据指标完成质量评价;

进一步的,步骤(1)所述的数据预处理:

1-1选择CUFS数据集,按照标准数据集划分方法,随机取168张人脸图像和对应的素描画图像作为训练集,其余143张的人脸图像和对应的素描画图像作为测试集;

1-2对图像(包括人脸图像和素描画图像)进行预处理,先将图像填充到286*286大小,然后对图像进行随机裁剪并做数据标准化处理,最终得到的图像大小变为256*256,其中图像中的人脸图像的通道数为3,素描画图像的通道数为1;

进一步的,步骤(2)所述的笔触分类器网络模型的构建及预训练具体实现如下:

2-1使用人脸分割网络BiseNet生成Mask数据集

通过人脸分割网络BiseNet对预处理后数据集中的人脸图像做语义解析,为每个语义成分分配一个像素级标签并进行标注。

所述的语义成分包括头发、面部皮肤、眼睛、鼻子、嘴巴等。

最后获得的20个人脸语义标签如下:

atts=[1'skin',2'l_brow',3'r_brow',4'l_eye',5'r_eye',6'eye_g',7'l_ear',8'r_ear',9'ear_r',10'nose',11'mouth',12'u_lip',13'l_lip',14'neck',15'neck_l',16'cloth',17'hair',18'hat',20'mustache']

2-2根据20个人脸语义标签自定义人脸素描笔触标签:

平滑笔触:patch块最大值为1or 6or 11or 14or 15or 16,则label为1;

毛发笔触:patch块最大值为2or 3or 17or 20,则label为2;

强结构笔触:patch块最大值为7or 8or 9or 10or 12or 13,则label为3;

边界笔触:提取块

其余为背景0。

针对上述笔触标签的定义标准可能出现的错误,使用标签平滑技术,设置错误率为ε,则对应的标签更新为:

label=((1-ε)*label)+(ε/class_num)

其中,class_num表示分类的标签数,这里是5。

2-3构建笔触分类器网络;

使用DenseNet网络构建笔触分类器,其中设置的growthRate=6,depth=10,reduction=0.5;

笔触分类器网络的构建如下:

Bottleneck:先使用BatchNorm2d做标准化,后面采用激活函数‘relu’,再做一个1*1的卷积操作;输出向量继续进行BatchNorm2d标准化、激活函数‘relu’,再做一个3*3的卷积操作后输出;

Transition:先使用BatchNorm2d做标准化,后面采用激活函数‘relu’,再做一个1*1的卷积操作,最后接一个‘avg_pool2d’完成平均池化并输出;

DenseNet:主体使用3个BottleNet,中间使用2个Transition做过渡连接;输出向量使用BatchNorm2d做标准化,再做2*2的卷积操作,最后做log_softmax运算输出;

针对上述网络构建过程中使用的卷积操作,使用动态区域感知卷积(DynamicRegion-Aware Convolution)代替标准卷积。动态区域感知卷积的具体实现过程如下:首先通过标准卷积来生成guided feature,根据guided feature将空间维度分成多个区域,卷积核生成模块G根据输入图片动态生成每个区域对应的卷积核。这样简单地替换,能在笔触分类的任务上达到很好的性能。

2-4训练笔触分类器网络模型并保存

对于笔触分类器网络模型,使用nll_loss作为损失函数,使用Adam优化器完成梯度更新;每隔20个epoch保存一次模型,总共训练800epoch;

进一步的,步骤(3)所述的生成对抗网络模型的构建:

生成对抗网络模型包括生成器和判别器,生成器采用编码器-解码器结构,判别器为卷积神经网络;

3-1生成器构建

生成器的编码器与解码器之间添加了连接,参考了U-Net’网络模型的结构;生成器使用的卷积层的卷积核大小为4*4,步长为2;使用下采样的激活函数‘LeakyRelu’,上采样激活函数‘Relu’和‘Tanh’;

3-2判别器构建

判别器采用3个级联的Conv-BN-LReLu网络结构,最后采用1层全连接神经网络;所述判别器使用patch判别器,patch判别器以输入图像的每一小块的patch单元来进行,即将生成器生成的“假”素描划分为N*N个patch单元后,对每一单元进行判别真假;最后一层将输入图像的每个像素通过sigmoid函数激活,输出为真的概率值,再对所有patch单元的判别结果取平均得到最终的判别器损失函数;

进一步的,步骤(4)所述的生成对抗网络模型的训练:

4-1对生成对抗网络进行训练时,当损失函数达到最小时,生成对抗网络训练完成;所述损失函数如下:

Loss

Loss=λ

其中,x表示人脸照片,y表示真实的人脸素描画图像,D(x,y)表示输入为x和y时判别器的输出结果,G(x)表示输入为x时生成的人脸素描画图像,Loss

进一步的,步骤(5)所述的人脸素描的生成及质量评价:

依次将测试集中的人脸照片输入到训练后的对抗生成网络中,得到生成的人脸素描画图像,并将生成的图像与真实的素描做FID指标的计算,完成生成素描的质量评价。

本发明有益效果如下:

与现有的人脸素描生成方法相比,使用本发明所述的的一种基于绘画笔触指导的人脸素描生成方法,在人脸素描生成的质量上有了一定程度的提高,特别是在一些局部的笔触细节上能够生成更真实的效果。下表是目前生成效果最好的pix2pix方法和本发明所述方法在生成人脸素描画结果上计算的FID指标对比:

附图说明

图1是笔触分类器网络模型的体系结构图;

图2是人脸素描生成网络模型的体系结构图;

图3是动态区域感知卷积的框架示意图;

具体实施细节

下面结合附图对本发明做进一步说明。

如图1、图2和图3所示,一种基于绘画笔触指导的人脸素描生成方法,具体包括如下步骤:

步骤(1)数据预处理

将所有数据集的图片经过调整尺寸和裁剪的操作缩放到统一大小;

步骤(2)笔触分类器模型的构建及预训练

自定义笔触标签,构建笔触分类器网络模型,完成模型的预训练,保留训练好的模型参数;

步骤(3)生成对抗网络模型的构建

分别构建生成器和判别器两个网络模型;

步骤(4)生成对抗网络模型的训练

定义损失函数,训练生成对抗网络模型;

步骤(5)人脸素描的生成及质量评价

依次将待处理的人脸图像输入到训练后的对抗生成网络中,得到对应人脸素描画图像,并根据指标完成质量评价;

进一步的,所述的步骤(1)所述的数据预处理:

1-1选择CUFS数据集,按照标准数据集划分方法,随机取168张人脸图像和对应的素描画图像作为训练集,其余143张的人脸图像和对应的素描画图像作为测试集;

1-2对图像(包括人脸图像和素描画图像)进行预处理,先将图像填充到286*286大小,然后对图像进行随机裁剪并做数据标准化处理,最终得到的图像大小变为256*256,其中图像中的人脸图像的通道数为3,素描画图像的通道数为1;

进一步的,步骤(2)所述的笔触分类器网络模型的构建及预训练具体实现如下:

2-1使用人脸分割网络BiseNet生成Mask数据集

通过人脸分割网络BiseNet对预处理后数据集中的人脸图像做语义解析,为每个语义成分分配一个像素级标签并进行标注。

所述的语义成分包括头发、面部皮肤、眼睛、鼻子、嘴巴等。

最后获得的20个人脸语义标签如下:

atts=[1'skin',2'l_brow',3'r_brow',4'l_eye',5'r_eye',6'eye_g',7'l_ear',8'r_ear',9'ear_r',10'nose',11'mouth',12'u_lip',13'l_lip',14'neck',15'neck_l',16'cloth',17'hair',18'hat',20'mustache']

2-2根据20个人脸语义标签自定义人脸素描笔触标签:

平滑笔触:patch块最大值为1or 6or 11or 14or 15or 16,则label为1;

毛发笔触:patch块最大值为2or 3or 17or 20,则label为2;

强结构笔触:patch块最大值为7or 8or 9or 10or 12or 13,则label为3;

边界笔触:提取块

其余为背景0;

对于一张Mask数据集中的人脸图像,首先划分为n个k*k大小的patch,对每个patch,分别根据其内部各像素值的分布情况赋予对应的笔触标签。例如,在人脸眉毛的区域有一个k*k大小的patch,统计其内部各像素值得到最大值为2,因此可判定该patch对应的标签为毛发标签,即赋值label=2。

针对上述笔触标签的定义标准可能出现的错误,我们还使用了标签平滑技术,设置错误率为ε,则对应的标签更新为:

label=((1-ε)*label)+(ε/class_num)

其中,class_num表示分类的标签数,这里是5

2-3构建笔触分类器网络

使用DenseNet网络构建笔触分类器,其中设置的growthRate=6,depth=10,reduction=0.5;

笔触分类器网络的构建如下:

Bottleneck:先使用BatchNorm2d做标准化,后面采用激活函数‘relu’,再做一个1*1的卷积操作;输出向量继续进行BatchNorm2d标准化、激活函数‘relu’,再做一个3*3的卷积操作后输出;

SingleLayer:先使用BatchNorm2d做标准化,后面采用激活函数‘relu’,再做一个3*3的卷积操作,把输出向量与输入的x做拼接后输出;

Transition:先使用BatchNorm2d做标准化,后面采用激活函数‘relu’,再做一个1*1的卷积操作,最后接一个‘avg_pool2d’完成平均池化并输出;

DenseNet:主体使用3个BottleNet,中间使用2个Transition做过渡连接;输出向量使用BatchNorm2d做标准化,再做2*2的卷积操作,最后做log_softmax运算输出;

针对上述网络构建过程中使用的卷积操作,使用动态区域感知卷积(DynamicRegion-Aware Convolution)代替标准卷积。动态区域感知卷积的具体实现过程如下:首先通过标准卷积来生成guided feature,根据guided feature将空间维度分成多个区域,卷积核生成模块G根据输入图片动态生成每个区域对应的卷积核。这样简单地替换,能在笔触分类的任务上达到很好的性能。

2-4训练笔触分类器网络模型并保存

对于笔触分类器网络,我们使用nll_loss作为损失函数,使用Adam优化器完成梯度更新;每隔20个epoch保存一次模型,总共训练800epoch;

进一步的,所述的步骤(3)所述的生成对抗网络模型的构建:

生成对抗网络包括生成器和判别器,生成器采用编码器-解码器结构,判别器为卷积神经网络,且生成器的编码器与解码器之间添加了连接,参考了‘U-Net’网络模型的结构;

3-1生成器构建

生成器使用的卷积层的卷积核大小为4*4,步长为2;使用下采样的激活函数‘LeakyRelu’,上采样激活函数‘Relu’和‘Tanh’;

3-2判别器构建

判别器采用3个级联的Conv-BN-LReLu网络结构,最后采用1层全连接神经网络;所述判别器使用patch判别器,patch判别器以输入图像的每一小块的patch单元来进行,即将生成器生成的“假”素描划分为N*N个patch单元后,对每一单元进行判别真假;最后一层将输入图像的每个像素通过sigmoid函数激活,输出为真的概率值,再对所有patch单元的判别结果取平均得到最终的判别器损失函数;

进一步的,所述的步骤(4)所述的生成对抗网络模型的训练:

4-1对生成对抗网络进行训练时,当损失函数达到最小时,生成对抗网络训练完成;所述损失函数如下:

Loss

Loss=λ

其中,x表示人脸照片,y表示真实的人脸素描画图像,D(x,y)表示输入为x和y时判别器的输出结果,G(x)表示输入为x时生成的人脸素描画图像,Loss

进一步的,步骤(5)所述的人脸素描的生成及质量评价:

依次将测试集中的人脸照片输入到训练后的对抗生成网络中,得到生成的人脸素描画图像,并将生成的图像与真实的素描做FID指标的计算,完成生成素描的质量评价。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号