謝鑫焱,祁晉東,楊 晨,楊 翔
(西藏大學 信息科學技術學院 電子信息系,拉薩 850011)
本研究設計核心是人臉識別、健康碼核驗、口罩識別。人臉識別技術在樹莓派4b上搭載環境,借助百度智能云,通過攝像頭,采集人臉信息,上傳至百度云進行對比,返回識別結果。健康碼識別在OpenMV攝像頭上實現,采用顏色和二維碼識別算法,對綠碼紅碼進行識別。口罩識別采用YOLO2網絡檢測算法,通過訓練后部署在K210攝像頭上進行識別。主要功能如下:對未佩戴口罩的人員進行口罩佩戴提醒;核驗人員健康碼信息為綠碼后進行人臉識別;對人員進行無接觸測溫,溫度過高會自動報警;對人員進行噴霧和無接觸雙手消毒。
在樹莓派4b上搭載人臉識別環境。先在百度智能云上錄入人臉信息,通過樹莓派4b攝像頭采集人臉信息,上傳至云端進行對比,最后返回一個識別結果(圖1)。
采用顏色識別和二維碼識別算法,通過調用OpenMV尋找色塊函數,設置顏色閾值,找到色塊后用矩形框出來,完成健康碼識別。圖2為OpenMV攝像頭,圖3為健康碼識別結果。

圖1 人臉識別流程圖Fig.1 Flow chart of face recognition

圖2 OpenMV攝像頭Fig.2 Open MV camera

圖3 健康碼識別結果Fig.3 Results of health code recognition
采用基于YOLO2的人臉口罩識別模型,訓練集收集了大約10 000張不同的圖片,使用Image_tool,將數據集分辨率轉換為224×224,使用vott對轉換后的數據集進行標注。標注類型為mask、no_mask兩類。使用云端訓練方式訓練一個用于人臉口罩識別的YOLO2模型,輸出一個smodel文件,將該模型文件下載到 K210處理器FLASH中。K210會將 smodel 轉換為識別模型并將訓練好的參數加載到KPU中,對輸入的人臉圖像進行卷積運算,通過YOLO2口罩識別模型,識別人臉口罩。K210識別置信度可達到80%以上(圖4、圖5)。

圖4 進行未佩戴口罩識別Fig.4 Recognition of not wearing mask

圖5 進行口罩佩戴識別Fig.5 Recognition of mask wearing
硬件由K210處理器、樹莓派4b處理器、OpenMV攝像頭、STM32單片機、舵機、紅外測溫傳感器、超聲波傳感器、紅外傳感器、水泵、霧化模塊、語音播報模塊、數碼管組成,系統主要通過K210處理器對行人進行口罩佩戴檢測,當行人未佩戴口罩時,語音播報模塊會發出請佩戴口罩的語音提示。其余信息檢查流程通過OpenMV攝像頭對人員健康碼進行核驗、無接觸測溫,并在數碼管上顯示溫度,當以上兩個信息無異常,將會打開樹莓派4b上的CSI攝像頭采集人臉信息,通過百度云進行對比。如果對比成功,將會控制舵機打開門禁,同時發出相應的語音提示,最后在以上信息核驗完成后,人員走到消毒區經超聲波感應,通過霧化消毒模塊進行霧化消毒,雙手伸至消毒區消毒液會自動噴灑至雙手,實現全身消毒。人臉識別、健康碼核驗及無接觸測溫端如圖6所示,口罩識別端如圖7所示,無接觸消毒端如圖8所示。

圖6 人臉識別、健康碼核驗及無接觸測溫端Fig.6 Face recognition, health code verification and non-contact temperature measurement

圖7 口罩識別端Fig.7 Mask recognition end

圖8 無接觸消毒端Fig.8 Non-contact disinfection end
樹莓派4b主控板:樹莓派4b主控板擁有四核64位ARMCortex-A72,主頻達1.5 GHz,擁有4 GB內存、2個USB 2.0和2個USB 3.0 接口、1個5.0藍牙。樹莓派支持很多操作系統,可滿足本項目的開發。
K210處理器:口罩識別采用嘉楠科技K210處理器,有著雙核64位CPU處理器,內置FPU、KPU、FFT加速器,板載OV2640攝像頭。其特點為芯片架構中包含了1個自研的神經網絡硬件加速器KPU,可以高性能地進行卷積神經網絡運算。
OpenMV攝像頭:OpenMV是一款功能強大的機器視覺模塊。OpenMV 攝像頭以STM32H7為核心,集成了OV7725攝像頭芯片,方便開發者使用Python進行編程。OpenMV 攝像頭在該設計的主要功能為核驗健康碼信息,并通過串口通信發送指令至樹莓派4b。
STM32單片機:STM32F103ZET6 單片機具有 32 位基于ARM核心的微控制器及2個基本定時器、4個通用定時器、2個高級定時器、3個SPI、2 個IIC、5個串口、1個 USB、3個12位 ADC、1個12位DAC及112個通用IO口。通過該單片機實現無接觸消毒端各個模塊的控制。
紅外測溫模塊:MLX90614是一款無接觸的紅外測溫傳感器,集成了紅外探測熱電堆芯片與信號處理專用集成芯片。由于集成了低噪聲放大器、17位ADC和強大的DSP處理單元,使得高精度和高分辨度的溫度計得以實現。使用MLX90614模塊與數碼管結合,實現防疫系統的無接觸測溫。
人臉識別、健康碼核驗及無接觸測溫端:該部分的設計將樹莓派4b作為系統的主控,將自己的健康碼信息放入識別區進行識別。若為綠碼,將進行測溫。溫度如果正常,將打開攝像頭采集人臉信息,經過百度云對比成功之后,門禁將會開啟(圖9)。

圖9 主程序軟件流程圖Fig.9 Flow chart of main program software
口罩識別端:當行人走到口罩識別區時,加載至K210上的口罩識別模型將會通過攝像頭采集信息,對未佩戴口罩的行人進行口罩佩戴的提醒(圖10)。

圖10 口罩識別軟件流程圖Fig.10 Flow chart of mask recognition software
無接觸消毒端:使用STM32單片機作為主控,當測得行人距離超聲波10 cm時就會讓霧化消毒模塊噴出霧化消毒液,對行人進行表面消毒。當行人雙手伸至紅外傳感器1 cm的位置,水泵將會開啟,噴灑出液體消毒液,對雙手進行消毒(圖11、12)。

圖11 霧化消毒Fig.11 Atomization disinfection

圖12 雙手消毒Fig.12 Disinfection of hands
經測試,該防疫系統可識別人臉信息,核驗健康碼信息,對未佩戴口罩的人進行口罩佩戴提醒,并進行無接觸測溫和消毒(圖13)。

圖13 系統實物圖Fig.13 System physical diagram
提出的智慧社區防疫門禁系統,可實現無人化防疫,做到無人化進行人臉識別、藏易通健康碼核驗、口罩識別、無接觸測溫和消毒。這種方式可減少交叉感染風險,減少人工對各類信息核驗時的疏漏,適合廣泛用于公共場合。