探究影像辨識裡的臉部偵測技術(四)

本文作者:admin       點擊: 2007-06-06 00:00
前言:
上期我們看過利用膚色作為不變性研究等方法,在本期裡面,我們將繼續探討一些不變性特徵的相關技術,如能找到越多不變性的存在,或許就能幫助我們對臉部偵測做更多定性方面的貢獻。

(三)臉部特徵
臉部特徵的定位與擷取有很多人提出新的方法可供使用,例如:H. P. Graf等人發展出一個在灰階影像中定位臉部特徵及臉部區域的方法,其處理方式是先讓輸入影像經過帶通濾器(bandpass filter),然後再利用型態運算(morphological operations)來強化那些具有某些形狀的區域(例如:橢圓形狀)。

除此之外,為了強化影像中的峰值(peak values)像素,通常還會再利用長條圖法(histogram)來強化影像。不過因為在他們提議的方法裡,其並未說明型態運算子的運算方式,以及要如何把臉部特徵區域及局部臉部候選區域連起來,所以在應用上較少人採用此方法。另外,S. A. Sirohey提議了一種可從複雜的背景中分割臉部區域的分法,這種方法使用的是Canny偵測器(即是一種「edge map」方法)並搭配啟發式(heuristics)的方式來移除或群組化邊界。因此利用這種方法,可以產生一個臉部區域的外型輪廓出來。此方法在48個受測影像裡面,精確度可達80%的偵測率。

另外D. Chetverikov及A. Lerch(1993)則提出另一種簡化臉部偵測的方法,在此方法裡面,其模型乃由三個亮塊(light blobs)及兩個暗塊(dark blobs)組成。三個亮塊主要是分別用以表示眼睛、頰骨與鼻子區域。此外,該模型亦用條紋方式表示臉部輪廓、眉毛以及嘴唇部分;而兩個暗塊部分則可用來表示鼻子的兩個鼻孔。在這些區塊的空間關係則以兩個三角形架構來表示,並利用低解析度的拉普拉斯(Laplacian)影像來協助偵測這些區塊內容。其利用的方法是掃瞄該區塊內部,並偵測是否具有特殊預定義的三角形存在,如果有,那表示該區塊存有一個臉部區域。

到了1995年的時候,T. K. Leung、M. C. Burl及P. Perona等人發展出一種基於局部特徵偵測器(local feature detectors)以及隨機圖形配對(random graph matching)的機率方法,可以在混亂的背景內偵測臉部的存在。Leung等人當時的動機主要是要將臉部定位問題,視為一種「搜尋」問題。其主要的目標,就是要找到某些吻合臉部模式的臉部特徵排列。在典型的臉部特徵描述裡,其主要描述特徵有六個,分別是:兩個眼睛、一個鼻子、兩個鼻孔以及一個嘴巴(嘴唇連縫)。某些臉部特徵有左右對稱的特性,例如:左眼與右眼。但這種假設並非對所有人均管用,因為在極少數的情況下,有人沒有對稱的臉部特徵存在。但在正常一般情況,這些成對的臉部特徵,其相對距離會被計算並加以模型化成高斯分布(Gaussian distribution)。經由一個多向(multiorientation)集合的平均回應及多尺度高斯推導濾器(derivation filters)過濾大量資料內的臉部資訊,一個臉部模版就可被定義出來。

對一個給定的測試影像,每一個吻合濾器反應的像素以模版向量為背景所得的反應,就可找出臉部特徵的候選區域,前兩個最強的反應會被選為尋找其他臉部特徵的主要依據。因為臉部特徵並非以任意方式排列,其他臉部特徵大多有其預期存在的位置,因此藉由距離上的統計模型,可協助我們尋找其他臉部特徵,甚至這些模型內的共變異(covariance)評估都是可被計算的。

