徐 逸 焦良葆 孟 琳
(南京工程學院人工智能產業技術研究院 南京 211167)
目前測溫的方式分為接觸式和非接觸式測溫兩大類[1]。接觸式測溫主要利用熱電阻或者熱電偶溫度探測器,通過測溫元件對被測對象進行測溫,該種方法優點是操作簡單,但缺點是測量的精度低、速度慢,對于高溫度的環境下不能起到很好的實時測量效果。非接觸式測溫主要是基于物體的熱輻射原理設計而成的,在測量的過程中不需要與被測物體接觸,具有較高的測溫上線、安全可靠、測量快速等優勢,適合測量移動旋轉的高溫物體的溫度。
非制冷紅外焦平面紅外熱成像系統[2~3]就是采用非接觸式紅外探測器[4]探測物體的紅外輻射,并加以信號處理、光電轉換等手段將物體的溫度分布轉換成紅外熱輻射圖像,使用該設備我們可以清楚地看見待測量物體的發熱位置。目前許多部門廣泛使用紅外熱像儀對相關設備進行帶電測量,可以及時發現故障隱患。但是分辨率高的熱像儀[5~6]的價格比較昂貴、測量范圍有限、驅動比較復雜。
針對上述問題,本文設計了一種基于MLX90640低成本的紅外熱成像系統[7~9]。該系統以樹莓派作為核心控制[10~11],并與MLX90640 紅外傳感器和高清攝像頭共同實現溫度數據和圖片的實時采集,此外可以通過SSH 與PC 端屏幕連接并顯示圖像。因熱像分辨率較低,故采用了基于邊緣保護的插值算法來有效提高紅外圖像的分辨率,可以清晰看出發熱部位。該系統具有動態監測、測量范圍大、低成本的優勢,能實時形成高分辨率的紅外熱力圖,便于使用者監測設備發熱情況。
紅外熱成像系統主要是以MLX90640 為核心的溫度采集模塊和基于樹莓派的軟硬件設計,對采集的數據和圖片進行分析和處理,系統結構如圖1所示。本系統選用樹莓派作為核心控制器件,其內部有IIC 和USB 接口,通過串口通信將MLX90640紅外陣列傳感器溫度數據傳輸到樹莓派進行實時處理、分析和存儲。此外將樹莓派通過SSH 連接PC 端屏幕來實時顯示熱圖像。由于紅外熱圖像是根據768個溫度值繪制的32pixel×24pixel的紅外熱圖像,圖像的分辨率較低,所以提出了一種新的基于邊緣保護的插值算法,將圖像分辨率提高至320pixel×240pixel。此外,為了方便使用者查看,將768個溫度數據存儲在txt中,并可顯示該測量區域的最高溫和最低溫。

圖1 系統總體結構圖
為降低成本,本系統選用了尺寸小、功耗低、方便集成的MLX90640 紅外陣列傳感器。該模塊是一款32×24 像素的紅外陣列傳感器,需要2.5V~3.3V/5V 的供電電壓,正常工作時溫度為-45℃~85℃,可測量物體溫度范圍為-40℃~300℃,其編程刷新速率為0.5Hz~64Hz,在整個測量范圍內保持高精度水平。該模塊有兩種視場角(FOV)可以選擇,分別為55°×30°和110°×75°。為了能近距離高效地監測物體溫度,本系統選用110°×75°紅外探測器視角(FOV)。
MLX90640 組成框圖如圖2 所示,它有四個引腳,其中SDA 用于IIC 串行接口數據線,SCL 用于IIC 串行接口時鐘線,VDD 用于外接3.3V 電源,GND 接地。同時,它具有環境溫度傳感器和VDD電壓檢測ADC。通過IIC 接口,可以訪問存儲于內部RAM 中的紅外陣列、環境溫度以及VDD 實時數據,并能讀取存儲在EEPROM 中傳感器出廠時校準常數和配置參數。

