上期我們談到在單一影像中不同類別之臉部偵測方法,這些方法可再細分成「觀視法(view-based approaches)」、「統計法(statistic)」與「學習法(learning-based approaches)」等三大類,以下我們就要針對這些方法,做一些簡要說明。
一、模版配對(template matching)
模板配對方法,顧名思義便是需要一個標準模板的存在,以利系統比對之用。因此在模版配對的方法裡,首先需要先建立一個標準的臉部樣本。此標準臉部樣本,往往是以預先定義或參數化的函數來描述。而在輸入影像與標準模版之間的比對方式,大多採用臉部輪廓、眼、鼻孔(鼻)或嘴唇等部位分別給分的方式為之,這些給分的加總便稱為「關聯值(correction values)」。
對一個給定的輸入影像,系統是否會判別其中存有臉部區域的關鍵,決定於我們對這些關聯值門檻高低的限制。利用門檻值的優點有兩個,第一、系統靈敏度可依據實際需要作適當調整;第二、實作上比較簡單。但這種方式亦有缺點,其種兩個最為人所詬病者是「應用彈性受限」以及「好的臉部樣本定義困難」。前者主要導因於輸入影像必須要能與標準模版比對,因此對輸入影像之解析度、影像大小、人員姿勢以及每個人臉部差異都有一定的嚴格限制。如使用非定式的輸入影像,則會使系統變得沒有效率;而後者的問題在於無法使用一個完美的參數定義來描述一個完美得標準臉部,且事實上,完美的標準臉部模版不一定適用於實際狀況。
正如目前大家均認同沒有一種色彩,可以適用於任何色彩資訊的表示一樣。為了解決上述兩個主要缺點,一些改良方案陸續被提出討論,其中包含多解析度概念、多尺度影像的使用、影像可變形的設計以及利用次模版(subtemplates)來捕捉例外的方法…等等均是可行之道。
(一)預定義模版(predefined templates)
預先定義一個模板,之後再以其為比對依據作為偵測臉部的方法,這種利用模版當作臉部定位依據的研究非常普遍,A. Samal及P. A. Iyengar(1995)便曾以臉部在背景中的輪廓來作為臉部定位模版。其用來自臉部樣本中取得臉部輪廓(通常是位元陣列(an array of bits))的集合方法是利用PCA轉換為之,並且這些本徵輪廓(eigen-silhouettes)會被用一般化的霍夫轉換(Hough transform)來做為臉部定位之用。同年Y. Sumi及Y. Ohta亦提出了多臉部元件的偵測方式,在他們的方法裡,其定義了許多可能出現的臉部特徵假設。對一個現存可能會是臉部區域的假設集合,其會經由Dempster-Shafer理論加以定義成假設集合中的臉部元件。給定一個輸入影像,特徵偵測器會計算目前已存在的臉部特徵之信賴因子(confidence factors),例如:存在其他臉部特徵或不存在其他臉部特徵。這些信賴因子的測量結果(信賴與不信賴部分),會被綜合起來考量,以對該區域投下信賴或不信賴投票。
事實上,關於臉部偵測的研究起源甚早,在1969年時T.Sakai與M. Nagao等人便嘗試從圖片中去偵測人臉的存在。當時他們所使用的方法,是利用數個預先建立的臉部特徵子樣本(子樣本包含:臉的輪廓、眼、鼻、口…等特徵樣本),來使系統比對影像(實際上是比對影像線段)以尋找可能的臉部區域。當時每個子樣本的定義都是以線段為之,而擷取輸入影像的線段的方法乃依據最大梯度改變(greatest gradient change, GGC)規則。
為了偵測影像中是否存有臉部區域,電腦首先會先計算這些子影像與輪廓之間的關聯性係數,一旦符合臉部輪廓的存在,系統便會接著偵測這些候選區域上是否存在其他子樣本的受測物以進一步驗證候選區域的正確性。在他們提議的系統裡面,其運作可分成數個不同階段。簡要的說,便是先偵測是否有ROI區域存在,如果有,系統才會接著對這些ROI區域進行其他臉部細部特徵的偵測。很顯然的,這種運作方式對後人的研究起了很大的影像(因為很多系統運作均採用兩階段或三階段運作),例如:1987年I. Craw、H. Ellis及J. Lishman所提出的形狀模版(shape templates)方式的前視(frontal-view)臉部定位技術,或之後1989年V. Govindaraju等人的線段對稱或邊界特徵的研究…等等均是此方面例子。
在Craw等人的方法裡面,其先使用Sobel濾器(Sobel filter)來擷取影像的邊界並將之群組化起來,隨後並搜尋其中是否存在樣本所定義的一些臉部特徵。而定位方式是有先後順序的,一旦頭部外型(head contour)被定位後,相同的處理方式會繼續定位其他臉部特徵的所在,例如:眼、眉毛、嘴唇…等,這些工作可由模式特徵偵測器(template-based feature detectors)來完成,此控制器具有一組控制策略(control strategy)並可存取樣本臉部特徵以方便影像線段的比對。
基於不同的特徵基礎具有不同變異性,其使用的偵測方法亦有所差異。即使是相同特徵,也可能有許多不同的擷取方式。例如:邊界的擷取,Craw等人是使用Sobel濾器來完成工作;但Govindaraju則是使用Marr-Hildreth邊界運算子(edge oprators)來取得輸入影像之邊界地圖(edge map)。A. Tsukamoto等人提出了臉部模版的定性模型(qualitative model),簡稱「臉部模式量化模型(qualitative model of face pattern, QMF)」。在他們的提議裡,每一個樣本影像會被切割為數個區域,系統並會對這些區塊進行量化特徵的評估。為使臉部模型得以參數化,其預定了一些光照與邊界的特徵。之後每一個區塊模型會經由計算其內的特徵成分(臉部特徵)來做為未來評估是否為臉部區塊的依據,如果每一個特徵的成分總和高於臨界值,則該區塊就會被認為是臉部區塊。
另外,P. Sinha利用一個小的空間影像不變性集合,來描述臉部特徵模版的空間問題。其在不變性的觀察上面,主要關鍵在於不同光照的改變,其臉部各區域的不同亮度部分,以「相對」的計測方式來偵測這些部分的相對改變。利用偵測這些少數區域亮度的改變或維持比例,以其改變的方向性(例如:本區比隔壁區亮或暗)作為提供一個強固的不變性區域。這些被觀察到的亮度調整會被編碼成一個比例模版(ratio templates),這些比例模版便被視為代表一個粗糙臉部的空間模版。在這些模版中,其亦可能存在其他次區域(subregion),這些次區域往往反映出臉部的其他重要關鍵特徵(如:眼睛)。對一個臉部區間的亮度限制要求,可經由適當的(亮、暗)配對來加以捕捉。如果所有的配對都滿足我們設定的限制要求,則系統便判定該影像中存有臉部存在。事實上,Sinha的方法已被應用在主動式機器視覺上。
圖2、由16區塊組成的Sinha強化版本,其共有23條強化關係被定義。這些強化關係可再分成基本關係(essential relations)(實線部分)與確認關係(confirming relations)(虛線部分)。
圖2是M. H. Yang等人揭示的Sinha強化版本圖示,其共有23條強化關係被定義。此23條強化關係可分成兩大類,一個是基本關係(essential relations),一個是確認關係(confirming relations)。從圖中我們可以看出基本關係有11條(實線箭頭)而確認關係有12條(虛線箭頭),圖中的鄰近區塊具有鄰近關係存在,但其增強的關係並不限於鄰近區塊。每一種關係若要成為臉部模版候選區域,其必須要滿足我們所設定的比例門檻。而一旦有足夠多的關係可以滿足我們所設定的比例門檻時,則便判定影像中存有臉部區域存在。
(二)變形模版(deformable templates)
在1992年的時候,A. Yuille、P. Halliman及D. Cohen使用了變形模版觀念,來將臉部特徵模型化成先驗彈性模型(elastic model)。這種方式的臉部特徵描述,是採用參數化模版的方法。為使輸入影像中的邊界、突起或凹陷之處,可以連結到模版內之對應參數,通常對會定義一個能量函數(energy function)來做為它們之間的對應橋樑。一個最佳的臉部彈性模型,意味著它將是具有最小能量函數的參數表示法,這觀念與遺傳演算法(GAs)裡面,尋找最低能量構形(motif)的概念很相近,這種方法在非剛體追蹤上提供了不錯的效果,但因為它必須先定義我們感興趣的起始鄰近物件,此這將是一個比較困難的地方。後來Y. H. Kwon及N. da Vitaria Lobo (1994)描述了一種基於蛇式(snakes)及模版(templates)的偵測方法。蛇式模型方法常被用在影像分節與影像瞭解領域,其最早由凱氏等人(Kass et al., 1988)提出,因此傳統的蛇式模型亦稱為「凱氏模型(Kass model)」,為一種主動式的輪廓模型(active contour model, ACM)。
在Kwon等人的方法首先是先利用模糊濾器(blurring filters)來進行迴旋處理,之後再利用型態運算子來強化影像邊界。在曲段(curve segments)的尋找方面,其利用一種修改過的n-pixel snake(其中n很小)以搜尋能量最小的曲線區段來完成。線段的能量評估依據,往往依據該線段在影像中的位置及其形狀來決定。其並利用橢圓逼近及剩餘蛇段(snakelets)之霍夫轉換來尋找臉部形狀或類橢圓區域,在找到橢圓區域後,Kwon等人以四個參數來表示該區域集合,以做為臉部候選區域的依據。
這些候選區域會在利用之前Yuille等人提議的方法來進一步驗證其臉部細部特徵,如果有發現大量臉部特徵,並且其屬性均滿足模版比例測試,則系統便認為影像中存有臉部區域。除了Kwon及da Vitaria Lobo等人使用蛇式方法外,K. Lam及H. Yan等人亦曾用snake來定位頭部邊界。1995年時,A. Lanitis等人曾提出一種利用形狀(shape)與光強度(intensity)資訊來描述臉部表現的方法,在他們的方法裡面,首先必須取得訓練用的影像外型集合(例如:眼睛邊界),及表現樣本點(sample points)的形狀向量,而這些形狀向量的特徵化是使用點分佈模型(point distribution model, PDM)來加以特徵化。形狀中其強度正規化的呈現方式,與M. Kirby使用的相似。藉由使用主動形狀模型(active shape model, ASM)搜尋,來評估臉部位置與其形狀參數。一個臉部形狀的PDM可被使用於新影像中,用以偵測臉部之存在。這些臉部補片(face patch)之後會被變形為一種平均形狀(average shape),並將其強度參數擷取出來。利用形狀與強度所形成的配對,可有助於系統判別臉部區域或是非臉部區域。
二、表象法(appearance-based methods)
在前面談過的模版配對的方法裡,模版的定義常需藉由專家的輔助。但是在表象式的方法裡,臉部模板的產生是經由系統自影像樣本中學習。因此多數的表象式方法採用的核心技術,往往是「機器學習(machine learning)」或是其他統計分析技巧。這些學習的特徵一旦被認定是屬於「分佈函數(distribution models)」或屬於一種「辨別函數(discriminate function)」可描述者,則該特徵通常會被用於臉部偵測。
在統計方式的表象式方法裡,有兩個問題需被注意。一個是降低運算複雜度的問題;另一個是偵測效率的問題。而改善以上兩個問題的關鍵,在於我們能否降低系統所需要處理的資訊維度。正如前面談到的,表象式方法與統計概念常常是息息相關的,因此此方法所運用的觀念也多侷限在統計的機率領域來思考。換句話說,其將一個輸入影像或特徵向量,視為一種隨機變數x。此隨機變數x會經由古典條件密度函數「P(x|face)」及「P(x|nonface)」,來特徵化成為臉部或是非臉部的機率表示方式。
這些統計概念,例如:在貝氏分類法(Bayesian classifications)或最大可能性(Maximum likelihood)可被用來區分這些影像中之候選區域的臉部以及非臉部區域。只不過很遺憾的是要單純直接實作一個貝氏分類器是不容易的,主因有兩個。首先,因為變數x具有資料高維特性(high dimensionality),因此臉部機率與非臉部的機率(在此以「P(x|face)」及「P(x|nonface)」表示)的結果將會是多型的(multimodal);其次,要直接將「P(x|face)」及「P(x|nonface)」參數化的方式,目前還未被清楚瞭解。基於以上理由,目前許多表象式的方法使用的是一種「經驗式(empirically)」的相關參數化方法,並以最逼近「P(x|face)」或「P(x|nonface)」的為最佳參數選擇。除了前面談的統計方式表象式方法裡,另一種表象式方法是基於辨別函數(例如:臨界函數),用以臉部與非臉部區域之間的分界。
傳統做法是將一個影像的樣版(patterns)投影到低維度空間,然後再利用距離或多層類神經網路形成非線性決策面(nonlinear decision surface),來形成有助於分類的辨別函數。除將影像樣本投影到低維度空間的作法外,另外E. Osuna等人則利用支援向量機器(support vector machines, SVMs)等方法,來將影像中的樣版投影到較高維度空間,並在投影的臉部與非臉部樣版之間形成一個決策表面,SVM的方法目前可視為類神經網路分類器的一個新領域。在多數的分類器訓練過程中,其多採最小訓練錯誤的方式(例如:以經驗風險為之)。因此這些訓練方法一般也被稱為「結構性風險最小化(structural risk minimization)」訓練法,其目的在於使訓練的系統將「一般性錯誤」發生率降到最低。SVM分類器通常是一種線性分類器,其相關細節可參考Osuna等人(1997)關於SVM之研究,在此我們就不探討下去,以下我們將扼要來看一些常見的表象法之運作原理。
常見的表象法運作原理
(一)本徵臉(eigenface)
利用類神經網路來發展本徵向量(eigen-vector)來做為臉部影像的偵測系統,是最近這幾年很常見的一種方法,例如T. Kohonen便曾利用類神經網路來發展本徵向量,並利用其所形成的辨識空間(即是所謂「本徵臉(eigenface)」空間)來作為影像中臉部的辨識方法。另外一些研究學者,像M. Turk及A. Pentland則利用PCA轉換的方法,來做為臉部辨識與偵測的依據。
在臉部的相關研究上,PCA方法常被使用在次空間中用以定義最佳的臉部樣式表現方式。其利用一些訓練用的臉部影像集合來產生本徵臉,並將臉部空間加以延伸使這些影像中的臉部區域會被投影到影像的次空間(subspace)並加以叢集化。 同樣的非臉部區域的訓練影像,亦會使用相同方法投影到相同的空間並加入叢集化。之後這兩個投影的次空間可以經由比較的方式,得出臉部區域與非臉部區域在次空間投影上的分佈情形。
為了偵測場景中的臉部區域存在,其會計算所有影像位置中的區域與臉部空間距離,這些空間距離會被當作驗證臉部候選區域的方式之一。從這些臉部空間所測得的相關距離便會形成「臉部地圖(face map)」,如果在臉部地圖中存有局最小化的區域,則系統便認為有臉部區域的存在。在目前許多關於臉部偵測、辨識及特徵擷取的類神經網路應用裡,本徵向量的分解與叢集化概念是很常被使用的一種工具。表象式的偵測方法大多使用機器學習理論為之,目前此方面的研究領域是活躍的,除了本徵臉之外,還有分佈式方法與馬可夫隱藏模型等方法,然這些議題我們留待下期再續說明。