专利名称:一种人脸模型的变形方法
技术领域:
本发明涉及图像处理技术领域,特别涉及一种人脸模型的变形方法。
背景技术:
电视是传播文化和信息的重要工具,电视节目富于教育性和娱乐性,也是知识的源泉。坐在家里看电视就可知道国家和世界大事,增长知识面,放松紧张的学习,可以更好的为学习准备,学习标准的普通话。看电视还可以开拓视野,愉悦身心。电视作为大众文化的一部分,人们不由自主的把业余时间锁定在电视机屏幕前。 但是,目前电视播放的内容基本不可改变的,如果能提出一种可以根据个人喜好来改变电视播放内容的电视,例如如果客户不喜欢某个人物,可以通过改变这个人的脸型等,来达到搞笑发泄的目的,将成为本领域研究的一个新课题。
发明内容
鉴于上述现有技术的不足之处,本发明的目的在于提供一种人脸模型的变形方法,能对人脸进行变形处理,达到搞笑发泄的目的。为了达到上述目的,本发明采取了以下技术方案 一种人脸模型的变形方法,其中,包括
A、读取视频图像数据;
B、识别并判断是否存在人脸;如果是,则执行步骤C;否则,返回步骤A ;
C、对识别出来的人脸进行变形;
D、根据变形结果绘制影像;
E、输出并显示所述影像。所述的人脸模型的变形方法,其中,在所述步骤A之前,所述的方法进一步包括 AO、定义标准人脸的面部特征的关键特征点和标准人脸特征比例;其中,所述面部特征
包括脸型、三庭的长度、五官的位置和尺寸。所述的人脸模型的变形方法,其中,所述步骤C具体包括
Cl、根据关键特征点的坐标生成网格模型,并将人脸图像覆盖到相应网格上; C2、将人脸的长宽比例与标准人脸的长宽比例相比确定人脸的脸型,并对人脸的脸型进行变形;其中,当脸型为长脸时执行步骤C3,当脸型为标准脸时执行步骤C4,当脸型为宽脸时执行步骤C5 ;
C3、判断人脸的三庭比例,对人脸的三庭进行变形,再执行步骤C4; C4、对人脸的五官进行变形;
C5、缩小网格的间距,将脸部整体压扁变形,再执行步骤C4。所述的人脸模型的变形方法,其中,所述步骤C3具体包括
C31、计算人脸的三庭比例,当三庭比例为标准比例时执行步骤C32,当三庭比例为上庭长时执行步骤C33,当三庭比例为中庭长时执行步骤C34,当三庭比例为下庭长时,执行步骤 C;35 ;
C32、将脸部整体拉伸变形; C33、将人脸的上庭拉伸; C34、将人脸的中庭拉伸; C35、将人脸的下庭拉伸。所述的人脸模型的变形方法,其中,所述步骤C4具体包括
C41、将人脸的中庭长度与人中长度之和与脸长的比例与标准人脸的相应比例进行比较,根据比较结果判断比例是否正常;如果是,则执行步骤C42 ;否则、执行步骤C43 ; C42、不对人脸的五官进行变形; C43、对五官整体进行鱼眼放大或者缩小。所述的人脸模型的变形方法,其中,在所述步骤C43具体包括 C431、根据人脸的五官整体、眼睛、鼻子和嘴巴生成网格模型; C432、采用鱼眼算法对五官整体进行放大或者缩小。所述的人脸模型的变形方法,其中,所述鱼眼算法包括鱼眼放大算法和鱼眼挤压算法;其中,
鱼眼放大算法的变形函数为R=sX log (1+WXR);
鱼眼挤压算法的变形函数为R’ =(eR/s-l)/ff ;
其中,R为矩形区域的最大圆形区域,W为曲率,s为变形系数。所述的人脸模型的变形方法,其中,对人脸五官进行鱼眼放大的方法具体包括 C4321、将网格模型的坐标由笛卡儿坐标系转换成极坐标系;
C4322、计算鱼眼极坐标中的最大圆的半径; C4323、根据最大圆的半径和曲率计算变形系数;
C4324、判断变形对象是否在最大圆区域内;如果是,则进行鱼眼放大;否则,不做变形处理。所述的人脸模型的变形方法,其中,在步骤C43之后,所述的方法还包括 C44、对眼睛、鼻子或者嘴巴进行鱼眼放大或者缩小。本发明提供的一种人脸模型的变形方法,通过识别人脸的关键特征点,将人脸的面部特征与标准人脸的面部特征进行比较,判断是否具有脸部特征,当具有脸部特征时,对这些脸部特征进行变形,然后根据变形结果绘制影像并输出显示,从而达到搞笑发泄的目
图1为本发明人脸模型的变形方法较佳实施例的流程图。图2为本发明标准人脸的十二个关键特征点的示意图。图3为本发明人脸模型的变形方法的方法流程图。图4为本发明人脸模型的变形方法中人脸变形的网格模型示意图。图5为本发明人脸模型的变形方法中宽脸压扁变形的效果示意图。图6为本发明人脸模型的变形方法中下庭拉伸变形的效果示意图。图7为本发明人脸模型的变形方法中五官变形的网格模型示意图。
图8为本发明人脸模型的变形方法中五官鱼眼压缩变形的示意图。
具体实施例方式本发明提供一种人脸模型的变形方法,通过改变人物的脸型来达到搞笑发泄的目的。本发明通过研究和学习漫画家的作画步骤和方法,总结其夸张规律和技艺(即漫画家夸张的仅仅是人脸的脸部特征),并结合中国人面部的特点与美术学常识,采用中国美学的标准人脸作为参照标准,以特征人脸与参考人脸相应的比例差异作为判断是否夸张的标准。为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。图1示出了本发明实施例提供的人脸模型的变形方法流程,其包括 步骤Si、读取视频图像数据。当本发明实施例提供的人脸模型的变形方法用于对电视节目中的某个人的脸部进行变形时,在变形时,只需在电视播放时,读取整个画面图像数据,即读取视频中的一帧数据,识别人脸。其中,在本步骤(即步骤Si)之前,本发明实施例提供的人脸模型的变形方法还包括定义标准人脸的面部特征的关键特征点和标准人脸特征比例。请参阅图2,图2示出了标准人脸的关键特征点,其中,1为发际线中点,2为眉心中点,3为鼻端中点,4为下巴中点,5和6为右眼外部和内部眼角点,7和8为眼睛高度的左右脸边缘,9和10为鼻翼左右端点,11和12为嘴的左右角点。本发明可通过图2所示的关键特征点来改变标准人脸的比例,例如向上移动图2 中1点的位置,可以改变上庭的大小,从而改变上庭、中庭、下庭的比例。因此,通过图2中的十二个关键特征点可以达到改变人脸特征比例的目的。人的面部特征包括脸型、三庭的长度、五官的位置和尺寸等,而不同人脸视觉特征的区别主要取决于各个特征数值间的比例关系,而非数值本身。其中,脸型取决于脸的长宽比,其决定了面部的整体视觉效果。三庭是中国画肖像的标准,指从前额中央发际线开始到下巴尖之间的距离,共分为三等分从发际线到眉毛的距离为第一等分,即上庭;从眉毛到鼻端的距离为第二等分,即中庭;从鼻端到下巴的距离为第三等分,即下庭。五官的位置基本取决于三庭的位置,五官的整体区域占脸部面积的大小,直接影响五官整体与脸部轮廓的关系。而对面部特征有较大影响的器官是眼睛、鼻子、嘴巴,这三者尺寸数值的比例关系比三者的数值本身更能反映一个人的特点。如图2所示,通过选择发际线中点、眉心中点、鼻端中点和下巴中点来定义三庭的大体位置,计算三庭的长度;通过选择左眼外部眼角点、左眼内部眼角点、右眼内部眼角点、 右眼外部眼角点、两眼中心点连线与脸部轮廓左边和右边的交点,计算出眼宽、脸长和脸宽;通过选择鼻翼最宽处左边和右边的端点、左嘴角点和右嘴角点、计算出鼻宽和嘴宽。具体来说,上庭长等于关键特征点1与2点之间的距离,中庭长等于关键特征点2 与3之间的距离,下庭长等于关键特征点3与4点之间的距离,然后算出上庭、中庭、下庭三者的比例值,从而可以与标准人脸的上庭、中庭、下庭的比例大小进行比较。
脸长为从两眼中心点连线到下巴中点(即关键特征点4)的距离,脸宽为两眼中心点连线与脸部轮廓左边或者与脸部轮廓右边(即关键特征点7或者8)的距离,然后算出脸长与脸宽的比例值,从而可以与标准人脸的脸长与脸宽的比例大小进行比较。人中长等于鼻端中点(关键特征点3)至嘴巴中点的距离,然后算出人中与下庭的比例值,从而可与标准人脸的人中、下巴的比例大小进行比较。眼宽等于关键特征点5与6点之间的距离,鼻宽等于关键特征点9与10点之间的距离,嘴宽等于关键特征点11与12点之间的距离,然后算出眼宽、鼻宽和嘴宽的比例值,从而可与标准人脸的眼宽、鼻宽和嘴宽的比例大小进行比较。其中,标准人脸特征比例如表1所示
脸长脸宽上庭中庭下庭人中下庭眼宽鼻宽嘴宽5 41 1 12 31 1 1. 5
表1
步骤S2、识别并判断是否存在人脸;如果是,则执行步骤S3 ;否则,返回步骤Si。在具体实施时,因为侧面人脸的变形效果不明显,所以忽略侧面人脸,选择识别出人脸正面区域,本发明通过几何特征的人脸识别方法识别出人脸,该几何特征可以是眼、鼻、嘴等的形状和它们之间的几何关系,包括图2所示的关键特征点和它们之间的相互距离。通过上述方式识别的人脸是正面人脸,非人脸和侧面人脸等图像会被忽略。另外,为了提高人脸识别的准确率,在通过几何特征的人脸识别方法识别出人脸后还可进一步利用基于特征脸(PCA)的人脸识别方法进行检验,如果其同样识别为人脸则确定为人脸。上述几何特征的人脸识别方法、基于特征脸(PCA)的人脸识别方法都是现有的人脸识别方法,在此不再详细赘述,其他常用的人脸识别方法还包括神经网络的人脸识别方法、弹性图匹配的人脸识别方法、线段Hausdorff距离(LHD)的人脸识别方法、支持向量机(SVM)的人脸识别方法等。步骤S3、对识别出来的人脸进行变形。步骤S4、根据变形结果绘制影像。步骤S5、输出并显示所述影像。在本发明实施例中,根据上述人脸识别过程中识别出来的关键特征点和它们之间的相互距离,可以确定该人脸的面部特征,包括脸型、三庭的长度、五官的位置和尺寸等。将这些面部特征值与标准人脸的相应特征值进行比较,可选择一个或者两个相差较大的脸部特征进行变形。对识别出来的人脸进行变形主要是对人的面部特征进行变形,其方法如图3所示,具体包括
a、根据关键特征点的坐标生成网格模型,并将人脸图像覆盖到相应网格上。为了便于对脸部特征执行拉伸、压缩等变形,本发明的实施例在识别出来的人脸图像上根据关键特征点的坐标生成若干网格,如图4所示,在本实施例中一共设置9根网格线,其中,上庭、中庭、下庭、人中与网格的对应关系如表2所示
特征影响到的网格线上庭第2、3网格线的间距中庭第3、6网格线的间距下庭第6、8网格线的间距人中第6、7网格线的间距
表2在变形时,通过改变网格的方式来改变人脸图像,例如,当图4中的第2、3网格线之间的间距变大时,其覆盖的图像将按照线性差值方式变宽,即上庭相应的变长,反之则减小。b、将人脸的长宽比例与标准人脸的长宽比例相比确定人脸的脸型,并对人脸的脸型进行变形;其中,当脸型为长脸时,判断人脸的三庭比例,对人脸的三庭进行变形(即步骤c),然后再对人脸的五官进行变形(即步骤d);当脸型为标准脸时,对人脸的五官进行变形(即步骤d);当脸型为宽脸时,缩小网格的间距,将脸部整体压扁变形,(即步骤e),再对人脸的五官进行变形。在本实施例中,可以先确定人的脸型再生成网格模型,也可以先生成网格型再确定脸型,其先后顺序不会影响后续的人脸变形。本实施方式中,通过计算得到的人脸比例除以标准人脸相应的比例得到的值,即为变形系数。例如,将脸长与脸宽的比值与标准人脸的脸长与脸宽相除得到一个相应的变形系数。根据审美标准,人的脸型主要分为长脸、宽脸和标准脸型。本实施例将变形系数的正常范围规定为0. 9 1. 1。如果变形系数在这个正常范围内,则其相应的脸型为标准脸型,如果变形系数小于0.9,则其相应的脸型为宽脸,如果变形系数大于1. 1,则其相应的脸型为长脸。本发明实施例通过计算人脸的长宽比来判断脸型,如果特定人脸长宽比与标准人脸的长宽比的比值(即变形系数)在0. 9 1. 1范围内,则认为是标准脸型,不管三庭是否符合比例,都不对脸型变形,直接进入五官变形;否则,根据长宽比判断为长脸或者宽脸。本发明对于不同类型的脸型,结合三庭的比例,采用不同方式的变形。例如,当脸型为宽脸时,则对脸部整体进行压扁变形,即将第1-9网格线的间距纵向缩小变形系数的倍数(即网格间距乘以相应的变形系数),得到间距变化的新的网格使脸部整体压扁,譬如在本实施例中,识别出来的人脸脸长为20cm、脸宽为18cm,则变形系数=(20 + 18) + (5 + 4)=0. 89,在变形时,将第1-9网格线的间距变为原网格线间距的0. 89倍,其变形效果如图5所示,并将人脸上下方的图像进行适当的拉伸变形,以填补人脸压扁后产生的空白。通过上述压扁变形,使宽脸变得更宽,以达到夸张搞笑的效果。当脸型为长脸时,则计算人脸的三庭比例,再根据三庭的类型进行变形。其中,对于长脸脸型,通常是因为三庭当中的其中一个的比例较大造成的,因此为了达到夸张的效果,本实施例对三庭中比例较大的一个进行变形。在对三庭进行夸张时,通过改变相应的网格点坐标实现,例如当中廷比例较长时,通过加宽第3与第6网格线之间的距离将中庭拉长。具体来说,在对人的三庭变形的情况具体如下
1、如果三庭比例计算人脸的三庭比例时(即三庭比例为1:1 1时),则对脸型网格整体拉伸变形系数的倍数,即将第1-9网格线之间的间距拉伸(即步骤f 将脸部整体拉伸变形)。2、如果人脸上庭相对较长,将人脸的上庭拉伸(即步骤g),其拉伸方式为第2-3网格线之间的间距乘以变形系数。3、如果人脸下庭相对较长,将人脸的下庭拉伸(即步骤h ),其拉伸方式为将第6-8网格线之间的间距乘以变形系数;如图6所示为下庭拉伸的效果示意图。
4、如果中庭相对较长,则将人脸的中庭拉伸(即步骤i),其拉伸方式为将第3-6网格线之间的间距乘以变形系数。本发明实施例中,无论脸型是标准脸、长脸还是宽脸,在脸型改变之后,还对人脸的五官进行变形(即步骤d),以进一步增强夸张搞笑的效果。在对人脸的五官变形时,首先需要考虑五官的整体效果,需要计算从眉心点到嘴巴中心点的距离与脸长的比例,即计算将人脸的中庭长度与人中长度之和与脸长的比例,并将这个比例与标准人脸的相应比例进行比较得出五官的变形系数。根据中国美学的标准从眉心点到嘴巴中心点的距离与脸长的比例为7 :10,如果特定人脸的这项比例不符合标准人脸的比例,则根据上述五官的变形系数需要对五官进行变形,当五官的变形系数大于1时进行鱼眼放大变形,当五官的变形系数小于1时进行鱼眼缩小变形,当五官的变形系数等于1时不对五官进行变形。在对五官整体进行鱼眼放大或者缩小后,可以再考虑眼睛、鼻子和嘴巴的放大或者缩小。例如将眼宽鼻宽嘴宽三者的比例与标准比例1 :1 :1. 5比较判断出其中差异最大的一个,然后对这个差异最大的脸部特征夸张变形。本发明实施例在对五官进行变形时,需根据人脸的五官整体、眼睛、鼻子和嘴巴生成细密的方形网格,然后通过网格的移动来达到放大与缩小变形的目的。对需要夸张的特征周围的网格点位置,采用鱼眼算法进行鱼眼变形,鱼眼算法是对特定区域的网格点进行几何变形。如图7所示,在需要对五官整体变形时,针对五官区域生成致密网格,然后根据鱼眼压缩算法生成如图8所示的效果。其中,所述鱼眼算法包括鱼眼放大算法和鱼眼挤压算法;其中,鱼眼放大算法的变形函数为R=sX log (1+WXR);
鱼眼挤压算法的变形函数为R’ =(eE/s-l)/ff ;
其中,R为矩形区域的最大圆形区域,W为曲率,s为变形系数,e为数学中常数,其值为2. 72。在具体实施时,首先预设影响五官整体、眼睛、鼻子和嘴巴各自的矩形区域,其变形区域确定为矩形区域内的最大圆形区域;之后,把网格点坐标由笛卡儿坐标系转换到极坐标系,设R为矩形区域内的最大圆的半径,W为曲率(其中,W的值为默认值,也可以在定义标准人脸的面部特征和标准人脸特征比例时设定);之后,计算鱼眼极坐标中的最大圆的半径R=Hiin (w,h)/2,其中w和h分别为预设矩形的宽和高;之后,根据最大圆的半径和曲率计算变形系数s=R/log(WXR+l);之后,判断变形对象是否在最大圆区域内;如果是,则进行鱼眼放大;否则,不做变形处理。在进行鱼眼放大时,对于网格模型中的每一个点,将当前点由笛卡尔坐标点转换为极坐标点时,设r为当前点极坐标的半径,当鱼眼放大算法r<R时,即极坐标点在圆内,则鱼眼放大算法的变形函数为r=SXl0g(l+WXr),r’为新的坐标,鱼眼挤压算法的变形函数为r’ =(e&-l)/W。可见鱼眼放大与鱼眼挤压算法都是通过改变网格坐标的形式,来放大或者缩小图像,从而达到图像变形的目的。当极坐标点在圆以外时,则不需要变形。本发明实施例提供的人脸模型的变形方法主要用于在用户观看电视节目时,用户可通过改变不喜欢某个人物的脸型,来达到搞笑发泄的目的。在其它实施例中,该方法还可用于计算机的图像处理中。
综上所述,本发明提供的一种人脸模型的变形方法,通过识别人脸的关键特征点,将人脸的面部特征与标准人脸的面部特征进行比较,判断是否具有脸部特征,当具有脸部特征时,对这些脸部特征进行变形,然后根据变形结果绘制影像并输出显示,从而达到搞笑发泄的目的。可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种人脸模型的变形方法,其特征在于,包括 读取视频图像数据;识别并判断是否存在人脸;如果是,则执行步骤C ;否则,返回步骤A ; 对识别出来的人脸进行变形; 根据变形结果绘制影像; 输出并显示所述影像。
2.根据权利要求1所述的人脸模型的变形方法,其特征在于,在所述步骤A之前,所述的方法进一步包括AO、定义标准人脸的面部特征的关键特征点和标准人脸特征比例;其中,所述面部特征包括脸型、三庭的长度、五官的位置和尺寸。
3.根据权利要求2所述的人脸模型的变形方法,其特征在于,所述步骤C具体包括 Cl、根据关键特征点的坐标生成网格模型,并将人脸图像覆盖到相应网格上;C2、将人脸的长宽比例与标准人脸的长宽比例相比确定人脸的脸型,并对人脸的脸型进行变形;其中,当脸型为长脸时执行步骤C3,当脸型为标准脸时执行步骤C4,当脸型为宽脸时执行步骤C5 ;C3、判断人脸的三庭比例,对人脸的三庭进行变形,再执行步骤C4; C4、对人脸的五官进行变形;C5、缩小网格的间距,将脸部整体压扁变形,再执行步骤C4。
4.根据权利要求3所述的人脸模型的变形方法,其特征在于,所述步骤C3具体包括 C31、计算人脸的三庭比例,当三庭比例为标准比例时执行步骤C32,当三庭比例为上庭长时执行步骤C33,当三庭比例为中庭长时执行步骤C34,当三庭比例为下庭长时,执行步骤 C;35 ;C32、将脸部整体拉伸变形; C33、将人脸的上庭拉伸; C34、将人脸的中庭拉伸; C35、将人脸的下庭拉伸。
5.根据权利要求3所述的人脸模型的变形方法,其特征在于,所述步骤C4具体包括 C41、将人脸的中庭长度与人中长度之和与脸长的比例与标准人脸的相应比例进行比较,根据比较结果判断比例是否正常;如果是,则执行步骤C42 ;否则、执行步骤C43 ; C42、不对人脸的五官进行变形; C43、对五官整体进行鱼眼放大或者缩小。
6.根据权利要求5所述的人脸模型的变形方法,其特征在于,在所述步骤C43具体包括C431、根据人脸的五官整体、眼睛、鼻子和嘴巴生成网格模型; C432、采用鱼眼算法对五官整体进行放大或者缩小。
7.根据权利要求6所述的人脸模型的变形方法,其特征在于,所述鱼眼算法包括鱼眼放大算法和鱼眼挤压算法;其中,鱼眼放大算法的变形函数为R=sX log (1+WXR); 鱼眼挤压算法的变形函数为R’ =(eE/s-l)/ff ;其中,R为矩形区域的最大圆形区域,W为曲率,s为变形系数。
8.根据权利要求7所述的人脸模型的变形方法,其特征在于,对人脸五官进行鱼眼放大的方法具体包括C4321、将网格模型的坐标由笛卡儿坐标系转换成极坐标系; C4322、计算鱼眼极坐标中的最大圆的半径; C4323、根据最大圆的半径和曲率计算变形系数;C4324、判断变形对象是否在最大圆区域内;如果是,则进行鱼眼放大;否则,不做变形处理。
9.根据权利要求5所述的人脸模型的变形方法,其特征在于,在步骤C43之后,所述的方法还包括C44、对眼睛、鼻子或者嘴巴进行鱼眼放大或者缩小。
全文摘要
本发明公开了一种人脸模型的变形方法,其包括A、读取视频图像数据;B、识别并判断是否存在人脸;如果是,则执行步骤C;否则,返回步骤A;C、对识别出来的人脸进行变形;D、根据变形结果绘制影像;E、输出并显示所述影像。本发明提供的一种人脸模型的变形方法,通过识别人脸的关键特征点,将人脸的面部特征与标准人脸的面部特征进行比较,判断是否具有脸部特征,当具有脸部特征时,对这些脸部特征进行变形,然后根据变形结果绘制影像并输出显示,从而达到搞笑发泄的目的。
文档编号G06K9/00GK102393951SQ20111018174
公开日2012年3月28日 申请日期2011年6月30日 优先权日2011年6月30日
发明者卢伟超 申请人:Tcl集团股份有限公司