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

本文作者:admin       點擊: 2007-05-10 00:00
前言:
上期我們談到表象式的偵測方法,其大多使用機器學習理論為之,且此方面的研究領域非常活躍。除了上期談過的本徵臉之外,還有分佈式方法與馬可夫隱藏模型等方法,我們將針對這些議題在繼續往下來看。

(二)分佈式方法(distribution-based methods)
分佈式的臉部偵測方法,使用的核心概念在於探討影像中的物件類型(object classes)的影像模式分佈。這種影像中的物件類型模式,可從正向或負向樣本來學習。在這種方法裡,其有兩個重的組成,一個是「分佈式的臉部/非臉部構成模型」;另一個「認知元分類器(perceptron classifier)」。其處理方法是先將臉部與非臉部樣本,正規化成19×19像素的次影像,將每一個像素視為不同的個體差異為度。因此每個次影像將是一個具有19×19=361個維度的向量。隨後,這些樣式會利用k-means演算法群組化為6個臉部及6個非臉部叢集3。

每一個叢集可視為一個具有平均影像(mean image)及共變異矩陣(covariance matrix)的多維度高斯函數(Gaussian function)。 

圖4顯示了K. K. Sung及T. Poggio的距離測量,系統會計算輸入影像模式與原型叢集之間的兩種距離,第一種距離是在測試樣本與叢集質心(cluster centroid)之間的「正規化的Mahalanobis距離」;第二種距離是「歐基理德距離(Euclidean distance)」,它主要是用來計算不屬於第一種距離的樣式差異。此方法應用在分類臉部樣式的最後步驟,便是利用「多層感知元網路(multilayer perceptron network)」來自非臉部區域,以十二個距離數對來針對每一個臉部叢集或非臉部叢集進行分類。不過此方法有些弱點存在,那就是他的非臉部區域的資訊收集能力會比較差一些。主要因素在於訓練用的非臉部區域,均使用單一制式影像,而非各種不同的可能背景,因此若要提升系統在收集非臉部區域的能力,訓練影像資料庫的選擇便很重要。

在1997年B. Moghaddam及A. Pentland提出了一種在高維度空間中,基於影像強度評估同時輔以本徵空間分解的一種機率視覺學習方法(probabilistic visual learning methods)。這些主分量(principal component)保留了資料上重要的線性關連性,並將向量空間分解成兩個互斥但互補的次空間(即是principal次空間與orthogonal互補空間)。不過使用PCA方法並非全無缺點,因此方法並未預定一個適當的資料模型,所以其內所有資料次空間的點,其轉碼成本都是一樣的。另一個缺點是PCA無法消除資料特徵上的資料雜訊,一旦PCA將輸入資料的變異最大化時(雜訊也被放大),其就可能產生不想要的變異存在。於是,另一種基於統計共變異結構模型的因子分析(factor analysis, FA)方法被廣為討論,並經B. J. Frey等人的研究發現,FA方法在臉部辨識上的效能要比PCA方法好。