只有來自那些預期位置的候選特徵,才會形成臉部特徵群集(constellations)。他們將最佳臉部群集之形成,視為一種臉部特徵分布圖形的一種隨機配對問題。這些臉部特徵群集的計分,主要是依據「機率密度函數(probability density function)」所為,也就是將群集所對應可能是臉部特徵機率與非臉部區域的機率相互比較,來作為該群集是臉部區域的計分高低依據。在他們的實驗數據裡面,此種系統的偵測率可達86%以上。

同年,B. Takacs及H. Wechsler也提出了一個基於視網膜特徵(retinal features)擷取及小擺動眼球運動的移動臉部定位方法。其方法分成兩個階段,在第一階段系統會基於對接收域(receptive fields)的反應,先為影像進行粗略的掃瞄,以評估臉部所在位置。在每一個接收域裡,都有大量利用高斯濾器實作完成的神經位元存在。在第二階段裡,經由以定位的臉部區域,以更精細的解析度進一步擷取影像中的ROI(region of interest)區域。他們利用FERET影像資料庫作為測試依據,其測試結果正確率可達90%以上,只是其系統稍微複雜一點且必須先了解神經元(neurons)在第一階段裡所扮演的每一個角色及傳遞方式,因此在實作上需費點功夫。

除了使用臉部特徵的相互之間距離(mutual distance)作為臉部特徵關係的描述之外,在Leung等人的研究裡面,他們採用一種基於D. G. Kendall、K. V. Mardia等人研究所提出的形狀統計(shape statistics)方法。這種形狀特徵統計方法,是利用N個特徵點所形成的聯合機率密度函數作為是否存在臉部區域的判斷依據。換句話說,它是基於一個2N-D的的一種高斯分布,當存在一個特徵點已被定位在平面時,在假設下的第k個特徵點可以用(xk,yk)來表示,並以最大可能性(Maximum-likelihood, ML)的方法來偵測臉部位置。形狀統計方式的主要優點,在於可偵測在不同角度所拍攝之不完全臉部影像,但這種方式是否可被用於有效的多重臉部偵測則未多著墨。不過實作上的一個看法是,當系統處理維度越高或數學模式越複雜時,其要能用在real-time上的限制就會越多(即要付出更多成本)。

1996年的時候,K. C. Yow及R. Cipolla提出了一種基於特徵式(feature-based)的臉部偵測方法,其使用大量的視覺影像與材質來作訓練。其作的第一步是先利用二級變異高斯濾器,找出局部最大值所在(這些最大值反應的可能是局部臉部特徵)。找到這些點之後,第二步就是要評估其邊界,並將其群組化為一個區域。這些點的群組化其依據彼此之間的鄰近程度、方向的相似度以及光線強度…等來作為群組化的分群依據。測量邊界的特徵(例如:邊界長度、或邊界強度及其變異性),會被加以計算並存放在特徵向量(feature vectors)裡面。

有了這些特徵向量,其平均值及共變異矩陣(covariance matrix)亦同時會被計算出來。如果相對應的特徵向量其Mahalanobis距離小於臨界值,則該影像區域便會成為有效的臉部特徵候選區域。並且這些被標記的特徵,會進一步依據模型相關知識加以進一步群組化。這些臉部特徵與窮組化資料,隨後便會利用Bayeisan網路來加以評估其機率。使用這種方法的好處,在於它可以用以偵測不同的臉部方向與位置,但其缺點有兩個:首先是偵測失敗的機率比其他方法要高一點;其次,其所要求的臉部影像區域大小最好在60×60像素以上。

為解決這些問題,Yow及Cipolla等人便將此法改良,並以有效輪廓模組(active contour models)來加以強化。到了1998年,C. C. Ham及H. Y. M. Liao等人則發展出另一種基於外型技術的眼部擷取方法,他們稱其為臉部偵測裡的「類眼片段(eye-analogue segments)」技術。在他們的方法裡,眼睛與眉毛他們視為臉部裡面非常靜態且穩定的臉部特徵,因此可依據此特徵作為臉部偵測的重要依據。

