基于機器學習的虛擬門把手設(shè)計與實現(xiàn)
摘要:為了提高安全性和便捷性,尤其是在疫情背景下,應(yīng)避免使用者因接觸門把手而造成交疾病的叉污染。本文設(shè)計了一種非接觸式的虛擬門把手,可用來代替?zhèn)鹘y(tǒng)門把手在現(xiàn)實生活中的作用。該虛擬門把手采用樹莓派作為主控芯片,通過攝像頭采集實時畫面和用戶手勢,門鎖模塊用于實現(xiàn)開鎖和反鎖的功能;該虛擬門把手還具有人臉識別功能,保障用戶的安全和隱私。測試結(jié)果表明,該虛擬門把手能夠?qū)崿F(xiàn)人臉識別,并在用戶做出指定手勢時實現(xiàn)開鎖或反鎖的功能,達到了預(yù)期的設(shè)計目標。
本文引用地址:http://m.butianyuan.cn/article/202207/436666.htm關(guān)鍵詞:人臉識別;手勢識別;樹莓派;卷積神經(jīng)網(wǎng)絡(luò)
項目支持:本課題得到廣西自治區(qū)區(qū)級大學生創(chuàng)新創(chuàng)業(yè)計劃項目支持
項目編號:202010595090
據(jù)調(diào)查顯示,高校的公共設(shè)施存在不同程度的微生物污染,門把手上的污染最為嚴重,其中大腸菌群有可能造成腸道外感染或急性腹瀉 [1];2020 年 2 月,廣州市疾病預(yù)防控制中心在一名確診患者家中門把手上發(fā)現(xiàn)了新型冠狀病毒的核酸,專家提醒我們?nèi)粘<揖蛹毠?jié)中,有許多可能造成病毒間接傳播的途徑,容易為人所忽略。對于普通社區(qū)居民,風險更多來自于間接接觸:如果病毒附著在物體表面,自己的手觸摸到被污染的物體表面后進食、揉眼睛等動作,可能會造成自己感染 [2]。
門把手作為日常中使用頻繁的設(shè)施,通常與門鎖結(jié)合以實現(xiàn)開門、關(guān)門和反鎖的功能。傳統(tǒng)的門把手需要與人員發(fā)生手部接觸,因此細菌病毒等會附著在門把手上,造成交叉感染。為了防止細菌病毒通過門把手傳播,降低人民群眾的感染風險,本項目設(shè)計了一款基于機器學習的虛擬門把手,可通過開關(guān)門手勢實現(xiàn)開門、關(guān)門和反鎖的功能,避免人員與門把手的直接接觸。此外,本項目設(shè)計的虛擬門把手有人臉識別功能,通過與磁吸式門鎖結(jié)合,保障了用戶的隱私與安全,更具有方便快 捷、操作方法簡單等優(yōu)點。
1 設(shè)計思路
對本項目的需求進行分析后,畫出了該系統(tǒng)的原理框圖,如圖 1 所示。本項目采用了模塊化的思想,方便結(jié)構(gòu)搭建和測試。其中,攝像頭模塊用于采集獲取用戶的實時畫面圖像信息,并將圖像信息傳輸給嵌入式主控板,以進行人臉識別和手勢判斷。門鎖模塊用于實現(xiàn)開門、關(guān)門和反鎖的功能,當用戶進入攝像頭區(qū)域內(nèi)喚醒主控,點亮顯示屏并人臉識別成功后,用戶可做出開關(guān)門的手勢,門鎖模塊可以做出相應(yīng)的反應(yīng),即能夠完成非接觸式開門和關(guān)門的動作,降低了因接觸門把手而感染細菌病毒的風險;執(zhí)行反鎖手勢指令后,只能通過用戶在門的這一側(cè)做出開鎖的手勢來打開門鎖,而在門的另一側(cè)無法打開。顯示模塊用于顯示實時畫面和提示信息,用戶根據(jù)顯示模塊上的提示完成指定手勢,避免因手勢不規(guī)范或超出檢測范圍而發(fā)生手勢識別錯誤。電源模塊用于對整套裝置供電,保證裝置正常運行。
2 方案選擇
本設(shè)計主控采用高速微處理器第三代樹莓派計算模塊,擁有 1 GB RAM( 隨機存取存儲器,Random Access 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 為用戶到攝像頭的距離。
圖 2人臉識別、手勢識別示意圖
圖 3 是主程序流程圖。當有用戶進入檢測區(qū)域時,首先對其進行人臉識別,判斷是否為合法用戶,若為非法用戶,則在顯示屏上顯示非法操作;若判斷為合法用戶,則等待其手勢指令,如開門或反鎖指令。
圖3 主程序流程圖
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ù)增強,降低了過擬合的風險。建立好每張圖片對應(yīng)的標簽后,構(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。
圖4 神經(jīng)網(wǎng)絡(luò)模型
為了防止其他未知的手勢引起識別錯誤,程序?qū)M行手勢判斷做出了改進。得益于 softmax 激活函數(shù),使得模型預(yù)測的三個輸出值都在 0 到 1 之間,且三個輸出值相加等于 1。于是只需判斷預(yù)測結(jié)果中的輸出值是否大于某個規(guī)定值,若大于才能被判斷為有效手勢,若為無效手勢,則不執(zhí)行操作。
3.3 門鎖開鎖和反鎖
門鎖的開鎖與反鎖由樹莓派主控芯片控制電磁門鎖實現(xiàn)。
圖 5 為門鎖電源接線示意圖。電磁門鎖的正、負極分別連接 NC 和 COM 端,在此連接方式下,門鎖為常閉狀態(tài)。門打開后,兩磁鐵靠近自動吸合關(guān)閉。樹莓派主控芯片控制門鎖 IO 口接到 PUSH 端,用于控制門鎖打開或反鎖。執(zhí)行開鎖指令時,控制 IO 口輸出高電平,經(jīng)過變壓器升壓后達到 12 V,控制門鎖打開。接收到反鎖命令后,程序記錄反鎖標志位,從另一側(cè)開門時若反鎖標志位為 1,則不能打開門。
圖5 門鎖電源接線示意圖
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)練集和測試集的準確率都達到 95% 以上,損失率均為 15% 以下。
在基于樹莓派計算模塊的系統(tǒng)功能測試中,邀請了 5 位同學在不同背景、不同光照環(huán)境下對系統(tǒng)進行了測試。測試結(jié)果表明,本系統(tǒng)能夠?qū)崿F(xiàn)對用戶的手勢識別和人臉識別,當S1在30 cm~50 cm之間時識別效果最好,人臉識別成功率為 95%,手勢識別成功率為 93%,手勢解鎖指令識別成功后,門鎖解鎖時間為 1 s。
5 結(jié)語
本項目基于樹莓派單片機和卷積神經(jīng)網(wǎng)絡(luò),實現(xiàn)了可以用手勢控制的虛擬門把手功能。經(jīng)過測試,該虛擬門把手具有人臉識別、手勢識別的功能,可以根據(jù)用戶的手勢執(zhí)行指令,完成對門鎖的控制。未來將收集更多手部圖像作為訓(xùn)練數(shù)據(jù)集以進一步提高模型準確率,提高系統(tǒng)在不同環(huán)境下的適應(yīng)能力,并嘗試用電插芯門鎖代替電磁門鎖,以完善門鎖的安全性問題。
圖6 模型訓(xùn)練參數(shù)
參考文獻:
[1] 白婧.濟南市某高校公共設(shè)施和公共用品微生物污染狀況調(diào)查[J].科技視界,2017,(34):22+15.
[2] 喬靖芳,王楠 .門把手上檢測出病毒![N].健康時報,2020-02-07(002).
[3] RS Com ponents和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è)大學,2019.
(注:本文轉(zhuǎn)載自《電子產(chǎn)品世界》2022年7月期)
評論