劉 建,韓樹人,陳慧麗,王星怡
(江西理工大學(xué) 電氣工程與自動(dòng)化學(xué)院,江西 贛州,341000)
新型冠狀病毒非常迅猛地在全球蔓延開,保持一定的社交距離成為了每個(gè)人都必須要做到的事。在公共場所使用儲物柜時(shí)就必須要減少人與人之間面對面的交流,否則極有可能在無形之中傳播了新冠病毒。
當(dāng)今社會萬物互聯(lián)的趨勢勢不可擋,物聯(lián)網(wǎng)技術(shù)在交通、醫(yī)療、工業(yè)、農(nóng)業(yè)等領(lǐng)域不斷爆發(fā)出新的突破,伴隨著5G技術(shù)的愈發(fā)成熟,更是在一定程度上推動(dòng)物聯(lián)網(wǎng)技術(shù)的快速發(fā)展。人臉識別技術(shù)現(xiàn)在也被廣泛的應(yīng)用在各種領(lǐng)域,不僅安全系數(shù)很高,而且使用過程中不需要用戶做額外的提前準(zhǔn)備。
基于此,本文提出一種基于OneNET平臺和OpenMV[1]的無接觸智能儲物柜。用戶在公共場合使用無接觸智能儲物柜的過程中可以極大地避免人與人的接觸,而是通過人臉識別自行進(jìn)行開柜關(guān)柜操作。不同于市面上常見的自助儲物柜,無接觸智能儲物柜通過人臉信息存取物,還可以避免使用一些條形碼、二維碼等開鎖憑證,解決了開鎖憑證丟失導(dǎo)致取物麻煩的問題。
本系統(tǒng)在使用時(shí),只需要用戶將臉部置于攝像頭前面,系統(tǒng)在檢測到該人臉信息并沒有存過物品后就會進(jìn)行人臉信息的采集,隨后打開一個(gè)未被使用的空柜子。若系統(tǒng)內(nèi)原來就存在該人臉信息時(shí)就會打開與之對應(yīng)的柜子,供用戶取物并刪除此人臉信息。
系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)
本設(shè)計(jì)將STM32F103作為控制中心,通過OpenMV4對人臉數(shù)據(jù)進(jìn)行采集,然后進(jìn)行識別并比對[2]。如果人臉信息比對成功,則開啟對應(yīng)的存儲柜,讓用戶取出自己的物品;若人臉信息比對不成功,則對人臉信息進(jìn)行登記,并開啟一個(gè)空的存儲柜,讓用戶存放物品。再通過無線傳輸模塊ESP8266[3]將存儲柜的狀態(tài)和用戶信息上傳到OneNET服務(wù)器,使微信小程序和View2.0可視化界面中的信息同時(shí)更新[4]。管理員能通過微信小程序以及View2.0可視化界面看到存儲柜的存儲信息,同時(shí)也可以給系統(tǒng)下發(fā)命令,讓柜門打開以及刪除柜子的用戶信息。
本系統(tǒng)使用的主控芯片是STM32F103ZET6[5-6],它是基于高性能 ARM?CortexTM-M3的32位RISC內(nèi)核處理器。該單片機(jī)處理速度較快,功能較多,能夠簡化電路,為設(shè)計(jì)提供了極大的方便,增加了系統(tǒng)的穩(wěn)定性,故選用它作為本系統(tǒng)的控制器模塊。主控板的程序通過Keil5軟件平臺進(jìn)行編寫和燒入。
攝像頭模塊選用的是OpenMV4 H7,通過攝像頭對人臉數(shù)據(jù)進(jìn)行采集,再利用智能算法對采集的數(shù)據(jù)進(jìn)行分析處理。OpenMV4 H7可支持外部拓展SD卡,進(jìn)而增加存儲空間的大小,保存更多的人臉信息。攝像頭模塊的程序在OpenMVIDE軟件平臺進(jìn)行編寫[7]。
網(wǎng)絡(luò)模塊選用的是ESP8266,該模塊體積小巧,可以通過連接WiFi,然后以MQTT協(xié)議接入選用的OneNET云平臺,從而實(shí)現(xiàn)信息的傳遞和同步。
電控鎖模塊選用的是以繼電器接通、斷開電源而實(shí)現(xiàn)開關(guān)鎖的普通電控鎖,持續(xù)通電0~5 ms就可實(shí)現(xiàn)開鎖,并且通過信號反饋線可將電控鎖當(dāng)前的狀態(tài)傳輸給STM32。具體硬件設(shè)計(jì)框圖如圖2所示。
圖2 硬件設(shè)計(jì)框圖
Haar-Like特征[8]是機(jī)器視覺領(lǐng)域常用的特征描述算子,能夠很好地反映出圖像灰度變化的特征。除此之外還有兩種基于灰度圖的算法:SURF和廣義Hough變換。與Haar-Like算法相比較,廣義Hough變換比較適用于人整體的檢測,而Haar-Like算法比較傾向于人臉檢測,SURF則比Haar更加復(fù)雜。使用較為簡單的Haar-Like特征可以很好得提高人臉檢測速度,并且OpenMV已經(jīng)有現(xiàn)成的Haar-Like訓(xùn)練庫,于是本設(shè)計(jì)便選擇Haar-like算法進(jìn)行人臉的識別捕捉。
LPB(局部二值模式)算法精準(zhǔn)度較高,在已知的人臉識別算法中占據(jù)著非常重要的地位。LBP算法能夠?qū)D像中的微小特征更清晰地描繪出來(包括暗點(diǎn)、亮點(diǎn)、穩(wěn)定區(qū)域以及邊緣等),反映這些特征的分布情況有助于提高圖像識別的性能。
LPB算法的計(jì)算方式如圖3所示,以要計(jì)算的像素為中心提取一個(gè)九宮格,分別將中間的像素的灰度值與周圍的像素的灰度值進(jìn)行比較。若周圍的像素對應(yīng)灰度值大于中間的像素,則將該像素點(diǎn)的位置標(biāo)記為1;反之標(biāo)記為0。比較后得到的8位二進(jìn)制數(shù)就是中間像素點(diǎn)對應(yīng)的LPB值。
圖3 LBP特征值計(jì)算步驟
具體的人臉識別匹配流程圖如圖4所示,通過使用Haar-Like算法進(jìn)行人臉識別,再使用LPB算法進(jìn)行預(yù)處理獲得用戶臉部的特征值,對特征值進(jìn)行存儲,下次識別到人臉時(shí)會與先前存儲過的人臉信息進(jìn)行比對匹配。
圖4 人臉識別匹配流程
感知層采用的是OpenMV4 H7視覺模塊。通過該模塊對人臉數(shù)據(jù)進(jìn)行采集,利用LBP、Haar-Like算法對人臉特征進(jìn)行提取。然后與已存儲的人臉信息的特征值進(jìn)行對比,并作出判斷,再將信息傳遞給核心控制板。
存取物操作流程圖如圖5所示。
圖5 存取物操作流程
網(wǎng)絡(luò)層借助了OneNET的云服務(wù)器[9]及ESP8266 WiFi模塊,在OneNET控制臺建立本次系統(tǒng)用到的產(chǎn)品和設(shè)備。整個(gè)系統(tǒng)與服務(wù)器端信息傳遞與同步就是依賴于ESP8266模塊。
每次柜子的狀態(tài)發(fā)生變化時(shí),主控板都會通過ESP8266模塊上傳一次新的柜子狀態(tài)數(shù)據(jù)至OneNET云服務(wù)器的數(shù)據(jù)點(diǎn),以供之后的客戶端獲取到實(shí)時(shí)的柜子開關(guān)信息。并且每過30 s,主控板都會給服務(wù)器發(fā)送1次心跳報(bào)文[10],以告知服務(wù)器本設(shè)備還在線,服務(wù)器就不會將設(shè)備踢下線;如果3次發(fā)送心跳報(bào)文失敗,主控板就會立即初始化ESP8266模塊,重新連接服務(wù)器。
ESP8266模塊的初始化及上傳數(shù)據(jù)流程如圖6、圖7所示。
圖6 ESP8266初始化流程
圖7 ESP8266與服務(wù)器通信流程
為滿足系統(tǒng)需要,設(shè)計(jì)了微信小程序以及View2.0客戶端頁面來進(jìn)行儲物柜的控制。這樣用戶不僅能夠看到當(dāng)前儲物柜的狀態(tài),也可以通過客戶端來實(shí)現(xiàn)對每個(gè)儲物柜的控制。微信小程序及View2.0界面分別如圖8、圖9所示。
圖8 微信小程序界面展示
在進(jìn)行測試之前,需要確保系統(tǒng)的各個(gè)部分能否正常是工作,以及當(dāng)前測試環(huán)境下的網(wǎng)絡(luò)是否正常。在測試過程中,首先需要讓整個(gè)系統(tǒng)在設(shè)定好的網(wǎng)絡(luò)環(huán)境下初始化,ESP8266自動(dòng)連接上網(wǎng)絡(luò)并連接上服務(wù)器,同時(shí)攝像頭初始化完成。此時(shí)就能夠在攝像頭前進(jìn)行人臉信息的比對存儲,完成存取物的操作。初始化完畢之后就能在微信小程序端使用OonNET服務(wù)器的設(shè)備號以及通過API-Key進(jìn)行登陸操作,登陸完成后即可使用微信小程序?qū)ξ锕襁M(jìn)行開關(guān)控制。View2.0平臺并未設(shè)計(jì)登錄操作,當(dāng)設(shè)備處于正常工作狀態(tài)時(shí),打開網(wǎng)頁即可進(jìn)行設(shè)備的控制。
圖9 View2.0界面展示
經(jīng)過多次的系統(tǒng)測試,對人臉識別、存物取物、客戶端控制情況的次數(shù)進(jìn)行了統(tǒng)計(jì),得到系統(tǒng)測試結(jié)果見表1所列。測試結(jié)果表明,本文系統(tǒng)狀況良好,運(yùn)行穩(wěn)定。
表1 系統(tǒng)測試結(jié)果
經(jīng)過了長時(shí)間的系統(tǒng)調(diào)試及測試,得出系統(tǒng)能夠穩(wěn)定、良好地運(yùn)行,人臉識別、柜門控制以及實(shí)時(shí)的情況展示都基本達(dá)到了設(shè)計(jì)的需求。在系統(tǒng)的運(yùn)行過程中,核心板、ESP8266模塊和攝像頭模塊也都處在正常的工作狀態(tài)。如果后續(xù)還有在客戶端上獲取柜子使用者的信息以及歷史記錄的需要,都可以在后續(xù)的客戶端開發(fā)上完成。
物聯(lián)網(wǎng)技術(shù)2021年10期