图像中的红眼消除方法转让专利

申请号 : CN200910164757.3

文献号 : CN101620679B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郭怀印王瑞崔跃利

申请人 : 凌阳电通科技股份有限公司北京北阳电子技术有限公司

摘要 :

本发明公开了一种自动红眼消除方法,该方法直接利用YUV格式的人脸图像,进行红眼消除和红眼修正。红眼定位操作包括图像分割步骤、闭运算步骤和几何特征限定步骤;在图像分割步骤中,对于输入的YUV格式图片,直接利用Y、V分量进行红色度分割,获得多个连通区域的二值图像。为了去除孤立的噪声点,并填充分割区域的孔洞,可以在分割出的区域上进行闭运算操作,在本发明中通过人脸图片的大小自适应的确定掩模大小m的值。在几何特征限定步骤中,对包含多个连通区域的二值图像中的每个连通区域进行几何特征检测,将符合红眼几何特征的连通区域确定为红眼区域;对人脸图像中的红眼区域进行红眼修正。使用本发明能够提高红眼消除的处理速度。

权利要求 :

1.一种图像中的红眼消除方法,其特征在于,该方法包括:获取亮度色差YUV格式的人脸图像,对所述人脸图像进行红眼定位和红眼修正;

所述红眼定位操作包括图像分割步骤、闭运算步骤和几何特征限定步骤;

在所述图像分割步骤中,根据选定的红色度V分量阈值和亮度Y分量阈值,将所述人脸图像中V分量大于所述V分量阈值且Y分量小于所述Y分量阈值的像素位置用第一像素表示,其他像素位置用第二像素表示,以生成二值图像;

在所述闭运算步骤中,对所述二值图像进行形态学的闭运算,获得包含多个连通区域的二值图像;

在所述几何特征限定步骤中,从闭运算处理的二值图像中,将互相邻接的第一像素集合作为一个连通区域提取出来,对所述包含多个连通区域的二值图像中的每个连通区域进行几何特征检测,将符合红眼几何特征的连通区域确定为红眼区域;

对所述人脸图像中的红眼区域进行红眼修正处理。

2.如权利要求1所述的方法,其特征在于,所述获取YUV格式的人脸图像为:采用人脸检测技术从待处理图像中获取人脸区域的图像;或者为,获取外部输入的待处理的人脸图像;

所述对所述人脸图像进行红眼定位为:对包含完整人脸的人脸图像进行红眼定位,或者对包含完整人脸的图像的上半部分进行红眼定位。

3.如权利要求1所述的方法,其特征在于,所述图像分割步骤之前,该方法进一步包括红眼类型判断步骤;

在所述红眼类型判断步骤中,计算所述人脸图像中各像素的V分量的均值,如果该均值大于所述V分量阈值,则确定为典型红眼,否则确定为弱红眼;

在所述图像分割步骤中,根据红眼类型选定Y分量阈值;典型红眼对应的Y分量阈值低于弱红眼对应的Y分量阈值。

4.如权利要求3所述的方法,其特征在于,所述V分量阈值的取值范围为[150,160]。

5.如权利要求4所述的方法,其特征在于,所述V分量阈值为155。

6.如权利要求3所述的方法,其特征在于,典型红眼对应的Y分量阈值为N,弱红眼对应的Y分量阈值为N+10,N的取值范围为[80,110]。

7.如权利要求6所述的方法,其特征在于,所述N为95。

8.如权利要求1所述的方法,其特征在于,所述闭运算采用m×m模板,所述m为人脸图像的宽度和高度中的最大值除以40得到的商;如果商为小数则取整。

9.如权利要求8所述的方法,其特征在于,将闭运算得到的m值修正为奇数。

10.如权利要求1所述的方法,其特征在于,根据连通区域的面积和/或圆度信息对每个连通区域执行所述几何特征检测;

