朱 浩,王 娟
(西京學(xué)院,陜西 西安 710123)
在疫情防護(hù)常態(tài)化的今天,手機(jī)掃描健康碼已經(jīng)成為出行的必備條件,這對(duì)于不會(huì)使用智能設(shè)備的老年人來(lái)說(shuō)大大降低了他們的生活幸福感,導(dǎo)致他們出行不便。當(dāng)前的各種健康碼替代方式依舊存在著一定的缺陷,無(wú)法做到高效便捷的健康碼替代方式,所以一種能夠替代手機(jī)掃碼的健康碼顯示方式變得尤為重要。因此,面向這一系類迫切的需求,研發(fā)一款基于人體生命特征的健康信息檢測(cè)與顯示系統(tǒng)。本系統(tǒng)以ESP32為核心,基于OpenCV的Haar識(shí)別技術(shù)完成設(shè)計(jì),在識(shí)別人臉的同時(shí)檢測(cè)體溫,一切正常后在上位機(jī)顯示健康碼和通行信息,如有其他特殊情況能夠及時(shí)在上位機(jī)上完成報(bào)警。
ESP32是國(guó)產(chǎn)化的一款 MCU,ESP32 系列模組集成 WiFi、傳統(tǒng)藍(lán)牙和低功耗藍(lán)牙功能,具有廣泛的用途:WiFi 支持極大范圍的通信連接,也支持通過(guò)路由器直接連接互聯(lián)網(wǎng);藍(lán)牙可以讓用戶連接手機(jī)或者廣播 Bluetooth LE Beacon 以便于信號(hào)檢測(cè)[1]。ESP32的協(xié)助處理器框架,如圖1所示。
圖1 ESP32的協(xié)助處理器框架
視頻檢測(cè)模塊使用ESP32CAM攝像頭進(jìn)行人臉識(shí)別檢測(cè),該模塊可以作為最小系統(tǒng)獨(dú)立工作。在此基礎(chǔ)上也可改用電腦自帶的本地?cái)z像頭或者使用手機(jī)IP攝像頭軟件進(jìn)行視頻圖像的采集,使用多種途徑完成人臉識(shí)模塊的硬件設(shè)計(jì),從而完成非接觸的遠(yuǎn)程設(shè)計(jì)。
該模塊選用GY-906-BAA非接觸式IR傳感器,輸出數(shù)據(jù)和物體溫度呈線性比例,具有高精度和高分辨率。該模塊能夠完成非接觸式測(cè)溫,將人的手掌置于該傳感器上方2 cm處后又上位機(jī)控制完成測(cè)溫動(dòng)作,將測(cè)溫信息傳輸?shù)紼SP32模塊中進(jìn)行數(shù)據(jù)處理,如果 因?yàn)槭覝刈兓瘜?dǎo)致人體的表皮溫度有一定的變化,可以在程序中進(jìn)行一定的調(diào)整以保證獲得準(zhǔn)確的溫度信息[2]。
ESP8266是一款超低功耗的UART-WiFi 透?jìng)髂K,,可將用戶的物理設(shè)備連接到WiFi 無(wú)線網(wǎng)絡(luò)上,進(jìn)行互聯(lián)網(wǎng)或局域網(wǎng)通信,實(shí)現(xiàn)聯(lián)網(wǎng)功能。ESP8266模塊成本低、使用簡(jiǎn)便、功能強(qiáng)大,通過(guò)串口AT指令與單片機(jī)通訊,實(shí)現(xiàn)串口透?jìng)?不同協(xié)議之間的轉(zhuǎn)換(如串口到WiFi、藍(lán)牙等)由模塊完成。在本系統(tǒng)中完成信號(hào)的傳輸工作。
本部分主要根據(jù)ESP32采集到的溫度信息和人臉信息進(jìn)行一定程度的處理。主要的設(shè)計(jì)流程如圖2所示。
圖2 程序設(shè)計(jì)流程
數(shù)據(jù)處理部分主要包括時(shí)間的顯示和調(diào)用,溫度檢測(cè)信息的處理和顯示,網(wǎng)絡(luò)攝像頭與本機(jī)攝像頭的選擇,新人臉信息錄入,人臉信息的識(shí)別與照片存儲(chǔ),照片命名規(guī)范設(shè)計(jì),舵機(jī)控制,連接錯(cuò)誤警報(bào),高溫報(bào)警顯示裝置以及網(wǎng)絡(luò)配置設(shè)置[3]。
軟件設(shè)計(jì)分為硬件程序和軟件程序,軟件程序主要是通過(guò)Python語(yǔ)言編寫(xiě),使用Python+PyQt5完成整個(gè)系統(tǒng)各模塊的數(shù)據(jù)傳輸處理和上位機(jī)的設(shè)計(jì),PyQt5以一套Python模塊的形式來(lái)實(shí)現(xiàn)功能。它是一個(gè)多平臺(tái)的工具套件,它可以運(yùn)行在所有的主流操作系統(tǒng)中,包含Unix,Windows和Mac OS。PyQt5采用雙重許可模式,可以在GPL和社區(qū)授權(quán)之間選擇。通過(guò)硬件把體溫,檢測(cè)時(shí)間和人臉特殊點(diǎn)定位信息等數(shù)據(jù)傳輸?shù)街骺匦酒?然后主控芯片再通過(guò)WiFi將檢測(cè)到和處理好的信息傳輸?shù)絇C端,由程序處理完成后將相關(guān)信息命名為照片的名稱并且存儲(chǔ)到特定的文件夾中以待查看,安檢人員能夠通過(guò)PC端非常便捷地完成識(shí)別信息的查看和調(diào)取。同時(shí)在上位機(jī)中設(shè)計(jì)了手動(dòng)開(kāi)啟一欄,以便在特殊情況實(shí)現(xiàn)人工放行[4]。
在做上位機(jī)數(shù)據(jù)顯示時(shí)候,以較為直觀的二維碼圖片的方式顯示出來(lái),使用純 Python 圖形 GUI 庫(kù)的pyqtgraph 進(jìn)行設(shè)計(jì)。
本系統(tǒng)上位機(jī)顯示界面的左上角顯示的是本系統(tǒng)的名稱“基于人體生命特征的健康信息檢測(cè)與顯示系統(tǒng)”,在界面正中顯示該識(shí)別系統(tǒng)的編號(hào)。
該文件夾內(nèi)包含該系統(tǒng)的主要程序,包括人臉識(shí)別,溫度檢測(cè)和新人臉添加程序。其中facedate文件夾存儲(chǔ)的是準(zhǔn)許通行的人臉信息,其命名規(guī)則是姓名拼音的首字母。在imglog文件夾中有success,fail和error3個(gè)子文件夾。其中success文件夾存放的是成功進(jìn)行識(shí)別并且通過(guò)的人臉信息,fail文件夾存儲(chǔ)的是未曾進(jìn)行登記的人臉信息,error文件夾內(nèi)存儲(chǔ)的是溫度過(guò)高的特殊人員,需要安檢和防疫人員及時(shí)進(jìn)行處理。數(shù)據(jù)存儲(chǔ)文件夾,如圖3所示。
圖3 數(shù)據(jù)存儲(chǔ)文件夾
在數(shù)字化面前,老人比我們想象中更加手足無(wú)措,年輕人習(xí)以為常的生活方式在他們眼中也許就是一道電子圍欄,讓他們寸步難行。本設(shè)備能夠基本對(duì)檢測(cè)人員的個(gè)人身份信息識(shí)別,健康碼調(diào)取檢查,個(gè)人體溫檢測(cè),識(shí)別時(shí)間和識(shí)別位置等信息完成記錄,并且上傳至PC端方便實(shí)時(shí)的調(diào)取和檢測(cè)查詢。能夠基本滿足防疫常態(tài)化的需求并且便利老年人的正常出行。本設(shè)備應(yīng)用范圍廣,可以應(yīng)用在各類需要進(jìn)行健康信息檢測(cè)和顯示的地方。