馮馳,劉曉東,王兆豐
1. 哈爾濱工程大學(xué) 信息與通信工程學(xué)院,黑龍江 哈爾濱 150001 2. 西安航空發(fā)動(dòng)機(jī)(集團(tuán))有限公司,陜西 西安 710021
近代多光譜輻射測溫技術(shù)起源于20 世紀(jì)70 年代末期,Svet 等[1]利用四波長輻射測溫方法對物體表面溫度進(jìn)行了測量,多波長輻射測溫技術(shù)進(jìn)入了一個(gè)快速發(fā)展的新時(shí)代。進(jìn)入20 世紀(jì)80 年代后,一些西方國家開始嘗試將多波長輻射測溫技術(shù)應(yīng)用于解決較難進(jìn)行接觸式測溫的超高溫物體表面溫度的動(dòng)態(tài)測量[2]。符泰然等[3]設(shè)計(jì)出紫外至近紅外波段多光譜高溫計(jì),在測量波長接近時(shí),將發(fā)射率模型近似為波長的簡單線性模型,可測量波段域更廣。周培森等[4]提出了調(diào)譜平衡測溫方法,采用信號平衡、零值調(diào)幅的方法,不必測量信號絕對值,可以直接依據(jù)普朗克公式對儀器進(jìn)行標(biāo)定。1995 年,戴景民等[5]研制出了棱鏡分光無干涉濾光片式35 波長高溫計(jì)及國內(nèi)第一套實(shí)用型金屬凝固點(diǎn)(Cu,Al 及Zn)黑體爐,為輻射溫度精確定標(biāo)做出了巨大貢獻(xiàn)。1998 年,孫曉剛等[6]提出了利用BP 神經(jīng)網(wǎng)絡(luò)處理光譜數(shù)據(jù),在發(fā)射率模型已知的情況下,利用大量樣本訓(xùn)練后的BP 神經(jīng)網(wǎng)絡(luò)能大幅提高測量精度。1999 年,楊立等[7]通過分析影響測溫誤差的各種因素,給出了測溫誤差的理論計(jì)算公式。2017 年,張福才等[8]提出了將溫差影響因子引入發(fā)射率模型的多光譜輻射測溫方法并進(jìn)行了可行性分析,通過引入溫差變量,使該發(fā)射率模型變化趨勢更接近實(shí)際發(fā)射率變化,有效提高了測溫精度和穩(wěn)定程度。
多光譜輻射測溫最根本的問題為通過N個(gè)通道測量N組數(shù)據(jù)后,有N個(gè)通道的發(fā)射率和測量溫度,共N+1 個(gè)未知數(shù)。由于欠定方程解不唯一,為了減少方程個(gè)數(shù),使方程組具有唯一解,目前比較通用的辦法是假設(shè)不同通道的發(fā)射率變化趨勢符合某種函數(shù)變化規(guī)律,從而減少未知數(shù)維度[9]。以往研究通常是假設(shè)一個(gè)經(jīng)典發(fā)射率模型,受溫度、被測物體表面材料等因素影響,發(fā)射率與波長之間的關(guān)系較為復(fù)雜,不同表面材料的被測物體發(fā)射率模型一般不同;表面材料相同時(shí),發(fā)射率模型一般相同,參數(shù)有所變化。隨著溫度的變化,反射率真實(shí)值仍與發(fā)射率模型計(jì)算值有一定誤差[10]。本文在傳統(tǒng)發(fā)射率模型的基礎(chǔ)上增加了溫度修正,結(jié)合對關(guān)鍵算子改進(jìn)后的非支配排序遺傳算法(non-dominated sorting genetic algorithm II,NSGA-II),改良其編譯、交叉算子,選取適當(dāng)參數(shù)后,在保證速度的基礎(chǔ)上,進(jìn)一步提高了計(jì)算精度,并進(jìn)行了相應(yīng)的實(shí)驗(yàn)驗(yàn)證。
絕對黑體即能將入射的所有波長的光譜輻射吸收的物體。根據(jù)普朗克定律可知,當(dāng)物體溫度大于絕對零度時(shí),會(huì)釋放出熱輻射。黑體的光輻射強(qiáng)度Mb與波長λ、絕對溫度T之間的關(guān)系可以表示為

