法律状态公告日
法律状态信息
法律状态
2017-12-08
未缴年费专利权终止 IPC(主分类):G06K9/00 授权公告日:20080326 终止日期:20161021 申请日:20041021
专利权的终止
2008-03-26
授权
授权
2006-06-14
实质审查的生效
实质审查的生效
2006-04-26
公开
公开
技术领域
本发明涉及图像处理,并且尤其涉及在其中检测人脸肤色区域的图像处理方法、装置和存储介质。
背景技术
已知有多种技术用于检测图像中的感兴趣区域,诸如人脸或其它已识别的感兴趣对象。人脸检测是特别受关注的领域,由于人脸识别不仅对于图像处理,而且对于识别和安全的目的是重要的,并且对于人机界面目的也是重要的。人机界面不仅识别人脸的位置,如果人脸存在的话,还可以识别特定的人脸,并且可以理解面部表情和姿态。
近来,已经报道了很多关于自动人脸检测的研究。例如可以参考“Face Detection and Rotations Estimation using Color Information(the5th IEEE International Workshop on Robot and Human Communication,1996,pp 341-346)”和“Face Detection from Color Images Using aFuzzy Pattern Matching Method(IEEE Transaction on Pattern Analysisand Machine Intelligence,vol.21,no.6,June 1999)”。
日本专利申请第H10-293840号公开了一种检测图像中的人脸的方法。根据该方法,通过肤色确定候选区域。对于该区域,计算一个最近似的椭圆;通过比较左部分和右部分,计算出最佳对称y轴;通过比较上部分和下部分,计算x轴。
然而,现有技术没有公开怎样精确地识别图像中人脸的轮廓。
发明内容
本发明的目的是为了解决现有技术的上述技术问题并且提供一种检测图像中的人脸肤色区域的方法、装置和存储介质,以便于能够在精确地识别图像中的人脸的轮廓。
本发明提供一种检测图像中的人脸肤色区域的方法,其特征在于包括步骤:
识别所述图像中的人脸区域;
计算所述图像的肤色参考向量;
识别所述人脸区域中的肤色像素;
识别实质上包围所述肤色像素的椭圆;
调整所述椭圆的边缘,获得所述人脸肤色区域。
本发明还提供一种检测图像中的人脸肤色区域的装置,其特征在于包括:
候选识别电路,用于识别所述图像中的人脸区域;
计算器,用于计算所述图像的肤色参考向量;
肤色像素识别电路,用于识别所述人脸区域中的肤色像素;
椭圆识别和调整电路,用于识别实质上包围所述肤色像素的椭圆,并且用于调整所述椭圆的边缘,获得所述人脸肤色区域。
本发明还提供一种编有用于检测图像中的人脸肤色区域的机器可读计算机程序代码的存储介质,该存储介质包括使处理器实现根据本发明方法的指令。
如果图像含有人脸,则根据本发明的方法、装置和存储介质能够在图像中精确地识别人脸的轮廓。因此,当显示或打印包括人脸的图像时,可以以改善的质量显示或打印人脸。
另外,本发明的方法能够容易地与各种识别人脸区域(或矩形)和识别肤色像素的常规方法结合以适应不同的情况。
结合附图,根据下面通过举例对本发明的原理进行解释的优选实施例的说明,本发明的其他特点和优点变得更为清楚。
附图说明
图1示出识别图像中的眼区的示例方法;
图2示出识别图像中的人脸矩形的示例方法;
图3是根据本发明的一个实施例检测图像中的人脸肤色区域的方法流程图;
图4示出包括用于获得肤色参考向量的肤色参考部分的人脸矩形;
图5示出用于计算像素P边缘值的各像素例子;
图6是根据本发明的另一个实施例用于检测图像中的人脸肤色区域的装置的框图;
图7A、图7B和图7C示出人脸肤色区域的例子;
图8示意性地示出能够实现在图3中所示方法的图像处理系统。
具体实施方式
在下面的说明中,关于如何识别候选人脸区域,如何识别人脸中的眼区,可参考中国专利申请第00127067.2号(由同一申请人于2000年9月15日提出申请)、中国专利申请第01132807.X号(由同一申请人于2001年9月6日提出申请)、中国专利申请第02155468.4号(由同一申请人于2002年12月13日提出申请)、中国专利申请第02160016.3号(由同一申请人于2002年12月30日提出申请)、中国专利申请第03137345.3号(由同一申请人于2003年6月18日提出申请)等等。将这些申请包含在此用作参考。然而,这些申请中公开的识别候选人脸区域的方法和识别眼区的方法并不对本发明构成限制。识别图像中的人脸矩形或识别眼区的任何常规方法都可以在本发明中使用。
图1示出识别图像中的眼区的示例方法。该方法开始于步骤101。然后,在步骤102,将图像的每一列分割为多个间隔段。
在步骤103,将邻近列中的谷区合并以便生成候选眼区。然后,在步骤104,确定各个候选眼区是真眼区还是假眼区。
图2示出识别图像中的人脸矩形的示例方法。该方法开始于步骤201。然后,在步骤202,识别图像中的两个眼区,并且基于两个眼区识别一个候选人脸矩形。
在步骤203,设置一个围绕候选人脸矩形的环形区域。在步骤204,计算环形区域各个像素的灰度梯度。在步骤205,计算环形区域各个像素的参考梯度。在步骤206,计算环形区域中所有像素的灰度梯度和相应的参考梯度角度的平均值。在步骤207,判断平均角度是否小于第二阀值。如果步骤207的判断为“否”,则处理转到步骤210;否则,转到步骤208。
在步骤208,判断加权平均角度是否小于第三阀值。如果步骤208的判断为“否”,则处理转到步骤210;否则,转到步骤209。
在步骤209,将候选人脸矩形分类为人脸矩形(例如,真人脸)。在步骤210,将候选人脸矩形分类为假人脸(例如,假人脸)。
处理结束于步骤211。
对于图1和图2所示方法的更多说明,可参考中国专利中请第01132807.X号。
图3是根据本发明的一个实施例检测图像中的人脸肤色区域的方法流程图。
如图3所述,处理开始于步骤301。然后,在步骤302,识别待处理图像中的人脸矩形。识别图像中的人脸矩形的不同方法不对本发明构成限制。
然后,在步骤303,在所述人脸矩形中识别肤色参考部分。图4示出肤色参考部分的例子。能够使用各种识别肤色参考部分的方法。肤色参考部分的不同大小和形状以及识别方法不对本发明构成限制。
在步骤304,在肤色参考部分中计算肤色参考向量。假设x是肤色参考向量。x包括R(红)值、G(绿)值和B(蓝)值。R值是包括于肤色参考部分的像素的平均红色值。G值是包括于肤色参考部分的像素的平均绿色值。B值是包括于肤色参考部分的像素的平均蓝色值。R、G、B值和基于以下公式计算:
其中,r表示肤色参考部分中的像素的红色值,g表示在肤色参考部分中的像素的绿色值,b表示肤色参考部分中的像素的蓝色值,n表示肤色参考部分的像素数目。
从步骤305到步骤309,参照肤色参考向量识别人脸矩形中的肤色像素。
具体地,在步骤305,从人脸矩形中选择一个像素。
在步骤306,计算肤色参考向量与在步骤305中选择的像素的色向量之间的距离(例如,马氏(Mahalanobis)距离)。另一方案是,该距离可以为欧几里得距离。不同种类的距离和像素的不同选择方法不对本发明构成限制。
肤色参考向量和像素的色向量之间的马氏距离基于以下公式计算:
其中,x表示像素的色向量,d表示肤色参考向量和色向量x之间的马氏距离;x表示在步骤104中计算的肤色参考向量;“T”表示向量或矩阵的转置;表示在肤色参考部分中的像素的协方差矩阵的逆矩阵。
协方差矩阵基于以下公式计算:
其中,δr2,δg2,δb2,δrg2,δrb2,δgb2用以下公式计算:
在步骤307,判断在步骤305中选择的像素的马氏距离是否小于第一阀值。根据试验,第一阀值的范围可以是1到20。在此,第一阀值取5。
如果步骤307的结果是“是”,则处理转到步骤308;否则,则处理转回步骤305。
当然,可以将步骤307修改为判断在步骤306中计算的马氏距离是否大于相同的第一阀值。如果是这样,则步骤307的“是”判断分支转到步骤305,并且步骤307的“否”判断分支转到步骤308。
在步骤308,对在步骤305中选择并通过步骤307识别为肤色像素的像素进行记录。
在步骤309,判断包括于人脸矩形中的所有像素是否都通过步骤305至步骤307被测试过。
如果步骤309的结果是“否”,则处理转回步骤305,在其中选择没有被测试过的像素中的一个。如果步骤309的结果是“是”,则处理转到步骤310。
在步骤310,识别实质上包围所有肤色像素的椭圆。
实质上包围所有肤色像素的椭圆基于以下公式识别:
其中,z表示肤色像素的坐标,即(zx,zy);z表示所有肤色像素的平均坐标,即
协方差矩阵基于以下公式计算:
其中,δx2,δj2,δxy2用以下公式计算:
如上所述识别出的椭圆包围在步骤309后已经识别出的大部分肤色像素。
在步骤311,调整在步骤310中识别的椭圆的边缘,以便于获得在图像中检测到的人脸肤色区域。
为了调整椭圆的边缘,考虑在椭圆边缘的各个像素(以下称为边缘像素)。对边缘像素,计算一个特征值。并且对接近边缘像素的各个像素,也计算一个特征值。然后,对特征值进行相互比较。在特征值中,选择最大的特征值,并且选择具有最大特征值的像素作为新的边缘像素,然后用新的边缘像素代替原始边缘像素。通过这种方式,更新椭圆的边缘。继续上述计算、比较和更新处理,直到已经考虑了所有边缘像素。
在步骤311之后,已经更新了椭圆的边缘,并且获得了通常具有不规则边缘的新图形。该新图形的边缘所包围的区域认为是根据本发明检测到的图像中的人脸肤色区域。
最后,处理在步骤312结束。
图4示出包括用于获得肤色参考向量的肤色参考部分的人脸矩形。
如图4所示,参考标号400代表人脸矩形;参考标号401和参考标号402代表人脸矩形400中的两只眼睛。建立一个坐标系。在该坐标系中,x轴通过左眼401和右眼402的中心,原点O位于眼401和眼402之间的中点,并且y轴垂直于x轴。
在图4中,选择矩形部分403作为肤色参考部分。假设原点0和眼401或眼402之间的距离为1。将肤色参考部分403定义为A={(x,y)||x|<0.8;0<y<1)。当然,也可以选择人脸矩形400的其他部分作为肤色参考部分。
以下是调整椭圆边缘的例子。
在该例子中,将一种用索贝尔算法计算的边缘值用于表示一个像素位于一个区域边缘上的似然值。。如果用索贝尔算法计算的像素边缘值较大,则该像素更可能位于一个区域的边缘上。
如图5所示,如果要计算像素P的边缘值,则还要考虑在像素P邻域(例如,3*3邻域)中的各个像素。
根据索贝尔算法,边缘值计算如下:
为了简便起见,边缘值通常用以下公式计算:
Sbl(P)=(|Mh+|Mv|)/255
其中Mh和Mv用以下公式计算:
Mh=(G3+2G5+G8)-(G1+2G4+G6)
Mv=(G6+2G7+G8)-(G1+2G2+G3)
其中G1、G2、G3、G4、G5、G6、G7和G8表示将要计算其边缘值的像素的邻域(例如图5中的P1、P2、P3、P4、P5、P6、P7和P8)的灰度。
计算接近椭圆边缘的像素的边缘值,以调整椭圆边缘。
假设P0(x0,y0)是将被考虑的边缘像素。将接近P0(x0,y0)的像素定义为如下集合:
S={P(x,y)|y=y0,|x-x0|<T}
其中T表示阀值。例如,T可以为在步骤310中识别的椭圆的长轴的1/8。
还能够接近P0(x0,y0)的像素定义为以下集合:
S={P(x,y)|x=x0,|y-y0|<T}
对于在集合S中的各个像素,用索贝尔算法计算边缘值,并且将具有最大值的像素选择为新的边缘像素,并且用于代替P0(x0,y0)。
另一种方案是,边缘值还可以由Canny算法、Prewitt算法、Roberts算法、拉普拉斯-高斯方法和零交叉(zero-cross)方法等计算。不同种类的边缘值和边缘值的不同计算方法不对本发明构成限制。
图6是根据本发明的另一个实施例用于检测图像中的人脸肤色区域的装置的框图。
在图6中,参考标号601表示计算器,参考标号602表示候选识别电路,参考标号603表示肤色像素识别电路,参考标号605表示椭圆识别和调整电路。
计算器601接收待处理图像,并且计算肤色参考向量。计算器601可以直接在图像中识别肤色参考部分,或者首先在图像中识别人脸矩形,并且然后在该人脸矩形中识别肤色参考部分。然后,计算器601基于肤色参考部分计算肤色参考向量。
候选识别电路602在图像中识别人脸矩形。
肤色像素识别电路603基于肤色参考向量与候选人脸矩形中的像素色向量之间的距离识别肤色像素。还考虑将被识别的像素的邻域中的像素的距离。可参考图3中的步骤306到309。
椭圆识别和调整电路605识别一个实质上包围所有已经由肤色像素识别电路602识别的肤色像素的椭圆。可参考图3中的步骤310和311。椭圆识别和调整电路605的输出能够用于对图像进行进一步处理。
图7A、图7B和图7C示出人脸肤色区域的例子。图7A示出原始图像。图7B示出一个基于在图7A所示人脸矩形中识别的肤色像素的椭圆。图7C示出已经在图像中检测到人脸肤色区域的图像。
识别肤色像素的例子如下所述。
从图像中识别出人脸矩形。该人脸矩形的宽度是241个像素。该人脸矩形的高度是297个像素。在人脸矩形中选择矩形的肤色参考部分。该肤色参考部分的宽度为24个像素。该肤色参考部分的高度为20个像素。在人脸矩形中的像素R、G、B值是
(70,67,62),
(70,69,65),
(91,90,86),
(87,87,85),
(78,77,73),
(94,91,86),
(143,136,128),
(157,144,135),
(173,157,144),
(169,147,133),
(165,139,124),
(165,136,118),
(169,136,119),
(171,138,119),
(176,141,122)等。
将肤色参考向量x计算为[177.5506,143.0911,126.2267]。
将协方差矩阵计算为∑x:
然后,
然后,计算马氏距离的公式为
令第一阀值为5。
然后,计算人脸矩形400中的所有像素的马氏距离。
以像素(111,56)和(111,40)为例。像素(111,56)和(111,40)的色向量是[70/100,67/100,62/100]和[165/100,139/100,124/100]。
在此,肤色参考向量和像素的色向量用R(红)值、G(绿)值和B(蓝)值计算。为了减少计算量,像素的所有R(红)值、G(绿)值和B(蓝)值都被100除。
像素(111,56)的马氏距离是43.187,其不小于第一阈值。因此,不能将像素(111,56)识别为肤色像素。
像素(111,40)的马氏距离是1.4322,其小于第一阈值。因此,将像素(111,40)识别为肤色像素。
识别并调整椭圆的例子如下所述。
如图7A所示,将4735个像素识别为肤色像素。它们的坐标为
(-1.8759,0.5517),
(-1.8759,0.6069),
(-1.8759,0.6621),
(-1.8759,0.7172),
(-1.8759,0.7724),
(-1.8759,0.8276),
(-1.8759,0.8828),
(-1.8759,0.9379),
(-1.8759,0.9931),
(-1.8207,0.2207)等。
将4735个肤色像素的平均坐标计算为
将协方差矩阵∑z计算为:
然后,
令r为2。
因此,椭圆的公式为:
用索贝尔算法计算边缘值的例子如下所述。
如图5所示,以像素(380,250)为例。将Mh值计算为-39并且将Mv值计算为-3。因此,该像素的边缘值为(|-39|+|-3|)/255,即,边缘值为0.165。对于该例子的更多解释,可参考中国专利申请第01132807.X号(由同一申请人于2001年9月6日提出申请)。
图8示意性地示出能够实现在图3中所示方法的图像处理系统。图8中的图像处理系统包括CPU(中央处理器)801、RAM(随机存取存储器)802、ROM(只读存储器)803、系统总线804、HD(硬盘)控制器805、键盘控制器806、串行端口控制器807、并行端口控制器808、显示控制器809、硬盘810、键盘811、照相机812、打印机813和显示器814。在这些部件中,与系统总线804相连的有CPU801、RAM802、ROM 803、HD控制器805、键盘控制器806、串行端口控制器807、并行端口控制器808和显示控制器809。硬盘810与HD控制器805相连,并且键盘811与键盘控制器806相连,照相机812与串行端口控制器807相连,打印机813与并行端口控制器808相连,以及显示器814与显示器控制器809相连。
图8中各个部件的功能在本技术领域内都是众所周知的,并且图8所示的体系结构也是常规的。这种结构不仅用于个人计算机,而且用于手持设备,诸如Palm PC、PDA(个人数据助理)、数码相机等。在不同的应用中,可省略图8中所示的某些部件。例如,如果整个系统是数码相机,则可省略并行端口控制器808和打印机813,并且该系统可由单片机实现。如果应用软件存储在EPROM或者其他非易失性存储器中,则可省略HD控制器805和硬盘810。
图8中所示的整个系统由通常作为软件存储在硬盘810中(或者如上所述,在EPROM或者其他非易失性存储器中)的计算机可读指令控制。软件还可以从网络(图中未示出)下载。可将或者存储在硬盘810中的,或者从网络下载的软件加载到RAM 802中,并由CPU801执行,以便完成由软件限定的功能。
对于本技术领域的技术人员无需创造性的工作即可基于图3中的流程图开发出一个或者更多的软件。这样开发出的软件将执行图3所示的处理图像的方法。
在某种意义上,图8所示的图像处理系统,如果得到根据图3所示流程图开发出的软件的支持,则可实现与图6所示图像处理装置相同的功能。
本发明还提供一种编有用于在图像中检测人脸肤色区域的机器可读计算机程序的存储介质,该存储介质包括使处理器实现根据本发明方法的指令。存储介质可为任何有形媒介,例如软盘、CD-ROM、硬盘驱动器(例如,图8中的硬盘810)。
虽然前面参照了本发明的特定实施方式,对于本技术领域的技术人员应当理解,这些仅是举例说明,可对这些实施例作许多改变而不脱离本发明的原理,本发明的范围由所附权利要求限定。
机译: 结合肤色模型和运动信息的兴趣区域的人脸检测方法和装置
机译: 用于在摄影图像中检测人脸图像的人脸图像检测装置
机译: 用于基于容纳在纸张容纳单元中的纸张的尺寸在读取区域中读取图像或基于检测到的原稿尺寸在读取区域中读取图像的图像处理设备,其控制方法和存储介质