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