式中:C1和C2為光譜輻出度常數(shù),當(dāng)λT<<1時(shí),根據(jù)韋恩公式,黑體輻射定律可近似表示為

設(shè)溫度測量系統(tǒng)有n個(gè)通道,則其中i通道的光譜強(qiáng)度Vi為

式中:λi為第i通道波長;T為相應(yīng)通道測量溫度;εi(λi,T)為被測物體表面發(fā)射率。對于n個(gè)通道的測量系統(tǒng),得到的數(shù)據(jù)可以構(gòu)成n個(gè)測量方程,其中含有n+1 個(gè)未知數(shù)(n個(gè)ε和T),這屬于欠定方程問題,從理論上有無限個(gè)解,無法求出唯一的有效解。為解決這一問題,以往主要研究的方法通過含有λi的表達(dá)式替換εi(λi,T),從而將未知數(shù)降到n個(gè)以下。但是在實(shí)際測試中,含有λi的表達(dá)式往往不能完全替代發(fā)射率,其中會(huì)引入一定誤差。在張福才等[8]的研究中引用了溫差模型,通過迭代的方式解算出物體溫度。但是迭代初始時(shí)必須通過黑體爐標(biāo)定出物體在某一初始溫度下的發(fā)射率,而實(shí)際應(yīng)用中,同一材料不同物體的發(fā)射率也不一定相同,在應(yīng)用過程中測量其發(fā)射率很難實(shí)現(xiàn)。將傳統(tǒng)發(fā)射率模型與溫差模型結(jié)合,無需測量初始發(fā)射率,通過非支配排序算法,即可計(jì)算出物體溫度。
2.1.1 經(jīng)典發(fā)射率模型
為求解出測量溫度T,必須對方程進(jìn)行降維,目前應(yīng)用較多的發(fā)射率模型有

不同的材料一般有不同的模型,當(dāng)所選發(fā)射率模型與實(shí)際發(fā)射率變化趨勢相符時(shí),測溫誤差一般可以控制在一定范圍內(nèi)。目前還沒有一個(gè)發(fā)射率模型可以應(yīng)用于所有材料上。在實(shí)際應(yīng)用中,最重要的就是確定合適的發(fā)射率模型。一個(gè)發(fā)射率模型確定的測溫系統(tǒng)應(yīng)該應(yīng)用在某一特定的材料測溫中,如需測量多種材料溫度,一般應(yīng)加入發(fā)射率模型判斷系統(tǒng)。
2.1.2 引入溫差算子的發(fā)射率模型
發(fā)射率的變化是無法準(zhǔn)確計(jì)算的,實(shí)際上它不僅僅與波長相關(guān),和被測物體溫度、材料表面狀態(tài)等都有關(guān)系。為了提高測溫精度,本文改進(jìn)了傳統(tǒng)發(fā)射率模型,引入了溫差算子,使發(fā)射率模型的變化趨勢更符合實(shí)際情況。發(fā)射率模型設(shè)定為式中:kT為溫差系數(shù);T0為溫度中心點(diǎn)。此模型在考慮到發(fā)射率隨波長變化的同時(shí),引入了影響發(fā)射率變化的溫度因子,在測量某種材料的物體時(shí),引入的溫差系數(shù)使發(fā)射率更加貼合實(shí)際值,從而進(jìn)一步降低誤差。

2.2.1 經(jīng)典非支配排序算法
在求解測量溫度時(shí),n個(gè)通道共可以列出n個(gè)方程。由式(1)和(2)可知,其中共有5 個(gè)未知數(shù),分別為溫差系數(shù)、測量溫度及3 個(gè)發(fā)射率系數(shù)。為求解測量溫度,通道數(shù)n應(yīng)不小于5。由于測量每通道輻射強(qiáng)度數(shù)據(jù)時(shí)會(huì)引入測量誤差,為提高系統(tǒng)信息冗余度,通道數(shù)n應(yīng)大于等于6,本文取n為6。由于方程數(shù)多于未知數(shù)個(gè)數(shù),屬于超定方程,可能無法解出有效結(jié)果,可以轉(zhuǎn)換成多目標(biāo)優(yōu)化類問題,設(shè)測量溫度為T,目標(biāo)函數(shù)記為

