周逸倫,李 軍,蔡 屹
(1.深圳市軟筑信息技術有限公司,廣東 深圳 518034;2.深圳市檢驗檢疫科學研究院,廣東 深圳 518033;3.深圳海關信息中心,廣東 深圳 518033)
利用紅外熱成像的方法對被測物進行溫度測量,不需要與被測物體進行接觸,對于具有高傳染性的流行性疾病具有很好的防治作用。通過紅外熱成像顯示的偽彩色圖像再結合軟件系統中的測溫模塊對疑似患者進行遠距離體溫測量,既可以發現密集人群中體溫偏高者,又可以在自身不被傳染的前提下對疑似患者進行體溫測定。
從紅外測溫的原理出發,研究了紅外測溫儀測溫的原理,首先從理論上分析了影響紅外測溫精度的因素。通過一個現有的紅外測溫探頭設計了一個紅外測溫系統,并依此系統實際分析了影響測溫精度的因素,設計了基于環境溫度變化補償的紅外測溫系統。
根據文獻[1-3]中設計的體溫測量記錄系統,本研究結合了自身的應用場景,設計了主要由紅外攝像機、單片機、環境溫度傳感器、超聲波傳感器和模擬小黑體組成的紅外測溫系統。傳感器數據采集單片機作為控制單元,不僅需要控制紅外傳感器、DS18B20 環境溫度傳感器、模擬小黑體STS3x 傳感器和超聲波單元進行相應的數據讀取和處理,還要將得到的溫度數據發送到工控機中,通信協議采用RS232。傳感器數據采集單片機將采集到的數據通過RS232 串口傳輸到上位機中,上位機使用Python 進行數據接收并把數據存儲在文本文檔中。當處理數據的時候,Python 能夠方便的進行相應的數據處理。
Python 具有幾百個內部函數還有三十幾種能夠實現相應專業的數據處理與分析的工具包。在串行通信中主要用到的是設備控制箱,這個工具箱提供了對RS-232/RS-485 通信標準的串口通信的支持。
基于Co1texM4 內核的STM32F407 傳感器數據采集單片機為下位機,工控機為上位機。工控機串口與單片機主通訊串口相連。系統工作時Python 首先調用設備控制工具箱中的serial 類及相關函數創建串口設備對象,設置與單片機相對應的波特率、數據位等通信格式,打開串口設備文件,就可以用16 進制ascii 碼對串口進行相應的操作。
傳感器數據采集單片機串口與工控機串口相連,工控機上我們使用了Python 語言在Pycharm 中開發了上位機,工控機通過串口向單片機發送數據采集指令,單片機的串口收到指令后,分別使用環境溫度傳感器DS18B20、超聲波傳感器AJ-SRO4M-T-X 和模擬小黑體STS3x 進行相應的數據采集, 然后單片機將采集的數值送往串口, 上位機直接接收數據并打印輸出溫度數據,并將采集到的數據插入數據庫進行保存。Python 為我們提供了串口操作的類, 使用較少代碼就可以實現從PC 的串口接收數據, 將串口傳過來的溫度數據插入數據庫,也可以利用Python 的flask 框架進行數據的查詢展示,工作流程見圖1。

圖1 Python 串行數據采集流程圖
基于windows 工控機的圖像采集模塊:
通過LabView 編寫相應的圖像采集和處理用戶程序,控制USB 接口的歐普士XI400 熱像儀和抓拍或者連續采集圖像,保存圖像文件,并對圖像進行壓縮和灰度、二值化及增強等圖像處理。
圖像采集和抓取程序包括兩個事件:一是抓取圖像并輸出到圖像顯示窗口;二是將抓取的圖像存儲到文件。程序執行的過程是首先打開所選擇的歐普士XI400 熱像儀,啟動圖像抓取,LabView 會獲取歐普士XI400 熱像儀的當前幀,獲取成功后會以“JEPG”格式保存到文件。
算法介紹:
理論依據來源于兩點測溫法,直接測量在同一物體表面的溫度,計算被測面上兩點的溫度差。需已知被測物體表面的發射率和環境溫度,可以由測量的輻射溫度計算出表面真實溫度。由于誤差累積,紅外測溫設備的局限性,采用以上方法誤差較大。
由上文可以看出,影響紅外測溫精度的因素有環境溫度和發射率,文獻[4-6]討論了其他因素對紅外熱像儀測溫準確度的影響,如環境溫度、大氣濕度、發射率等,文獻[7]討論了環境中高溫物體對紅外測溫精度產生的影響。
因此引入相對測溫法,測量不同表面的目標與參考體的溫度、環境溫度(這里的環境是指從被測點到熱像儀的所經過的環境)和發射率,所測溫度由參考溫度計算出來。通過引用相對測溫法,模擬小黑體與黑體輻射源當成測量時的兩個點。選模擬小黑體為校準基準點,黑體輻射源作為被測點,小黑體上的溫度傳感器值即為已知溫度值,由于并非同一表面的溫度差,由計算式可知,自制小黑體的環境溫度要和人臉環境溫度接近,才能減少誤差。

圖2 熱像儀所測溫度比對圖
當進行測溫校準時,需要在紅外相機內標定兩個區域,人體測溫區域設定為區域1,模擬小黑體校準參考區為區域2(如圖3 所示),模擬小黑體與人體測溫區當成測量時的兩個點。根據文獻[8-9]所描述,人體額頭區域平坦,測溫面積大,有利于測溫,所以將人體的額頭部設為所述被測溫區,使用紅外熱成像相機獲取所述被測溫區的目標溫度,模擬小黑體校準參考區設在所述紅外熱成像相機的鏡頭前方,使用紅外熱成像相機溫度傳感器獲取所述校準區的參考溫度。由于模擬小黑體校準參考區溫度已知,那么通過兩點法公式的計算,區域2 可以實時的修正區域1 的測溫數值。

圖3 不同發射率下的溫度比對圖

圖4 紅外相機內標定模擬小黑體
根據文獻[10]中的人體額頭皮膚表面溫度與實際體溫對照表為基礎,通過數據分析后優化并補充了對照表,補充后的結果見表1,通過該對照表,測溫所得到的額頭溫度加上偏差值,最終就可以計算出人體的體溫。

表1 人體額頭皮膚表面溫度、實際體溫和偏差值關系表
本課題以非接觸人體溫度測量為主要內容,進行了非接觸的誤差分析及補償。從軟件上解決了紅外溫度計測溫不精確的缺點。綜上所述可知:
(1) 誤差分析及補償 車輛駕駛員與乘客健康管理及快速驗放設備使用場合多為半室外或者全室外,環境較為復雜,在通道內搭建黑體進行紅外相機測量的溫度進行校準。黑體能吸收所有波長的輻射能量,沒有能量的反射和透過。也就是說,絕對黑體只發射紅外電磁波,但不反射外界環境的電磁波,使其輻射情況只與溫度有關,有效避免外界環境干擾以及自身材料影響,將黑體輻射源(校準裝置)設置在熱成像攝像機視野范圍內,建立灰度與溫度的準確對應關系,進行測量溫度實時校正,將視頻畫面和個人體溫對應顯示,可以大幅度提高人體測溫的精度,減少測溫誤差到±0.3 ℃。
(2) 現在已經有了可變焦的紅外測溫儀,因此未來應用在醫療上的紅外測溫儀將向可變焦、熱圖像感應方向發展,本研究設計的系統只能作為過渡產品來使用,因此,從根本上提高測溫儀的精度才能解決問題,這是以后所需要研究并著力的地方。