根据面积对连通区域i进行几何特征检测为:计算连通区域i的面积与所述人脸图像中人脸面积的比值,如果该比值在预设比值范围之外,则确定连通区域i不符合红眼几何特征;

根据圆度信息连通区域i进行几何特征检测为:计算连通区域i的圆度信息SCi,SCi2

=Si/(Ci);Si为连通区域i的面积,Ci为连通区域i的周长;如果连通区域i的圆度信息SCi与预设圆度信息之差大于或等于一预设差异阈值,则确定连通区域i不符合红眼几何特征。

说明书 :

图像中的红眼消除方法

技术领域

[0001] 本发明涉及数字图像处理技术,具体涉及图像中的红眼消除方法。 背景技术
[0002] “红眼效应”是在拍照时出现的一种现象,是指用闪光灯拍摄人物照片时,由被拍摄者眼底血管的反光而导致的人眼瞳孔中央形成的红点现象,其成因是人的瞳孔在环境光比较暗时会放大,近距离闪光灯的强光经过放大的瞳孔照在视网膜后的微血管组织上,反射回红色的光线,造成实际成像的照片呈现“红眼”状。红眼和一般人们所认知的眼睛颜色差别很大,降低了照片的质量,因此没有必要消除照片中的红眼现象。 [0003] 现有技术中红眼消除方法主要是基于RGB(Red、Green、Blue,红绿蓝)图像进行红眼检测和红眼修正。例如2006年电路与系统学报第11卷第6期记载的《一种自动红眼消除方法》就是基于RGB图像的红眼消除方法。但是现有的红眼检测方法具有如下缺点: [0004] 其一、在现有技术中,由于RGB图像是用RGB三者共同表示颜色,对红眼特有的色彩没有一个很好的量化方法,不能直接利用R分量进行判断,因此需要利用R、G、B分量进行复杂的红色度计算。复杂的计算操作降低了红眼消除的处理速度。
[0005] 其二、目前数码相机、手机等大多数便携式产品多采用YUV(亮度色差,又称YCbCr)色彩空间表示彩色图像。其中Y代表亮度,U和V是构成彩色的两个色度分量,U为蓝色度分量,V为红色度分量。YUV主要利用人眼对亮度比对颜色更加敏感的特点,将图像的亮度信息和颜色信息分离,并使用不同的分辨率进行存储,这样可以在对主观感觉影响很小的前提下,更加有效的存储图像数据。而在RGB色彩空间中,R、G、B三个颜色的重要程度相同,所以需要使用相同的分辨率进行存储,存储数据量较大。与RGB888相比,使用YUV420格式存储图像会节省多至一半的内存(Memory)。
[0006] 而现有的红眼消除技术多是基于RGB色彩空间进行红眼消除处理,因此当需要对YUV图像进行红眼消除处理时,必须将YUV图像全部转为RGB图像再进行处理。转换后的RGB图像必然会占用较多的内存空间,而且大量图像数据的转换才做也会影响红眼消除的处理速度。
[0007] 发明内容
[0008] 有鉴于此,本发明提供了一种红眼消除方法,能够提高红眼消除的处理速度。 [0009] 该方法包括:获取亮度色差YUV格式的人脸图像,对所述人脸图像进行红眼定位和红眼修正;
[0010] 所述红眼定位操作包括图像分割步骤、闭运算步骤和几何特征限定步骤; [0011] 在所述图像分割步骤中,根据选定的红色度V分量阈值和亮度Y分量阈值,将所述人脸图像中V分量大于所述V分量阈值且Y分量小于所述Y分量阈值的像素位置用第一像素表示,其他像素位置用第二像素表示,以生成二值图像;
[0012] 在所述闭运算步骤中,对所述二值图像进行形态学的闭运算,获得包含多个连通区域的二值图像;
[0013] 在所述几何特征限定步骤中,从闭运算处理的二值图像中,将互相邻接的第一像素集合作为一个连通区域提取出来,对所述包含多个连通区域的二值图像中的每个连通区域进行几何特征检测,将符合红眼几何特征的连通区域确定为红眼区域; [0014] 对所述人脸图像中的红眼区域进行红眼修正处理。
[0015] 其中,所述获取YUV格式的人脸图像为:采用人脸检测技术从待处理图像中获取人脸区域的图像;或者为,获取外部输入的待处理的人脸图像;
[0016] 所述对所述人脸图像进行红眼定位为:对包含完整人脸的人脸图像进行红眼定位,或者对包含完整人脸的图像的上半部分进行红眼定位。
[0017] 较佳地,所述图像分割步骤之前,该方法进一步包括红眼类型判断步骤; [0018] 在所述红眼类型判断步骤中,计算所述人脸图像中各像素的V分量的均值,如果该均值大于所述V分量阈值,则确定为典型红眼,否则确定为弱红眼;
[0019] 在所述图像分割步骤中,根据红眼类型选定Y分量阈值;典型红眼对应的Y分量阈值低于弱红眼对应的Y分量阈值。
[0020] 其中,所述V分量阈值的取值范围为[150,160]。
[0021] 较佳地,所述V分量阈值为155。
[0022] 其中,典型红眼对应的Y分量阈值为N,弱红眼对应的Y分量阈值为N+10,N的取值范围为[80,110]。
[0023] 较佳地,所述N为95。
[0024] 较佳地,所述闭运算采用m×m模板,所述m为人脸图像的宽度和高度中的最大值除以40得到的商;如果商为小数则取整。
[0025] 较佳地,将闭运算得到的m值修正为奇数。
[0026] 较佳地,根据连通区域的面积和/或圆度信息对每个连通区域执行所述几何特征检测;
[0027] 根据面积对连通区域i进行几何特征检测为:计算连通区域i的面积与所述人脸图像中人脸面积的比值,如果该比值在预设比值范围之外,则确定连通区域i不符合红眼几何特征;
[0028] 根据圆度信息连通区域i进行几何特征检测为:计算连通区域i的圆度信息SCi,2
SCi=Si/(Ci);Si为连通区域i的面积,Ci为连通区域i的周长;如果连通区域i的圆度信息SCi与预设圆度信息之差大于或等于一预设差异阈值,则确定连通区域i不符合红眼几何特征。
[0029] 根据以上技术方案可见,本发明直接对YUV图像进行红眼定位,避免利用R、G、B分量进行复杂的红色度计算,从而提高了红眼消除的处理速 度。而且,本发明仅对人脸图像中的红眼区域进行红眼修正处理,不需要对除红眼区域以外的区域进行红眼修正处理,从而减少了红眼修正的处理面积,进一步提高了红眼消除的处理速度。
[0030] 其次,本发明的红眼消除过程不需要将YUV图像全部转换为RGB图像,从而避免了较大内存空间的占用,而且减少了转换操作的用时。
[0031] 此外,本发明还通过有效的阈值判断分类红眼,以便提高红眼区域的检测准确度。 [0032] 另外,本发明过较为准确度阈值判决和几何限定,最大程度排除了非红眼区域的情况,提高了红眼消除的准确性。

