張 杰 齊 琪 韓哲哲 李 健 張 彪 許傳龍
(東南大學(xué)能源與環(huán)境學(xué)院, 南京 210096)
燃燒廣泛存在于燃?xì)廨啓C(jī)、內(nèi)燃機(jī)、電站鍋爐、航空發(fā)動(dòng)機(jī)和火箭發(fā)動(dòng)機(jī)等[1]工作過程中.而火焰測(cè)溫技術(shù)有助于了解燃燒火焰溫度分布規(guī)律,通過探索物理作用過程和化學(xué)反應(yīng)機(jī)理,可評(píng)估燃燒效率,進(jìn)而可對(duì)燃燒裝置進(jìn)行評(píng)價(jià)和改進(jìn)[2].
輻射圖像法是利用圖像探測(cè)器探測(cè)的火焰輻射信息進(jìn)行火焰溫度場(chǎng)測(cè)量,其優(yōu)點(diǎn)是非侵入式且不需要外加激勵(lì)源,能夠適應(yīng)復(fù)雜惡劣的工業(yè)環(huán)境[3].傳統(tǒng)相機(jī)拍攝的圖像是火焰在三維空間中某一視角下的投影,通常需要多臺(tái)相機(jī)拍攝的不同視角下的火焰圖像進(jìn)行火焰三維溫度場(chǎng)重建[3].光場(chǎng)相機(jī)利用微透鏡陣列將通過主透鏡聚焦于該微透鏡上的像點(diǎn)的不同方向輻射強(qiáng)度信息分離出來,并分別記錄在微透鏡后面所覆蓋的CCD探測(cè)器的像元上,從而實(shí)現(xiàn)四維光場(chǎng)信息的采集,能夠獲得更加豐富的火焰輻射信息,利用單臺(tái)光場(chǎng)相機(jī)實(shí)現(xiàn)了火焰三維溫度場(chǎng)的重建[4].基于光場(chǎng)成像的火焰三維溫度場(chǎng)重建問題可轉(zhuǎn)化為線性方程組的求解問題,常用的火焰三維溫度場(chǎng)重建方法有截?cái)嗥娈愔捣纸馑惴╗5](TSVD)、最小二乘QR分解算法[6](LSQR)、非負(fù)最小二乘算法(NNLS)[3]等.采用這些算法重建火焰三維溫度場(chǎng)時(shí)都需要經(jīng)歷火焰輻射光線追跡過程,以建立輻射傳遞方程.對(duì)于數(shù)以萬計(jì)根光線的追跡過程所消耗的時(shí)間占據(jù)了溫度場(chǎng)重建過程的絕大部分時(shí)間,且與追跡的光線總數(shù)以及火焰的網(wǎng)格劃分?jǐn)?shù)量密切相關(guān).追跡的光線數(shù)與光場(chǎng)圖像的有效像素總數(shù)相同,而隨著火焰網(wǎng)格劃分?jǐn)?shù)量的增加,光線追跡所需時(shí)間呈指數(shù)倍增加.孫俊等[3,7]采用NNLS算法重建了微元體劃分為10×10×1(軸向、徑向、圓周角)的火焰,重建時(shí)間為21.12 s.黃興等[8]采用LSQR算法重建在軸向高度、半徑和圓周角網(wǎng)格劃分為10×10×1的模擬火焰時(shí),在1%測(cè)量誤差情況下的重建時(shí)間為23.13 s.當(dāng)對(duì)于火焰溫度場(chǎng)的空間分辨率要求提高時(shí),上述2個(gè)例子中的重建時(shí)間也會(huì)呈指數(shù)倍增加,這使得實(shí)時(shí)測(cè)量以及工程應(yīng)用受到極大限制.
近年來,深度學(xué)習(xí)算法因其強(qiáng)大的非線性函數(shù)逼近能力,被廣泛應(yīng)用在計(jì)算機(jī)視覺、圖像識(shí)別等領(lǐng)域[9].其中,卷積神經(jīng)網(wǎng)絡(luò)(CNN)已被證明能夠挖掘數(shù)據(jù)的本質(zhì)特征,并已成功應(yīng)用于醫(yī)學(xué)影像學(xué)[10],如電子計(jì)算機(jī)斷層掃描(CT)[11].Chen等[12]提出了一種新的低劑量CT深度學(xué)習(xí)降噪方法,該方法在定量指標(biāo)和計(jì)算速度上有了很大的提高.此外,深度學(xué)習(xí)算法在燃燒診斷領(lǐng)域的研究也取得了顯著的成果.Jin等[13]提出一種基于CNN模型的三維快速火焰化學(xué)發(fā)光層析成像系統(tǒng),用于實(shí)際燃燒測(cè)量,將重建時(shí)間從ART算法的170.25 s縮短為1.28 s.Huang等[14-15]將卷積神經(jīng)網(wǎng)絡(luò)和本征正交分解結(jié)合,加速了火焰三維結(jié)構(gòu)的重構(gòu)過程,同時(shí)還將長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)與CNN耦合,實(shí)現(xiàn)了三維火焰輪廓的在線預(yù)測(cè).另外,深度學(xué)習(xí)還被用于預(yù)測(cè)燃燒過程中的熱釋放率[16-17]、NOx排放濃度[18]、氧含量[19].深度學(xué)習(xí)在各領(lǐng)域的成功應(yīng)用一方面是計(jì)算機(jī)技術(shù)的快速發(fā)展,另一方面則是神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和超參數(shù)的合理設(shè)置和選擇.合適的訓(xùn)練方式和網(wǎng)絡(luò)參數(shù)直接影響網(wǎng)絡(luò)的泛化能力,也有助于加快網(wǎng)絡(luò)收斂速度,抑制過擬合[20].
針對(duì)傳統(tǒng)的光場(chǎng)成像火焰溫度重建計(jì)算量大、效率低等問題,本文提出一種基于CNN的火焰三維溫度場(chǎng)重建方法.利用視在光線法建立了含有不同溫度場(chǎng)的單峰火焰和雙峰火焰數(shù)據(jù)集;構(gòu)建了用于火焰三維溫度場(chǎng)重建的卷積神經(jīng)網(wǎng)絡(luò),并用單峰火焰數(shù)據(jù)集對(duì)CNN進(jìn)行訓(xùn)練,將訓(xùn)練結(jié)果用于單峰火焰三維溫度場(chǎng)的重建,并與傳統(tǒng)重建方法進(jìn)行性能比較與分析;最后,將CNN應(yīng)用于雙峰火焰數(shù)據(jù)集的訓(xùn)練和預(yù)測(cè),檢驗(yàn)了該網(wǎng)絡(luò)在復(fù)雜火焰溫度場(chǎng)中的重建性能.
光場(chǎng)成像技術(shù)的基本原理是利用安裝在主透鏡和圖像探測(cè)器之間的微透鏡陣列將物體發(fā)出的不同方向的光線投射到圖像探測(cè)器不同位置的像素上,形成光場(chǎng)圖像.物面關(guān)于主透鏡成像系統(tǒng)有一個(gè)共軛像面,由于沒有成像探測(cè)器記錄這一像,稱為虛擬像面[3].虛擬像面作為微透鏡陣列成像的物面,與CCD關(guān)于微透鏡陣列共軛.圖1為光場(chǎng)成像示意圖,像面與主透鏡之間的距離記為L(zhǎng)om,主透鏡與微透鏡陣列之間的距離記為L(zhǎng)mm,微透鏡陣列與圖像探測(cè)器、虛擬像面之間的距離分別記為L(zhǎng)mp、Lmv.物點(diǎn)發(fā)出的一束光線,經(jīng)過主透鏡匯聚到虛擬像面對(duì)應(yīng)的虛擬像點(diǎn)上,該束光線再經(jīng)微透鏡投射到不同的像素上.
數(shù)值模擬中采用的光場(chǎng)相機(jī)參數(shù)如下:主透鏡焦距為50 mm,微透鏡焦距為600 μm,微透鏡陣列與CCD距離為480 μm,主透鏡與微透鏡距離為53.1 mm,物距為505 mm,主透鏡直徑為10.7 mm,微透鏡直徑為0.095 mm,每個(gè)像素的尺寸為8 μm×8 μm.
圖1 光場(chǎng)成像示意圖
卷積神經(jīng)網(wǎng)絡(luò)在局部感知、共享權(quán)值等方面具有優(yōu)越的性能[21-22],同時(shí)具有減少網(wǎng)絡(luò)參數(shù)和提升特征提取能力的優(yōu)點(diǎn).用于火焰三維溫度場(chǎng)重建的CNN模型包括數(shù)據(jù)集構(gòu)建階段、網(wǎng)絡(luò)訓(xùn)練階段和網(wǎng)絡(luò)測(cè)試階段.在數(shù)據(jù)集構(gòu)建階段,需要設(shè)定不同的三維溫度場(chǎng),通過正向計(jì)算[3]得到對(duì)應(yīng)的光場(chǎng)圖像.在訓(xùn)練階段,通過數(shù)值模擬得到的數(shù)據(jù)集被投入到CNN網(wǎng)絡(luò)中,通過對(duì)CNN模型的權(quán)值參數(shù)進(jìn)行優(yōu)化,確定CNN的結(jié)構(gòu).結(jié)構(gòu)確定后,即可在測(cè)試階段通過CNN模型重建火焰三維溫度場(chǎng),同時(shí)采用傳統(tǒng)NNLS算法重建溫度場(chǎng),將采用CNN重建的溫度場(chǎng)與傳統(tǒng)NNLS算法重建的溫度場(chǎng)進(jìn)行比較,評(píng)價(jià)CNN的性能.
本文設(shè)置了2種火焰的數(shù)據(jù)集,分別為單峰火焰和雙峰火焰.單峰火焰數(shù)據(jù)集用于確定網(wǎng)絡(luò)結(jié)構(gòu),檢驗(yàn)基于CNN重建算法的重建效率以及重建精度.雙峰火焰具有非軸對(duì)稱特性,因此構(gòu)建了雙峰火焰數(shù)據(jù)集,用于檢驗(yàn)CNN算法重建非軸對(duì)稱火焰溫度場(chǎng)的能力.
在構(gòu)建單峰火焰數(shù)據(jù)集過程中,采用的溫度場(chǎng)分布如下:
T(Z,R,f,v)=
(1)
式中,z、r分別為溫度點(diǎn)軸向、徑向坐標(biāo);Z表示模擬火焰的高度,設(shè)置為0.03 m;R表示模擬火焰的半徑,為0.008 m;f和v為2個(gè)可調(diào)系數(shù),可獲得不同的溫度場(chǎng).其中,f的取值范圍設(shè)置為0.9~1.1,間隔為0.001;v的取值范圍為0.8~1.0,間隔為0.01.火焰的網(wǎng)格劃分為10×8×15,分別表示軸向、徑向和周向.通過式(1)共得到了4 000組不同的溫度場(chǎng),正向計(jì)算得到對(duì)應(yīng)的4 000張光場(chǎng)圖像,其中3 500組作為訓(xùn)練集,500組作為測(cè)試集.單峰火焰數(shù)據(jù)集構(gòu)建部分結(jié)果如圖2所示.
(a) 溫度場(chǎng)(f=0.9,v=0.8)
(b) 光場(chǎng)圖像(f=0.9,v=0.8)
(c) 溫度場(chǎng)(f=1.0,v=1.0)
雙峰火焰數(shù)據(jù)集溫度場(chǎng)如下:
T(X,Y,Z,f)=
(2)
其中,f為可變參數(shù),取值范圍為0.9~1.1,間隔為5×10-5.火焰網(wǎng)格劃分與單峰火焰一致.通過改變參數(shù)f一共得到3 000組不同溫度場(chǎng),通過正向計(jì)算得出3 000張光場(chǎng)圖像,其中2 700組作為訓(xùn)練集,300組作為測(cè)試集.光場(chǎng)圖像-雙峰火焰溫度場(chǎng)數(shù)據(jù)集部分如圖3所示.
卷積神經(jīng)網(wǎng)絡(luò)由輸入層、隱層和輸出層構(gòu)成,其中隱層包含卷積層、池化層、全連接層等.CNN一般用于圖像特征提取,輸入為表示灰度或者彩色圖像的矩陣,本文中為200×300的光場(chǎng)圖像.網(wǎng)絡(luò)前半部分一般為交替設(shè)置的卷積層和池化層,從而組成特征提取器不斷降低特征維度,以從中提取不同層次特征,后半部分通常設(shè)置全連接層進(jìn)行分類或回歸展示網(wǎng)絡(luò)處理結(jié)果.通常圖像處理問題越復(fù)雜,網(wǎng)絡(luò)模型則需要學(xué)習(xí)更多的參數(shù)來解決復(fù)雜的圖像處理問題,通過設(shè)置更深的網(wǎng)絡(luò)層可以學(xué)到更多的網(wǎng)絡(luò)參數(shù).本文中設(shè)計(jì)的網(wǎng)絡(luò)一共有13層,網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示,包括輸入層、隱層和輸出層,其中隱層一共包含11層,由5層卷積層、5層池化層和1層全連接層組成,每層的尺寸已標(biāo)注在圖中,未進(jìn)一步加深網(wǎng)絡(luò)層數(shù)是為了保證輸入圖像的大小要大于卷積核的大小.只設(shè)計(jì)1層全連接層是因?yàn)楫?dāng)全連接層的數(shù)目增加時(shí),網(wǎng)絡(luò)參數(shù)會(huì)增加,訓(xùn)練時(shí)間會(huì)加長(zhǎng),同時(shí)根據(jù)訓(xùn)練集對(duì)網(wǎng)絡(luò)的訓(xùn)練結(jié)果,當(dāng)全連接層設(shè)置為2層時(shí),重建精度相比1層時(shí)也有所下降.
(a) 溫度場(chǎng)(f=0.9)
(b) 光場(chǎng)圖像(f=0.9)
(c) 溫度場(chǎng)(f=1.0)
(d) 光場(chǎng)圖像(f=1.0)
圖4 網(wǎng)絡(luò)結(jié)構(gòu)圖
卷積神經(jīng)網(wǎng)絡(luò)中,上層節(jié)點(diǎn)的輸出和下層節(jié)點(diǎn)的輸入之間存在激活函數(shù).激活函數(shù)的主要作用是提供網(wǎng)絡(luò)的非線性建模能力,如果沒有激活函數(shù),那么該網(wǎng)絡(luò)僅能夠表達(dá)線性映射,此時(shí)即便有再多的隱藏層,其整個(gè)網(wǎng)絡(luò)與單層神經(jīng)網(wǎng)絡(luò)也是等價(jià)的.非線性激活函數(shù)(ReLU函數(shù))能夠顯著提高卷積網(wǎng)絡(luò)的性能,且ReLU函數(shù)能避免模型訓(xùn)練過程中梯度消失[23]問題,ReLU函數(shù)表達(dá)式如下:
f(x)=max(0,x)
(3)
式中,x表示上層節(jié)點(diǎn)的輸出值,即當(dāng)輸入大于0時(shí),輸出與輸入相同,否則輸出為0.
卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練的目的是使損失函數(shù)減小,損失函數(shù)越小,說明預(yù)測(cè)值越接近真實(shí)值.本文采用的損失函數(shù)是均方誤差函數(shù)(MSE),定義如下:
(4)
網(wǎng)絡(luò)參數(shù)優(yōu)化器是網(wǎng)絡(luò)模型編譯時(shí)必要的參數(shù),其主要作用是在網(wǎng)絡(luò)訓(xùn)練時(shí)優(yōu)化網(wǎng)絡(luò)參數(shù),從而得到最優(yōu)的網(wǎng)絡(luò)模型.優(yōu)化算法種類很多,如自適應(yīng)梯度算法(AdaGrad)、均方根傳播(RMSProp)以及Adam算法等.AdaGrad為每一個(gè)參數(shù)保留一個(gè)學(xué)習(xí)率以提升在稀疏梯度上的性能,RMSProp基于權(quán)重梯度最近量級(jí)的均值為每一個(gè)參數(shù)適應(yīng)性地保留學(xué)習(xí)率,Adam算法是通過計(jì)算梯度的一階矩估計(jì)和二階矩估計(jì)為不同的參數(shù)設(shè)計(jì)獨(dú)立的自適應(yīng)性學(xué)習(xí)率.為了評(píng)價(jià)卷積神經(jīng)網(wǎng)絡(luò)的性能,本文采用最大相對(duì)誤差(Emax)和平均相對(duì)誤差(Emean)兩種評(píng)價(jià)指標(biāo):
(5)
(6)
表1展示了基于單峰火焰數(shù)據(jù)集3種參數(shù)優(yōu)化算法對(duì)于網(wǎng)絡(luò)性能的影響.由表可以看出,3種優(yōu)化算法中,Adam算法的均方誤差、最大相對(duì)誤差以及平均相對(duì)誤差最小,分別為5.8 K2、0.5%和0.14%;RMSProp算法均方誤差、最大相對(duì)誤差以及平均相對(duì)誤差都最大,分別為273.0 K2、3.2%和1.67%.因此,Adam算法的效果最好,RMSProp算法性能最差,本文采用Adam算法作為卷積神經(jīng)網(wǎng)絡(luò)參數(shù)的優(yōu)化算法.
表1 基于單峰火焰數(shù)據(jù)集不同優(yōu)化算法對(duì)網(wǎng)絡(luò)性能的影響
本文中卷積神經(jīng)網(wǎng)絡(luò)是基于Keras(版本2.3.1,采用TensorFlow(版本2.1.0)作為后端)搭建、訓(xùn)練以及測(cè)試.所有計(jì)算都是在服務(wù)器上運(yùn)行,服務(wù)器配備CPU型號(hào)為Intel(R)Core(TM)i9-9900 K CPU,顯卡型號(hào)為NVIDIA GeForce RTX 2080 SUPER.
采用CNN算法與傳統(tǒng)算法對(duì)火焰三維溫度場(chǎng)進(jìn)行了重建,圖5為火焰的原始溫度場(chǎng)和重建結(jié)果.從圖可以看出,NNLS算法重建得出的溫度場(chǎng)與原始溫度場(chǎng)在周向上存在畸變;而CNN算法重建得出的溫度場(chǎng)與原始溫度場(chǎng)吻合度較高.NNLS算法重建結(jié)果平均相對(duì)誤差為1.22%;而CNN算法重建結(jié)果平均誤差為0.14%,重建精度較高.由圖6可以看出,由CNN算法重建出的溫度場(chǎng)與原始溫度場(chǎng)在各個(gè)網(wǎng)格上的相對(duì)誤差總體上要比由NNLS算法重建的誤差小.采用單峰火焰數(shù)據(jù)集對(duì)所搭建網(wǎng)絡(luò)進(jìn)行訓(xùn)練,訓(xùn)練時(shí)間為266 min,單峰火焰溫度場(chǎng)的重建時(shí)間為830 μs;而采用傳統(tǒng)的NNLS重建同樣網(wǎng)格劃分為10×8×15的火焰三維溫度場(chǎng)所需的時(shí)間為4 759 s.因此,本文所提出的深度學(xué)習(xí)算法重建火焰三維溫度場(chǎng)相較于傳統(tǒng)算法在重建時(shí)間上有了很大幅度的縮短,可以用于實(shí)時(shí)重建.
(a) 原始溫度場(chǎng)
(b) NNLS算法重建結(jié)果
(c) CNN算法重建結(jié)果
圖6 重建結(jié)果誤差圖
向測(cè)試數(shù)據(jù)加入了均值μ=0、不同標(biāo)準(zhǔn)差(σ)的高斯白噪聲,以測(cè)試卷積神經(jīng)網(wǎng)絡(luò)算法的抗噪能力.標(biāo)準(zhǔn)差從0.01增長(zhǎng)到0.15,間隔為0.01.加入標(biāo)準(zhǔn)差為0.1的高斯白噪聲后的光場(chǎng)圖像如圖7所示,加入噪聲后的光場(chǎng)圖像上多出許多噪點(diǎn).
(a) 未添加噪聲
(b) 添加σ=0.1噪聲
為了得到抗噪性能更好、泛化能力強(qiáng)的卷積神經(jīng)網(wǎng)絡(luò),本文研究了圖像數(shù)據(jù)歸一化對(duì)于網(wǎng)絡(luò)抗噪性能的影響.歸一化對(duì)于卷積神經(jīng)網(wǎng)絡(luò)抗噪性能影響的結(jié)果如圖8所示.可以看到,有無歸一化在無噪聲,即標(biāo)準(zhǔn)差為0時(shí)對(duì)于重建精度沒有影響,最大相對(duì)誤差都為0.5%;但當(dāng)加入高斯噪聲的標(biāo)準(zhǔn)差大于0.07時(shí),隨著噪聲標(biāo)準(zhǔn)差的增大,有無數(shù)據(jù)歸一化的重建誤差都在增加,但有歸一化的重建誤差較無歸一化的重建誤差增長(zhǎng)緩慢.加入噪聲標(biāo)準(zhǔn)差σ=0.15時(shí),無歸一化的重建最大相對(duì)誤差為28.5%,有歸一化的重建最大相對(duì)誤差為7.3%,可見對(duì)網(wǎng)絡(luò)輸入圖像進(jìn)行數(shù)據(jù)歸一化處理有利于提升卷積神經(jīng)網(wǎng)絡(luò)算法的抗噪性能.
圖8 圖像數(shù)據(jù)歸一化對(duì)于網(wǎng)絡(luò)抗噪性能的影響
在經(jīng)過圖像歸一化處理之后,不同標(biāo)準(zhǔn)差高斯噪聲下卷積神經(jīng)網(wǎng)絡(luò)重建結(jié)果誤差圖如圖9所示.可以看出,隨著高斯噪聲的增加,平均相對(duì)誤差和最大相對(duì)誤差都在上升.最大相對(duì)誤差在σ=0.15時(shí)僅為7.3%,此時(shí)的平均相對(duì)誤差僅為1.3%,表明深度學(xué)習(xí)算法對(duì)噪聲的抗干擾能力較強(qiáng),具有良好的泛化能力.
圖9 不同標(biāo)準(zhǔn)差高斯噪聲下的重建誤差圖
為了驗(yàn)證CNN算法能否適用于更加復(fù)雜的火焰溫度場(chǎng)重建,采用雙峰火焰數(shù)據(jù)集對(duì)上述網(wǎng)絡(luò)進(jìn)行訓(xùn)練,訓(xùn)練時(shí)間為78 min,單個(gè)雙峰火焰溫度場(chǎng)重建時(shí)間為1 ms,而采用NNLS算法重建相同雙峰火焰所需的時(shí)間為3 042 s,因此對(duì)于雙峰火焰溫度場(chǎng)重建,CNN算法相比于傳統(tǒng)NNLS算法在重建效率上仍然具有很大優(yōu)勢(shì).NNLS算法和CNN算法對(duì)于雙峰火焰溫度場(chǎng)重建結(jié)果如圖10所示.CNN算法重建結(jié)果的最大相對(duì)誤差為1.81%,平均相對(duì)誤差為0.52%,而傳統(tǒng)NNLS算法重建結(jié)果的最大相對(duì)誤差為3.71%,平均相對(duì)誤差為1.19%.可見相比傳統(tǒng)NNLS算法,CNN算法在重建較復(fù)雜火焰溫度場(chǎng)時(shí)仍具有良好的實(shí)用性.
(a) 原始溫度場(chǎng)
(b) NNLS算法重建結(jié)果
(c) CNN算法重建結(jié)果
1) 相比于傳統(tǒng)NNLS算法,CNN算法在網(wǎng)格劃分為10×8×15條件下使得單峰火焰溫度場(chǎng)的重建時(shí)間從4 759 s縮短為830 μs,同時(shí)平均相對(duì)誤差僅為0.14%,表明CNN算法可大幅度減小重建時(shí)間,實(shí)現(xiàn)了火焰溫度場(chǎng)實(shí)時(shí)重建,并具有較高的重建準(zhǔn)確度.
2) 不同標(biāo)準(zhǔn)差大小的高斯噪聲試驗(yàn)證明了基于卷積神經(jīng)網(wǎng)絡(luò)重建算法具有良好的抗噪性能,光場(chǎng)數(shù)據(jù)歸一化處理也有助于提高模型的抗噪聲能力.
3) 雙峰火焰重建結(jié)果最大相對(duì)誤差為1.81%,平均相對(duì)誤差為0.52%,表明CNN算法不僅適用于軸對(duì)稱火焰,對(duì)于非軸對(duì)稱雙峰火焰也具有較高的重建精度.