理論上各通道測量溫度需要相同,但由于誤差的存在,各通道的測量溫度可能是一組相近的溫度值。為使誤差最小,應(yīng)令目標(biāo)函數(shù)值盡量趨近于最小。目前解決此類問題應(yīng)用最為廣泛的多目標(biāo)優(yōu)化算法是帶有精英策略的NSGA-II 算法,可在一次運(yùn)行過程中得出多個(gè)高質(zhì)量的解[11]。但是NSGA-II 算法在求解時(shí)更關(guān)注最優(yōu)解的質(zhì)量,然而解集的分布性方面相對較差,且經(jīng)典NSGAII 算法收斂速度較慢。本文從自適應(yīng)角度出發(fā),改進(jìn)了NSGA-II 算法的選擇、變異、交叉算子,改善了算法解集前期多樣性及后期收斂速度。
2.2.2 改進(jìn)的非支配排序算法
在整個(gè)變量取值空間內(nèi)分布較為均勻的初始化種群可以使遺傳算法更好地在整個(gè)空間內(nèi)尋找最優(yōu)解,避免計(jì)算結(jié)果陷入局部最優(yōu)解,本文的初代種群初始化是在變量取值范圍內(nèi)取隨機(jī)值,種群數(shù)量較少時(shí),可能出現(xiàn)種群在局部最優(yōu)解處聚堆現(xiàn)象,而過多的種群數(shù)量會(huì)使遺傳算法的計(jì)算時(shí)間變長。本文采取增加初始化種群數(shù)量而子代種群數(shù)量不變的方式,提高初始化種群分布性,在保證遺傳算法初始進(jìn)化方向的同時(shí),運(yùn)算時(shí)間較短。同時(shí),本文從非支配排序算法中的選擇、交叉、變異等關(guān)鍵算子方面進(jìn)行了改進(jìn),并保留傳統(tǒng)NSGA-II 算法中的快速非支配排序、擁擠度計(jì)算算子,改進(jìn)后的NSGA-II 算法流程如圖1所示。

圖1 改進(jìn)后的NSGA-II 算法流程
2.2.3 改進(jìn)的自適應(yīng)概率選擇算子
選擇算子的作用是選出父代種群中的優(yōu)良個(gè)體,通過交叉變異形成新的子代種群,它決定了進(jìn)化的方向。經(jīng)典NGSA-II 算法的選擇算子通常采用二元競賽選擇,隨機(jī)從上一代種群取2 個(gè)不同的子代個(gè)體,比較出排序等級較小、擁擠度較大的個(gè)體,然而這種方法很有可能使結(jié)果陷入局部最優(yōu)解或者出現(xiàn)早熟[12]。
選擇算子的作用主要是為了令進(jìn)化能向著全局最優(yōu)解前進(jìn)。在進(jìn)化初期,為了增加種群的分布性,可使選擇算子以相對較大的概率選擇非最優(yōu)解。隨著進(jìn)化的進(jìn)行,當(dāng)進(jìn)化到中期后,降低選擇算子選擇非最優(yōu)解的概率,提高算法的收斂性。改進(jìn)的選擇算子如下