隨後在2000年時,M. H. Yang等人提出了一種類似PCA的混合因子分析(mixture factor analysis, MFA)的統計方法,來將高維度資料的共變異結構(covariance structure)模型化。在MFA裡其參數的評估是採用EM演算法(Expectation-Maximization algorithm),而其更詳細的論述可參閱Z. Ghahramani與G. E. Hinton(1996)所提出的技術報告。在Yang等人提出的第一種方法裡面,其使用費雪線性區別(Fisher's Linear Discriminant, FLD)將樣本由高維度的影像空間投影到低維度的特徵空間,可能是因為FLD方法要比PCA方法提供了更好的投影能力,因此這種基於線性區別分析(Linear Discriminant Analysis, LDA)的方式,目前廣被使用在臉部辨識的本徵臉方法(eigenface methods)裡。

在其他方法裡面,亦有利用Kohonen的自我組織地圖(self-organizing map, SOM)來將訓練用的臉部及非臉部樣本分解成數個子類別(subclasses)。從這些相關的樣本裡,其會計算類別內及類別間的分散程度,並利用FLD來產生一個最佳化的投影。對每個子類別而言,其利用高斯方法來將密度模型化,而參數的評估亦採用最大可能性方法。當輸入影像進入時,矩形掃瞄視窗會先掃是整個影像,在矩形視窗掃視的同時,其內的類別依存性機率亦同時會被計算出來。針對這些掃視結果,其利用最大可能性描述規則來決定是否有臉部區域被偵測到。根據實驗資料顯示,使用FLD-based的方法其臉部的偵測率可達90%以上。

(三)隱藏馬可夫模型(Hidden Markov Model)
隱藏碼可夫模型(HMM)可被視為一種參數式的隨機過程(parametric random process),此過程的參數評估是依據已定義好的規則與個別片段分別為之。而要將HMM應用在模式辨識問題上面,我們必須先定義模型其可能存在之大量隱藏狀態。一旦這些隱藏狀態定義完畢,我們便可利用樣本的一連串改變來訓練HMM學習傳統機率。此訓練的目標,在於自訓練資料中最大化觀察機率並利用Baum-Welch演算法或Viterbi分節方法來適當調整模型參數。在HMM-based的臉部偵測方法裡面,其將臉部模式視為一連串由像素組成之觀察向量(observation vectors)。

1994年的時候,F. Samaria及S. Young利用1-D及虛擬2-D HMMs來作臉部特徵擷取與臉部辨識工作。他們的HMMs會探索臉部結構與狀態移轉(state transitions)的強制性(探索由上往下或由下往上依序進行),一旦有重要的臉部區域(例如:眼睛)被發現,這些區域會接著被指定到1-D的HMM狀態裡面。對於可能是臉部區域的候選地區,會經過Baum-Welch演算法或Viterbi分節方法加以調整參數並加以分割候選投票,以判別臉部的存在與否。

(四)類神經網路
類神經網路被應用在許多模式辨別的問題上面(例如:OCR、自動機器駕駛…等等),在此,臉部偵測可被視為兩種類型的模式辨別問題,並有許多不同類神經網路架構被提出。使用類神經網路的優點之一,在於訓練系統的可能性。藉由訓練,可使系統捕捉到較為複雜背景中的臉部模型。但他的主要缺點是,如果要使系統達到我們所要的能力,那將會需要一個由很多昂貴切換元件所組成的複雜網路架構。

在早期T. Agui等人的研究裡,其使用的是一種階層式的類神經網路架構。該方法分成兩階段,第一階段由兩個平行的子網路組成,一個用以取得原始影像,另一個使用3×3 Sobel濾器取得過濾後的影像強度值。這些子網路的輸出結果與擷取的特徵值(例如:輸入模式的像素值之標準差(SD)等),會接著進入第二階段網路進行特徵比對篩選。在第二階段網路的輸出,其將指出輸入區域是否有臉部區域的存在。不過Agui的方法在應用上有一個較大的限制存在,那就是影像中的臉部區域大小需要一樣,系統才能進行較正確的判別。

最早的臉部偵測之類神經網路方法是由M. Propp及A. Samal在1992年所提出的架構,此類神經網路乃由四個層級所組成,並具有1024個輸入單元並有兩個輸出單元。除輸入、輸出單元外,尚存有兩個隱藏層。第一個隱藏層由256個單元組成,第二個隱藏層由8個單元組成。而在臉部偵測研究裡面關於使用類神經網路方法而有較重要地位者,要屬H. Rowley、S. Baluja及T. kanade所提出的多重類神經網路方法。這種多層類神經網路方法可利用臉部影像及非臉部影像,來學習臉部及非臉部模式。其提議的方法裡面,有兩個關鍵成員。一個是多層類神經網路,另一個是決策模組。前者可用來偵測各種臉部模式,後者可從這些偵測結果中,作下最後候選決策,其架構圖如圖6。

圖6:Rowley方法的系統運作概圖,樣本畫面先經過視窗掃視,對於每一個擷取視窗在進入類神經網路之前會先經過光線補償與對比強化等影像處理步驟,然後再進入類神經網路進行感知元的分類。


在Rowley等人的方法裡,其多層類神經網路可接受一個影像中20×20像素的影像區域,並對該影像區域輸出一個介於-1~1之間的評分。如果分數接近-1,則表示該區域趨向非臉部區域;如果接近1,則表示該影像區域接近臉部區域。如果輸入的影像臉部區域大於20×20像素,則該影像會被切割成20×20像素的子樣本空間(subsamples),系統在對這些子樣本空間一一進行前述評分。

在決策模組裡面,其主要是將這些多重網路的輸出部分進行最後裁判。一個簡單的裁判策略可藉由基本的邏輯運作(AND/OR)來完成,而在改善效能方面,則可善用投票方式。不過Rowley等人的方法並非毫無缺點,其中一個主要為人詬病之處,在於其只能偵測一定角度的臉部區域(通常侷限於正面臉部區域)。因此為了克服此問題,Rowley等人隨後將此方法加以延伸並提出新的改良方式,但不幸的是,其提議之新方法偵測率低,因此終究未能被廣為使用。

除上述方法外,在1997年時S. H. Lin、S. Y. Kung及L. J. Lin提出了一種基於機率性決策式的類神經網路方法(probabilistic decision-based neural network, PDBNN),這種方法與使用徑向式函數(radial basis function, RBF)方法很像,只是修改了他們的學習法則與機率解譯的部分。在他們的方法中,其為了避免在使用類神經網路訓練中需要將整個影像進行轉換,他們使用影像強度與邊界資訊來擷取影像中的可能臉部區域之特徵向量。這些被擷取出來的特徵向量會進入PDBNN網路內進行判別,並由其輸出結果來決定最後的分類。1998年R. Feraud及O. Bernier提出一種利用自動組合的(autoassociative)類神經網路系統,其網路架構可分成五個層級,可用以完成非線性PCA的計算。在這種網路架構裡面,其中一個層級會被用來偵測正面臉部區域,另一個層級則被用來偵測偏移六十度的正面臉部區域。此外,其亦利用一個途徑網路(gating network)來加權正面臉部區域以及在自動組合的網路架構中切換臉部偵測器。

(五)直性式貝氏分類器(naive Bayes classifiers)
相對於E. Osuna等人以全域表象(global appearance)模型化臉部的方法,H. Schneiderman及T. Kanade提出了一種利用局部表象(local appearance)在多解析度中評估臉部表象的機率及臉部模型位置的貝氏分類器方法。他們之所以採用局部表象而非全域表象,在於他們認為物體的一些局部模式(例如:眼睛周圍的強度模式要比臉頰周圍的強度模式要更具可鑑別性)比全域表象要更具單一性。而他們使用單純的貝氏分類器的理由有二,首先是貝氏分類器對次區域提供了更好的條件密度函數評估;其次,在捕捉局部表象與物件位置的聯合統計上,其提供了一種後驗(posterior)機率功能型態。在每一種解析度的尺度裡,一個臉部影像往往會被分解成四個矩形次區域,之後這些次區域會利用PCA投影到較低維度空間,並量化為一個有限的模式集合。至於每一個投影部分的統計,是將投影的樣本編碼(encode)成局部表象後才進行評估。如果這些區域的可能性比例大於先驗機率(prior probabilities)的比例,則系統便認為有臉部區域存在。

三、特徵不變法
(一)材質(texture)
每個人的皮膚因為後天的保養與工作環境差異,可能有不同的膚質與紋路。利用皮膚的紋路作為臉部偵測或辨識的依據方法者,便稱為材質偵測法(texture detection)。這種方法雖然行之有年且非常直覺,但要精確分別臉部與這些類臉區域(face-like)並非一件容易的事。然而關於這方面的研究並非少數,例如在1999年時M. F. Augusteijn及F. L. Skujca提議了一種基於類臉材質的臉部推論方法。在他們提議的方法裡面,影像會先被分割成許多小區域(通常是16×16像素)的次影像單位,這些次單位的材質會再利用R. M. Haralick、K. Shanmugam及I. Dinstein所提議的SGLD*Space Gray Level Dependency)計算來區分這些材質的某些統計特性。

