黃晨浩 宋鑫鈺 盧詩(shī)驕 薛奇琪
摘 要:筆者基于STM32單片機(jī)和機(jī)智云平臺(tái),設(shè)計(jì)了一款智能體溫監(jiān)測(cè)系統(tǒng)。在紅外測(cè)溫模塊的基礎(chǔ)上,結(jié)合了人臉識(shí)別模塊和超聲波測(cè)距溫度補(bǔ)償模塊,在被測(cè)量人員進(jìn)入測(cè)量范圍時(shí),人臉識(shí)別模塊采集人臉信息并與數(shù)據(jù)庫(kù)對(duì)比,以確定人員身份信息;同時(shí),啟動(dòng)紅外測(cè)溫模塊檢測(cè)體溫,利用超聲波測(cè)距補(bǔ)償溫度,降低因測(cè)量人員與測(cè)溫裝置之間距離的變化而產(chǎn)生的溫漂現(xiàn)象;測(cè)量完成后,將人員身份信息和補(bǔ)償后的溫度數(shù)據(jù)發(fā)送給PC端串口助手和機(jī)智云App,使管理人員可以實(shí)時(shí)監(jiān)測(cè)人員的體溫信息。
關(guān)鍵詞:體溫監(jiān)測(cè);人臉識(shí)別;溫度補(bǔ)償;STM32;機(jī)器學(xué)習(xí)
中圖分類(lèi)號(hào):TP332 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-1064(2021)10-003-02
DOI:10.12310/j.issn.1674-1064.2021.10.002
疫情常態(tài)化防控下,體溫監(jiān)測(cè)是一項(xiàng)重要任務(wù),傳統(tǒng)的體溫監(jiān)測(cè)不僅浪費(fèi)大量人力,而且登記個(gè)人信息和體溫的過(guò)程過(guò)于繁瑣、效率低,增加了病毒傳染的風(fēng)險(xiǎn)。本項(xiàng)目采用人臉識(shí)別+體溫檢測(cè),在測(cè)量體溫的同時(shí),可以自動(dòng)識(shí)別人臉信息、辨別身份,體溫測(cè)量完成后將體溫?cái)?shù)據(jù)和被測(cè)量者的ID上傳到PC端。同時(shí),可以對(duì)測(cè)量的數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,方便提取。本項(xiàng)目可以應(yīng)用于學(xué)校、車(chē)站、工廠、公司等人流密集的場(chǎng)所,可以提前將人臉信息采集進(jìn)系統(tǒng)并編號(hào),在測(cè)量體溫時(shí)可以直接識(shí)別身份,也可以在測(cè)量體溫的同時(shí)錄入人臉信息。管理者可以實(shí)時(shí)監(jiān)測(cè)人員的體溫情況,以便更好地應(yīng)對(duì)突發(fā)情況。本項(xiàng)目節(jié)省了測(cè)量體溫時(shí)的人力成本,方便了管理者的監(jiān)測(cè),提高了測(cè)量體溫的效率,應(yīng)用潛力較大[1]。
1 系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)主要分為硬件和軟件部分。硬件部分包括STM32連接電路設(shè)計(jì)、紅外測(cè)溫模塊、超聲波測(cè)距模塊;軟件部分包括STM32單片機(jī)代碼編寫(xiě)、OpenMV人臉識(shí)別模塊相關(guān)代碼的編寫(xiě)、機(jī)智云平臺(tái)提供的相關(guān)代碼的編寫(xiě)。
該系統(tǒng)能夠利用紅外測(cè)溫模塊檢測(cè)體溫,并利用超聲波測(cè)距補(bǔ)償溫度,減少因測(cè)量人員與測(cè)溫裝置之間距離的變化而產(chǎn)生的溫漂現(xiàn)象。當(dāng)測(cè)量人員進(jìn)入測(cè)溫范圍時(shí),通過(guò)控制開(kāi)關(guān)采集人臉信息,確定人員編號(hào),將人員編號(hào)信息和溫度數(shù)據(jù)通過(guò)串口傳給PC端的串口調(diào)試助手,使管理人員可以實(shí)時(shí)監(jiān)測(cè)人員體溫信息。
2 系統(tǒng)硬件設(shè)計(jì)
硬件主要擔(dān)任著溫度采集、溫度補(bǔ)償、人臉識(shí)別,以及將溫度數(shù)據(jù)和人員編號(hào)上傳到PC端的串口調(diào)試助手等任務(wù)。本系統(tǒng)使用ST公司生產(chǎn)的STM32F103ZET6開(kāi)發(fā)板為主控核心板,并配合紅外測(cè)溫模塊、超聲波測(cè)距模塊以及OpenMV人臉識(shí)別模塊等。
2.1 紅外測(cè)溫模塊
筆者采用的測(cè)溫模塊是Melexis的紅外傳感器MLX90614,基于熱反應(yīng)堆技術(shù),工作在3 V,工作溫度范圍在-40 ℃~125 ℃,其測(cè)量分辨率高達(dá)0.02 ℃,可以達(dá)到測(cè)量人體溫度的要求。但是在實(shí)際長(zhǎng)距離測(cè)溫中,使用MLX90614測(cè)量的溫度誤差很大,這是因?yàn)榧t外傳感器測(cè)溫精度與被測(cè)熱源距離有關(guān)。所以,在這個(gè)基礎(chǔ)上,為了提高測(cè)量的精確度,筆者使用了超聲波測(cè)距溫度補(bǔ)償模塊來(lái)降低由于距離造成的誤差。
2.2 超聲波測(cè)距溫度補(bǔ)償模塊
在測(cè)量過(guò)程中,筆者發(fā)現(xiàn)隨著測(cè)溫者距離的遠(yuǎn)近,相應(yīng)的溫度會(huì)有大幅度變化,這還遠(yuǎn)遠(yuǎn)達(dá)不到精準(zhǔn)測(cè)溫的目的。于是,筆者利用了機(jī)器學(xué)習(xí)中的有監(jiān)督學(xué)習(xí),利用一組已知類(lèi)別的樣本調(diào)整溫度補(bǔ)償模塊的參數(shù),使其達(dá)到所要求性能的過(guò)程,主要用于新數(shù)據(jù)的溫度補(bǔ)償。監(jiān)督學(xué)習(xí)的最終目標(biāo)是,根據(jù)在學(xué)習(xí)過(guò)程中所獲得的經(jīng)驗(yàn)、技能,對(duì)沒(méi)有學(xué)習(xí)過(guò)的距離和溫度數(shù)據(jù)進(jìn)行補(bǔ)償,使溫度數(shù)據(jù)接近真實(shí)的溫度數(shù)據(jù)[2]。
本次實(shí)驗(yàn)過(guò)程中,采集了多組實(shí)際溫度為36.5 ℃,與紅外傳感器測(cè)溫精度與被測(cè)熱源不同距離下的測(cè)量溫度,如表1所示,用于構(gòu)建訓(xùn)練集模型,該模型如圖1所示。
用訓(xùn)練集模型擬合溫度補(bǔ)償函數(shù),經(jīng)過(guò)比較,一元三次函數(shù)更接近實(shí)際溫度,該函數(shù)如圖2、圖3、圖4、圖5所示。
f(x)=t0-0.0003595*x^3+0.02385*x^2+(-0.1949)*x+1.039(t0為測(cè)量溫度)。
用測(cè)試集模型評(píng)估構(gòu)建好的模型。采集實(shí)際溫度為36.5 ℃的不同距離下的補(bǔ)償溫度,將補(bǔ)償溫度與實(shí)際溫度比較,評(píng)估構(gòu)建好的模型,如圖6所示。
經(jīng)驗(yàn)證,溫度補(bǔ)償函數(shù)得到的溫度和實(shí)際溫度誤差小于0.4 ℃,能夠滿足疫情防控下的體溫測(cè)量要求,如圖6所示。
從實(shí)踐意義上說(shuō),機(jī)器學(xué)習(xí)是一種通過(guò)利用數(shù)據(jù),訓(xùn)練出模型,再使用模型進(jìn)行預(yù)測(cè)的方法。通過(guò)監(jiān)督學(xué)習(xí),紅外測(cè)溫模塊結(jié)合溫度補(bǔ)償函數(shù),可以比較真實(shí)地測(cè)量不同距離下的人體溫度。
3 軟件系統(tǒng)設(shè)計(jì)
該系統(tǒng)的軟件部分采用Python語(yǔ)言編程,Python語(yǔ)言功能強(qiáng)大又易于開(kāi)發(fā),具有可移植性、可擴(kuò)展性、豐富的第三方庫(kù)等優(yōu)點(diǎn)。利用Python語(yǔ)言進(jìn)行編程有很大的優(yōu)勢(shì),在此基礎(chǔ)上進(jìn)行開(kāi)發(fā),可以極大提高開(kāi)發(fā)效率。同時(shí),在電腦端使用機(jī)智云,將得到的數(shù)據(jù)進(jìn)行最基本的記錄和分析,上傳到手機(jī)客戶端實(shí)現(xiàn)信息的實(shí)時(shí)觀測(cè),提醒被檢測(cè)人的溫度是否異常。
3.1 OpenMV人臉識(shí)別模塊軟件編寫(xiě)
前文已經(jīng)詳細(xì)介紹了OpenMV人臉識(shí)別模塊的硬件部分,OpenMV與STM32通信和人臉識(shí)別代碼采用Python語(yǔ)言編程。在OpenMV軟件中采用Python語(yǔ)言編程,構(gòu)造take_photoes函數(shù)、face_recognition1函數(shù)。當(dāng)OpenMV通過(guò)串口接收到STM32發(fā)送來(lái)的“1”指令時(shí),調(diào)用take_photoes函數(shù),OpenMV識(shí)別現(xiàn)場(chǎng)人員,采集人臉特征值,并將人臉數(shù)據(jù)編號(hào)存在SD中。當(dāng)OpenMV通過(guò)串口接收到STM32發(fā)送來(lái)的“2”指令時(shí),調(diào)用face_recognition1函數(shù),對(duì)人員進(jìn)行拍照,并和SD卡人臉數(shù)據(jù)進(jìn)行對(duì)比,找到特征值相似度最高的編號(hào),將編號(hào)通過(guò)串口發(fā)給STM32。
3.2 手機(jī)App編寫(xiě)
3.2.1 機(jī)智云平臺(tái)
機(jī)智云平臺(tái)為開(kāi)發(fā)者提供了自助式智能硬件開(kāi)發(fā)工具與開(kāi)放的云端服務(wù)。同時(shí),機(jī)智云現(xiàn)提供三種App(集成SDK、使用App開(kāi)源框架、使用App自動(dòng)生成)開(kāi)發(fā)方式,針對(duì)不同開(kāi)發(fā)者的不同需求,幫助開(kāi)發(fā)者更加快速地開(kāi)發(fā)自己的App。因此,筆者的系統(tǒng)接入機(jī)智云進(jìn)行開(kāi)發(fā),可以實(shí)時(shí)在移動(dòng)端監(jiān)測(cè)人員體溫。
3.2.2 App顯示界面
手機(jī)App顯示界面可以顯示多人溫度數(shù)據(jù)和一人溫度數(shù)據(jù),手機(jī)界面顯示如圖7所示。管理人員可以同時(shí)查看多人的溫度數(shù)據(jù),也可以實(shí)時(shí)顯示人員一人的溫度數(shù)據(jù)。
4 結(jié)語(yǔ)
文章旨在用STM32和手機(jī)App搭建一套集體溫采集、溫度補(bǔ)償、人臉識(shí)別、體溫監(jiān)測(cè)于一體的低成本現(xiàn)代化智能體溫監(jiān)測(cè)系統(tǒng)。通過(guò)手機(jī)App的實(shí)時(shí)監(jiān)測(cè),實(shí)現(xiàn)智能化管理,完善數(shù)據(jù)管理功能。本系統(tǒng)具有實(shí)用性,在疫情防控常態(tài)化背景下,高校封閉的同時(shí),需要密切關(guān)注學(xué)生的體溫情況。利用該系統(tǒng),管理人員可以實(shí)時(shí)監(jiān)測(cè)人員體溫,及時(shí)發(fā)現(xiàn)異常情況。同時(shí),該系統(tǒng)還有很大的擴(kuò)展性,可以應(yīng)用于學(xué)校、車(chē)站、工廠、公司等人員密集的場(chǎng)所??梢园惭b在學(xué)校內(nèi),在測(cè)量體溫的同時(shí),記錄學(xué)生上課的出勤情況,便于學(xué)生養(yǎng)成良好的上課習(xí)慣。也可以結(jié)合門(mén)禁系統(tǒng),安裝在宿舍樓門(mén)口,在測(cè)量體溫的同時(shí),記錄學(xué)生進(jìn)出宿舍樓的時(shí)間。
參考文獻(xiàn)
[1] 李俊杰,劉成林,朱明.基于多任務(wù)CNN的監(jiān)控視頻中異常行人快速檢測(cè)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2018,27(11):78-83.
[2] 司家瑞.淺談機(jī)器學(xué)習(xí)在醫(yī)學(xué)大數(shù)據(jù)中的應(yīng)用[J].科技展望,2016,26(23):304.