謝鑫焱,祁晉東,楊 晨,楊 翔
(西藏大學(xué) 信息科學(xué)技術(shù)學(xué)院 電子信息系,拉薩 850011)
本研究設(shè)計(jì)核心是人臉識(shí)別、健康碼核驗(yàn)、口罩識(shí)別。人臉識(shí)別技術(shù)在樹莓派4b上搭載環(huán)境,借助百度智能云,通過攝像頭,采集人臉信息,上傳至百度云進(jìn)行對比,返回識(shí)別結(jié)果。健康碼識(shí)別在OpenMV攝像頭上實(shí)現(xiàn),采用顏色和二維碼識(shí)別算法,對綠碼紅碼進(jìn)行識(shí)別。口罩識(shí)別采用YOLO2網(wǎng)絡(luò)檢測算法,通過訓(xùn)練后部署在K210攝像頭上進(jìn)行識(shí)別。主要功能如下:對未佩戴口罩的人員進(jìn)行口罩佩戴提醒;核驗(yàn)人員健康碼信息為綠碼后進(jìn)行人臉識(shí)別;對人員進(jìn)行無接觸測溫,溫度過高會(huì)自動(dòng)報(bào)警;對人員進(jìn)行噴霧和無接觸雙手消毒。
在樹莓派4b上搭載人臉識(shí)別環(huán)境。先在百度智能云上錄入人臉信息,通過樹莓派4b攝像頭采集人臉信息,上傳至云端進(jìn)行對比,最后返回一個(gè)識(shí)別結(jié)果(圖1)。
采用顏色識(shí)別和二維碼識(shí)別算法,通過調(diào)用OpenMV尋找色塊函數(shù),設(shè)置顏色閾值,找到色塊后用矩形框出來,完成健康碼識(shí)別。圖2為OpenMV攝像頭,圖3為健康碼識(shí)別結(jié)果。
圖1 人臉識(shí)別流程圖Fig.1 Flow chart of face recognition
圖2 OpenMV攝像頭Fig.2 Open MV camera
圖3 健康碼識(shí)別結(jié)果Fig.3 Results of health code recognition
采用基于YOLO2的人臉口罩識(shí)別模型,訓(xùn)練集收集了大約10 000張不同的圖片,使用Image_tool,將數(shù)據(jù)集分辨率轉(zhuǎn)換為224×224,使用vott對轉(zhuǎn)換后的數(shù)據(jù)集進(jìn)行標(biāo)注。標(biāo)注類型為mask、no_mask兩類。使用云端訓(xùn)練方式訓(xùn)練一個(gè)用于人臉口罩識(shí)別的YOLO2模型,輸出一個(gè)smodel文件,將該模型文件下載到 K210處理器FLASH中。K210會(huì)將 smodel 轉(zhuǎn)換為識(shí)別模型并將訓(xùn)練好的參數(shù)加載到KPU中,對輸入的人臉圖像進(jìn)行卷積運(yùn)算,通過YOLO2口罩識(shí)別模型,識(shí)別人臉口罩。K210識(shí)別置信度可達(dá)到80%以上(圖4、圖5)。
圖4 進(jìn)行未佩戴口罩識(shí)別Fig.4 Recognition of not wearing mask
圖5 進(jìn)行口罩佩戴識(shí)別Fig.5 Recognition of mask wearing
硬件由K210處理器、樹莓派4b處理器、OpenMV攝像頭、STM32單片機(jī)、舵機(jī)、紅外測溫傳感器、超聲波傳感器、紅外傳感器、水泵、霧化模塊、語音播報(bào)模塊、數(shù)碼管組成,系統(tǒng)主要通過K210處理器對行人進(jìn)行口罩佩戴檢測,當(dāng)行人未佩戴口罩時(shí),語音播報(bào)模塊會(huì)發(fā)出請佩戴口罩的語音提示。其余信息檢查流程通過OpenMV攝像頭對人員健康碼進(jìn)行核驗(yàn)、無接觸測溫,并在數(shù)碼管上顯示溫度,當(dāng)以上兩個(gè)信息無異常,將會(huì)打開樹莓派4b上的CSI攝像頭采集人臉信息,通過百度云進(jìn)行對比。如果對比成功,將會(huì)控制舵機(jī)打開門禁,同時(shí)發(fā)出相應(yīng)的語音提示,最后在以上信息核驗(yàn)完成后,人員走到消毒區(qū)經(jīng)超聲波感應(yīng),通過霧化消毒模塊進(jìn)行霧化消毒,雙手伸至消毒區(qū)消毒液會(huì)自動(dòng)噴灑至雙手,實(shí)現(xiàn)全身消毒。人臉識(shí)別、健康碼核驗(yàn)及無接觸測溫端如圖6所示,口罩識(shí)別端如圖7所示,無接觸消毒端如圖8所示。
圖6 人臉識(shí)別、健康碼核驗(yàn)及無接觸測溫端Fig.6 Face recognition, health code verification and non-contact temperature measurement
圖7 口罩識(shí)別端Fig.7 Mask recognition end
圖8 無接觸消毒端Fig.8 Non-contact disinfection end
樹莓派4b主控板:樹莓派4b主控板擁有四核64位ARMCortex-A72,主頻達(dá)1.5 GHz,擁有4 GB內(nèi)存、2個(gè)USB 2.0和2個(gè)USB 3.0 接口、1個(gè)5.0藍(lán)牙。樹莓派支持很多操作系統(tǒng),可滿足本項(xiàng)目的開發(fā)。
K210處理器:口罩識(shí)別采用嘉楠科技K210處理器,有著雙核64位CPU處理器,內(nèi)置FPU、KPU、FFT加速器,板載OV2640攝像頭。其特點(diǎn)為芯片架構(gòu)中包含了1個(gè)自研的神經(jīng)網(wǎng)絡(luò)硬件加速器KPU,可以高性能地進(jìn)行卷積神經(jīng)網(wǎng)絡(luò)運(yùn)算。
OpenMV攝像頭:OpenMV是一款功能強(qiáng)大的機(jī)器視覺模塊。OpenMV 攝像頭以STM32H7為核心,集成了OV7725攝像頭芯片,方便開發(fā)者使用Python進(jìn)行編程。OpenMV 攝像頭在該設(shè)計(jì)的主要功能為核驗(yàn)健康碼信息,并通過串口通信發(fā)送指令至樹莓派4b。
STM32單片機(jī):STM32F103ZET6 單片機(jī)具有 32 位基于ARM核心的微控制器及2個(gè)基本定時(shí)器、4個(gè)通用定時(shí)器、2個(gè)高級定時(shí)器、3個(gè)SPI、2 個(gè)IIC、5個(gè)串口、1個(gè) USB、3個(gè)12位 ADC、1個(gè)12位DAC及112個(gè)通用IO口。通過該單片機(jī)實(shí)現(xiàn)無接觸消毒端各個(gè)模塊的控制。
紅外測溫模塊:MLX90614是一款無接觸的紅外測溫傳感器,集成了紅外探測熱電堆芯片與信號處理專用集成芯片。由于集成了低噪聲放大器、17位ADC和強(qiáng)大的DSP處理單元,使得高精度和高分辨度的溫度計(jì)得以實(shí)現(xiàn)。使用MLX90614模塊與數(shù)碼管結(jié)合,實(shí)現(xiàn)防疫系統(tǒng)的無接觸測溫。
人臉識(shí)別、健康碼核驗(yàn)及無接觸測溫端:該部分的設(shè)計(jì)將樹莓派4b作為系統(tǒng)的主控,將自己的健康碼信息放入識(shí)別區(qū)進(jìn)行識(shí)別。若為綠碼,將進(jìn)行測溫。溫度如果正常,將打開攝像頭采集人臉信息,經(jīng)過百度云對比成功之后,門禁將會(huì)開啟(圖9)。
圖9 主程序軟件流程圖Fig.9 Flow chart of main program software
口罩識(shí)別端:當(dāng)行人走到口罩識(shí)別區(qū)時(shí),加載至K210上的口罩識(shí)別模型將會(huì)通過攝像頭采集信息,對未佩戴口罩的行人進(jìn)行口罩佩戴的提醒(圖10)。
圖10 口罩識(shí)別軟件流程圖Fig.10 Flow chart of mask recognition software
無接觸消毒端:使用STM32單片機(jī)作為主控,當(dāng)測得行人距離超聲波10 cm時(shí)就會(huì)讓霧化消毒模塊噴出霧化消毒液,對行人進(jìn)行表面消毒。當(dāng)行人雙手伸至紅外傳感器1 cm的位置,水泵將會(huì)開啟,噴灑出液體消毒液,對雙手進(jìn)行消毒(圖11、12)。
圖11 霧化消毒Fig.11 Atomization disinfection
圖12 雙手消毒Fig.12 Disinfection of hands
經(jīng)測試,該防疫系統(tǒng)可識(shí)別人臉信息,核驗(yàn)健康碼信息,對未佩戴口罩的人進(jìn)行口罩佩戴提醒,并進(jìn)行無接觸測溫和消毒(圖13)。
圖13 系統(tǒng)實(shí)物圖Fig.13 System physical diagram
提出的智慧社區(qū)防疫門禁系統(tǒng),可實(shí)現(xiàn)無人化防疫,做到無人化進(jìn)行人臉識(shí)別、藏易通健康碼核驗(yàn)、口罩識(shí)別、無接觸測溫和消毒。這種方式可減少交叉感染風(fēng)險(xiǎn),減少人工對各類信息核驗(yàn)時(shí)的疏漏,適合廣泛用于公共場合。