類眼片段的定義
類眼片段的定義與眼睛外型描述相同,其方法大致上可分成四個不同階段。首先他們利用型態運算(morphological operations),例如:Closing方法,來將將強度值(intensity values)發生重大改變的區域像素擷取出來;其次,這些被擷取出來的像素會先經過標記過程(labeling processing),來進一步產生類眼片段;在第三階段,這些已被標記的類眼片段會搭配臉部幾何特徵辨識技術,作為搜尋潛在臉部區域的依據;最後一個階段,這些被選出的臉部候選區域,會再進一步利用1996年H. Rowley及S. Baluja等人提出的類神經網路驗證方式決定最後可能的臉部區域,這種方法經實驗證明可達90%以上的精確率。在臉部偵測與辨識領域裡面,H. Rowley等人的研究方法具有重要貢獻,在後面我們將再談到。Y.Amit、D. Geman以及B. Jedynak等人(1998)提議了另一種基於前視角度(frontal-view)的靜態影像臉部形狀的偵測方法,這種方法採用二階段的偵測。在第一階段裡,其主要是處理聚焦(focusing)問題;在第二階段,主要著重在強度分類上。在聚焦處理上,其使用強度差異(intensity difference)來作為邊界偵測器(edge detectors)偵測邊界的空間片段排列之依據。在這種邊界偵測器裡面,其存在有許多預先定義的邊界空間排列方式,這些空間排列範圍是來自訓練用的影像資料庫裡,從300個影像中所挑選出來。其挑選的基準之一,在於這些邊界片段的空間排列要能與背景具有明顯差異,除邊界片段排列方式之外其並包含光度之不變範圍以及幾何轉換的部分。在片段進行分類時,其分類樹的生長採L. Breiman及J. Friedman等人所提出的CART演算法。在這種分類演算方式裡面,影像中的ROI區域不是被分類為臉部候選區域,要不就分類為背景區域。目前這種方法,在其實驗的結果裡面每千個像素約有0.2%的像素屬false positive以及約有10%像素屬false negative。

(四)多重特徵法
目前許多使用臉部特徵分析作為偵測臉部的方法,常分成兩個執行階段。第一階段常使用臉部全域特徵(global features)作為ROI區域的篩選第一步,例如:膚色、臉部形狀、臉的大小或臉部材質…等特徵;其次,這些被選出的臉部候選區域會再套以局部細節特徵(例如:頭髮、眼睛、鼻孔、嘴巴…等),來作為驗證的依據。這兩個執行階段的運作原理,在於先找出類膚色像素(skin-like pixels),這些類膚色像素之後再利用連結元件分析(connected component analysis, CCA)或叢集演算法(clustering algorithms)來加以群組化(grouping)。如果群組化後的形狀類似橢圓,則這些群組化的區域就會成為臉部候選區域,而這也是第一階段系統所要完成的工作。一旦成為臉部候選區域後,為了提高精確度,系統必須設計一套驗證過程。

在許多實作裡面,驗證的依據往往是根據臉部幾何特徵描述作為投票的依據因此,此便是第二階段所扮演的重要角色。因此這種技術的重點兩個,首先,類膚色像素的尋找方法要如何設計?其次,臉部特徵的描述要如何定義?第一個問題解決方法有許多,除了依據膚色、材質…等資訊來找出類膚色像素所在之外,M. Yachida等人則展示了利用Fuzzy理論來尋找類膚色像素的方法。在他們的方法裡面,其使用的色彩空間為CIE XYZ,並利用兩個Fuzzy模型來描述頭髮與膚色的分佈。在進行臉部影像抽象化過程時,其使用一個正面及四個側面頭部模型為之。每個頭部模型均為2-D模式,並由方格組成。每個方格內可能包含數個像素,其像素數目的多寡乃依據規劃的方格數目多寡而定。每個方格均有兩個屬性,一個表示膚色部分(skin proportion);另一個表示頭髮部分(hair proportion),這兩個屬性可用於表示每一方格內頭髮與膚色所佔有的比例關係,並進而得知哪些區域拭淚膚色區域(skin-like region),以及哪些區域是類頭髮區域(hair-like region)。這些區域之後會被取出,與之前抽象化的頭部模型比較。

