王治強(qiáng),孫曉東,楊 永,孫 鵬
(大連東軟信息學(xué)院 智能與電子工程學(xué)院,大連 116023)
隨著深度學(xué)習(xí)的飛躍發(fā)展,人臉識別技術(shù)趨于成熟,被廣泛應(yīng)用于企業(yè)、學(xué)校、機(jī)構(gòu)等各種考勤場景.使用人臉識別進(jìn)行考勤克服了傳統(tǒng)IC 卡考勤易忘、易替代的缺陷,也比指紋考勤更方便衛(wèi)生,易被用戶所接受[1].然而,現(xiàn)今的人臉識別考勤系統(tǒng)普遍識別速度慢,在早晚高峰的時候排隊(duì)考勤成為常事,并且考勤的時候頭部要擺的很端正才可以識別成功,因此,用戶體驗(yàn)并沒有達(dá)到令人滿意的程度[2].
本文針在系統(tǒng)設(shè)計(jì)上對現(xiàn)今人臉考勤系統(tǒng)存在的速度慢、只能逐人識別不能群識別、需要擺正頭部體驗(yàn)不自然等缺陷進(jìn)行改善,實(shí)現(xiàn)體驗(yàn)自然的人臉識別考勤系統(tǒng).
在人臉識別應(yīng)用中,涉及到的人臉識別相關(guān)算法主要包括人臉檢測、人臉跟蹤以及人臉匹配3 方面[3].由于大數(shù)據(jù)技術(shù)與深度學(xué)習(xí)的結(jié)合,使得人臉識別在精度和魯棒性方面得到很大的提高[4],然而由于人臉的非剛性特點(diǎn)和角度等多種因素的影響,在實(shí)際應(yīng)用場景中并沒有達(dá)到令人滿意的效果,尤其是在移動中和人的自然狀態(tài)下多角度人臉識別還存在諸多難點(diǎn)和挑戰(zhàn)[5,6].此外,由于人臉跟蹤抓拍算法差異較大,導(dǎo)致人臉識別算法的運(yùn)行效率和匹配效果產(chǎn)生了較大差異.有的研究中通過分布式技術(shù),采用服務(wù)器機(jī)群解決速度提升[7],雖然有一定成效,但成本巨大,難于推廣.
本文針對考勤場景中的人臉識別算法進(jìn)行了多種實(shí)驗(yàn)與探索,最終歸結(jié)出導(dǎo)致在實(shí)際應(yīng)用場景中效果不佳的最核心的問題主要有兩方面:一是要解決人臉的跟蹤,尤其在M:N 模式下的多人臉跟蹤問題;二是多角度人臉的精確匹配問題.由于人臉精確匹配的運(yùn)算量極大,如果對圖像進(jìn)行逐幀的特征提取及匹配運(yùn)算,在普通處理器的計(jì)算能力下是無法滿足的.另一方面,運(yùn)動中人臉的角度變幻莫測,若采用逐幀匹配,在角度不佳情況下漏識率會大大提高[8].因此,本文重點(diǎn)關(guān)注這兩點(diǎn)問題,優(yōu)化人臉跟蹤算法降低實(shí)時圖像處理運(yùn)算量,同時在跟蹤過程中捕捉最佳角度和圖片質(zhì)量的人臉圖像,從而提高精確匹配成功率[9,10].此外,提出多角度采樣的方法提高自然狀態(tài)下人臉識別通過率.在人臉識別考勤系統(tǒng)中進(jìn)行實(shí)現(xiàn)和驗(yàn)證,實(shí)驗(yàn)證實(shí)這樣的解決方案提高了人臉識別的速度與識別通過率.
人臉跟蹤算法主要有3 種:基于模型匹配的跟蹤、基于區(qū)域匹配的跟蹤和基于特征匹配的跟蹤[11].在實(shí)際應(yīng)用中基于特征匹配的方法使用較為廣泛,如Azarbayejani 等提出的遞歸估計(jì)算法[12]和清華大學(xué)的艾海舟等采用的基于人臉檢測的跟蹤算法[13].但是在多人臉跟蹤情況下,如何降低人臉檢測中的負(fù)荷以及如何保證后進(jìn)入攝像機(jī)視野的人臉被快速檢測仍然是研究的重點(diǎn).
本文的人臉跟蹤算法屬于特征匹配,是在遞歸估計(jì)算法思想基礎(chǔ)上進(jìn)行改進(jìn),提出一種遞歸最小檢測窗口的方法(Recursion Minimum Window,RMW)降低人臉檢測的負(fù)荷,并進(jìn)行多線程擴(kuò)展,從而實(shí)現(xiàn)多人臉同步跟蹤.本文采用的人臉檢測算法是的基于模板的方法,該方法魯棒性較好,檢測運(yùn)算量與圖像像素大小成正比[14].RMW 方法工作原理就是盡可能縮小人臉檢測的范圍,從而提升處理速度.具體處理方法為,根據(jù)人臉尺寸和運(yùn)動速度預(yù)測目標(biāo)在下一幀中最大可能的運(yùn)動范圍,也就是包含目標(biāo)物體在內(nèi)的最小圖像,然后基于預(yù)測的目標(biāo)范圍裁剪圖像,作為人臉檢測算法的輸入.如此便可以在圖像輸入到人臉檢測模塊之前極大的裁剪掉無效圖像,提升目標(biāo)檢測的效率和準(zhǔn)確性.如圖1所示為RMW 方法工作原理.


