一种基于人脸照片的简笔画生成方法与流程

文档序号:14250660阅读:3543来源:国知局
一种基于人脸照片的简笔画生成方法与流程

本发明一种基于人脸照片的简笔画生成方法属于图像处理领域。



背景技术:

由计算机生成人脸卡通肖像或称为漫画肖像,它主要包括两种方法:一是对照片人脸的轮廓进行夸张变形方法,二是对人脸纹理的卡通化处理方法。

对照片人脸的轮廓进行夸张变形主要是通过人脸轮廓提取,获得表示人脸的线条特征,然后对线条进行一些变形,从而生成人脸的“卡通线条画”。比如文献1,孙红玉、屠长河、孟祥旭,基于形状演化的线条画风格转换与变形。公开自:计算机辅助设计与图形学学报,vol.18,no.3。

第二种方法通过对人脸的额纹理进行处理,可以进一步丰富卡通效果的表达,比如油画效果、铅笔画和其他效果等。比如文献2,陈洪,郑南宁,梁林,徐迎庆,沈向洋,基于样本学习的肖像画自动生成算法。公开自:计算机学报,2003年2期。

由于处理结果带有人脸阴影,所以目前已有的人脸处理方法无法将其结果直接用到巧克力3d打印机中,这将会使打印出来的效果无法满足客户的要求。并且已有的技术处理时间较长。



技术实现要素:

针对上述问题,本发明提供了一种基于人脸照片的简笔画生成方法。

本发明的目的是这样实现的:

一种基于人脸照片的简笔画生成方法,包括以下步骤:

步骤a、人脸数据库的收集,利用网上开源的数据库作为训练对象;

步骤b、利用收集到的数据库对人脸识别和关键点检测模型进行训练;

步骤c、对真实人脸图片进行特征点提取;

步骤d、将输入的图片素描化;

步骤e、基于所提取的特征点,对人脸、五官、头发、服饰等进行定位和分割;

步骤f、对分割后的图像进行平滑、强化、灰度化、二值化操作;

步骤g、将处理完的部件重新组合,形成最终结果。

进一步地,所述一种基于人脸照片的简笔画生成方法,所述步骤c中对真实人脸图片进行特征点提取,包括以下步骤:

步骤c1、使用hog特征检测和一个线性分类器或线性svm实现一个人脸检测模型;

步骤c2、利用hog特征检测算法,找到人脸的hog特征或者梯度特征,通过hog特征和线性分类器,找到一部分的人脸边缘,也就是人脸的位置;用一个方框去框出图片中的人脸,称此方框为人脸方框;

步骤c3、选择一个已训练好的开源形状预测模型,存于dat文件中,将人脸方框内的图片输入到开源形状预测模型,得到68个关键点。

进一步地,所述一种基于人脸照片的简笔画生成方法,所述步骤d中将输入的图片素描化,包括以下步骤:

步骤d1、用一个小的真实人脸数据库和人脸素描库进行素描化模型的训练;

步骤d2、真实人脸与人脸素描存在一一对应的关系,利用haar特征检测算法分别对两者进行haar特征检测,使用k近邻算法找到素描图的特征周围最近的k个像素的信息,包括位置、灰度值,并记录下来,找到素描图与真实人脸之间的隐性关系;

步骤d3、将训练好的模型运用到输入的图片上,从而进行素描化。

进一步地,所述一种基于人脸照片的简笔画生成方法,所述步骤e中基于所提取的特征点,对人脸、五官、头发、服饰等进行定位和分割,是利用特征点在坐标系中的坐标,我们能够找到近似于某个五官中心的点,以这个点作为五官中心,向四个方向扩展不同的参数作为方框的边界所在,由此形成能够框选出人脸、五官的长方形方框,用于后续的图像强化;对于头发服饰定位和分割,通过实际实验,确定2号通道能够较好地与后续代码配合,得到头发和服饰的边缘,实现了定位和分割,为了方便编写代码,也将头发和服饰的灰度化、二值化放到了get_cloth_hair模块中,对应的结果便被放到了一张新的画板中。

进一步地,所述一种基于人脸照片的简笔画生成方法,所述步骤f中对分割后的图像进行平滑、强化、灰度化、二值化操作,操作如下:

平滑:

使用开源库opencv的代码能快速地将bgr通道中的图像进行平滑,降低灰度图的边缘梯度,得到更好的效果,方便找出边缘,因为有些部位的梯度过高,会使模型认为是边缘,其实只是一些由于光线导致的错误结果;

强化、二值化:

在五官的定位、分割操作得到的方框中,对五官进行各别的二值化,由于照片的采集效果,想要使五官的二值化效果得到最佳,需要对各个五官使用不同的阈值进行二值化;

灰度化:

使用开源库opencv的代码便能快速地得到灰度图。

进一步地,所述一种基于人脸照片的简笔画生成方法,所述步骤g中将处理完的部件重新组合,形成最终结果,是能够将各个强化的五官,加深各个五官的边缘,分别放到已有头发和服饰的画板中,并且位置与输入图片相对应。

有益效果:

本发明一种基于人脸照片的简笔画生成方法,与现有技术相比,具有以下优势:

1、五官定位更加准确;

2、本发明不需要大量的样本用于训练,所需要的图片数据更少;

3、本发明训练所需时间更短,而且对硬件要求低,不会导致成本提高;

4、本发明训练模型非常充分,规避了容易出错的细节环节;

5、能够提供给巧克力3d打印机打印,且能够广泛应用。

附图说明

