米智恬,祁圣恩,趙璐唯,于 睿,宋曉林,任相花
(哈爾濱理工大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,黑龍江 哈爾濱 150080)
進入21 世紀(jì),我國的科學(xué)技術(shù)水平日益增長,越來越多的新技術(shù)已經(jīng)融入到了我們的日常生活和管理當(dāng)中,對學(xué)生公寓的管理也不例外。學(xué)生公寓作為高校最重要的學(xué)生活動場所,對公寓的管理成了校園管理的重中之重。然而隨著高校擴招、大學(xué)生人數(shù)急劇增長,公寓樓的數(shù)量也在日益增長,如何管理這些學(xué)生公寓成了最令人頭疼的問題[1]。同時,家長、外賣員、快遞員等外來人員不斷增加,管理員無法保證百分之百地控制相關(guān)人員的進出,管理難度急劇增大。
人臉識別是最近幾年大熱的生物識別技術(shù),與其他生物特征,如:虹膜、指紋、掌紋等相比,人臉特征更加易于提取、對比、友好、快速等優(yōu)點[2]。在學(xué)生公寓的門禁系統(tǒng)內(nèi)使用人臉識別這種生物識別技術(shù)既能幫助管理員更加精準(zhǔn)地排除外來人員或非該公寓人員,又可以大大減少公寓管理員的工作量和工作難度,可謂是一舉兩得。
高校學(xué)生公寓管理系統(tǒng)包括軟件系統(tǒng)及硬件系統(tǒng)兩部分,其中軟件系統(tǒng)包括管理客戶端、服務(wù)器與手機客戶端。公寓出入口硬件系統(tǒng)由單片機、圖像采集模塊、RFID讀卡模塊、網(wǎng)絡(luò)傳輸模塊等部件組成。管理客戶端負(fù)責(zé)采集用戶信息,完成身份認(rèn)證,實現(xiàn)對公寓出入口的管理控制;服務(wù)器存儲和管理所有用戶數(shù)據(jù);采用微信公眾平臺開發(fā),用戶可以通過掃描二維碼或者登陸小程序的方式上傳自己的面部圖像、手機號、學(xué)號、所屬樓號等個人信息,這些信息由服務(wù)器收集整理后發(fā)給指定的公寓樓客戶端,用于用戶出入樓宇的身份驗證。管理人員也可用手機客戶端發(fā)送廣播,如失物招領(lǐng)、停水停電通知、提醒用戶及時歸寢等。
公寓管理系統(tǒng)的設(shè)計包括硬件設(shè)計和軟件設(shè)計。硬件設(shè)計包括閘門設(shè)計和人臉信息采集識別的設(shè)計。軟件設(shè)計主要包括人臉識別模塊的設(shè)計和公寓管理系統(tǒng)的設(shè)計。具體如圖1 所示。
其中最關(guān)鍵的環(huán)節(jié)為人臉識別模塊設(shè)計,人臉識別模塊開發(fā)時使用的語言是Python,開發(fā)使用的集成環(huán)境是PyCharm2019,所使用的工具為OpenCV3 與Dlib 開源工具包。
PyCharm 是一個專門為設(shè)計Python 程序而研發(fā)的集成開發(fā)環(huán)境,是目前在Python 社區(qū)內(nèi)最流行的IDE。
OpenCV3 是一個跨平臺的計算機視覺庫。有專門為Python 設(shè)計的接口包opencv_python.whl,其中包含很多計算機視覺庫,能滿足該模塊絕大部分的需求。
圖1 系統(tǒng)總體設(shè)計示意圖
圖2 人臉識別的基本流程
人臉識別首先進行圖像采集,然后是檢測人臉,對人臉的圖像進行預(yù)處理,提取特征,將提取的特征值與人臉庫進行比對匹配。人臉識別的基本流程如圖2 所示。
圖像采集利用攝像頭要進行人臉識別,前提是要采集到人臉,在多彩的背景中過濾掉其他圖像,將需要的人臉分離出來,也就是判斷出圖像中是否有人臉。首先借助于攝像頭采集人臉信息,采用應(yīng)用廣且經(jīng)典的Harr+AdaBoost 檢測算法,依據(jù)人臉膚色等特征定位人臉區(qū)域并排除其他干擾性的背景元素。如果有多個人臉被定位則需要多個空間來保存人臉位置,然后把人臉圖像中包含的結(jié)構(gòu)信息、顏色信息等特征提取出來,轉(zhuǎn)化為數(shù)據(jù)用于后續(xù)人臉識別,人臉識別操作本質(zhì)是人臉特征的對比。該檢測算法有較高的檢測率、對光線、膚色以及角度有一定變化的人臉檢測的魯棒性高。
AdaBoost 人臉檢測算法實質(zhì)是一種模式分類過程,由訓(xùn)練和檢測兩過程組成。判斷圖片中是否存在人臉的算法流程如圖3 所示。
圖3 人臉檢測流程圖
攝像頭采集照片經(jīng)常受背景、光照、姿態(tài)等干擾因素影響,實際獲取的圖像并不太能直接用于人臉識別,同時人臉也會有一定的傾斜角度,基本不會與攝像機成水平狀態(tài),基于以上原因在很大程度上影響人臉識別的精度,這就需要將圖像進行預(yù)處理,將圖像中相對重要的,有用的信息更加明顯突出地展現(xiàn)出來,弱化乃至剔除噪點(相對無用或次要的信息),從而提高識別的準(zhǔn)確率,圖像預(yù)處理不會改變原始圖像的特征。使圖像盡可能達(dá)到最理想的狀態(tài),圖像預(yù)處理結(jié)果的好壞程度將直接影響人臉識別的最終結(jié)果。
圖4 人臉識別基本過程
特征提取過程是根據(jù)開源的68D 人臉關(guān)鍵點檢測器定位人臉面部關(guān)鍵點,使用卷積神經(jīng)網(wǎng)絡(luò)CNN 圖像模型中的深度殘差網(wǎng)絡(luò)ResNet 人臉識別模型將面部特征提取出來。
人臉信息采集完成后,進行持續(xù)識別,同樣對畫面中的人臉采集128 個特征點,與數(shù)據(jù)庫當(dāng)中的人臉特征進行對比。通過計算特征值之間的歐氏距離來判斷人臉差異大小,進而來判斷是否為數(shù)據(jù)庫中已經(jīng)存在的人臉,識別基本過程如圖4 所示。
人臉識別模塊會持續(xù)識別進入攝像頭的人臉,一旦識別到人臉,該模塊會自動采集該人臉特征,進行灰度化與歸一化的處理,在進入數(shù)據(jù)庫與數(shù)據(jù)庫中已經(jīng)存在的人臉特征進行對比,進而實現(xiàn)門禁的功能。為了保證學(xué)生有充足的時間通過閘機,一旦識別成功,程序?qū)⒋蜷_閘機阻塞該模塊3 秒鐘,之后關(guān)閉閘機等待。
通過模擬測試,系統(tǒng)的軟硬件系統(tǒng)可協(xié)調(diào)工作,當(dāng)人臉識別通過時,閘門打開,人臉識別率可達(dá)到90%,一個人測試通過需要8 秒,識別的速度關(guān)鍵在于人臉庫的大小,本測試采用100 人的庫,通過學(xué)生先刷學(xué)生卡確定身份后,人臉的比對變成只和庫中一個圖像的比對,速度變?yōu)? 秒鐘,大大提高了識別速度。基于人臉識別的公寓管理系統(tǒng),可以有效保障公寓的安全管理,在當(dāng)前疫情時期,采用人臉識別的管理系統(tǒng),能夠極大減輕公寓管理人員的工作量,很好保障學(xué)生的安全。