在Augusteijn及Skujca的方法裡,其將臉部特徵分成三種型態,分別是:皮膚、頭髮及其他特徵。而對這些材質的分類,其採用串聯修正量(cascade correction)的類神經網路方式,用指導式分類法(supervised classification)來加以分類。這些被分類的材質,會再進一步利用Kohonen的自我組織特徵地圖(self-organizing features map)來加以叢集化(clustering)。對於這些被叢集化為皮膚或頭髮的區域是否為臉部區域,還需進一步經過投票程序方能確定。不過他們的方法主要缺失,在於只會得到最後的投票結果是哪一種分類獲勝,而不是告訴我們影像中是否存有臉部區域或是其位置,這使得在應用上面受到限許多限制。

利用SGLD模型來做為臉部偵測的研究者,除Augusteijn及Skujca等人之外還有Y. Dai及Y. Nakano等人。只不過在他們的臉部材質模型(face-texture model)裡面,還參考色彩(color)方面的資訊。其利用臉部材質模型設計了一套可以應用在彩色場景中的一套臉部掃瞄策略,其關鍵概念在於強化影像中有如橘子般的色彩區域,以做為臉部候選區域。其優點在於不需要倚靠其他臉部幾何特徵做為臉部候選區域的選取標準,因此在執行上具備良好效率。但此優點也成為其缺點,此方法不會對場景中非人臉但具有橘子色彩區域的物體做判別,因此在一些較複雜的彩色場景裡,其失敗率較高。