式中:k為選擇系數(shù),本文建議取為10,g和G分別為遺傳算法當(dāng)前進(jìn)化代數(shù)和進(jìn)化總代數(shù)。在進(jìn)化初期,Ps約等于1/2,選擇算子有一半的概率選擇非最優(yōu)解,可以提高種群的分布性,而在進(jìn)化后期,此時(shí)種群主要分布在最優(yōu)解附近,Ps約等于1,可提高種群的收斂速度。該算子從進(jìn)化整體過程的角度考慮,對進(jìn)化不同進(jìn)程中的不同情況,加入了適應(yīng)性策略,可以提高種群對進(jìn)化環(huán)境的適應(yīng)能力。
2.2.4 改進(jìn)的個(gè)體交叉率及變異率算子
交叉變異算子是遺傳算法的重要部分,如果設(shè)置交叉變異率過小,很容易使種群陷入局部最優(yōu)或者早熟,而如果概率偏大則可能造成種群收斂變慢甚至不收斂[13]。本文采用自適應(yīng)概率策略,引入進(jìn)化代數(shù)、種群數(shù)量等信息,動(dòng)態(tài)地調(diào)整交叉變異概率。在不同階段,使用不同的概率模型。在同一階段內(nèi),交叉變異概率會(huì)隨著種群進(jìn)化的進(jìn)行而逐漸下降,從而保證了算法的收斂性。由于NSGA-II 算法更新到一定代數(shù)時(shí),新的父代種群多樣性會(huì)急劇下降[14]。此時(shí)經(jīng)過選擇算子篩選出來的當(dāng)前最優(yōu)解總是圍繞在一個(gè)點(diǎn)周圍,很可能最終結(jié)果是局部最優(yōu)解。
本文中的變異概率算子引入了當(dāng)前子代中非支配個(gè)體數(shù)作為判定條件,若當(dāng)前子代中存在支配解,即非支配排序?qū)訑?shù)大于1 時(shí),變異概率有

式中:V為變量個(gè)數(shù);β為進(jìn)化概率系數(shù),本文取0.35;α為進(jìn)化階段劃分參數(shù),一般取為0.382。此時(shí),變異概率隨著進(jìn)化變化曲線如圖2 所示,變異概率始終小于0.1,且隨著進(jìn)化的進(jìn)行而變異概率不斷變小,最后接近于0 但不為0。

圖2 存在支配解時(shí)變異概率曲線
若當(dāng)前子代中不存在支配解,即非支配排序?qū)訑?shù)等于1 時(shí),變異概率有

式中:i為當(dāng)前種群中第i個(gè)個(gè)體;N為種群數(shù);Pmi為第i個(gè)個(gè)體的變異概率。當(dāng)子代種群中所有個(gè)體不存在支配關(guān)系時(shí),種群分布性較差、多樣性下降。令子代種群前50%的變異概率為式(3)中計(jì)算結(jié)果,同時(shí)提高種群后50%的變異概率,可以提高子代種群分布多樣性,保證種群的進(jìn)化方向且使進(jìn)化不會(huì)陷入早熟和局部最優(yōu)。
本文使用的交叉率算子最大交叉率為1,且隨著進(jìn)化的不斷進(jìn)行,在進(jìn)化的不同階段,交叉率不斷下降且最終下降為一個(gè)接近于0 的非零值,交叉概率算子可以表示為

式中階段劃分值T1=αG,T2=(1-α)G。交叉概率變化曲線如圖3 所示。交叉概率變化曲線分為3 個(gè)階段。第1 階段為NGSA-II 算法初始階段,為提高種群多樣性,可將交叉概率設(shè)置較高,交叉概率范圍為[0.75,1),較高的交叉概率可以保證初始種群以較大概率分布在整個(gè)決策變量取值范圍;在第2 階段,種群中有個(gè)體在最優(yōu)解周圍分布,此時(shí)減小交叉概率,交叉概率范圍為[0.5,0.75),使子代種群不斷向最優(yōu)解靠攏,保證了種群的進(jìn)化方向;在第3 階段,為了使種群快速收斂,令交叉概率變化范圍為[0.5β,0.5),隨著交叉概率逐漸趨于0,種群中的個(gè)體也不斷向全局最優(yōu)解附近收縮并趨于穩(wěn)定。

