強(qiáng)宇佶 申雙琴
(桂林理工大學(xué) 信息科學(xué)與工程學(xué)院嵌入式系統(tǒng)與智能計(jì)算實(shí)驗(yàn)室,廣西 桂林541004)
近年來(lái),人們物質(zhì)水平提高,同時(shí)對(duì)家居安全的要求不斷提高,安防設(shè)備和智能家居逐漸進(jìn)入我們的視線。傳統(tǒng)的卡片和密碼式的門(mén)禁系統(tǒng)因其易丟失、功能單一且安全性低等缺點(diǎn),逐步被各種生物識(shí)別技術(shù)取而代之。其中人臉識(shí)別因其具有非接觸式、不易被仿造、識(shí)別率較高的優(yōu)勢(shì),將其引入到門(mén)禁系統(tǒng),具有廣泛的應(yīng)用價(jià)值和市場(chǎng)前景。本文將嵌入式與人臉識(shí)別技術(shù)相結(jié)合,設(shè)計(jì)了一種基于STM32 的人臉識(shí)別門(mén)禁系統(tǒng)。
本系統(tǒng)主要以STM32 系列單片機(jī)作為微控制器,以串口觸摸屏為人機(jī)交互窗口,用戶通過(guò)矩陣鍵盤(pán)鍵入進(jìn)行模式選擇,通過(guò)LCD 屏幕獲取操作信息,選擇人臉識(shí)別模式時(shí)可以通過(guò)人臉識(shí)別進(jìn)行開(kāi)門(mén)操作,選擇密碼模式可以通過(guò)矩陣鍵盤(pán)輸入密碼進(jìn)行開(kāi)門(mén)操作,同時(shí)對(duì)開(kāi)門(mén)的數(shù)據(jù)進(jìn)行記錄,也可以通過(guò)串口助手將開(kāi)門(mén)記錄發(fā)送到上位機(jī),在上位機(jī)上查看所有用戶何時(shí)何種方法開(kāi)門(mén)。此外,添加了訪客模式、管理員模式,用戶選擇訪客模式可以模擬門(mén)鈴,提醒主人開(kāi)門(mén),選擇管理員模式,正確輸入管理員密碼可以查看所有用戶與密碼等,讓系統(tǒng)變得更加實(shí)用。系統(tǒng)的硬件部分包括人臉識(shí)別模塊、模擬門(mén)禁模塊及按鍵與顯示模塊。軟件部分包括對(duì)人臉進(jìn)行追蹤與檢測(cè),在錄入人臉后對(duì)采集到的人臉數(shù)據(jù)進(jìn)行特征的分析與訓(xùn)練,識(shí)別時(shí)對(duì)檢測(cè)到的人臉進(jìn)行辨識(shí),同時(shí)因?yàn)闃?shù)莓派的操作系統(tǒng)是基于Debian 的Linux 系統(tǒng)即“R aspbian 操作系統(tǒng)”,因其本身具有的局限性,獲取的圖像幀數(shù)較低,所以使用跳幀計(jì)算提高幀數(shù)。實(shí)現(xiàn)人臉識(shí)別、密碼開(kāi)鎖、報(bào)警系統(tǒng)、查看開(kāi)鎖記錄、增加指定用戶等功能,總體系統(tǒng)框圖如圖1 所示。
系統(tǒng)選用了高效的STM32F103C8T6,STM32 使用了以ARM Cortex 為內(nèi)核的高性能微處理器,其工作頻率高,內(nèi)置存儲(chǔ)器,有多種省電工作模式,可以保證低功耗應(yīng)用的運(yùn)行,適用于多種應(yīng)用場(chǎng)合,并且性價(jià)比高。因?yàn)槠銲O 口數(shù)量少,所以選用了IIC 接口的2004LCD 屏幕,僅使用兩個(gè)IO 口就可以完成對(duì)屏幕的控制。對(duì)人臉識(shí)別功能的實(shí)現(xiàn),選擇了卡片電腦,Raspberry Pi 即樹(shù)莓派,樹(shù)莓派搭載的是博通的BCM2835 處理器,可以直接運(yùn)行Linux 操作系統(tǒng)。采用OpenCV 來(lái)進(jìn)行對(duì)人臉進(jìn)行追蹤以及識(shí)別,因?yàn)闃?shù)莓派提供了各種接口,包括GPIO、IIC 等接口,可以直接傳輸數(shù)據(jù)并進(jìn)控制,因此采用在樹(shù)莓派上對(duì)OpenCV 進(jìn)行環(huán)境搭建。攝像頭選擇了CSI 接口的攝像頭。為了存儲(chǔ)與記錄開(kāi)鎖數(shù)據(jù),即開(kāi)鎖用戶、方式,開(kāi)鎖時(shí)間數(shù)據(jù),需要使用時(shí)鐘模塊,選擇Tiny RTC 時(shí)鐘。輸入密碼,使用一個(gè)矩陣鍵盤(pán)就可完成。模擬門(mén)禁模塊,使用了MH-FMD 無(wú)源蜂鳴器、JQC-3FF 繼電器與LED 燈,在開(kāi)鎖時(shí)發(fā)出提示音與亮起燈光,以此來(lái)模擬門(mén)禁的開(kāi)關(guān)。
圖1 人臉識(shí)別門(mén)禁總體系統(tǒng)框圖
人臉識(shí)別模塊由樹(shù)莓派3 代與樹(shù)莓派攝像頭組成,通過(guò)USB 口進(jìn)行通電。樹(shù)莓派作為現(xiàn)在最流行的卡片電腦,相對(duì)于單片機(jī),可以裝系統(tǒng),做服務(wù)器,通過(guò)鼠標(biāo)鍵盤(pán)進(jìn)行控制,可以直接連接WiFi,同時(shí)也具備單片機(jī)的基本所有功能;相對(duì)于電腦,體積小,可隨身攜帶,擁有IO 口,可進(jìn)行模塊編程[1]。在樹(shù)莓派上可以輕松完成對(duì)Raspbian 系統(tǒng)以及OpenCV 開(kāi)發(fā)環(huán)境的搭建,因此將樹(shù)莓派用作人臉識(shí)別模塊,更加的高效,并且性能要更高[2]。
通過(guò)MH-FMD 蜂鳴器、JQC-3FF 繼電器與LED 燈模擬門(mén)禁模塊。MH-FMD 蜂鳴器正常工作電壓為3.3V~5V,正常通電后,從I/O 引腳接收到來(lái)自STM32 的低電平信號(hào)后,蜂鳴器發(fā)出聲音[3]。用JQC-3FF 繼電器與LED 燈模擬成功開(kāi)鎖后,綠燈常亮保持10 秒,模擬保持開(kāi)門(mén)狀態(tài)10 秒。MH-FMD 蜂鳴器電路原理圖如圖2 所示。
圖2 MH-FMD 蜂鳴器電路原理圖
系統(tǒng)整體通過(guò)矩陣鍵盤(pán)控制,在LCD 顯示屏上顯示操作信息與實(shí)時(shí)時(shí)間。STM32F103C8T6 的IO 口數(shù)量少,因此選用了IIC 接口的2004LCD 顯示屏,該顯示屏只需使用兩個(gè)IO 口就可以完成對(duì)屏幕的控制[4]。輸入密碼以及選擇模式的操作則通過(guò)使用一個(gè)矩陣鍵盤(pán)來(lái)實(shí)現(xiàn)。并且使用Tiny RTC 時(shí)鐘,該時(shí)鐘自帶電源,可以實(shí)現(xiàn)顯示實(shí)時(shí)時(shí)間以及記錄開(kāi)門(mén)時(shí)間[5]。4*4 矩陣鍵盤(pán)原理圖如圖3 示。輸入密碼不按下確定鍵,系統(tǒng)不會(huì)進(jìn)行打斷,除非密碼輸入超出長(zhǎng)度限制或按下退出鍵。
實(shí)驗(yàn)場(chǎng)地選擇在室內(nèi),將攝像頭呈四十五度放置在水平桌面上進(jìn)行測(cè)試。選擇人臉識(shí)別模式,發(fā)現(xiàn)用戶在經(jīng)過(guò)人臉?shù)浫氩⒂?xùn)練后,在距離攝像頭大約45cm 范圍內(nèi),可以正確進(jìn)行人臉識(shí)別功能。選擇密碼模式,用戶輸入正確即可開(kāi)門(mén),反之則無(wú)法開(kāi)門(mén),密碼模式運(yùn)行正常。選擇管理員模式,用戶正確輸入管理員密碼后,可以正常完成查看所有用戶密碼、新增用戶密碼,發(fā)送開(kāi)門(mén)記錄至上位機(jī)的操作,管理員模式運(yùn)行正常。模擬門(mén)禁在開(kāi)鎖成功或失敗時(shí),都能正常運(yùn)行相應(yīng)功能。根據(jù)此次實(shí)驗(yàn)調(diào)試的各項(xiàng)數(shù)據(jù)顯示,該人臉識(shí)別門(mén)禁系統(tǒng)設(shè)計(jì)在各種模式下均無(wú)明顯異常,基本實(shí)現(xiàn)功能要求。
本文將人臉識(shí)別門(mén)禁與各種實(shí)用功能進(jìn)行結(jié)合,在對(duì)軟硬件進(jìn)行多次測(cè)試與完善后,成功地設(shè)計(jì)并實(shí)現(xiàn)了具有一定實(shí)用價(jià)值的智能家居人臉識(shí)別門(mén)禁系統(tǒng),該系統(tǒng)在完成對(duì)用戶的人臉訓(xùn)練后,可以通過(guò)人臉識(shí)別進(jìn)行開(kāi)門(mén)操作,當(dāng)用戶不便使用人臉識(shí)別模式時(shí),可以通過(guò)矩陣鍵盤(pán)選擇密碼開(kāi)鎖模式,輸入正確密碼后即可完成開(kāi)鎖,同時(shí)設(shè)置模擬門(mén)鈴以及管理員模式,正確輸入管理員密碼可以查看密碼,添加密碼以及發(fā)送開(kāi)門(mén)記錄至上位機(jī),可以通過(guò)上位機(jī)查詢所有開(kāi)門(mén)記錄,系統(tǒng)功能齊全,基本上能夠滿足家庭需求,可實(shí)踐性強(qiáng)。
圖3 4*4 矩陣鍵盤(pán)原理圖
通過(guò)Raspbian 系統(tǒng)命令進(jìn)行人臉?shù)浫氩僮?,用戶正?duì)攝像頭,由樹(shù)莓派攝像頭通過(guò)Haar 特征檢測(cè)采集并錄入人臉,攝像頭會(huì)拍攝100 張照片,對(duì)拍攝到的人臉圖像進(jìn)行特征提取與特性選擇,進(jìn)行訓(xùn)練。完成這些過(guò)程后,用戶就可通過(guò)Lbp 算法進(jìn)行人臉辨別。開(kāi)鎖成功主控板發(fā)送低電平信號(hào)至繼電器,LED亮起綠燈保持十秒,模擬保持開(kāi)門(mén)狀態(tài)十秒,開(kāi)鎖失敗則由蜂鳴器發(fā)出警報(bào)。所有操作都通過(guò)按鍵控制,A、B、C、D 鍵分別表示人臉識(shí)別開(kāi)鎖、密碼開(kāi)鎖、訪客模式、管理員模式,在顯示屏上顯示由RTC 時(shí)鐘控制的實(shí)時(shí)時(shí)間與操作提示。矩陣鍵盤(pán)模塊按下按鍵發(fā)布信號(hào)量,并且在密碼輸入部分,選擇使用完全等待,