(二)膚色(skin color)
人類的膚色(skin color)在許多偵測與辨識上,提供了相當有用的資訊。如同皮膚材質一樣,同為影像處理中有關生物辨識方面(例如:臉部偵測、手的追蹤)的重要方法。雖然膚色隨者人種而異,但經由許多年來的研究發現,這些不同人種在色彩上所表現出的主要差異,並不在色度(chrominance)的不同,而在於亮度(luminance)的強弱。關於利用膚色作為生物辨識的應用領域,其主要方法可分成非參數方法(non-parametric methods)與參數方法(parametric methods)這兩種。在非參數方法應用裡面,其核心技術往往是長條圖法(histogram)。

建立膚色辨識應用的方法
目前已有少數一些色彩空間(color spaces)已被發展出來用以表示膚色的像素資訊,例如:RGB、正規化RGB、YIQ、CIE XYZ或是CIE LUV色彩空間。而建立膚色模型的方法,目前有有許多種策略可供使用。在這些建立的策略方法裡面,最簡單的一個方法模型,便是利用YCbCr色彩空間的色度,來定義一個類膚色色調像素值的範圍,事實上這種方法在D. Chai及K. N. Ngan(1998)的研究裡亦曾被使用過。

此方法的使用有三個關鍵定義,第一個是值,此值用以界定膚色範圍,不過因為膚色與Cr有較密切關係,所以在M. H. Yang及D. J. Kriegman的研究裡,其將界定膚色的範圍函數改成模式,以彰顯Cr在膚色表現裡所具有得重要地位。另外兩個定義值,分別為類膚色像素的捨取臨界值,即是與,其中L、H標記分別表示最低臨界值與最高臨界值。任何類膚色像素只要落入此範圍,我們便認定該影像中的區域為膚色區域。因此,影像中的膚色能否並成功辨識,必須看我們對這些類膚色像素的捨取標準高低而定,標準太高不好,太低則無助於偵測。

不可諱言的,如果膚色模型可在各種照明條件下正確運作,那膚色模型所能提供給我們的色彩資訊,將會有助於我們更有效率去辨識背景中的臉部區域及臉部特徵。不幸的是,事實上並沒有。目前的各種膚色模型,在各種不同照明條件下並不是那樣有效率。換句話說,目前有許多膚色模型一旦遭逢背景或是前景照明條件改變時,其所提供的膚色資訊就會失去穩定性。為改變膚色模型的缺點,有學者乃致力於色彩不變性的研究上面。所幸色彩不變性(color constancy)的問題,已經可藉由公式化加以定位完成,並成功用在一些不同照明的應用上面。例如:1998年S. McKenna、Y. Raja以及S. Gong所提出的適應性色彩混合模型(adaptive color mixture model)裡面,其使用的理論便是色彩不變性而非膚色模型,他們的系統可用來追蹤各種不同光照條件下的臉部區域。

