文/郭向星 田斐
隨著大數(shù)據(jù)、深度學(xué)習(xí)、云計(jì)算、5G等技術(shù)的不斷完善,人臉識(shí)別精度越來(lái)越高,識(shí)別速度越來(lái)越快,從“刷臉進(jìn)站”、“刷臉簽到”到“刷臉付款”,生活中的方方面面都可以看到人臉識(shí)別技術(shù)的應(yīng)用。本設(shè)計(jì)創(chuàng)新地將人臉設(shè)別技術(shù)應(yīng)用到門(mén)鎖上,設(shè)計(jì)了智能人臉識(shí)別門(mén)鎖控制系統(tǒng)。
智能人臉識(shí)別門(mén)鎖控制系統(tǒng)總體設(shè)計(jì)結(jié)構(gòu)如圖1所示。
圖1:系統(tǒng)總體結(jié)構(gòu)框圖
本設(shè)計(jì)分為兩部分,首先在PC機(jī)上訓(xùn)練人臉識(shí)別模型,之后將訓(xùn)練好的模型導(dǎo)入到樹(shù)莓派中。采集模塊采集人臉照片后,樹(shù)莓派調(diào)用訓(xùn)練好的模型進(jìn)行判斷,樹(shù)莓派識(shí)別成功之后向繼電器模塊發(fā)出命令,樹(shù)莓派通過(guò)控制繼電器的吸合來(lái)控制電磁鎖的開(kāi)關(guān),同時(shí)指示模塊提醒門(mén)鎖開(kāi)否。
本設(shè)計(jì)采用的人臉識(shí)別模型是通過(guò)Tensorflow搭建的卷積神經(jīng)網(wǎng)絡(luò)模型來(lái)實(shí)現(xiàn)的,所使用的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)主要包括:輸入層、卷積層、池化層、全連接層和輸出層,具體結(jié)構(gòu)圖如圖2所示。
圖2:卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
(1)輸入層為訓(xùn)練或者判斷輸入的人臉圖像,經(jīng)過(guò)采集模塊的照片被裁剪為64×64之后輸入到輸入層中,該層的輸出為64×64大小的二維張量。
(2)卷積層就是輸入數(shù)據(jù)和卷積核進(jìn)行內(nèi)積運(yùn)算操作的層。在該層中,輸入的張量與卷積核進(jìn)行卷積運(yùn)算,卷積核提取張量的特征。
(3)池化層又稱為下采樣,就是為了減少卷積層產(chǎn)生的特征圖的尺寸而存在的,進(jìn)而降低網(wǎng)絡(luò)訓(xùn)練參數(shù)、提高運(yùn)算速度和防止過(guò)擬合。
(4)全連接層放在卷積層的末端,對(duì)神經(jīng)網(wǎng)絡(luò)前端提取的特征通過(guò)權(quán)值矩陣重新拼接成一個(gè)新的向量,在整個(gè)卷積神經(jīng)網(wǎng)絡(luò)中,全連接層起到分類(lèi)器的作用。
(5)輸出層輸出為兩單元,使用似然函數(shù)計(jì)算每個(gè)單元的似然概率,輸出最大的概率作為判斷結(jié)果。
圖3:主程序流程圖
系統(tǒng)上電之后,檢測(cè)攝像頭、觸摸開(kāi)關(guān)、繼電器、記錄模塊是否正常,若所有模塊均正常則讓指示燈閃爍兩次后關(guān)閉。若所有模塊均正常,則當(dāng)按下觸摸開(kāi)關(guān)時(shí),樹(shù)莓派發(fā)出命令,控制指示燈閃爍三次,提示正在采集人臉照片;當(dāng)采集照片之后,調(diào)用識(shí)別模型判斷是否為特定人,若識(shí)別為特定人,則樹(shù)莓派向繼電器發(fā)送指令打開(kāi)電磁鎖,同時(shí)藍(lán)色LED開(kāi)始閃爍,提示電磁鎖已打開(kāi),延遲30秒后關(guān)閉電磁鎖并停止閃爍指示燈,之后把識(shí)別成功的人臉照片通過(guò)記錄模塊上傳到云服務(wù)器,等待下一次判斷。若識(shí)別為非特定人則繼電器不動(dòng)作,并將采集到的人臉照片上傳到服務(wù)器,指示燈閃爍兩次,等待下一次判斷。主程序流程圖如圖3所示。
圖4:總實(shí)物圖
4.2.1 指示燈程序設(shè)計(jì)
指示燈有五種工作狀態(tài),分別是閃爍兩次、閃爍三次、一直閃爍、常亮和常滅。為了簡(jiǎn)化程序,將點(diǎn)亮指示燈的操作編寫(xiě)為閃爍函數(shù),通過(guò)向函數(shù)中傳入不同的數(shù)值來(lái)表示指示燈不同的工作狀態(tài)。
4.2.2 采集照片程序設(shè)計(jì)
采集照片的程序比較簡(jiǎn)單,只需不斷的掃描觸摸開(kāi)關(guān)是否被按下,若觸摸開(kāi)關(guān)按下,則樹(shù)莓派向攝像頭發(fā)送指令,采集照片保存到本地即可。
4.2.3 繼電器(電磁鎖)程序設(shè)計(jì)
電磁鎖需要12V的電源,因此通過(guò)繼電器來(lái)控制。控制繼電器的程序比較簡(jiǎn)單,只需對(duì)繼電器的輸入端賦初值高電平即可,當(dāng)需要打開(kāi)電磁鎖的時(shí)候就將繼電器的輸入端賦低電平,當(dāng)需要關(guān)閉電磁鎖的時(shí)候?qū)⒗^電器的輸入端賦高電平。
4.2.4 記錄模塊設(shè)定云服務(wù)器的密鑰,人臉識(shí)別器識(shí)別成功之后,樹(shù)莓派發(fā)出命令,調(diào)用上傳傳片函數(shù)向云服務(wù)器上傳識(shí)別成功的照片,保存名稱格式為“success20190520131401.jpg”;當(dāng)識(shí)別失敗時(shí),保存名稱格式為“fail2019052031402.jpg”。
功能測(cè)試時(shí),樹(shù)莓派上電之后,指示燈閃爍兩次后關(guān)閉,表明系統(tǒng)各個(gè)模塊正常。按下觸摸開(kāi)關(guān)后,指示燈閃爍三次開(kāi)始采集照片,采集照片之后等待樹(shù)莓派調(diào)用模型進(jìn)行判斷,系統(tǒng)能正常識(shí)別特定人并且開(kāi)鎖,實(shí)現(xiàn)了智能人臉識(shí)別門(mén)鎖控制系統(tǒng)的設(shè)計(jì),系統(tǒng)整體圖如圖4所示。但目前本設(shè)計(jì)受到樹(shù)莓派運(yùn)算速度的影響人臉識(shí)別速度較慢,在未來(lái)的設(shè)計(jì)中可嘗試使用運(yùn)算速度更快的控制器來(lái)解決識(shí)別速度慢的問(wèn)題。