強宇佶 申雙琴
(桂林理工大學 信息科學與工程學院嵌入式系統與智能計算實驗室,廣西 桂林541004)
近年來,人們物質水平提高,同時對家居安全的要求不斷提高,安防設備和智能家居逐漸進入我們的視線。傳統的卡片和密碼式的門禁系統因其易丟失、功能單一且安全性低等缺點,逐步被各種生物識別技術取而代之。其中人臉識別因其具有非接觸式、不易被仿造、識別率較高的優勢,將其引入到門禁系統,具有廣泛的應用價值和市場前景。本文將嵌入式與人臉識別技術相結合,設計了一種基于STM32 的人臉識別門禁系統。
本系統主要以STM32 系列單片機作為微控制器,以串口觸摸屏為人機交互窗口,用戶通過矩陣鍵盤鍵入進行模式選擇,通過LCD 屏幕獲取操作信息,選擇人臉識別模式時可以通過人臉識別進行開門操作,選擇密碼模式可以通過矩陣鍵盤輸入密碼進行開門操作,同時對開門的數據進行記錄,也可以通過串口助手將開門記錄發送到上位機,在上位機上查看所有用戶何時何種方法開門。此外,添加了訪客模式、管理員模式,用戶選擇訪客模式可以模擬門鈴,提醒主人開門,選擇管理員模式,正確輸入管理員密碼可以查看所有用戶與密碼等,讓系統變得更加實用。系統的硬件部分包括人臉識別模塊、模擬門禁模塊及按鍵與顯示模塊。軟件部分包括對人臉進行追蹤與檢測,在錄入人臉后對采集到的人臉數據進行特征的分析與訓練,識別時對檢測到的人臉進行辨識,同時因為樹莓派的操作系統是基于Debian 的Linux 系統即“R aspbian 操作系統”,因其本身具有的局限性,獲取的圖像幀數較低,所以使用跳幀計算提高幀數。實現人臉識別、密碼開鎖、報警系統、查看開鎖記錄、增加指定用戶等功能,總體系統框圖如圖1 所示。
系統選用了高效的STM32F103C8T6,STM32 使用了以ARM Cortex 為內核的高性能微處理器,其工作頻率高,內置存儲器,有多種省電工作模式,可以保證低功耗應用的運行,適用于多種應用場合,并且性價比高。因為其IO 口數量少,所以選用了IIC 接口的2004LCD 屏幕,僅使用兩個IO 口就可以完成對屏幕的控制。對人臉識別功能的實現,選擇了卡片電腦,Raspberry Pi 即樹莓派,樹莓派搭載的是博通的BCM2835 處理器,可以直接運行Linux 操作系統。采用OpenCV 來進行對人臉進行追蹤以及識別,因為樹莓派提供了各種接口,包括GPIO、IIC 等接口,可以直接傳輸數據并進控制,因此采用在樹莓派上對OpenCV 進行環境搭建。攝像頭選擇了CSI 接口的攝像頭。為了存儲與記錄開鎖數據,即開鎖用戶、方式,開鎖時間數據,需要使用時鐘模塊,選擇Tiny RTC 時鐘。輸入密碼,使用一個矩陣鍵盤就可完成。模擬門禁模塊,使用了MH-FMD 無源蜂鳴器、JQC-3FF 繼電器與LED 燈,在開鎖時發出提示音與亮起燈光,以此來模擬門禁的開關。