圖3 交叉概率曲線
本文引用的交叉變異概率算子,既考慮了種群整體進(jìn)化進(jìn)程,又考慮了種群中個(gè)體進(jìn)化程度,能夠動(dòng)態(tài)自適應(yīng)地調(diào)節(jié)子代交叉變異概率。
2.2.5 交叉算子及變異算子的調(diào)整
經(jīng)典NSGA-II 所采用的交叉變異算子未考慮算法的進(jìn)化進(jìn)程,在全局搜索能力上較弱,可能陷入局部最優(yōu)解。本文采用模擬二進(jìn)制交叉(simulated binary crossover, SBX)混合正態(tài)分布交叉算子(normal distribution crossover, NDX),引入進(jìn)化代數(shù)g變量,動(dòng)態(tài)地調(diào)節(jié)交叉算子系數(shù),令子代個(gè)體變量值在兩父代個(gè)體之間根據(jù)系數(shù)變化。在進(jìn)化初期,為提高種群多樣性,令NDX 算子權(quán)值增加,使搜索空間增大;在進(jìn)化后期,為提高種群的收斂性,令SBX 算子權(quán)值增加,使子代個(gè)體在最優(yōu)解附近收斂。取u為服從區(qū)間(0,1)內(nèi)均勻分布的隨機(jī)變量,當(dāng)u≤0.5時(shí),交叉算子計(jì)算公式為

式中:S1=parent1(i) + parent2(i)、S2=parent1(i)-parent2(i);child1(i)、child2(i)為第i個(gè)變量交叉后產(chǎn)生的子代;r為服從N(0,1)高斯分布的隨機(jī)變量;η為交叉變異算子參數(shù),計(jì)算公式為

式中: ηmax取為20,η隨著進(jìn)化的不斷進(jìn)行而增加,子代與父代距離逐漸縮短。
本文引入的變異算子為

在進(jìn)化初期,變異算子使子代個(gè)體在距離較遠(yuǎn)距離內(nèi)波動(dòng);在進(jìn)化后期,子代個(gè)體向父代個(gè)體收縮,算法迅速收斂。未改進(jìn)交叉變異算子與改進(jìn)后算法進(jìn)化末期種群溫度值結(jié)果如圖4所示。

圖4 交叉變異算子改進(jìn)前后算法進(jìn)化末期種群情況
待測物體為渦輪葉片,將渦輪葉片置于黑體爐中,用熱電偶測量其表面溫度,同時(shí)用HIT-4型多光譜輻射測溫儀測量其表面輻射強(qiáng)度,并在500~900 ℃變化,用6 波長GA 算法、NSGA-II 算法、改進(jìn)的NSGA-II 算法分別測量渦輪葉片表面溫度,實(shí)驗(yàn)中使用的部分?jǐn)?shù)據(jù)如表1 所示。

表1 六通道光譜輻射部分實(shí)驗(yàn)數(shù)據(jù)
GA 算法參數(shù)設(shè)置及3 種算法的變量搜索空間如表2、3 所示。為衡量算法測溫的穩(wěn)定程度,引入均方誤差定義為

式中:N為計(jì)算總點(diǎn)數(shù);Ti為第i點(diǎn)計(jì)算溫度,Ti0為第i點(diǎn)真實(shí)溫度。

表2 GA 遺傳算法參數(shù)

表3 遺傳算法參數(shù)搜索空間
圖5、6 為GA 算法使用傳統(tǒng)發(fā)射率模型計(jì)算出的溫度與實(shí)際溫度曲線及溫度誤差百分比曲線。經(jīng)計(jì)算得知,GA 算法測溫誤差最大值為42 ℃,正偏移誤差百分比最大值為6.3%,負(fù)偏移最大誤差百分比為-3.1%,均方誤差為75.162 0,單點(diǎn)計(jì)算平均時(shí)間為2.448 1 s。

圖5 GA 算法測溫曲線

圖6 GA 算法測溫百分比誤差曲線
未改進(jìn)的NSGA-II 算法參數(shù)設(shè)置如表4 所示。

表4 未改進(jìn)NSGA-II 遺傳算法參數(shù)
改進(jìn)后的NSGA-II 算法參數(shù)設(shè)置如表5 所示。

表5 改進(jìn)的NSGA-II 遺傳算法參數(shù)
圖7、8 為未改進(jìn)的NSGA-II 算法使用傳統(tǒng)發(fā)射率模型計(jì)算出的溫度與實(shí)際溫度曲線及溫度誤差百分比曲線。經(jīng)計(jì)算得知,未改進(jìn)的NSGAII 遺傳算法測溫誤差最大值為28.5 ℃,正偏移誤差百分比最大值為4.1%,負(fù)偏移最大誤差百分比為-2.9%,均方誤差為73.283 6,單點(diǎn)計(jì)算平均時(shí)間為2.440 7 s。

