三維人臉識別過程及系統功能
國外三維人臉識別的典型方法主要是利用深度圖像自身的幾何特征,利用深度圖像處理技術,分析面貌曲面的曲率等幾何特征,對面貌曲面進行凹凸區域的分割、正側面輪廓邊緣的提取。最早對三維圖像面貌識別的研究有Lapreste 提出的基于輪廓線的方法,通過對人臉面貌曲率的分析,提取輪廓線上的特征點,利用輪廓線作為特征進行面貌的識別。Lee&Milios 從人臉面貌深度圖像中抽取凸區域,這些凸區域形成了特征集,計算出所有凸區域相關的擴展高斯圖,兩幅面貌特征的匹配就是利用這些擴展高斯圖像進行的。當然還有很多基于輪廓線和凸區域的改進方法,例如凸凹點多階段融合過程方法、輪廓線的歐氏距離識別方法、輪廓線曲率比較方法等等。但這些方法還停留在理論研究的層次,沒有實質的自動化系統的出現。國內三維人臉識別的研究也相應地展開,但與國外的研究相比還處于剛起步的狀態。目前,三維數據獲取已經成為可能,并已經成熟的在實際工作中使用(如三維激光掃描技術、CT成像技術、結構光方法等),使得三維圖形識別技術得到了應用的可能,可以迅速地完成人頭三維面貌數據獲取。這也為我們的研究提供了實現的基礎。
總的來說,要實現一個自動的人臉識別系統主要要完成以下的4個功能。
① 人臉檢測(Detection)與分割(Segmentation)。從任意的場景中檢測人臉的存在并進行定位,提取出一個人臉。
② 人臉的規范化(Normalization)。校正人臉在尺度、光照和旋轉等方面的變化。
③ 人臉表征(Face Representation)。采用某種方法表示出數據庫中的已知人臉和檢測出的人臉,通常的方法有幾何特征、代數特征、特征臉、固定特征模板等。
④ 人臉識別(Recognition)。根據人臉的表征方法,選擇適當的匹配策略將得到的人臉與數據庫中的已知人臉相比較。
我們研究的基于三維模型的人臉識別方法,與以往的系統的最主要區別就在于:人臉庫中記錄的不是像以前一樣,記錄著每個人的各種姿勢、位置、表情的頭部照片,而是存儲的一個人臉的三維空間模型。由這個區別引申出人臉的表征和識別的方法也與二維識別方法不同。
由于人臉表征的區別,三維人臉識別系統也分兩類,一是純三維之間的對比,例如通過多角度拍照,系統自動構建人臉的三維模型,與庫中的三維模型進行比較。這種方法中人臉的表征是一個基于三維的特征向量。由于人臉的三維重構目前還是一個正在研究的領域,其過程依然是一個病態的過程。因此我們沒有選擇這種方法進行我們的系統開發。第二種系統是通過三維模型增強了的二維之間的對比。即通過對三維模型的變化,我們可以找到和成像環境一致的三維模型的位置,通過其平面投影得到一個二維的圖片,和原有的照片進行二維上的比較,實現識別的過程。在選擇人臉表征時,使用了實時性最好的特征點表示法。使用人臉關鍵特征點所形成的幾何特征來對人進行區別。
由這個主導思想,產生的新的人臉識別系統的主要功能如下。
① 人臉檢測與分割。從任意的場景中、視頻數據中檢測人臉的存在,提取出一個人臉及各個區域部分。在人臉上自動標記出我們需要的特征點, 例如外眼點、內眼點、眉間點、鼻下點、頜下點、嘴角點等等,如圖1。
圖1 人臉特征分布示意圖
② 人臉的規范化。計算出人臉在尺度和旋轉等方面的變化,得到攝像過程中人臉的實際位置,將庫中的人臉三維模型也變化到同樣的位置。這是幾何特征識別的一個關鍵的問題。由于人臉的幾何特征的相似性比較,受人臉拍攝角度的影響很大,當人臉偏轉超過一定的角度的時候,許多重要的特征點在二維上不可見了,因此也無法計算出對應的特征向量。如果不能將人臉模型和照片保持在同樣的偏轉環境下,識別的可信性就不具備。對這個問題的解決可以結合人類學、面貌測量學多年來由統計而來的經驗公式來完成,如圖2。
圖2 三維人臉模型
③ 人臉表征。采用標記出的特征點的幾何特性(例如特征點分布歐氏距離、B樣條曲面等方法)表示出數據庫中的已知人臉和檢測出的人臉。對同一個照片的特征點采取多層次描述的方法,形成多個幾何特征向量,這種多層次描述的方法可以有效地降低人臉識別過程中的誤識現象的出現。同樣,識別的過程也是采取多分類器合作的模式識別方法。
④人臉識別。根據獲得的人臉照片特征點,計算出人臉的偏轉角度,同時計算出多個特征向量,從數據庫中取出已知的人臉特征點信息,構建出三維人臉特征點拓撲模型,對此模型進行偏轉,使之與二維人臉照片的拍攝環境一致。計算出三維模型的多個特征向量,通過面貌特征的多層次描述、多分類器合作的模式識別方法,對投影結果與二維相應照片進行相似性度量。在進行識別時,對每個分類器設定一個閥值,對所有的特征向量的結果也設置一個閥值,一旦所有的度量結果都達到閥值的要求,即認定此次識別是成功的,否則繼續從數據庫中讀數據,進行識別。
技術路線與設計方案
為了實現上面的研究內容,我們選擇了一個可行的解決方案。使用Microsoft Visual Studio作為系統的開發平臺,利用其提供的強大的圖形圖像處理功能,使用OPENGL專業三維引擎,最后配合Oracle數據庫對異構數據的管理功能實現系統。其中,人臉三維數據的獲取采用加拿大polhemus公司生產的手持式三維激光掃描儀FastSCAN以及Inspeck公司基于結構光柵拍攝的三維數據建模設備(Inspeck)。整個系統的用例如圖3所示,其中的關鍵技術如下所述。
圖3 系統用例圖
(1) 供系統管理人員使用的管理平臺。主要檢測進行人臉三維數據的獲取和預處理以及三維特征點的選擇和存儲等功能。利用Visual C++和OPENGL開發的三維模型的管理系統,通過激光掃描儀或結構光拍攝相機獲得原始的人臉三維模型,由于得到的三維數據坐標不統一,為了便于計算使用,要進行坐標的統一,通過平臺實現對原始模型的光滑平順,坐標變換,根據分辨率要求,生成三維面貌表面數據。由于人臉
的三維特征點的選取工作不要求太強的實時性,故可以采取手工選取的方式,由系統管理員通過平臺對特征點進行標定。全部標定結束后,記錄入后臺數據庫中。當然管理平臺還具備其他的功能,例如新用戶的添加、用戶的刪除、信息修改等常用數據庫管理功能。
(2)基于Visual C++、OpenGL和DirectShow開發出人臉的自動化識別系統。首先通過DirectShow對視頻流進行分析,自動檢測出人臉的存在并從圖像中將其分割出來。找到人臉后,使用VC實現的ASM主動形狀模型對人臉特征點進行自動的標定。得到特征點后,根據主要的特征點位置,計算出拍攝角度。對三維數據的進行讀取,讀取后使用OPENGL構建出人臉的抽象三維模型,同時按照拍攝角度的變化模型。當三維模型的平面投影和二維照片中人臉的旋轉角度相同時,通過多特征向量生成、多分類器判別及閥值設定的方法實現識別。
(3)底層數據庫使用Oracle數據庫,利用它良好的異構數據存儲性和大量數據的處理能力,實現系統需要使用到的三維空間信息和屬性信息的統一存儲,以及對海量數據的查詢檢索。
(4)不論是管理平臺還是自動識別系統,對人臉數據庫的讀取都通過數據庫中間件完成,統一的進行信息讀取、維護、操作。
最終形成一個基于三維數據庫中間件的三層C/S體系的應用程序。這個設計方案可以用圖4表示。
圖4 系統設計方案示例圖
結語
這個系統與已有各種人臉識別系統的最大的區別就在于,數據庫中記錄的是三維人臉模型,而不是目前各種庫中存儲的人臉多姿態照片。通過三維深度信息的投影變化解決人臉識別中多姿態的問題。利用物體幾何拓撲的不變性原理,排除大部分人臉表情對識別的影響,而且由于采用的方法與照片的明暗程度無關,可以解決人臉識別過程中受拍攝環境光照強度的影響,達到較理想的人臉識別效果。
責任編輯:gt
-
數據庫
+關注
關注
7文章
3765瀏覽量
64274 -
人臉識別
+關注
關注
76文章
4005瀏覽量
81764
發布評論請先 登錄
相關推薦
評論