如果比較的結果是出現高度相似,則其區域會成為臉部候選區域。一旦成為臉部候選區域,其便利用水平邊界(horizontal edges)方式,來從臉部候選區域中擷取出其他臉部特徵(例如:眼睛、眉毛、鼻孔、嘴巴…等等)。相較於像素式(pixel-based methods)的方法,另一些研究者將注意焦點放在幾何結構與色彩資訊的研究上。這些非像素式的方法,首先必須先對影像內的同質區域(homogenous region)進行多尺度(multiscale)分節,一旦完成分節後,接下來便是利用高斯膚色模型,將這些具有膚色反映的區域擷取出來並群組化成一個橢圓。為確保這些橢圓區域(臉部候選區域)的正確性,多會使用其他臉部特徵(例如:眼、口)搜尋來進一步加以驗證。此方式經實驗證實,可適用在偵測影像中各種不同姿勢頭部位置的臉部影像。

這種影像內容描述的研究起源很早,早期多半為了因應太空影像需要而發展。例如:1977年時,R. Kauth及A. Pentland等人所發展的多頻譜衛星造影技術(multispectral satellite imagery, MSS imagery)便是其中的一個例子。在Kauth等人的方法裡,其利用每一像素之特徵向量(feature vectors)來行成一個群組化的連慣性連結區域,此區域即稱為一個區塊(blocks)。而每一個像素的特徵向量取得,是將像素的影像座標連鎖(concatenating)到光譜元件所取得。而這些特徵向量的基本成員常是由影像座標及正規化色度表示所組成,例如:T. Starner及N. Oliver等人使用的特徵向量表示方法便是:

這些區塊的生長方向是採「連結演算法(connectivity algorithm)」,最後那些膚色區塊如果在大小及形狀上最接近標準臉部樣本的話,該區塊就會被認為是臉部區域。

另外K. Sobottka及I. Pitas提議了使用形狀與色彩資訊做為臉部定位與臉部特徵擷取的方法,他們亦是在HSV色彩空間運作,在他們的方法裡面,其首先會先針對色彩進行分節以定位類膚色區域。至於連結元件(connected components)的偵測,乃是在粗解析度(coarse resolution)中,以區域成長(region growing)方式為之。因此,對每一個連結元件而言,其利用統計學上之幾何矩(geometric moments)定義來計算最符合橢圓者,作為選擇為臉部候選區域的依據。

一旦成為臉部候選區域後,其便在這些連結元件內利用尋找較為明顯之主要臉部特徵(例如:眼睛與嘴巴,這兩區域相較於其他臉部特徵,在顏色方面的表現顯得更灰暗,當然亦有人使用鼻孔為主要臉部特徵之一)作為驗證程序。在J. C. Terrillon、M. David以及S. Akamatsu(1998)的方法裡,其利用高斯膚色模型作為膚色像素的分類依據,為了特徵化二元影像(binary image)中的叢集形狀,他們利用n個lowest-order幾何要素(moments),經由計算傅利葉轉換及放射性梅林轉換(radial Mellin transform)來將影像中的叢集形狀加以特徵化。