而其用以評估物體色彩分佈的方法,是基於一種機率推移模型(stochastic model),使系統在觀測角度或光照條件變動時,可以適應變動後的條件改變。其實驗結果也顯示了,該方法可以在不同光照條件下成功追蹤到臉部區域。不過既然該系統是使用機率推移概念所設計,因此狀態的變更對系統有很重要的地位。如果是屬於非狀態變更的情況下(例如:單一影像中的臉部偵測),那該系統就無法適用,此為其缺點之一。根據許多研究顯示,單憑膚色模型並不足以提供我們偵測或追蹤臉部的依據。因此,即使使用膚色模型來做為臉部區域偵測依據,往往還需要再搭配其他輔助方法(例如:外型/幾何分析、臉部特徵分析、移動資訊…等等),以提高臉部候選區域的精確度。關於膚色方面的研究資料有很多,但多數都有光照條件的限制。

1994年的時候,J. L. Crowley及J. M. Bedrune曾利用正規化RGB色彩空間,將(r,g)H進行長條圖化(histogram)後的結果(即是),來取得那些可能含有特殊RGB膚色的像素。也就是說,如果令表示從長條圖化樣本中所選擇之經驗性臨界值(empirically threshold)。(r,g)經長條圖化後的結果,如果,則該像素就會被歸納為膚色像素。到了1996年,D. Saxe及R. Foulds提出另一種在HSV色彩空間內應用長條圖邏輯乘法(intersection)的疊代膚色辨識法。其起始的膚色像素補片(patch)稱為「控制種子(control seed)」。

此控制種子由使用者自行選擇,並用在起始化疊代演算法(iterative algorithm),後來這種方法繼續被遺傳演算法(genetic algorithms, GAs)所推廣,並採用演化世代決策以及利用環境變異、元素互換(crossover)…等方式尋找最佳解法的出現。為了能偵測膚色區域,其採用的比較方法是1991的時候由M. J. Swain及D. H. Ballard所提議的色彩索引方法(color indexing),這種方法也是一種長條圖邏輯乘法的應用,可用來比較後來的影像與目前影像之長條圖間的變化。

如果評分分數或比較數目高於臨界值,則會被視為是膚色區域像素。此方法有兩個比較大的問題,第一個是它需要標準膚色模版來作為比較依據。如果沒有所謂的標準膚色模版存在,那要判別背景中的的膚色區域就不是那樣容易。因此,一個直覺上的困擾便是「何謂標準膚色模版」?此問題固然無解,不過常見的定義方式乃是在某一色彩空間裡,預先定義多組可能是膚色預測值的範圍。然後再利用這些影像中的像素空間分佈特性,來判別背景中是否可能存在膚色候選區域。利用這種方式,暫時可以解決掉所謂標準膚色的問題(即是利用多組膚色定義取代),此方法R. Kjeldsen及J. Kender(1996)便曾在HSV色彩空間中使用過;第二個問題在於這些被分離出來的像素,其對於所謂的空間特行評估方式為何也未能詳盡介紹,是以為憾。另一種使用參數方法的膚色應用,其主要包含:高斯密度函數(Gaussian density functions, GDF)、混合式高斯法(mixture of Gaussians),這些參數方法常被用在建立膚色模型上。

在這些高斯法的參數應用上面,這些參數可分成單峰(unimodal)高斯分佈參數與多峰(multimodal)高斯分佈參數。在單峰高斯分佈的參數方法裡,其常用Maximum-likelihood(ML)方法來加以評估其參數。不過因為一般人在不同的背景中,其膚色長條圖往往不會形成單峰的高斯分佈,而是一種多峰高斯分佈。因此有人認為混合式高斯法可能會更適合用於背景中的膚色偵測。在混合式高斯法裡,其合適參數的評估並非使用ML方法,而使採用EM演算法。與前面非參數方法以長條圖法為何新技術不同之處,在於參數式的方法其膚色的判別是採混合式高斯法為主。這兩種核心技術的成本不一,前者在精確度與運算成本上略比後者稍居上風,且前者的運算概念也比後者前顯易懂。因此在許多實作上,多以前者為主要發展基石。

另外一種常被使用的特徵不變法便是臉部特徵技術,唯好的臉部特徵模型建立不易,切通常需要再經過型態運算子做一些影像處理工作,關於這些方法我們在下期再為各位說明。

電子郵件:look@compotechasia.com

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