圖1 RMW 方法原理圖
RMW 算法對單人臉檢測跟蹤處理速度提升計(jì)算公式如式(1)所示,W,H為原始圖像的寬高,W′和H′為最小預(yù)測窗口的寬高,V為人臉移動速度,R為視頻圖像的幀率,σ為常量.由公示可見,速度提升倍數(shù)約為原始圖像面積和人臉邊框面積的比值.即人臉在圖像中尺寸越小,則跟蹤速度越快.
RMW 算法的整體處理流程如圖2所示.首先根據(jù)上一幀跟蹤狀態(tài)預(yù)測當(dāng)前幀最小檢測窗口,如果是起始幀則窗口初始化為整幅圖像,然后根據(jù)最小窗口剪裁圖像,調(diào)用人臉檢測算法檢測人臉并根據(jù)人臉信息更新跟蹤狀態(tài),如此循環(huán)跟蹤直到退出.

圖2 RMW 算法處理流程
多人臉同步跟蹤情況下,對RMW 算法進(jìn)行多線程設(shè)計(jì),每張人臉使用獨(dú)立線程跟蹤,多人臉跟蹤的處理線程模型如圖3所示.結(jié)構(gòu)上包含全幅人臉檢測線程和RMW 人臉跟蹤線程兩部分,全幅檢測線程執(zhí)行周期較長,可以間隔多個圖像幀執(zhí)行一次,為發(fā)現(xiàn)新進(jìn)入攝像機(jī)視野的人臉做整幅圖像的人臉檢測,一旦檢測到新人臉,則啟動RMW 跟蹤線程對人臉進(jìn)行跟蹤,RMW 跟蹤線程檢測目標(biāo)丟失的時候則退出,全幅檢測線程發(fā)現(xiàn)新人臉則繼續(xù)添加新的跟蹤線程,從而持續(xù)維護(hù)跟蹤列表.

圖3 多人臉跟蹤線程模型
從攝像機(jī)獲取一幀實(shí)時圖像,采用RMW 算法預(yù)測截取最小檢測窗口,然后調(diào)用人臉識別庫檢測人臉,更新跟蹤列表并計(jì)算人臉角度、速度、圖像質(zhì)量等狀態(tài)信息,通過線程池方式并發(fā)執(zhí)行跟蹤處理,并在一幀檢測的開頭和結(jié)束進(jìn)行線程同步.具體一幀圖像的檢測跟蹤的詳細(xì)流程圖如圖4所示.

