程 實 沐燕舟 趙 赟
(1.南通大學(xué)信息科學(xué)技術(shù)學(xué)院 南通 226000)(2.天津大學(xué)智能與計算學(xué)部 天津 300000)
隨著互聯(lián)網(wǎng)快速影響,信息安全需求與個人身份認證需求不斷提升,在此背景下,我國生物識別概念逐漸火熱,高識別率的人臉識別技術(shù)迎來了發(fā)展良機。研究和處理人臉在視頻監(jiān)控中的情況是一項非常有前景的方向,特別在安防和人機交互等領(lǐng)域擁有著廣闊的應(yīng)用[1]。
目前,人臉識別產(chǎn)品大多將人臉檢測與人臉識別綁定在一起放在服務(wù)器端[2],增加了服務(wù)器的負擔(dān),一臺服務(wù)器只能帶兩路攝像機。帶來的問題是產(chǎn)品應(yīng)用到實時場景時,部署成本很高。另一方面,攝像機只起到采集視頻的角色,在嵌入式硬件性能與嵌入式操作系統(tǒng)的迅速提升環(huán)境下,攝像機已經(jīng)具備了單獨處理實時視頻信息的能力。所以,如何將有效地人臉檢測算法從人臉識別模塊中分離出來,用嵌入式方式實現(xiàn)人臉檢測,以提高人臉識別實時應(yīng)用性能是人臉識別產(chǎn)品走向市場的重要途徑之一?;谶@樣的需求,本文對人臉檢測公認度比較高的JDA算法進行了改進,目標是實現(xiàn)與人臉識別無縫對接。
人臉檢測的快速發(fā)展和市場對生物特征鑒定技術(shù)的認可,實時人臉檢測技術(shù)已經(jīng)逐漸成為了市場所緊缺的需求。人臉檢測方法研究發(fā)展簡表如表1所示。
表1 人臉檢測研究方法演化[3]
JDA(Joint Cascade Face Detection and Alignment)算法[4]是目前比較先進的人臉檢測算法,是MSRA 組在2014 年的最新技術(shù)。它結(jié)合了檢測和對齊,一方面人臉對齊對進一步的人臉識別意義重大,另一方面標記附近的特征可促進人臉檢測分類器分辨出更準確的結(jié)果。JDA 算法主要采用3000FPS方法[5]。這個方法使用了局部特征和回歸樹,將特征空間映射到線性空間,再使用線性回歸學(xué)習(xí)。用回歸樹學(xué)習(xí)一個局部二值特征(LBF,注意不是LBP),用線性回歸來訓(xùn)練回歸模型。該算法的整體過程如圖2。
圖1 JDA算法描述
從圖1 可以看出的是第二列的特征是通過學(xué)習(xí)得到的,第四列的回歸關(guān)系是線性的,也是通過學(xué)習(xí)得到的。在訓(xùn)練階段,我們學(xué)習(xí)特征映射函數(shù)?t去產(chǎn)生局部二值特征。給定特征和目標形狀增量,通過線性回歸學(xué)習(xí)線性投影Wt。在測試階段,形狀增量直接被預(yù)測并且運用于更新當(dāng)前被估計的形狀。
LBF 的全稱是Local Binary Feature 即局部二值特征。文獻[5]中把LBF定義為直接簡單大概地統(tǒng)計所有樹葉節(jié)點是否被該樣本落入,如果落入了就記為1 否則記為0,然后把所有的01 串連起來就是LBF了,如圖2所示。
用隨機森林取標記的局部二值特征,如(圖2(b)),在標記點周圍,兩個像素點為一對,隨機抽取4 對為一棵樹,每一對比較大小,根節(jié)點大于選擇左子節(jié)點,小于選擇右子節(jié)點,最后到達的葉子節(jié)點為1,其它為0。再組成圖上的二進制比如(1000),再依次,抽取n 棵數(shù),串聯(lián)組成局部二值特征。淺顯地說上圖2(b)中,樣本經(jīng)過隨機森林的三棵樹后分別落在了第1,2,3 個葉子節(jié)點上,于是三棵樹的LBF 就是1000,0100,0010。串聯(lián)起來就是100001000010,這就是一個特征點的局部二值特征φtj,把人臉所有特征點的LBF 都連接起來形成總的LBF就是全局特征φt了。
圖2 LBF特征提取
確定LBF之后,串聯(lián)人臉所有特征點(文獻[6]選取27 個人臉特征點)的二值特征得到全局特征并通過最小化下面的目標函數(shù)學(xué)習(xí)全局線性投影Wt:
其中I是輸入圖像,St-1是來自于上一級的形狀,φt是特征映射函數(shù),Wt是線性回歸矩陣。
圖3是使用JDA算法進行人臉檢測的結(jié)果。
圖3 JDA算法人臉檢測結(jié)果
JDA 檢測的人臉很快、很準,但存在兩個問題,一是所檢測的人臉不一定能都適用人臉識別(尺寸過小,角度過偏);二是輸出的是存在人臉的幀,即使把人臉檢測與人臉識別分開,人臉識別性能不降反增,原因是人臉檢測進行了兩次(因為傳輸?shù)氖菐?,所以到服?wù)器端還要再進行一次人臉檢測)。為此,本文設(shè)計的JDA2 對JDA 進行四個方面的改進:關(guān)鍵幀提取、人臉定位與跟蹤、人臉過濾和有效人臉發(fā)送人臉,總體框架見圖4。
圖4 JDA2總體框架
鏡頭中圖像幀存在不相關(guān)性,需要去除冗余,可以代表鏡頭內(nèi)主要信息的圖像幀就是關(guān)鍵幀。提取的關(guān)鍵幀標準根據(jù)視頻的不同而不同,關(guān)鍵幀的數(shù)量由應(yīng)用場景決定。
關(guān)鍵幀提取一種較為簡單的方法是計算幀間差值,就是將相鄰兩幀在各自位置上的像素灰度差做比較。當(dāng)兩幀圖像間的灰度差值大于某個事先設(shè)定好的閾值就認為產(chǎn)生了鏡頭的邊界。如果設(shè)定的全局閾值太低則錯誤檢測率將會很高,相反的情況下漏檢測率會升高。因此,設(shè)定局部自適應(yīng)的閾值將會是一種是最好的辦法,本文在自適應(yīng)閾值的設(shè)定方式上利用滑動窗法。
算法描述:
假設(shè)對第k 幀進行檢測,這其中會有N+1 個間斷的值需要考慮,從而組合成為一個滑動窗,中間第k幀是不是作為邊界,主要條件如下:
1)在N+1個值中,需要最大值是Z(k,k+1);
2)Z(k,k+1)>k+Zsm。其中,k 為系數(shù),Zsm為窗口中的次大值。
即當(dāng)窗口中的最大值為Z(k,k+1)時,同時還是滑動窗內(nèi)第二大的k 倍時,在(k,k+1)處是會有一個邊界,可以將這個k參數(shù)認為是邊界的模式。
人臉定位主流方法有兩種:
1)基于復(fù)測模型的人臉定位
人臉的一個重要特征就是膚色[7],不同人的膚色分布具備共性,膚色分割方法就是利用了這種膚色聚類性,穩(wěn)定性很好,不受各種因素的影響。單一的膚色檢測就能夠定位圖像中所有的人臉,并且可以達到很高的檢測率,但是誤檢率也很高,因為這種方法會檢測到類似人臉膚色的區(qū)域,把它誤判斷為人臉;除此之外,膚色檢測容易受到光照等條件的影響,膚色的劃分結(jié)果非常明顯地決定了算法的精度。
2)基于AdaBoost 的人臉定位[8],算法的核心就是減少正確分類樣本的權(quán)值,增加了錯誤分類樣本的權(quán)值,從而得到一個理想的分類器。所以,將AdaBoost算法用于人臉定位檢測率和速度都較高,而且不需要多少復(fù)雜的分類器,但是訓(xùn)練時間過長而且誤檢率較高。
膚色模型和AdaBoost 算法各有優(yōu)缺點,JDA2結(jié)合了這兩種算法。
首先是粗定位,主要是運用膚色模型對其進行定位,從中找出可能的人臉區(qū)域,然后再運用Adaboost 算法在所標記出的一切有可能的人臉區(qū)域中進行人臉的精確定位。算法描述如圖5所示。
圖5 人臉定位算法流程
人臉跟蹤是在已知初始幀人臉區(qū)域的情況下,結(jié)合人臉運動信息更新和確定后續(xù)幀中人臉的位置和大小。人臉跟蹤的流程圖如圖6所示。
圖6 人臉跟蹤的流程圖
我們從一些人臉庫和大量網(wǎng)絡(luò)圖片中共搜集了人臉樣本約20000 張。為了使樣本反映真實的概率分布,我們盡量使這個集合包含各種類型的人臉,如各個種族、年齡段以及性別。測試集在CMU+MIT 的正面人臉測試集合(130 幅圖片、507個人臉)。
1)正臉檢測實驗
我們所說的正面人臉是指旋轉(zhuǎn)角度在搖擺[-15°,+15°]、傾斜[-10°,+10°]和俯仰[-10°,+10°]以內(nèi)的人臉。我們收集的人臉庫中共有正面人臉樣本約15000 張。我們在CMU+MIT 的正面人臉測試集合(130 幅圖片、507 個人臉)上比較JDA2算法與JDA 算法的性能。實驗機器為一臺PIV2,4GHz PC,檢測結(jié)果ROC 曲線如圖7 所示。橫軸為特異度,縱軸為敏感度。從圖8 看出,JDA2 明顯改進了JDA的性能。
圖7 正面人臉檢測ROC曲線
2)服務(wù)器壓力測試
我們的方案是對比“JDA+人臉識別”,“JDA2+人臉識別”,“人臉識別(集成人臉檢測)”三個方案的識別速度(表3)。
表3 識別速度和正確率對比
虛警率是指在人臉檢測成功而拒識為人臉的百分比。由于JDA2 使用了過濾和定位策略,對尺寸過小,角度過大的人臉拒檢,所以,虛警率明顯下降。間接帶來的好處是,降低了網(wǎng)絡(luò)負載(只傳有效人臉),解決目前服務(wù)器只能帶2 路的瓶頸有望得到解決。
對于目前普遍使用的傳統(tǒng)人臉識別系統(tǒng),由于網(wǎng)絡(luò)傳輸帶寬的限制,不可能將眾多的實時人臉圖像傳輸?shù)教幚碇行倪M行識別處理。但是,如今的安防對先進技術(shù)的運用要求越來越高。隨著嵌入式電路設(shè)計的成熟,基于現(xiàn)場特定要求的智能圖像識別技術(shù)應(yīng)運而生。在這樣背景下,本文對人臉檢測公認度比較高的JDA進行了改進,在拍攝現(xiàn)場圖像的同時,對能識別的人臉準確地發(fā)送人臉數(shù)據(jù)。由于檢測到的適用人臉識別的人臉的數(shù)據(jù)量大大小于圖像數(shù)據(jù)量,為一臺服務(wù)器實時處理多路攝像機數(shù)據(jù)帶來可能。