基于三維的人臉定位系統(tǒng)的研究
三維人臉識別過程及系統(tǒng)功能
國外三維人臉識別的典型方法主要是利用深度圖像自身的幾何特征,利用深度圖像處理技術(shù),分析面貌曲面的曲率等幾何特征,對面貌曲面進(jìn)行凹凸區(qū)域的分割、正側(cè)面輪廓邊緣的提取。最早對三維圖像面貌識別的研究有Lapreste 提出的基于輪廓線的方法,通過對人臉面貌曲率的分析,提取輪廓線上的特征點,利用輪廓線作為特征進(jìn)行面貌的識別。Lee&Milios 從人臉面貌深度圖像中抽取凸區(qū)域,這些凸區(qū)域形成了特征集,計算出所有凸區(qū)域相關(guān)的擴展高斯圖,兩幅面貌特征的匹配就是利用這些擴展高斯圖像進(jìn)行的。當(dāng)然還有很多基于輪廓線和凸區(qū)域的改進(jìn)方法,例如凸凹點多階段融合過程方法、輪廓線的歐氏距離識別方法、輪廓線曲率比較方法等等。但這些方法還停留在理論研究的層次,沒有實質(zhì)的自動化系統(tǒng)的出現(xiàn)。國內(nèi)三維人臉識別的研究也相應(yīng)地展開,但與國外的研究相比還處于剛起步的狀態(tài)。目前,三維數(shù)據(jù)獲取已經(jīng)成為可能,并已經(jīng)成熟的在實際工作中使用(如三維激光掃描技術(shù)、CT成像技術(shù)、結(jié)構(gòu)光方法等),使得三維圖形識別技術(shù)得到了應(yīng)用的可能,可以迅速地完成人頭三維面貌數(shù)據(jù)獲取。這也為我們的研究提供了實現(xiàn)的
基礎(chǔ)。
總的來說,要實現(xiàn)一個自動的人臉識別系統(tǒng)主要要完成以下的4個功能。
① 人臉檢測(Detection)與分割(Segmentation)。從任意的場景中檢測人臉的存在并進(jìn)行定位,提取出一個人臉。
② 人臉的規(guī)范化(Normalization)。校正人臉在尺度、光照和旋轉(zhuǎn)等方面的變化。
③ 人臉表征(Face Representation)。采用某種方法表示出數(shù)據(jù)庫中的已知人臉和檢測出的人臉,通常的方法有幾何特征、代數(shù)特征、特征臉、固定特征模板等。
④ 人臉識別(Recognition)。根據(jù)人臉的表征方法,選擇適當(dāng)?shù)钠ヅ洳呗詫⒌玫降娜四樑c數(shù)據(jù)庫中的已知人臉相比較。
我們研究的基于三維模型的人臉識別方法,與以往的系統(tǒng)的最主要區(qū)別就在于:人臉庫中記錄的不是像以前一樣,記錄著每個人的各種姿勢、位置、表情的頭部照片,而是存儲的一個人臉的三維空間模型。由這個區(qū)別引申出人臉的表征和識別的方法也與二維識別方法不同。
由于人臉表征的區(qū)別,三維人臉識別系統(tǒng)也分兩類,一是純?nèi)S之間的對比,例如通過多角度拍照,系統(tǒng)自動構(gòu)建人臉的三維模型,與庫中的三維模型進(jìn)行比較。這種方法中人臉的表征是一個基于三維的特征向量。由于人臉的三維重構(gòu)目前還是一個正在研究的領(lǐng)域,其過程依然是一個病態(tài)的過程。因此我們沒有選擇這種方法進(jìn)行我們的系統(tǒng)開發(fā)。第二種系統(tǒng)是通過三維模型增強了的二維之間的對比。即通過對三維模型的變化,我們可以找到和成像環(huán)境一致的三維模型的位置,通過其平面投影得到一個二維的圖片,和原有的照片進(jìn)行二維上的比較,實現(xiàn)識別的過程。在選擇人臉表征時,使用了實時性最好的特征點表示法。使用人臉關(guān)鍵特征點所形成的幾何特征來對人進(jìn)行區(qū)別。
由這個主導(dǎo)思想,產(chǎn)生的新的人臉識別系統(tǒng)的主要功能如下。
① 人臉檢測與分割。從任意的場景中、視頻數(shù)據(jù)中檢測人臉的存在,提取出一個人臉及各個區(qū)域部分。在人臉上自動標(biāo)記出我們需要的特征點, 例如外眼點、內(nèi)眼點、眉間點、鼻下點、頜下點、嘴角點等等,如圖1。
圖1 人臉特征分布示意圖
② 人臉的規(guī)范化。計算出人臉在尺度和旋轉(zhuǎn)等方面的變化,得到攝像過程中人臉的實際位置,將庫中的人臉三維模型也變化到同樣的位置。這是幾何特征識別的一個關(guān)鍵的問題。由于人臉的幾何特征的相似性比較,受人臉拍攝角度的影響很大,當(dāng)人臉偏轉(zhuǎn)超過一定的角度的時候,許多重要的特征點在二維上不可見了,因此也無法計算出對應(yīng)的特征向量。如果不能將人臉模型和照片保持在同樣的偏轉(zhuǎn)環(huán)境下,識別的可信性就不具備。對這個問題的解決可以結(jié)合人類學(xué)、面貌測量學(xué)多年來由統(tǒng)計而來的經(jīng)驗公式來完成,如圖2。
圖2 三維人臉模型
③ 人臉表征。采用標(biāo)記出的特征點的幾何特性(例如特征點分布?xì)W氏距離、B樣條曲面等方法)表示出數(shù)據(jù)庫中的已知人臉和檢測出的人臉。對同一個照片的特征點采取多層次描述的方法,形成多個幾何特征向量,這種多層次描述的方法可以有效地降低人臉識別過程中的誤識現(xiàn)象的出現(xiàn)。同樣,識別的過程也是采取多分類器合作的模式識別方法。
④人臉識別。根據(jù)獲得的人臉照片特征點,計算出人臉的偏轉(zhuǎn)角度,同時計算出多個特征向量,從數(shù)據(jù)庫中取出已知的人臉特征點信息,構(gòu)建出三維人臉特征點拓?fù)淠P?,對此模型進(jìn)行偏轉(zhuǎn),使之與二維人臉照片的拍攝環(huán)境一致。計算出三維模型的多個特征向量,通過面貌特征的多層次描述、多分類器合作的模式識別方法,對投影結(jié)果與二維相應(yīng)照片進(jìn)行相似性度量。在進(jìn)行識別時,對每個分類器設(shè)定一個閥值,對所有的特征向量的結(jié)果也設(shè)置一個閥值,一旦所有的度量結(jié)果都達(dá)到閥值的要求,即認(rèn)定此次識別是成功的,否則繼續(xù)從數(shù)據(jù)庫中讀數(shù)據(jù),進(jìn)行識別。
技術(shù)路線與設(shè)計方案
為了實現(xiàn)上面的研究內(nèi)容,我們選擇了一個可行的解決方案。使用Microsoft Visual Studio作為系統(tǒng)的開發(fā)平臺,利用其提供的強大的圖形圖像處理功能,使用OPENGL專業(yè)三維引擎,最后配合Oracle數(shù)據(jù)庫對異構(gòu)數(shù)據(jù)的管理功能實現(xiàn)系統(tǒng)。其中,人臉三維數(shù)據(jù)的獲取采用加拿大polhemus公司生產(chǎn)的手持式三維激光掃描儀FastSCAN以及Inspeck公司基于結(jié)構(gòu)光柵拍攝的三維數(shù)據(jù)建模設(shè)備(Inspeck)。整個系統(tǒng)的用例如圖3所示,其中的關(guān)鍵技術(shù)如下所述。
圖3 系統(tǒng)用例圖
(1) 供系統(tǒng)管理人員使用的管理平臺。主要檢測進(jìn)行人臉三維數(shù)據(jù)的獲取和預(yù)處理以及三維特征點的選擇和存儲等功能。利用Visual C++和OPENGL開發(fā)的三維模型的管理系統(tǒng),通過激光掃描儀或結(jié)構(gòu)光拍攝相機獲得原始的人臉三維模型,由于得到的三維數(shù)據(jù)坐標(biāo)不統(tǒng)一,為了便于計算使用,要進(jìn)行坐標(biāo)的統(tǒng)一,通過平臺實現(xiàn)對原始模型的光滑平順,坐標(biāo)變換,根據(jù)分辨率要求,生成三維面貌表面數(shù)據(jù)。由于人臉
的三維特征點的選取工作不要求太強的實時性,故可以采取手工選取的方式,由系統(tǒng)管理員通過平臺對特征點進(jìn)行標(biāo)定。全部標(biāo)定結(jié)束后,記錄入后臺數(shù)據(jù)庫中。當(dāng)然管理平臺還具備其他的功能,例如新用戶的添加、用戶的刪除、信息修改等常用數(shù)據(jù)庫管理功能。
(2)基于Visual C++、OpenGL和DirectShow開發(fā)出人臉的自動化識別系統(tǒng)。首先通過DirectShow對視頻流進(jìn)行分析,自動檢測出人臉的存在并從圖像中將其分割出來。找到人臉后,使用VC實現(xiàn)的ASM主動形狀模型對人臉特征點進(jìn)行自動的標(biāo)定。得到特征點后,根據(jù)主要的特征點位置,計算出拍攝角度。對三維數(shù)據(jù)的進(jìn)行讀取,讀取后使用OPENGL構(gòu)建出人臉的抽象三維模型,同時按照拍攝角度的變化模型。當(dāng)三維模型的平面投影和二維照片中人臉的旋轉(zhuǎn)角度相同時,通過多特征向量生成、多分類器判別及閥值設(shè)定的方法實現(xiàn)識別。
(3)底層數(shù)據(jù)庫使用Oracle數(shù)據(jù)庫,利用它良好的異構(gòu)數(shù)據(jù)存儲性和大量數(shù)據(jù)的處理能力,實現(xiàn)系統(tǒng)需要使用到的三維空間信息和屬性信息的統(tǒng)一存儲,以及對海量數(shù)據(jù)的查詢檢索。
(4)不論是管理平臺還是自動識別系統(tǒng),對人臉數(shù)據(jù)庫的讀取都通過數(shù)據(jù)庫中間件完成,統(tǒng)一的進(jìn)行信息讀取、維護(hù)、操作。
最終形成一個基于三維數(shù)據(jù)庫中間件的三層C/S體系的應(yīng)用程序。這個設(shè)計方案可以用圖4表示。
圖4 系統(tǒng)設(shè)計方案示例圖
結(jié)語
這個系統(tǒng)與已有各種人臉識別系統(tǒng)的最大的區(qū)別就在于,數(shù)據(jù)庫中記錄的是三維人臉模型,而不是目前各種庫中存儲的人臉多姿態(tài)照片。通過三維深度信息的投影變化解決人臉識別中多姿態(tài)的問題。利用物體幾何拓?fù)涞牟蛔冃栽?,排除大部分人臉表情對識別的影響,而且由于采用的方法與照片的明暗程度無關(guān),可以解決人臉識別過程中受拍攝環(huán)境光照強度的影響,達(dá)到較理想的人臉識別效果。
參考文獻(xiàn):
1. 徐慧等,Visual C++數(shù)字圖像實用工程案例精選,人民郵電出版社,2004.3
2. 何斌等,Visual C + +數(shù)字圖像處理,人民郵電出版社,2001.4
3. 戚飛虎等譯,模式識別和圖像處理,上海交大出版社,2000.3
4. 楊靜宇,曹雨龍,計算機圖像處理及常用算法手冊,南京大學(xué)出版社,1997
5. 康學(xué)雷,邵凌,張立明,一種基于膚色和模板的人臉檢測方法,2000.7
6. 岡薩雷斯,數(shù)組圖像處理(第二版),電子工業(yè)出版社.2004.4
7. 張宏林,Visual C++數(shù)字圖像模式識別技術(shù)及工程實踐,北京:?人民郵電出版社,?2003
8. 何斌、馬天予、王運堅等,Visual C++數(shù)字圖像處理(第二版),北京:人民郵電出版社,2002
9. 阮秋琦,阮宇智譯,數(shù)字圖像處理〔第二版)..北京:電子工業(yè)出版社,2003
10. Nakamura 0, Mathur S, Minami T,Identification of human faces based on isodensity maps,Pattern Recognition, 1991, 24 (3): 263-272
11. Samaria F, Young S,HMM-based architecture for face identification,Image and Vision Computing, 1994, 12 (8)