附图说明

[0033] 图1为本发明实施例中红眼消除方法的流程图。
[0034] 图2(a)~图2(e)为本发明实施例红眼消除过程中各步骤的效果图:图2(a)为原始人脸图像,图2(b)为图像分割后的二值图像,图2(c)为闭运算后的图像,图2(d)为几何特征限定后红眼区域图像,图2(e)为红眼修正后的人脸图像。
[0035] 图3为本发明实施例中根据面积和圆度信息进行几何特征检测的流程图。 具体实施方式
[0036] 本发明为一种红眼消除方法,该方法包括获取YUV格式的人脸图像,对YUV格式的人脸图像进行红眼定位和红眼修正。
[0037] 其中,红眼定位操作包括图像分割步骤、闭运算步骤和几何特征限定步骤; [0038] 在图像分割步骤中,根据选定的V分量阈值(ThresholdV)和Y分量阈值(ThresholdY),将人脸图像中V分量大于ThresholdV且Y分量小于ThresholdY的像素位置用第一像素表示,其他像素位置用第二像素标识,以 生成二值图像;较佳地,第一像素可以为白色像素,像素值为255;第二像素可以为黑色像素,像素值为0; [0039] 在闭运算步骤中,对生成的二值图像进行形态学的闭运算,获得包含多个连通区域的二值图像;
[0040] 在几何特征限定步骤中,对包含多个连通区域的二值图像中的每个连通区域进行几何特征检测,将符合红眼几何特征的连通区域确定为红眼区域,从而完成了红眼定位操作。
[0041] 在红眼修正操作中,仅对人脸图像中的红眼区域进行红眼修正处理,从而实现了红眼消除。
[0042] 可见,本发明直接对YUV图像进行红眼定位,避免利用R、G、B分量进行复杂的红色度计算,从而提高了红眼消除的处理速度。而且,本发明仅对红眼区域的图像进行红眼修正处理,不需要对红眼区域以外的区域进行红眼修正处理,从而减少了红眼修正的处理面积,进一步提高了红眼消除的处理速度。
[0043] 上述红眼修正操作可以将红眼区域的YUV图像转换为RGB图像再进行颜色修正。与现有技术将整个人脸图像转换为RGB格式后进行红眼检测和修正的方式相比,本发明无需进行整个图像的格式转换,不仅减少了红眼消除过程中对内存空间的占用,而且减少了转换操作的用时,有利于红眼消除速度的进一步提高。
[0044] 本发明的技术方案可以较佳地适用于内存空间有限、处理能力不高的图像处理设备,例如手机、照相机等。当然,也完全可以应用于其他任何图像处理设备中。 [0045] 下面结合附图并举实施例,对本发明进行详细描述。
[0046] 图1为本发明较佳实施例中红眼消除方法的流程图。如图1所示,该方法包括以下步骤:
[0047] 步骤101:获取人脸图像。该人脸图像是YUV格式的图像。假设获取的人脸图像如图2(a)所示。
[0048] 本步骤获取人脸图像步骤可以采用现有的人脸检测技术从一幅待处理图像中获取人脸区域的图像,即人脸图像,对获取的人脸区域的图像执行步骤102-105的处理,从而减少处理数据量。或者,获取人脸图像也可以是获取用户输入一幅待处理的人脸图像。其中,所述人脸图像可以是包含完整人脸的人脸图像,也可以是包含完整人脸的人脸图像的上半部分。
[0049] 步骤102:红眼类型判断。
[0050] 在红眼现象中,有些红眼的红色调较纯,有些红眼的色彩偏黄或偏暗,前一种现象常常出现在拍摄对象为白色人种和环境光线较好的条件下,而后一种现象则往往出现在拍摄对象为其他人种或环境光线较差的条件下。在此,将二者分别称为典型红眼和弱红眼。在本较佳实施方式中,后续图像分割步骤采用的参数需要根据红眼类型进行选定,因此需要在图像分割之前进行红眼类型的判断。
[0051] 通过对大量YUV格式的红眼样本进行分析发现,一幅图像中各像素的V分量的均值对红眼的强弱具有较好的区分性。因此,本实施例利用YUV格式的人脸图像中的V分量作为判断依据,进行典型红眼和弱红眼的红眼类型区分。具体来说,计算人脸图像中各像素的V分量的均值,如果该均值大于预先设定的V分量阈值,即大于ThresholdV,则确定为典型红眼,否则,为确定为弱红眼。
[0052] 较佳地,ThresholdV的取值范围可以为[150,160],优选取155。 [0053] 本步骤利用YUV图像中的V分量作为判断依据,能够很好的对红眼所特有的色彩进行量化,能够有效地区分典型红眼和弱红眼。而且,相比于现有技术要进行复杂的红色度计算进而根据红色度直方图进行判断,本实施例既可以直接处理YUV格式的图像,又不需要复杂的算法,有利于提高红眼消除的速度。
[0054] 以下步骤103到105为红眼定位步骤,该红眼定位步骤根据人脸图像的Y分量和V分量进行图像分割,获得二值图像,进而形态学运算,并根据几何特征去除不可靠区域,从而定位红眼区域位置。
[0055] 步骤103:图像分割。
[0056] 本步骤根据步骤102确定的红眼类型,选定ThresholdY值:典型红眼对应的ThresholdY低于弱红眼对应的ThresholdY。
[0057] 本实施例中ThresholdV=155,对于典型红眼ThresholdY=N,对于弱红眼ThresholdY=N+x。其中,N为正数,是红眼阈值底限,较佳地,N的取值范围为[80,110],优选取值为95。x为典型红眼和弱红眼的差异值,x大于0,优选取值为10。 [0058] 当红眼类型为典型红眼,且ThresholdV=155,ThresholdY=N=95时,在本图像分割步骤中,将人脸图像中满足V>155且Y<95的像素位置用像素值“255”表示,其他像素位置用像素值“0”表示,从而得到人脸图像的黑白二值图像。
[0059] 较佳地,由于对于一幅人脸图像来说,人眼区域必定在上半张图,因此可以仅对包含完整人脸的人脸图像的上半部分执行红眼定位操作,从而简化一半的计算量。当然,也可以对包含完整人脸的人脸图像执行红眼定位操作。
[0060] 采用本步骤103对图2(a)的人脸图像的上半部分进行图像分割,得到二值图像如图2(b)所示。
[0061] 步骤104:形态学闭运算。
[0062] 从图2(b)可以看出,图像分割处理后的图像包含很多不属于红眼的噪声点,而且红眼区域中也有孔洞,因此采用本步骤的闭运算去除二值图像中孤立的噪声点,并填充分割区域的孔洞。闭运算是用m×m的模板在分割出的区域上进行闭运算操作,实现先膨胀后腐蚀的过程,而腐蚀和膨胀是基本的形态学运算,在此不作赘述。
[0063] 与现有技术不同的是,本实施例根据人脸图像的大小自适应获取闭运算的模板的大小,即m值。具体来说,m=max(Width,Height)/40,即m取人脸图像的宽度(Width)和高度(Height)中的最大值除以40得到的商。如果m为小数,则取整,可以为向上或向下取整。
[0064] 较佳地,为了容易寻找模板的中心点,将m修正为奇数,可以设定为 向上修正或向下修正。
[0065] 采用本步骤104对图2(b)的二值图像进行闭运算,得到图像如图2(c)所示。 [0066] 步骤105:几何特征限定。
[0067] 本步骤中,首先从经闭运算处理的二值图像中提取各连通区域。具体来说,提取连通区域就是从白色像素(像素值为255)和黑色像素(像素值为0)组成的点阵图像中,将互相邻接的像素值为“255”的像素集合作为一个连通区域提取出来。为了便于后续对每个连通区域进行几何特征检测,进一步为图像中各连通区域设置区域标记,并统计连通区域的数目。
[0068] 然后,根据各连通区域的几何特征参数,对各连通区域进行几何特征检测。其中,几何特征参数包括面积、圆度信息等等。
[0069] 以根据连通区域的面积和圆度信息对每个连通区域进行几何特征检测为例,具体检测操作包括:
[0070] 根据面积对连通区域i进行几何特征检测为:计算连通区域i的面积和人脸图像中的人脸面积,计算连通区域i的面积与人脸面积的比值,如果该比值在预设比值范围之外,则说明该连通区域过大或过小,确定连通区域i不符合红眼几何特征,属于干扰区域; [0071] 根据圆度信息连通区域i进行几何特征检测为:计算连通区域i的圆度信息SCi,2
SCi=Si/(Ci);Si为连通区域i的面积,Ci为连通区域i的周长;如果连通区域i的圆度信息SCi与预设圆度信息SCth之差大于或等于一预设差异阈值,则确定连通区域i不符合红眼几何特征,属于干扰区域。
[0072] 图3示出了根据面积和圆度信息进行几何特征检测的流程图,该流程包括以下步骤:
[0073] S0、设i=0;i为当前检测的连通区域的区域标记;
[0074] S1、i=i+1;判断i是否大于总连通区域数,如果是,则结束本几何特征检测步骤,否则执行步骤S2;
[0075] S2、获取标记的第i个连通区域,称为连通区域i;
[0076] S3、计算连通区域i的面积与人脸面积比;
[0077] S4、判断计算的比值是否在预设范围之内,如果是,执行步骤S5;否则返回步骤S1;
[0078] S5、计算连通区域i的圆度信息SCi;
[0079] S6、判断计算的圆度信息SCi与预设圆度信息SCth之差是否小于一预设差异阈值,如果是,则执行步骤S7;否则,返回步骤S1;
[0080] S7、确定连通区域i为红眼区域,保存连通区域i的坐标,并返回步骤S1。 [0081] 至此,本几何特征检测步骤结束。
[0082] 如果用于几何特征检测的几何特征参数进一步包括其他参数,则通过面积和圆度信息检测的连通区域还需要进一步验证。对各个参数的验证顺序不做限定,只要某个连通区域的一项参数不符合红眼区域要求,则该连通区域不被认为是红眼区域。 [0083] 采用本步骤105对图2(c)的图像进行几何特征限定,得到红眼区域位置如图2(d)所示。
[0084] 步骤106:根据所确定的红眼区域,从原人脸图像中获取红眼区域的YUV图像,将获取的YUV图像转换为RGB图像并进行红眼修正。
[0085] 经步骤105确定红眼的位置后,红眼修正工作的目标是调整红眼像素的色彩值,使其恢复正常的颜色。修正最主要的是要解决瞳孔色彩偏红的问题,本实施例将红眼区域处的图像转为RGB格式,并利用现有的红眼修正处理手段进行修正处理。由于最终确定的红眼区域很小,即使转成RGB格式也不会占用大量内存。
[0086] 在RGB空间里,红色用R通道的值来表示。因此在RGB空间中对R通道进行减色处理,以实现红眼修正,这种修正方法简便而直观。但仅对R通道进行调整往往是不够的,在一些情况下,G通道值和R通道值相差较大,仅降低R通道值会使修正后的红眼偏绿或偏蓝。因此较佳地,可以在对R通道进行减色处理的同时,对G通道和B通道做出适当调整。例如,可以 将R通道修正为: 同时,将G通道和B通道分别调整为: 和
其中,Rout、Gout和Bout分别为修正后的RGB值。
[0087] 在另一个实施例中还可以采用2005年11月中国图象图形学报第10卷第11期中《基于人脸检测和颜色分析的红眼自动消除》记载的方法进行红眼修正。 [0088] 根据图2(d)的红眼区域位置,对图2(a)原始人脸图像中的红眼区域进行红眼修正,得到红眼消除结果如图2(e)所示。
[0089] 至此,本流程结束。
[0090] 从以上所述技术方案可见,传统的方法是将YUV空间转换成RGB空间,然后再进行消除红眼。本发明直接在YUV空间进行消除红眼,在保证检测效果的同时,最大程度简化计算。而且,本发明还通过有效的阈值判断分类红眼,以便提高红眼区域检测的准确程度。测试表明,在取得相同效果情况下,本发明采用的红眼消除方法比利用传统方法在速度上提高约40%。
[0091] 综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。