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