單良,周榮幸,洪波,仰文淇,孔明
(1 中國計量大學(xué)信息工程學(xué)院,浙江省電磁波信息技術(shù)與計量檢測重點(diǎn)實(shí)驗(yàn)室,浙江 杭州 310018;2 中國計量大學(xué)計量測試工程學(xué)院,浙江 杭州 310018)
燃燒是工業(yè)生產(chǎn)和日常生活中的一種普遍現(xiàn)象,廣泛存在于冶金、航空航天發(fā)動機(jī)、內(nèi)燃機(jī)等工業(yè)生產(chǎn)過程中[1]?;鹧鏈囟缺O(jiān)測技術(shù)有利于探究燃燒火焰的規(guī)律,推動燃燒技術(shù)理論的發(fā)展,提高燃燒效率以及降低污染排放[2]。
基于火焰輻射光場成像的測溫技術(shù)具有非侵入、響應(yīng)時間短、系統(tǒng)設(shè)備布置簡單、精度高等優(yōu)點(diǎn),一直受到廣泛關(guān)注[3]。解決這類問題通常采用傳統(tǒng)算法,一般是基于物理問題進(jìn)行求解[4-9]。常見的傳統(tǒng)算法有最小二乘QR 分解算法、Tikhonov正則化算法和共軛梯度法等。這些算法受限于特定的條件,求解步驟繁雜,需要更多的時間成本。近年來,隨著計算機(jī)技術(shù)的迅速發(fā)展,深度學(xué)習(xí)[10]在圖像處理、計算機(jī)視覺等領(lǐng)域被廣泛應(yīng)用,在解決三維重建反問題方面也取得了飛速進(jìn)步[11]。最新的研究結(jié)果表明,深度學(xué)習(xí)在燃燒診斷方面也有很好的應(yīng)用前景。Cai 等[12]首次提出使用深度置信網(wǎng)絡(luò)(DBN)和遞歸神經(jīng)網(wǎng)絡(luò)(RNN)重建溫度場,該方法展現(xiàn)了RNN 在噪聲抑制方面和DBN 在計算效率方面的優(yōu)勢。張杰等[13]針對傳統(tǒng)的光場成像火焰溫度場重建計算量大、效率低等問題,提出一種基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的火焰三維溫度場重建方法,將重建時間從傳統(tǒng)NNLS 算法的4759s 變?yōu)楝F(xiàn)有CNN算法的830μs。孫安泰等[14]建立了一種結(jié)合卷積神經(jīng)網(wǎng)絡(luò)的長短期記憶網(wǎng)絡(luò)的模型,將CNN用于提取圖像特征、輸入LSTM預(yù)測火焰三維溫度場,并考慮了時序噪聲和圖像噪聲的影響。然而CNN 等傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)模型隨著其網(wǎng)絡(luò)層數(shù)的增加極易出現(xiàn)過擬合或者模型退化等問題,導(dǎo)致重建的誤差較大[15]。HE 等[16]于2016 年提出殘差網(wǎng)絡(luò)(ResNet),通過引入殘差連接和跳躍連接的方式,克服了梯度消失和梯度爆炸的問題。其中,ResNet18 是ResNet 系列中一種相對較淺的網(wǎng)絡(luò)結(jié)構(gòu),具有良好的性能和較低的計算復(fù)雜性。但是隨著網(wǎng)絡(luò)層數(shù)的增加,仍然面臨一些問題,如特征的重要性不均衡和冗余特征的存在。在這種情況下,加入注意力機(jī)制可以使網(wǎng)絡(luò)更加聚焦于關(guān)鍵特征,有效地提高網(wǎng)絡(luò)的表現(xiàn)力和泛化能力。
注意力機(jī)制[17]源自對人類視覺的研究,可以使計算機(jī)視覺系統(tǒng)迅速高效地關(guān)注到重點(diǎn)區(qū)域。Hu等[18]首次提出對卷積神經(jīng)網(wǎng)絡(luò)中的通道信息進(jìn)行注意力建模,通過學(xué)習(xí)特征的通道權(quán)重來增強(qiáng)有用的特征信息,其中壓縮-激勵網(wǎng)絡(luò)(squeeze-andexcitation network,SENet)通過特征重標(biāo)定的方式自適應(yīng)地調(diào)整通道間的特征響應(yīng),提升計算效率。Wang 等[19]提出了非局部注意力網(wǎng)絡(luò)(non-local neural network,NLNet),它融合了全局上下文信息,在目標(biāo)檢測、圖像分類、實(shí)例分割等領(lǐng)域證明了其有效性,但會極大地增加計算量。Cao 等[20]在Wang 等[19]的基礎(chǔ)上提出了全局上下文網(wǎng)絡(luò)(global context network,GCNet),它結(jié)合了SENet和NLNet的優(yōu)點(diǎn),能夠在不增加過多計算負(fù)擔(dān)的情況下有效地提高模型性能和泛化能力。
另一方面,池化操作也是圖像處理中十分重要的一環(huán)。通過池化層來縮小特征圖尺寸的方法經(jīng)常被現(xiàn)有的一些卷積神經(jīng)網(wǎng)絡(luò)所采用,以此來獲取更大的感受野。常見池化方式有平均池化[21]、最大池化[21]和全局平均池化[22]。然而這些池化方式對特征的重要性沒有進(jìn)行精確的區(qū)分,可能會丟失一些重要信息。Gao 等[23]提出了局部重要性池化(local importance-based pooling,LIP),這種池化方式可以自動學(xué)習(xí)重要性權(quán)重,根據(jù)特征的重要性對池化區(qū)域內(nèi)的元素進(jìn)行加權(quán)平均,從而更好地保留重要信息。
因此,本文在ResNet18 網(wǎng)絡(luò)中加入注意力機(jī)制GCNet和局部重要性池化LIP,對網(wǎng)絡(luò)進(jìn)行優(yōu)化。通過發(fā)光火焰正問題的數(shù)據(jù)模擬得到三維溫度場和對應(yīng)火焰圖像組成數(shù)據(jù)集進(jìn)行訓(xùn)練,將訓(xùn)練結(jié)果用于火焰三維溫度場的重建。通過消融實(shí)驗(yàn)驗(yàn)證本文所提出的優(yōu)化方法的有效性。
卷積神經(jīng)網(wǎng)絡(luò)是一種特殊的多層感知機(jī)。卷積神經(jīng)網(wǎng)絡(luò)通常由輸入層、卷積層、池化層、全連接層和輸出層組成,傳統(tǒng)的CNN 模型為防止過擬合現(xiàn)象出現(xiàn)一般設(shè)置為淺層網(wǎng)絡(luò)模型,ResNet[16]的提出讓下一層不再直接擬合成底層映射,通過近似于電路中的“短路”連接,以跳過一層或者多層的連接,最后將信息送至神經(jīng)網(wǎng)絡(luò)的更深層。引入跳層連接能夠有效解決梯度彌散所導(dǎo)致的神經(jīng)網(wǎng)絡(luò)退化以及模型難以收斂兩大問題,并減輕計算量。殘差網(wǎng)絡(luò)結(jié)構(gòu)相較于傳統(tǒng)CNN 模型的優(yōu)勢是其可以放大輸入中微小的擾動,因此更加靈敏。
本文采用的火焰溫度場數(shù)據(jù)集不大,為了防止出現(xiàn)過擬合現(xiàn)象,不需要多層次和多通道數(shù)的殘差網(wǎng)絡(luò),因此本文使用的模型基于ResNet18 的主要框架搭建。輸入為尺寸360×360 的火焰光場圖像,經(jīng)過4個殘差模塊卷積層特征提取、池化層尺寸縮減后得到大小為11×11的矩陣。ResNet18一共含有4個殘差模塊,每個殘差塊包含兩個殘差單元,每個殘差單元首先進(jìn)行一次3×3卷積,其次進(jìn)行批標(biāo)準(zhǔn)化和ReLU 激活,再次進(jìn)行一次3×3 卷積和批標(biāo)準(zhǔn)化,最后與輸入特征圖相加后進(jìn)入ReLU 激活。在模型中,加入批標(biāo)準(zhǔn)化的操作,主要是將卷積層輸出數(shù)據(jù)進(jìn)行歸一化處理,加快網(wǎng)絡(luò)的訓(xùn)練和收斂的速度,防止過擬合[24]。ReLU 激活函數(shù)是一種在神經(jīng)網(wǎng)絡(luò)中廣泛應(yīng)用且效果良好的激活函數(shù),可以顯著提高卷積神經(jīng)網(wǎng)絡(luò)的性能并避免模型訓(xùn)練過程中梯度消失問題[13]。對ResNet18 網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),在ResNet18 網(wǎng)絡(luò)卷積層的最后一層依次加入上述的注意力機(jī)制層(GCNet)[20]和局部重要性池化層(LIP)[23]。改進(jìn)的ResNet18 網(wǎng)絡(luò)由輸入層、17個卷積層、1個最大池化層、1個注意力機(jī)制層、1 個局部重要性池化層、輸出層和1 個全連接層組成。過程中尺寸變化情況已在圖1中標(biāo)出,在網(wǎng)絡(luò)末端使矩陣展平元素與目標(biāo)溫度場元素一一對應(yīng)。改進(jìn)的ResNet18網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,方框中為改進(jìn)部分。表1給出了網(wǎng)絡(luò)模型的各個參數(shù)。
圖1 改進(jìn)的ResNet18網(wǎng)絡(luò)結(jié)構(gòu)
表1 ResNet18框架模型參數(shù)
當(dāng)前的深度學(xué)習(xí)算法經(jīng)常重復(fù)使用相同卷積操作,只關(guān)注到圖像局部的感受野,提取特征較為單一。如ResNet18網(wǎng)絡(luò)使用的殘差塊是由1×1卷積和3×3 卷積堆疊而成,火焰光場特征圖經(jīng)過普通3×3卷積操作之后,新生成的特征圖中每一個像素點(diǎn)只能專注于原始特征圖中9 個緊挨一起的像素點(diǎn)范圍,僅學(xué)習(xí)到了局部的信息,而模型要學(xué)習(xí)更多全局而非局部信息只有通過加深網(wǎng)絡(luò)深度的方式提高感受野,但此方式優(yōu)化難度和計算量都很大?;鹧婀鈭鰣D像的全局信息十分重要,注意力機(jī)制GCNet能夠幫助模型從全局視角聚焦于感興趣區(qū)域,從而分配更多的注意力給這些部分。在模型特征提取部分引入GCNet,模型可以獲得更大的感受野,使網(wǎng)絡(luò)能夠捕捉到更廣闊區(qū)域內(nèi)的特征信息,這意味著模型可以同時考慮到遠(yuǎn)距離的特征關(guān)系,而不僅限于局部區(qū)域。在火焰溫度場的重建任務(wù)中,神經(jīng)網(wǎng)絡(luò)通過識別各尺度的特征,學(xué)習(xí)到灰度值信息與三維溫度場的映射關(guān)系,引入GCNet也即加大了對這種映射關(guān)系的特征信息的捕捉[11,22]。GCNet 結(jié)構(gòu)圖如圖2所示。
圖2 GCNet結(jié)構(gòu)
GCNet由三部分組成[20]。
(1) 建立全局上下文特征圖。特征圖X∈RC×H×W(C、H、W分別為特征圖的通道數(shù)、高度、寬度)。首先經(jīng)過特征提取輸入到1 × 1的卷積層和激活函數(shù)Softmax 中,權(quán)重參數(shù)為Wk,得到的權(quán)重矩陣與大小為C×(H×W)的特征矩陣相乘,得到包含全局上下文信息的大小為C× 1 × 1的特征矩陣O1,如式(1)所示。
(2)計算每個通道的重要程度。將大小為C×1 × 1的特征矩陣O1輸入到大小為1 × 1、權(quán)重參數(shù)為Wv1的卷積層,得到的特征矩陣的大小為C/r×1 × 1。r為參數(shù)減少值,以此提高網(wǎng)絡(luò)的計算效率。在卷積層后加入LayerNorm 層和激活函數(shù)ReLU 防止模型過擬合。接著將特征矩陣輸入到大小為1 × 1、權(quán)重參數(shù)為Wv2的卷積層,最終得到大小為C× 1 × 1的特征矩陣O2,如式(2)所示。
式中,ReLU為非線性激活函數(shù);LN為層歸一化;Wv1和Wv2為兩個卷積層的權(quán)重參數(shù)。
(3) 特征圖與權(quán)重相乘。將輸入特征圖X∈RC×H×W和具有不同通道權(quán)重的特征矩陣O2相乘,最終得到含有不同權(quán)重信息的特征圖O∈RC×H×W,如式(3)所示。
常見的池化方法有平均池化、最大池化、全局平均池化等。平均池化[21]可以輸出所有激活值的平均值,但是有可能會忽略較為主要的特征,對鑒別性很小的特征有害。最大池化[21]輸出所有激活值的最大值,但當(dāng)重要特征的激活值不是最大時并不適用。全局平均池化[22]可以通過減少參數(shù)的數(shù)量增加網(wǎng)絡(luò)的準(zhǔn)確性和穩(wěn)定性。
由于火焰不同位置的輻射值不同,如果使用上述幾種傳統(tǒng)池化方法,在特征圖的每個池化區(qū)域中只進(jìn)行簡單的聚合操作,對特征的重要性沒有進(jìn)行精確的區(qū)分,可能會丟失一些重要信息,將會影響重建精度。為了更充分地提取火焰的特征,本文采用局部重要性池化[23]對ResNet18網(wǎng)絡(luò)進(jìn)行改進(jìn)。這種池化方法通過邏輯模塊(Logit Module)中的卷積生成輸入特征圖的特征權(quán)重,邏輯模塊接著進(jìn)行局部歸一化,最終在池化的過程中自動重新鑒別特征,篩選出重要的特征,減少火焰光場特征圖特征信息的丟失。池化可看作滑動窗口中激活值的線性加權(quán)過程,F(xiàn)表示池化函數(shù),G表示邏輯模塊,能夠更好地學(xué)習(xí)目標(biāo)特征圖的重要性,I和O分別表示池化前的輸入特征圖和池化過后的輸出特征圖,(x,y)表示輸入特征圖對應(yīng)滑動窗口的位置,(x′,y′)表示對應(yīng)的輸出位置,(Δx,Δy)表示滑動窗口內(nèi)的相對位置,Ω表示滑動窗口內(nèi)的卷積核,對應(yīng)的池化表達(dá)式為式(4)。
LIP的結(jié)構(gòu)圖如圖3所示,邏輯模塊由一個1×1卷積層組成,使用仿射實(shí)例歸一化(affine instance normalization)作為歸一化形式,并使用Sigmoid函數(shù)作為具有固定放大系數(shù)的函數(shù),以保持?jǐn)?shù)值的穩(wěn)定性。為了使重要性權(quán)重非負(fù)且易于優(yōu)化,使用exp(·)計算邏輯模塊,如式(5)。
圖3 LIP結(jié)構(gòu)圖
將改進(jìn)的ResNet18 網(wǎng)絡(luò)模型用于火焰三維溫度場重建過程中數(shù)據(jù)集的構(gòu)建以及網(wǎng)絡(luò)模型的訓(xùn)練和測試。通過改變溫度場分布函數(shù)來構(gòu)建數(shù)據(jù)集,然后將數(shù)據(jù)集分為訓(xùn)練集和測試集。在訓(xùn)練過程中,將數(shù)據(jù)集投入到改進(jìn)的ResNet18 網(wǎng)絡(luò)模型的輸入層,通過模型運(yùn)算最終在輸出層得到輸出數(shù)據(jù),誤差通過火焰三維溫度與輸出數(shù)據(jù)的比較得到,將誤差代入網(wǎng)絡(luò)模型更新模型參數(shù),從而完成一次迭代。當(dāng)誤差不再下降或達(dá)到收斂標(biāo)準(zhǔn)的時候停止迭代,完成模型的訓(xùn)練。在測試過程中,將測試集圖像數(shù)據(jù)放入網(wǎng)絡(luò)模型,輸出計算溫度,與真實(shí)溫度進(jìn)行對比并計算誤差,評價改進(jìn)的ResNet18網(wǎng)絡(luò)模型的性能。
本文使用的是單峰火焰數(shù)據(jù)集,采用式(7)所示的溫度場分布函數(shù)[7],假設(shè)為對稱圓柱形標(biāo)準(zhǔn)火焰模型。
式中,z、r分別為溫度點(diǎn)軸向、徑向坐標(biāo);Z表示模擬火焰的高度,為30mm;R表示模擬火焰的半徑,為12mm;f和v為2 個可調(diào)參數(shù),改變可調(diào)參數(shù)共可獲得2000 組不同的數(shù)據(jù)集,總計2000張光場圖像,1800 組作為訓(xùn)練集,200 組作為測試集。
網(wǎng)絡(luò)優(yōu)化器的主要作用是在網(wǎng)絡(luò)訓(xùn)練時對權(quán)重更新方法等進(jìn)行優(yōu)化,主要的優(yōu)化函數(shù)有Adagrad算法[25]、RMSprop算法[26]以及Adam算法[27]等。本文選用Adam 算法作為卷積神經(jīng)網(wǎng)絡(luò)參數(shù)的優(yōu)化算法,它繼承了Adagrad 算法和RMSprop 算法的優(yōu)點(diǎn),在基于一階矩均值計算適應(yīng)性參數(shù)學(xué)習(xí)率的前提下,還充分利用了梯度的二階矩均值。本文網(wǎng)絡(luò)采用PyTorch 搭建、訓(xùn)練及測試。服務(wù)器顯卡的型號為NVIDIA Geforce RTX 3090。采用式(8)所示的均方誤差函數(shù)(MSE)作為損失函數(shù)。
式中,Tp表示重建溫度;Tr表示真實(shí)值溫度。
采用改進(jìn)的ResNet18 算法對火焰三維溫度場進(jìn)行了重建。本文采用平均相對誤差(MRE)和最大相對誤差(MMRE)兩種評價指標(biāo),見式(9)、式(10)。
式中,N表示三維溫度場中所有溫度點(diǎn)的個數(shù);Tri表示真實(shí)值中第i個溫度點(diǎn);Tpi表示預(yù)測值中第i個溫度點(diǎn)。
圖4(a)和圖4(b)分別為火焰的原始溫度場和改進(jìn)ResNet18 網(wǎng)絡(luò)重建出的溫度場。圖4(c)為改進(jìn)ResNet18網(wǎng)絡(luò)重建出的溫度場的相對誤差圖。
圖4 火焰溫度場重建結(jié)果
使用改進(jìn)前和改進(jìn)后的ResNet18 網(wǎng)絡(luò)重建的平均相對誤差和最大相對誤差隨周期變化的趨勢分別如圖5(a)和圖5(b)所示。
圖5 不同周期下的相對誤差圖
本文改進(jìn)的ResNet18 網(wǎng)絡(luò)訓(xùn)練50 周期平均相對誤差為0.13%,最大相對誤差為0.75%,改進(jìn)前ResNet18 網(wǎng)絡(luò)訓(xùn)練50 周期的平均相對誤差為0.19%,最大相對誤差為1.14%,可見通過本文提出的改進(jìn)ResNet18 網(wǎng)絡(luò)重建出的溫度場與原始溫度場在各個網(wǎng)格上的相對誤差總體要比改進(jìn)前的ResNet18 網(wǎng)絡(luò)重建方法的誤差小。因此,本文提出的改進(jìn)ResNet18 網(wǎng)絡(luò)重建火焰三維溫度場相較于原始ResNet18 網(wǎng)絡(luò)在重建誤差上有很大幅度減小,可以準(zhǔn)確重建火焰三維溫度場。
為了驗(yàn)證在ResNet18 網(wǎng)絡(luò)引入局部重要性池化(LIP)模塊和全局上下文網(wǎng)絡(luò)(GCNet)模塊的有效性,本文設(shè)計了消融實(shí)驗(yàn),下面將對進(jìn)行的消融實(shí)驗(yàn)的設(shè)計思路以及目的進(jìn)行闡述。其中第一組為原ResNet18 網(wǎng)絡(luò),第二組添加了局部重要性池化(LIP)模塊,第三組添加了全局上下文網(wǎng)絡(luò)(GCNet)模塊,第四組同時添加局部重要性池化(LIP)模塊和全局上下文網(wǎng)絡(luò)(GCNet)模塊。各個模塊的消融實(shí)驗(yàn)結(jié)果如表2所示。
表2 不同模塊消融實(shí)驗(yàn)結(jié)果
由表2可以看出,引入局部重要性池化(LIP)后,網(wǎng)絡(luò)的最大相對誤差為0.81%,相較于改進(jìn)前的ResNet18 網(wǎng)絡(luò)的最大相對誤差減少了28.95%;ResNet18+LIP 能夠更好地在池化的過程中自動重新鑒別特征,減少火焰光場特征圖特征信息的丟失,充分地提取火焰的特征;引入全局上下文網(wǎng)絡(luò)(GCNet)后,網(wǎng)絡(luò)的最大相對誤差為1.01%,與改進(jìn)前的ResNet18 網(wǎng)絡(luò)相比,最大相對誤差減少了11.4%;ResNet18+GCNet使模型在全局視角上聚焦于火焰更加需要關(guān)注的顯著區(qū)域,使得模型能夠充分利用全局信息;同時引入局部重要性池化和全局上下文網(wǎng)絡(luò)后,網(wǎng)絡(luò)的平均相對誤差為0.13%,最大相對誤差為0.75%,相較于改進(jìn)前的ResNet18網(wǎng)絡(luò)的平均相對誤差減少了31.58%,最大相對誤差減少了34.21%,ResNet18+LIP+GCNet 集合了兩者的優(yōu)點(diǎn),在保證不丟失局部重要信息的情況下,增加對全局信息的把握能力。可以看出同時加入兩個改進(jìn)模塊后的重建精度要優(yōu)于加入單個改進(jìn)模塊后的精度,局部重要性池化模塊對精度提升的作用更大。
通過兩種改進(jìn)方法與原始方法進(jìn)行對比,結(jié)果表明,本文所提出的方法具有更小的重建誤差,驗(yàn)證了本文所提方法的有效性。圖6為消融實(shí)驗(yàn)的重建結(jié)果圖。
圖6 消融實(shí)驗(yàn)重建結(jié)果
(1)本文提出了采用改進(jìn)的ResNet18 網(wǎng)絡(luò)進(jìn)行火焰溫度場重建,在ResNet18 網(wǎng)絡(luò)的基礎(chǔ)上加入注意力機(jī)制GCNet和局部重要性池化優(yōu)化提取內(nèi)容,實(shí)現(xiàn)已知信息的充分利用。
(2)本文通過消融實(shí)驗(yàn)分析了注意力機(jī)制GCNet模塊和局部重要性池化模塊對重建精度的影響。結(jié)果表明,在ResNet18 網(wǎng)絡(luò)中同時引入注意力機(jī)制GCNet和局部重要性池化后,網(wǎng)絡(luò)的平均相對誤差為0.13%,最大相對誤差為0.75%;改進(jìn)前ResNet18網(wǎng)絡(luò)的平均相對誤差為0.19%,最大相對誤差為1.14%。同時加入兩個改進(jìn)模塊后的重建精度要優(yōu)于加入單個改進(jìn)模塊后的精度,本文所提出的方法具有更小的重建誤差。