圖7 未改進(jìn)的NSGA-II 算法測溫曲線

圖8 未改進(jìn)的NSGA-II 算法測溫百分比誤差曲線
圖9、10 為改進(jìn)后的NSGA-II 算法使用傳統(tǒng)發(fā)射率模型計(jì)算出的溫度與實(shí)際溫度曲線及溫度誤差百分比曲線

圖9 改進(jìn)后的NSGA-II 算法測溫曲線

圖10 改進(jìn)后的NSGA-II 算法測溫百分比誤差曲線
經(jīng)計(jì)算得知,改進(jìn)后的NSGA-II 算法測溫誤差最大值為10.6 ℃,正偏移誤差百分比最大值為1.8%,負(fù)偏移最大誤差百分比為-1.7%,均方誤差為30.96,單點(diǎn)計(jì)算平均時(shí)間為8.91 s。
上述算法得到的測溫結(jié)果都是應(yīng)用傳統(tǒng)發(fā)射率模型計(jì)算得出,為對比發(fā)射率模型對測溫結(jié)果的影響,現(xiàn)改用引入溫差變量的改進(jìn)發(fā)射率模型算法進(jìn)行測溫,算法其余參數(shù)取值范圍不變,圖11、12 為改進(jìn)后的NSGA-II 算法使用引入溫差變量的改進(jìn)發(fā)射率模型計(jì)算出的溫度與實(shí)際溫度曲線及溫度誤差百分比曲線。

圖11 改進(jìn)后的NSGA-II 算法溫差發(fā)射率模型測溫曲線

圖12 改進(jìn)后的NSGA-II 算法溫差發(fā)射率模型測溫誤差曲線
經(jīng)計(jì)算得知,改進(jìn)后的NSGA-II 遺傳算法改用引入溫差變量的改進(jìn)發(fā)射率模型后測溫誤差最大值為10.4 ℃,正偏移誤差百分比最大值為1.6%,負(fù)偏移最大誤差百分比為-1.6%,均方誤差為13.927 0,單點(diǎn)計(jì)算平均時(shí)間為7.31 s。
從上述6 種情況下測溫計(jì)算結(jié)果(圖5~12)可以看出,使用GA 算法和未改進(jìn)過的NGSA-II算法進(jìn)行測溫時(shí),計(jì)算速度較快,但是計(jì)算誤差較大;而使用改進(jìn)的NGSA-II 算法后,雖然計(jì)算時(shí)間增加,但是有效地提高了精度。同時(shí),對不同的發(fā)射率模型對比可知,使用改進(jìn)發(fā)射率模型時(shí),均方誤差減小,測溫穩(wěn)定程度有所提高。
本文通過對使用GA、NSGA-II、改進(jìn)的NSGAII 這3 種遺傳算法及帶有溫差變量的發(fā)射率模型、線性發(fā)射率模型2 種模型測溫效果進(jìn)行比對,說明了改進(jìn)NSGA-II 算法及改進(jìn)發(fā)射率模型對輻射測溫的作用,改進(jìn)的NSGA-II 算法能提高溫度測量的準(zhǔn)確性,而使用改進(jìn)發(fā)射率模型能提高測量結(jié)果的穩(wěn)定程度。
1)改進(jìn)發(fā)射率模型結(jié)合改進(jìn)的NSGA-II 算法能在提高溫度測量準(zhǔn)確性的同時(shí),提高測量準(zhǔn)確度的穩(wěn)定程度,計(jì)算時(shí)間稍有增加。在對反應(yīng)時(shí)間要求不高且對測溫準(zhǔn)確度要求較高的情況下,可以考慮使用本文中的計(jì)算方法測溫。
2)受不同被測物體不同材料以及表面涂層等因素影響,本文使用的改進(jìn)發(fā)射率模型不一定適用于所有情況,對于不同材料的被測物體,如測量效果較差,應(yīng)該考慮更換其他形式的溫差發(fā)射率模型。