用于在图像中检测红眼的方法和装置转让专利

申请号 : CN200410062680.6

文献号 : CN1731419B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈新武张钺王建民

申请人 : 佳能株式会社

摘要 :

本发明提供一种在图像中检测红眼的方法,其特征在于包括以下步骤:计算所述图像的肤色参考向量;在所述图像中识别候选红眼区域;在所述候选红眼区域中识别肤色像素;从所述候选红眼区域中去除肤色像素;判断所述候选红眼区域是否是红眼。本发明还提供一种装置和机器可读存储介质。根据本发明,基于已经从中去除了肤色像素的候选红眼区域对红眼进行检测。显著地提高了检测红眼的速度和精确度。

权利要求 :

1.一种在图像中检测红眼的方法,其特征在于包括以下步骤:基于肤色参考部分来计算所述图像的肤色参考向量;

在所述图像中识别候选红眼区域;

基于所述肤色参考向量和包括于所述候选红眼区域的每个像素的色向量之间的距离来识别肤色像素;

从所述候选红眼区域中去除肤色像素;以及判断所述候选红眼区域是否是红眼。

2.根据权利要求1的方法,其特征在于所述计算肤色参考向量的步骤包括:在所述图像中识别人脸矩形;

在所述人脸矩形中识别所述肤色参考部分;以及基于包括于所述肤色参考部分的像素的色值计算所述肤色参考向量。

3.根据权利要求2的方法,其特征在于所述肤色参考部分是在所述人脸矩形中的两眼之间的区域。

4.根据权利要求2的方法,其特征在于所述肤色参考向量包括R值、G值和B值,其中,所述R值是包括于所述肤色参考部分的像素的平均红色值,所述G值是包括于所述肤色参考部分的像素的平均绿色值,所述B值是包括于所述肤色参考部分的像素的平均蓝色值。

5.根据权利要求4的方法,其特征在于在所述候选红眼区域中识别肤色像素的步骤包括:计算所述肤色参考向量和包括于所述候选红眼区域的每个像素的色向量之间的距离;以及如果一个像素的距离和所述像素邻域中像素的距离都小于阈值,则将所述像素识别为肤色像素。

6.根据权利要求5的方法,其特征在于所述像素的距离用(x-x)T∑-1(x-x)计算,其中x表示所述像素的色向量,x表示所述肤色参考向量,∑表示在所述肤色参考部分中的像素的协方差矩阵;以及所述阈值的范围是5到20。

7.根据权利要求6的方法,其特征在于所述阈值的范围是6到10。

8.根据权利要求7的方法,其特征在于所述阈值是8。

9.一种在图像中检测红眼的装置,其特征在于包括:计算器,用于基于肤色参考部分来计算所述图像的肤色参考向量;

候选区识别电路,用于在所述图像中识别候选红眼区域;

候选区处理器,用于基于所述肤色参考向量和包括于所述候选红眼区域的每个像素的色向量之间的距离来识别肤色像素,还用于从所述候选红眼区域去除所述肤色像素;

检测器,用于判断由所述候选区处理器输出的所述候选红眼区域是否是红眼。

10.根据权利要求9的装置,其特征在于所述计算器包括:用于在所述图像中识别人脸矩形的装置;

用于在所述人脸矩形中识别所述肤色参考部分的装置;以及用于基于包括于所述肤色参考部分的像素的色值计算所述肤色参考向量的装置。

11.根据权利要求10的装置,其特征在于所述肤色参考部分是所述人脸矩形中的两只眼睛之间的区域.

12.根据权利要求10的装置,其特征在于所述肤色参考向量包括R值、G值和B值,其中所述R值是包括于所述肤色参考部分的像素的平均红色值,所述G值是包括于所述肤色参考部分的像素的平均绿色值,所述B值是包括于所述肤色参考部分的像素的平均蓝色值。

13.根据权利要求12的装置,其特征在于所述候选区处理器包括:用于计算所述肤色参考向量和包括于所述候选红眼区域的各个像素的色向量之间的距离的装置;以及,用于如果一个像素的距离和所述像素邻域中像素的距离都小于阈值,则将所述像素识别为肤色像素的装置。

14.根据权利要求13的装置,其特征在于:所述像素的距离用(x-x)T∑-1(x-x)计算,其中x表示所述像素的色向量,x表示所述肤色参考向量,∑表示在所述肤色参考部分中的像素的协方差矩阵,以及所述阈值的范围是5到20。