在偵測臉部區域的設計方面,利用之前所擷取出來的幾何矩來訓練其類神經網路。他們的實驗結果顯示,其成功偵測率可達80%以上。事實上,許多臉部偵測的方法大多使用臉部特徵作為驗證的工具,甚至包含臉部的整體對稱性。例如:在E. Saber及A. M. Tekalp(1998)的研究裡,其便是使用臉部對稱性做為臉部定位的依據。只不過其使用的色彩空間並非大家熟知的RGB色彩空間(因RGB色彩空間對光線強度的變化非常敏感,因此在臉部偵測上面如果採用膚色模型並使用此類空間來作為偵測依據,其難度會比較高。)或是色彩空間,而是一種來自SMPTE(Society of Motion Picture and Television Engineers)線性轉換的YES色彩空間(Y仍表示亮度,而E、S則分別表示色度),他們使用YES色彩空間的主因在於減少因量度改變所連帶造成色度的改變以及色度運算效率上的考量。

在他們的方法裡面,膚色區域與非膚色區域的分類,乃以YES色彩空間的類別條件密度函數(class-conditional density function)來完成。為了產生連續區域,其後續使用GRF模型式平滑法(Gibbs random field model-based smoothing method)來做平滑方面的處理。在系統判別臉部區域的設計上面,其預先定義一些橢圓樣本,之後系統會取出該欲定義之橢圓樣本,並依據Hausdroff距離之計算,來比較膚色區域與欲定義樣本區域的相似度。最後利用數種依據臉部與眼睛位置固有對稱性的關聯所設計的成本函數(cost function),來找出眼睛的中心位置。

在Saber及Tekalp提議的方法裡面,眼睛中心的定位是重要的關鍵步驟,因為它關係到能否透過眼睛中心的適當距離計算來找出鼻子與嘴巴的中心。不過他們的方法有些缺點存在,首先是系統需要對稱性資料,因此在決定眼睛中心位置時,受測者必須具備雙眼,如果是虎克船長或獨眼巨人那一型那可能系統會出錯。其次,系統為能計算臉部對稱的關聯性,他要求受測者必須正視攝影機,不能任意擺動頭部姿勢。最後一點,是臉部所謂「適當距離」乃採用大數法則定義,在定義上有模稜兩可的空間存在,此會影響系統的精確性。不過話雖如此,它也揭示了研究臉部偵測技術文化的多樣性,目前仍有許多人以臉部對稱性為主要研究題材(例如:Q. B. Sun等人)。

四、知識法
(一)由上往下法
通常要進行臉部偵測工作,我們需要從輸入影像中將臉部特徵擷取出來,並利用所定義的特徵規則來給定臉部候選區域,並為確保從這些候選區域選出真正臉部區域,往往需要其他驗證程序(verification process),將此經由雙重確認後的結果來作為最後投票依據。因此如何「定義」臉部區域,這便有許多方法,其中一個便是憑我們己身對「臉部」的認識而下定義。因此,所謂知識式(knowledge-based)的研究方法,往往是依據研究者本身知識或目前對問題系統性的認知所為的一種研究方法,而其在臉部偵測裡面其所表示的意思,便是基於研究者本身對臉部的認識所開發的一種偵測方法。

要偵測臉部是否存在,往往需要辨識臉部特徵,而臉部特徵的定義往往是能否達到高辨識率的關鍵因素。使用知識式的辨識法有一些優點存在,其中一個優點便是簡化臉部特徵描述及其關係。這種知識式的方法固然有其應用上的好處,但他也有目前無法克服的缺點。其中有兩個最大的缺點存在,

第一、人類的知識無法完美轉譯為一套以定義好之完美規則。因為規則如果定的太細,就會使系統失去彈性,只要有一個測試條件不過,那臉部候選區域的資格就會被取消,而使系統可能無法偵測到真正臉部的存在。但如果規則定義的太簡單(太粗糙),就會變成有大量臉部候選影像區域的出現,除加重系統驗證負擔之外,也會增加系統陽性錯誤(false positive)的發生率;

