摘 要:基于高溫物體的溫度不同,與之相對應通過數碼相機攝取的高溫物體的顏色也不同,提出一種神經網絡的圖像顏色測溫方法。選取RGB模型的R、G和B作為模式特征向量,用BP網絡擬合高溫物體的顏色和溫度之間的非線性關系。實驗結果表明,該方法精度高,運行速度快,切實可行。
關鍵詞:溫度測量;BP神經網絡;顏色模型
中圖分類號:TP391.4 文獻標識碼:A
1 引 言
近年來,隨著電子計算機技術和光學技術的發展,圖像處理技術在燃燒測量方面應用引起了極大關注,很多學者對基于輻射圖像進行溫度測量的方法進行了研究并取得了很大的進展。由于高溫物體的顏色與其溫度之間存在著某種映射關系,而神經網絡具有函數逼近、模式識別、數據分類和預測等特性,尤其是它的自組織、自適應、自學習功能,將神經網絡應用于顏色測溫可以不受非線性模型的限制,便于給出工程上易于實現的學習算法。神經網絡技術為解決非線性、不確定系統的建模問題,提供了一條有效的途徑。

本文主要研究的內容是運用彩色圖像顏色處理技術和神經網絡算法對高溫物體進行測溫試驗。測量系統如圖1示。首先利用彩色數碼相機對高溫物體在不同溫度發出的顏色光進行標定,接著通過圖像處理技術對圖像進行處理,然后應用BP神經網絡測量模型對樣本進行學習,網絡收斂后,利用它很好地反映物體的顏色特征與對應溫度之間的非線性關系。把高溫物體顏色光圖像的顏色特征作為輸入,就可以得到該物體的溫度。
2 顏色模型和顏色特征向量的選擇
顏色模型有多種,包括用于顯示和打印的RGB、CMY模型;用于視頻信號的YIQ、YUV模型;顏色比配值均為正的CIE-XYZ顏色模型;歸一化顏色模型rgb、xyz;CIE推薦的均勻顏色模型CIE-LAB、CIE-LUV;主觀顏色模型HIS、HSV、LHS;Ohta提出的顏色分量之間完全獨立的I1 I2I3顏色模型;Theo提出的對強烈光線不敏感的I1I2I3顏色模型以及對彩色照明有很強魯棒性的m1m2m3顏色模型等。數碼相機采集的圖像值為RGB顏色空間,RGB空間主要是根據人眼錐體接收光線的方法來構造成的一個模型,它用三組獨立的值來定義色調、飽和度和亮度。由于數碼相機采集的輸出參數為RGB,所以我們直接采用RGB顏色模型,無須轉換,非常簡便。

3 BP神經網絡的彩色溫度測量
3.1 BP網絡的結構及神經網絡工具箱的特點
BP網絡(Backpropagation NN)是一種單向傳播的多層前向網絡,其結構如圖2所示。網絡除輸入輸出節點外,還有一層或多層的隱層節點,同層節點間沒有任何耦合。輸入信號從輸入層節點依次傳過隱層節點,最后傳到輸出節點。每層節點的輸出只影響下一層節點的輸出。其節點傳遞函數通常為Sigmoid型,但在輸出層有時為線性。
與Matlab7.0對應的神經網絡工具箱為NNToolbox4.4.3,其內容非常豐富,包括了很多現有的神經網絡的新成果,涉及多種網絡模型,如:BP網絡、徑向基網絡、自組織網絡等。同時還提供了很多經典的學習算法,使用他能夠快速的實現對實際問題的建模求解。

以BP網絡的神經網絡工具函數為例,主要有以下一些重要函數,如表1所示。
3.2 應用BP神經網絡進行彩色測溫
3.2.1 BP神經網絡測溫模型
首先確定BP神經網絡的測溫模型。理論上已經證明,三層BP神經網絡可以以任意精度逼近任意復雜的連續函數。所以,可利用BP神經網絡來構造一個“黑箱”,并通過神經網絡的自學習來逼近溫度與灰度值Rr、Rg、Rb的函數關系。本文采用含有一個隱含層的BP神經網絡來逼近溫度與灰度值的函數關系,如圖3所示,其網絡輸入為RGB分量的灰度值,輸出層為一個神經元,表示測量溫度T,隱含層神經元數目在實驗中按經驗選取,通過訓練將學習好的網絡函數作為溫度測量模型。
3.2.2 BP算法

