专利名称:利用人脸检测技术自动生成趣味大头照的方法
技术领域:
本发明与一种趣味大头照的生成方法有关,特别地,与一种利用人脸检测技术自动生成趣味大头照的方法有关。通过人脸检测技术,把输入图像与带参数图像进行自动合成从而生成趣味大头照,可以应用于数字娱乐等方面。
背景技术:
趣味大头照以其个性化和趣味化而深受大众的喜爱。趣味大头照的生成方式可以分为两类一类是即时生成方式,另一类是后处理方式。即时生成方式,如非常流行的大头贴机和可拍照手机的趣味大头照软件,它们都是利用摄像头和趣味模板图像,在拍照过程中获得趣味大头照。后处理方式,如利用Photoshop等图像处理工具,将已有的数码照片与趣味模板图像进行人工合成,从而得到趣味大头照。然而,由于人工后处理方法需要掌握一定图像处理技术才能实现,而且生成效率较低,所以难以普及和规模化应用。
发明内容
本发明针对人工后处理方法中的不足,旨在提供一种自动、快速、方便的趣味大头照生成方法。
为实现上述目的,利用人脸检测技术自动生成趣味大头照的方法包括如下步骤1)检测输入图像中人脸区域。
2)将输入图像中人脸及其周围区域映射到带参数图像的填充区域,生成合成图像。
3)调整合成图像的填充区域亮度。
本发明提出了一种自动的后处理方式生成趣味大头照的方法,与人工后处理方式相比,其优势在于趣味大头照的生成速度快、操作过程简便,所以更加容易普及和规模化应用。
图1为本发明的算法框架图。
图2为一幅带参数图像,即趣味模板图像。
图3(a)为输入图像,图3(b)为对输入图像进行人脸检测的结果。
图4为合成图像。
图5为经过亮度调整后的趣味大头照。
具体实施例方式
利用人脸检测技术自动生成趣味大头照的方法的算法框架如图1所示,首先对输入图像进行人脸检测,得到人脸区域信息;然后结合带参数图像的填充区域参数、脸部区域参数,将输入图像与带参数图像进行合成,并计算合成图像的脸部亮度均值;最后根据得到的合成图像的脸部亮度均值,并结合带参数图像的脸部亮度均值参数,对合成图像的填充区域进行亮度调整,生成趣味大头照。
在具体介绍每一步骤之前,首先说明带参数图像及其参数。图2是一幅带参数图像,其参数包括填充区域参数、脸部区域参数、脸部亮度均值参数。填充区域参数定义了带参数图像中需要用输入图像进行填充的区域范围;脸部区域参数定义了带参数图像中脸部的区域范围;脸部亮度均值参数定义了带参数图像中脸部区域的亮度平均值。明确了带参数图像及其参数后,下面具体说明利用人脸检测技术自动生成趣味大头照的方法的实施过程。
首先利用人脸检测技术求取输入图像中人脸区域。本发明采用目前被国际公认为速度最快的人脸检测算法基于AdaBoost的人脸检测方法。2001年,Paul Viola实现了一种基于AdaBoost(Adaptive Boosting,自适应的Boosting方法)的人脸检测系统,系统先由积分图像快速、容易地计算出大量的简单特征,再用AdaBoost学习算法挑选一些重要的特征,并构造一系列的弱分类器,多个弱分类器通过线性组合构造出一个强分类器,这种多分类器级联结构大大提高了检测速度。本发明利用4916幅规格化后的24×24像素的人脸图像和9544幅不包括人脸的图像作为训练集,采用Paul Viola提出的方法训练出一个级联结构的分类器,进而实现人脸检测功能。如图3所示,由于发明采用的人脸图像训练集为规格化后的24×24像素的图像,所以检测结果为包含人脸主要器官的正方形窗口,记为face_square(p1,p2),p1为正方形窗口左上角点,p2为正方形窗口右下角点。
得到输入图像的人脸区域后,根据带参数图像的脸部区域参数和填充区域参数,将输入图像中人脸及其周围区域映射到带参数图像的填充区域,从而生成合成图像。这个过程包括两个步骤首先是寻找输入图像中脸部及其周围区域中每一点与带参数图像填充区域每一点的坐标对应关系,然后是根据坐标对应关系,采用插值的方法进行颜色赋值,下面详细说明这两个过程。
寻找输入图像中脸部及其周围区域中每一点与带参数图像填充区域每一点的坐标对应关系问题,本发明采用向后映射算法解决。即,遍历带参数图像的填充区域中的每一点,寻找其在输入图像中的对应点。带参数图像的脸部区域参数为一个正方形,记为mface_square(mp1,mp2),mp1为正方形左上角点,mp2为正方形右下角点。计算face_square的边长,记为D1;计算mface_square的边长,记为D2;计算D1与D2的比值,记为k;则带参数图像的填充区域中的任一点p(x,y)在输入图像中的对应点p′(x′,y′)的坐标可以由下面的复合矩阵运算得到x′y′1=10p1.x01p1.y001k000k000110-mp1.x01-mp1.y001xy1]]>其中,p1.x和p1.y为点p1的横坐标和纵坐标;mp1.x和mp1.y为点mp1的横坐标和纵坐标。
映射得到的p′(x′,y′)通常为非整数坐标,因此为了决定与该位置相对应的颜色值,必须进行插值运算,本发明采用双线性插值的方法。设x′=i+u,y′=j+v,其中i、j为x′、y′的整数部分,u、v为x′、y′的小数部分。则p′点的颜色值f(x′,y′)为f(x′,y′)=(1-u)(1-v)f(i,j)+(1-u)vf(i,j+1)+u(1-v)f(i+1,j)+uvf(i+1,j+1)其中,f(i,j)、f(i+1,j)、f(i,j+1)、f(i+1,j+1)为输入图像上点(i,j)、(i+1,j)、(i,j+1)、(i+1,j+1)处的颜色值。
将输入图像上p′点的颜色值赋给带参数图像上点p,从而生成合成图像。为了达到更好的合成效果,需要对合成图像填充区域进行亮度调整。本发明对合成图像填充区域的亮度调整包括两个步骤首先计算合成图像脸部的亮度均值,然后结合带参数图像的脸部亮度均值参数,对合成图像填充区域进行亮度调整,下面详细进行说明。
亮度的计算公式为Y=0.299×R+0.587×G+0.114×B首先定义求取合成图像亮度均值的窗口区域Bright_square(mp3,mp4),其中mp3为窗口正方形的左上角点,mp4为窗口正方形的右下角点mp3.x=mp1.x+(mp2.x-mp1.x)×3/8
mp3.y=mp1.y+(mp2.y-mp1.y)×3/8mp4.x=mp1.x+(mp2.x-mp1.x)×5/8mp4.y=mp1.y+(mp2.y-mp1.y)×5/8计算合成图像的Bright_square区域内所有点亮度的平均值,记为aY。发带参数图像的脸部亮度均值参数为may。计算may与aY的差值,记为dY。则对合成图像填充区域每一点进行如下亮度调整R′=R+dYG′=G+dYB′=B+dY其中,R、G、B为调整前该点的颜色值,R′、G′、B′为调整后该点的颜色值。
最后应当说明的是,以上实施例仅用以说明本发明而非限制本发明所描述的技术方案,因此本领域的普通技术人员应当理解,仍然可以对本发明进行修改或者等同替换,而一切不脱离本发明精神和范围的技术方案或改进,其均应涵盖在本发明的权利要求范围中。
权利要求
1.利用人脸检测技术自动生成趣味大头照的方法,其特征在于,它至少包括以下步骤1)检测输入图像中人脸区域。2)将输入图像中人脸及其周围区域映射到带参数图像的填充区域,生成合成图像。3)调整合成图像的填充区域亮度。
2.如权利要求1所述的方法,其特征在于,所说的带参数图像是指定义了填充区域、脸部区域、脸部亮度均值的图像。
3.如权利要求1所述的方法,其特征在于,检测输入图像中人脸区域是采用基于AdaBoost的人脸检测算法对输入图像进行人脸检测,得到人脸区域正方形窗口。
4.如权利要求1所述的方法,其特征在于,根据带参数图像的填充区域参数、脸部区域参数,将输入图像中脸部及其周围区域映射到带参数图像的填充区域,生成合成图像,包括如下步骤1)求取带参数图像的填充区域参数所定义的区域内每一点p(x,y)在输入图像中的对应点p’(x’,y’)。2)采用双线性插值方法求得输入图像中点p’(x’,y’)的颜色值,并将它赋给带参数图像中的点p(x,y)。
5.如权利要求1所述的方法,其特征在于,调整合成图像的填充区域亮度包括如下步骤1)计算带参数图像的脸部亮度均值参数与合成图像的脸部亮度均值的差值,记为dY。2)对合成图像的填充区域内所有点,亮度值增加dY。
全文摘要
本发明公开了一种利用人脸检测技术自动生成趣味大头照的方法。发明采用将带参数图像与输入图像进行自动合成的方法生成趣味大头照,其特征是首先对输入图像进行人脸检测,得到人脸区域;然后结合带参数图像及其填充区域参数、脸部区域参数,将输入图像的人脸及其周围区域映射到带参数图像的填充区域,从而得到合成图像;最后根据自动提取的合成图像脸部区域亮度均值,并结合带参数图像的脸部亮度均值参数,对合成图像的填充区域进行亮度调整,最终生成趣味大头照。
文档编号G06K9/00GK1834984SQ200510056120
公开日2006年9月20日 申请日期2005年3月20日 优先权日2005年3月20日
发明者张国锋, 黄强, 王丽苹 申请人:张国锋