15.据权利要求14的装置,其特征在于所述阈值的范围是6到10。

16.根据权利要求15的装置,其特征在于所述阈值是8。

说明书 :

技术领域

本发明涉及图像处理,并且尤其涉及对在其中检测红眼的图像进行处理的方法和装置。

背景技术

红眼是人的瞳孔周围出现的不自然的红色调。其通常是由血管反射闪光造成的。目前,有很多识别红眼的方法。
在识别红眼的现存方法中,首先在数字图像中识别候选红眼区域,再进行进一步检测或计算以确定候选红眼区域是否是红眼。通常候选红眼区域包括肤色像素却不包括红眼像素。候选红眼区域中包括肤色像素降低了红眼检测精确度。

发明内容

本发明的目的是提供考虑肤色像素的在图像中检测红眼的方法和装置。
为了达到以上目的,本发明提供一种在图像中检测红眼的方法,其特征在于包括步骤:
基于肤色参考部分来计算所述图像的肤色参考向量;
在所述图像中识别候选红眼区域;
基于所述肤色参考向量和包括于所述候选红眼区域的每个像素的色向量之间的距离来识别肤色像素;
从所述候选红眼区域中去除肤色像素;
判断所述候选红眼区域是否是红眼。
本发明还提供一种在图像中检测红眼的装置,其特征在于包括:计算器,用于基于肤色参考部分来计算所述图像的肤色参考向量;
候选区识别电路,用于在所述图像中识别候选红眼区域;
候选区处理器,用于基于所述肤色参考向量和包括于所述候选红眼区域的每个像素的色向量之间的距离来识别肤色像素,还用于从所述候选红眼区域去除所述肤色像素;
检测器,用于判断由所述候选区处理器输出的所述候选红眼区域是否是红眼。
根据本发明的方法和装置,基于已经从中去除了肤色像素的候选红眼区域对红眼进行检测。因此,极大地提高了检侧红眼的速度和精确度。
另外,本发明的方法能够与各种识别人脸矩形、识别候选红眼区域和从候选红眼区域中检测红眼的常规方法结合来适应不同的情况。
结合附图,本发明的其他特点和优点可从下面通过举例来对本发明原理进行解释的优选实施例的说明中变得更为清楚。

附图说明

图1是根据本发明实施例的在图像中检测红眼方法的流程图;
图2示出包括用于获取肤色参考向量的肤色参考部分的人脸矩形;
图3是根据本发明另一个实施例用于在图像中检测红眼的装置的框图;
图4A、图4B和图4C示出候选红眼区域的例子;
图5示意性地示出可在其中实现图1所示方法的图像处理系统;
图6示出在图像中识别眼区的一个示例方法;
图7示出在图像中识别人脸矩形的一个示例方法;
图8示出在图像中识别候选红眼区域的一个示例方法。

具体实施方式