圖2 MLX90640組成框圖
在此次的微處理器型號選擇過程中,本系統主要以成本、效率和集成度作為三個參考指標,通過綜合比較,最終選擇了樹莓派4B 這款微處理器。該款處理器是目前單板計算機中的最新款。實際上,樹莓派[12]與普通的小型嵌入式計算機幾乎沒有差別,不僅體積小而且功能全面。主板上有多種類型的接口,可以滿足不同信息處理需求,包括USB 3.0、USB2.0 接口各兩個,還有數字接口和網絡接口。樹莓派內置64 位四核處理器,它內部的隨機存取存儲器內存有4GB的大容量,有著強大的圖像數字處理技術,支持4K 高清影像,包含有2.4/5.0GHz 雙頻無線LAN。此外,開發板支持Python和C 語言等多種軟件編程語言,廣泛應用于無線傳感器網絡領域。
將芯片的刷新速率設置為64Hz并選用棋盤工作模式,然后根據EEPROM 中存儲的校準數據計算出測量的溫度值,其測量流程如圖3 所示。將芯片接上5V 電源后,其內部需要等待80ms 左右,然后從EEPROM 中讀取校準參數,并將參數存儲在RAM 中,共占用1536 字節。接著,標準的MLX90640 紅外傳感器工作在棋盤模式下,每次測量一半的像素點,通過I2C 總線輪流讀取每個子頁像素的測量數據,分兩次完成768像素點的測量。

圖3 MLX90640測溫流程
根據式(1)可計算出每個像素點的實際溫度:

式 中 有4 個 未 知 參 數,分 別 是VIR(i,j)_COMPENSATED、αcomp(i,j)、Sx(i,j)和Ta_r,其中i 的取值范圍為1~32,j的取值范圍為1~24,(i,j)表示像素點的位置;VIR(i,j)__COMPENSATED表示單個像素的溫度梯度補償系數,可由式(2)求得:

αcomp(i,j)表示單個像素歸一化的靈敏度系數,其計算公式如式(3):

Sx(i,j)與Ks、α(i,j)、VIR(i,j)__COMPENSATED等 參 數 有關,可由式(4)求得:

Ks表示不同溫度范圍的靈敏度斜率,Ta_r是由紅外信號反射溫度Tr、環境溫度Ta、發射率系數ε組成,IR反射溫度Tr≈Ta-8,其計算公式見式(5):

式中環境溫度Ta可由式(6)計算:

式中的所有參數可以在EEPROM和RAM中讀取,然后將所求參數直接代入式(1)即可求得每個像素點的實際溫度。
插值算法[13~15]是獲得高分辨率圖像的主要技術手段,其中最近鄰插值、雙線性插值和三次多項式插值方法等使用最為普遍。1)最近鄰插值算法:此種算法的優勢是算法步驟少,缺點是會在插值生成位置產生鋸齒狀,其原理是通過計算出最近鄰象素灰度,然后賦給待求像素;2)雙線性插值算法:此種算法的優點是最終成像效果好,原理是從熱力圖的兩個方向進行兩次線性插值計算,這樣就得出了四個不同方位的像素值;3)三次多項式插值算法:在這幾種算法中,此種獲得圖像的分辨率最高,效果最好,但是計算量也最大,步驟繁復。需要選取待采樣點周圍的16 個像素灰度數值,進行三次的插值運算。
在分析了幾種不同的插值算法之后,可以得知傳統的插值算法盡管提升了圖像的分辨率,但問題是細節處理能力較弱,導致最終的整體效果差。因此,本文提出了一種以邊緣保護為處理思路的插值算法。一般來說,圖像分為邊緣和非邊緣兩個部分,前者的灰度變化很大,后者的灰度變化較小,結合這一特點,針對分辨率較低的圖像,可以先運用改進的Canny 算法[16~19]準確檢測出邊緣位置,然后針對兩個不同區域,采用不同的插值算法來獲得高分辨率圖像。算法流程如圖4所示。