圖1 人臉識別門禁總體系統框圖
人臉識別模塊由樹莓派3 代與樹莓派攝像頭組成,通過USB 口進行通電。樹莓派作為現在最流行的卡片電腦,相對于單片機,可以裝系統,做服務器,通過鼠標鍵盤進行控制,可以直接連接WiFi,同時也具備單片機的基本所有功能;相對于電腦,體積小,可隨身攜帶,擁有IO 口,可進行模塊編程[1]。在樹莓派上可以輕松完成對Raspbian 系統以及OpenCV 開發環境的搭建,因此將樹莓派用作人臉識別模塊,更加的高效,并且性能要更高[2]。
通過MH-FMD 蜂鳴器、JQC-3FF 繼電器與LED 燈模擬門禁模塊。MH-FMD 蜂鳴器正常工作電壓為3.3V~5V,正常通電后,從I/O 引腳接收到來自STM32 的低電平信號后,蜂鳴器發出聲音[3]。用JQC-3FF 繼電器與LED 燈模擬成功開鎖后,綠燈常亮保持10 秒,模擬保持開門狀態10 秒。MH-FMD 蜂鳴器電路原理圖如圖2 所示。

圖2 MH-FMD 蜂鳴器電路原理圖
系統整體通過矩陣鍵盤控制,在LCD 顯示屏上顯示操作信息與實時時間。STM32F103C8T6 的IO 口數量少,因此選用了IIC 接口的2004LCD 顯示屏,該顯示屏只需使用兩個IO 口就可以完成對屏幕的控制[4]。輸入密碼以及選擇模式的操作則通過使用一個矩陣鍵盤來實現。并且使用Tiny RTC 時鐘,該時鐘自帶電源,可以實現顯示實時時間以及記錄開門時間[5]。4*4 矩陣鍵盤原理圖如圖3 示。輸入密碼不按下確定鍵,系統不會進行打斷,除非密碼輸入超出長度限制或按下退出鍵。
實驗場地選擇在室內,將攝像頭呈四十五度放置在水平桌面上進行測試。選擇人臉識別模式,發現用戶在經過人臉錄入并訓練后,在距離攝像頭大約45cm 范圍內,可以正確進行人臉識別功能。選擇密碼模式,用戶輸入正確即可開門,反之則無法開門,密碼模式運行正常。選擇管理員模式,用戶正確輸入管理員密碼后,可以正常完成查看所有用戶密碼、新增用戶密碼,發送開門記錄至上位機的操作,管理員模式運行正常。模擬門禁在開鎖成功或失敗時,都能正常運行相應功能。根據此次實驗調試的各項數據顯示,該人臉識別門禁系統設計在各種模式下均無明顯異常,基本實現功能要求。
本文將人臉識別門禁與各種實用功能進行結合,在對軟硬件進行多次測試與完善后,成功地設計并實現了具有一定實用價值的智能家居人臉識別門禁系統,該系統在完成對用戶的人臉訓練后,可以通過人臉識別進行開門操作,當用戶不便使用人臉識別模式時,可以通過矩陣鍵盤選擇密碼開鎖模式,輸入正確密碼后即可完成開鎖,同時設置模擬門鈴以及管理員模式,正確輸入管理員密碼可以查看密碼,添加密碼以及發送開門記錄至上位機,可以通過上位機查詢所有開門記錄,系統功能齊全,基本上能夠滿足家庭需求,可實踐性強。

圖3 4*4 矩陣鍵盤原理圖
通過Raspbian 系統命令進行人臉錄入操作,用戶正對攝像頭,由樹莓派攝像頭通過Haar 特征檢測采集并錄入人臉,攝像頭會拍攝100 張照片,對拍攝到的人臉圖像進行特征提取與特性選擇,進行訓練。完成這些過程后,用戶就可通過Lbp 算法進行人臉辨別。開鎖成功主控板發送低電平信號至繼電器,LED亮起綠燈保持十秒,模擬保持開門狀態十秒,開鎖失敗則由蜂鳴器發出警報。所有操作都通過按鍵控制,A、B、C、D 鍵分別表示人臉識別開鎖、密碼開鎖、訪客模式、管理員模式,在顯示屏上顯示由RTC 時鐘控制的實時時間與操作提示。矩陣鍵盤模塊按下按鍵發布信號量,并且在密碼輸入部分,選擇使用完全等待,