李欣穎 童宣科






摘要:為了提高安全性和便捷性,尤其是在疫情背景下,應避免使用者因接觸門把手而造成交疾病的叉污染。本文設計了一種非接觸式的虛擬門把手,可用來代替傳統門把手在現實生活中的作用。該虛擬門把手采用樹莓派作為主控芯片,通過攝像頭采集實時畫面和用戶手勢,門鎖模塊用于實現開鎖和反鎖的功能;該虛擬門把手還具有人臉識別功能,保障用戶的安全和隱私。測試結果表明,該虛擬門把手能夠實現人臉識別,并在用戶做出指定手勢時實現開鎖或反鎖的功能,達到了預期的設計目標。
關鍵詞:人臉識別;手勢識別;樹莓派;卷積神經網絡
據調查顯示,高校的公共設施存在不同程度的微生物污染,門把手上的污染最為嚴重,其中大腸菌群有可能造成腸道外感染或急性腹瀉[1];2020年2月,廣州市疾病預防控制中心在一名確診患者家中門把手上發現了新型冠狀病毒的核酸,專家提醒我們日常家居細節中,有許多可能造成病毒間接傳播的途徑,容易為人所忽略。對于普通社區居民,風險更多來自于間接接觸:如果病毒附著在物體表面,自己的手觸摸到被污染的物體表面后進食、揉眼睛等動作,可能會造成自己感染[2]。
門把手作為日常中使用頻繁的設施,通常與門鎖結合以實現開門、關門和反鎖的功能。傳統的門把手需要與人員發生手部接觸,因此細菌病毒等會附著在門把手上,造成交叉感染。為了防止細菌病毒通過門把手傳播,降低人民群眾的感染風險,本項目設計了一款基于機器學習的虛擬門把手,可通過開關門手勢實現開門、關門和反鎖的功能,避免人員與門把手的直接接觸。此外,本項目設計的虛擬門把手有人臉識別功能,通過與磁吸式門鎖結合,保障了用戶的隱私與安全,更具有方便快捷、操作方法簡單等優點。
1設計思路
對本項目的需求進行分析后,畫出了該系統的原理框圖,如圖1所示。本項目采用了模塊化的思想,方便結構搭建和測試。其中,攝像頭模塊用于采集獲取用戶的實時畫面圖像信息,并將圖像信息傳輸給嵌入式主控板,以進行人臉識別和手勢判斷。門鎖模塊用于實現開門、關門和反鎖的功能,當用戶進入攝像頭區域內喚醒主控,點亮顯示屏并人臉識別成功后,用戶可做出開關門的手勢,門鎖模塊可以做出相應的反應,即能夠完成非接觸式開門和關門的動作,降低了因接觸門把手而感染細菌病毒的風險;執行反鎖手勢指令后,只能通過用戶在門的這一側做出開鎖的手勢來打開門鎖,而在門的另一側無法打開。顯示模塊用于顯示實時畫面和提示信息,用戶根據顯示模塊上的提示完成指定手勢,避免因手勢不規范或超出檢測范圍而發生手勢識別錯誤。電源模塊用于對整套裝置供電,保證裝置正常運行。
2方案選擇
本設計主控采用高速微處理器第三代樹莓派計算模塊,擁有1 GB RAM(隨機存取存儲器,RandomAccess Memory),1.2 GHz 主頻的博通BCM2837 處理器。其體積微小,板載外設接口豐富,包括4個USB(通用串行總線,Universal Serial Bus)端口、DSI (顯示串行接口,Display Serial Interface)顯示、HDMI(高清多媒體接,High Definition Multimedia Interface)、以及40個GPIO(通用輸入輸出端口,General Purpose Input/Output Port)接口,是一款運算能力強勁的基于Linux 的微型計算機。
開門、關門功能通過門鎖模塊實現。常用的門鎖有插芯式門鎖和電磁門鎖兩種。插芯式門鎖有單設按鈕插芯門鎖和雙舌插芯門鎖等分類,安裝復雜,不便于控制。電磁門鎖利用電磁鐵的原理,依靠電力產生磁力,拉住門鎖,具有安裝簡單,易于控制的優點。因此,本設計中采用的是常閉式電磁門鎖,通過磁力使門鎖閉合,收到單片機控制信號后門鎖打開。本設計選用的磁吸式門鎖具有280 kg直線拉力,吸力穩定,且配備220 V交流轉12 V直流供電,電源裝配簡單。
采集用戶面部和手部信息通過攝像頭模塊實現。本項目中,攝像頭模塊選用1 080 P高清攝像頭,并具有130°廣角,可以充分滿足信息采集需要。兼容樹莓派和Windows等多種系統,采集到的圖像數據通過USB 接口能夠直接傳遞給樹莓派主控芯片。
顯示模塊采用4.3″IPS (橫向電場效應顯示技術)顯示屏,分辨率為800×480像素,具有MIPI(移動產業處理器接口,Mobile Industry Processor Interface)DSI 接口,與樹莓派模塊相匹配。3.3 V電源供電時,功耗300 mW,是一款低功耗顯示屏。顯示模塊用于顯示攝像頭拍到的實時畫面和提示信息,形成良好的人機交互。
3方案實施
3.1主程序流程
如圖2所示,該系統由電磁門鎖、攝像頭和顯示屏組成。電磁門鎖用于控制門的開關,攝像頭固定于門上,S1為用戶到攝像頭的距離。
圖3是主程序流程圖。當有用戶進入檢測區域時,首先對其進行人臉識別,判斷是否為合法用戶,若為非法用戶,則在顯示屏上顯示非法操作;若判斷為合法用戶,則等待其手勢指令,如開門或反鎖指令。
3.2人臉識別和手勢識別
通過攝像頭拍攝實時畫面,對用戶進行人臉識別和手勢識別。
人臉識別采用了OpenCV(開源計算機視覺)自帶的人臉特征分類器haarcascade_frontalface_alt2.xml。首先錄入合法用戶的人臉照片信息并保存,接著直接調用人臉特征分類器進行人臉識別。
手勢識別采用了自制數據集和自制訓練模型。自制數據集邀請了4位不同手形大小的實驗參與者采集其做出的手勢,每人做出3種手勢,每種手勢錄入240張64×64×3的RGB(紅綠藍)圖像,共2 880張圖像。打亂順序后,隨機抽取2 160張圖像作為訓練集,其余720張圖像作為測試集。為了增加樣本數量,增強模型的泛化性,項目中采用了數據增強,降低了過擬合的風險。建立好每張圖片對應的標簽后,構建CNN(卷積神經網絡,Convolutional Neural Network)網絡。本項目的CNN網絡模型如圖3所示,模型順序連接,四次卷積池化,再接一個全連接隱藏層和一個輸出層。其中兩次卷積核均為3×3像素,使用ReLU激活函數,兩次池化均采用最大池化。全連接隱藏層使用ReLU激活函數,輸出層采用softmax激活函數,由于本項目種共有3種手勢需要識別,所以輸出層神經元個數為3。
為了防止其他未知的手勢引起識別錯誤,程序對進行手勢判斷做出了改進。得益于softmax激活函數,使得模型預測的三個輸出值都在0到1之間,且三個輸出值相加等于1。于是只需判斷預測結果中的輸出值是否大于某個規定值,若大于才能被判斷為有效手勢,若為無效手勢,則不執行操作。
3.3門鎖開鎖和反鎖
門鎖的開鎖與反鎖由樹莓派主控芯片控制電磁門鎖實現。
圖5為門鎖電源接線示意圖。電磁門鎖的正、負極分別連接NC和COM端,在此連接方式下,門鎖為常閉狀態。門打開后,兩磁鐵靠近自動吸合關閉。樹莓派主控芯片控制門鎖IO口接到PUSH端,用于控制門鎖打開或反鎖。執行開鎖指令時,控制IO口輸出高電平,經過變壓器升壓后達到12 V,控制門鎖打開。接收到反鎖命令后,程序記錄反鎖標志位,從另一側開門時若反鎖標志位為1,則不能打開門。
4調試與測試
在訓練自制模型的過程中,使用一臺處理器為Intel Core i7-1065G7、主頻1.30 GHz,機帶RAM為32.0 GB的計算機。圖4給出了模型訓練時的參數變化,從中可以看出,15輪內模型訓練集和測試集的準確率都達到95%以上,損失率均為15%以下。
在基于樹莓派計算模塊的系統功能測試中,邀請了5位同學在不同背景、不同光照環境下對系統進行了測試。測試結果表明,本系統能夠實現對用戶的手勢識別和人臉識別,當S1在30cm~50 cm之間時識別效果最好,人臉識別成功率為95%,手勢識別成功率為93%,手勢解鎖指令識別成功后,門鎖解鎖時間為1s。
5結語
本項目基于樹莓派單片機和卷積神經網絡,實現了可以用手勢控制的虛擬門把手功能。經過測試,該虛擬門把手具有人臉識別、手勢識別的功能,可以根據用戶的手勢執行指令,完成對門鎖的控制。未來將收集更多手部圖像作為訓練數據集以進一步提高模型準確率,提高系統在不同環境下的適應能力,并嘗試用電插芯門鎖代替電磁門鎖,以完善門鎖的安全性問題。
參考文獻:
[1]白靖.濟南市某高校公共設施和公共用品微生物污染狀況調查[J].科技視界,2017,(34):22+15.
[2]喬靖芳,王楠.門把手上檢測出病毒![N].健康時報,2020-02- 07(002).
[3]RS Components和Allied Electronics現可供貨樹莓派3計算模塊[J].單片機與嵌入式系統應用,2017,17(03):74.
[4]邵曉康,張恒,田春子,等.OpenCV算法的人臉識別在課堂簽到系統上的分析與研究[J].電子世界,2021(23):31-32.
[5]王強宇.基于深度神經網絡的動態手勢識別技術研究[D].徐州:中國礦業大學,2019.