專利名稱:圖象處理方法和設備、圖象處理系統(tǒng)以及存儲介質(zhì)的制作方法
技術(shù)領域:
本發(fā)明的領域本發(fā)明涉及用于確定圖象中的人臉的一種圖象處理方法和圖象處理設備。
本發(fā)明的背景用于探測一個圖象(特別是具有復雜的背景的圖象)中與一個人臉相應的一個區(qū)域的圖象處理方法,是非常有用的。這樣的方法可以在許多場合中得到應用,諸如遙程會議、人機交流、安全檢查、用于跟蹤人臉的監(jiān)視系統(tǒng)、以及圖象壓縮等等。
人(不論是成年人還是嬰兒),都很容易從復雜的背景中識別出人臉。然而,還沒有有效的方法在一個圖象中自動而迅速地探測出人臉。
目前,有許多用于在圖象中探測人臉的已知方法。例如,可以用某些突出特征(諸如兩個眼睛、嘴、鼻子等)和這些特征之間的固有的幾何和位置關(guān)系或利用人臉的對稱特性和人臉的外觀特征等,來探測人臉。其他方法包括模板匹配法和神經(jīng)網(wǎng)絡法等。
例如,在Haiyuan Wu“Face Detection andRotationsEstimation using Color Information”(5th IEEEInternationWorkshop on Robot and Human Communication,1996,pp 341-346)中,描述了一種方法,其中利用人臉特征(兩個眼睛和嘴)以及這些特征之間的關(guān)系,來探測人臉。在此方法中,首先研究要探測的一個圖象區(qū)以確定是否能夠提取這些人臉特征。如果可以,則提取的人臉特征與一個已知的人臉模型的匹配程度得到考查,其中該人臉模型描述了該人臉特征之間的幾何關(guān)系。如果該匹配程度高,則該圖象區(qū)被確定為是一個人臉的圖象。否則,則判定它不是一個人臉的圖象。然而,這種方法過于依賴于所要探測的圖象的質(zhì)量,且太受照明條件、圖象背景的復雜性以及不同人臉的差別的影響。特別是,當圖象質(zhì)量差時,它難于準確地探測人臉。
本發(fā)明的概述眼睛是人臉的非常顯著的特征。一般地,圖象中與人眼對應的區(qū)域在大體沿著一對眼睛的連線的方向有較長的尺寸,換言之,圖象中的各個眼區(qū)通常具有一個取向,且這種取向大體上沿著一對眼區(qū)的中心的連線的方向?;谶@種認識,本發(fā)明的發(fā)明人提出了本發(fā)明的解決方案,以探測并判定圖象中的人眼區(qū),從而實現(xiàn)探測圖象中的人臉的目的。
本發(fā)明是要提供一種有效的方法,用于在一個圖象中探測人臉。
根據(jù)本發(fā)明的一個方面,提供了一種人臉探測方法,包括以下步驟探測一個圖象中的兩個候選眼區(qū);計算這兩個候選眼區(qū)中的每一個的取向;計算連接這兩個候選眼區(qū)的中心的線段的取向;評價這兩個候選眼區(qū)的每一個的取向與連接這兩個候選眼區(qū)的中心的該線段的取向之間的關(guān)系;以及根據(jù)所述評價步驟的結(jié)果判定該候選眼區(qū)是否是真實的人眼區(qū)。
根據(jù)本發(fā)明的另一個方面,提供了一種人臉探測設備,包括候選眼區(qū)探測裝置,用于探測一個圖象中的兩個候選眼區(qū);候選眼區(qū)取向計算裝置,用于計算這兩個候選眼區(qū)中的每一個的取向;連接線段取向計算裝置,用于計算連接這兩個候選眼區(qū)的中心的線段的取向;評價裝置,用于評價這兩個候選眼區(qū)的每一個的取向與連接這兩個候選眼區(qū)的中心的該線段的取向之間的關(guān)系;以及人眼區(qū)確定裝置,用于根據(jù)所述評價步驟的結(jié)果判定該候選眼區(qū)是否是真實的人眼區(qū)。
從以下結(jié)合附圖對本發(fā)明的詳細描述,本發(fā)明的其他特征和方面將變得顯而易見。
附圖的簡要描述本說明書的附圖是本說明書的一部分,用于說明本發(fā)明的實施例并與文字描述一起用于說明本發(fā)明的原理。在附圖中
圖1顯示了用于實施根據(jù)本發(fā)明的一個實施例的一種圖象處理系統(tǒng)的一種示例性硬件設置;圖2是框圖,用于顯示根據(jù)本發(fā)明的一個實施例的圖象處理系統(tǒng)的一種示例性的功能設置;圖3A是流程圖,用于顯示用于一個原始圖象的人臉確定處理的一個實施例;圖3B是流程圖,用于顯示圖3A的取向評價和人臉確定步驟中的處理;圖4是流程圖,用于顯示一個候選眼區(qū)的取向的一種計算方法。
圖5是流程圖,用于顯示利用用于區(qū)間的計數(shù)器的計數(shù)來計算候選眼區(qū)的取向的處理的一個實施例;圖6是流程圖,用于顯示用于利用所謂的幾何法來計算一個候選眼區(qū)的取向的處理的一個實施例;圖7是流程圖,顯示了用于計算一個候選眼區(qū)沿著一個給定的方向的投影長度的處理的一個實施例;圖8用于說明如何計算一個候選眼區(qū)沿著一個方向的投影長度;圖9顯示了一個預定的候選人臉區(qū)的一個例子;圖10用于顯示兩個候選眼區(qū)A和B和圍繞候選眼區(qū)A的一個正方形;圖11用于顯示用于借助Sobel算子來計算一個象素的梯度方向的一種處理的一個實施例;
圖12顯示了所要探測的一個原始圖象12A的一個例子;圖13顯示了圖12中的某些細節(jié);圖14用于說明本發(fā)明的一個實施例,其中利用橢圓擬合來確定一個人臉;圖15是流程圖,用于描述根據(jù)本發(fā)明的第三實施例的橢圓擬合方法;圖16是框圖,顯示了根據(jù)本發(fā)明的一個實施例的眼睛探測設備的設置;圖17A顯示了根據(jù)本發(fā)明的一個實施例的從一個原始圖象探測候選人眼區(qū)的一個處理;圖17B顯示了所要探測的一個原始圖象的一個例子;圖18A是流程圖,顯示了用于對一個圖象的各個列進行分段的處理;圖18B用于顯示一個圖象中的一個示例性的列;圖18C顯示了一個列的灰度分布;圖18D是被分成區(qū)段的一個灰度分布;圖18E是圖18B的圖象的一個本分割的段;圖18F顯示了判定一個列中的一個象素是否是一個分割點的處理;圖19A是流程圖,用于顯示在圖17A中的步驟S173中合并列中的谷區(qū)的處理;圖19B顯示了一個圖象中的列和該圖象中的各列中的谷區(qū)和種區(qū);圖19C是一個例子,顯示了在圖17A中的步驟S173中合并一個探測的圖象中的列中的谷區(qū)以產(chǎn)生候選人眼區(qū)的一個例子;圖20A是流程圖,顯示了圖17A的步驟S174中用于確定眼睛區(qū)的處理;圖20B顯示了一個候選人眼區(qū)及其外接矩形;圖21A是流程圖,顯示了圖18A中的步驟S185中調(diào)節(jié)分割邊界的處理;圖21B用于說明合并一個分割點的處理;圖21C顯示了用于把中間區(qū)合并到其相鄰的谷區(qū)中的一個例子;圖22A是流程圖,用于顯示圖19A中的步驟S194中判定一個谷區(qū)是否能夠被合并到一個種區(qū)中的處理;圖22B顯示了一個種區(qū)的預測谷區(qū);圖22C顯示了兩個谷區(qū)的一個重疊區(qū);圖23顯示了一種示例性的方法,用于根據(jù)一對探測到的候選人眼區(qū)來確定一個候選人臉區(qū)。
最佳實施例的描述系統(tǒng)設置圖1顯示了用于實施根據(jù)本發(fā)明的一個實施例的一種圖象處理系統(tǒng)的一種示例性的硬件設置。
圖1的設置包括一個打印機設備105、一個顯示器106、一個存儲設備107(諸如一個硬盤等)、一個CPU 108、一個RAM 109、一個ROM 110、一個數(shù)字攝象機111、以及一個輸入設備112。所有這些都通過一個總線113而互連。
CPU 108對整個圖象處理系統(tǒng)進行系統(tǒng)的控制。該CPU把存儲在ROM 110中的程序裝載到RAM 109中,并根據(jù)裝載的程序而執(zhí)行各種處理。ROM 110存儲將要由CPU 108執(zhí)行的各種處理的程序。RAM 109提供了執(zhí)行存儲在ROM 110中的各種程序所需的存儲區(qū)。
存儲設備107存儲操作系統(tǒng)和各種程序。當該圖象處理系統(tǒng)不是利用諸如個人計算機的通用設備而是用專用設備實施時,ROM 110可以存儲操作系統(tǒng)和各種程序。通過把存儲的程序裝載到RAM 109中,CPU 108能夠執(zhí)行處理。作為存儲設備107,可以采用硬盤驅(qū)動器、軟盤驅(qū)動器、CD-ROM、等等。即,其存儲介質(zhì)是不受限制的。
輸入設備112包括鼠標器、鍵盤、麥克風、等等,用于輸入關(guān)于將要由CPU 108執(zhí)行的處理的各種指令。
打印機設備105可以是一個噴墨打印機、一個激光打印機等等,用于打印出各種數(shù)據(jù)、圖象等等。
顯示裝置106包括一個顯示器(CRT、LCD等等)并用于顯示輸入設備112輸入的信息和由CPU 108所執(zhí)行的各種處理所控制的窗口。
數(shù)字攝象機111檢測一個對象圖象并產(chǎn)生圖象數(shù)據(jù)(諸如灰度圖象數(shù)據(jù)或RGB圖象數(shù)據(jù))并能夠把檢測到的圖象數(shù)據(jù)存儲到存儲設備107中。注意,數(shù)字攝象機111檢測到的圖象數(shù)據(jù)可以借助例如JPEG而得到編碼。檢測的圖象數(shù)據(jù)可以作為圖象數(shù)據(jù)而被傳送到打印機設備105。
總線113互連圖象處理系統(tǒng)的各種裝置和部分。
人臉確定設備圖2是框圖,顯示了根據(jù)本發(fā)明的一個實施例的圖象處理系統(tǒng)的一種示例性功能設置。
圖9顯示了一個預定的候選臉區(qū)的一個例子。其中E1和E2分別表示兩個候選眼區(qū)的取向,L表示連接兩個候選眼區(qū)的中心的線段的取向。θ1和θ2分別表示E1和E2與L之間的夾角。
如圖2所示,根據(jù)本發(fā)明的一個實施例的圖象處理系統(tǒng)包括一個圖象輸入模塊201、一個候選眼睛區(qū)探測模塊202、一個候選人臉區(qū)確定模塊203、一個候選眼區(qū)取向計算模塊204、一個連接線取向計算模塊205、一個取向評價模塊206、以及一個輸出模塊208。
候選眼區(qū)探測模塊202、候選人臉區(qū)確定模塊203、候選眼區(qū)取向計算模塊204、連接線取向計算模塊205、以及取向評價模塊206形成了本發(fā)明的一個實施例的人臉探測設備。
圖象輸入模塊201對一個輸入圖象的數(shù)據(jù)進行處理并把處理的圖象數(shù)據(jù)送到候選眼區(qū)探測模塊202。該輸入圖象可以是由數(shù)字攝象機111拍攝的圖象或是從存儲設備107讀出的圖象等等。如果圖象輸入模塊201所接收的輸入圖象數(shù)據(jù)是編碼的(例如借助JPEG而編碼的),圖象輸入模塊201對該編碼的圖象數(shù)據(jù)進行解碼。
候選眼區(qū)探測模塊202探測輸入圖象中的候選人眼區(qū)并確定輸入圖象中屬于候選人眼區(qū)的象素的位置。
隨后,候選人臉區(qū)確定模塊203根據(jù)候選眼區(qū)探測模塊202所探測到的一對候選人眼區(qū)而確定一個候選人臉區(qū)。
有一些現(xiàn)有技術(shù)的方法,用于探測一個圖象中的候選人眼區(qū)。在HYH-YUAN DENG和PEIPEI LAI于Pattern Recognition,Vol.30,NO.3,pp.403-419,1997上的“Region-based Template Deformationand masking for Eye-feature Extraction and Description”中,公布了一種現(xiàn)有技術(shù)方法。
本發(fā)明的發(fā)明人設計了一種新穎的方法和設備,用于探測一個圖象中的候選人眼區(qū)。
本發(fā)明的眼睛探測設備的設置圖16是框圖,顯示了根據(jù)本發(fā)明的一個實施例的眼睛探測設備的設置。
本發(fā)明的眼睛探測設備1600包括一個分割單元1601、一個合并單元1602和一個確定單元1603。
參見圖18B和18E,根據(jù)一個圖象的一個列C41中的各個象素的灰度,該列C41被分割單元1601分成多個區(qū)段I1-1、I1-2、……I1-9、I1-10。這些區(qū)段I1-1、I1-2、……I1-9、I1-10可以按照它們各自中的象素的平均灰度而被分成三種峰區(qū)、谷區(qū)、中間區(qū)。“峰區(qū)”、“谷區(qū)”和“中間區(qū)”的定義將在后面給出。如此,獲得了列C41中的谷區(qū)。同樣地,分割單元1601把該圖象中的其他列分成這三種類型并獲得它們中的谷區(qū)。在一個圖象的所有列都被分成了三種類型并獲得了它們中的谷區(qū)之后,合并單元1602執(zhí)行合并處理并合并相鄰的列中的谷區(qū)。合并的谷區(qū)被設定為候選人眼區(qū)。隨后,這些候選人眼區(qū)可以由確定單元1603進行確定。
探測候選人眼區(qū)以下結(jié)合圖17A的流程圖描述用于從一個原始圖象探測候選人眼區(qū)的處理。圖17B是所要探測的一個原始圖象的一個例子。假定該原始圖象被存儲在存儲設備107或RAM 109等的一個預定區(qū)域中。
參見圖17A,在步驟S172,原始圖象的各列被分割單元1601分成多個區(qū)段。
圖18E顯示了一個原始圖象的示例性的一列象素。如圖18E所示,該列被分成多個區(qū)段I1-1、I1-2、……I1-9、I1-10,且這些區(qū)段I1-1、I1-2、……I1-9、I1-10中的每一個的長度是不同的。例如,區(qū)段I1-1的長度不等于區(qū)段I1-2的長度。隨后,各區(qū)段的象素的平均灰度被計算出來,并判定各區(qū)段是否是一個谷區(qū)。
一個谷區(qū)是這樣一個區(qū)段,即其象素的平均灰度小于它的相鄰入?yún)^(qū)段的象素的平均灰度。因此,這些分割出的區(qū)段中的某些,按照它們的象素的平均灰度,被標為谷區(qū)。對原始圖象中的所有列,都進行步驟S172的處理。
隨后,在步驟S173,相鄰的列中的谷區(qū)被合并單元1602所合并,以產(chǎn)生一或多個候選人眼區(qū)。
隨后,在步驟S174,由確定單元1603確定出候選人眼區(qū)中的可接受的候選人眼區(qū)。因此,能夠探測出與圖象中的可接受的候選人眼區(qū)。
以下詳細描述圖17A的流程圖中的各個步驟的處理。
分割一個圖象的各列圖18A是顯示步驟S172中對一個圖象中的各列進行分割的處理的流程圖。圖18B顯示了一個圖象的一列象素。圖18C顯示了列C41的灰度分布。圖18D顯示了列C41的一種平均化的灰度分布,其中各區(qū)段中的象素的灰度已經(jīng)被相應區(qū)段中的象素的平均灰度所取代。在圖18D中,標號I1-5、I1-6、I1-9分別表示了分割出的區(qū)段,且這些區(qū)段的每一個的灰度是圖18C中的同一區(qū)段中的象素的平均灰度。
圖18E顯示了圖18B中的圖象的分割的列C41。對于圖18B中的圖象,列C41被分成10個區(qū)段I1-1、I1-2、……I1-9、I1-10。一個區(qū)段的大小就是該區(qū)段中的象素的數(shù)目。例如,如果區(qū)段I1-2包括12個象素,則區(qū)段I1-2的大小就是12。
現(xiàn)在參見圖18D和18E,如果一個區(qū)段的灰度(即該區(qū)段中的象素的平均灰度)小于其兩個相鄰的區(qū)段的灰度,則該區(qū)段就被稱為一個谷區(qū)。如果一個區(qū)段的灰度大于其兩個相鄰區(qū)段的灰度,該區(qū)段就被稱為一個峰區(qū)。另一方面,如果一個區(qū)段的灰度在其兩個相鄰區(qū)段的灰度之間,則這樣的一個區(qū)段就被稱為一個中間區(qū)。至于該實施例的列C41,從區(qū)段I1-1至I1-10的灰度分別為196、189、190、185、201、194、213、178、188和231。對于區(qū)段I1-6,其灰度是194,且其相鄰區(qū)段I1-5和I1-7的灰度分別是201和213。由于區(qū)段I1-6的灰度小于其相鄰區(qū)段I1-5和I1-7的灰度,區(qū)段I1-6被判定為是一個谷區(qū)。類似地,區(qū)段I1-2、I1-4和I1-8也被判定為是谷區(qū)。對于區(qū)段I1-5,其灰度是201,且其相鄰區(qū)段的灰度分別是185和194。由于區(qū)段I1-5的灰度大于其相鄰區(qū)段I1-4和I1-6的灰度,區(qū)段I1-5被判定為是一個峰區(qū)。同樣,區(qū)段I1-1、I1-3、I1-7和I1-10也被判定為是峰區(qū)。進一步地,對于區(qū)段I1-9,其灰度是188,其相鄰區(qū)段I1-8和區(qū)段I1-10的灰度分別是178和231。由于區(qū)段I1-9的灰度在其相鄰區(qū)段I1-8和區(qū)段I1-10的灰度之間,區(qū)段I1-9被判定為是一個中間區(qū)。
以下結(jié)合圖18A描述步驟S172中的圖象的每列的分割過程。
參見圖18A,在步驟S181,被探測圖象的左起第一列中的每一個象素的灰度被讀出。為了把該列分成三種類型的區(qū)段,即谷區(qū)、峰區(qū)和中間區(qū),需要確定分割點。
在步驟S182,該列中的一個象素是否是一個分割點,能夠根據(jù)該象素處的灰度分布的第一和第二階導數(shù)的值來確定。圖18F顯示了判定一個象素是否是一列中的一個分割點的過程。參見圖18F,其中顯示了一列中的兩個相鄰的象素Pi1和Pi2。
通過采用已知的離散導數(shù)算子,計算出兩個象素Pi1和象素Pi2處的第一和第二階導數(shù)。設象素Pi1和Pi2處的第一階導數(shù)的值分別用D1f和D2f表示,且象素Pi1和Pi2處的導數(shù)的值分別用D1s和D2s表示,則如果以下的兩個條件之一成立(D1s≥0)且(D2s<0);和(D1s>0)且(D2s≥0)且D1f和D2f的絕對值之一大于一個預定的值,而該預定值在6-15的范圍內(nèi)且優(yōu)選地為8,則象素Pi1被判定為是一個分割點。否則,象素Pil被判定為不是一個分割點。
因此,能夠在步驟S182獲得分割點s11、s12,…s19。
在已經(jīng)判定了一列中的分割點之后,在步驟S183,該列可被這些分割點分割成多個區(qū)段。隨后,在步驟S184,根據(jù)這些區(qū)段的灰度,這些區(qū)段被分成谷區(qū)、峰區(qū)和中間區(qū)。隨后,在步驟S185這些區(qū)段的邊界得到調(diào)節(jié)。步驟S185的細節(jié)將借助詳細的流程圖而得到描述。在步驟S186,檢查被探測的圖象中的所有列是否都已經(jīng)被分割。如果正在被分割的列不是該被探測的圖象中的最后一列,流程進行到步驟S187。在步驟S187,下一個列的象素的灰度被讀出。隨后,流程返回到步驟S182,以重復步驟S182和隨后的步驟。然而,在步驟S186,如果正在被分割的列是被探測的圖象中的最后一個列,即所有的列都已經(jīng)被分割,則流程于步驟S188結(jié)束。
或者,上述的分割過程可以從所要探測的圖象的右起第一列開始,或者從所要探測的圖象的任何一列開始。
合并谷區(qū)以產(chǎn)生候選人眼區(qū)圖19A是顯示圖18A中的步驟S173中的合并列中的谷區(qū)的過程的流程圖。圖19B顯示了一個圖象中的列和該圖象的各列中的谷區(qū)和種區(qū)。在圖19B中,一個圖象具有n列Col1、Col2、……Coln。
參見圖19A和19B,在步驟S191,被探測圖象的第一列(最左列)Col1中的所有谷區(qū)S1、S2、S3和S4被設定為種區(qū)。一個種區(qū)是一或多個谷區(qū)的一個集合。由于一個谷區(qū)的灰度小于其相鄰區(qū)的灰度,一個種區(qū)通常呈現(xiàn)為一列中的一個暗區(qū)。
在圖19A的步驟S192,下一個列Col2中的第一谷區(qū)V2-1被讀出。隨后,流程進行到步驟S193。在步驟S193,一個第一種區(qū)S1被讀出。在步驟S194,根據(jù)谷區(qū)V2-1和種區(qū)S1,檢查列Col2的谷區(qū)V2-1是否能夠被合并到種區(qū)S1中。如果列Col2的谷區(qū)V2-1能夠被合并到種區(qū)S1中,則流程進行到步驟S196且谷區(qū)V2-1被合并到該種區(qū)中,隨后該谷區(qū)變?yōu)樵摲N區(qū)的一部分。然而,如果在步驟S194判定谷區(qū)V2-1不能被合并到種區(qū)S1中,流程進行到步驟S195。在本例中,列Col2的谷區(qū)V2-1能夠被合并到種區(qū)S1中。流程進行到步驟S195。在步驟S195,檢查該種區(qū)是否是最后一個種區(qū)。如果該種區(qū)不是最后一個種區(qū),則在步驟S197讀出下一個種區(qū)且流程返回到步驟S194以重復步驟S194和隨后的步驟中的處理。在本例中,種區(qū)S1不是最后一個種區(qū),因而在步驟S197下一個種區(qū)S2被讀出,且步驟S194和步驟S195被反復。如果在步驟S195判定該種區(qū)是最后一個種區(qū)(例如圖5B中顯示的種區(qū)S4),則流程進行到步驟S198且把不能被合并到一個種區(qū)中的各谷區(qū)設定為一個新的種區(qū)。參見圖19B,由于列Col2的谷區(qū)V2-1不能被合并到種區(qū)S1、S2、S3或S4中,即它是不能被合并到任何一個已有的種區(qū)中的一個谷區(qū),因而在步驟S198,列Col2的谷區(qū)V2-1被設定為一個新的種區(qū)。
在步驟S199,檢查列Col2中的所有谷區(qū)是否都已經(jīng)被處理。如果在步驟S199判定列Col2中的所有谷區(qū)都已經(jīng)被處理,流程進行到步驟S1911;如果在步驟S199判定列Col2中的所有谷區(qū)未都得到處理,則列Col2中的下一個谷區(qū)被讀出(步驟S1910),且處理隨后返回到步驟S193。
在步驟S1911,檢查是否所有的列都已經(jīng)被處理。如果當前的列不是被探測圖象中的最后一個列,則處理返回到步驟S192以重復步驟S192和隨后步驟的處理。
在本例中,由于列Col2不是被探測圖象中的最后一個列,流程返回到步驟S192。
如果在步驟S1911判定所有的列都已經(jīng)被處理了,即當前的列是最后一個列Coln,則流程進行到步驟S1920。在步驟S1920,各個種區(qū)都被設定為一個候選人眼區(qū)。隨后,流程于步驟S1921結(jié)束。圖19C是一個例子,顯示了在步驟S173把一個被探測圖象的列中的谷區(qū)進行合并以產(chǎn)生候選人眼區(qū)的結(jié)果。
判定可接受的候選人眼區(qū)圖20A是顯示步驟S174中確定可接受的候選人眼區(qū)的過程的流程圖。
參見圖20A,在步驟S201,在上述過程中設定的一個第一候選人眼區(qū)被讀出。隨后,流程進行到步驟S202。在步驟S202,該第一候選人眼區(qū)的灰度得到計算。如上所述,一個候選人眼區(qū)包括一或多個谷區(qū)。如果一個候選人眼區(qū)由n個谷區(qū),即谷區(qū)1、谷區(qū)2、…谷區(qū)n,組成,則在步驟S202計算的該候選人眼區(qū)的灰度由以下公式給出EyeGray1=(Valley1Gray1×pixels1+Valley2Gray1×pixels2……+ValleynGray1×pixelsn)/TotalPixels (a1)其中EyeGray11是一個候選人眼區(qū)的灰度;Valley1Gray1是谷區(qū)1的灰度,pixels1是谷區(qū)1中的象素的數(shù)目;Valley2Gray1是谷區(qū)2的灰度,pixels2是谷區(qū)2中的象素的數(shù)目;ValleynGray1是谷區(qū)n的灰度,pixelsn是谷區(qū)n中的象素的數(shù)目;Total Pixels是包括在一個候選人眼區(qū)中的象素的數(shù)目。
因此,例如,如果一個候選人眼區(qū)包括灰度分別是12、20和30的3個谷區(qū),且這些谷區(qū)分別具有5、6和4個象素,則該候選人眼區(qū)的灰度是(12×5+20×6+30×4)/15=20。
參見圖20A的步驟S202,一個候選人眼區(qū)的灰度得到計算。如果該候選人眼區(qū)的灰度不小于一個第一閾值(例如160),流程進行到步驟S2010。在本實施例中,該第一閾值優(yōu)選地是在100至200的范圍內(nèi)。在步驟S2010,若該候選人眼區(qū)被判定為是一個假的眼睛區(qū),它將被拒絕且隨后流程進行到步驟S208。在步驟S208,檢查被探測的圖象中的所有候選人眼區(qū)是否都已經(jīng)被處理。如果當前的候選人眼區(qū)不是最后一個,則在步驟S209讀出下一個候選人眼區(qū),且隨后流程返回到步驟S202以重復步驟S202和隨后的步驟的處理。然而,如果在步驟S208判定當前的候選人眼區(qū)是最后一個候選人眼區(qū),則在被探測圖象中的所有的候選人眼區(qū)都已經(jīng)被判定,且流程在步驟S2011結(jié)束。
在步驟S202,如果候選人眼區(qū)的灰度小于該第一閾值,則流程進行到步驟S203。
在步驟S203計算候選人眼區(qū)的背景灰度。包括在候選人眼區(qū)中的谷區(qū)的背景灰度確定了一個候選人眼區(qū)的背景灰度。一個谷區(qū)的背景灰度是其相鄰區(qū)段的灰度的平均灰度。在步驟S203計算出的一個候選人眼區(qū)的背景灰度由下式給出EyeBGray1=(Valley1BGray1+Valley2BGray1……+ValleynBGray1)/n (a2)其中EyeBGray1是一個候選人眼區(qū)的背景灰度;Valley1BGray1是谷區(qū)1的背景灰度;Valley2BGray1是谷區(qū)2的背景灰度;ValleynBGray1是谷區(qū)n的背景灰度;n是包括在相應的候選人眼區(qū)中的谷區(qū)的數(shù)目。
在步驟S203,一個候選人眼區(qū)的背景灰度被與一個第二閾值相比較。如果在步驟S203判定當前的候選人眼區(qū)的背景灰度不大于該第二閾值(例如30),則流程進行到步驟S2010。在本實施例中,第二閾值優(yōu)選地是在20至80的范圍內(nèi)。在步驟S2010中,若一個候選人眼區(qū)被判定為不大于該第二閾值,則它被判定為是一個假眼睛區(qū)并被拒絕。隨后流程進行到步驟S208。
在步驟S203,如果當前的候選人眼區(qū)的背景灰度大于該第二閾值,流程進行到步驟S204。
在步驟S204,當前的候選人眼區(qū)的背景灰度與當前的候選人眼區(qū)的灰度之差被計算出來并與一個第三閾值(例如20)相比較。如果該差不大于該第三閾值(例如20),則流程進行到步驟S2010。在本實施例中,該第三閾值優(yōu)選地是在5至120的范圍內(nèi)。在步驟S2010,如果當前的候選人眼區(qū)被判定為不大于該第三閾值,則它被判定為是一個假的眼睛區(qū)并被拒絕。隨后流程進行到步驟S208。
在步驟S203,如果當前的候選人眼區(qū)的背景灰度與當前的候選人眼區(qū)的灰度之差大于該第三閾值,流程進行到步驟S205。
在步驟S205,計算出一個候選人眼區(qū)的寬度與高度的比值。
關(guān)于一個候選人眼區(qū)的高度和寬度,采用了以下的定義。一個谷區(qū)的大小是包括在該谷區(qū)中的象素的數(shù)目。例如,如果一個谷區(qū)包括5個象素,則該谷區(qū)的大小是5。一個候選人眼區(qū)的大小是包括在該候選人眼區(qū)中的谷區(qū)的大小之和。一個候選人眼區(qū)的寬度是包括在該候選人眼區(qū)中的谷區(qū)之和。一個候選人眼區(qū)的高度由下式給出Hd=Sd/Wd (a3)其中Hd是一個候選人眼區(qū)的高度;Sd是一個候選人眼區(qū)的大?。磺襑d是一個候選人眼區(qū)的寬度。
參見圖20A中的步驟S205,一個候選人眼區(qū)的寬度與高度的比值被計算出來并與一個第四閾值相比較。如果在步驟S205判定當前候選人眼區(qū)的寬度與高度的比值不大于該第四閾值(例如3.33),則流程進行到步驟S2010。在本實施例中,該第四閾值優(yōu)選地是在1至5的范圍中。在步驟S2010,當前的候選人眼區(qū)被判定為是一個假眼睛區(qū)并被拒絕。隨后流程進行到步驟S208。
如果,在步驟S205,當前的候選人眼區(qū)的寬度與高度的比值被判定為大于該第四閾值,則流程進行到步驟S206。
在步驟S206,當前的候選人眼區(qū)的大小與其外接矩形的大小的比值被計算出來并與一個第五閾值相比較。圖20B顯示了一個候選人眼區(qū)及其外接矩形。參見圖20B,其中給出了一個候選人眼區(qū)D1和它的外接矩形DC1。如從圖20B可見,該候選人眼區(qū)的外接矩形DC1是包圍該候選人眼區(qū)D1的最小矩形。一個候選人眼區(qū)的外接矩形的大小是包括在該外接矩形中的象素的數(shù)目。一個候選人眼區(qū)的大小是包括在該候選人眼區(qū)中的象素的數(shù)目。
在步驟S206,當前的候選人眼區(qū)的大小與其外接矩形的大小的比值被計算出來并與第五閾值(例如0.4)相比較。如果在步驟S206判定該比值不大于該第五閾值,流程進行到步驟S2010。在本實施例中該第五閾值優(yōu)選地是在0.2與1之間的范圍中。在步驟S2010,當前的候選人眼區(qū)被判定為是一個假眼睛區(qū)并被拒絕。隨后流程進行到步驟S208。
如果在步驟S206判定當前的候選人眼區(qū)的大小與其外接矩形的大小的比值大于該第五閾值,則流程進行到步驟S207;在步驟S207,當前的候選人眼區(qū)被判定為是一個可接受的候選人眼區(qū)。
在步驟S207之后,流程進行到步驟S208,以判定當前的候選人眼區(qū)是否是最后一個候選人眼區(qū)。如果不是最后一個候選人眼區(qū),則在步驟S209讀出下一個候選人眼區(qū)且流程返回到步驟S202。如果步驟S208的結(jié)果是“是”,則所有候選人眼區(qū)都已經(jīng)被判定。圖20C顯示了步驟S173的探測一個圖象中的可接受的候選眼區(qū)的結(jié)果。
調(diào)節(jié)區(qū)段的邊界圖21是流程圖,顯示了圖18A中的步驟S185的調(diào)節(jié)區(qū)段的邊界的處理。
參見圖21A,在步驟S211,一個分割點的灰度被與其兩個相鄰區(qū)段的灰度相比較,且該分割點被合并到其灰度較接近該分割點的灰度的相鄰區(qū)段中。例如,參見圖21B,分割點S的灰度是80,且其相鄰區(qū)段是區(qū)段In1和In2。區(qū)段In1和In2的灰度分別是70和100。由于區(qū)段In1的灰度更接近于分割點S的灰度,因而S被合并到區(qū)段In1中。
進一步地,流程進行到步驟S212。在步驟S212,當前的列的第一中間區(qū)被讀出。隨后在步驟S213該中間區(qū)及其相鄰的谷區(qū)和峰區(qū)的灰度被計算出來。在這些區(qū)的灰度被計算出來之后,流程進行到步驟S214。在步驟S214,進行一個比較以判定GR是否小于GP×Th6+GV×(1-Th6),其中GR表示中間區(qū)的灰度,GV表示該中間區(qū)的相鄰谷區(qū)的灰度,GP表示該中間區(qū)的相鄰的峰區(qū)的灰度,且Th6是一個第六閾值(例如0.2)。在本實施例中,該第六閾值優(yōu)選地是在0至0.5的范圍中。如果步驟S214的判定結(jié)果是“否”,流程進行到步驟S216。如果步驟S214的判定結(jié)果是“是”,則在步驟S215該中間區(qū)被合并到其相鄰的谷區(qū)中。
圖21C顯示了把一個中間區(qū)合并到相鄰的谷區(qū)中的一個例子。圖21C中所示的X軸代表各列的位置,圖21C中所示的Y軸代表各區(qū)的灰度。
參見圖21C,中間區(qū)Re1的灰度是25,谷區(qū)Va1的灰度是20,且峰區(qū)Pe1的灰度是70。當?shù)诹撝当恢糜?.2時,則GP×Th6+GV×(1-Th6)=70×0.2+20×0.8=30>GR=25因此,步驟S214的判定結(jié)果為“是”,所以中間區(qū)Re1將被合并到谷區(qū)Va1中。
進一步地,中間區(qū)Re2的灰度是40、峰區(qū)Pe2的灰度是60,GP×Th6+GV×(1-Th6)=60×0.2+20×0.8=26<GR=40因此,步驟S214的判定結(jié)果是“否”,所以中間區(qū)Re2將不被合并到谷區(qū)Va1中。
參見圖21A的步驟S216,其中檢查被探測圖象中的所有中間區(qū)是否都已經(jīng)得到處理。如果當前的中間區(qū)不是最后一個中間區(qū),則在步驟S217讀出下一個中間區(qū),且隨后流程返回到步驟S213以重復步驟S213和隨后的步驟。然而,如果在步驟S216判定當前的中間區(qū)是最后一個中間區(qū),即對所有的中間區(qū)的處理都已經(jīng)完成,流程在步驟S218結(jié)束。這樣,被探測圖象中的所有區(qū)段的邊界都已經(jīng)得到調(diào)整。
確定一個谷區(qū)是否能夠被合并到一個種區(qū)中圖22A是流程圖,用于顯示圖19A中的步驟S194中判定一個谷區(qū)是否能夠被合并到一個種區(qū)中的處理。
圖22B顯示了一個種區(qū)的一個預測谷區(qū)。一個種區(qū)的一個預測谷區(qū)并不是被探測圖象的任何列中的一個真實存在的谷區(qū)。它是包括在該種區(qū)的右邊的最鄰近的谷區(qū)的列的下一個列中的一個谷區(qū),且其縱向位置與在該種區(qū)的右邊的該最鄰近的谷區(qū)的縱向位置相同。參見圖22B,谷區(qū)Va3是在種區(qū)Se1的右邊的最鄰近的谷區(qū)。谷區(qū)Va3在列Col1中,且列Col2是列Col1的下一個列。因而谷區(qū)Va1是種區(qū)Se1的預測谷區(qū)。該預測谷區(qū)在列Col2中,且其縱向位置與谷區(qū)Va3的縱向位置相同,但在不同的列中。
圖22C顯示了兩個谷區(qū)的一個重疊區(qū)。兩個谷區(qū)的重疊區(qū)是這樣的一個區(qū)-即該區(qū)中的象素同時屬于這兩個區(qū)。
參見圖22C,從點B至點C的區(qū)段是谷區(qū)Va1,從點A至點C的區(qū)段是一個谷區(qū)Va2,谷區(qū)Va1是種區(qū)Se1的預測谷區(qū),谷區(qū)Va2是列Col2中的一個真實的谷區(qū)。因而,從點B到點C的區(qū)段是谷區(qū)Va1和谷區(qū)Va2的重疊區(qū)。
以下結(jié)合圖22A的流程圖,說明判定一個谷區(qū)是否能夠被合并到一個種區(qū)中的過程。參見圖22A,一個谷區(qū)和一個種區(qū)的預測谷區(qū)的重疊區(qū)在步驟S221中被計算出來。
在已經(jīng)計算出了該重疊區(qū)之后,流程進行到步驟S222。在步驟S222,進行一個比較,以判定Osize/Max(Vsize,SVsize)是否大于Th7;其中Osize是谷區(qū)與該種區(qū)的預測谷區(qū)的重疊區(qū)的大小,Max(Vsize,SVsize)是該谷區(qū)的大小和該種區(qū)的預測谷區(qū)的大小的中的最大者,且Th7是一個第七閾值(例如0.37)。第七閾值優(yōu)選地是在0.2至0.75的范圍內(nèi)。
如果步驟S222的判定結(jié)果是“否”,流程進行到步驟S228;此時該谷區(qū)不能被合并到該種區(qū)中,且該流程在步驟S229結(jié)束。否則,如果步驟S222的判定是“是”,則該流程進行到步驟S223。
在步驟S223,該谷區(qū)和該種區(qū)的灰度被計算出來。隨后,流程進行到步驟S224。在步驟S224,判定|GValley-GSeed|是否小于Th8,其中GValley是該谷區(qū)的灰度,GSeed是該種區(qū)的灰度,且Th8是一個第八閾值。該第八閾值優(yōu)選地是在0至60的范圍內(nèi)且它的一個優(yōu)選值是例如40。如果步驟S224的判定結(jié)果是“否”,流程進行到步驟S228;此時該谷區(qū)不能被合并到該種區(qū)中,且該流程在步驟S229結(jié)束。否則,如果步驟S224的判定結(jié)果是“是”,則流程進行到步驟S225。
在步驟S225,該谷區(qū)的背景、該種區(qū)的背景、該谷區(qū)和該種區(qū)的亮度值被計算出來。
一個圖象中的一個象素的亮度值用下式計算G=0.12219×L-0.0009063×L2+0.000036833526×L3-0.0000001267023×L4+0.0000000001987583×L5………(a4)公式(a4)表示了孟寒爾表色系統(tǒng)(A.H.Munsel color system)中灰度值與亮度值之間的非線性關(guān)系,其中G是一個象素的從0至255的灰度,且L是一個象素的亮度值并且從0至255。
因此,可以從一個圖象中的一個象素的灰度獲得其亮度值。另一方面,一個象素的灰度也可以從其亮度值獲得。
對于本例,圖18F中的象素Pi1和Pi2分別具有50和150的灰度。借助公式(a4),可以計算出象素Pi1和象素Pi2的亮度值分別是128和206。
參見圖22A,在步驟S225之后,流程進行到步驟S226。在步驟S226,判定Min((Lvb-Lv),(Lsb-Ls))/Max((Lvb-Lv),(Lsb-Ls))是否大于Th9,其中Lv是該谷區(qū)的亮度值,Ls是該種區(qū)的亮度值,Lvb是該谷區(qū)的背景的亮度值,且Lsb是該種區(qū)的背景的亮度值。Min((Lvb-Lv),(Lsb-Ls))是(Lvb-Lv)和(Lsb-Ls)中的最小者,Max((Lvb-Lv),(Lsb-Ls))是(Lvb-Lv)和(Lsb-Ls)中的最大者,且Th9是一個第九閾值(例如為0.58)。該第九閾值優(yōu)選地是在0.3至1的范圍內(nèi)。如果步驟S226的判定結(jié)果是“否”,流程進行到步驟S228;此時該谷區(qū)不能被合并到該種區(qū)中,且流程在步驟S229結(jié)束。否則,如果步驟S226中的判定結(jié)果是“是”,流程進行到步驟S227。
在步驟S227,該谷區(qū)被合并到該種區(qū)中,且該流程于步驟S229結(jié)束。
從以上的描述可見,本發(fā)明提供了一種方法和設備,用于在一個具有復雜的背景的圖象中迅速地探測與人眼對應的區(qū)域而不要求被探測圖象的具有高的質(zhì)量,因而大大地減小了圖象中的人眼不能被探測到的可能性。本發(fā)明的該方法和設備使得能夠在不同的比例、朝向和照明條件下對人眼進行準確的探測。因此,借助本發(fā)明的該方法和設備,能夠迅速而有效地探測出一個圖象中的人眼。
當探測出了一個圖象中的一對候選人眼區(qū)時,候選人臉區(qū)確定模塊203為該對候選人眼區(qū)確定出一個候選人臉區(qū)。
圖23顯示了用于根據(jù)一對探測出的候選人眼區(qū)確定一個候選人臉區(qū)的一種示例性的方法。
以下結(jié)合圖3A的流程圖描述為一個原始圖象的人臉確定處理的一個實施例。
圖12顯示了一個所要探測的原始圖象12A。設該原始圖象由一個攝象機或掃描儀拍攝并被存儲在存儲設備107或RAM 109等的一個預定的區(qū)域中。
參見圖3A,該人臉確定處理開始于步驟S30。在步驟S31,圖象輸入模塊201讀取所要探測的原始圖象12A的每一個象素的灰度。如果該原始圖象是編碼的(例如借助JPEG),圖象輸入模塊201首先對其進行解碼,然后讀取其圖象數(shù)據(jù)。
隨后,在步驟S32,候選人眼區(qū)探測模塊202探測所要探測的原始圖象中的候選人眼區(qū)并確定原始圖象12A中屬于探測到的候選人眼區(qū)的象素的位置。
可以利用結(jié)合圖16-22C描述的方法或現(xiàn)有技術(shù)中的各種方法,來確定原始圖象中的一對候選人眼區(qū)。
隨后,在步驟S33,候選人臉區(qū)確定模塊203根據(jù)一對探測到的候選人眼區(qū)而確定一個候選人臉區(qū),且流程進行到步驟S34。
在步驟S34,候選眼區(qū)取向計算模塊204計算該對候選人眼區(qū)中的每一個候選人眼區(qū)的取向。有三種用于確定各個候選眼區(qū)的取向的方法梯度法、幾何法和橢圓擬合法。
以下結(jié)合圖4描述梯度法。
用于計算一個候選眼區(qū)的取向的梯度法在梯度法中,一個候選眼區(qū)的取向是由該候選眼區(qū)中和/或周圍的各個位置的梯度的方向來確定的。每一個象素都根據(jù)其梯度的方向而被分類,且候選眼區(qū)的取向根據(jù)這種分類的結(jié)果而被計算出來。在每一個象素處的梯度的方向?qū)⒃谝韵抡f明。對于圖象輸入模塊201所讀取的一個圖象中的每一個象素,其梯度的方向都得到計算。
圖4詳細顯示了梯度法的一個實施例。在圖4的步驟S41,圍繞一個候選眼區(qū)的一個正方形得到確定。該候選眼區(qū)的中心被取為該正方形的中心,該正方形的邊長大約為該對候選眼區(qū)A和B的中心之間的距離的2/5,如圖10所示。
參見圖10,A和B分別表示了兩個候選眼區(qū),且C是圍繞候選眼區(qū)A的正方形。以下借助一個示例性的圖象,來說明正方形C的確定。
在該示例性的圖象中,一個候選眼區(qū)A具有78個象素,且這些象素的每一個的位置可以用坐標(210,152)、(211,152)、(212,153)……分別表示;另一個候選眼區(qū)B具有66個象素,且這些象素的每一個的坐標分別是(290,146)、(291,145)、(290、150)……。候選眼區(qū)A和B的每一個的中心可以由下式計算x0=(x1+x2+……+xn)/ny0=(y1+y2+……+yn)/n………(1)其中n是屬于該候選眼區(qū)的象素的數(shù)目,且(x1,y1)、(x2,y2)、……(xn,yn)分別是這些象素的坐標。
因而區(qū)A的中心的坐標為區(qū)A的中心的x坐標XA=(210+211+212+……)/78=218區(qū)A的中心的y坐標YA=(152+152+153+……)/78=160因此區(qū)A的中心(即正方形C的的中心)是(218,160)。
對于候選眼區(qū)B的中心的坐標區(qū)B的中心的x坐標XB=(290+291+290+……)/66=297區(qū)B的中心的y坐標YB=(146+145+150+……)/66=153因而這兩個候選眼區(qū)的中心之間的距離是(218-297)*(218-297)+(160-153)*(160-153)=79;]]>正方形C的邊長C=79×2/5=32。因此,正方形C得到確定。
在步驟S42,從-90度到90度的方向范圍被分成多個區(qū)間。為每一個區(qū)間準備一個計數(shù)器。這些計數(shù)器的初始值被置為零。每個區(qū)間都被取得足夠地小,從而使該區(qū)間中的某一個取向可近似地代表該區(qū)間中的所有取向。例如,通過把各個區(qū)間設定為10度,則從-90度到90度的范圍可以被分成18個區(qū)間,每一個區(qū)間為10度(-90,-80)、(-80,-70),……(80,90),而這些區(qū)間的取向可分別用例如-85度、-75度、…85度來代表。該分割方式不是排他的,且該范圍可以被分成5、10、20或30個或其他數(shù)目的區(qū)間。在本實施例中,兩個相反的取向被作為同一個取向處理,因而從-90度至90度的范圍覆蓋了所有的取向。
在步驟S43,該正方形中的每一個象素的梯度的方向都得到計算。一個象素的梯度的方向可以用任何離散梯度算子來計算,諸如用Sobel算子來計算。以下結(jié)合圖11來說明利用Sobel算子計算一個象素的梯度方向的處理。
參見圖11,象素P是在正方形C中的一個象素,P1、P2、P3、P4、P5、P6、P7和P8是象素P的相鄰象素。設G1、G2、……G8分別是P1、P2、……P8的灰度,則象素P的梯度可以用Sobel算子計算如下設(dx,dy)表示象素P的梯度,則dx=(G3+2*G5+G8)-(G1+2*G4+G6)dy=(G6+2*G7+G8)-(G1+2*G2+G3)(2)在本例中,象素P、P1、P2、P3、P4、P5、P6、P7、P8的灰度分別是122、136、124、119、130、125、132、124和120,因而dx=(119+2*125+120)-(136+2*130+132)=-39;dy=(132+2*124+120)-(136+2*124+119)=-3;因而象素P的梯度是(-39,-3),象素P的梯度的方向用θ表示并用下式計算
θ=arctg(dy/dx) (3)其中arctg( )表示對括號中的變量取反正切。因而對于本例,象素P出的梯度的方向是θ=arctg(-39/-3)=85.6(度)公式(3)表明θ一定在從-90度至90度的范圍中,因而θ必然落在步驟S42所確定的一個區(qū)間中,隨后象素P的方向θ所落在的那個區(qū)間的計數(shù)器加1。
在步驟S44,取向計算模塊204利用這些區(qū)間的計數(shù)器的計數(shù)值來計算該候選眼區(qū)的取向。
以下結(jié)合圖15的流程來說明步驟S44的處理。
在圖5的步驟S441,具有最大的象素計數(shù)值的區(qū)間得到確定。該最大象素值用m1表示。取向計算模塊204計算一個計數(shù)閾值t1=m1×t2,其中t2是從0.8至1.0的一個預定的比值且t2的一個優(yōu)選值是0.95。隨后,其計數(shù)值大于或等于t1的所有區(qū)間都被選取。
在本例中,這些區(qū)間的象素的計數(shù)值分別是10,15,18,31,40,44,72,71,58,53,51,37,41,22,21,16,23和21。所以m1=72。取t2=0.8,則t1=m1×t2=57.6,因而其計數(shù)值大于57.6的區(qū)間得到確定。因此,在本例中,區(qū)間(-30,-20)、(-20,-10)和(-10,0)分別有72、71和58的象素計數(shù),因而它們被選取。
在本實施例中,一個區(qū)間的取向被定義為該區(qū)間的中心值。即,區(qū)間(-30,-20)的方向是-25度,余此類推。
在步驟S442,判定所選定的區(qū)間的數(shù)目是否是1。如果步驟S442的結(jié)果是“是”,則意味著只有一個區(qū)間的計數(shù)值大于閾值t1,且該區(qū)間的取向被取為該候選眼區(qū)的取向(步驟S445)。如果步驟S442的結(jié)果是“否”,即選定的區(qū)間的數(shù)目大于1,則每兩個選定區(qū)間的取向之間的夾角得到計算。設I1表示兩個選定的區(qū)間的取向之間的夾角,如果I1>90度,則取I1=180-I1。確定并選取出最大的夾角,并記錄形成該夾角的兩個區(qū)間的取向(步驟S443)。
對于本例,在步驟S441選定的區(qū)間的取向分別被計算為是-25、-15和-5,因而最高的取向(在本例中為-5度)和最低的取向(在本例中為-25度)之間的夾角為20度。
在步驟S444,判定該最大夾角是否大于一個閾值t3;如果步驟S444的結(jié)果是“是”,則該候選眼區(qū)的取向被判定為不確定(步驟S446);如果一個候選眼區(qū)的取向被判定為不確定,則該候選眼區(qū)的取向?qū)⒉粎⑴c隨后步驟的處理。如果兩個候選眼區(qū)的取向都被判定為不確定,則這兩個候選眼區(qū)均被判定為是真實的人眼區(qū),且該候選人臉區(qū)被判定為是一個真實的人臉區(qū),且處理結(jié)束。如果步驟S444的結(jié)果是“否”,則最高和最低取向的平均值被取作該候選眼區(qū)的取向(步驟S448)。閾值t3的范圍從0至90度且其一個優(yōu)選的取值范圍是30-60度。
在本例中,閾值3被選為60度;最高取向是-5度且最低取向是-25度,步驟S443獲得的最高和最低取向之間的夾角是20度,因而最高和最低取向之間的夾角小于該閾值(20<60度)。這兩個取向的平均值是(-25+(-5))/2=-15度,因而該候選眼區(qū)的計算出的取向是-15度。
計算候選眼區(qū)的取向的幾何法以下結(jié)合圖6的流程圖描述第二種方法,該第二種取向計算方法被稱為幾何法。
利用幾何法計算出的一個候選眼區(qū)的取向,是借助該候選眼區(qū)的投影長度來確定的。對于一個取向,該候選眼區(qū)沿著該取向的一個投影長度可以被計算出來。從所有取向的投影長度選出某些投影長度。而一個候選眼區(qū)的取向可以通過分析這些投影長度和它們的相應的取向而得到確定。
圖8顯示了一個示例性的候選眼區(qū)。如圖8所示,一個候選眼區(qū)的沿著一個給定取向的投影長度被定義為兩條平行線之間的距離,諸如距離D1和D2。這兩條平行線符合以下條件a)這兩條平行線的方向與該給定取向相垂直;b)屬于該候選眼區(qū)的所有象素都處于這兩個平行線之間;且c)這兩條平行線之間的距離是滿足條件a)和b)的所有平行線對中的該距離的最小者。
圖6顯示了幾何法的處理的一個實施例的流程圖。在步驟S51,取向計算模塊204計算該候選眼區(qū)沿著所有取向的投影長度。對該方法,兩個相反的取向被作為同一取向。
以下結(jié)合圖7的流程圖說明步驟S51的用于計算一個候選眼區(qū)沿著一個給定取向的投影長度的處理。
在步驟S511,取向計算模塊204計算公式(3)(見以下描述)中定義的函數(shù)f(x,y)在該候選眼區(qū)中的每一個象素處沿著一個給定的取向的值。
參見圖8,A是一個候選眼區(qū)。如圖8所示,象素p1屬于A。設p1的坐標是(x,y)且R1是一個給定的取向。對于任何的取向,當一個標準取向被確定時,表示一個取向的一個角度也被確定。在本例中,H1是一個標準取向,RA1是由R1和H1確定的角度,且R1可以用(a,b)表示,其中a和b滿足以下條件b/a=tg(RA1)其中tg( )表示對括號中的變量取正切。
且f(x,y)由下式給出f(x,y)=ax+by (3)例如,對于x=214,y=162,a=1,b=0.194,且RA1為11度,則
f(x,y)=f(214,162)=1×214+0.194×162=244.78在步驟S512,計算出f(x,y)在該候選眼區(qū)中的象素中的最大和最小值。設該最大值為fmax且該最小值為fmin。
在步驟S513,按照下式計算該候選眼區(qū)的投影長度DD=fmax-fmina2+b2+1---(4)]]>在圖8所示的例子中,在步驟S512獲得的該最大和最小值分別是250和245,a=1,b=0.194,則圖8中的投影長度D1為(250-245)/(12+0.1942)1/2+1=5.82參見圖6,在計算出了沿著所有取向的投影長度之后,流程進行到步驟S52。
在步驟S52,具有最大投影長度的取向得到確定。在本例中,該最大長度被計算為11。隨后,候選眼區(qū)取向計算模塊204計算一個長度閾值l2=l1×t4,其中t4是從0.7至1.0的范圍內(nèi)的一個預定比值且t4的一個優(yōu)選值是0.95。隨后選出具有大于或等于l2的投影長度的取向。
在本例子中,在步驟S51中獲得的所有取向的投影長度分別為7.2、9.5、11.8、14.6、16.9、18.9、19.9、20.5、20.5、20.0、19.8、19.0、17.6、15.8、13.7、11.4、8.7和6.9,它們的相應的取向分別是-85、-75、-65、……、75和85度,t4被設定為0.95,且最大長度被確定為20.5,因而l2=20.5×0.95=19.475,且長度19.9、20.5、20.0和19.8大于長度閾值19.475,且它們的相應的取向分別是-25、-15、-5、5和15度。
隨后,在步驟S53,判定各具有大于或等于t4的投影長度的取向的數(shù)目是否等于1。如果步驟S53的結(jié)果是“是”,流程進行到步驟S58;在步驟S58該取向被取為該候選眼區(qū)的取向。如果步驟S53的結(jié)果是“否”,表明選出的取向的數(shù)目大于1,則流程進行到步驟S54,在那里計算出每兩個取向之間的夾角。設I2表示兩個選定的取向之間的夾角,如果I2>90度,則取I2=180-I2。候選眼區(qū)取向計算模塊204選擇出最大的夾角并記錄形成該最大夾角的兩個取向。
在本例中,在步驟S52獲得的取向分別是-25、-15、-5、5和15度。取向的數(shù)目是5,隨后流程進行到步驟S54,在那里這五個取向之間的最大夾角得到確定。在本例中,該最大夾角是40度且其相關(guān)的取向分別是-25和15度。
在步驟S55,判定該最大夾角是否大于一個預定的閾值。如果“是”,該候選眼區(qū)的取向被確定為是不確定的(步驟S58)。如果步驟S55的結(jié)果是“否”,形成該最大夾角的兩個取向的平均被取為該候選眼區(qū)的取向(步驟S57)。
在一個實施例中,該閾值被選為60度。對于本例,在步驟S54,計算出該最大夾角是40度且相應的取向分別是-25和15度。所以該最大夾角小于該閾值,且這兩個取向的平均即(-25+15)/2=-5度被取為該候選眼區(qū)的取向。
計算候選眼區(qū)的取向的橢圓擬合法在橢圓擬合法中,一個候選眼區(qū)的取向,通過用一個橢圓來擬合該候選眼區(qū)并取該橢圓的主軸的取向為該候選眼區(qū)的取向,而得到確定。
設一個候選眼區(qū)的中心的坐標是(x0,y0),令EA=Σi=1i=SumP(xi-x0)2]]>EB=Σi=1i=SumP(yi-y0)2]]>EC=Σi=1i=SumP(xi-x0)*(yi-y0)]]>其中SumP是該候選眼區(qū)中的象素的總數(shù);(xi,yi)是這些象素的坐標且i=1,……SumP。
SumP、EA、EB和EC可以被計算如下令EM=EAECECEB]]>因而EM表示了一個矩陣和具有兩個本征值。與較大的一個本征值相應的本征本征向量代表了該橢圓的主軸的取向。
參見圖14,其中E表示一個候選眼區(qū),F(xiàn)1、F2和F3是各與該候選眼區(qū)E擬合的橢圓,RA2表示橢圓F1、F2和F3的主軸的取向,且G表示橢圓F1、F2和F3的中心。此時,RA2被取為該候選眼區(qū)E的取向。
應該注意的是,本發(fā)明的橢圓擬合法的目的是確定一個候選眼區(qū)的取向,因而不需要確定任何具體的橢圓。
以下結(jié)合圖15的流程圖來詳細描述利用橢圓擬合法計算一個候選眼區(qū)的取向的處理。
如圖15所示,對于該候選眼區(qū),在步驟S1510,判定該候選眼區(qū)的邊界象素的數(shù)目是否小于一個閾值t6。
有若干種方法可以確定一個候選眼區(qū)的邊界象素的數(shù)目。
如果利用以上結(jié)合圖16-22C描述的方法來確定候選眼區(qū),則一個候選眼區(qū)的邊界象素可以由如步驟S172的處理中描述的把圖象的各列分成多個區(qū)段的分割點來確定。如以上結(jié)合步驟S211所描述的,一個候選眼區(qū)的象素列的一個分割點被合并到其相鄰區(qū)段中具有較接近該分割點的灰度的灰度的一個區(qū)段中。所以如果該分割點被合并到屬于該候選眼區(qū)的區(qū)段中,則該分割點是該候選眼區(qū)的一個邊界點。如果該分割點未被合并到屬于該候選眼區(qū)的區(qū)段中,則被該分割點所分割的谷區(qū)中與該分割點相鄰的象素被取為該候選眼區(qū)的邊界象素。以此方式,能夠確定一個候選眼區(qū)的各列的兩個邊界點,因而能夠確定該候選眼區(qū)的所有邊界象素。
作為確定一個候選眼區(qū)的所有邊界象素的另一種方法,對于該候選眼區(qū)中的一個象素,其所有相鄰象素都得到考查以確定它們是否處于該候選眼區(qū)中。如果該象素的所有相鄰象素都處于該候選眼區(qū)中,則該象素不是一個邊界象素。如果這些相鄰象素中的至少一個處于該候選眼區(qū)之外,則該象素被取為一個邊界象素。以此方式,可以確定一個候選眼區(qū)的所有邊界象素。
如果步驟S1510的結(jié)果是“是”,表明該候選眼區(qū)中的總象素的數(shù)目太少而無法避免象素分布的隨機性,因而該候選眼區(qū)的取向被判定為不確定(步驟S1550)。閾值t6可以取大于1的任何值且一個優(yōu)選的范圍是3-20。
另一方面,如果步驟S1510的結(jié)果是“否”,則處理進行到步驟S1520,在那里以如下方式計算EA、EB、EC、ET、EL1、EL2且ELRatioEA=SumXX-(SumX×SumX)/SumPEB=SumYY-(SumY×SumY)/SumPEC=SumXY-(SumX×SumY)/SumPET=(EA+EB)*(EA+EB)-4*(EA*EB-EC*EC)]]>EL1=(EA+EB+ET)/2EL2=(EA+EB-ET)/2ELRatio=ET/EL1(5)其中SumX=∑xjSumY=∑yjSumXX=∑xj2SumYY=∑yj2SumXY=∑xjyj其中(xj,yj)是候選眼區(qū)的第j個邊界象素的坐標,且求和是對該候選眼區(qū)的所有邊界象素進行的。
EL1和EL2是矩陣EM的本征向量,且(1,(EL1-EA)/EC)和(1,(EL2-EA)/EC)是EM的本征向量并且分別是與該候選眼區(qū)的輪廓相擬合的橢圓長軸和短軸的取向。
隨后,在步驟S1530,判定ELRatio是否小于一個閾值t7。閾值t7的值可以在0至1的范圍內(nèi)且優(yōu)選地是在0.1至0.8的范圍內(nèi)。
如果步驟S1530的結(jié)果是“是”,意味著該長軸和短軸彼此太接近且擬合的橢圓太接近于一個圓而不能提供一個取向,因而處理進行到步驟S1550;在步驟S1550,確定該候選眼區(qū)的取向是不確定的。
如果步驟S1530的結(jié)果是”否”,則處理進行到步驟S1540,在那里該候選眼區(qū)的取向被計算如下1)如果EC=0且EA>EB,則該候選眼區(qū)的取向是0度;2)如果EC=0且EA<EB,則該候選眼區(qū)的取向是90度;1)如果EC≠0,則該候選眼區(qū)的取向=arctg((EL1-EA)/EC),其中arctg( )表示對括號中的變量取反正切值。
圖14顯示了利用橢圓擬合法計算一個候選眼區(qū)的取向的一個例子。
在圖14所示的例子中,一個候選眼區(qū)具有62個邊界象素,這些邊界象素的坐標分別是(37,602)、(37,603)、(37,604)、(38,603)……。閾值t6選擇為3,且閾值t7被選擇為0.76。所以SumP=62>t6。因此,根據(jù)公式(5),EA、EB、EC、ET、EL1、EL2和ELRatio分別被計算出為1853、261、601、1995、2054、60和0.97。所以ELRati0=0.97>t7,且由于EC=601≠0,所以該候選眼區(qū)的取向是arctg((EL1-EA)/EC)=arctg(0.334)=18度由此,計算出了一對候選眼區(qū)中的每一個的取向。
回到圖3A,在步驟S352,連接線取向計算模塊205計算連接候選人臉區(qū)的這兩個候選眼區(qū)的中心的線段的取向。兩個候選眼區(qū)的中心可以用公式(1)計算出。設兩個候選眼區(qū)的中心分別是(cx1,cy1)和(cx2,cy2),則連接這兩個候選眼區(qū)的中心的線段的取向θL可以用下式計算θL=arctg((cy2-cy1)/(cx2-cx1)) (6)其中arctg( )表示對括號中的變量取反正切值。
在本例中,cx1=306,cy1=198,cx2=364,cy2=182,因而θL=arctg((182-198)/(364-306))=-15度參見圖3A,在步驟S36,取向評價模塊206對這兩個候選眼區(qū)的每一個的取向與連接這兩個候選眼區(qū)的中心的線段的取向之間的關(guān)系進行評價,并根據(jù)評價的結(jié)果判定這兩個候選眼區(qū)是否是一對真實的眼睛區(qū)和該候選人臉區(qū)是否是一個真實的人臉區(qū)。以下結(jié)合圖3B描述步驟S36的處理的一個實施例的細節(jié)。
在圖3B中,在步驟S3305,取向評價模塊206確定左邊的候選眼區(qū)的取向是否是不確定的。
如果步驟S3305的結(jié)果是“是”,意味著左邊的候選眼區(qū)沒有確定的取向,則處理進行到步驟S3320。
如果步驟S3305的結(jié)果是“否”,意味著該候選眼區(qū)具有一個確定的取向,則處理進行到步驟S3310;在步驟S3310,該左邊的候選眼區(qū)的取向與連接這兩個候選眼區(qū)的中心的線段的取向之間的夾角(角θ1)被計算出來。
隨后,處理進行到步驟S3315,在那里取向評價模塊206判定θ1的絕對值是否大于或等于一個閾值t5;在一個實施例中,t5被選擇為50度。
如果步驟S3315的結(jié)果是“是”,取向評價模塊206確定這個候選眼區(qū)不是真實的眼睛區(qū)且該候選人臉區(qū)不是一個真實的人臉區(qū)(步驟S3340)。如果步驟S3315的結(jié)果是“否”,則處理進行到步驟S3320。
在步驟S3320,取向評價模塊206判定右邊的候選眼區(qū)的取向是否是不確定的。
如果步驟S3320的結(jié)果是“是”,則處理進行到步驟S3335,在那里取向評價模塊206確定該對候選眼區(qū)是一對真實的人眼區(qū)且該候選人臉區(qū)是該圖象中的一個人臉區(qū)。
如果步驟S3320的結(jié)果是“否”,則處理進行到步驟S3325,在那里取向評價模塊206計算右邊的候選眼區(qū)的取向與連接這兩個候選眼區(qū)的中心的線段之間的夾角(角θ2)。
在此之后,處理進行到步驟S3330,在那里取向評價模塊206判定夾角θ2的絕對值是否大于或等于t5。
如果步驟S3330的結(jié)果是“是”,取向評價模塊206確定這個候選眼區(qū)不是一個真實的眼睛區(qū)且該候選人臉區(qū)不是一個真實的人臉區(qū)(步驟S3340)。
如果步驟S3330的結(jié)果是“否”,處理進行到步驟S3335,在那里取向評價模塊206確定該對候選人眼區(qū)是一對真實的人眼區(qū)且該候選人臉區(qū)是一個真實的人臉區(qū)。
在本例中,E1=-15,E2=-25,L=-15度,而θ1=0,且θ2=10度在步驟S36,取向評價模塊206確定兩個候選眼區(qū)中的每一個都具有一個確定的取向,且θ1和θ2都小于閾值t5。因此,該候選人臉區(qū)被確定為是一個真實的人臉區(qū)。
例1圖12顯示了一個圖象12A,它是用于說明本發(fā)明的原理。以下詳細描述利用根據(jù)本發(fā)明的一個實施例的梯度方法探測圖象12A中的一個人臉區(qū)的處理。
在步驟S31,圖象輸入模塊201讀取圖象12A中的象素的灰度。
在步驟S32,候選人臉區(qū)探測模塊202探測兩個候選人眼區(qū)中的象素的位置(301,199)、(302,199)、(300,198)、(302,200)、……在步驟S33,候選人臉區(qū)確定模塊203確定與這兩個候選人眼區(qū)相聯(lián)系的一個候選人臉區(qū)。
隨后,在步驟S34,候選眼區(qū)取向計算模塊204利用梯度法計算這兩個候選眼區(qū)的每一個的取向。
隨后,在步驟S35,連接線取向計算模塊205計算連接這兩個候選眼區(qū)的中心的線段的取向,且該連接線段的取向被計算為-15度。
在步驟S36,取向評價模塊206確定這些候選眼區(qū)中的每一個都具有一個確定的取向,且這兩個候選眼區(qū)的取向分別被計算出為-20度和-10度;取向評價模塊206還計算這兩個候選人眼區(qū)的每一個的取向與該連接線的取向之間的夾角。對于這兩個候選眼區(qū)中的每一個,該夾角分別被計算出為5度和5度。
隨后,取向評價模塊206判定該夾角中的每一個是否小于一個第一閾值;在一個實施例中該閾值被選為50度。如果這兩個夾角的每一個都小于該第一閾值,則該對候選人眼區(qū)被確定為是一對真實的人眼區(qū)且該候選人臉區(qū)被確定為是一個人臉區(qū)(步驟S3335);否則,該候選人臉區(qū)被確定為不是一個人臉區(qū)(步驟S3340)且流程進行到步驟S37。在此例中,這兩個夾角分別是5度和5度,即都小于50度的第一閾值,因而流程進行到步驟S3335;在步驟S3335,該對候選人眼區(qū)被確定為不是真實的一對人眼區(qū),且候選人臉區(qū)13A被確定為是一個人臉區(qū),隨后流程在步驟S37結(jié)束。
例2以下詳細描述根據(jù)本發(fā)明的一個實施例的利用幾何法判定圖象12A中的一個圖象塊13A是否是一個人臉區(qū)的處理。
在圖3中的步驟S31,圖象輸入模塊201讀取圖象12A中的象素的灰度。
在步驟S32,候選人臉區(qū)探測模塊202探測兩個候選人眼區(qū)中的象素的位置(301,199)、(302,199)、(300,198)、(302,200)、……在步驟S33,候選人臉區(qū)確定模塊203利用幾何法確定與這兩個候選人眼區(qū)相聯(lián)系的一個候選人臉區(qū)。
隨后,在步驟S34,候選眼區(qū)取向計算模塊204利用梯度法計算這兩個候選眼區(qū)的每一個的取向。
隨后,在步驟S35,連接線取向計算模塊205計算連接這兩個候選眼區(qū)的中心的線段的取向,且該連接線段的取向被計算為-15度。
在步驟S36,取向評價模塊206確定這些候選眼區(qū)中的每一個都具有一個確定的取向,且這兩個候選眼區(qū)的取向分別被計算出為-5度和-20度。
在步驟S36,取向評價模塊206還計算這兩個候選人眼區(qū)的每一個的取向與該連接線的取向之間的夾角。對于這兩個候選眼區(qū)中的每一個,該夾角分別被計算出為10度和5度。
隨后,取向評價模塊206判定該夾角中的每一個是否小于一個閾值t5;在一個實施例中該閾值t5被選為40度。如果這兩個夾角的每一個都小于該閾值,則該對候選人眼區(qū)被確定為是一對真實的人眼區(qū),且該候選人臉區(qū)被確定為是一個人臉區(qū)(步驟S3335);否則,如果這兩個夾角中的任何一個大于或等于t5,則該對候選人眼區(qū)被確定為不是一對真實的人眼區(qū),且該候選人臉區(qū)被確定為不是一個人臉區(qū)(步驟S3340)。在此例中,這兩個夾角分別是10度和5度,即都小于該閾值t5=40度,因此候選人臉區(qū)13A被確定為是一個人臉區(qū)(步驟S3335),隨后流程在步驟S37結(jié)束。
(替換實施例)由于本發(fā)明的設備的一部分處理可以通過程序而實施,本發(fā)明還包括了在一個載體中的計算機程序。該程序可以是適合于在這些處理的實施中使用的源代碼或目標代碼。該載體可以是能夠攜帶該程序的任何裝置或?qū)嶓w。
該載體可以包括一個存儲介質(zhì)。如上所述,由于該設備能夠使用諸如個人計算機的通用設備,因而本發(fā)明還可通過向一個系統(tǒng)或設備提供一種存儲介質(zhì)-該存儲介質(zhì)記錄了能夠?qū)嵤┥鲜鰧嵤├墓δ艿能浖绦虻某绦虼a-并由該系統(tǒng)或設備的一個計算機讀出并執(zhí)行存儲在該存儲介質(zhì)中的該程序碼,而得到實現(xiàn)。在此情況下,從該存儲介質(zhì)讀出的該程序碼本身實施了上述實施例的功能,且存儲該程序碼的該存儲介質(zhì)構(gòu)成了本發(fā)明。作為用于提供該程序碼的存儲介質(zhì),可以采用例如軟盤、硬盤、光盤、磁-光盤、CD-ROM、磁帶、非易失存儲卡、ROM、DVD等等。
進一步地,該載體可以是能夠經(jīng)諸如一個網(wǎng)絡(象因特網(wǎng)、LAN、WAN等)、電纜、光纜、無線電、或其他通信裝置的通信介質(zhì)進行傳送的電信號;通過該電信號,一個計算機可以從遠離該計算機的一個遠程地點獲得能夠?qū)嵤┥鲜鰧嵤├墓δ艿能浖绦虻某绦虼a并讀取和執(zhí)行該軟件程序。在此情況下,經(jīng)該通信介質(zhì)從該遠程地點獲得的程序碼實施了上述實施例的功能,且該電信號-通過它一個計算機能夠獲得該程序碼-構(gòu)成了本發(fā)明。
本發(fā)明,還可通過向一個計算機提供記錄有該程序碼的存儲介質(zhì)并執(zhí)行由在該計算機上運行的一個操作系統(tǒng)所執(zhí)行的某些或全部實際處理,而得到實現(xiàn)。進一步地,上述實施例的功能也可由設置在一個功能擴展板或功能擴展單元或一個集成電路上的一個CPU或類似裝置執(zhí)行的某些或全部實際的處理操作,而得到實施;在從該存儲介質(zhì)讀出的該程序碼被寫入到該功能擴展板、功能擴展單元或集成電路的一個存儲器中之后,該功能擴展板或功能擴展單元或集成電路被插入或連接到一個計算機。當本發(fā)明被應用于該存儲介質(zhì)時,該存儲介質(zhì)存儲了該存儲介質(zhì)存儲了與在上述實施例中描述的流程圖的處理相應的程序碼。
由于在不脫離本發(fā)明的精神和范圍的前提下可以作出本發(fā)明的許多非常不同的實施例,因而應該理解的是本發(fā)明不限于其具體的實施例,而是由所附的權(quán)利要求書限定。
權(quán)利要求
1.一種人臉探測方法,包括以下步驟探測一個圖象中的兩個候選眼區(qū);計算這兩個候選眼區(qū)中的每一個的取向;計算連接這兩個候選眼區(qū)的中心的線段的取向;評價這兩個候選眼區(qū)的每一個的取向與所述線段的取向之間的關(guān)系;以及根據(jù)所述評價步驟的結(jié)果判定這兩個候選眼區(qū)是否是一對真實的人眼區(qū)。
2.根據(jù)權(quán)利要求1的方法,其中計算所述兩個候選眼區(qū)的每一個的取向的步驟包括確定包含該候選眼區(qū)之一的一個區(qū);計算該區(qū)中的每一個象素的梯度;對該區(qū)中的象素的梯度進行一種統(tǒng)計處理;根據(jù)該統(tǒng)計處理的結(jié)果確定所述取向。
3.根據(jù)權(quán)利要求2的方法,其中進行統(tǒng)計處理的步驟包括把取向分布的范圍分成多個區(qū)間;為每一個區(qū)間分配一個取向;對于這些區(qū)間中的每一個,計算所述區(qū)中并具有其方向處于該區(qū)間之內(nèi)的梯度的象素的數(shù)目;確定這些區(qū)間中具有最大的所述象素數(shù)目的區(qū)間;根據(jù)該最大數(shù)目而計算出一個不大于所述最大象素數(shù)目的數(shù)目界限;選擇其所述計算的象素數(shù)目大于或等于所述數(shù)目界限的區(qū)間;根據(jù)所述選定的區(qū)間的取向之差確定所述候選眼區(qū)的取向。
4.根據(jù)權(quán)利要求3的方法,其中根據(jù)選定的區(qū)間的取向之差確定所述候選眼區(qū)的取向的步驟包括確定所述選定的區(qū)間的數(shù)目是否大于1;當所述選定的區(qū)間的數(shù)目不大于1時,把該唯一的候選眼區(qū)的取向取作該候選眼區(qū)的取向;當該選定的區(qū)間的數(shù)目大于1時,確定所述選定的區(qū)間中的兩個區(qū)間,這兩個區(qū)間的取向之差在所有所述選定的區(qū)間中為最大;把該最大的取向差與一個預定值相比較;當該最大差大于或等于該預定值時,把該候選眼區(qū)標為無方向的;以及當該最大差不大于該預定值時,把具有該最大取向差的兩個區(qū)間的取向的平均值作為該候選眼區(qū)的取向。
5.根據(jù)權(quán)利要求4的方法,包括當所述兩個候選眼區(qū)都被確定為無方向時,確定所述兩個候選眼區(qū)是一對真實的人眼區(qū)。
6.根據(jù)權(quán)利要求4的方法,進一步包括當所述候選眼區(qū)之一被確定為有方向時,計算這一個候選眼區(qū)的取向與連接所述兩個候選眼區(qū)的中心的線段的取向之間的夾角;以及把該夾角與一個預定的閾值相比較。
7.根據(jù)權(quán)利要求1的方法,其中各個候選眼區(qū)的中心是各個候選眼區(qū)中的象素的質(zhì)心。
8.根據(jù)權(quán)利要求1的方法,其中計算這兩個候選眼區(qū)的每一個的取向的步驟包括對于這兩個候選眼區(qū)的每一個,計算多個投影長度;確定所述多個投影長度中的最大投影長度;根據(jù)該最大投影長度計算一個不大于該最大投影長度的長度界限;從所述多個投影長度中選出大于或等于所述長度界限的所有投影長度;根據(jù)所述選定的投影長度確定所述候選眼區(qū)的所述取向。
9.根據(jù)權(quán)利要求8的方法,其中根據(jù)所述選定的投影長度來確定所述候選眼區(qū)的取向的步驟包括判定所述選定投影長度的數(shù)目是否大于1;當所述選定的投影長度的數(shù)目不大于1時,把所選定的唯一的一個投影長度的取向作為所述候選眼區(qū)的取向;當所述選定的投影長度的數(shù)目大于1時,在所述選定的投影長度中確定具有最大的取向差的兩個投影長度;把該最大取向差與一個預定的值相比較;當該最大取向差大于或等于于該預定值時,把該候選眼區(qū)標為無方向的;以及當該最大取向差不大于該預定值時,把具有該最大差的兩個確定的投影長度的取向的平均作為所述候選眼區(qū)的取向。
10.根據(jù)權(quán)利要求9進一步包括當所述兩個候選眼區(qū)都被判定為是無方向時,確定所述兩個候選眼區(qū)是一個真實的人臉區(qū)。
11.根據(jù)權(quán)利要求9的方法,進一步包括當所述候選眼區(qū)中的一個被確定為有方向時,計算這一個候選眼區(qū)的取向與連接所述兩個候選眼區(qū)的中心的線段的取向之間的夾角;以及把該夾角與一個預定的閾值相比較。
12.根據(jù)權(quán)利要求1的方法,其中計算所述兩個候選眼區(qū)的每一個的取向的步驟包括對于所述兩個候選眼區(qū)中的每一個,確定一個橢圓,該橢圓與候選眼區(qū)的邊界象素相擬合;計算該橢圓的長軸的取向;把該橢圓的長軸的取向作為該候選眼區(qū)的取向。
13.根據(jù)權(quán)利要求12的方法,進一步包括把所述候選眼區(qū)的邊界象素的數(shù)目與邊界象素的一個預定閾值相比較;以及當該邊界象素的數(shù)目小于所述邊界象素閾值時,確定所述候選眼區(qū)的取向是不確定的。
14.根據(jù)權(quán)利要求12的方法,進一步包括計算一個比值,該比值反映了所述橢圓的長軸的長度與短軸的長度之間的關(guān)系;把該比值與一個預定的值相比較;以及當所述比值小于所述預定值時,確定所述候選眼區(qū)的取向是不確定的。
15.根據(jù)前述權(quán)利要求中的任何一項的方法,進一步包括根據(jù)在所述候選眼區(qū)探測步驟中探測出的所述兩個候選眼區(qū),確定一個候選人臉區(qū);以及當所述兩個候選眼區(qū)被確定為是一對真正的人眼區(qū)時,確定所述候選人臉區(qū)是一個真正的人臉區(qū)。
16.一種人臉探測設備,包括候選眼區(qū)探測裝置,用于探測一個圖象中的兩個候選眼區(qū);候選眼區(qū)取向計算裝置,用于計算這兩個候選眼區(qū)中的每一個的取向;連接線段取向計算裝置,用于計算連接這兩個候選眼區(qū)的中心的線段的取向;評價裝置,用于評價這兩個候選眼區(qū)的每一個的取向與所述線段的取向之間的關(guān)系;以及人眼區(qū)確定裝置,用于根據(jù)所述評價步驟的結(jié)果判定所述兩個候選眼區(qū)是否是一對真實的人眼區(qū)。
17.根據(jù)權(quán)利要求16的設備,其中所述候選眼區(qū)取向計算裝置包括用于確定包含該候選眼區(qū)之一的一個區(qū)的裝置;用于計算該區(qū)中的每一個象素的梯度的裝置;用于對該區(qū)中的象素的梯度進行一種統(tǒng)計處理的裝置;用于根據(jù)該統(tǒng)計處理的結(jié)果確定所述取向的裝置。
18.根據(jù)權(quán)利要求17的設備,其中用于進行一種統(tǒng)計處理的裝置包括用于把取向分布的范圍分成多個區(qū)間的裝置;用于為每一個區(qū)間分配一個取向的裝置;用于對于這些區(qū)間中的每一個,計算所述區(qū)中并具有其方向處于該區(qū)間之內(nèi)的梯度的象素的數(shù)目的裝置;用于確定這些區(qū)間中具有最大的所述象素數(shù)目的區(qū)間的裝置;用于根據(jù)該最大數(shù)目而計算出一個不大于所述最大象素數(shù)目的數(shù)目界限的裝置;用于選擇其所述計算的象素數(shù)目大于或等于所述數(shù)目界限的區(qū)間的裝置;用于根據(jù)所述選定的區(qū)間的取向之差確定所述候選眼區(qū)的取向的裝置。
19.根據(jù)權(quán)利要求18的設備,進一步包括用于確定所述選定的區(qū)間的數(shù)目是否大于的裝置1;用于當所述選定的區(qū)間的數(shù)目不大于1時把選定唯一的候選眼區(qū)的取向取作該候選眼區(qū)的取向的裝置;用于當該選定的區(qū)間的數(shù)目大于1時確定所述選定的區(qū)間中的兩個區(qū)間的裝置,其中這兩個區(qū)間的取向之差在所有所述選定的區(qū)間中的任意兩個區(qū)間之間的取向差中的最大者;用于把該最大的取向差與一個預定值相比較的裝置;用于當該最大差大于或等于該預定值時確定該候選眼區(qū)標為無方向的候選眼區(qū)的裝置;以及用于當該最大差不大于該預定值時把具有該最大取向差的兩個區(qū)間的取向的平均值作為該候選眼區(qū)的取向的裝置。
20.根據(jù)權(quán)利要求19的設備,進一步包括用于當所述兩個候選眼區(qū)都被確定為無方向時確定所述兩個候選人眼區(qū)是一對真實的人眼區(qū)的裝置。
21.根據(jù)權(quán)利要求19的設備,進一步包括用于當所述候選眼區(qū)之一被確定為有方向時計算這一個候選眼區(qū)的取向與所述線段的取向之間的夾角的裝置;以及用于把該夾角與一個預定的閾值相比較的裝置。
22.根據(jù)權(quán)利要求16的設備,其中各個候選眼區(qū)的中心是各個候選眼區(qū)中的象素的質(zhì)心。
23.根據(jù)權(quán)利要求16的設備,其中用于計算這兩個候選眼區(qū)的每一個的取向的裝置包括用于為這兩個候選眼區(qū)的每一個計算多個投影長度的裝置;用于確定所述多個投影長度中的最大投影長度的裝置;用于根據(jù)該最大投影長度計算一個不大于該最大投影長度的長度界限的裝置;用于從所述多個投影長度中選出大于或等于所述長度界限的所有投影長度的裝置;以及用于根據(jù)所述選定的投影長度確定所述候選眼區(qū)的所述取向的裝置。
24.根據(jù)權(quán)利要求23的設備,其中根據(jù)所述選定的投影長度來確定所述候選眼區(qū)的取向的裝置包括用于判定所述選定投影長度的數(shù)目是否大于1的裝置;用于當所述選定的投影長度的數(shù)目不大于1時把所選定的唯一的一個投影長度的取向作為所述候選眼區(qū)的取向的裝置;用于當所述選定的投影長度的數(shù)目大于1時在所述選定的投影長度中確定具有最大的取向差的兩個投影長度的裝置;用于把該最大取向差與一個預定的值相比較的裝置;用于當該最大取向差大于或等于于該預定值時把該候選眼區(qū)標為無方向的候選眼區(qū)的裝置;以及用于當該最大取向差不大于該預定值時把具有該最大差的兩個確定的投影長度的取向的平均作為所述候選眼區(qū)的取向的裝置。
25.根據(jù)權(quán)利要求24的設備,進一步包括用于當所述兩個候選眼區(qū)都被判定為是無方向的候選眼區(qū)時確定所述兩個候選眼區(qū)是一對真實的人眼區(qū)的裝置。
26.根據(jù)權(quán)利要求24的設備,進一步包括用于當所述候選眼區(qū)中的一個被確定為有方向的候選眼區(qū)時計算這一個候選眼區(qū)的取向與連接所述兩個候選眼區(qū)的中心的線段的取向之間的夾角的裝置;以及用于把該夾角與一個預定的閾值相比較的裝置。
27.根據(jù)權(quán)利要求16的設備,其中用于計算所述兩個候選眼區(qū)的每一個的取向的裝置包括用于對于所述兩個候選眼區(qū)中的每一個確定一個橢圓的裝置,該橢圓與候選眼區(qū)的所有邊界象素相擬合;用于計算該橢圓的長軸的取向的裝置;用于把該橢圓的長軸的取向作為該候選眼區(qū)的取向的裝置。
28.根據(jù)權(quán)利要求27的設備,進一步包括用于把所述候選眼區(qū)的邊界象素的數(shù)目與邊界象素的一個預定閾值相比較的裝置;以及用于當該邊界象素的數(shù)目小于所述邊界象素閾值時確定所述候選眼區(qū)的取向是不確定的候選眼區(qū)的裝置。
29.根據(jù)權(quán)利要求27的設備,進一步包括用于計算一個比值的裝置,該比值反映了所述橢圓的長軸的長度與短軸的長度之間的關(guān)系;用于把該比值與一個預定的值相比較的裝置;以及用于當所述比值小于所述預定值時確定所述候選眼區(qū)的取向是不確定的候選眼區(qū)的裝置。
30.根據(jù)權(quán)利要求16-29中的任何一項的設備,進一步包括候選人臉區(qū)確定裝置,用于根據(jù)所述候選眼區(qū)探測裝置所探測到的所述兩個候選眼區(qū),確定一個候選人臉區(qū);以及人臉區(qū)確定裝置,用于當所述兩個候選眼區(qū)被確定為是一對真實的人眼區(qū)時,確定所述候選人臉區(qū)是一個真實的人臉區(qū)。
31.一種記錄介質(zhì),它存儲有用于使一個可編程處理設備執(zhí)行如權(quán)利要求1-15中的任何一項所限定的方法的程序代碼。
32.一種計算機可執(zhí)行程序,它使得一個可編程處理設備執(zhí)行如權(quán)利要求1-15中的任何一項所限定的方法。
33.一種信號,該信號攜帶有使一個可編程處理設備執(zhí)行如權(quán)利要求1-15中的任何一項所限定的方法的指令。
全文摘要
本發(fā)明公布了一種圖象處理設備和方法,用于在一個圖象中探測人臉。在本發(fā)明的該方法和設備的解決方案中,首先探測出該圖象中的一對候選眼區(qū),隨后計算出該對候選眼區(qū)的每一個的取向,并計算出連接該對候選眼區(qū)的中心的線段的取向;計算出該對候選眼區(qū)的每一個的取向與該線段的取向之間的關(guān)系進行評價;根據(jù)評價的結(jié)果判定該對候選眼區(qū)是否是實際的人眼區(qū)。在本發(fā)明的方案中,候選眼區(qū)的取向的計算包括梯度法、幾何法和橢圓擬合法。
文檔編號G06T5/20GK1471053SQ02127050
公開日2004年1月28日 申請日期2002年7月26日 優(yōu)先權(quán)日2002年7月26日
發(fā)明者陳新武, 尹志遠, 紀新 申請人:佳能株式會社