第二、 知識式的方法無法偵測任意頭部位置影像中的臉部區域,因此其應用也受到許多限制。在Yang及Huang所提議的偵測臉部方法裡面,其使用的是階層式的知識方法(hierarchical knowledge-based method),其系統由三個規則層組成,可用在可變解析度的影像上面。在最高層裡,其利用視窗掃瞄的方式來將輸入影像的每個區域部分予以掃視,以得出所有可能的臉部候選區域(即「全掃法」)。在此層所得出的臉部候選區域是屬一般性且不精確的,其規則是,只要符合臉部「該有」的樣子便可成為臉部候選區域,而不管臉部各項的細節部分。一個多層解析度架構的影像可由均化(averaging)及次取樣來完成。

在這種多種解析度影像裡面,低解析度影像的臉部候選條件就與高解析度影像不同,在低解析度影像裡面,其臉部候選區域的候選方法之一,便是利用臉部中央的類同性來完成。例如:在最低解析度的影像裡,其臉部中央位置可能會具有數個像素(例如:四個)是有相同強度值的,而在此數個相同強度值的像素周圍,也可能具有其他相同強度值的像素,如圖8。


圖8:臉部同質區域的辨識,此情況在低解析度情況下越區明顯,或許這種
區別正可協助我們偵測某些重要的臉部特徵並有助於群集化。

因此臉部中間像素與其他臉部周邊像素的灰度值差異,便成為一種重要的判斷依據。為了增快搜尋速度,其臉部的候選區域決定乃在最低解析度層(Level 1)裡便決定,其次再將這些候選區域放入較高解析度層級裡處理。如果臉部候選區域是直接來自Level 2,那我們可以直接針對該影像進行長條圖均化(histogram equalization)來處理這些臉部候選區域,之後這些已處理過的長條圖均化的Level 2影像接著會被施以邊界偵測(edge detection)的處理。在Level 3裡面,臉部候選區域的判斷會再套用其他規則處理來回應這些臉部特徵的存在,例如:生物幾何特徵(眼、鼻、口…等等)。

這種系統存有明顯的優、缺點,此系統的優點是利用「集中注意處理策略(focus-of-attention schemes)」或「由粗往細策略(coarse-to-fine schemes)」,來降低整個系統所需要的運算複雜度;但是其缺點是這種系統的偵測精準度不高,在其實驗的60個測試影像中,只能偵測到50個影像有臉部存在,且在此50個偵測有臉部影像存在的測試裡面,還有28個是屬於錯誤的。

另外C. Kotropoulos及I. Pitas(1997)提出了另一種rule-based的臉部定位方法,其使用的臉部特徵定位乃沿用T. Kanade於1973年所使用的定位臉部邊界之投影方式。其所使用的原理是,利用影像之水平及垂直投影定義,來取得影像水平與垂直剖面,並觀察垂直剖面中的投影局部最小值,來定位臉部特徵所在之水平位置;而水平投影剖面的兩個局部最小值,則提供了一個影像中頭部的寬度大小。
                                                 
水平剖面定義中的兩個局部最小值部分,乃用來偵測HI內不尋常的改變現象。垂直位置上的局部最小值則表示了臉部特徵所在,例如:眼睛、鼻子、嘴巴。

Kanade當時使用的這方法具有水平定位臉部特徵的效果,但因為此方法是靠影像投影的局部最小值來作為判斷依據,因此背景與目標影像的區別要越明顯越好,故,在具有複雜背景的影像中,這種方法的偵測效果並不理想。而Kotropoulos及Pitas所提出的方法,基本上雖沿用Kanade方法,但其另外加上規則判斷法則,以作為偵測的候選區域驗證依據。在Kotropoulos及Pitas所使用的受測影像(採用歐洲ACTS的M2VTS專案之影像資料庫,參考網址:http://www.tele.ucl.ac.be/PROJECTS/M2VTS/index.html)中,其當時的偵測率可達86.5%。

以上我們所看到得是知識法裡面的由上往下的方法,除此方法外,當然也有由下往上的特徵式方法,有關該方法我們將在下期為各位介紹。

電子郵件:look@compotechasia.com

聯繫電話:886-2-27201789       分機請撥:11