摘 要: 人臉識別門禁系統已經得到了廣泛的應用,但是要求被識別人員靠近圖像采集設備,使用起來極不方便。解決此問題的關鍵是在被識別人員的正常行走過程中完成人臉識別的任務,然而在人的正常行走過程中,因為角度、表情等變化,可能會導致人臉識別產生錯誤的結果。針對此問題,設計了一種結合CamShift跟蹤算法的人臉識別門禁系統,采用人臉檢測的結果來改進CamShift跟蹤算法,然后再利用這條CamShift跟蹤軌跡上人臉識別結果序列來修正錯誤識別。實驗結果表明該系統能夠完成正常行走過程中的人臉識別任務,并且有更高的識別率。
關鍵詞: 人臉識別; CamShift算法; 目標跟蹤; 門禁系統
中圖分類號: TN911.7?34; TP391.4 文獻標識碼: A 文章編號: 1004?373X(2013)03?0108?04
0 引 言
門禁系統在公共安全、人事考勤等場合發揮著重大的作用。常被用于人員識別的生物信息包括指紋[1]、虹膜[2]、人臉[3]等,人臉信息作為人體生物信息最為直觀的描述,被廣泛應用于各種場合的門禁系統中。人臉識別的一個優勢是不需要與識別設備近距離接觸,但是現有的人臉識別門禁系統并沒有利用這一優勢,需要被識別人員靠近采集識別設備,并且保持一定表情,導致使用不方便。能夠在被識別人員正常行走過程中完成人臉識別并且識別性能可靠的門禁系統將能適應更多的應用場景,此系統只需要被識別人員在行走過程中稍微配合即可自動準確地對其進行人臉檢測和識別,然后做出正確的響應。
實驗表明,僅僅依靠實時地執行人臉檢測和人臉識別算法來完成此系統,會產生很多的錯誤識別情況。為了彌補這一缺陷,在被檢測人員運動過程中完成精確人臉識別的任務,在人臉識別系統中加入CamShift[4]跟蹤算法,對檢測獲取的人臉進行跟蹤,將CamShift跟蹤算法和人臉檢測識別算法進行了有效地結合。
利用CamShift跟蹤算法對人臉進行跟蹤時,在簡單背景下能夠取得很好的跟蹤效果,但是在復雜動態背景、光照突變等情景下,只靠CamShift算法很難取得好的跟蹤效果,本文利用人臉稀疏檢測結果修正CamShift算法,獲得了較好的跟蹤效果。
人臉檢測算法包括模板匹配模型方法,ANN模型方法[5],SVM模型方法[6],Adaboost模型方法等。模板匹配模型方法不需要訓練,但是精度較差,速度較慢;ANN模型方法和SVM模型方法都是基于機器學習的方法,這兩種方法都可以獲得不錯的檢測精度,但是檢測速度比較慢;而文獻[7?8]由Viola和Jones提出的Adaboost人臉檢測算法是一種基于積分圖、級聯檢測器和Adaboost算法的人臉檢測算法,此算法不僅能獲得良好的檢測效果,而且檢測速度也基本上滿足實時的要求。
1 Adaboost人臉檢測算法
Adaboost人臉檢測算法[9]的核心是Adaboost算法。Adaboost算法是一種自適應的Boosting算法,其基本思想就是將大量的分類能力一般的弱分類器通過一定方法疊加起來,構成一個分類能力比較強的強分類器。該方法框架大概可以分為以下三步:
(1)使用Harr?like特征表示人臉特征,然后使用積分圖實現特征數值的快速計算;
(2)使用Adaboost算法選出一些最能代表人臉的矩形特征(即是弱分類器),然后按照加權投票的方式把弱分類器構造為一個強分類器;
(3) 最后將訓練得到的若干強分類器串聯組成一個級聯結構的層疊分類器,級聯結構能有效地提高分類器的檢測速度。
理論證明只要每個弱分類器器分類能力比隨機猜測要好,當弱分類器個數趨于無窮時,強分類器的錯誤概率將趨于零。
2 CamShift跟蹤算法
CamShift算法是一種動態變化分布的概率密度函數梯度估計的非參數方法,顏色概率分布圖是它的一個關鍵概念。使用CamShift 對目標進行實時跟蹤時步驟如下:
(1)初始化搜索窗的位置和大小(可為任意值) 。
(2)尋找搜索窗的質心。
(3)移動搜索窗,使窗的中心與質心重合。
(4)重復步驟(2)和(3),直到收斂(窗某次的移動距離小于預設閾值) ,保存此時的零階矩和質心值。
(5)在下一幀圖像中根據步驟(4)得到的零階矩和質心值重新初始化搜索窗的位置和大小,再跳轉到步驟(2)繼續執行。