圖4 RMW 人臉跟蹤處理詳細(xì)流程圖
自然狀態(tài)下的人臉被攝像機(jī)捕捉到的角度與狀態(tài)存在各種可能,傳統(tǒng)多角度人臉識別算法有很多種,如線性判別分析(LDA)、主成分分析(PCA)、回歸函數(shù)法等[15,16].然而在實(shí)際應(yīng)用中,在采集人臉信息環(huán)節(jié)并不容易實(shí)現(xiàn).為了讓用戶體驗(yàn)更加自然,本文在人臉采集的時候?qū)Σ杉嵌茸隽藬U(kuò)展,每張臉采集:正中、偏上、偏下、偏左、偏右5 張照片.在精確匹配的時候根據(jù)抓拍人臉的當(dāng)時狀態(tài)完成匹配,同時加上人臉角度的約束條件,則會使匹配結(jié)果更加精確.人臉采集的圖樣如圖5所示.

圖5 人臉多角度采集
本文所設(shè)計(jì)的人臉識別考勤系統(tǒng)主要包含如下幾方面功能:
1)用戶管理功能:采集用戶的人臉信息,還有對員工信息的增、刪、改、查管理功能;
2)人臉識別功能:采用實(shí)時M:N 的方式進(jìn)行多人臉同步識別,支持多人同時考勤,并支持人臉大角度識別,增強(qiáng)用戶體驗(yàn);
3)考勤管理功能及其他:包含員工考勤管理、數(shù)據(jù)統(tǒng)計(jì)、考勤設(shè)置、考勤語音提示和系統(tǒng)設(shè)置功能.
人臉識別驗(yàn)證功能是本系統(tǒng)的核心功能,系統(tǒng)使用第三方顏行人臉識別庫實(shí)現(xiàn)人臉檢測與匹配,軟件模塊圖如圖6所示.RMW 人臉跟蹤以及人臉匹配的應(yīng)用算法在人臉跟蹤識別模塊中實(shí)現(xiàn),調(diào)用顏行Facevall lib 實(shí)現(xiàn)人臉檢測與匹配.調(diào)用Speech lib 實(shí)現(xiàn)語音提示功能.

圖6 系統(tǒng)軟件結(jié)構(gòu)框圖
為滿足計(jì)算性能要求,考勤終端硬件設(shè)計(jì)采用X86架構(gòu)CPU 為Intel i7-8550u,RAM 為8 GB 的工控機(jī)為主控單元,使用1080P 幀頻30 fps 的高清攝像機(jī)采集人臉圖像,外接觸摸屏等人機(jī)交互外設(shè).
軟件開發(fā)基于Windows C# Visual Studio 開發(fā)環(huán)境,依據(jù)面向?qū)ο笤O(shè)計(jì)思想,采用多線程方式,實(shí)現(xiàn)了用戶界面、圖像采集、人臉跟蹤和檢索算法、考勤管理和網(wǎng)絡(luò)通信等功能.軟件界面基于WPF 窗體設(shè)計(jì),采用C#5 新特性async await 關(guān)鍵字和lambda 表達(dá)式方便地實(shí)現(xiàn)多線程異步執(zhí)行,提升系統(tǒng)并行效率.在多線程并發(fā)執(zhí)行方面,用線程池技術(shù)實(shí)現(xiàn)多線程并發(fā)處理.數(shù)據(jù)存儲采用MySQL 數(shù)據(jù)庫.考勤終端與數(shù)據(jù)庫采用C/S 架構(gòu),支持多終端同步運(yùn)行,多終端同步考勤.
人臉考勤界面采用單獨(dú)的窗口,實(shí)現(xiàn)效果圖如圖7所示.人臉考勤成功后會記錄數(shù)據(jù)庫,保存考勤時人臉照片,用于考勤記錄查詢及統(tǒng)計(jì)報表功能.

圖7 人臉考勤界面
人臉信息采集窗口如圖8所示,采集上下左右及正中5 張人臉照片.
針對人臉識別在實(shí)際應(yīng)用中的效果,從兩方面驗(yàn)證算法性能,一方面是處理每個圖像幀的時間效率,另一方面從實(shí)際應(yīng)用的效果,即識別通過率進(jìn)行測試.

