摘 要:針對(duì)疫情形勢下人工檢測溫度及口罩佩戴情況費(fèi)時(shí)費(fèi)力且風(fēng)險(xiǎn)高的問題,設(shè)計(jì)了一套物聯(lián)網(wǎng)防疫門禁系統(tǒng)。本設(shè)計(jì)使用OpenCV采集人臉信息,使用MLX90614溫度采集模塊采集溫度信息,將采集到的人臉和溫度信息傳入主控樹莓派中進(jìn)行接收并識(shí)別,最終使用BY8301語音模塊進(jìn)行語音播報(bào)提醒,將獲取到的人臉數(shù)據(jù)和體溫信息同時(shí)發(fā)送到物聯(lián)網(wǎng)云平臺(tái),物聯(lián)網(wǎng)云平臺(tái)將長時(shí)間持續(xù)接收、顯示以及比對(duì)相關(guān)數(shù)據(jù),并且可以在移動(dòng)設(shè)備或云端同步進(jìn)行查看,大大降低人力消耗及接觸風(fēng)險(xiǎn),有效地控制人員的出入,并且可以在第一時(shí)間了解到出入人員的相關(guān)情況。
關(guān)鍵詞:樹莓派;云平臺(tái);物聯(lián)網(wǎng);OpenCV;MLX90614;門禁系統(tǒng)
中圖分類號(hào):TP399 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2095-1302(2024)05-0-03
0 引 言
新冠疫情的爆發(fā)給全球造成了重大影響,一些人流量較大的公共場所基本都會(huì)配備相關(guān)的工作人員進(jìn)行測體溫、檢查口罩佩戴、查驗(yàn)行程碼等工作。這種傳統(tǒng)的檢測方法存在人力浪費(fèi)、人工成本高、工作人員感染風(fēng)險(xiǎn)高等問題。因此,開發(fā)一套實(shí)時(shí)的、低成本的物聯(lián)網(wǎng)防疫門禁系統(tǒng)迫在眉睫。
目前國內(nèi)已有許多公司和研究機(jī)構(gòu)開發(fā)了針對(duì)疫情的防疫門禁系統(tǒng)[1],這些系統(tǒng)通常使用人臉識(shí)別、體溫檢測、智能語音等技術(shù)來識(shí)別和跟蹤疫情形勢下的高風(fēng)險(xiǎn)人群。例如,將攝像頭模塊切換為廣角攝像頭搭配YOLO可實(shí)現(xiàn)景區(qū)人流量采集檢測;將二維碼檢測切換為門禁卡識(shí)別;將OpenCV[2]人臉檢測應(yīng)用于圖書館、宿舍樓、公司等場所,可以檢測是否為在編人員,將數(shù)據(jù)上傳至云端就可以填寫完成出勤表[3]等。
樹莓派相較于單片機(jī),優(yōu)點(diǎn)在于其與其他模塊屬于拔插式接觸,且存儲(chǔ)信息在SD卡中,可實(shí)現(xiàn)功能模塊的靈活替換,在疫情結(jié)束后可實(shí)現(xiàn)快速轉(zhuǎn)型。
因此,本設(shè)計(jì)將樹莓派作為控制核心模塊,具有接口豐富、功耗較低、處理速度快的優(yōu)點(diǎn)。通過WiFi實(shí)現(xiàn)樹莓派與物聯(lián)網(wǎng)云平臺(tái)主機(jī)服務(wù)器之間的數(shù)據(jù)交互,并且只需一至兩人即可完成大范圍的管理,大大節(jié)省了人力。采用的多重驗(yàn)證方式,包括口罩識(shí)別和溫度檢測等,可以確保人員信息準(zhǔn)確性和場所的安全性。同時(shí),該系統(tǒng)還具有數(shù)據(jù)可追溯性、操作簡單方便等優(yōu)點(diǎn),適用于各種場所的防疫工作[4]。
1 總體方案設(shè)計(jì)
如圖1所示,防疫門禁系統(tǒng)由五部分組成:MLX90614溫度采集模塊、攝像模塊、云端華為云平臺(tái)、BY8301語音模塊、顯示模塊。以樹莓派為主控,可以實(shí)現(xiàn)多個(gè)硬件設(shè)備的連接和協(xié)同工作,并提供了豐富的計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)工具庫,使得整個(gè)系統(tǒng)更加智能化和高效化。
將MLX90614溫度采集模塊輸出的溫度以及攝像模塊采集的人臉數(shù)據(jù)傳入樹莓派并顯示在顯示屏上,并將所需的信息例如溫度數(shù)據(jù)及人臉截圖發(fā)送到華為云平臺(tái),華為云平臺(tái)對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)測;而樹莓派做出判斷后會(huì)在顯示屏顯示相應(yīng)信息并控制BY8301語音模塊做出相應(yīng)操作,包括是否開啟門鎖。
2 硬件設(shè)計(jì)
2.1 硬件選型
根據(jù)本系統(tǒng)開發(fā)要求及設(shè)定,主控采用樹莓派4B進(jìn)行控制操作。樹莓派采用4B 8G版本,其擁有四核64位處理器,主頻1.5 GHz,相比樹莓派3B版本,處理器性能提升了三倍以上之多;并且擁有兩個(gè)HDMI接口,支持4K分辨率的視頻輸出,也保留了40個(gè)GPIO引腳,可兼容連接其他傳感器設(shè)備。其擁有的8 GB運(yùn)行內(nèi)存可以更輕松地運(yùn)行多個(gè)程序且不受內(nèi)存限制的影響,相較于單片機(jī)來說在圖像處理方面則更具優(yōu)勢。因此本項(xiàng)目采用樹莓派這種功能強(qiáng)大、體積小巧的單板計(jì)算機(jī)作為項(xiàng)目主控。
溫度采集模塊使用MLX90614。MLX90614具有簡單易用和高精度的優(yōu)點(diǎn),并且采用獨(dú)特空間補(bǔ)償技術(shù)以及溫度穩(wěn)定相應(yīng)和線性相應(yīng),能夠降低噪聲干擾,進(jìn)而提高測量精度;可以測量的物體表面溫度范圍為-70~380 ℃,在工業(yè)生產(chǎn)控制和家居智能化等領(lǐng)域被廣泛應(yīng)用。因此本設(shè)計(jì)選用MLX90614紅外線非接觸式溫度傳感器進(jìn)行溫度測量。該模塊內(nèi)置一個(gè)微控制器,可以通過I2C接口與控制器進(jìn)行通信,從而實(shí)現(xiàn)數(shù)據(jù)的獲取和設(shè)置。最后MLX90614溫度傳感器將數(shù)據(jù)轉(zhuǎn)換為數(shù)字輸出。
語音模塊使用BY8301作為主控芯片,實(shí)現(xiàn)語音的錄制、保存、播放和刪除等功能,適用于各種語音提示、語音提醒和語音導(dǎo)航等應(yīng)用場景。采用SPI總線通信協(xié)議,內(nèi)置
8 MB的閃存存儲(chǔ)器,可存儲(chǔ)多達(dá)510條不同長度的語音信息。BY8301語音模塊具有結(jié)構(gòu)緊湊、功能強(qiáng)大、易于集成和操作等優(yōu)點(diǎn),被廣泛應(yīng)用于各種語音提示、教育玩具、智能家居、汽車電子等領(lǐng)域。
2.2 硬件設(shè)計(jì)
如圖2所示,物聯(lián)網(wǎng)防疫門禁系統(tǒng)將樹莓派作為控制核心模塊,外接電源模塊、體溫檢測模塊、顯示模塊、語音模塊。
首先,樹莓派會(huì)對(duì)數(shù)據(jù)進(jìn)行初始化,讀取MLX90614溫度傳感器采集的溫度數(shù)據(jù),攝像頭獲取的人臉佩戴口罩情況以及健康碼情況。當(dāng)任何一個(gè)條件不符合時(shí)則進(jìn)行報(bào)警并上傳云端,華為云會(huì)將數(shù)據(jù)儲(chǔ)存至當(dāng)日行程表,并告知管理者。當(dāng)三個(gè)條件都符合的時(shí)候,則開門并上傳數(shù)據(jù)至云平臺(tái),并存儲(chǔ)至當(dāng)日行程表[5]。
3 軟件設(shè)計(jì)
3.1 口罩識(shí)別算法設(shè)計(jì)
本設(shè)計(jì)的口罩識(shí)別算法采用基于OpenCV的Python程序算法。本算法主要采用OpenCV中提供的級(jí)聯(lián)分類器(Cascade Classifier)來訓(xùn)練模型,實(shí)現(xiàn)對(duì)是否佩戴口罩的檢測。
首先需準(zhǔn)備訓(xùn)練集和測試集數(shù)據(jù),包括口罩佩戴狀態(tài)下的人臉圖片和無口罩佩戴狀態(tài)下的人臉圖片,并對(duì)這些圖片進(jìn)行預(yù)處理。之后使用Haar-like算法對(duì)每個(gè)訓(xùn)練圖片進(jìn)行特征提取,并將提取出的特征送入分類器進(jìn)行訓(xùn)練。訓(xùn)練結(jié)束后,將得到一個(gè)可以判定口罩佩戴狀態(tài)的分類器。該算法使用cascade分類器,并且基于Haar特征級(jí)聯(lián)進(jìn)行檢測[6],具有速度快、準(zhǔn)確性高等優(yōu)點(diǎn)。
該算法通過像素分析對(duì)每個(gè)攝像頭視頻幀內(nèi)的人臉進(jìn)行特征提取,并輸入到訓(xùn)練好的分類器中進(jìn)行判別。最后,得出的結(jié)果為人臉是否佩戴口罩的標(biāo)記信息。口罩識(shí)別算法設(shè)計(jì)流程框圖如圖3所示。
3.1.1 OpenCV
OpenCV是一個(gè)基于Python編程語言的開源計(jì)算機(jī)視覺和機(jī)器學(xué)習(xí)庫,可以用于處理圖像和視頻數(shù)據(jù),實(shí)現(xiàn)各種計(jì)算機(jī)視覺應(yīng)用,如目標(biāo)檢測、人臉識(shí)別、手勢識(shí)別等。OpenCV最初是由英特爾公司開放源代碼計(jì)劃支持開發(fā)的,它提供了一系列豐富的函數(shù)和類,可以進(jìn)行圖像或視頻數(shù)據(jù)讀取、處理、分析、可視化等各種操作。OpenCV為開發(fā)者提供了快速、高效地實(shí)現(xiàn)各種圖像和視頻處理任務(wù)的工具,廣泛應(yīng)用于數(shù)碼相機(jī)、智能手機(jī)、攝像頭、物聯(lián)網(wǎng)設(shè)備[7]等領(lǐng)域中。
在Python中導(dǎo)入OpenCV庫—cv2,再利用OpenCV自帶的基于Haar的級(jí)聯(lián)分類器實(shí)現(xiàn)人臉識(shí)別模型文件haarcascade_frontalface_default.xml,即可實(shí)現(xiàn)包括人臉檢測以及對(duì)裁剪的人臉進(jìn)行灰度處理在內(nèi)的功能[8]。
3.1.2 訓(xùn)練分類器
OpenCV自帶許多識(shí)別模型文件,但并沒有針對(duì)口罩識(shí)別的模型文件,因此需要訓(xùn)練一個(gè)識(shí)別口罩的分類器。分類器的核心采用CNN分類方法,對(duì)于訓(xùn)練模型,首先需要找到包含佩戴口罩以及未佩戴口罩的大量圖片數(shù)據(jù)的數(shù)據(jù)集。佩戴口罩的圖片視為正樣本,未佩戴口罩的圖片視為負(fù)樣本。
對(duì)于經(jīng)過灰度處理后的圖片并不能直接進(jìn)行訓(xùn)練,部分照片中臉和口罩占比比較小,其他部分例如肩膀、手臂、手等部位會(huì)對(duì)訓(xùn)練模型產(chǎn)生噪音干擾。要對(duì)圖片進(jìn)行預(yù)處理,先裁剪處理,并處理掉不合格的灰度圖圖片數(shù)據(jù)。
正樣本:僅包含被檢測物體的樣本,并且距離邊界盡量要小,圖片尺寸大小一致,所有照片的像素必須一致,這里采用官方推薦使用的20*20像素。負(fù)樣本:不包含被檢測物體的樣本,圖片尺寸大小無要求。圖片數(shù)據(jù)數(shù)量越多越好,盡量大于1 000,且本設(shè)計(jì)識(shí)別推薦正負(fù)樣本比例為1:3,本模型采用500正樣本、1 500負(fù)樣本作為訓(xùn)練圖片數(shù)據(jù)。
利用opencv_createsamples.exe為正樣本生成樣本文件,負(fù)樣本不需要。再利用OpenCV自帶訓(xùn)練級(jí)聯(lián)分類器的工具opencv_traincascade.exe進(jìn)行模型訓(xùn)練,訓(xùn)練過程將迭代地構(gòu)建和調(diào)整級(jí)聯(lián)分類器模型,以使其能夠盡可能準(zhǔn)確地檢測出目標(biāo)物體,運(yùn)行最后即可得到相應(yīng)的xml模型文件[9]。該模型可以被導(dǎo)入到應(yīng)用程序中,用于實(shí)時(shí)圖像處理和目標(biāo)檢測任務(wù)即對(duì)于口罩的識(shí)別。
3.2 主控制器程序
需要安裝Python環(huán)境和相關(guān)支持庫,并編寫人臉識(shí)別、溫度檢測、報(bào)警提醒和數(shù)據(jù)上傳云平臺(tái)、用戶出入記錄等數(shù)據(jù)存儲(chǔ)的相關(guān)程序代碼。
樹莓派主程序流程如圖4所示。首先,當(dāng)人員靠近時(shí),MLX90614溫度傳感器采集溫度數(shù)據(jù),獲取人員體表溫度信息后,在一定范圍內(nèi)進(jìn)行判斷。如果人員體溫正常,則門禁控制器開啟門禁;如果人員體溫超出預(yù)設(shè)范圍,檢測到溫度超過37 ℃,則門禁不予開啟,使用語音提示模塊發(fā)出報(bào)警并通過云端告知管理者。監(jiān)測的溫度數(shù)據(jù)實(shí)時(shí)呈現(xiàn)在顯示屏上,且系統(tǒng)根據(jù)MQTT協(xié)議將數(shù)據(jù)發(fā)送到華為云平臺(tái),記錄人員的信息并生成行程表。管理人員即可在云端查看到當(dāng)前數(shù)據(jù)。
人員靠近同時(shí),攝像頭捕捉人臉信息,通過OpenCV進(jìn)行人臉口罩識(shí)別,將實(shí)時(shí)影像顯示在屏幕上,然后截取人臉圖像并上傳云平臺(tái)存至行程表。若識(shí)別結(jié)果為佩戴口罩,則開啟門禁;識(shí)別結(jié)果為未佩戴口罩則會(huì)語音提示報(bào)警并通過云端告知管理者。
在疫情期間,還需人員出示健康碼,由攝像頭識(shí)別QR CODE,識(shí)別為紅碼會(huì)語音提示報(bào)警并通過云端告知管理者;識(shí)別為綠碼并且佩戴口罩,以及溫度正常方可進(jìn)入[10]。
3.3 物聯(lián)網(wǎng)云平臺(tái)設(shè)計(jì)
華為云物聯(lián)網(wǎng)云平臺(tái)是華為云提供的一種面向物聯(lián)網(wǎng)設(shè)備和應(yīng)用的云計(jì)算服務(wù)平臺(tái)。該平臺(tái)為用戶提供全面的設(shè)備接入、數(shù)據(jù)管理、運(yùn)營管理等一系列物聯(lián)網(wǎng)服務(wù)。它具有高可靠性、高安全性和高擴(kuò)展性。華為云物聯(lián)網(wǎng)云平臺(tái)可以支持多種接入?yún)f(xié)議,并且提供了豐富的開發(fā)工具和API接口,幫助用戶快速搭建自己的物聯(lián)網(wǎng)應(yīng)用。華為云物聯(lián)網(wǎng)云平臺(tái)是一個(gè)功能齊全、安全可靠的物聯(lián)網(wǎng)云服務(wù)平臺(tái),可以滿足各種物聯(lián)網(wǎng)應(yīng)用場景需求。
如圖5所示,在物聯(lián)網(wǎng)防疫門禁系統(tǒng)中,終端設(shè)備為主控樹莓派,設(shè)備管理負(fù)責(zé)通過MQTT協(xié)議傳輸數(shù)據(jù)以及采集設(shè)備數(shù)據(jù),物聯(lián)網(wǎng)應(yīng)用負(fù)責(zé)對(duì)人體溫度、人臉數(shù)據(jù)的顯示、存儲(chǔ)等應(yīng)用的管理。
4 實(shí)驗(yàn)結(jié)果
當(dāng)攝像頭檢測到人員靠近時(shí),會(huì)先對(duì)其溫度進(jìn)行測量,如果溫度正常,則會(huì)進(jìn)行口罩的識(shí)別;如果溫度不正常,則會(huì)報(bào)警,提醒工作人員并記錄人臉信息上傳到云端。溫度正常,會(huì)對(duì)是否佩戴口罩進(jìn)行檢測,如果佩戴口罩會(huì)出現(xiàn)如圖6(a)所示的圖像,并開啟門禁;如果未佩戴口罩則會(huì)出現(xiàn)如圖6(b)所示的圖像并發(fā)出警報(bào),提醒工作人員,且將數(shù)據(jù)上傳云端。
5 結(jié) 語
針對(duì)疫情形勢下的門禁系統(tǒng)的設(shè)計(jì)問題,本文方法的優(yōu)勢和創(chuàng)新在于:以Python為語言及樹莓派為主控,使用 OpenCV實(shí)現(xiàn)實(shí)時(shí)檢測是否佩戴口罩,MLX90614溫度采集模塊采集溫度,數(shù)據(jù)通過WiFi上傳云端并生成信息。制作了一個(gè)功能完備、價(jià)格低廉、方便操控移植的裝置。使用高精度溫度傳感器,可以對(duì)用戶體表溫度進(jìn)行準(zhǔn)確的檢測和判斷。所有用戶出入記錄等數(shù)據(jù)都保存在云端,具有良好的數(shù)據(jù)可追溯性。整個(gè)操作流程簡單明了,無需復(fù)雜的操作流程。同時(shí),語音提示模塊也為用戶及管理人員提供了友好的操作提示。實(shí)驗(yàn)證明,該門禁系統(tǒng)具有高安全性、高精度溫度檢測和數(shù)據(jù)可追溯性等優(yōu)點(diǎn),適用于大多數(shù)場所的防疫工作,此方案可行,具有實(shí)際使用價(jià)值。
參考文獻(xiàn)
[1]安徽省銅陵市天井湖社區(qū).安康碼智慧門禁系統(tǒng)助力守好銅陵社區(qū)防疫線[J].中國建設(shè)信息化,2022,28(3):46-47.
[2]徐杰,李捍東.基于單片機(jī)與OpenCV的門禁系統(tǒng)[J].計(jì)算機(jī)時(shí)代,2022,40(5):63-65.
[3]王卓群,易超.新型智能防疫門禁系統(tǒng)的設(shè)計(jì)與應(yīng)用[J].電子元器件與信息技術(shù),2021,5(5):219-223.
[4]婁子豪,陳曉謙.基于Raspberry pi的智能宿舍門禁控制系統(tǒng)[J].數(shù)碼世界,2020,19(3):30.
[5]張穎興,宣揚(yáng),張俊豪,等.基于樹莓派的智能防疫門禁系統(tǒng)設(shè)計(jì)[J].信息技術(shù)與信息化,2022,47(5):209-212.
[6]胡北辰.基于OpenCV的人臉圖像識(shí)別系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].佳木斯大學(xué)學(xué)報(bào)(自然科學(xué)版),2022,40(2):123-126.
[7]張綠云,韋肖雨,李琳.基于Python與OpenCV的人臉識(shí)別系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2022,18(10):87-88.
[8]汪小藝,王珺,魏志強(qiáng),等.基于人臉識(shí)別的圖書館智能門禁系統(tǒng)[J].電子產(chǎn)品世界,2021,28(4):65-67.
[9]詹可強(qiáng),林建輝,朱天寶.基于卷積神經(jīng)網(wǎng)絡(luò)的人臉口罩檢測系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].哈爾濱師范大學(xué)自然科學(xué)學(xué)報(bào),2022,38(5):58-63.
[10]劉軍軍.基于STM32和樹莓派的智能門禁系統(tǒng)[J].電子技術(shù),2021,50(10):24-25.
作者簡介:尹文杰(2002—),男,本科,研究方向?yàn)殡娮蛹夹g(shù)應(yīng)用。
付 彤(1992—),女,碩士,講師,研究方向?yàn)橛?jì)算機(jī)視覺。
劉林一(2001—),男,本科,研究方向?yàn)殡娮蛹夹g(shù)應(yīng)用。
樓子暢(2000—),男,本科,研究方向?yàn)殡娮蛹夹g(shù)應(yīng)用。
談 杰(2001—),男,本科,研究方向?yàn)殡娮蛹夹g(shù)應(yīng)用。
焦禹涵(2001—),男,本科,研究方向?yàn)殡娮蛹夹g(shù)應(yīng)用。
收稿日期:2023-04-23 修回日期:2023-05-18
基金項(xiàng)目:遼寧省2022年大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃項(xiàng)目(S202213198003)