一種體溫及口罩佩戴情況識別裝置
本文在傳統(tǒng)的人工檢測方法的基礎(chǔ)上設(shè)計了一種體溫監(jiān)測及口罩佩戴情況識別裝置,該裝置具有體溫監(jiān)測、身份識別、是否佩戴口罩、自動報警、數(shù)值顯示等功能,可在人員流動較大且人工檢測復(fù)雜的地方安裝,彌補(bǔ)了傳統(tǒng)人力疲勞缺陷,進(jìn)一步確保了疫情期間的人員安全。
本文引用地址:http://cafeforensic.com/article/202301/442804.htm1 總體結(jié)構(gòu)
體溫監(jiān)測及口罩佩戴情況識別裝置系統(tǒng)由五大模塊組成,分別是核心控制模塊、身份識別模塊、溫度測量模塊、LED 顯示模塊、Wi-Fi 接收模塊和語音輸出模塊。核心控制模塊選擇STM32F103 單片機(jī),既能搭載OpenMV攝像頭,又能實現(xiàn)實時的數(shù)據(jù)處理。身份識別模塊采用OpenMV攝像頭。OpenMV搭載MicroPython解釋器,可在PC 機(jī)上使用Python 來編程,并且?guī)幚黼娐?,使機(jī)器視覺算法的編程簡單化,同時可獲得預(yù)處理后的圖像信息,提高身份識別的速度。溫度測量模塊MLX90614 是一款用于非接觸式的紅外溫度傳感器,得益MLX90614良好性能﹐體積小、成本低、易集成等,應(yīng)用廣泛。Wi-Fi接收模塊使用ESP8266, 是一款串口轉(zhuǎn)無線模芯片,內(nèi)部自帶固件,用戶操作簡單,無需編寫時序信號等。LED 模塊和語音模塊均為本裝置的創(chuàng)新設(shè)計,分別使用TFTLCD液晶顯示屏和DY-SV17F模塊驅(qū)動語音,裝置下位機(jī)結(jié)構(gòu)見圖1 所示。
圖1 簡易體溫測量與身份識別裝置組成圖
2 硬件設(shè)計
根據(jù)本裝置設(shè)計的基本功能和發(fā)揮部分功能的要求,本裝置選用STM32F103單片機(jī)為智能控制核心,并采用12 MHz晶振和上電復(fù)位電路。該單片機(jī)內(nèi)部有256kB ROM和48kB RAM以及定時器、計數(shù)器等,其配置對于本系統(tǒng)已完全夠用。再配合上述方案中應(yīng)用的電子元器件,通過對多個模塊的組裝,完成簡易無接觸溫度測量與身份識別裝置的全部設(shè)計和制作。
2.1 身份識別電路設(shè)計
OpenMV 是低功耗的Python3 可編程機(jī)器視覺硬件,結(jié)合攝像頭可以支持一系列廣泛的圖像處理功能和神經(jīng)網(wǎng)絡(luò)。OpenMV使用跨平臺IDE進(jìn)行編程,該IDE允許查看攝像機(jī)的幀緩沖器、訪問傳感器控件、通過 USB串行(或 Wi-Fi/BLE 將腳本上傳到攝像機(jī)。OpenMV基板基于在400 MHz 下運行的STM32H743 MCU,具有1 MB SRAM、2 MB 閃存、FPU、DSP 和硬件 JPEG編碼器。
2.2 溫度測量的電路設(shè)計
適合人體溫度測量的小外形精確MLX90614 紅外測溫模塊正適合本裝置的使用。MLX90614 電路圖見圖2,此高精度的溫度傳感器,溫度分辨率要達(dá)到0.02 ℃; 距離系數(shù)需要達(dá)到S:D = 10:1,既測溫儀探頭到目標(biāo)之間的距離與被測目標(biāo)直徑之比;采用3.3 V 電源。通上電MLX90614就會輸出所檢測出的數(shù)據(jù),但此時的數(shù)據(jù)并非溫度數(shù)據(jù),而是電壓,需要按照精確的電壓溫度轉(zhuǎn)換計算公式進(jìn)行運算,才能使返回的數(shù)據(jù)為溫度數(shù)據(jù)。
圖2 MLX90614電路圖與引腳圖
紅外測溫模塊MLX90614 有MLX81101 紅外熱電堆傳感器和包括含有穩(wěn)壓電路、低噪聲放大器、A/D轉(zhuǎn)換器、DSP 單元、脈寬調(diào)制電路及邏輯控制電路的MLX90302信號處理芯片構(gòu)成,見圖3。
圖3 MLX90614組成
其中紅外熱電堆傳感器輸出的溫度信號經(jīng)過內(nèi)部低噪聲、低失調(diào)的運算放大器(OPA) 放大后經(jīng)過A/D 轉(zhuǎn)換器(ADC) 轉(zhuǎn)換為17 位數(shù)字信號通過可編程FIR 及IIR低通數(shù)字濾波器( 即DSP) 處理后輸出,輸出結(jié)果存儲在其內(nèi)部RAM 存儲單元中。
2.3 語音輸出的電路設(shè)計
語音輸出功能選用語音播放芯片DY-SV17F,內(nèi)置MP3及WAV解碼,能簡單實現(xiàn)語音播放功能。“I/O組合(獨立)模式0”與“I/O 組合(獨立)模式1”的區(qū)別在于前者模式釋放電平后繼續(xù)播放當(dāng)前曲目至結(jié)束,后者模式釋放電平后立即停止播放曲目。提示音需要完整播放,故此裝置使用IO 獨立模式0 播放報警提示音。I/O 獨立模式可以播放8 首曲目,分別由8 個I/O單獨控制,見圖4。
圖4 DY-SV17F的I/O獨立模式0電路圖
2.4 LED 顯示屏的電路設(shè)計
TFTLCD 顯示模塊的特點是響應(yīng)時間短,畫面清晰,但功耗稍高,顯示模式采用16 位的并方式與外部連接。其對外接口見圖5所示。
圖5 TFTLCD接口圖
由于數(shù)字接口標(biāo)準(zhǔn)尚未統(tǒng)一,所以使用LCD 時需要根據(jù)其手冊了解具體接口定義。字符型LCD 通常有14條引腳線或16 條引腳線的LCD,多出來的2 條線是背光電源線VCC(15 腳) 和地線GND(16 腳),其控制原理與14 腳的LCD 完全一樣,說明如表1 所示。
表1 LCD引腳說明
顯示屏內(nèi)部SoC 的LCD 控制器引出一定的引腳與LCD 驅(qū)動器連接,按照標(biāo)準(zhǔn)設(shè)置一定的時序,再將LCD 要顯示的像素信息放入內(nèi)存中,在通過設(shè)置LCD控制器中的寄存器,與LCD 控制器建立映射,就能在LCD 中顯示出字符或圖像。
2.5 按鍵控制的電路設(shè)計
按鍵與STM32F103 單片機(jī)直接連接,只要在程序輸入相應(yīng)的代碼就可以正常使用,當(dāng)按下KEY1 按鍵時,報警溫度闕值降低1 ℃,按下KEY0 按鍵時,報警溫度闕值升高1 ℃。
2.6 測量溫度功能
MLX90614 紅外測溫模塊使用SMBus 協(xié)議。對照時序圖,首先初始化函數(shù)內(nèi)部參數(shù),接著產(chǎn)生停止位,用于判斷是否可繼續(xù)讀取,接著發(fā)送起始位,然后發(fā)送從機(jī)地址和讀取指令,如果一切正常就從發(fā)起始位,開始讀取低8 位和高8 位數(shù)據(jù),再讀取校驗位,發(fā)送停止位表示讀取完成,最后對數(shù)據(jù)進(jìn)行校驗,數(shù)據(jù)正確就送回數(shù)據(jù),否則重新讀取。讀取后的數(shù)據(jù)為被測物體表面溫度,在測量體溫時,通過對多種數(shù)據(jù)進(jìn)行直線擬合,得到結(jié)果數(shù)據(jù)繪圖。切換成體溫測量模式時,紅外測溫模塊所得的數(shù)據(jù)會經(jīng)過以下函數(shù)的計算,將表面溫度數(shù)據(jù)轉(zhuǎn)換成體溫數(shù)據(jù)輸出,見圖6。
所得函數(shù)為:y = 0.4639x + 20.841
圖6 體溫擬合結(jié)果圖
2.7 自動報警功能
由上文可知,語音輸出功能選用語音播放芯片DYSV17F,自動報警功能即將語音播放芯片DY-SV17F與STM32F103 單片機(jī)搭配,單片機(jī)接收從LMT70 溫度檢測電路輸入的邏輯信號和脈沖信號,并將輸入的信號進(jìn)行處理運算,以控制電流或控制電壓的形式輸出給語音播放芯片DY-SV17F,完成各項語音播報和警告提醒。
2.8 數(shù)值顯示功能
由原理圖可知,TFTLCD 顯示屏有128×64 個像素點,這為字符及漢字的顯示提供了基礎(chǔ)。讓數(shù)值顯示在固定位置的流程如下:首先在文件夾中找到液晶屏驅(qū)動文件LQ12864.c,輸入文件中的 LCD_P6x8Str() 函數(shù)用來打印字符串,之后為LCD_P6x8Str() 函數(shù)進(jìn)行解釋,輸入x 和y 的坐標(biāo),即字符串初始打印的坐標(biāo),測量溫度及身份識別后,數(shù)據(jù)將會傳輸至STM32F103 單片機(jī)里進(jìn)行處理,再通過LCD 顯示在屏幕上。
2.9 下位機(jī)App功能
手機(jī)客戶端由APP Inventor 編程完成,可對該裝置的圖像信息及溫度,口罩佩戴情況進(jìn)行觀測。AppInventor 是一款完全在線開發(fā)的編程軟件,拋去復(fù)雜化的程序代碼而采用積木式的推疊法來完成Android 程式。該系列軟件自行研發(fā)適合手機(jī)使用的任意應(yīng)用程序。通過ESP8266 模塊連接上位機(jī)和下位機(jī),使服務(wù)端信息發(fā)送給手機(jī)頁面,通過TCP/IP 協(xié)議,使其一體化。
2.10 WI-FI 接收模塊的電路設(shè)計
此芯片使用了3.3 V 的直流電源,體積小,功耗低,支持透傳,丟包現(xiàn)象不嚴(yán)重,價格低。ESP8266 還允許用戶自己編寫rom,不僅可以實現(xiàn)數(shù)據(jù)傳輸功能,還可控制建立Wi-Fi 熱點,或者作為Wi-Fi 客戶端連接到某指定路由器,同時還可編程控制所有的GPIO。Wi-Fi 接收模塊電路原理圖見圖7 所示。
圖7 Wi-Fi接收模塊電路原理圖
3 軟件設(shè)計
該裝置的身份識別功能由身份學(xué)習(xí)功能、人臉識別功能、口罩識別功能組成。身份學(xué)習(xí)功能。OpenMV 將所有的與攝像頭有關(guān)的功能全部封裝在了傳感器模塊中,可以很方便的調(diào)用。先使用sensor.reset() 函數(shù)初始化攝像頭,設(shè)置采集照片的格式為灰度圖像,灰度圖像每個像素僅占1 字節(jié),在之后的圖像特征的提取中處理速度快。再設(shè)置每幀的大小, 等待攝像頭設(shè)置完成后會自動拍攝人臉圖像,每位拍攝者需要拍攝20 張人臉圖像,存入帶有人員編號的文件夾里。常用圖像特征提取方法有Haar-like、HoG、LBP這三種方法,其中LBP為嵌入式開發(fā)最為推薦的方法,雖然精確度不如前者,但其運算速度快,適合題目實時檢測人臉的要求。LBP(Local Binary Pattern,局部二值模式)是一種用來描述圖像局部紋理特征的算子;它具有旋轉(zhuǎn)不變性和灰度級不變性等顯著的優(yōu)點。
由于OpenMV 擁有圖片提取LBP 特征功能,在拍攝被測人員人臉樣本時,先運行OpenMV 的sensor.set_pixformat(sensor.GRAYSCALE) 灰度轉(zhuǎn)換函數(shù),出來的圖片已經(jīng)轉(zhuǎn)化為灰度圖,再提取出當(dāng)前拍攝圖像的LBP特征函數(shù),將圖片與之前文件夾里存入的被測人員的圖像逐一比對,比對時會逐一比對所有被測人員的圖片,比對完成一組文件夾的圖片后會輸出比對闕值,之后跳轉(zhuǎn)至下一文件夾再次進(jìn)行比對,全部識別完畢后找出比對闕值最低的文件夾,最后輸出文件夾對應(yīng)的人員編號或姓名。
圖8 身份識別結(jié)果圖
口罩識別功能運用了口罩特征點檢測和尋找口罩色塊的功能,在程序運行前將不同口罩的特征點及各種色塊提取完成,方便后續(xù)比對。在拍攝出的灰度圖中,若被測者戴著口罩,OpenMV 會尋找口罩的邊緣并畫出特征點,當(dāng)口罩的特征點匹配正確至一定數(shù)量時,則程序?qū)@示正確識別口罩并顯示被測人員已戴口罩;若特征點識別較少,OpenMV 將會尋找口罩色塊,匹配成功將正確識別口罩,匹配失敗則顯示被測人員未佩戴口罩??谡肿R別流程圖見圖9。
圖9 口罩識別流程圖
4 結(jié)束語
基于32 位微控制器STM32F103,使用MX90614紅外測溫傳感器和OpenMV 攝像頭,再配合TFTLCD顯示屏、ESP8266 模塊、語音播放芯片DY-SV17F 等設(shè)計了簡易無接觸溫度測量與口罩佩戴情況識別裝置。經(jīng)過測試證明該系統(tǒng)可實現(xiàn)較高精度的溫度測量,能夠通過藍(lán)牙向計算機(jī)傳輸溫度數(shù)據(jù),并且具有顯示、識別、報警等輔助功能,可滿足日常生活的需要。不過,該裝置的精度和穩(wěn)定性等有待進(jìn)一步提高,以實現(xiàn)更好的紅外測溫。經(jīng)驗證,該裝置測量數(shù)據(jù)都達(dá)到預(yù)期目標(biāo),實驗結(jié)果準(zhǔn)確。
參考文獻(xiàn):
[1]劉志軍.基于SSD算法的口罩檢測[J].科學(xué)技術(shù)創(chuàng)新,2021(24):68-69.
[2]劉啟剛,孫向陽,徐偉.針對實時場景的口罩檢測模型設(shè)計[J].實驗技術(shù)與管理,2021,38(8):76-81.
[3]余阿祥,李承潤,于書儀,等.多注意力機(jī)制的口罩檢測網(wǎng)絡(luò)[J].南京師范大學(xué)學(xué)報(工程技術(shù)版),2021,21(1):23-29.
[4] 張秀麗,宋蔚.紅外體溫檢測專利技術(shù)綜述[J].河南科技,2021,40(11):144-146.
[5] 淮旭鴿,莊未,梁才航,等.一種身高自適應(yīng)智能體溫檢測系統(tǒng)[J].桂林電子科技大學(xué)學(xué)報,2021,41(5):407-413.
[6] 李天睿,謝衛(wèi)平.體溫檢測在人臉識別門禁終端的應(yīng)用[J].電腦與電信,2021(7):68-70.
(本文來源于《電子產(chǎn)品世界》雜志2023年1月期)
評論