圖8 人臉信息采集界面
為測試人臉跟蹤與識別算法的效率,對一分鐘1800 幀視頻圖像進(jìn)行識別,統(tǒng)計(jì)平均每幀圖像的處理時間.為檢驗(yàn)RMW 人臉跟蹤算法性能,與不使用RMW 算法,即與每幀圖像都全幅檢測的普通跟蹤算法相對比,計(jì)算RMW 算法在處理效率方面的效果.測試視頻中人臉移動速度較慢,小于0.5 m/s,分別在不同人數(shù)和距離情況下測試了多組數(shù)據(jù).
如圖9所示,從測試結(jié)果可以看出,RMW 算法大大降低了每幀圖像的平均處理時間,效率提升很明顯,為普通算法的兩倍以上,并且人數(shù)越少效果越明顯.另外,從RMW 算法的兩組數(shù)據(jù)可以看出,人臉距離攝像機(jī)的距離對處理時間的影響也很大,因?yàn)榫嚯x越遠(yuǎn),人臉?biāo)枷袼卦叫?檢索與匹配的計(jì)算量也越小.

圖9 人臉數(shù)與每幀處理時間曲線圖
為檢驗(yàn)人臉識別實(shí)際應(yīng)用的通過率,使用1000 人共5 千張人臉的人臉檢索庫,測試從單人到6 人同時考勤效果.運(yùn)動狀態(tài)包括靜止、緩慢行走(0.5 m/s)、正常速度行走(1 m/s).測試結(jié)果記錄識別時間和漏識次數(shù).時間記錄從距離攝像機(jī)3 m 開始計(jì)時到識別到人臉后屏幕提示姓名為止的時間.
測試結(jié)果如圖10所示,靜止?fàn)顟B(tài)下識別率都達(dá)到100%,人數(shù)的增加和移動速度的加快都會降低識別通過率,平均識別時間會隨人數(shù)增加而增加.漏識的主要原因是由于人臉移動速度快的情況下,還沒等到系統(tǒng)捕捉到高質(zhì)量的圖像,人就已經(jīng)走過去了,并且人數(shù)越多,捕捉人臉需要的時間就越長,從而導(dǎo)致漏識幾率增大.

圖10 識別通過率和平均識別時間結(jié)果圖
為測試人臉檢索庫引入正中和上下左右5 張人臉圖片的效果,對緩慢行走狀態(tài)下人臉識別通過率進(jìn)行測試,分別對人臉角度為正中、偏左、偏右、偏上、偏下5 種狀態(tài)進(jìn)行測試.測試結(jié)果如表1所示.

表1 單張采集與多張采集識別通過率對比(單位:%)
由測試結(jié)果可見,采集多角度采集的情況與單張采集情況相比,除了正中角度外,其余4 個角度都有明顯提升,平均通過率提升11%,可見該方法在實(shí)際應(yīng)用中是切實(shí)有效的.
本文在人臉識別考勤系統(tǒng)的設(shè)計(jì)中引入RMW 跟蹤算法,提高了多人臉同步跟蹤的效率,并通過采集正中、上下左右5 張人臉照片的方式增強(qiáng)自然狀態(tài)下人臉識別通過率,取得了較有成效的實(shí)際應(yīng)用效果.但在同時考勤人數(shù)大于4 的時候,由于處理性能和攝像機(jī)圖像質(zhì)量下降的原因,會導(dǎo)致漏識率明顯增高.然而,對于一般應(yīng)用場景,本文的算法基于現(xiàn)有人臉識別庫、普通處理器以及相機(jī)條件下,已經(jīng)可以達(dá)到實(shí)際應(yīng)用需求.如要進(jìn)一步提高應(yīng)用效果,除了繼續(xù)優(yōu)化算法,還可以從提高處理器性能和采用高速相機(jī)角度進(jìn)行解決.