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