BP算法把一組樣本的輸入輸出問題轉化為一個非線性優化問題。用迭代運算求解網絡權值相當于學習記憶問題,加入隱含結點使優化問題的可調整參數增加,因此可得到更精確的解。BP網絡的權值調整使用的是反向傳播的學習算法,標準的BP算法使用最速下降靜態尋優算法,在修正權值時,學習過程易發生震蕩,且收斂很慢;而Leven-berg-Marquardt優化算法兼顧最速下降法和高斯一牛頓迭代的長處,既穩定又快速,學習時間較最速下降法短得多,故選用該算法。
3.3 實驗具體步驟
步驟1:固定彩色數碼相機位置,在不同溫度下,對同一個高溫物體發出的顏色光進行拍攝,得到許多間隔一定溫度的樣本;
步驟2:對圖像進行處理,分割出顏色光部分。求取平均值,得到R、G、B;
步驟3:取樣本輸入到神經網絡進行訓練,擬合出R、G、B與溫度T之間的非線性關系;
步驟4:利用測試樣本驗證訓練好的BP網絡。
4 實驗結果及分析
選取廣西冶金研究院自制的溫度計量設備——高溫電爐進行標定。受熱發光體為電爐,用調壓器為電爐加電壓,用熱電偶測電爐溫度,應用尼康E5600型數碼相機(分辨率為2592*1944)在600℃~800℃范圍內,當時間、光線條件等一定的情況下,每隔3℃拍攝一次圖像,選取其中的40組作為訓練樣本輸入到神經網絡,20組作為測試樣本來驗證算法的準確性。表2給出部分樣本的R、G、B值。
圖4為數碼相機采集到641℃和790℃時的圖像,可以看出顏色有很大的差別。由于數碼相機采集的電爐部分數據量比較大,達到約12萬的像素點,只須采集顏色光中心部分的顏色就可以很好地反映高溫物體的溫度,而不必處理所有的顏色光內的像素。圖像預處理的過程為:首先將圖像由RGB模型變換為HSV模型,因為電爐發出的顏色光的亮度明顯高于背景,應用亮度V對圖像進行分割,然后再轉換為RGB模型,取顏色光的中心,向外擴展一個矩形,取大約1千個像素作為處理對象,求取它們的平均值R、G、B。
利用M atlab7.0對應的神經網絡工具箱提供的newff,train函數設計M程序來建立和訓練該3層BP網絡。表2給出部分樣本的R、G、B值和對應的溫度T。將R、G、B作為樣本輸入到BP神經網絡中,將對應溫度值T作為輸出樣本。為了防止輸入數據太大,使神經元迅速飽和而麻痹,輸入輸出樣本均須歸一化到[0,1]區間。BP網絡隱層個數選取8個神經元,于是該網絡結構為3×8×1。主要語句如下:
net=newff(minmax(x),[8,1],
{’logsig’,’purelin’},’trainlm’)
%%建立網絡
net.trainParam.show=100;
net.trainParam.epoch=5000;
net.trainParam.goal=0.0001;
net.trainParam.max_fail=100;

net=train(net,x,y)%%訓練網絡。其中x,y分別是輸入輸出向量矩陣,他們的列數相等,即訓練樣本數。
網絡訓練過程的誤差變化曲線如圖5所示。利用已訓練好的神經網絡對表中樣本數據的仿真結果如下:
由網絡訓練誤差的結果可知:對應的溫度值與實際的溫度值比較,平均誤差為2.0493℃,最大誤差為6.8326℃。再將檢驗樣本的R、G、B輸入到網絡可得對應的溫度值,可以看出應用提出的算法進行測溫,精度在可接受范圍內。
5 結論
本文主要研究了一種通過提取高溫物體顏色光圖像的顏色特征值,采用RGB顏色模型,應用BP神經網絡來擬合R、G、B和溫度之間的非線性關系,計算得到高溫物體溫度的方法。該方法精度高,運行較快,切實可行。但是,由實驗知對于同一個溫度下的高溫物體在不同的光照條件下進行拍攝,測得的RGB顏色變化較大,所以只能在光照條件一致情況下進行測量,為測量帶來局限性,可以將RGB模型轉換為其它模型,選取其它的顏色特征值來進行研究,例如HSV模型、YIQ模型等。

此外,Matlab7.0對應的神經網絡工具箱還提供很多其它網絡模型、算法函數,如徑向基網絡、小波網絡等,可以試著用其它模型和算法來進行研究,比較不同神經網絡模型的軟測溫效果。