通用的開放式人臉識別系統的製作方法
2023-04-24 14:13:31 1
專利名稱:通用的開放式人臉識別系統的製作方法
技術領域:
本發明涉及一種通用的開放式人臉識別系統,引入資料庫的支持,以通用性,開放
性和分布式為設計目標,通過各個功能模塊獨立或協同工作完成各種人臉識別任務,為實 用人臉識別系統的設計提供參考原型。主要應用於人臉識別系統設計,人臉識別算法研究 領域。 人臉識別研究經過40年左右的發展,在人臉檢測與人臉跟蹤,人臉特徵點的檢測
與標定,人臉特徵描述與特徵提取,人臉特徵分類等各個領域,研究人員都展開了廣泛而深
入的研究,各種理論,各種算法層出不窮,同時實用系統的開發技術上也達到了一定的成熟
度,因此從二十世紀九十年代後期開始,陸續出現了一些人臉識別商業系統。對於一個成熟
的人臉識別商業系統而言,不但需要良好硬體平臺的支持,軟體系統和核心算法更為重要。
同時自動人臉識別是一個複雜的過程,從視頻流的採集直到最終得到的識別結果,中間需
經歷許多步驟的處理,因此各個步驟間數據的表示,運算及傳遞顯得尤為關鍵。 在推出商用系統之前,人臉識別系統需要進行各種深入的測試,為了保證核心識
別算法的有效性,人臉識別算法的研究者通過測試和比較來評估算法顯得尤為重要,特別
是在考慮到環境光照、人臉姿態、人臉配飾、人臉表情等因素變化的情況下,快速高效的評
估人臉識別算法在靜態下或實時應用下效果是非常困難的。 經對現有技術文獻的檢索發現,對於人臉識別算法的測試,目前大多數研究者都 是通過自己搭建測試平臺來實現的。現存的通用開放式人臉識別算法測試系統很少。
美 國Colorado State University曾 開發 出Face Identification EvaluationSystem,該系統提供了四種基本人臉識別算法(Eigenfaces, Combination PCA
andU)A, Bayesian Intr即ersonal/Extr即ersoanl Image Difference Classier, Elastic
Bunch Graph Matching),並可以得至IJ標準人臉庫FERET (Face RecognitionTechnology)在 上述四種算法上的測試結果,但該系統採用文本方式保存實驗數據,讀寫效率比較低,而且 該系統擴展性很差,用戶很難將自己的人臉識別算法嵌入進行測試。由美國NIST (National
Institute of Standards and Technology)主持開發的FRGC (Face Recognition Grand
Challenge)是學術界普遍使用 一套人臉識別算法評估系統(Overview of the Face
Recognition Grand Challenge, IEEEConference on Computer Vision and Pattern
Recognition 2005),該系統主要針對高分辨人臉圖像、三維人臉和人臉圖像預處理下人 臉識別算法的測試,用戶可以方便快速的把自己的人臉識別算法嵌入評估系統進行測試, 實驗數據以XML文件格式存儲,加快了讀寫效率,但該系統只支持FRGC人臉庫,不支持其 他標準人臉資料庫,而且上述系統只能對image-based人臉識別算法進行測試,無法進行 video-based人臉識別算法的測試。
背景技術:
發明內容
本發明的目的在於針對現有技術的不足,提出一種通用的開放式人臉識別系統, 儘可能的兼容各種人臉識別算法,能夠提供同時滿足前期測試和實際應用的人臉識別平 臺,從而給實用人臉識別系統的設計提供參考原型。 為實現上述目的,本發明充分利用資料庫在管理海量數據上的優勢,通過引入數 據庫支持,將人臉識別算法中相關數據抽象為資料庫數據,採用模塊化和層次化的設計,以 資料庫為橋梁,實現人臉樣本的採集,人臉識別數據的管理,人臉分類器的訓練,標準人臉 庫的導入,靜態圖片人臉識別測試,動態實時人臉識別測試,生成測試報告等一系列功能。 各個模塊既可以分布的獨立工作實現相應功能,又可以共同工作完成測試和實時識別等任 務。在開放的通用的框架體系下完成不同人臉識別算法在不同資料庫、不同情況下的人臉 識別任務,並可為其他人臉識別實用系統的設計提供參考模型。 本發明的通用的開放式人臉識別系統包括資料庫、視頻採集模塊、人臉樣本採集 模塊、標準人臉庫數據導入模塊、人臉分類器訓練模塊、動態實時人臉識別測試模塊、靜態 圖片人臉識別模塊、資料庫管理模塊和測試報告生成模塊。 所述視頻採集模塊與人臉樣本採集模塊和動態實時人臉識別模塊相連,分別將視 頻流輸入人臉樣本採集模塊和動態實時人臉識別模塊; 所述人臉樣本採集模塊與資料庫相連,將視頻流中採集的數據進行人臉檢測和人 臉圖像標準化,並將標準化後的樣本信息輸入資料庫; 所述標準人臉庫數據導入模塊與資料庫相連,將從標準人臉庫中讀取的人臉樣本 信息存入資料庫; 所述人臉分類器訓練模塊與資料庫相連,從資料庫中讀取人臉樣本採集模塊或者 標準人臉庫數據導入模塊輸入的樣本信息,進行訓練,並將訓練好提取出來的分類特徵輸 入資料庫; 所述動態實時人臉識別模塊與資料庫相連,讀取視頻流的動態實時人臉圖片特徵 信息,再與資料庫中訓練好的分類特徵進行匹配和識別,將識別結果存入資料庫;
所述靜態圖片人臉識別模塊與資料庫相連,將讀取的靜態人臉圖片與資料庫中訓 練好的分類特徵進行匹配和識別,將識別結果存入資料庫; 所述資料庫管理模塊與資料庫相連,對資料庫中存有的信息進行整理修改,再儲 存回資料庫中; 所述測試報告生成模塊與資料庫相連,從資料庫中讀取與識別結果相關的信息, 生成測試報告輸出。 本發明的通用的開放式人臉識別系統具有通用性,開放性,分布式的特點,通過數 據庫的支持,各個模塊獨立或協同的工作,完成各種人臉識別任務,從而為實時人臉識別系 統提供模型參照。 所述的通用性包括三層含義 —、儘可能的兼容了現有較流行的人臉識別算法,使之不需改造或只經過功能封 裝就可嵌入本發明的系統結構中,即把不同人臉識別算法的共同屬性抽象出來,通過統一 的模塊或接口來實現; 二、利用本發明系統提供的平臺,能夠滿足人臉識別算法的測試與實際應用的雙重需要,即若某種人臉識別算法在測試階段時可以達到很好的效果,則不需要改動或經過 很小的改動,便可以直接用於實際應用,這樣可以縮短測試到實際應用的開發周期;
三、同時適用於基於圖像的人臉識別方法(如照片相似度的比對等)和基於視頻 的實時人臉識別方法(如實時的視頻監控等),即提供不同的輸入模式(靜態圖片和實時的 視頻流)。 所述的開放式含義有二 —、開放性的模型,系統對人臉識別各個必要過程的各要素進行抽象;按照各個模 塊的功能定義其抽象原語,而不規定各模塊的實現細節; 二、開放的系統框架實現,在系統框架的實現過程中,保證了封裝體系中各原語的 對象具有開放的設計;合理定義了各對象的接口 ,使之能夠進行接口擴充。
所述的分布式包括兩層含義 —、系統的各功能模塊可以獨立分布於同一硬體平臺上(例如同一臺PC機上或服 務器上),完成各自相對獨立的功能,並可以通過協同工作,完成整個人臉識別任務;
二、系統的各功能模塊可以獨立分布於不同的硬體平臺上(如LAN中不同PC機或 嵌入式平臺,或Internet上不同的主機與終端等),以滿足不同的應用需求。
圖1為本發明系統結構框架圖。
圖2為本發明系統框架的識別流程圖。
具體實施例方式
以下結合附圖和具體的實施例對本發明的技術方案作進一步詳細描述。 本發明開放式人臉識別系統的整體結構框架見圖1。為了體現通用性,開放性和分
布式的設計目標,系統採用分布式的模塊化設計,各個模塊以資料庫為橋梁,通過讀寫數據
庫,實現數據交互,共同完成人臉識別任務。 如圖1所示,本發明的通用的開放式人臉識別系統包括資料庫、視頻採集模塊、人 臉樣本採集模塊、資料庫管理模塊、人臉分類器訓練模塊、標準人臉庫數據導入模塊、靜態 圖片人臉識別模塊、動態實時人臉識別測試模塊和測試報告生成模塊。視頻採集模塊與人 臉樣本採集模塊和動態實時人臉識別模塊相連,分別將視頻流輸入人臉樣本採集模塊和動 態實時人臉識別模塊;人臉樣本採集模塊與資料庫相連,將視頻流中採集的數據輸入數據 庫;人臉分類器訓練模塊與資料庫相連,從資料庫中讀取人臉信息,並將訓練好的分類器輸 入資料庫;動態實時人臉識別模塊和靜態圖片人臉識別模塊與資料庫相連,從資料庫中讀 取特徵信息進行識別;標準人臉庫數據導入模塊與標準人臉庫和資料庫相連,從標準人臉 庫中讀取人臉,再將人臉信息存入資料庫;資料庫管理模塊與資料庫相連,讀取資料庫中的 信息進行整理修改工作,再儲存回資料庫中;測試報告生成模塊與資料庫相連,從資料庫中 讀取識別情況的相應信息整理生成測試報告輸出。
當系統進行人臉樣本採集時,視頻採集模塊將視頻流傳入人臉樣本採集模塊,該
模塊進行人臉檢測和人臉圖像標準化過程,並將標準化後的樣本信息輸入資料庫; 當系統進行標準人臉庫導入時,標準人臉庫導入模塊設置部分參數後從標準人臉庫中獲取人臉樣本,並存入資料庫; 當系統進行人臉分類器訓練時,人臉分類器訓練模塊首先設置部分與訓練相關的 參數,然後從資料庫中讀取人臉樣本採集模塊或者標準人臉庫導入模塊輸入的人臉樣本信 息,進行訓練,再將訓練好提取出來的分類特徵存入資料庫; 當系統進行人臉識別時,有兩種人臉圖片獲取方法,一種是從視頻流採集視頻信
息傳輸給動態實時人臉識別模塊,在該模塊中截取人臉圖片,一種是從靜態圖片人臉識別
模塊直接讀取靜態人臉圖片。獲得人臉圖片之後,這兩個識別模塊將圖片中的人臉特徵信
息與資料庫中分類器訓練出的分類特徵進行匹配和識別,將識別結果存入資料庫。 資料庫管理模塊對資料庫中所有的數據進行整理維護,最後的識別結果通過測試
報告生成模塊輸出。 整個系統的設計實施採用模塊化,以體現如下優勢一、各模塊功能相對獨立,可 實現分布式的設計思想;二、各模塊可獨立於整個系統框架之外,實現相應的功能,當單獨 的模塊發生改變或功能升級時,不會對其他模塊及整個系統造成影響;三、各模塊可獨立開 發,不但便於調試,降低開發難度,同時可以協同開發,加快開發進度。
以下結合圖l,對本發明各個功能模塊的具體實施給予說明。 參視頻採集模塊該模塊通過VFW(Video For Windows)與攝像頭或視頻採集卡通 信,實現視頻流的實時採集。該模塊可根據不同的攝像頭或視頻採集卡使用不同的視頻採 集方式。該模塊採集到視頻信息後,將其傳輸到人臉樣本採集模塊和動態實時人臉識別模 塊。本發明同時兼容現今的幾種不同的主流視頻採集方式,包括USB數字攝像頭,PCI視頻 採集卡+模擬攝像頭,USB視頻採集卡+模擬攝像頭,PC104視頻採集卡+模擬攝像頭。
參人臉樣本採集模塊人臉識別分類器的訓練需要一定數量的人臉樣本圖片,該模 塊接收視頻採集模塊傳入的視頻信息,能夠自動採集適用於人臉識別的人臉樣本圖片。該 模塊同時具有人臉檢測功能,可在每幀視頻圖像中檢測出是否存在人臉,以及存在的人臉 數量,位置和大小。當在視頻圖像中檢測到人臉時,該模塊可以自動定位人臉的主要特徵點 (如眼睛,眉毛,鼻子,嘴巴等),並根據這些特徵點的位置,完成人臉圖像的標準化(如旋 轉,平移,剪切,縮放,預處理,蒙板等),最終得到用於訓練人臉分類器的人臉樣本,並將這 些樣本信息存入資料庫。 參標準人臉庫數據導入模塊標準人臉資料庫中有成千上萬張人臉圖像,通過手工
的方式處理這些人臉圖片顯然不現實,因此標準人臉庫數據導入模塊必不可少。該模塊可 將用於測試人臉識別算法性能的通用標準人臉庫的數據導入資料庫。 一般的標準人臉數據 庫包含不同的測試集合和訓練集合,每個集合中一般有數千張或數萬張人臉圖片,該模塊 根據人臉樣本的不同屬性,自動的設置樣本圖片的屬性,從而實現樣本的分類,並將人臉樣 本信息存入資料庫。 參人臉分類器訓練模塊人臉識別的核心算法體現在分類器的訓練,人臉分類器訓
練模塊可根據不同的算法設置不同的分類器參數,訓練出不同人臉分類器。該模塊可高效 的組織訓練樣本(包括人工手動選擇和自動隨機選擇),並可以根據樣本圖片的屬性設置 相應過濾器,選擇出不同屬性(如表情,年齡,光照,姿態,性別,配飾等)的人臉樣本圖片來 訓練不同的人臉分類器,以滿足人臉識別算法在表情,年齡,光照,姿態,配飾等外界因素變 化時的應用。該模塊從資料庫中讀取人臉樣本採集模塊或者標準人臉庫數據導入模塊輸入的樣本信息,進行訓練,通過該模塊訓練後提取出來的人臉分類特徵自動存入臺資料庫。 參動態實時人臉識別模塊動態實時人臉識別模塊在外接的攝像頭採集到的視頻
流中,檢測到動態實時人臉圖片特徵信息,得到適於測試的人臉圖像樣本,再與資料庫中訓
練好的人臉分類特徵進行匹配和識別,並將識別結果存入資料庫,動態實時完成人臉識別。 參靜態圖片人臉識別模塊有些人臉識別任務,要求根據給定的靜態圖片判斷照片
中人像的身份,靜態圖片人臉識別模塊提供靜態圖片的輸入接口,將讀取的靜態人臉圖片
與資料庫中訓練好的分類特徵進行匹配和識別,將識別結果存入資料庫。
參資料庫管理模塊資料庫的海量數據需要進行管理,通過資料庫管理模塊可對數
據庫中各種涉及到的人臉識別數據進行管理。該模塊可進行添加,刪除,修改,備份等操作,
實現對資料庫的人員,人臉樣本圖片、人臉特徵、人臉分類特徵等數據的維護。所有經數據
庫管理模塊整理修改的信息依然儲存回資料庫中。 參測試報告生成模塊人臉識別算法需要經大量人臉樣本的測試,測試報告對算法
研究者或實用系統的開發人員改進算法具有指導意義。測試報告生成模塊可從資料庫中讀 取與識別結果相關的信息,生成測試報告輸出。該模塊可以根據測試結果,統計出人臉識別 算法的性能指標(如識別率,錯誤拒絕率,錯誤接受率等),並可生成相應曲線圖表,以便不 同人臉識別算法的比較,從而得到相對性能更優越的識別算法,在實際系統中應用。
資料庫是整個開放式人臉識別系統的中心,不但所有與人臉識別任務相關的數據 都存儲於資料庫中,更重要的是各功能模塊之間的通信與數據交換,均通過對資料庫讀寫 來完成,因此,資料庫擔當了"橋梁"的角色,把各功能模塊連成一個有機的整體,協同工作 以完成人臉識別任務。涉及到人臉識別的數據包括人員信息(編號,姓名,性別,年齡等), 人臉樣本圖片信息(編號,路徑,圖片格式,圖片尺寸,圖片屬性,如光照情況,人臉表情,人 臉姿態,人臉配飾等,圖片採集時間等),人臉特徵信息(編號,特徵編號,圖片編號,人員編 號,特徵的維數,特徵數據等),人臉分類器(分類特徵)信息(編號,包含人數,分類器的維 數,分類器數據等),訓練集信息(人員列表信息,圖片列表信息等),測試集信息(人員列 表信息,圖片列表信息等)。 本發明可採用Microsoft SQL Server 2000做為資料庫,搭建整個開放式人臉識 別系統框架。 本發明開放式人臉識別系統的識別流程見圖2。整個系統的實現大致分為如下四 層 — 、人臉樣本輸入層。通過動態視頻或靜態圖片方法讀入訓練用人臉樣本或測試 用人臉樣本 二、預處理層。人臉檢測,人臉特徵點定位與定位及人臉圖像的標準化,都歸為預 處理層,視頻流中每幀圖像或靜態人像圖像經過此層後,輸出為適於人臉識別的標準人臉 圖像; 三、分類器訓練層。分類器訓練層讀取訓練用的樣本,提取樣本中分類能力較強的 特徵。 四、識別與測試層。該層實現識別與測試任務,當測試樣本進入,讀取分類器訓練 層訓練出的特徵,通過特徵匹配輸出識別結果; 五、結果分析與輸出層。該層完成人臉識別任務的最後一步,對上一層識別與測試的結果進行分析,生成識別結果或測試報告等。 每幀視頻流的圖像或靜態圖片經過上述五層或其中的幾層,最終將完成人臉識別 任務。
權利要求
一種通用的開放式人臉識別系統,其特徵在於包括資料庫、視頻採集模塊、人臉樣本採集模塊、標準人臉庫數據導入模塊、人臉分類器訓練模塊、動態實時人臉識別測試模塊、靜態圖片人臉識別模塊、資料庫管理模塊和測試報告生成模塊;所述視頻採集模塊與人臉樣本採集模塊和動態實時人臉識別模塊相連,分別將視頻流輸入人臉樣本採集模塊和動態實時人臉識別模塊;所述人臉樣本採集模塊與資料庫相連,將視頻流中採集的數據進行人臉檢測和人臉圖像標準化,並將標準化後的樣本信息輸入資料庫;所述標準人臉庫數據導入模塊與資料庫相連,將從標準人臉庫中讀取的人臉樣本信息存入資料庫;所述人臉分類器訓練模塊與資料庫相連,從資料庫中讀取人臉樣本採集模塊或者標準人臉庫數據導入模塊輸入的樣本信息,進行訓練,並將訓練好提取出來的分類特徵輸入資料庫;所述動態實時人臉識別模塊與資料庫相連,讀取視頻流的動態實時人臉圖片特徵信息,再與資料庫中訓練好的分類特徵進行匹配和識別,將識別結果存入資料庫;所述靜態圖片人臉識別模塊與資料庫相連,將讀取的靜態人臉圖片與資料庫中訓練好的分類特徵進行匹配和識別,將識別結果存入資料庫;所述資料庫管理模塊與資料庫相連,對資料庫中存有的信息進行整理修改,再儲存回資料庫中;所述測試報告生成模塊與資料庫相連,從資料庫中讀取與識別結果相關的信息,生成測試報告輸出。
全文摘要
本發明涉及一種通用的開放式人臉識別系統,通過引入後臺資料庫支持,將人臉識別算法中相關數據抽象為資料庫數據,採用模塊化和層次化的設計,以後臺資料庫為橋梁,實現人臉樣本的採集,人臉識別數據的管理,人臉分類器的訓練,標準人臉庫的導入,靜態圖片人臉識別測試,動態實時人臉識別測試,生成測試報告等一系列功能。各個模塊既可以分布的獨立工作實現相應功能,又可以共同工作完成測試和實時識別等任務。在開放的通用的框架體系下完成不同人臉識別算法在不同資料庫、不同情況下的人臉識別任務,並可為其他人臉識別實用系統的設計提供參考模型。
文檔編號G06K9/00GK101706872SQ20091019935
公開日2010年5月12日 申請日期2009年11月26日 優先權日2009年11月26日
發明者張凱, 戴景文, 蘇劍波 申請人:上海交通大學