在下面的说明中,关于如何识别候选人脸区域,如何在人脸中识别眼区,可参考中国专利申请第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日提出申请等等。这些申请在此用于参考。然而,这些申请中公开的识别候选人脸区域的方法、识别眼区的方法、从候选红眼区域检测红眼的方法对本发明并不构成限制。任何常规的在图像中识别人脸矩形的方法、识别候选红眼区域的方法、判断候选红眼区域是否是红眼的方法都可以在本发明中使用。
图6示出在图像中识别眼区的一个示例方法。该方法开始于步骤601。然后在步骤602,将图像的每一列分割为多个间隔段。
在步骤603中,将邻近列中的谷区合并以便生成候选眼区。然后,在步骤604,判断每个候选眼区是真眼区域还是假眼区。
图7示出在图像中示出识别人脸矩形的一个示例方法。该方法开始于步骤701。然后,在步骤702,在图像中识别两个眼区,并且基于两个眼区,识别一个候选人脸矩形。
在步骤703,设置一个围绕候选人脸矩形的环形区域。在步骤704,计算环形区域每个像素的灰度梯度。在步骤705,计算环形区域每个像素的参考梯度。在步骤706,计算环形区域全部像素的灰度梯度和相应的参考梯度的角度平均值。在步骤707,判断平均角度是否小于第二阈值。如果步骤707的判断为“否”,则处理转到步骤710;否则,转到步骤708。
在步骤708,判断加权平均角度是否小于第三阈值。如果步骤708的判断为“否”,则处理转到步骤710;否则转到步骤709。
在步骤709,将候选人脸矩形分类为人脸矩形(即,真人脸)。在步骤710,将候选人脸矩形分类为假人脸(即,假人脸)。
处理结束于步骤711。
对图6、7中所示方法的更多说明,可以参考中国专利申请第01132807.X号。
图8示出在图像中识别候选红眼区域的一个示例方法。该方法开始于步骤801。然后在步骤802,识别图像中的一个眼区。
在步骤803,在该眼区识别第一数目的候选红眼区域.为了在眼区中识别候选红眼区域,考虑眼区中的像素特征值.例如,在步骤803,考虑眼区中的像素的颜色变化,或者纹理,或者颜色变化和纹理的结合.
在步骤804,使第一数目的候选红眼区域缩小。结果,产生第二数目的候选红眼区域。
根据缩小处理,估算在每一个第一数目候选红眼区域中的每一个像素的至少一个特征值。如果估算的特征值不满足为红眼像素设定的标准,则从相应的候选红眼区域中删除被估算的像素。这样,使第一数目候选红眼区域中大多数的面积缩小。如果一个候选红眼区域中的所有像素都已删除,则该候选红眼区域就不复存在并不再被考虑。
这样,第二数目,即步骤804执行之后的候选红眼区域的总数目,可能小于第一数目,即步骤804执行之前的候选红眼区域的总数目。
在步骤805,使第二数目的候选红眼区域扩大。结果,产生第三数目的候选红眼区域。
在该步骤中,考虑每个第二数目的候选红眼区域的边缘像素。“边缘像素”指位于候选红眼区域边缘的像素。如果边缘像素的邻近区域像素符合为红眼像素设定的标准,则将这些像素包括到相关的候选红眼区域中。这样,使第二数目候选红眼区域大多数的面积扩大,并且一些候选红眼区域与其他候选红眼区域不可避免地合并起来。这引入了步骤805的另一项功能。
步骤805的另一项功能是选择性地删除合并的候选红眼区域,选择性地结合合并的候选红眼区域,或者选择性地保持合并的候选红眼区域中的一个而删除其他区域。
不再考虑删除的候选红眼区域。
这样,第三数目,即步骤805执行之后的候选红眼区域的总数目,可能小于第二数目,即步骤805执行之前的候选红眼区域的总数。
在步骤806,选择不多于一个的候选红眼区域作为在眼区中检测到的红眼区域。
在步骤806,估算第三数目候选红眼区域中像素的多个特征值。基于估算的结果,删除大部分第三数目候选红眼区域。给左边候选红眼区域打分,并且只进一步考虑具有最高分的候选红眼区域。如果唯一的具有最高分的候选红眼区域满足标准,则将其选择作为当前眼区中检测到的红眼区域。否则,在当前眼区中未检测到红眼区域。
在步骤807,该处理结束。
对图8中示出的方法的更多说明,可以参考中国专利申请第200310116034.9号。
图1是根据本发明实施例的检测图像中红眼方法的流程图。
如图1所示,该处理开始于步骤101。然后,在步骤102,在将被处理的图像中,识别人脸矩形。在图像中识别人脸矩形的不同方法对本发明不构成限制。
然后,在步骤103,在所述人脸矩形中识别肤色参考部分。图2示出肤色参考部分的例子。可以使用各种识别肤色参考部分的方法。不同的肤色参考部分的大小和形状以及识别方法对本发明不构成限制。
在步骤104,在肤色参考部分中计算肤色参考向量。
假设x是肤色参考向量。x包括R(红)值xr、G(绿)值xg和B(蓝)值xb。R值xr是包括在肤色参考部分的像素的平均红色值。G值xg是包括在肤色参考部分的像素的平均绿色值。B值xb是包括在肤色参考部分的像素的平均蓝色值。R、G、B值xr、xg和xb基于以下公式计算:
xr=Σrn,
xg=Σgn,
xb=Σbn;
其中,r表示在肤色参考部分中的像素的红色值,g表示在肤色参考部分中的像素的绿色值,b表示在肤色参考部分中的像素的蓝色值,n表示肤色参考部分中的像素数目。
在步骤105,在人脸矩形200或在整个图像中识别候选红眼区域。识别候选红眼区域的不同方法对本发明不构成限制。当然,步骤105也可以在步骤103之前进行。
从步骤106到步骤108,在候选红眼区域中参照肤色参考向量识别肤色像素。
特别地,在步骤106,从候选红眼区域选择一个像素。
在步骤107,计算肤色参考向量与在步骤106中选择的像素的色向量之间的距离(例如,马氏(Mahalanobis)距离)。还可以计算肤色参考向量与步骤106选择的像素的邻域(例如,3*3邻域)中每个像素的色向量之间的类似距离。可选择地,该距离可以为欧几里得距离。不同种类的距离和不同像素选择方法对本发明不构成限制。
肤色参考向量和像素的色向量之间的马氏距离基于以下公式计算:
d=(x-x)T∑-1(x-x)
其中,x表示像素的色向量,d表示肤色参考向量和色向量x之间的马氏距离;x表示在步骤104中计算的肤色参考向量;“T”表示向量或矩阵的转置;∑-1表示在肤色参考部分中的像素的协方差矩阵的逆矩阵。
协方差矩阵基于以下公式计算:
Σ=δr2δrg2δrb2δrg2δg2δgb2δrb2δgb2δb2
其中,δr2,δg2,δb2,δrg2,δrb2,δbg2用以下公式计算:
δr2=Σ(xr-xr)2n,
δg2=Σ(xg-xg)2n,
δb2=Σ(xb-xb)2n
δrg2=Σ(xr-xr)(xg-xg)n
δrb2=Σ(xr-xr)(xb-xb)n
δgb2=Σ(xg-xg)(xb-xb)n
在步骤108,判断所有在步骤107计算的马氏距离(例如,对于3*3邻域,有9个距离,包括在步骤106中所选择的像素的距离,和3*3邻域中各像素的8个距离)是否都小于相同的第一阈值。根据试验,第一阈值的范围可以是5到20,更佳地为6到10。在此,第一阈值取8。
如果步骤108的结果是“是”,则处理转到步骤109;反之,则处理转回步骤106。
当然,可以将步骤108修改为判断所有在步骤107中计算的马氏距离是否大于相同的第一阈值。如果是这样,则步骤108的“是”判断分支引到步骤106,并且步骤108的“否”判断分支引到步骤109。
在步骤109,从候选红眼区域中去除一个像素,该像素是在步骤106中被选择并且通过步骤108被识别为肤色像素的像素。
在步骤110,判断包括在候选红眼区域中的所有像素是否都通过步骤106到步骤108被测试过。
如果步骤110的结果是“否”,则处理转回步骤106,选择没有测试过的像素之一。如果步骤110的结果是“是”,则处理转到步骤111。
在已经从候选红眼区域中去除所有肤色像素之后,原候选红眼区域可能变成多于一个的候选红眼区域。
在步骤111,判断已从中去除所有肤色像素的候选红眼区域是否是红眼区域。判断候选红眼区域是否为红眼的不同方法对本发明不构成限制。
在步骤112,处理结束。
图2示出包括用于获取肤色参考向量的肤色参考部分的人脸矩形。
如图2所示,参考标号200代表人脸矩形;参考标号201和参考标号202代表人脸矩形200中的两只眼睛。建立一个坐标系。在该坐标系中,x轴通过左眼201和右眼202的中心,原点O位于眼201和202之间的中点,并且y轴垂直于x轴。
在图2中,选择矩形部分203,作为肤色参考部分。假设原点O和眼201或202之间的距离为1。将肤色参考部分203定义为A={(x,y)||x|<0.5;-0.5<y<1}。当然,也可以选择人脸矩形200的其他部分作为肤色参考部分。
图3是根据本发明另一个实施例用于在图像中检测红眼的装置的框图。
在图3中,参考标号301表示计算器,参考标号302表示候选区识别电路,参考标号303表示肤色像素识别电路,参考标号304表示肤色像素去除器,参考标号305表示检测器,并且参考标号306表示候选区处理器。
计算器301接收将要被处理的图像,并且计算肤色参考向量。计算器301可以直接在图像中识别肤色参考部分,或者首先在图像中识别人脸矩形,然后在人脸矩形中识别肤色参考部分。然后,计算器301基于肤色参考部分计算肤色参考向量。
候选区识别电路302在图像中(如312所示)或者在可以由计算器301识别的人脸矩形中(如311所示)识别候选红眼区域。
候选区处理器306在候选红眼区域中识别肤色像素,并且从候选红眼区域去除肤色像素。特别地讲,候选区处理器306包括肤色像素识别器303和肤色去除器304。
肤色像素识别器303基于肤色参考向量与候选红眼区域中像素的色向量之间的距离识别肤色像素.还考虑将被识别的像素的邻域中像素的距离.可参考图1中的步骤106到108.
肤色像素去除器304从由候选区识别电路302输出的候选红眼区域去除肤色像素。
检测器305判断由候选区处理器306处理的候选红眼区域是否是红眼。检测器305的检测结果可用于进一步处理图像。
图4A、图4B、图4C示出候选红眼区域的例子。图4A示出原始图像。图4B示出在图4A所示的图像中识别的候选红眼区域401。图4C示出已经去除肤色像素的图像。
以下描述一个例子。
从图像中识别一个人脸矩形。人脸矩形的宽度是241个像素。人脸矩形的高度是297个像素。在人脸矩形中选择矩形肤色参考部分。肤色参考部分的宽度是15个像素。肤色参考部分的高度是24个像素。将肤色参考向量x计算为[2.18,1.58,1.29]。
将协方差矩阵∑计算为:
Σ=0.620.040.030.040.070.070.030.070.11
使第一阈值为8。
然后,计算在候选红眼区域401中的所有像素的马氏距离。
以像素(111,56)和(111,40)为例。像素(111,56)和(111,40)的色向量是[130/100,79/100,88/100]和[244/100,197/100,145/100]。
在此,肤色参考向量和像素的色向量根据R(红)值、G(绿)值和B(蓝)值计算。为了减少计算量,像素的所有R(红)值、G(绿)值和B(蓝)值都除以100。
像素(111,56)的马氏距离是16.8,其不小于第一阈值。因此,不将像素(111,56)识别为肤色像素。
像素(111,40)的马氏距离是5.68,其小于第一阈值。假设像素(111,40)的3*3邻域中8个像素的马氏距离都小于第一阈值。因此,将像素(111,40)识别为肤色像素并从候选红眼区域401去除。
图5示意性地示出一种在其中实现图1方法的图像处理系统。图5中的图像处理系统包括CPU(中央处理器)501、RAM(随机存取存储器)502、ROM(只读存储器)503、系统总线504、HD(硬盘)控制器505、键盘控制器506、串行接口控制器507、并行接口控制器508、显示控制器509、硬盘510、键盘511、照相机512、打印机513和显示器514。在这些部件中,与系统总线504相连的有CPU 501、RAM 502、ROM 503、HD控制器505、键盘控制器506、串行接口控制器507、并行接口控制器508和显示控制器509。硬盘510与HD控制器505相连,并且键盘511与键盘控制器506相连,照相机512与串行端口控制器507相连,打印机513与并行接口控制器508相连,以及显示器514与显示器控制器509相连。
图5中每个部件的功能在本技术领域内都是众所周知的,并且图5所示的体系结构也是常规的。这种体系结构不仅适用于个人计算机,而且适用于手持设备,诸如Palm PC、PDA(个人数据助理)、数码相机等等.在不同的应用中,可省略图5中所示的某些部件.例如,如果整个系统是数码相机,则可省略并行接口控制器508和打印机513,并且该系统可由单片机实现.如果应用软件存储在EPROM或者其他非易失性存储器中,则可省略HD控制器505和硬盘510.
图5中所示的整个系统由通常作为软件存储在硬盘510中(或者如上所述,在EPROM或者其他非易失性存储器中)的计算机可读指令控制。软件也可从网络(图中未示出)下载。能够将存储在硬盘510中的或者从网络下载的软件加载到RAM 502中,并由CPU 501执行,以便实现由软件限定的功能。
在图1所示的流程图的基础上,本技术领域的技术人员无需创造性工作即可开发出一个或者更多的软件。这样开发出的软件将执行图1所示的处理图像的方法。
在某种意义上,图5所示的图像处理系统,如果得到根据图1所示流程图开发出的软件的支持,则可实现与图3所示图像处理装置相同的功能。
本发明还提供一种编有用于在图像中检测红眼的机器可读计算机程序的存储介质,该存储介质包括使处理器实现根据本发明方法的指令。存储介质可为任何有形媒介,例如软盘、CD-ROM、硬盘驱动器(例如,图5中的硬盘510)。
虽然前面参照了本发明的特定实施方式,但是本领域的技术人员应当理解,,这些仅是举例说明,可对这些实施方式作许多改变而不脱离本发明的原理,本发明的范围由所附权利要求限定。