周 宇, 楊國平, 劉 淼
(上海工程技術(shù)大學(xué) 機械與汽車工程學(xué)院, 上海 201620)
智慧城市建設(shè)不斷的推進,智能化產(chǎn)品的安全性和便捷性的研究越來越受重視,訾斌設(shè)計了一種新型指紋門鎖,通過限位擋塊實現(xiàn)門把手的換向開門;袁進等針對指紋智能門鎖識別慢,識別能力弱等問題,提出了基于現(xiàn)場可編程門陣列(FPGA)的指紋識別優(yōu)化方法。 隨著深度學(xué)習(xí)的興起,人臉識別等技術(shù)也逐漸應(yīng)用到智能家居,趙若禺、宋家松等人利用人臉識別技術(shù)作為門禁系統(tǒng)的身份驗證依據(jù),開發(fā)了一套智能門禁管理系統(tǒng),通過下位機完成人臉信息的采集,通過上位機完成人臉識別;劉廷泰、王斌等人同樣利用人臉識別技術(shù)遠程控制門鎖的開關(guān)。 人臉識別技術(shù)的相關(guān)應(yīng)用更是數(shù)不勝數(shù),于洋針對人臉識別技術(shù)如何賦能醫(yī)療產(chǎn)業(yè)進行了研究;周光權(quán)對人臉識別犯罪的關(guān)鍵問題展開了綜述;修揚、曹天杰等人研究了移動端使用人臉識別技術(shù)的安全性。 基于人臉識別智能門鎖識別存在速度慢,識別率低等問題,本文構(gòu)建基于Jetson Nano 和OpenCV 的智能門鎖系統(tǒng),設(shè)計一種新的智能門鎖來解決上述問題。
本文所構(gòu)建的基于Jetson Nano 和OpenCV 的智能門鎖系統(tǒng)包括硬件和軟件兩部分。
硬件包括:Jetson Nano、攝像頭、數(shù)字門鎖等。Jetson Nano 是NVIDIA 的小型人工智能計算機,提供了用于連接各種外接設(shè)備的接口、SD 卡插槽,用于與外接設(shè)備接口的40 針擴展接頭、用于有線網(wǎng)絡(luò)連接的千兆以太網(wǎng)端口,用于監(jiān)視器輸出的HDMI端口等。 開發(fā)系統(tǒng)所需要的主要硬件見表1。
表1 系統(tǒng)硬件表Tab.1 System hardware table
系統(tǒng)基于Linux 操作系統(tǒng),利用python 語言完成。 在Jetson Nano 上下載并安裝Jetpack 映像文件,連接外接設(shè)備并啟動Jetson Nano,根據(jù)引導(dǎo)創(chuàng)建用戶名、密碼,最終登陸成功就完成了啟動。
本文所提出的智能門鎖系統(tǒng)特點如下:
(1)使用通用CSI 相機捕獲真實的人臉并收集深度學(xué)習(xí)模型的訓(xùn)練數(shù)據(jù);
(2) Jetson Nano 是 配 備4 個GPU(Graphic Processing Unit)的小型人工智能計算機,用于在獨立的智能門系統(tǒng)中快速訓(xùn)練圖像數(shù)據(jù);
(3)使用OpenCV 庫進行實時圖像處理;
(4)使用Harr Cascade 算法進行面部檢測,該算法優(yōu)點是檢測速度快,準(zhǔn)確率高;
(5)面部識別使用OpenCV 庫中的LBPH(Local Binary Patterns Histograms)算法,該算法能夠快速處理特征;
(6) Jetson Nano 和數(shù)字門鎖的連接依賴于Jetson Nano 中的GPIO 端口。
CSI 攝像機通過移動行業(yè)處理器接口MIPI(Mobile Industry Processor Interface)連接到配備了深度學(xué)習(xí)庫的Jetson Nano 嵌入式系統(tǒng),通過GPIO(General Purpose Input Output)接口連接,最終識別到人臉特征,系統(tǒng)整體結(jié)構(gòu)如圖1 所示。
圖1 系統(tǒng)整體結(jié)構(gòu)Fig.1 Overall structure of system
模型的開發(fā)分為訓(xùn)練和預(yù)測兩步。
(1)通過相機收集圖像進行訓(xùn)練,使用基于管道的多媒體框架GStreamer 連接到Jetson Nano 的CSI 攝像機捕獲視頻,該框架能夠?qū)崿F(xiàn)各種媒體功能,如:音頻和視頻播放、流式傳輸和編輯,但在使用之前需要完成設(shè)置,包括獲取視頻的分辨率、顯示分辨率、幀速率和視頻輸出模式;Haar 級聯(lián)分類器是OpenCV 提供的一種基于深度學(xué)習(xí)的對象檢測算法,用于對攝像機圖像中的面部進行分類,將Haar級聯(lián)分類器應(yīng)用于所捕獲圖像的一個圖像幀,對面部圖像進行分類和存儲,重復(fù)該過程用以收集目標(biāo)面部的圖像來進行訓(xùn)練。
(2)預(yù)測,通過讀取訓(xùn)練數(shù)據(jù)來訓(xùn)練人臉識別模型,這些訓(xùn)練數(shù)據(jù)為真實的人臉圖像。 人臉識別模型使用OpenCV 的LBPH(Local Binary Patterns Histograms)算法,從訓(xùn)練的人臉圖像中提取特征,同時也可以通過該算法提取到一張不在訓(xùn)練數(shù)據(jù)庫中的人臉圖像特征,并計算該人臉特征和在庫中的特征相似度,通過將新面部圖像的特征與訓(xùn)練面部圖像的特征進行比較并測量可信度來進行面部識別。
需要識別的人臉圖像輸入模型可以得到置信度,將預(yù)測的置信度與閾值進行比較,如果閾值高于參考值,則打開門鎖,如果閾值小于參考值,則關(guān)閉門鎖。 使用Jetson Nano 的智能門控制程序的流程如圖2 所示。
圖2 智能門鎖控制流程圖Fig.2 Flow chart of controlling smart door
Jetson Nano 通過GPIO 接口控制數(shù)字門鎖,從攝像機圖像中讀取實時捕獲的圖像,檢測并分析人臉,通過分析結(jié)果來控制門的打開和關(guān)閉。 Jetson Nano 的GPIO 接口和門鎖通過D 型閂鎖連接,通過D 閂鎖通過電子方式連接或斷開門鎖開關(guān)的兩端來打開和關(guān)閉門。 基于Jetson Nano 的智能門鎖實物如圖3 所示。
圖3 Jetson Nano 控制門鎖Fig.3 Door lock controlling with Jetson Nano
收集目標(biāo)面部的100 張圖像進行訓(xùn)練,以用于解鎖門鎖。 首先,從攝像機圖像中讀取一幀并將其轉(zhuǎn)換為黑白圖像,通過將Har Cascade 面部分類器檢測出方形的面部區(qū)域;從框中切出的臉部的大小與被檢測區(qū)域的大小一樣,裁剪的臉部區(qū)域被規(guī)格化大小為200 × 200,轉(zhuǎn)換為黑白圖像并保存。 重復(fù)此過程100 次,收集到100 個訓(xùn)練目標(biāo)圖像。 面部圖像進行訓(xùn)練和收集樣本的過程,如圖4 所示。
圖4 面部圖像訓(xùn)練和收集的樣本過程Fig.4 Face images collection and training process
門鎖的開關(guān)由人臉識別模型的分析結(jié)果控制,人為設(shè)定閾值,系統(tǒng)從相機圖像中檢測出一張新臉,并使用經(jīng)過訓(xùn)練的AI 模型進行預(yù)測。 計算預(yù)測結(jié)果的置信度,即將預(yù)測圖像的結(jié)果與所有注冊過的人臉模型進行匹配,分別求出相似度,取最大的相似度為置信度,并將其與人為設(shè)置的閾值進行比較,本文中閾值設(shè)置為80%,如果置信度大于80%,則會通過Jetson Nano 的GPIO 接口輸出鎖釋放信號,將門鎖解鎖,由于具有一定時間延遲,使門鎖在一定時間內(nèi)保持解鎖狀態(tài)。
選一位已經(jīng)注冊好人臉數(shù)據(jù)的人物進行了兩次測試,將面部數(shù)據(jù)輸入到模型中,計算置信度87%和89%,可以打開門鎖。 如圖5 所示。
圖5 解鎖門鎖Fig.5 Unlocking the door
另外一組實驗采用了兩種方法,一種是前面的面部數(shù)據(jù)用貼圖的方式遮蓋住,輸入模型并計算置信度;另外一種是一個未注冊人臉數(shù)據(jù)的人物,將其面部數(shù)據(jù)輸入模型并計算置信度,結(jié)果分別為73%和74%,小于設(shè)定的閥值80%,門鎖并未打開,如圖6 所示。
圖6 鎖門鎖Fig.6 Locking the door
本文針對人臉識別智能門鎖識別速度慢,識別效率低等問題,構(gòu)建了基于Jetson Nano 和OpenCV的智能門鎖系統(tǒng),將人臉識別功能成功嵌入到普通智能門鎖上,通過設(shè)置閾值,計算置信度的方法來控制門鎖的開關(guān),本系統(tǒng)具有以下特點:
(1)使用100 張真人照片作為深度學(xué)習(xí)模型訓(xùn)練數(shù)據(jù),更加貼近真實環(huán)境;
(2)使用已經(jīng)經(jīng)過驗證且表現(xiàn)優(yōu)異的深度學(xué)習(xí)模型進行人臉識別;
(3)通過電腦端連接現(xiàn)有的數(shù)字門鎖進行控制。
使用基于特征的面部檢測算法和面部識別算法對系統(tǒng)進行了實驗,本文所提出的基于Jetson Nano和OpenCV 的智能門鎖系統(tǒng)能夠有效提高識別的快速性、可靠性及準(zhǔn)確性,具有一定的參考及實用價值。