图1是一种基于人脸照片的简笔画生成方法流程图。

图2是真实人脸图片提取特征点图。

图3是真实人脸转换灰度图。

图4是真实人脸图片提取衣服轮廓图。

图5是真实人脸图片转缩小灰度图。

图6是真实人脸图片转缩小灰度图中提取人脸图。

图7是真实人脸图片转换素描图。

图8是五官效果图。

图9是期望结果图。

具体实施方式

下面结合附图对本发明具体实施方式作进一步详细描述。

一种基于人脸照片的简笔画生成方法,如图1所示,包括以下步骤:

步骤a、人脸数据库的收集,利用网上开源的数据库作为训练对象;

步骤b、利用收集到的数据库对人脸识别和关键点检测模型进行训练;

步骤c、对真实人脸图片进行特征点提取;

步骤d、将输入的图片素描化;

步骤e、基于所提取的特征点,对人脸、五官、头发、服饰等进行定位和分割;

步骤f、对分割后的图像进行平滑、强化、灰度化、二值化操作;

步骤g、将处理完的部件重新组合,形成最终结果。

具体地,所述一种基于人脸照片的简笔画生成方法,所述步骤c中对真实人脸图片进行特征点提取,包括以下步骤:

步骤c1、使用hog特征检测和一个线性分类器或线性svm实现一个人脸检测模型;

步骤c2、利用hog特征检测算法,找到人脸的hog特征或者梯度特征,通过hog特征和线性分类器,找到一部分的人脸边缘,也就是人脸的位置;用一个方框去框出图片中的人脸,称此方框为人脸方框;

步骤c3、选择一个已训练好的开源形状预测模型,存于dat文件中,将人脸方框内的图片输入到开源形状预测模型,得到68个关键点。

具体地,所述一种基于人脸照片的简笔画生成方法,所述步骤d中将输入的图片素描化,包括以下步骤:

步骤d1、用一个小的真实人脸数据库和人脸素描库进行素描化模型的训练;

步骤d2、真实人脸与人脸素描存在一一对应的关系,利用haar特征检测算法分别对两者进行haar特征检测,使用k近邻算法找到素描图的特征周围最近的k个像素的信息,包括位置、灰度值,并记录下来,找到素描图与真实人脸之间的隐性关系;

步骤d3、将训练好的模型运用到输入的图片上,从而进行素描化,由于数据库较小,但是数据较为优秀,所以能够快速、杰出地完成素描化。

具体地,所述一种基于人脸照片的简笔画生成方法,所述步骤e中基于所提取的特征点,对人脸、五官、头发、服饰等进行定位和分割,是利用特征点在坐标系中的坐标,我们能够找到近似于某个五官中心的点,以这个点作为五官中心,向四个方向扩展不同的参数作为方框的边界所在,由此形成能够框选出人脸、五官的长方形方框,用于后续的图像强化;对于头发服饰定位和分割,通过实际实验,确定2号通道能够较好地与后续代码配合,得到头发和服饰的边缘,实现了定位和分割,为了方便编写代码,也将头发和服饰的灰度化、二值化放到了get_cloth_hair模块中,对应的结果便被放到了一张新的画板中。

具体地,所述一种基于人脸照片的简笔画生成方法,所述步骤f中对分割后的图像进行平滑、强化、灰度化、二值化操作,操作如下:

平滑:

使用开源库opencv的代码能快速地将bgr通道中的图像进行平滑,降低灰度图的边缘梯度,得到更好的效果,方便找出边缘,因为有些部位的梯度过高,会使模型认为是边缘,其实只是一些由于光线导致的错误结果;

强化、二值化:

在五官的定位、分割操作得到的方框中,对五官进行各别的二值化,由于照片的采集效果,想要使五官的二值化效果得到最佳,需要对各个五官使用不同的阈值进行二值化;

灰度化:

使用开源库opencv的代码便能快速地得到灰度图。

所述一种基于人脸照片的简笔画生成方法,所述步骤g中将处理完的部件重新组合,形成最终结果,是能够将各个强化的五官,加深各个五官的边缘,分别放到已有头发和服饰的画板中,并且位置与输入图片相对应。

本发明组合了照片素描化、特征提取、灰度化、二值化、平滑处理、图像分割等步骤,生成了人物简笔画,为了能够准确提取人脸的特征,本发明对输入的人脸图片数据提取特征点的数目至少为64,收集的数据库中至少包括88幅。

本次实施方式本发明以88幅图片作为训练集,训练了提取64和198个特征点的模型。

对于真实人脸照片的处理过程如下:

步骤1、将训练完成的模型应用到输入的真实人脸图片上,得到特征点;如图2所示,是输入的真实图片和提取出来的特征点。

步骤2、将输入的图像和背景转换成灰度图,如图3所示,是转换后的灰度图;

步骤3、通过特定算法,将人和衣服进行平滑处理、灰度化、二值化,然后将边缘提取出来,如图4所示,是提取出来的衣服轮廓;

步骤4、将输入的图片进行缩小,提取出人脸后转换成素描图;如图5所示,是转缩小后的灰度,图6是从图5中提取的人脸,如图5所示,如图7所示,是转换后的素描图;

步骤5、根据得到的特征点,将所需要重点处理的五官:眼睛、鼻子、眉毛、嘴巴等提取出来并进行强化,然后作相应的灰度化和二值化处理,如图8所示,五官处理的效果图;

步骤6、将得到的轮廓、五官等进行处理,得到最终结果,如图9所示,是最终效果图。

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