專(zhuān)利名稱(chēng):檢測(cè)和校正圖像中的紅眼的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像處理,并且特別涉及檢測(cè)和校正圖像中的紅眼的方法。
背景技術(shù):
紅眼是人的瞳孔周?chē)霈F(xiàn)的不自然紅色調(diào)。它通常是由血管的閃光反射光引起的。目前,有許多校正紅眼的方法。有些方法要求用戶(hù)的干預(yù)。這樣對(duì)大多數(shù)用戶(hù)來(lái)說(shuō)不便。有些方法可以自動(dòng)地檢測(cè)和校正紅眼,但是它們?cè)谡鶊D像中搜索紅眼,并且因而需要更多時(shí)間。另外,現(xiàn)有檢測(cè)和校正紅眼的方法的準(zhǔn)確性不高。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種能快速檢測(cè)圖像中的紅眼,并且準(zhǔn)確校正檢測(cè)到的紅眼的方法。
為了實(shí)現(xiàn)以上目的,本發(fā)明提供一種檢測(cè)圖像中的紅眼的方法,其特征在于包括以下步驟識(shí)別所述圖像中的眼區(qū);識(shí)別所述眼區(qū)內(nèi)的第一數(shù)目的候選紅眼區(qū)域;縮小所述第一數(shù)目的候選紅眼區(qū)域,得到第二數(shù)目的候選紅眼區(qū)域,所述第二數(shù)目小于或等于所述第一數(shù)目;擴(kuò)大所述第二數(shù)目的候選紅眼區(qū)域,得到第三數(shù)目的候選紅眼區(qū)域,所述第三數(shù)目小于或等于所述第二數(shù)目;以及從所述第三數(shù)目的候選紅眼區(qū)域中選擇不多于一個(gè)的候選紅眼區(qū)域,作為所述眼區(qū)內(nèi)檢測(cè)到的紅眼。
按照本發(fā)明的方法,在臉部圖像中,或更具體地在臉部圖像中識(shí)別的眼區(qū)內(nèi),自動(dòng)地檢測(cè)紅眼。因而,能快速和準(zhǔn)確地檢測(cè)紅眼。
由以下連同附圖對(duì)優(yōu)選實(shí)施例的描述,本發(fā)明的其他特點(diǎn)和優(yōu)點(diǎn)將更加明顯,附圖通過(guò)例子說(shuō)明本發(fā)明的原理。
圖1是本發(fā)明的方法的示意流程圖;圖2是圖1步驟105的一個(gè)示例處理的示意流程圖;圖3是圖1步驟105的另一個(gè)示例處理的示意流程圖;圖4是圖1步驟106的一個(gè)示例處理的示意流程圖;圖5是圖1步驟107的一個(gè)示例處理的示意流程圖;圖6是圖1步驟107的一個(gè)示例處理的示意流程圖;圖7是圖1步驟108的一個(gè)示例處理的示意流程圖;圖8是圖1步驟110的一個(gè)示例處理的示意流程圖;圖9A表示一幅包括兩個(gè)紅眼的圖像;圖9B表示檢測(cè)到兩個(gè)紅眼;圖9C表示校正兩個(gè)紅眼;圖9D表示檢測(cè)到的紅眼的灰度圖像;圖9E表示在對(duì)圖9D的灰度圖像執(zhí)行高斯平滑處理之后的結(jié)果灰度圖像;以及圖10示意表示一個(gè)圖像處理系統(tǒng),其中能實(shí)現(xiàn)圖1至圖8所示的各處理。
具體實(shí)施例方式
在以下描述中,關(guān)于怎樣識(shí)別候選人臉區(qū)域、怎樣識(shí)別人臉中的眼區(qū),能參考由相同申請(qǐng)人于2000年9月15日提交的第00127067.2號(hào)中國(guó)專(zhuān)利申請(qǐng),由相同申請(qǐng)人于2001年9月6日提交的第01132807.X號(hào)中國(guó)專(zhuān)利申請(qǐng),由相同申請(qǐng)人于2002年12月13日提交的第02155468.4號(hào)中國(guó)專(zhuān)利申請(qǐng),由相同申請(qǐng)人于2002年12月30日提交的第021600163.3號(hào)中國(guó)專(zhuān)利申請(qǐng),由相同申請(qǐng)人于2003年6月18日提交的第03137345.3號(hào)中國(guó)專(zhuān)利申請(qǐng)等。這些申請(qǐng)這里參考引入。然而,在這些申請(qǐng)中公開(kāi)的識(shí)別候選人臉區(qū)域的方法和識(shí)別眼區(qū)的方法對(duì)本發(fā)明不構(gòu)成限制。本發(fā)明可以利用任何識(shí)別候選人臉區(qū)域的常規(guī)方法或識(shí)別圖像之內(nèi)的眼區(qū)的方法。
圖1是本發(fā)明的方法的示意流程圖。流程在步驟101開(kāi)始。然后在步驟102,在待處理圖像之內(nèi)識(shí)別一個(gè)候選人臉區(qū)域。
然后,在步驟103,在步驟102識(shí)別的候選人臉區(qū)域中識(shí)別兩個(gè)眼區(qū)。這兩個(gè)眼區(qū)是左眼區(qū)和右眼區(qū)。
如上所述,為了實(shí)現(xiàn)步驟102和103,本發(fā)明能使用任何識(shí)別候選人臉區(qū)域和識(shí)別人臉中眼區(qū)的常規(guī)方法。
其次,在步驟104,將兩個(gè)眼區(qū)中的一個(gè)設(shè)為當(dāng)前眼區(qū),并且首先經(jīng)受處理(步驟105至108)。
在步驟105,在當(dāng)前眼區(qū)之內(nèi)識(shí)別當(dāng)前眼區(qū)內(nèi)的第一數(shù)目的候選紅眼區(qū)域。
為了識(shí)別一個(gè)眼區(qū)之內(nèi)的一個(gè)候選紅眼區(qū)域,考慮眼區(qū)內(nèi)的像素的特征值。在本發(fā)明中,將紅眼內(nèi)包括的一個(gè)像素,即一個(gè)具有紅眼特征的像素稱(chēng)為“紅眼像素”。
在步驟105,例如考慮到了眼區(qū)內(nèi)像素的顏色方差或紋理,或顏色方差和紋理的組合。圖2主要涉及考慮眼區(qū)內(nèi)的像素的顏色方差。圖3主要涉及考慮眼區(qū)內(nèi)的像素的紋理。
圖2和圖3所示流程的任何一個(gè)可以用來(lái)識(shí)別當(dāng)前眼區(qū)內(nèi)的第一數(shù)目的候選紅眼區(qū)域,并且以下在本說(shuō)明書(shū)中將非常詳細(xì)地描述。
優(yōu)選地,如果組合使用,圖2和圖3的兩個(gè)流程將極大地增加本發(fā)明的方法的準(zhǔn)確性。更優(yōu)選地,如果首先執(zhí)行圖3流程,并且根據(jù)圖3流程的結(jié)果執(zhí)行圖2流程,本發(fā)明的方法將更省時(shí)。
在圖1步驟105之后,為步驟106。
在步驟106,縮小第一數(shù)目的候選紅眼區(qū)域。結(jié)果,得到第二數(shù)目的候選紅眼區(qū)域。
按照本縮小處理,為第一數(shù)目的候選紅眼區(qū)域中每個(gè)候選紅眼區(qū)域中的每個(gè)像素至少估計(jì)一個(gè)特征值。如果估計(jì)的特征值不滿(mǎn)足對(duì)紅眼像素設(shè)置的標(biāo)準(zhǔn),則將被評(píng)估的像素從相關(guān)候選紅眼區(qū)域中除去。因而,使第一數(shù)目的候選紅眼區(qū)域中的大多數(shù)的面積減少。如果一個(gè)候選紅眼區(qū)域內(nèi)包括的所有像素被除去,則這個(gè)候選紅眼區(qū)域不存在,并且不再考慮。
因而,第二數(shù)目,即在執(zhí)行步驟106之后的候選紅眼區(qū)域的總數(shù),可能小于第一數(shù)目,即在執(zhí)行步驟106之前的候選紅眼區(qū)域的總數(shù)。圖4表示使候選紅眼區(qū)域縮小的一例,并且將在以下詳細(xì)描述。
在步驟106之后,進(jìn)行到步驟107。
在步驟107,擴(kuò)大第二數(shù)目的候選紅眼區(qū)域。結(jié)果,得到第三數(shù)目的候選紅眼區(qū)域。
在本步驟,考慮第二數(shù)目的候選紅眼區(qū)域各自的邊界像素?!斑吔缦袼亍笔侵肝挥诤蜻x紅眼區(qū)域邊緣的像素。如果一個(gè)邊界像素附近的像素滿(mǎn)足為紅眼像素設(shè)置的標(biāo)準(zhǔn),則將這些像素包括在相關(guān)候選紅眼區(qū)域中。因而,使第二數(shù)目的候選紅眼區(qū)域的大多數(shù)的面積增加,并且不可避免地使有些候選紅眼區(qū)域相互合并。這樣引入步驟107的另一個(gè)功能。
步驟107的另一個(gè)功能是,有選擇地除去合并的候選紅眼區(qū)域,有選擇地組合合并的候選紅眼區(qū)域,或有選擇地保持合并的候選紅眼區(qū)域中的一個(gè)而除去其他候選紅眼區(qū)域。
除去的候選紅眼區(qū)域不再加以考慮。
因而,第三數(shù)目,即在執(zhí)行步驟107之后的候選紅眼區(qū)域的總數(shù),可能小于第二數(shù)目,即在執(zhí)行步驟107之前的候選紅眼區(qū)域的總數(shù)。圖5和圖6表示擴(kuò)大候選紅眼區(qū)域的一例,并且將在以下詳細(xì)描述。
步驟107之后是步驟108。
在步驟108,將不多于一個(gè)的候選紅眼區(qū)域選擇為該眼區(qū)內(nèi)檢測(cè)到的一個(gè)紅眼。
在步驟108,估計(jì)第三數(shù)目的候選紅眼區(qū)域內(nèi)的像素的大量特征值。根據(jù)估計(jì)值,除去第三數(shù)目的候選紅眼區(qū)域中的大多數(shù)。然后對(duì)剩下的候選紅眼區(qū)域評(píng)分,并且僅對(duì)具有最大得分的候選紅眼區(qū)域作進(jìn)一步考慮。如果僅有具有最大得分的候選紅眼區(qū)域滿(mǎn)足標(biāo)準(zhǔn),則將它選擇為當(dāng)前眼區(qū)內(nèi)檢測(cè)到的紅眼。否則,當(dāng)前眼區(qū)內(nèi)沒(méi)有檢測(cè)到紅眼。圖7表示選擇不多于一個(gè)的候選紅眼區(qū)域的例子,并且將在以下詳細(xì)描述。
然后在步驟109,判定在步驟108是否選擇一個(gè)候選紅眼區(qū)域。如果判定結(jié)果為“是”,處理轉(zhuǎn)到步驟110;否則轉(zhuǎn)到步驟111。
在步驟110,校正所選擇的候選紅眼區(qū)域,即檢測(cè)到的紅眼。圖8詳細(xì)描述校正紅眼的處理。在步驟110之后,處理轉(zhuǎn)到步驟111。
在步驟111,判定兩個(gè)眼區(qū)是否都考慮了。如果判定結(jié)果為“是”,處理轉(zhuǎn)到步驟113;否則轉(zhuǎn)到步驟112。
在步驟112,設(shè)定另一眼區(qū)為當(dāng)前眼區(qū),處理轉(zhuǎn)到步驟105。
在步驟111,處理結(jié)束。
圖2是圖1步驟105的一個(gè)示例處理的示意流程圖。
圖2流程基于顏色方差理論。一般地,紅眼內(nèi)像素的亮度和顏色激烈變化。以(x,y)為中心的眼區(qū)域的特性可以用下列公式(1)來(lái)表示variance(x,y)=1|Rx,y|Σr∈Rx,y||r-1|Pr|ΣP∈PrP||2---(1)]]>其中(x,y)是像素的坐標(biāo);Rx,y是以(x,y)為中心的眼區(qū)域;|Rx,y|是眼區(qū)域Rx,y的面積,即眼區(qū)域Rx,y內(nèi)的像素?cái)?shù);Pr是以(x,y)為中心的瞳孔區(qū)域;|Pr|是瞳孔區(qū)域Pr的面積,即瞳孔區(qū)域Pr內(nèi)的像素?cái)?shù);r是眼區(qū)域Rx,y內(nèi)的一個(gè)像素P是瞳孔區(qū)域Pr內(nèi)的一個(gè)像素。
對(duì)于候選人臉區(qū)域內(nèi)的各像素,限定一個(gè)眼區(qū)域和一個(gè)瞳孔區(qū)域,兩者以這個(gè)像素為中心。然后,對(duì)這個(gè)像素使用以上公式(1)計(jì)算方差值。如果計(jì)算的方差值大于一個(gè)對(duì)應(yīng)閾值,則認(rèn)為這個(gè)像素是一個(gè)紅眼像素。
實(shí)際上,對(duì)各像素計(jì)算兩個(gè)方差值。這兩個(gè)方差值分別稱(chēng)為水平顏色方差值和垂直顏色方差值。當(dāng)兩個(gè)方差值都大于它們的對(duì)應(yīng)閾值時(shí),則認(rèn)為該像素是一個(gè)紅眼像素。
如圖2所示,處理在步驟201開(kāi)始。在步驟202,將變量R設(shè)置為1。在步驟203,將另一個(gè)變量C設(shè)置為1。
在步驟204,以像素(R,C)為中心,限定一個(gè)瞳孔區(qū)域。
為了限定人臉中的一個(gè)瞳孔區(qū)域,人臉的寬度、人臉的高度、眼區(qū)域的寬度、眼區(qū)域的高度、瞳孔區(qū)域的寬度、瞳孔區(qū)域的高度可以滿(mǎn)足以下關(guān)系(1)眼的寬度=0.2*臉的寬度;(2)眼的高度=0.2*臉的高度;(3)瞳孔的寬度=0.1*臉的寬度;(4)瞳孔的高度=0.1*臉的高度。
在步驟205,計(jì)算在步驟204限定的瞳孔區(qū)域的r(紅)值、g(綠)值和b(藍(lán))值。
在本發(fā)明中,區(qū)域的r值定義為該區(qū)域中包括的所有像素的r值的平均;區(qū)域的g值定義為該區(qū)域中包括的所有像素的g值的平均;以及區(qū)域的b值定義為該區(qū)域中包括的所有像素的b值的平均。
因而,步驟205對(duì)應(yīng)于以上公式(1)中的1|Pr|ΣP∈PrP.]]>然后在步驟206,仍以像素(R,C)為中心,限定一個(gè)水平眼區(qū)域。這里,水平眼區(qū)域的寬度可以是一個(gè)眼區(qū)域的寬度,并且水平眼區(qū)域的高度可以是一個(gè)瞳孔區(qū)域的高度。
其次,在步驟207,對(duì)在步驟206限定的水平眼區(qū)域,使用以上公式(1)計(jì)算水平顏色方差ScatterH,其中Rx,y是水平眼區(qū)域。
在步驟208,判定ScatterH是否大于第一閾值。第一閾值的范圍為600至2500,并且優(yōu)選地為1200。
如果步驟208的判定結(jié)果為“否”,處理轉(zhuǎn)到步驟213;否則轉(zhuǎn)到步驟209。
在步驟209,仍以像素(R,C)為中心,限定一個(gè)垂直眼區(qū)域。這里,垂直眼區(qū)域的寬度可以是一個(gè)瞳孔區(qū)域的寬度,并且垂直眼區(qū)域的高度可以是一個(gè)眼區(qū)域的高度。
其次,在步驟210,對(duì)在步驟209限定的垂直眼區(qū)域,使用以上公式(1)計(jì)算垂直顏色方差ScatterV,其中Rx,y是垂直眼區(qū)域。
在步驟211,判定ScatterV是否大于第二閾值。第二閾值的范圍為600至2500,并且優(yōu)選地為1200。
如果步驟211的判定結(jié)果為“否”,處理轉(zhuǎn)到步驟213;否則轉(zhuǎn)到步驟212。
在步驟212,將候選人臉區(qū)域內(nèi)的(R,C)處的像素標(biāo)記為一個(gè)紅眼像素。然后,處理轉(zhuǎn)到步驟213。
在步驟213,在使變量C遞增之后,判定C是否大于候選人臉區(qū)域的寬度。
如果步驟213的判定結(jié)果為“否”,處理轉(zhuǎn)到步驟204;否則轉(zhuǎn)到步驟214。
在步驟214,在使變量R遞增之后,判定R是否大于候選人臉區(qū)域的高度。
如果步驟214的判定結(jié)果為“否”,處理轉(zhuǎn)到步驟203;否則轉(zhuǎn)到步驟215。
在步驟215,處理結(jié)束。
通過(guò)以上步驟201至215,可以將多個(gè)像素標(biāo)記為一個(gè)眼區(qū)內(nèi)的紅眼像素。這些紅眼像素可以構(gòu)成圖1步驟105中的第一數(shù)目的候選紅眼區(qū)域。
圖3是圖1步驟105的另一個(gè)示例處理的示意流程圖。
圖3流程基于紋理理論。表示明顯紋理特征的像素認(rèn)為是紅眼像素。按照形態(tài)學(xué),開(kāi)運(yùn)算和閉運(yùn)算具有不同結(jié)果。因而,通過(guò)使用不同的模板尺寸,能將開(kāi)運(yùn)算和閉運(yùn)算用來(lái)提取興趣區(qū)域(例如,一個(gè)紅眼區(qū)域)。為了說(shuō)明開(kāi)運(yùn)算和閉運(yùn)算,可以參考Digital ImageProcessing,Kenneth R.Castleman,Prentice Hall Inc.,Copyright 1996。
如圖3所示,處理在步驟301開(kāi)始。然后,在步驟302,對(duì)候選人臉區(qū)域產(chǎn)生一幅灰度圖像。根據(jù)候選人臉區(qū)域內(nèi)的對(duì)應(yīng)像素(x,y)的r(紅)、g(綠)和b(藍(lán))值,計(jì)算灰度圖像中像素(x,y)的灰度,它是一幅彩色圖像。像素的灰度定義為r-max(g,b)(2)然后,在步驟303,通過(guò)對(duì)在步驟302產(chǎn)生的灰度圖像執(zhí)行閉運(yùn)算,產(chǎn)生一幅閉圖像。在閉運(yùn)算中,使用3*3模板。
其次,在步驟304,通過(guò)對(duì)在步驟302產(chǎn)生的灰度圖像執(zhí)行開(kāi)運(yùn)算,產(chǎn)生一幅開(kāi)圖像。在開(kāi)運(yùn)算中,使用9*9模板。
然后,在步驟305,通過(guò)從閉圖像中減去開(kāi)圖像,產(chǎn)生一幅目標(biāo)圖像。
在步驟306,對(duì)目標(biāo)圖像執(zhí)行高斯平滑處理。這里,在目標(biāo)圖像中,各像素具有一個(gè)灰度值。如果目標(biāo)圖像中一個(gè)像素的灰度大于灰度的閾值,則認(rèn)為候選人臉區(qū)域內(nèi)對(duì)應(yīng)像素是一個(gè)紅眼像素。
特別地,在步驟307,將變量R設(shè)置為1。在步驟308,將變量C設(shè)置為1。
在步驟309,判定目標(biāo)圖像中(R,C)處的像素的灰度是否大于第三閾值。第三閾值為目標(biāo)圖像中像素的最大灰度值的50%至70%的范圍內(nèi),并且優(yōu)選地為目標(biāo)圖像中像素的最大灰度值的53%。
如果步驟309的判定結(jié)果為“否”,處理轉(zhuǎn)到步驟311;否則轉(zhuǎn)到步驟310。
在步驟310,將候選人臉區(qū)域內(nèi)(R,C)處的像素標(biāo)記為一個(gè)紅眼像素。當(dāng)然,為了以后使用目標(biāo)圖像,目標(biāo)圖像中(R,C)處的像素可以設(shè)置為255。
然后,處理轉(zhuǎn)到步驟311。
在步驟311,在使變量C遞增之后,判定C是否大于候選人臉區(qū)域的寬度。
如果步驟311的判定結(jié)果為“否”,處理轉(zhuǎn)到步驟309;否則轉(zhuǎn)到步驟312。
在步驟312,在使變量R遞增之后,判定R是否大于候選人臉區(qū)域的高度。
如果步驟312的判定結(jié)果為“否”,處理轉(zhuǎn)到步驟308;否則轉(zhuǎn)到步驟313。
在步驟313,處理結(jié)束。
如上參考圖1所述,圖3和圖2的流程可以一起使用。通常,首先執(zhí)行圖3的處理。如果由圖3的處理將一個(gè)像素檢測(cè)為紅眼像素,那么用圖2的處理來(lái)估計(jì)該像素。僅當(dāng)像素估計(jì)為一個(gè)紅眼像素時(shí),這個(gè)像素才可能認(rèn)為是一個(gè)紅眼像素。在執(zhí)行圖2處理之前,由于圖3處理過(guò)濾大量非紅眼像素,所以減少了大量計(jì)算操作。
圖4是圖1步驟106的一個(gè)示例處理的示意流程圖。
處理在步驟401開(kāi)始。
在步驟402,對(duì)候選人臉區(qū)域產(chǎn)生一幅雙灰度圖像。這個(gè)雙灰度圖像也可以是圖3處理的結(jié)果,圖2處理的結(jié)果,或圖3和圖2處理組合的結(jié)果。
在該雙灰度圖像中,具有255灰度的像素對(duì)應(yīng)于候選人臉區(qū)域內(nèi)標(biāo)記為紅眼像素的像素,并且具有0灰度的像素對(duì)應(yīng)于候選人臉區(qū)域內(nèi)沒(méi)有標(biāo)記為紅眼像素的像素。
在步驟402,對(duì)在步驟402產(chǎn)生,或由圖1步驟105產(chǎn)生的灰度圖像,執(zhí)行一個(gè)“標(biāo)號(hào)分割”處理。按照“標(biāo)號(hào)分割”處理,識(shí)別紅眼像素塊,并且確定紅眼像素塊的數(shù)目。
在步驟404,將變量I設(shè)置為1。
在步驟405,計(jì)算第I紅眼像素塊的面積(即第I紅眼像素塊內(nèi)的像素?cái)?shù)),并且判定計(jì)算的面積是否小于第四閾值。第四閾值是候選人臉區(qū)域的高度、寬度最小值的一定倍數(shù)的平方。這里的一定倍數(shù)在0.05至0.02范圍內(nèi),并且優(yōu)選地為0.1。
例如,如果候選人臉區(qū)域的高度為189,并且候選人臉區(qū)域的寬度為153,則高度和寬度中較小一個(gè)為153。令一定倍數(shù)為0.1。0.1乘153得15.3。取整數(shù)“15”。15的平方為225。因而,本候選人臉區(qū)域的第四閾值可以取值“225”。
這里有另一個(gè)例子。假定候選人臉區(qū)域的高度為135,并且候選人臉區(qū)域的寬度為109。高度和寬度中較小一個(gè)為109。0.1乘109得10.9。取整數(shù)“10”。10的平方為100。因而,本候選人臉區(qū)域的第四閾值可以取值“100”。
如果步驟405的判定結(jié)果為“是”,處理轉(zhuǎn)到步驟410(也就是,將第I紅眼像素塊保持為原樣);否則轉(zhuǎn)到步驟407。
在步驟407,對(duì)第I紅眼塊內(nèi)的各紅眼像素,在候選人臉區(qū)域內(nèi)計(jì)算第一紅度。一個(gè)像素的第一紅度定義為第一紅度=r/(r+g+b)(3)其中r、g和b是指像素的r(紅)、g(綠)和b(藍(lán))值。
可選擇地,與一個(gè)像素的3*3像素鄰域?qū)?yīng)的區(qū)域的第一紅度也可以用作該像素的一個(gè)指標(biāo)。
在本發(fā)明中,一個(gè)區(qū)域的第一紅度定義為該區(qū)域包括的所有像素的第一紅度的平均。
在步驟408,根據(jù)在步驟407計(jì)算的第一紅度的值,為第I紅眼像素塊計(jì)算一個(gè)臨時(shí)閾值。
例如,可以首先對(duì)第一紅度值按降序排序,形成一個(gè)數(shù)組。并且將數(shù)組中特定位置的值認(rèn)為是臨時(shí)閾值。
在步驟409,如果一個(gè)像素的第一紅度不大于臨時(shí)閾值,將這個(gè)像素的灰度從255變?yōu)?。也就是,如果灰度圖像中其對(duì)應(yīng)像素的第一紅度不大于臨時(shí)閾值,原來(lái)是紅眼像素的像素不再被認(rèn)為是紅眼像素。
在步驟410,在使變量I遞增之后,判定I是否大于紅眼像素塊數(shù)。
如果步驟410的判定結(jié)果為“否”,處理轉(zhuǎn)到步驟405;否則轉(zhuǎn)到步驟411。
在步驟411,處理結(jié)束。
圖5和圖6是圖1步驟107的一個(gè)示例處理的示意流程圖。圖1步驟107能大致分成三個(gè)子步驟。在第一子步驟,對(duì)于紅眼像素塊的邊界像素附近的像素,如果附近的這些像素滿(mǎn)足預(yù)定條件,則通過(guò)吸收這些像素來(lái)增加紅眼像素塊的主體。在第二子步驟,對(duì)于與紅眼像素塊的邊界像素相臨的像素,如果這些與邊界像素相臨的像素滿(mǎn)足預(yù)定條件,則通過(guò)吸收這些像素來(lái)增加紅眼像素塊的主體。第三子步驟是防止紅眼像素塊相互合并,并且除去不滿(mǎn)足預(yù)定條件的紅眼像素塊。圖5示例表示第一和第二子步驟,以及圖6示例表示第三子步驟。
如圖5所示,處理在步驟501開(kāi)始。在步驟502,將變量I設(shè)置為1。在步驟503,計(jì)算第I紅眼像素塊的第一紅度和色調(diào)。
如本說(shuō)明書(shū)前面定義,一個(gè)塊(它其實(shí)是一個(gè)區(qū)域)的第一紅度定義為該塊包括的所有像素的第一紅度的平均。
一個(gè)像素的第一紅度如上由公式(3)定義。
一個(gè)塊(區(qū)域)的色調(diào)定義為該塊(區(qū)域)包括的所有像素的色調(diào)值的平均。
一個(gè)像素的色調(diào)定義為色調(diào)=min(h,360-h)(4)其中h是指候選人臉區(qū)域內(nèi)像素的色調(diào)值。
然后在步驟504,定位第I紅眼像素塊的一個(gè)邊界像素。
在步驟505,計(jì)算邊界像素的亮度。一個(gè)像素的亮度定義為亮度=(r+g+b)/3(5)其中r、g和b是指像素的r(紅)、g(綠)和b(藍(lán))值。
在步驟506,判定在步驟505計(jì)算的亮度是否大于第五閾值。第五閾值在80至120的范圍內(nèi),并且優(yōu)選地為100。
如果步驟506的判定結(jié)果為“是”,處理轉(zhuǎn)到步驟509;否則轉(zhuǎn)到步驟507。
在步驟507,判定在步驟505計(jì)算的亮度是否大于第六閾值。第六閾值在40至60的范圍內(nèi),并且優(yōu)選地為50。
如果步驟507的判定結(jié)果為“是”,處理轉(zhuǎn)到步驟508;否則轉(zhuǎn)到步驟510。
在步驟509,對(duì)于第I紅眼像素塊內(nèi)與邊界像素相臨的每個(gè)像素,如果一個(gè)與邊界像素間隔一個(gè)像素的對(duì)應(yīng)像素滿(mǎn)足第一條件,則將該與邊界像素相臨的像素添加到第I紅眼像素塊中。
例如,第I紅眼像素塊的一個(gè)邊界像素的坐標(biāo)為(i,j)。步驟509的功能是檢查在(i+2,j)、(i-2,j)、(i,j-2)和(i,j+2)的像素是否滿(mǎn)足第一條件。
例如,如果在(i+2,j)的像素滿(mǎn)足第一條件,則將在(i+1,j)的像素添加到第I紅眼像素塊中。
設(shè)邊界像素為像素A,并且與像素A間隔一個(gè)像素的像素為像素B,以及將像素A與像素B之間的像素(即與邊界像素A相臨的一個(gè)對(duì)應(yīng)像素)添加到第I紅眼像素塊中。那么第一條件可以這樣定義,以便像素A和像素B滿(mǎn)足下列要求(1)像素B的飽和度大于0.9乘像素A的飽和度。這里,系數(shù)0.9可以在0.7至1范圍內(nèi)。
(2)像素B的第一紅度大于0.8乘第I紅眼像素塊的第一紅度。這里,系數(shù)0.8可以在0.7至0.9范圍內(nèi)。
(3)像素B的色調(diào)小于5乘第I紅眼像素塊的色調(diào)(在步驟503計(jì)算)。這里,系數(shù)5可以在2至10范圍內(nèi)。
在步驟509之后,為步驟510。
步驟508與步驟509類(lèi)似。唯一不同是在步驟508估計(jì)第二條件。
設(shè)邊界像素為像素A,并且與像素A間隔一個(gè)像素的像素為像素B,以及將像素A與像素B之間的像素(即與邊界像素A相臨的一個(gè)對(duì)應(yīng)像素)添加到第I紅眼像素塊中。那么第二條件可以這樣定義,以便像素A和像素B滿(mǎn)足下列要求(1)像素B的飽和度大于1乘像素A的飽和度,并且像素B與像素A的亮度之間的絕對(duì)差小于0.1乘像素A的亮度。這里,系數(shù)1可以在0.8至1.2范圍內(nèi),并且系數(shù)0.1可以在0至0.3范圍內(nèi)。
(2)像素B的第一紅度大于0.8乘第I紅眼像素塊的第一紅度。這里,系數(shù)0.8可以在0.7至0.9范圍內(nèi)。
(3)像素B的色調(diào)小于5乘第I紅眼像素塊的色調(diào)(在步驟503計(jì)算)。這里系數(shù)5可以在2至10范圍內(nèi)。
在步驟507、508或509之后,為步驟510。
在步驟510,判定像素的添加是否滿(mǎn)足第五條件。
設(shè)本次(即從步驟505到步驟509的當(dāng)前循環(huán))添加到第I紅眼像素塊中的像素?cái)?shù)為“count2”,上次(即從步驟505到步驟509的前次循環(huán))添加到第I紅眼像素塊中的像素?cái)?shù)為“count1”,擴(kuò)大第I紅眼像素塊的次數(shù)為“times”。
那么,添加像素所滿(mǎn)足的第五條件可以這樣定義(1)count1/count2大于0且小于1。這里值“0”是一個(gè)在0至0.5范圍內(nèi)的閾值,并且值“1”是一個(gè)在0.8至2范圍內(nèi)的閾值。
(2)count2小于4乘眼區(qū)域的寬度,其中眼區(qū)域的寬度為人臉區(qū)域的寬度和人臉區(qū)域的高度中的最小值乘以1/10。這里,值“4”是一個(gè)在1至8范圍內(nèi)的閾值,值“1/10”是一個(gè)在1/5至1/15范圍內(nèi)的閾值。
(3)times小于1/2乘眼區(qū)域的寬度。這里,值“1/2”是一個(gè)在1/10至1范圍內(nèi)的閾值。
如果步驟510的判定結(jié)果為“是”,處理轉(zhuǎn)到步驟511;否則轉(zhuǎn)到步驟512。
在步驟511,判定是否定位另一個(gè)邊界像素。如果步驟511的判定結(jié)果為“是”,處理轉(zhuǎn)到步驟505;否則轉(zhuǎn)到步驟512。
步驟512的處理與步驟505到511的處理類(lèi)似。步驟512的主要目的是,對(duì)于每個(gè)與紅眼像素塊的邊界像素相臨的像素,如果這個(gè)像素滿(mǎn)足第三條件(類(lèi)似于第一條件)或第四條件(類(lèi)似于第二條件),則將這個(gè)像素添加到該紅眼像素塊中。
例如,一個(gè)紅眼像素塊的一個(gè)邊界像素的坐標(biāo)為(i,j)。步驟512的功能之一是檢查在(i+1,j)、(i-1,j)、(i,j-1)和(i,j+1)的像素是否滿(mǎn)足第三條件(或第四條件)。
例如,如果在(i+1,j)的像素滿(mǎn)足第三條件,將在(i+1,j)的像素添加到第I紅眼像素塊中。
然后,在步驟513,在使變量I遞增之后,判定I是否大于紅眼像素塊數(shù)。如果步驟513的判定結(jié)果為“否”,處理轉(zhuǎn)到步驟503;否則轉(zhuǎn)到步驟514。
在步驟504,處理結(jié)束。
如圖6所示,處理在步驟601開(kāi)始。在步驟602,將變量I設(shè)置為1。在步驟603,判定第I紅眼像素塊是否與另一個(gè)紅眼像素塊,比方說(shuō)塊A相合并。步驟603可以實(shí)現(xiàn)為檢查一個(gè)紅眼像素塊內(nèi)的一個(gè)像素的3*3像素鄰域是否包括另一個(gè)紅眼像素塊內(nèi)的一個(gè)像素。如果是,將兩個(gè)紅眼像素塊相互合并。
如果步驟603的判定結(jié)果為“否”,處理轉(zhuǎn)到步驟611;否則轉(zhuǎn)到步驟604。
在步驟604,對(duì)第I紅眼像素塊計(jì)算特征值C1,并且對(duì)塊A計(jì)算特征值C2。
紅眼像素塊的特征值定義為紅眼像素塊的向量[第一紅度,色調(diào),飽和度,Y通道值,Cb通道值,Cr通道值]和權(quán)向量
的點(diǎn)積。
在以上向量中,塊的第一紅度、塊的色調(diào)已在本說(shuō)明書(shū)中前面定義。
一個(gè)塊(區(qū)域)的飽和度定義為該塊(區(qū)域)包括的所有像素的飽和度值的平均。
一個(gè)塊(區(qū)域)的Y通道值定義為該塊(區(qū)域)包括的所有像素的Y通道值的平均。
一個(gè)塊(區(qū)域)的Cb通道值定義為該塊(區(qū)域)包括的所有像素的Cb通道值的平均。
其次,在步驟6051,判定C1是否小于或等于第八閾值。這里,第八閾值使用費(fèi)舍爾分類(lèi)法通過(guò)訓(xùn)練而得到(R.A.Fisher,“The Use ofMultiple Measures in Taxonomic Problems,”Ann.Eugenics,1936)。第八閾值在0.5至1.5范圍內(nèi),并且優(yōu)選地為0.835。
如果步驟6051的判定結(jié)果為“否”,處理轉(zhuǎn)到步驟6052;否則轉(zhuǎn)到步驟6091。
在步驟6052,判定C2是否小于或等于第八閾值。
如果步驟6052的判定結(jié)果為“否”,處理轉(zhuǎn)到步驟606;否則轉(zhuǎn)到步驟6092。
在步驟606,計(jì)算C1與C2之間的絕對(duì)差C3。然后,在步驟607,判定C3是否大于第九閾值。
如果步驟607的判定結(jié)果為“是”,處理轉(zhuǎn)到步驟610;否則轉(zhuǎn)到步驟608。
在步驟608,除去具有C1和C2中較小值的紅眼像素塊。也就是,除去的塊不再認(rèn)為是一個(gè)紅眼像素塊。然后,步驟轉(zhuǎn)到步驟611。
在步驟610,將第I紅眼像素塊和塊A組合成一個(gè)塊。然后處理轉(zhuǎn)到步驟611。
在步驟6091,除去第I紅眼像素塊。也就是,第I塊不再認(rèn)為是紅眼像素塊。然后處理轉(zhuǎn)到步驟6053。
在步驟6053,判定C2是否小于或等于第八閾值。
如果步驟6053的判定結(jié)果為“否”,處理轉(zhuǎn)到步驟611;否則轉(zhuǎn)到步驟6092。
在步驟6092,除去塊A。也就是,塊A不再認(rèn)為是紅眼像素塊。然后處理轉(zhuǎn)到步驟611。
在步驟611,在使變量I遞增之后,判定I是否大于紅眼像素塊數(shù)。如果步驟611的判定結(jié)果為“否”,處理轉(zhuǎn)到步驟603;否則轉(zhuǎn)到步驟612。
在步驟612,處理結(jié)束。
在圖6處理之后,在候選人臉區(qū)域內(nèi)識(shí)別多個(gè)紅眼像素塊。各紅眼像素塊與候選人臉區(qū)域內(nèi)的一個(gè)候選紅眼區(qū)域相對(duì)應(yīng)。
圖7是圖1步驟108的一個(gè)示例處理的示意流程圖。圖7的目的是根據(jù)多個(gè)候選紅眼區(qū)域各自的紅度、飽和度、色調(diào)、Cr通道值、Cb通道值、Y方差、紅度方差、色調(diào)方差、r方差中的至少一個(gè),選擇不多于一個(gè)的候選紅眼區(qū)域。
區(qū)域的飽和度、區(qū)域的色調(diào)和區(qū)域的Cb通道值已在本說(shuō)明書(shū)前面定義。區(qū)域的Cr通道值定義為該區(qū)域包括的所有像素的Cr通道值的平均。這里,Cr是顏色空間(Y,Cb,Cr)內(nèi)的一個(gè)通道。
本實(shí)施例包含三種類(lèi)型的紅度,它們是第一紅度、第二紅度和第三紅度。一個(gè)像素的第一紅度和一個(gè)區(qū)域的第一紅度已在本說(shuō)明書(shū)中前面定義。第二紅度和第三紅度將做如下說(shuō)明。
如圖7所示,處理在步驟701開(kāi)始。在步驟702,將變量I設(shè)置為1。在步驟703,計(jì)算第I紅眼像素塊的第一紅度、第二紅度、第三紅度、飽和度值和Cr通道值。
如本說(shuō)明書(shū)前面定義,一個(gè)像素的第一紅度定義為r/(r+g+b)(即公式(3))。并且一個(gè)塊(即一個(gè)區(qū)域)的第一紅度定義為該塊(區(qū)域)包括的所有像素的第一紅度的平均。
一個(gè)像素的第二紅度由公式(6)定義第二紅度=r2/(r2+g2+b2)(6)其中r、g和b是指像素的r(紅)、g(綠)和b(藍(lán))值。
一個(gè)塊(即一個(gè)區(qū)域)的第二紅度定義為該塊(區(qū)域)包括的所有像素的第二紅度的平均。
一個(gè)像素的第三紅度由公式(7)定義第三紅度=r-max(g,b)(7)一個(gè)塊(即一個(gè)區(qū)域)的第三紅度定義為該塊(區(qū)域)包括的所有像素的第三紅度的平均。
在步驟703之后,處理轉(zhuǎn)到步驟704。在步驟704,判定在步驟703計(jì)算的所有以上值是否在各自范圍內(nèi)。
例如,一個(gè)塊的第一紅度應(yīng)該大于一個(gè)在0.3至0.7范圍內(nèi),并且優(yōu)選地為0.37的閾值。
一個(gè)塊的第二紅度應(yīng)該大于一個(gè)在0.3至0.7范圍內(nèi)并且優(yōu)選地為0.415的閾值。
一個(gè)塊的第三紅度應(yīng)該大于一個(gè)在1至100范圍內(nèi)并且優(yōu)選地為11的閾值。
一個(gè)塊的飽和度值應(yīng)該大于一個(gè)在0.1至0.5范圍內(nèi)并且優(yōu)選地為0.12的閾值。
一個(gè)塊的Cr通道值應(yīng)該大于一個(gè)在80至200并且優(yōu)選地為138的閾值。
如果步驟704的判定結(jié)果為“是”,處理轉(zhuǎn)到步驟705;否則轉(zhuǎn)到步驟706。
在步驟706,除去第I紅眼塊。也就是,第I紅眼塊不再認(rèn)為是一個(gè)紅眼像素塊。然后處理轉(zhuǎn)到步驟707。
在步驟705,對(duì)于第I紅眼像素塊,根據(jù)這個(gè)塊的第二紅度、這個(gè)塊的Cb通道值、這個(gè)塊的Y方差、這個(gè)塊的第三紅度方差、這個(gè)塊的第二紅度方差,以及這個(gè)塊的色調(diào)、這個(gè)塊的色調(diào)方差、這個(gè)塊的r方差和這個(gè)塊的第一紅度,計(jì)算得分。
一個(gè)紅眼像素塊的得分按下列方式計(jì)算(1)得到這個(gè)塊的第二紅度、這個(gè)塊的Cb通道值、這個(gè)塊的Y方差、這個(gè)塊的第三紅度方差、這個(gè)塊的第二紅度方差、這個(gè)塊的色調(diào)、這個(gè)塊的色調(diào)方差、這個(gè)塊的r方差、這個(gè)塊的第一紅度,并且根據(jù)這些值形成一個(gè)九維向量。
(2)通過(guò)對(duì)一個(gè)訓(xùn)練集執(zhí)行費(fèi)舍爾分類(lèi)法和選擇法,得到一個(gè)權(quán)向量{0.35352,0.00177666,-0.000882568,0.00124642,0.337243,0.00010886,-0.000689163,0.000666636,-0.303867}。
(3)計(jì)算(1)中的向量和(2)中的向量的內(nèi)積,并且對(duì)紅眼像素塊得到一個(gè)得分。
在步驟705之后,為步驟707。
在步驟707,在使變量I遞增之后,判定I是否大于紅眼像素塊數(shù)。如果步驟707的判定結(jié)果為“否”,處理轉(zhuǎn)到步驟703;否則轉(zhuǎn)到步驟708。
在步驟708,定位具有最大得分的紅眼像素塊。
在步驟709,判定所定位的紅眼像素塊是否大于第十閾值。第十閾值在0.2至0.5范圍內(nèi),并且優(yōu)選地為0.32。第十閾值使用費(fèi)舍爾分類(lèi)法通過(guò)訓(xùn)練得到。
如果步驟709的判定結(jié)果為“是”,處理轉(zhuǎn)到步驟710;否則轉(zhuǎn)到步驟711。
在步驟710,僅保持具有最大得分的紅眼像素塊,而除去其他紅眼像素塊。也就是,選擇一個(gè)候選紅眼區(qū)域。
在步驟711,除去所有紅眼像素。也就是,無(wú)選擇紅眼區(qū)域。
在步驟712,處理結(jié)束。
圖8是圖1步驟110的一個(gè)示例處理的示意流程圖,即校正紅眼的處理。
在圖8例子中,通過(guò)將各像素的R、G、B值改為新R、G、B值,校正紅眼區(qū)域內(nèi)的各像素。
如圖8所示,處理在步驟801開(kāi)始。在步驟802,對(duì)由先前檢測(cè)步驟得到的灰度圖像,執(zhí)行高斯平滑處理。
在步驟803,將變量I設(shè)置為1。
在步驟804,判定灰度圖像中第I像素的灰度是否為0。
如果步驟804的判定結(jié)果為“是”,處理轉(zhuǎn)到步驟813;否則轉(zhuǎn)到步驟805。
在步驟805,對(duì)于候選人臉區(qū)域內(nèi)的對(duì)應(yīng)像素,計(jì)算第二紅度P1。
實(shí)際上,第二紅度P1計(jì)算為P1=r2/(r2+g2+b2)+c1 (8)其中c1是一個(gè)在
范圍內(nèi)的經(jīng)驗(yàn)常數(shù)。如果P1>1,設(shè)P1=1。因而,P1在
范圍內(nèi)。
在步驟806,對(duì)第I像素計(jì)算一個(gè)指標(biāo)P2。指標(biāo)P2指示第I像素離紅眼區(qū)域的邊界有多遠(yuǎn)。一個(gè)像素的P2值越小,該像素與紅眼區(qū)域的邊界之間的距離越小。
實(shí)際上,一個(gè)像素的指標(biāo)P2計(jì)算為P2=nGray/10+c2 (9)其中nGray是灰度圖像中像素的灰度,以及c2是
范圍內(nèi)的一個(gè)經(jīng)驗(yàn)常數(shù)。如果P2>1,設(shè)P1=1。因而,P2在
范圍內(nèi)。
在步驟807,校正系數(shù)P計(jì)算為P=P1*P2 (10)在步驟808,判定P是否等于0。如果步驟808的判定結(jié)果為“是”,處理轉(zhuǎn)到步驟813;否則轉(zhuǎn)到步驟809。
在步驟809,將第I像素的R、G、B值轉(zhuǎn)換成Y通道值、Cr通道值、Cb通道值。
在步驟810,新Y、Cr、Cb通道值計(jì)算如下新Y=Y(jié);新Cr=(1-P)*Cr; (11)新Cb=(1-P)*Cb。
在步驟811,將新Y值、新Cr值、新Cb值轉(zhuǎn)換成新R、新G、新B值。
在步驟812,將第I像素的原R、G、B值改變?yōu)樾翿、G、B值。
在步驟813,在使變量I遞增之后,判定I是否大于灰度圖像中的像素?cái)?shù)。
如果步驟813的判定結(jié)果為“否”,處理轉(zhuǎn)到步驟804;否則轉(zhuǎn)到步驟814。
在步驟814,處理結(jié)束。
圖9A至圖9E說(shuō)明一個(gè)實(shí)例。圖9A表示在圖1步驟102識(shí)別的一個(gè)候選人臉區(qū)域。圖9B表示通過(guò)圖1步驟103至108,在左眼區(qū)域內(nèi)檢測(cè)到一個(gè)紅眼區(qū)域901,以及在右眼區(qū)域內(nèi)檢測(cè)到一個(gè)紅眼區(qū)域902。
取紅眼區(qū)域901作為例子。圖9D表示在圖1步驟108之后得到的紅眼區(qū)域901的灰度圖像。
圖9E表示在對(duì)圖9D灰度圖像執(zhí)行高斯平滑處理(圖8步驟802)之后的結(jié)果灰度圖像。
關(guān)于紅眼區(qū)域902,同樣執(zhí)行類(lèi)似處理。
圖9C表示其中紅眼已得到校正的人臉。
圖10示意表示一個(gè)圖像處理系統(tǒng),其中能實(shí)現(xiàn)圖1至圖8所示的各處理。圖10所示圖像處理系統(tǒng)包括一個(gè)CPU(中央處理單元)1001,一個(gè)RAM(隨機(jī)存取存儲(chǔ)器)1002,一個(gè)ROM(只讀存儲(chǔ)器)1003,一個(gè)系統(tǒng)總線1004,一個(gè)HD(硬盤(pán))控制器1005,一個(gè)鍵盤(pán)控制器1006,一個(gè)串行端口控制器1007,一個(gè)并行端口控制器1008,一個(gè)顯示器控制器1009,一個(gè)硬盤(pán)1010,一個(gè)鍵盤(pán)1011,一個(gè)照相機(jī)1012,一個(gè)打印機(jī)1013,和一個(gè)顯示器1014。在這些部件中,與系統(tǒng)總線1004連接的有CPU1001,RAM1002,ROM1003,HD控制器1005,鍵盤(pán)控制器1006,串行端口控制器1007,并行端口控制器1008,和顯示器控制器1009。硬盤(pán)1010與HD控制器1005連接,并且鍵盤(pán)1011與鍵盤(pán)控制器1006連接,照相機(jī)1012與串行端口控制器1007連接,打印機(jī)1013與并行端口控制器1008連接,以及顯示器1004與顯示器控制器1009連接。
圖10中各部件的功能在本領(lǐng)域內(nèi)周知,并且圖10所示體系結(jié)構(gòu)為常規(guī)。這樣的體系結(jié)構(gòu)不僅適用于個(gè)人計(jì)算機(jī),而且適用于手提式設(shè)備,例如掌上PC、PDA(個(gè)人數(shù)字助理)、數(shù)字照相機(jī)等。在不同應(yīng)用中,可以省略圖10所示部件中的有些。例如,如果整個(gè)系統(tǒng)是一個(gè)數(shù)字照相機(jī),能省略并行端口控制器1008和打印機(jī)1013,并且系統(tǒng)能實(shí)現(xiàn)為一個(gè)單片微型計(jì)算機(jī)。如果應(yīng)用軟件存儲(chǔ)在EPROM或其他非易失存儲(chǔ)器中,能省略HD控制器1005和硬盤(pán)1010。
圖10所示整個(gè)系統(tǒng)由計(jì)算機(jī)可讀指令來(lái)控制,這些指令通常作為軟件存儲(chǔ)在硬盤(pán)1010中(或如上所述,存儲(chǔ)在EPROM或其他非易失存儲(chǔ)器中)。軟件也能從網(wǎng)絡(luò)(圖中未示出)下載。保存在硬盤(pán)1010或從網(wǎng)絡(luò)下載的軟件能裝入RAM1002,并且由CPU1001執(zhí)行,以實(shí)現(xiàn)軟件所限定的功能。
對(duì)本領(lǐng)域技術(shù)人員,根據(jù)圖1至圖8所示流程圖中的一個(gè)或多個(gè),研制一塊或多塊軟件,不涉及創(chuàng)造性工作。
雖然以上所述參考了本發(fā)明的特定實(shí)施例,但是本領(lǐng)域技術(shù)人員將會(huì)理解,這些只是說(shuō)明性的,并且在不違反本發(fā)明的原理下,其范圍由附加權(quán)利要求限定,能實(shí)現(xiàn)這些實(shí)施例的許多改變。
權(quán)利要求
1.一種檢測(cè)圖像中的紅眼的方法,其特征在于包括以下步驟識(shí)別所述圖像中的一個(gè)眼區(qū);識(shí)別所述眼區(qū)內(nèi)的第一數(shù)目的候選紅眼區(qū)域;縮小所述第一數(shù)目的候選紅眼區(qū)域,得到第二數(shù)目的候選紅眼區(qū)域,所述第二數(shù)目小于或等于所述第一數(shù)目;擴(kuò)大所述第二數(shù)目的候選紅眼區(qū)域,得到第三數(shù)目的候選紅眼區(qū)域,所述第三數(shù)目小于或等于所述第二數(shù)目;以及從所述第三數(shù)目的候選紅眼區(qū)域中選擇不多于一個(gè)的候選紅眼區(qū)域,作為所述眼區(qū)內(nèi)檢測(cè)到的紅眼。
2.按照權(quán)利要求1的方法,還包括以下步驟修正所述紅眼中包括的像素的特征值,以便消除所述紅眼。
3.按照權(quán)利要求1的方法,其特征在于對(duì)于所述第二數(shù)目的候選紅眼區(qū)域的每個(gè)候選紅眼區(qū)域,所述擴(kuò)大所述第二數(shù)目的候選紅眼區(qū)域的步驟包括以下步驟定位所述候選紅眼區(qū)域的一個(gè)邊界像素;定位一個(gè)不包括在所述候選紅眼區(qū)域中的、但是與所述邊界像素相臨的第一像素;定位一個(gè)不包括在所述候選紅眼區(qū)域中的、但是與所述第一像素相臨的第二像素;如果所述邊界像素和所述第二像素滿(mǎn)足一個(gè)條件,將所述第一像素添加到所述候選紅眼區(qū)域中。
4.按照權(quán)利要求3的方法,其特征在于所述條件包括第一條件,其中所述邊界像素的亮度大于一個(gè)在80至120范圍內(nèi)的第五閾值,所述第二像素的飽和度大于0.7至1乘所述邊界像素的飽和度,所述第二像素的第一紅度大于0.7至0.9乘所述候選紅眼區(qū)域的第一紅度,以及所述第二像素的色調(diào)小于2至10乘所述候選紅眼區(qū)域的色調(diào)。
5.按照權(quán)利要求3的方法,其特征在于所述條件包括第二條件,其中所述邊界像素的亮度大于一個(gè)在40至60范圍內(nèi)的第六閾值,所述第二像素的飽和度大于0.8至1.2乘所述邊界像素的飽和度,所述第二像素與所述邊界像素的亮度之間的絕對(duì)差小于0至0.3乘所述邊界像素的亮度,所述第二像素的第一紅度大于0.7至0.9乘所述候選紅眼區(qū)域的第一紅度,以及所述第二像素的色調(diào)小于2至10乘所述候選紅眼區(qū)域的色調(diào)。
6.按照權(quán)利要求1的方法,其特征在于對(duì)于所述第二數(shù)目的候選紅眼區(qū)域中的每一個(gè)候選紅眼區(qū)域,所述擴(kuò)大所述第二數(shù)目的候選紅眼區(qū)域的步驟包括以下步驟定位所述候選紅眼區(qū)域的一個(gè)邊界像素;定位一個(gè)不包括在所述候選紅眼區(qū)域中的、但是與所述邊界像素相臨的第一像素;如果所述邊界像素和所述第一像素滿(mǎn)足另一個(gè)條件,則將所述第一像素添加到所述候選紅眼區(qū)域中。
7.按照權(quán)利要求6的方法,其特征在于所述另一個(gè)條件包括第三條件,其中所述邊界像素的亮度大于一個(gè)在80至120范圍內(nèi)的第五閾值,所述第一像素的飽和度大于0.7至1乘所述邊界像素的飽和度,所述第一像素的第一紅度大于0.7至0.9乘所述候選紅眼區(qū)域的第一紅度,以及所述第一像素的色度小于2至10乘所述候選紅眼區(qū)域的色調(diào)。
8.按照權(quán)利要求6的方法,其特征在于所述另一個(gè)條件包括第四條件,其中所述邊界像素的亮度大于一個(gè)在40至60范圍內(nèi)的第六閾值,所述第一像素的飽和度大于0.8至1.2乘所述邊界像素的飽和度,所述第一像素與所述邊界像素的亮度之間的絕對(duì)差小于0至0.3乘所述邊界像素的亮度,所述第一像素的第一紅度大于0.7至0.9乘所述候選紅眼區(qū)域的第一紅度,以及所述第一像素的色調(diào)小于2至10乘所述候選紅眼區(qū)域的色調(diào)。
9.按照權(quán)利要求3的方法,其特征在于所述擴(kuò)大所述第二數(shù)目的候選紅眼區(qū)域的步驟還包括以下步驟如果兩個(gè)候選紅眼區(qū)域相互合并,并且所述兩個(gè)候選紅眼區(qū)域中的一個(gè)的特征值小于第八閾值,則除去所述一個(gè)候選紅眼區(qū)域。
10.按照權(quán)利要求3的方法,其特征在于所述擴(kuò)大所述第二數(shù)目的候選紅眼區(qū)域的步驟還包括以下步驟如果兩個(gè)候選紅眼區(qū)域相互合并,所述兩個(gè)候選紅眼區(qū)域的特征值都大于第八閾值,并且兩個(gè)特征值之間的絕對(duì)差小于第九閾值,則將所述兩個(gè)候選紅眼區(qū)域組合成一個(gè)候選紅眼區(qū)域。
11.按照權(quán)利要求3的方法,其特征在于所述擴(kuò)大所述第二數(shù)目的候選紅眼區(qū)域的步驟還包括以下步驟如果兩個(gè)候選紅眼區(qū)域相互合并,所述兩個(gè)候選紅眼區(qū)域的特征值都大于第八閾值,并且兩個(gè)候選紅眼區(qū)域的特征值之間的絕對(duì)差大于第九閾值,則將所述兩個(gè)候選紅眼區(qū)域中具有較低特征值的一個(gè)候選紅眼區(qū)域除去。
12.按照權(quán)利要求1的方法,其特征在于所述從所述第三數(shù)目的候選紅眼區(qū)域中選擇不多于一個(gè)的候選紅眼區(qū)域的步驟包括以下步驟計(jì)算所述第三數(shù)目的候選紅眼區(qū)域中的每一個(gè)候選紅眼區(qū)域的得分;以及選擇一個(gè)具有最大得分的候選紅眼區(qū)域。
13.按照權(quán)利要求12的方法,其特征在于所述計(jì)算所述第三數(shù)目的候選紅眼區(qū)域中的每一個(gè)候選紅眼區(qū)域的得分的步驟包括以下步驟對(duì)所述候選紅眼區(qū)域,計(jì)算第二紅度、Cb通道值、Y方差、第三紅度方差、第二紅度方差、色調(diào)、色調(diào)方差、r方差、第一紅度方差,形成一個(gè)九維向量;計(jì)算所述九維向量和一個(gè)權(quán)向量的內(nèi)積,得到所述候選紅眼區(qū)域的所述得分。
14.按照權(quán)利要求13的方法,其特征在于通過(guò)對(duì)一個(gè)訓(xùn)練集執(zhí)行費(fèi)舍爾分類(lèi)法和選擇法,得到所述權(quán)向量。
15.按照權(quán)利要求1的方法,其特征在于對(duì)于所述眼區(qū)內(nèi)的每個(gè)像素,所述識(shí)別所述眼區(qū)內(nèi)的第一數(shù)目的候選紅眼區(qū)域的步驟包括以下步驟限定一個(gè)以所述像素為中心的瞳孔區(qū)域;根據(jù)所述瞳孔區(qū)域,計(jì)算所述像素的顏色方差;以及如果所述顏色方差大于第一閾值和第二閾值中的至少一個(gè),則將所述像素標(biāo)記為一個(gè)紅眼像素,所述紅眼像素和其他紅眼像素一起,形成所述第一數(shù)目的候選紅眼區(qū)域中的一個(gè)。
16.按照權(quán)利要求1的方法,其特征在于所述識(shí)別所述紅眼區(qū)內(nèi)的第一數(shù)目的候選紅眼區(qū)域的步驟包括以下步驟產(chǎn)生所述圖像的一幅灰度圖像;通過(guò)使用第一模板對(duì)所述灰度圖像執(zhí)行閉運(yùn)算,產(chǎn)生一幅閉圖像;通過(guò)使用第二模板對(duì)所述灰度圖像執(zhí)行開(kāi)運(yùn)算,產(chǎn)生一幅開(kāi)圖像;通過(guò)從所述閉圖像減去所述開(kāi)圖像,產(chǎn)生一幅目標(biāo)圖像;對(duì)所述目標(biāo)圖像執(zhí)行高斯平滑處理;以及對(duì)所述目標(biāo)圖像中具有大于第三閾值的灰度的每個(gè)像素,將原圖像中的一個(gè)對(duì)應(yīng)像素標(biāo)記為一個(gè)紅眼像素,所述紅眼像素和其他紅眼像素一起,形成所述第一數(shù)目的候選紅眼區(qū)域中的一個(gè)。
17.按照權(quán)利要求1的方法,其特征在于對(duì)于所述第一數(shù)目的候選紅眼區(qū)域的每個(gè)候選紅眼區(qū)域,所述縮小所述第一數(shù)目的候選紅眼區(qū)域的步驟包括以下步驟計(jì)算所述候選紅眼區(qū)域內(nèi)每個(gè)像素的第一紅度;計(jì)算所述候選紅眼區(qū)域內(nèi)像素的所述第一紅度的臨時(shí)閾值;從所述候選紅眼區(qū)域中除去其第一紅度小于所述臨時(shí)閾值的像素。
18.按照權(quán)利要求2的方法,其特征在于對(duì)于所述紅眼包括的每個(gè)像素,所述修正所述紅眼包括的像素的特征值的步驟包括以下步驟根據(jù)所述像素的紅度和指示所述像素離所述紅眼的邊界有多遠(yuǎn)的指標(biāo),計(jì)算所述像素的一個(gè)校正系數(shù);以及根據(jù)所述校正系數(shù),修正所述像素的特征值。
19.按照權(quán)利要求18的方法,其特征在于還包括以下步驟將所述像素的R、G、B值轉(zhuǎn)換成Y、Cr、Cb值;計(jì)算新Cr值和新Cb值;將Y、新Cr、新Cb值轉(zhuǎn)換成新R、G、B值;用新R、G、B值代替原R、G、B值。
20.按照權(quán)利要求2的方法,其特征在于在所述修正所述紅眼中包括的像素的特征值的步驟之前,還包括以下步驟對(duì)所述紅眼的灰度圖像執(zhí)行高斯平滑處理。
全文摘要
本發(fā)明提供一種檢測(cè)圖像中的紅眼的方法,其特征在于包括以下步驟識(shí)別所述圖像中的眼區(qū);識(shí)別所述眼區(qū)內(nèi)的第一數(shù)目的候選紅眼區(qū)域;縮小所述第一數(shù)目的候選紅眼區(qū)域,得到第二數(shù)目的候選紅眼區(qū)域,所述第二數(shù)目小于或等于所述第一數(shù)目;擴(kuò)大所述第二數(shù)目的候選紅眼區(qū)域,得到第三數(shù)目的候選紅眼區(qū)域,所述第三數(shù)目小于或等于所述第二數(shù)目;以及從所述第三數(shù)目的候選紅眼區(qū)域中選擇不多于一個(gè)的候選紅眼區(qū)域,作為所述圖像中檢測(cè)到的紅眼。
文檔編號(hào)G06T5/00GK1635547SQ20031011603
公開(kāi)日2005年7月6日 申請(qǐng)日期2003年12月29日 優(yōu)先權(quán)日2003年12月29日
發(fā)明者張鉞, 夏一哂, 龔平 申請(qǐng)人:佳能株式會(huì)社