屈彤輝
摘 要:分別用BP神經(jīng)網(wǎng)絡(luò)和支持向量機(SVM)兩種方法建立相應(yīng)的網(wǎng)絡(luò)模型對多光譜輻射測溫的測量數(shù)據(jù)進行處理以得到真實溫度。用合適的訓(xùn)練樣本分別對兩種方法建立的模型進行訓(xùn)練,收斂之后用驗證樣本測試其精度。結(jié)果表明用支持向量機處理多光譜輻射測溫數(shù)據(jù)是可以滿足實際要求的,與BP神經(jīng)網(wǎng)絡(luò)相比精度更高,而且由于支持向量機對訓(xùn)練樣本需求較小,進一步增加了工程可行性。
關(guān)鍵詞:輻射測溫;支持向量機;BP神經(jīng)網(wǎng)絡(luò)
高溫測量是航空發(fā)動機試驗、測試過程中非常重要的一環(huán),航空發(fā)動機的工作溫度隨著性能的提升而不斷提高,現(xiàn)有的高溫測量技術(shù)已經(jīng)無法滿足測量需要,亟需新的測溫技術(shù)。在諸多新技術(shù)中,多光譜輻射測溫是一種很有發(fā)展前景的高溫測量技術(shù),但是由于測量過程中材料發(fā)射率導(dǎo)致的測溫精度問題而一直無法實現(xiàn)工程應(yīng)用。
本文通過收集和整理國內(nèi)外航空發(fā)動機多光譜輻射測溫技術(shù)的理論研究成果和最新進展,總結(jié)研究輻射測溫的基本原理。分析已有測量方法的特點,在現(xiàn)有基礎(chǔ)上進一步研究并改進多光譜輻射測溫的數(shù)據(jù)處理方法,將支持向量機應(yīng)用到多波長測溫的數(shù)據(jù)處理領(lǐng)域,改進了人工神經(jīng)網(wǎng)絡(luò)的缺點,實現(xiàn)發(fā)射率模型的自動辨識,消除發(fā)射率假設(shè)模型帶來的誤差,提高多光譜測溫的精度。
1 確定模型
由普朗克定律可知,黑體的光譜輻射力和絕對溫度有關(guān),輻射測溫就是通過測量物體的輻射力來測量溫度的。在多光譜輻射測溫領(lǐng)域目前有三種根據(jù)普朗克定律推導(dǎo)的數(shù)學(xué)模型:
1.1 基于檢定常數(shù)的數(shù)學(xué)模型[1]
如果多波長輻射溫度計有n 個波長通道,則第i個通道的輸出信號可以用下式表示:
上述三種多光譜輻射測溫的數(shù)學(xué)模型,想要得到目標真溫,都必須知道目標的光譜發(fā)射率ελi,T,而ελi,T通常是由諸多因素決定的,不僅和目標本身材料的性質(zhì)有關(guān),還和表面是否光滑、是否氧化等諸多方面的表面狀態(tài)有關(guān),一般不通過專業(yè)設(shè)備測量的話很難確定。
對于有n個波長的多光譜溫度計來說,共有n個方程,卻包含(n +1)個未知量,即目標真溫T和n個光譜發(fā)射率ελi,T,如果無法在理論中或?qū)嶒炛姓页鏊鼈冎g的關(guān)系,就無法得到真實溫度。
目前的解決方法主要分為兩類:一類是基于固定發(fā)射率假設(shè)模型的方法。由于每種固定的發(fā)射率假設(shè)模型只適合于某一種或者某一類材料,所以此類方法在大多數(shù)情況下還無法用于解決實際問題。另一類是神經(jīng)網(wǎng)絡(luò)法,針對神經(jīng)網(wǎng)絡(luò)較差的泛化性能以及本身需要盡可能多的訓(xùn)練樣本,本文采用基于亮度溫度模型的支持向量機多光譜測溫數(shù)據(jù)處理方法。
2 數(shù)據(jù)準備
為了對比BP神經(jīng)網(wǎng)絡(luò)和支持向量機兩種算法模型的計算精度與優(yōu)缺點,需要使用相同的樣本數(shù)據(jù)分別對兩種模型進行訓(xùn)練后,對比仿真精度。
本文以八波長多光譜測溫儀為例,分別以BP神經(jīng)網(wǎng)絡(luò)和支持向量機兩種方法對數(shù)據(jù)進行仿真實驗。在高溫區(qū)域黑體輻射的能量主要集中在短波區(qū)域,因而實驗波長選取0.4nm、0.5nm、0.6nm、0.7nm、0.8nm、0.9nm、1.0nm、1.1nm等八個波長。
為了盡可能的減小外在因素,選擇式(3)所示的基于亮度溫度的測溫模型,所以每組訓(xùn)練樣本為八個輸入樣本和一個輸出樣本,輸入樣本為目標物體在每個波長下的亮度溫度,輸出樣本為目標物體的實際真實溫度。
由于兩種方法都是基于機器學(xué)習(xí)的方法,因而需要大量的樣本對網(wǎng)絡(luò)模型進行訓(xùn)練。但是實際中想要通過實驗測量來獲得各種材料在不同溫度下、不同測量波長下的亮度溫度以及真溫,勢必要花費巨額的人力物力。因而要從理論上入手,本文的研究是為了解決高溫測量中處理數(shù)據(jù)時的發(fā)射率問題,說到底用于訓(xùn)練網(wǎng)絡(luò)的大樣本實質(zhì)上就是各種不同材料的發(fā)射率樣本,而目前關(guān)于發(fā)射率主要有五種假設(shè)模型,這五種模型幾乎涵蓋了絕大部分材料的發(fā)射率特性。
將八個波長分別代入上述公式中,通過給K和b取不同的值,可以得到不同的發(fā)射率樣本。為了盡可能涵蓋更多的材料發(fā)射率特性,每種發(fā)射率樣本取30個,共150個發(fā)射率樣本。
在仿真實驗中,結(jié)合發(fā)射率樣本可以通過式(5)計算出某一個溫度下各個波長的亮度溫度值,從而構(gòu)造出網(wǎng)絡(luò)的訓(xùn)練樣本。訓(xùn)練的溫度取1500K到3000K,每隔50K取一個溫度點,共31個溫度點。每個溫度點通過計算可以得到150組訓(xùn)練樣本,所以網(wǎng)絡(luò)的訓(xùn)練樣本共有4650組。為了驗證網(wǎng)絡(luò)訓(xùn)練的精度,在每個溫度點上隨機取每種發(fā)射率樣本的訓(xùn)練樣本各一組不參加網(wǎng)絡(luò)的訓(xùn)練,作為驗證樣本。因而,用于驗證的訓(xùn)練樣本共有155(31*5)組,而參加網(wǎng)絡(luò)訓(xùn)練的樣本共有4495(31*145)組。
由于訓(xùn)練溫度的跨度較大,為了避免造成較大訓(xùn)練誤差,因此要對訓(xùn)練樣本數(shù)據(jù)進行歸一化處理。
3 仿真研究
利用以上準備的數(shù)據(jù)集,對兩種算法模型分別進行訓(xùn)練仿真。
3.1 BP網(wǎng)絡(luò)仿真
通過多次實驗,確定BP網(wǎng)絡(luò)的結(jié)構(gòu)為8-8-7-1。而訓(xùn)練算法確定為trainlm算法。使用MATLAB編寫程序,建立BP神經(jīng)網(wǎng)絡(luò)模型并進行訓(xùn)練。網(wǎng)絡(luò)經(jīng)過300步左右的迭代基本完成收斂,收斂誤差小于1e-6。將驗證樣本送入訓(xùn)練好的網(wǎng)絡(luò)模型中進行計算,將得到的計算結(jié)果與實際溫度進行對比,仿真誤差結(jié)果如下圖所示。
圖1中五類發(fā)射率樣本的誤差都在較小的誤差范圍內(nèi),其結(jié)果是可信的,說明BP神經(jīng)網(wǎng)絡(luò)可以用于處理多光譜輻射測溫的實驗數(shù)據(jù)。
所有樣本的最大誤差也不超過3K,即使這僅僅是算法計算上的誤差,但這對于高溫測量來說也是可以接受的。
由于在實際應(yīng)用中,如此多的樣本是很難得到的,因此必須測試BP網(wǎng)絡(luò)對小數(shù)據(jù)樣本的訓(xùn)練精度。將發(fā)射率樣本每類隨機取出10種,共50個發(fā)射率樣本,溫度同樣取1500K~3000K,這樣就有1550組樣本。每類發(fā)射率樣本隨機取出一個作為驗證樣本,共有155個驗證樣本,訓(xùn)練樣本共1395個。網(wǎng)絡(luò)的仿真誤差結(jié)果如圖2所示:
可以看到,小樣本下的網(wǎng)絡(luò)誤差明顯大于大樣本的網(wǎng)絡(luò)誤差,對比圖1中的數(shù)據(jù),誤差幾乎增大了一倍,這說明用BP神經(jīng)網(wǎng)絡(luò)處理數(shù)據(jù)的前提是要用大量的樣本數(shù)據(jù)對網(wǎng)絡(luò)進行訓(xùn)練。
圖1和圖2說明了BP神經(jīng)網(wǎng)絡(luò)理論上是可以用來對多光譜輻射測溫的數(shù)據(jù)進行處理,從而避免使用材料的發(fā)射率。
3.2 支持向量機仿真
此實驗用支持向量機取代BP神經(jīng)網(wǎng)絡(luò),其他條件不變。由于本實驗屬于回歸預(yù)測問題,因而選擇徑向基(RBF)函數(shù)作為核函數(shù),在建立支持向量機模型的過程中,有三個參數(shù)需要設(shè)置,而這三個參數(shù)的合適與否直接影響著支持向量機的性能和精度。為了正確選擇合適的參數(shù),在建模之前使用MATLAB編程,用遺傳算法對三個參數(shù)進行篩選,最終得到一組誤差最小的參數(shù)。在選定參數(shù)后建模對樣本進行訓(xùn)練并仿真,得到結(jié)果如圖3所示:
所有樣本的誤差值都在一個可信的范圍內(nèi),這說明基于支持向量機對多光譜輻射測溫實驗數(shù)據(jù)進行處理從而獲得目標真溫和發(fā)射率是一種切實可行的方法。
在整個溫度范圍內(nèi),誤差比較均勻,并未出現(xiàn)文獻[6]中當溫度點靠近訓(xùn)練集邊緣時精度變差的情況,說明用支持向量機對測溫數(shù)據(jù)進行處理是一種更可靠的方法。
對比圖3和圖1,支持向量機比BP神經(jīng)網(wǎng)絡(luò)的精度更高,更好地擬合了亮度溫度模型,且誤差分布也更加均勻。
為了對比BP神經(jīng)網(wǎng)絡(luò)和支持向量機兩種模型在小樣本時的訓(xùn)練精度,訓(xùn)練樣本與圖2中一致,共50個發(fā)射率樣本,溫度同樣取1500K~3000K,這樣就有1550組樣本。每類發(fā)射率樣本隨機取出一個最為驗證樣本,共有155個驗證樣本,訓(xùn)練樣本共1395個。支持向量機的仿真結(jié)果如圖4所示:
隨著訓(xùn)練樣本的減少,支持向量機的訓(xùn)練誤差也在增大,從圖3中的±2K增大到±3K,但是這精度也是可信的。與BP神經(jīng)網(wǎng)絡(luò)相比,支持向量機在小樣本下的網(wǎng)絡(luò)性能比較好的,最大誤差只有前者的一半。
在實際中,各種隨機噪聲會對測溫精度帶來很大影響。因此,支持向量機想要應(yīng)用到實際測量中就必須有一定的抗干擾能力。為了測試支持向量機對隨機噪聲的承受能力,在圖3所建模型的基礎(chǔ)上,給每個測試通道加-1%~+1%的隨機誤差。在溫度點2200K處取出五組驗證樣本,給這五組樣本加噪聲后送入實驗一中訓(xùn)練好的網(wǎng)絡(luò)進行仿真。
結(jié)果顯示,隨著噪聲從0逐漸增加到1%,五類發(fā)射率樣本的相對誤差都呈線性增大,最大為1.1%,絕對誤差小于25K;1%的隨機噪聲并沒有給支持向量機模型帶來太大影響。說明經(jīng)過訓(xùn)練的支持向量機網(wǎng)絡(luò)完全可以承受一定程度的噪聲影響。如果想要進一步提高精度,可以在對數(shù)據(jù)進行處理之前先進行一次濾波,將隨機噪聲盡可能減小,這樣可以獲得較高的測溫精度。
4 結(jié)論
為了減小多光譜輻射測溫的測量誤差,本文提出了利用支持向量機對多光譜輻射測溫的數(shù)據(jù)進行處理從而得到真溫,為了衡量用支持向量機處理測溫數(shù)據(jù)的性能和精度,同時也做了基于BP神經(jīng)網(wǎng)絡(luò)的建模仿真。最終,通過對比兩種方法的仿真實驗結(jié)果以及對工程數(shù)據(jù)的處理結(jié)果,可以得到如下結(jié)論:
(1)訓(xùn)練樣本集的大小對BP神經(jīng)網(wǎng)絡(luò)的仿真結(jié)果有著較大影響,樣本數(shù)越多仿真精度越高,反之亦然。而支持向量機可以在較少的訓(xùn)練樣本下得到相對較高的訓(xùn)練精度,受訓(xùn)練樣本數(shù)的影響較小,而在工程實踐中,多光譜輻射測溫的訓(xùn)練樣本的獲得需要花費大量人力物力,人們希望需要的訓(xùn)練樣本越少越好,因而支持向量機更加適合工程應(yīng)用。
(2)BP神經(jīng)網(wǎng)絡(luò)和支持向量機都具有一定的抗干擾能力,在給驗證樣本加了一定的噪聲干擾之后,兩種方法均能給出相對較好的結(jié)果。
綜上所述,BP神經(jīng)網(wǎng)絡(luò)和支持向量機兩種方法都可以用來對多光譜輻射測溫數(shù)據(jù)進行處理,但是通過仿真實驗和對工程數(shù)據(jù)進行處理可以看到,支持向量機是優(yōu)于BP神經(jīng)網(wǎng)絡(luò)的,更加符合工程實踐中的需求。
參考文獻:
[1]孫曉剛,戴景民,叢大成,褚載祥.多光譜輻射測溫的理論研究-發(fā)射率模型的自動判別[J].紅外與毫米波學(xué)報,1998,17(3):221-225.
[2]孫曉剛,戴景民,褚載祥.多光譜測溫法建模方法的研究[J].計量技術(shù),2000,11:3-5.
[3]Sun X G,Xu W H,Chu Z X.The theoretical analysis of multi-wavelength pyrometer:check and autosearch for emissivity general expression.Journal of Harbin Institute of Technology.1998,5(3):36-40.
[4]沈花玉,王兆霞,等.BP神經(jīng)網(wǎng)絡(luò)隱含層單元數(shù)的確定[J].天津理工大學(xué)學(xué)報,2008,24(5):13-15.
[5]白鵬,等.支持向量機理論及工程應(yīng)用實例[M].西安電子科技大學(xué)出版社,2008.
[6]蘇瑞豐.基于遺傳神經(jīng)網(wǎng)絡(luò)的多光譜測溫方法研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2005:1-9.