专利名称:一种肖像画的自动生成方法
技术领域:
本发明涉及计算机图像处理技术领域,特别是计算机根据给定的人脸图像自动生成肖像画的方法。
背景技术:
肖像画是一种非常流行的艺术表现形式,特别是人脸的肖像可以艺术化地表现出个人的面部特性。但是,绘制肖像画并不是人天生的本领,只有经过长期刻苦训练的艺术家才能绘制出非常逼真的肖像画。因此,如何让计算机根据给定的人脸图像来自动生成肖像画显然是一个非常困难和具有挑战性的课题。
《计算机学报》第26卷第2期中的文章“基于样本学习的肖像画自动生成算法”,公开了一种肖像画的自动生成方法,该方法的具体步骤为(1)、用一组人脸图像和对应的肖像画作训练样本;(2)、在输入的人脸图像检测出各特征点的坐标;(3)、根据人脸各部位特征点的坐标定位来获得人脸结构,通过坐标转换找到训练样本中人脸图像对应的点坐标;(4)、根据训练样本中人脸图像和对应的肖像画的对应关系,用迭代采样的方法从训练样本中一个像素一个像素或一个区域一个区域采样合成并输出人脸肖像画。
上述肖像画自动生成方法缺陷在于1、由于使用基于像素的采样方法,速度很慢;2、当需输出另一种风格的肖像画时,该方法须重新根据另一种风格的训练样本生成肖像画,耗时耗力。
发明内容
本发明所要解决的技术问题之一是提供一种运行速度快的肖像画的自动生成方法。
本发明所要解决的技术问题之二是提供一种人脸肖像画与输入的图像人脸相似度高的肖像画的自动生成方法。
本发明所要解决的技术问题之三是提供一种能同时输出多种风格的肖像画的自动生成方法。
本发明解决上述技术问题所采用的技术方案是一种肖像画的自动生成方法,其方法步骤为(1)、建立人脸各部位肖像画模板库的步骤;肖像画模板库中的各肖像画模板的存储结构表中包括人脸部位肖像画模板、该人脸部位肖像画模板的编码、该人脸部位肖像画模板的各特征点的坐标;
(2)、在输入的人脸图像检测出各特征点的坐标,并为人脸各部位定位的步骤;(3)、根据人脸各部位定位对输入的人脸图像的各部位进行分解的步骤;(4)、将分解后的各部位与肖像画模板库中各自对应的肖像画模板部位分别进行对比,挑选匹配的模板;(5)、根据人脸部位肖像画模板的特征点的坐标与输入的人脸图像特征点的坐标,将匹配好的肖像画模板变形到各自对应人脸各部位位置;(6)、输出人脸肖像画。
上述方案中,步骤(4)具体为A、将分解后的各部位图像特征点组成的形状,与肖像画模板库中各自对应的肖像画模板部位特征点组成的形状分别进行对比,挑选匹配的模板;B、当挑选匹配出的肖像画模板个数≥2时,步骤(6)输出多个组合后的人脸肖像画。
上述方案中,肖像画模板库中的各肖像画模板的存储结构表中还包括该人脸部位肖像画模板对应的人脸部位图像模板、该人脸部位图像模板的各特征点的坐标;步骤(4)具体为A、将分解后的各部位图像特征点组成的形状,与肖像画模板库中各自对应的肖像画模板部位特征点组成的形状分别进行对比,挑选匹配的模板。
B、根据各挑选匹配肖像画模板的个数作出以下选择当挑选匹配出的肖像画模板个数≥2时,将分解后的各部位图像特征点组成的形状,与挑选匹配出的肖像画模板库中各自对应的人脸部位图像模板部位特征点组成的形状分别进行对比,挑选匹配的模板;进行下面的步骤;或,当挑选匹配的肖像画模板的个数为1时,直接进行下面的步骤。
上述方案中,肖像画模板库中的各肖像画模板的存储结构表中还包括该人脸部位肖像画模板对应的人脸部位其它形式的肖像画模板。
上述方案中,人脸各部位肖像画模板库包括头发肖像画模板库、衣服肖像画模板库、眉毛肖像画模板库、眼睛肖像画模板库、鼻子肖像画模板库、嘴巴肖像画模板库、脸轮廓肖像画模板库;步骤(3)将输入的人脸图像分解为以下各部位头发、衣服、眉毛、眼睛、鼻子、嘴巴、脸轮廓。
本发明方法中具有建立人脸各部位肖像画模板库的步骤,人脸各部位肖像画模板库包括人脸部位肖像画模板、该人脸部位肖像画模板的编码、该人脸部位肖像画模板的各特征点的坐标。这样可将分解后的各部位图像特征点坐标,与肖像画模板库中各自对应的模板部位特征点坐标分别进行对比,挑选匹配的模板,因此,该方法的速度快。
本发明方法还具有以下优点1、可将分解后的各部位图像特征点组成的形状,与肖像画模板库中各自对应的模板部位特征点组成的形状分别进行对比,挑选匹配的模板,肖像画的自动生成方法速度快,人脸肖像画与输入的图像人脸相似度高;2、可同时输出多个肖像画供人们选择;3、当某个部位挑选匹配的肖像画模板为多个时,可将输入的人脸该部位图像与挑选出的肖像画模板库中的人脸部位图像模板进行对比,从而进一步提高了挑选匹配模板的精度,使得输出的人脸肖像画与输入的图像人脸相似度大大提高。
4、肖像画模板库中的各肖像画模板的存储结构表中还包括该人脸部位肖像画模板对应的人脸部位其它形式的肖像画模板,能同时输出多种风格的肖像画的自动生成方法。
图1为本发明方法实施例的自动生成软件流程2为存储结构链表的结构示意3为肖像画模板库中的各肖像画模板存储的人脸部位肖像画模板和该人脸部位肖像画模板对应的人脸部位图像模板4为眉毛特征点坐标定位及将匹配的肖像画模板变形到对应位置的示意5为肖像画模板库中的头发肖像画模板存储的两种风格的(形式2和形式3)肖像画模板图6为本发明方法输入图像与输出肖像画的对应关系中a列为输入图像,b列为粗线条风格肖像画(形式1),c列为速写风格肖像画(形式2),d列为素描风格肖像画(形式3),e列为淡彩风格肖像画(形式4)。
图7为肖像画与或图,肖像画模板库中各部件是依据此图建立的,图中实线椭圆为与结点,虚线椭圆为或结点,矩形为叶子结点。
具体实施例方式
本发明肖像画的自动生成方法实施例1,本发明方法实施例的自动生成的软件流程如图1所示,其方法步骤为(1)、建立人脸各部位肖像画模板库的步骤;人脸各部位肖像画模板库包括头发肖像画模板库、衣服肖像画模板库、眉毛肖像画模板库、眼睛肖像画模板库、鼻子肖像画模板库、嘴巴肖像画模板库、脸轮廓肖像画模板库。各部位模板库之间的关系图如图7所示。
如图2所示,肖像画模板库中的各肖像画模板的存储结构表中包括编码、该部位肖像画模板(形式1)、该部位肖像画模板(形式1)的各特征点的坐标、该部位图像模板、该部位图像模板的各特征点的坐标、该部位肖像画模板(形式2)、该部位肖像画模板(形式3)、该部位肖像画模板(形式4)。
肖像画模板库中的各肖像画模板存储的人脸部位肖像画模板和该人脸部位肖像画模板对应的人脸部位图像模板如图3所示。
(2)、输入图片,在输入的人脸图像检测出各特征点的坐标,并为人脸各部位定位的步骤;输入图片提供用户选择输入的图片并显示在界面上,后缀名可为.bmp和.jpg等的图片格式,要求是正面的人脸图片,最好是证件照。
判断是否人脸判断用户输入的图片是不是人脸,不是的话要求用户重新输入,是的话给出人脸在图片当中的位置。这里采用的是现有的人脸检测技术(AdaBoost),可供参考文献P.Viola and M.Jones,“Rapid object detection using a boosted cascade of simple features”,CVPR,2001.
在输入的人脸图像检测出各特征点的坐标,并为人脸各部位定位根据人脸在图片当中的位置,具体定位出眉毛、眼睛、鼻子、嘴巴、脸轮廓的位置。本实施例用8个特征点坐标定位眉毛,8个标记点定位眼睛,15个标记点定位鼻子,22个标记点定位嘴巴,25个标记点定位脸轮廓。这里我们采用的是现有的人脸特征定位技术AAM(Active Appearance Models),可供参考文献T.F.Cootes,C.J.Taylor,D.Cooper,and J.Graham,“Active shape models-their training andapplication”,Computer Vision and Image Understanding,61(1)38-59,1995.
T.F.Cootes,G.J.Edwards and C.J.Taylor,“Active appearance models”,proceedings ofECCV,1998.
肤色检测检测图片中裸露的皮肤区域得到其外轮廓并记录其在图片当中的位置。实现方法首先将图片从RGB颜色空间转换到YCrCb颜色空间;然后从人脸区域取出一块皮肤计算出各个颜色分量Y,Cr,Cb的平均值,利用Cr,Cb的平均值在整个图片中找到与这两个值接近的像素,将这些接近的像素变为白色,反之变为黑色,这样我们就得到一个黑白的二值图像,皮肤区域为白色,其他的为黑色;最后在黑白的二值图像中找到白色区域的轮廓并用一组点记录其坐标位置。
背景检测检测图片中背景区域得到其外轮廓并记录其在图片当中的坐标位置。实现方法与脸色检测方法类似,不同的是选取人脸区域两侧以外的一块地方计算出各个颜色分量Y,Cr,Cb的平均值。
头发检测
检测图片中头发区域得到其外轮廓并记录其在图片当中的坐标位置。实现方法由于已经知道了皮肤区域和背景区域,将这两个区域从图片当中分割出去,剩下的就是头发和衣服区域,位于人脸区域上方的就是头发区域了。
衣服检测检测图片中衣服区域得到其外轮廓并记录其在图片当中的坐标位置。实现方法将皮肤区域,背景区域和头发区域从图片当中分割出去,剩下的就是衣服区域。
(3)、根据人脸各部位定位对输入的人脸图像的各部位进行分解的步骤;因为用AAM(Active Appearance Models,主动外观模型)定位时,已经知道各个部件由那些点表示,计算出那些点的外接矩形并从图中分割出外接矩形来就能得到各个部件。
(4)、将分解后的各部位图像特征点组成的形状,与肖像画模板库中各自对应的模板部位特征点组成的形状分别进行对比,挑选匹配的模板,具体为A、将分解后的各部位图像特征点组成的形状,与肖像画模板库中各自对应的肖像画模板部位特征点组成的形状分别进行对比,挑选匹配的模板。
将定位出的眉毛、眼睛、鼻子、嘴巴和检测出的头发外轮廓,衣服外轮廓与各自相对应的模板库比较,从模板库中挑选出匹配的模板。其中头发,衣服挑选模板和渲染的方法类似,眉毛、眼睛、鼻子、嘴巴挑选模板和渲染的方法类似,以头发和眉毛为例介绍其实现方法。
头发挑选模板实现方法将得到的头发外轮廓用一组标记点表示形状,与头发模板库中的每一个模板形状(人工标注好的一组标记点)进行比较,计算shape contexts距离,计算完后按距离从小到大排序,最小的为匹配的模板。头发渲染实现方法采用TPS(Thin PlateSpline)方法将匹配的模板变形到与之对应的头发外轮廓中。
可供参考文献S.Belongie,J.Malik,J.Puzicha,”Shape matching and object recognitionusing shape contexts”,PAMI,24(4)509-522,2002.
H.Chui and A.Rangarajan,”A new algorithm for non-rigidpoint matching”,CVPR,2000.
眉毛挑选模板实现方法将定位出的眉毛的形状,与眉毛库中的每一个模板形状进行比较,计算shape contexts(形状上下文)距离,计算完后按距离从小到大排序,最小的为匹配的模板。眉毛渲染实现方法采用三角形变的方法将匹配的模板变形到与之对应的眉毛外轮廓中。
B、根据各挑选匹配肖像画模板的个数作出以下选择当挑选匹配出的肖像画模板个数≥2时,将分解后的各部位图像特征点组成的形状,与挑选匹配出的肖像画模板库中各自对应的人脸部位图像模板部位特征点组成的形状分别进行对比,挑选匹配的模板;进行下面的步骤;或,当挑选匹配的肖像画模板的个数为1时,直接进行下面的步骤。
将输入的人脸该部位图像与挑选出的肖像画模板库中的人脸部位图像模板进行对比的具体方法将定位出的部件从图片中分割出来并取其高频部分,与对应部件图像模板库中的高频部分进行比较,比较时将定位出的部件与库中的部件都变形为同一标准形,计算两者之间的残差,计算完后按残差大小依次排序,最小的为匹配的模板。
(5)根据人脸部位肖像画模板的特征点的坐标与输入的人脸图像特征点的坐标,将匹配好的肖像画模板变形到各自对应人脸各部位位置;(6)、输出人脸肖像画。
如图6所示,这里所用到的库包含各种风格,也就是说同一个部件有几种不同风格的画法,当挑选到一个匹配的模板时,就有几种不同风格的模板与之对应,能同时生成几种风格不同的肖像画。
本发明肖像画的自动生成方法实施例2,其方法与实施例基本相同,只是步骤(4)具体为A、将分解后的各部位图像特征点组成的形状,与肖像画模板库中各自对应的肖像画模板部位特征点组成的形状分别进行对比,挑选匹配的模板;B、当挑选匹配出的肖像画模板个数≥2时,步骤(6)输出多个组合后的人脸肖像画。
权利要求
1.一种肖像画的自动生成方法,其方法步骤为(1)、建立人脸各部位肖像画模板库的步骤;肖像画模板库中的各肖像画模板的存储结构表中包括人脸部位肖像画模板、该人脸部位肖像画模板的编码、该人脸部位肖像画模板的各特征点的坐标;(2)、在输入的人脸图像检测出各特征点的坐标,并为人脸各部位定位的步骤;(3)、根据人脸各部位定位对输入的人脸图像的各部位进行分解的步骤;(4)、将分解后的各部位与肖像画模板库中各自对应的肖像画模板部位分别进行对比,挑选匹配的模板;(5)、根据人脸部位肖像画模板的特征点的坐标与输入的人脸图像特征点的坐标,将匹配好的肖像画模板变形到各自对应人脸各部位位置;(6)、输出人脸肖像画。
2.如权利要求1所述的方法,其特征在于步骤(4)具体为A、将分解后的各部位图像特征点组成的形状,与肖像画模板库中各自对应的肖像画模板部位特征点组成的形状分别进行对比,挑选匹配的模板;B、当挑选匹配出的肖像画模板个数≥2时,步骤(6)输出多个组合后的人脸肖像画。
3.如权利要求1所述的方法,其特征在于肖像画模板库中的各肖像画模板的存储结构表中还包括该人脸部位肖像画模板对应的人脸部位图像模板、该人脸部位图像模板的各特征点的坐标;步骤(4)具体为A、将分解后的各部位图像特征点组成的形状,与肖像画模板库中各自对应的肖像画模板部位特征点组成的形状分别进行对比,挑选匹配的模板。B、根据各挑选匹配肖像画模板的个数作出以下选择当挑选匹配出的肖像画模板个数≥2时,将分解后的各部位图像特征点组成的形状,与挑选匹配出的肖像画模板库中各自对应的人脸部位图像模板部位特征点组成的形状分别进行对比,挑选匹配的模板;进行下面的步骤;或,当挑选匹配的肖像画模板的个数为1时,直接进行下面的步骤。
4.如权利要求1所述的方法,其特征在于肖像画模板库中的各肖像画模板的存储结构表中还包括该人脸部位肖像画模板对应的人脸部位其它形式的肖像画模板。
5.如权利要求1所述的方法,其特征在于人脸各部位肖像画模板库包括头发肖像画模板库、衣服肖像画模板库、眉毛肖像画模板库、眼睛肖像画模板库、鼻子肖像画模板库、嘴巴肖像画模板库、脸轮廓肖像画模板库;步骤(3)将输入的人脸图像分解为以下各部位头发、衣服、眉毛、眼睛、鼻子、嘴巴、脸轮廓。
全文摘要
本发明涉及一种肖像画的自动生成方法,其方法步骤为(1)建立人脸各部位肖像画模板库的步骤;(2)在输入的人脸图像检测出各特征点的坐标,并为人脸各部位定位的步骤;(3)根据人脸各部位定位对输入的人脸图像的各部位进行分解的步骤;(4)将分解后的各部位与肖像画模板库中各自对应的肖像画模板部位分别进行对比,挑选匹配的模板;(5)将匹配好的肖像画模板变形到各自对应人脸各部位位置;(6)输出人脸肖像画。本发明方法可将分解后的各部位图像特征点坐标,与肖像画模板库中各自对应的模板部位特征点坐标分别进行对比,挑选匹配的模板,因此,该方法的速度快。
文档编号G06T11/00GK101034481SQ20071005182
公开日2007年9月12日 申请日期2007年4月6日 优先权日2007年4月6日
发明者朱松纯 申请人:湖北莲花山计算机视觉和信息科学研究院