圖4 插值流程
一般來說,Canny 算法會先對圖像進行高斯濾波,然后計算出梯度大小和方向并對梯度幅值進行非極大抑制,最后通過雙閾值處理找到圖像邊界,從而實現邊緣提取。高斯濾波雖然使得圖像變得更平滑,但濾波后的圖片邊緣會變得模糊,因此,本文對Canny 算法進行了改進,采用中值濾波來代替高斯濾波,中值濾波[20~21]能有效地消除圖片的噪聲,克服線性濾波器帶來的圖像細節模糊問題,能較好地保留圖片的細節信息。通過主觀和客觀實驗證明該改進可以有效提取圖片的邊緣。
在提取邊緣并計算出像素點的灰度方向后,按照所需放大的倍數將邊緣點進行放大映射,并利用已知的相鄰像素灰度值來確定待插值像素,在待插值像素的具體位置插值,即在邊緣區采用最近鄰插值算法,可有效地保留圖片的邊緣細節。在此基礎上,對非邊緣區則采用雙線性插值算法,將待插值點對應的原圖像中的相鄰4 點的灰度值來計算該點灰度值,使得溫度高低差異明顯,減少了運算量。將32pixel×24pixel 分辨率的熱圖像提高到320pixel×240pixel。經過技術優化,MLX90640型號的紅外傳感器的圖像處理技術得到了較大提升,像素處理功能已經十分強大,在這點上,無論是AMG8833 還是MLX90621,都稍顯遜色。這種新插值方法結合了各插值算法的優點,使得圖像保留了大量信息,邊緣信息更加清晰,減少了計算量,使得放大后的整體效果自然,具有較好的視覺效果。
將樹莓派接收到的768 溫度數據存儲在txt 文件中,并實時顯示紅外熱圖像。用不同灰度來表示一個區間溫度的高低,溫度越低,其灰度越暗,溫度越高,其灰度越亮。本文對原始的熱圖像采用傳統的插值算法和新算法進行實驗。
此次提出的新算法能否真正提升圖像分辨率以及是否具有有效性,則需要通過主客實驗的方法來進行驗證,首先,將新算法和上述提到的幾種插值算法做一次綜合分析。在此次研究中,圖像的熵與平均梯度是驗證分析的主要參考指標,圖像的熵體現的是圖像信源的平均信息量,熵值有具體的數值來表示,且與插值效果成正相關關系。平均梯度能夠反映圖像紋理的變化情況,細節反差越大,圖像整體效果越好,層次感更佳。
將上述提到的三種算法進行綜合或者搭配運用,第一種實驗方法:單獨使用雙線性插值;第二種實驗方法:雙線性插值與三次線性插值同時運用;第三種實驗方法:最近鄰插值與三次多項式插值同時使用;第四種實驗方法:本文提出的基于邊緣保護的插值算法。放大的效果圖分別如圖5(a)~5(d)所示。最后,對比四種實驗的圖像的熵值與平均梯度數值,如表1 所示。其中運用新插值算法得到的圖像,其熵值和平均梯度值是最高的,不僅計算量最小,整體效果也最佳,分辨率很高。從效果圖中可以看出:圖5(a)~(c)的圖片中出現嚴重馬賽克,邊緣細節模糊,效果較差,圖5(d)相較于其它圖片層次感更加,視覺效果更好。

圖5 檢測結果對比

表1 幾種插值算法對比
本文采用非接觸式高精度的MLX90640 紅外測溫傳感器對需要測量的對象進行實時監測并顯示熱像圖。由于系統是根據傳感器測得的768 個像素點形成低的圖像分辨率較低,提出了基于邊緣保護的插值算法,與傳統插值算法相比較,有效保持了圖像邊緣特性,提高了插值后圖片的質量,具有良好的視覺效果。為了讓使用者更好地監測設備,將所有溫度數據存儲在txt文件中,并能顯示最高和最低溫度。實驗結果表明該系統成本低、安裝方便、測量速度較快、安全穩定,該系統可以應用在對分辨率要求不高的場合,起著紅外熱成像系統的作用。