王 星,高 峰,陳 吉,郝鵬程,荊正軍
(1.遼寧工程技術(shù)大學(xué) 電子與信息工程學(xué)院,遼寧 葫蘆島 125105; 2.神東煤炭集團(tuán)公司寸草塔一礦,內(nèi)蒙古 鄂爾多斯 017205; 3.阜新煤礦集團(tuán) 恒大煤礦,遼寧 阜新 123002)
煤炭是我國(guó)的主體能源,也是最經(jīng)濟(jì)的化石能源,對(duì)我國(guó)的能源安全和經(jīng)濟(jì)社會(huì)發(fā)展起著舉足輕重的作用[1-2]。煤炭的智能化、無人化開采在提高煤炭產(chǎn)量的同時(shí),也是減少煤礦事故,特別是工作面事故的主要途徑。煤巖界面自動(dòng)識(shí)別[3]是實(shí)現(xiàn)智能化和無人化開采的核心技術(shù),是采煤機(jī)滾筒和掘錨機(jī)截割部位高度的自動(dòng)調(diào)節(jié)以及液壓支架頂板支護(hù)自動(dòng)調(diào)整的關(guān)鍵所在,同時(shí)也是公認(rèn)的世界難題。因此,深入研究煤巖界面的自動(dòng)識(shí)別方法具有重要的理論意義和實(shí)踐價(jià)值。
圍繞煤巖界面的自動(dòng)識(shí)別研究,國(guó)內(nèi)外學(xué)者提出了多種方法,如振動(dòng)檢測(cè)方法[4]利用拾振傳感器監(jiān)測(cè)采煤機(jī)切割力響應(yīng)變化,通過減少采煤機(jī)噪聲的方法提高煤巖識(shí)別效率;放射性探測(cè)方法[5]依據(jù)γ射線穿過煤和巖石表現(xiàn)出的不同衰減曲線來識(shí)別煤巖;聲壓檢測(cè)方法[6]通過聲波、雷達(dá)等進(jìn)行煤巖界面探測(cè);紅外探測(cè)方法[7]通過檢測(cè)煤巖界面切割時(shí)產(chǎn)生的紅外輻射來識(shí)別煤巖界面。由于受到傳感器自身性能、γ射線穿透能力、探測(cè)范圍以及粉塵環(huán)境等方面的影響,上述煤巖識(shí)別方法的準(zhǔn)確性和效率還有提升空間。
近年來通過提取煤巖的顏色、紋理和形狀等特征來識(shí)別煤巖的方法受到越來越多的關(guān)注,出現(xiàn)了以字典學(xué)習(xí)法[8]、小波變換法[9]、相似性度量法[10]和神經(jīng)網(wǎng)絡(luò)法[11]等為代表的煤巖圖像識(shí)別[12-15]方法。劉富強(qiáng)等[16]通過圖像預(yù)處理、邊緣提取、區(qū)域標(biāo)記等分析煤或矸石的灰度分布情況,之后通過比較灰度直方圖的方式區(qū)分煤巖。李文斌等[17]基于光澤并通過光漫射特征及直方圖方法判別煤巖。HOBSON等[18]通過對(duì)比相關(guān)圖像處理方法,得出紋理比灰度更適合進(jìn)行煤巖識(shí)別的結(jié)論。為了提高共生矩陣慣性矩在圖像紋理分析中的作用,于國(guó)防[19]提出一種基于間隔灰度壓縮的擴(kuò)階共生矩陣慣性矩來提高煤巖識(shí)別效率。黃韶杰[20]以煤巖顏色為例,采用邊緣檢測(cè)和灰度閾值法進(jìn)行煤巖識(shí)別。MENG等[21]通過分析煤巖紋理的不同,提出一種基于灰度共生矩陣和反向傳播神經(jīng)網(wǎng)絡(luò)的煤巖識(shí)別方法。伍云霞等[22-24]提出了基于字典學(xué)習(xí)、Curvelet變換、帶局部約束的字典學(xué)習(xí)等能充分表達(dá)圖像的紋理特征和邊緣特征的方法來提高煤巖識(shí)別的效率。相似性度量方法以圖像之間的相似度大小作為分類依據(jù),孫繼平、陳浜等[8-10]提出了支持向量誘導(dǎo)字典學(xué)習(xí)和小波變換等的煤巖識(shí)別方法。常見的煤巖圖像相似度距離測(cè)度還包括歐式距離、切比雪夫距離等。佘杰[25]運(yùn)用支持向量機(jī)對(duì)煤巖進(jìn)行識(shí)別。K-means方法[26]是最為常用的煤巖聚類方法,它在煤巖圖像數(shù)量較大、圖像光線好、煤巖差異性比較大時(shí)具有較好的處理效果。王瑩[27]提出了多參數(shù)融合的煤巖識(shí)別方法。
通過研究分析發(fā)現(xiàn),以下2個(gè)因素很大程度上制約了基于圖像的煤巖識(shí)別方法的發(fā)展:① 井下采煤機(jī)等設(shè)備工作環(huán)境的復(fù)雜性導(dǎo)致獲取圖像困難,所獲圖像質(zhì)量和數(shù)量不足以支撐相關(guān)算法的運(yùn)行和優(yōu)化;② 我國(guó)煤巖存在多樣性、相似性和復(fù)雜性等特征,使得識(shí)別準(zhǔn)確率還有待提高。因此,切實(shí)提高煤巖樣本數(shù)量與質(zhì)量、構(gòu)建更加高效的煤巖識(shí)別模型是當(dāng)前迫切需要解決的問題。
GAN[28-41]在圖像生成和解決圖像數(shù)據(jù)短缺問題上具有明顯優(yōu)勢(shì),可用于解決煤巖圖像數(shù)據(jù)短缺問題。目前,在單張圖像上訓(xùn)練GAN模型的方法相對(duì)較少,已經(jīng)提出了3種在單張“自然”圖像上訓(xùn)練的GAN模型,即SinGAN[29],InGAN[30]和ConSinGAN[31]。這3種方法都基于圖像的雙向相似性度量,可用于圖像生成任務(wù)。SinGAN和ConSinGAN2種方法都是訓(xùn)練一個(gè)在單張圖像上能夠無條件生成圖像的模型,在多種尺度上訓(xùn)練生成器和判別器,即在同一圖像的不同分辨率上訓(xùn)練模型。ConSinGAN雖然在“自然場(chǎng)景”(具有明顯結(jié)構(gòu)的自然場(chǎng)景圖片)中能夠生成真實(shí)性、多樣性都很高的圖片,但是在煤巖圖像的生成中,由于煤巖的結(jié)構(gòu)布局并不明顯,引發(fā)生成樣本多樣性不足的問題,同時(shí)其性能不能滿足實(shí)際需求。經(jīng)過實(shí)驗(yàn)發(fā)現(xiàn),可以通過改進(jìn)模型的結(jié)構(gòu)和訓(xùn)練的方法使該模型在生成煤巖圖像時(shí)增加生成圖像多樣性的同時(shí)提升其性能。
針對(duì)以上存在的煤巖圖像數(shù)據(jù)短缺的問題并結(jié)合GAN的最新進(jìn)展,筆者從擴(kuò)大樣本的數(shù)量和提高樣本的質(zhì)量出發(fā),提出一種基于生成式對(duì)抗網(wǎng)絡(luò)的Var-ConSinGAN模型并構(gòu)建生成與特征遷移的框架,為基于圖像的煤巖識(shí)別方法奠定樣本基礎(chǔ)。其中特征遷移的目的是使某一類圖像的某種特征遷移到其他類別的圖像中,提高生成圖像多樣性。主要工作包含4點(diǎn),提出新的圖像尺寸變換函數(shù),增加生成煤巖圖像的多樣性;更改模型訓(xùn)練方式,通過改變不同尺度下的訓(xùn)練次數(shù),使得模型學(xué)習(xí)圖像特征的側(cè)重點(diǎn)向紋理細(xì)節(jié)方向傾斜;將單張圖像生成與大規(guī)模圖像生成結(jié)合,實(shí)現(xiàn)特征遷移;通過改變模型的訓(xùn)練過程,減少訓(xùn)練模型的時(shí)間,提升模型性能。
GAN[28](Generative Adversarial Network)是無監(jiān)督學(xué)習(xí)的一種方法,通過讓2個(gè)神經(jīng)網(wǎng)絡(luò)相互博弈的方式進(jìn)行學(xué)習(xí)。生成式對(duì)抗網(wǎng)絡(luò)由生成器和判別器構(gòu)成,其核心目標(biāo)是訓(xùn)練生成器。生成器的目的是生成與真實(shí)樣本盡可能相似的樣本,判別器的目的是盡可能區(qū)分出給定樣本是真實(shí)樣本還是生成的樣本。2者目的相反,在不斷博弈的過程中相互提高,最終在判別器判別能力足夠可靠的前提下仍無法區(qū)分給定樣本是真實(shí)樣本還是生成樣本,此時(shí)生成器能夠生成無法分辨真假的樣本。
圖1描述了GAN模型由2個(gè)神經(jīng)網(wǎng)絡(luò)模型組成,分別是生成器G和判別器D。GAN模型可以將任意的分布作為輸入,Z表示輸入的隨機(jī)噪聲,一般取Z~N(0,1)或[-1,1]的均勻分布作為輸入。生成器G的參數(shù)為θ,輸入Z在生成器下得到G(Z;θ),輸出可以被視為從分布中抽取的樣本G(Z;θ)~Pg,Pg為噪聲Z經(jīng)過生成器后的概率分布。
圖1 GAN模型結(jié)構(gòu)Fig.1 GAN model structure
GAN的損失函數(shù)(即目標(biāo)函數(shù))為
[lg(D(x))]+Ez~pz(Z){lg[1-D(G(Z))]}
(1)
其中,V(D,G)為生成器G和判別器D的運(yùn)算關(guān)系;x為真實(shí)數(shù)據(jù);pdata為真實(shí)數(shù)據(jù)概率密度分布;E為分別對(duì)[lg(D(x))]和[lg(1-G(Z))]求數(shù)學(xué)期望。由式(1)可以看出,從判別器D的角度看,判別器D盡可能區(qū)分真實(shí)樣本x和生成樣本G(Z),因此D(x)必須盡可能大而D(G(Z))則盡可能小,即V(D,G)整體的值盡可能大。從生成器G的角度看,生成器G的目標(biāo)是使自己生成的樣本G(Z)盡可能騙過判別器D,使D(G(Z))盡可能大,即V(D,G)的值盡可能小。GAN的2個(gè)模塊在訓(xùn)練中相互對(duì)抗,最終達(dá)到全局最優(yōu)。
在訓(xùn)練初期,雖然G(Z)和x在同一個(gè)特征空間中,但它們分布的差異很大,此時(shí)雖然鑒別真實(shí)樣本和生成樣本的模型D鑒別能力不強(qiáng),但它能夠準(zhǔn)確地把兩者區(qū)分開,而隨著訓(xùn)練的推進(jìn),生成樣本的分布逐漸與真實(shí)樣本重合,判別器D雖然在不斷更新,但是也不能完全判斷樣本的類別。當(dāng)生成樣本與真實(shí)樣本的分布基本重合時(shí),模型達(dá)到最優(yōu)狀態(tài),這時(shí)判別器D對(duì)于任意樣本的輸出都接近0.5。
為煤巖識(shí)別提供數(shù)據(jù)支撐,解決煤巖數(shù)據(jù)短缺問題,通過少量的煤巖圖像生成可以應(yīng)用于計(jì)算機(jī)視覺的煤巖圖像數(shù)據(jù)集。為了使生成的煤巖圖像更接近真實(shí)煤巖圖像,筆者利用Var-ConSinGAN和ACGAN[32](Conditional Image Synthesis With Auxiliary Classifier GANs)方法構(gòu)建了樣本生成與特征遷移框架。第1部分,用Var-ConSinGAN模型進(jìn)行訓(xùn)練,訓(xùn)練后的模型可以生成任意數(shù)量且和原始煤巖圖像類似的樣本,生成的樣本與原始圖像相比,保留了原始特征且具有一定多樣性。第2部分,使用ACGAN[32]對(duì)第1部分生成的大量煤巖圖像進(jìn)行特征遷移,得到多樣性更加豐富的煤巖圖像。
如圖2所示,上半部分的Var-ConSinGAN模型對(duì)應(yīng)第1部分的單張煤巖圖像生成,其中,Ladv為GAN使用的目標(biāo)函數(shù)。模型的輸入是一張符合正態(tài)分布的噪聲圖片,經(jīng)過網(wǎng)絡(luò)訓(xùn)練,生成器輸出滿足真實(shí)圖像分布的生成樣本。模型的生成器由上自下從第0階段開始訓(xùn)練,當(dāng)前階段生成器的規(guī)模和圖像的分辨率都很小。隨著訓(xùn)練階段的增加,生成器的規(guī)模和圖像的分辨率都會(huì)逐漸增加。所有生成器采用串聯(lián)的方式連接在一起,并將生成的圖像送入同一個(gè)判別器中。圖2中下半部分ACGAN對(duì)應(yīng)模型的第2部分,GACGAN和DACGAN分別是ACGAN中的生成器和判別器,由于所有的圖像都由一個(gè)生成器生成且生成器模型中的參數(shù)數(shù)量固定不變,因此不同類別之間往往會(huì)發(fā)生參數(shù)共用的情況,當(dāng)生成的一類樣本在生成過程中用到了其他類別的參數(shù)時(shí),也就學(xué)習(xí)到了其他類別的某些特征。其中第1部分的單張煤巖圖像生成是核心,這決定了數(shù)據(jù)從少到多的生成,在有了大量的數(shù)據(jù)基礎(chǔ)以后才能利用第2部分的模型做特征遷移的工作(2.6節(jié)中詳細(xì)描述特征遷移)。
圖2 煤巖圖像生成與特征遷移框架Fig.2 Framework for image generation and feature migration of coal and rock
Var-ConSinGAN模型的訓(xùn)練過程如圖2所示,Gn的輸入是隨機(jī)噪聲圖像Zn,和前一個(gè)生成器生成的圖像Xn向上采樣到當(dāng)前分辨率的圖像(除了純生成的最低級(jí)別)。圖像單尺度的生成是在每個(gè)尺度n上,將n-1尺度生成的圖像Xn-1上采樣,并添加輸入噪聲映射Zn,之后將結(jié)果送入生成器中。生成器的輸出是一個(gè)添加了殘差圖像Xn-1的圖像Xn,圖像Xn就是對(duì)應(yīng)尺度n的輸出圖像。圖2中藍(lán)色圖形表示模型的卷積層,黃色圖形表示經(jīng)過上采樣后的圖像和噪聲,他們之間通過一個(gè)殘差操作相連接。
Var-ConSinGAN模型的設(shè)計(jì)采用SinGAN[29]中使用的金字塔結(jié)構(gòu),具有多個(gè)階段(每個(gè)階段對(duì)應(yīng)不同的圖像尺度,即不同的圖像分辨率),由許多個(gè)GAN疊加在一起組成一個(gè)金字塔的形狀,其中訓(xùn)練和生成均以一種由粗到精(低分辨率到高分辨率)的方式完成。在每個(gè)尺度(分辨率)上,Gn學(xué)習(xí)生成圖像樣本,其中所有重疊的patch用判別器Dn進(jìn)行識(shí)別,直到判別器無法從下采樣訓(xùn)練圖像Xn中的patch識(shí)別出圖像的真假。patch指圖3中的黃色區(qū)域,在用卷積神經(jīng)網(wǎng)絡(luò)處理圖像時(shí),神經(jīng)網(wǎng)絡(luò)每次處理的圖像區(qū)域的大小等于卷積核的大小,這個(gè)卷積核處理的圖像區(qū)域就是patch,即感受野。
圖3 圖像patch變化Fig.3 Change map of image patch
如圖3所示,在分辨率最低的那一個(gè)尺度上,輸入的是原圖像經(jīng)過下采樣得到的最小的尺度,在圖像經(jīng)過固定的11×11的感受野時(shí),由于輸入的圖像是原圖縮小到很小的一個(gè)尺度,所以即便網(wǎng)絡(luò)的感受野很小,也能覆蓋掉輸入圖像的大部分區(qū)域。而在分辨率越來越大的尺度上,輸入的圖像變大,感受野不變,則patch能覆蓋的范圍會(huì)越來越小。當(dāng)訓(xùn)練進(jìn)程沿著金字塔向下移動(dòng)時(shí),有效的patch大小會(huì)減小(在原始圖像上用黃色標(biāo)記以作說明)。判別器不將圖像看做一個(gè)整體,而是由很多個(gè)小的patch組成,通過這種方法,它就可以判斷每一個(gè)patch的真假。因此,生成器就可以通過生成在整體來看不同,但僅從patch來看卻十分相似的圖像,來達(dá)到使判別器無法判斷是真實(shí)樣本還是生成樣本目的。在更高分辨率上訓(xùn)練的生成器,將前一個(gè)生成器生成的圖像作為輸入,在此基礎(chǔ)上生成比當(dāng)前分辨率還要高的圖像。
ConSinGAN[31]中的多尺度架構(gòu)是實(shí)現(xiàn)金字塔模型的一個(gè)有效方法。多尺度圖像樣本的生成經(jīng)歷了多個(gè)生成器,每個(gè)生成器Gn負(fù)責(zé)生成逼真的圖像樣本。這通過對(duì)抗性訓(xùn)練來實(shí)現(xiàn),在訓(xùn)練中,Gn生成的樣本送入與之相對(duì)應(yīng)的判別器Dn,該判別器Dn試圖將生成樣本中的patch與Xn中的patch區(qū)分開。
圖像樣本的生成從分辨率最低的尺度開始,依次通過所有生成器,直到分辨率最高的尺度,同時(shí)會(huì)在每個(gè)尺度中加入噪聲。所有的生成器和判別器都具有相同的感受野,因此在生成過程中可以捕捉到尺寸減小的結(jié)構(gòu)。在分辨率最低的尺度上,該生成是生成性的,即將空間高斯噪聲Z0映射到圖像樣本X0中。式(2)是生成器用噪聲Z0生成樣本X0的過程:
X0=G0(Z0)
(2)
在分辨率最低的尺度中,有效感受野通常能在圖像中占很大比例,因此可以生成圖像的結(jié)構(gòu)布局。每個(gè)生成器Gn都有更精細(xì)的尺度,增加了之前尺度沒有的細(xì)節(jié)。除了空間高斯噪聲Z0以外,每個(gè)生成器還會(huì)接受前一個(gè)生成器生成圖像的上采樣圖像:
Xn=Gn(Zn+(Xn-1)↑r)n (3) 式中,↑r為圖像Xn-1的上采樣圖像。 如圖4所示,所有的生成器都具有類似的結(jié)構(gòu)。具體來說,先將高斯噪聲Zn加入到圖像(Xn-1)↑r中,再將合成的圖像送入到生成器中。這種方式可以確保生成器不會(huì)忽略噪聲。卷積層的作用是生成(Xn-1)↑r中缺失的紋理細(xì)節(jié),如公式(4)所示,其中γn代表卷積操作,卷積操作由3個(gè)完全相同的卷積塊構(gòu)成,每一個(gè)卷積塊都是由卷積核為3×3的卷積層、歸一化層和激活函數(shù)層組成,這種結(jié)構(gòu)在生成煤巖圖像時(shí)可以通過長(zhǎng)寬比來生成任意大小的煤巖圖像。 圖4 生成器的殘差結(jié)構(gòu)Fig.4 Residual structure of generator Xn=(Xn-1)↑r+γn(Zn+(Xn-1)↑r) (4) 2.2節(jié)中提到,在訓(xùn)練前期模型主要學(xué)習(xí)圖像的整體結(jié)構(gòu)布局,在訓(xùn)練后期重點(diǎn)學(xué)習(xí)圖像的紋理細(xì)節(jié)。由于煤巖圖像的結(jié)構(gòu)具有很大的不確定性,在判斷煤巖類別的時(shí)候主要是從色澤和紋理等細(xì)節(jié)進(jìn)行區(qū)分,因此在生成煤巖圖像的時(shí)候把重點(diǎn)放在紋理和細(xì)節(jié)的生成上,對(duì)圖像的布局進(jìn)行粗略的學(xué)習(xí)。模型在訓(xùn)練的過程中需要用到圖像在不同分辨率下的多張重構(gòu)圖像,不同分辨率圖像的數(shù)量取決于訓(xùn)練時(shí)的階段數(shù)。要實(shí)現(xiàn)紋理細(xì)節(jié)的學(xué)習(xí)需要一定的n階高分辨率的學(xué)習(xí)(通常至少3個(gè)),而不需要太多低分辨率的學(xué)習(xí)。筆者設(shè)計(jì)了一個(gè)曲線函數(shù)用于尺寸調(diào)整,保持高分辨率階段的密度大于低分辨率階段的密度。曲線函數(shù)為 xn=1-xNr[(N-1)/lg(N)]lg(1+n)+1 (5) 式中,n的取值范圍是[0,N-1]。 例如,使用原始的圖像尺度調(diào)整方法,當(dāng)訓(xùn)練階段數(shù)為4時(shí),得到的分辨率為25×38,40×60,89×133,167×250。在保持其他參數(shù)不變的情況下,使用新曲線函數(shù)的圖像尺度調(diào)整方法得到的分辨率為56×83,100×150,117×176,167×250。除最大分辨率相同外,后者每一階段的分辨率都大于前者。 單張圖像生成的關(guān)鍵是多尺度、多階段的訓(xùn)練方式。在訓(xùn)練更新當(dāng)前階段生成器的同時(shí)訓(xùn)練其附近部分生成器,固定其他生成器的所有參數(shù),同時(shí)在訓(xùn)練過程中降低較低階段的學(xué)習(xí)率。較大的學(xué)習(xí)率會(huì)使模型的學(xué)習(xí)速度加快,較小的學(xué)習(xí)率能夠降低學(xué)習(xí)的速度,從而防止過擬合。 如圖5所示,首先保證同時(shí)訓(xùn)練的生成器數(shù)量不超過3個(gè),當(dāng)超過3個(gè)時(shí),選擇當(dāng)前階段和前兩階段的生成器進(jìn)行訓(xùn)練并更新參數(shù),固定其他所有生成器的參數(shù),其中,lr為深度學(xué)習(xí)中的學(xué)習(xí)率,是實(shí)驗(yàn)中人為設(shè)置的超參數(shù)。其次使用變化的學(xué)習(xí)率,默認(rèn)情況下最多允許同時(shí)訓(xùn)練3個(gè)生成器,并分別將較低階段生成器的學(xué)習(xí)率調(diào)至1/10和1/100。圖5中從上到下的4個(gè)框表示訓(xùn)練過程中的4個(gè)階段,從階段0開始到階段3結(jié)束,隨著訓(xùn)練階段的遞增生成器的個(gè)數(shù)逐漸增加。當(dāng)訓(xùn)練至第4階段時(shí),生成器G0的參數(shù)固定不變,更新生成器G1,G2,G3的參數(shù)并將其學(xué)習(xí)率設(shè)置為0.01lr,0.1lr,lr。 圖5 模型訓(xùn)練過程中生成器及其學(xué)習(xí)率的變化Fig.5 Change of generator and its learning rate in the process of model training 由于金字塔模型具有多尺度、多階段的結(jié)構(gòu)特性,在訓(xùn)練上需要消耗很長(zhǎng)時(shí)間。模型在完成單次訓(xùn)練任務(wù)時(shí),所需要的訓(xùn)練時(shí)間在可接受范圍之內(nèi),但是當(dāng)需要完成多次重復(fù)訓(xùn)練任務(wù)時(shí),需要消耗的時(shí)間將成倍增長(zhǎng)。同時(shí)在煤巖圖像生成中煤巖圖像細(xì)節(jié)紋理特征比其結(jié)構(gòu)特征更為重要。因此Var-ConSinGAN提出了在訓(xùn)練過程中改變每一輪訓(xùn)練需要的迭代次數(shù),不僅縮短了模型訓(xùn)練的時(shí)間,還符合模型重點(diǎn)學(xué)習(xí)煤巖細(xì)節(jié)特征的思想。SinGAN[29]訓(xùn)練模型時(shí)需要訓(xùn)練每一階段的生成器,之后ConSinGAN[31]提出了固定一部分生成器只訓(xùn)練特定數(shù)量生成器的方式,Var-ConSinGAN在此基礎(chǔ)上更改了每一輪訓(xùn)練的迭代次數(shù)。 (6) 式(6)為一個(gè)分段函數(shù),該分段函數(shù)用于計(jì)算每一輪需要的迭代次數(shù)。其中iter為每一階段生成器的當(dāng)前迭代次數(shù);niter為自定義的迭代次數(shù);β為達(dá)到訓(xùn)練峰值的速率;max為最大訓(xùn)練階段數(shù),當(dāng)訓(xùn)練階段達(dá)到最大值時(shí),訓(xùn)練的迭代次數(shù)保持不變;depth為當(dāng)前訓(xùn)練階段,隨著訓(xùn)練階段的變化而變化。具有初始值的超參數(shù)都可以根據(jù)具體訓(xùn)練情況改變。 個(gè)別階段生成器的迭代次數(shù)有增加,但是通過減少大部分生成器的迭代次數(shù),使模型整體的迭代次數(shù)有明顯下降,減少了訓(xùn)練所需時(shí)間,提高了模型的性能。 在實(shí)際開采中有各種各樣的煤巖,由于開采的方式和進(jìn)度不同,得到的煤巖圖像千差萬別,利用特征遷移處理不同類別之間的圖像可以得到新樣本。特征遷移是當(dāng)b類圖像不具有a類圖像的某種特征時(shí),通過模型將a類圖像的某種特征遷移到b類圖像中,使生成的新圖像同時(shí)具有a類和b類圖像的部分特征。Var-ConSinGAN模型利用一張煤巖圖像進(jìn)行生成,生成的結(jié)果在與原始圖片類似的基礎(chǔ)上通過改變其部分結(jié)構(gòu)和紋理特征從而生成新的煤巖圖像。因此,通過框架中的ACGAN[32]對(duì)Var-ConSinGAN模型生成的煤巖圖像進(jìn)行特征遷移具有重要意義。 生成器和判別器的模型由卷積神經(jīng)網(wǎng)絡(luò)組成,因此網(wǎng)絡(luò)的規(guī)模和參數(shù)數(shù)量固定不變。模型中的所有參數(shù)共同決定生成圖像的樣子,因此不同類別之間在生成圖像時(shí)會(huì)使用一部分相同的參數(shù),這使得不同類別之間可以學(xué)習(xí)到自身不具備的特征。 利用Var-ConSinGAN模型訓(xùn)練一次后,就把這次生成的圖像看作是一個(gè)類別,然后對(duì)這些不同類別的圖像進(jìn)行特征遷移。由于類別劃分清晰,所以該部分采用ACGAN[32]的結(jié)構(gòu),如圖6所示。圖6中C,Z,Xreal,Xfake分別為輸入圖像的類別、用于生成圖像的噪聲、真實(shí)圖像數(shù)據(jù)和生成器生成的假圖像;真表示原圖,假表示生成器生成的圖。圖7中的判別器除了判斷真假外還會(huì)輸出輸入圖像的類別C。 圖6 ACGAN模型結(jié)構(gòu)Fig.6 ACGAN model structure 按順序訓(xùn)練多尺度架構(gòu),從最低分辨率尺度到最高分辨率尺度。當(dāng)同時(shí)訓(xùn)練3個(gè)以上生成器時(shí),只更新當(dāng)前最近的3個(gè)生成器的參數(shù),固定其他生成器。在第n階段,GAN的損失函數(shù)包含對(duì)抗損失和重建損失。GAN的損失函數(shù)為 (7) 其中,ladv為對(duì)抗損失;lrec為重建損失;α為人為設(shè)置的權(quán)重。對(duì)抗損失指在生成的樣本中,生成圖像中的patch和真實(shí)圖像中的patch分布之間的距離。重建損失可以確定一組能夠生成圖像的噪音。 對(duì)抗損失。模型中使用了WGAN-GP[33,37]損失,是一種截?cái)嘈藜舻牟呗?,即懲罰判別器相對(duì)于其輸入(由隨機(jī)噪聲Z生成的圖片,即fake image)曲線的常量,這種損失能使模型的訓(xùn)練變得更加穩(wěn)定,并且取得更高質(zhì)量的生成效果。 重建損失。對(duì)于輸入的噪聲來說,希望它能夠更好的生成原圖像。構(gòu)建一個(gè)噪聲向量{Zrec0,Zrec1,…,ZrecN-1,ZrecN}={Z*,0,…,0},Z0,Z1等為Z噪聲向量,下標(biāo)0,1等為不同階段噪聲向量,下標(biāo)rec表示該噪聲向量在lrec損失中用到;Z*為固定的噪聲向量,在一次訓(xùn)練中保持不變。式(8)為重建損失函數(shù),重建損失也可以在每一階段都使用n=0時(shí)的公式進(jìn)行計(jì)算。 (8) 判別器的訓(xùn)練方式保持不變,即它的輸入是生成器生成的圖像或真實(shí)的圖像,訓(xùn)練時(shí)的目標(biāo)是使ladv最大化。在訓(xùn)練初始階段,首先要對(duì)輸入圖像進(jìn)行縮放,使圖像的長(zhǎng)邊在第n階段時(shí)具有250像素的分辨率。模型中生成器的每一級(jí)由3個(gè)卷積層組成,每層有64個(gè)濾波器,濾波器大小為3×3。判別器也使用和生成器相同的結(jié)構(gòu),即3個(gè)卷積層,64個(gè)濾波器,濾波器的大小為3×3。在訓(xùn)練中,始終訓(xùn)練模型的最后3個(gè)階段。每個(gè)階段訓(xùn)練的迭代次數(shù)由2.5節(jié)中的公式計(jì)算得出,初始學(xué)習(xí)率為0.000 5,在每個(gè)訓(xùn)練階段迭代1 600次后學(xué)習(xí)率降低10倍,迭代次數(shù)達(dá)不到1 600次的不發(fā)生變化,模型使用ADAM優(yōu)化器優(yōu)化網(wǎng)絡(luò)。模型中使用的激活函數(shù)是ReLU,激活函數(shù)的參數(shù)設(shè)置為0.05。 實(shí)驗(yàn)重點(diǎn)在單張煤巖圖像生成上,在實(shí)驗(yàn)中檢驗(yàn)了模型的有效性,同時(shí)與過去的模型在生成結(jié)果和性能上做了對(duì)比,結(jié)果表明該文Var-ConSinGAN模型能夠在煤巖圖像生成領(lǐng)域中取得較好的效果。實(shí)驗(yàn)時(shí)使用的數(shù)據(jù)由相機(jī)拍攝的500張煤巖圖像組成。模型訓(xùn)練的硬件環(huán)境包括CentOS Linux release 7.5.1804(Core),Intel(R)Core(TM) i9-9900K CPU @ 3.60 GHz,NVIDIA GeForce GTX 2080Ti;軟件環(huán)境包括Python 3.5,Pytorch 1.1.0和CUDA 10.2等。 在圖像生成任務(wù)中,煤巖圖像從隨機(jī)采樣的高斯噪音中生成。因?yàn)槟P偷慕Y(jié)構(gòu)由全卷積構(gòu)成,所以可以通過改變?cè)肼曄蛄康拇笮?,以達(dá)到用訓(xùn)練好的模型進(jìn)行生成煤巖圖像任務(wù)的目的。如圖7所示,利用Var-ConSinGAN模型生成效果較好的煤巖圖像,該生成圖像具有不同尺寸大小,并且在接近真實(shí)煤巖圖像的基礎(chǔ)上提高了其多樣性。在訓(xùn)練的煤巖圖像的布局結(jié)構(gòu)性較弱但細(xì)節(jié)紋理較強(qiáng)的情況下,模型能夠達(dá)到最佳效果;在結(jié)構(gòu)性較強(qiáng)而細(xì)節(jié)紋理較弱的煤巖圖像生成時(shí),會(huì)對(duì)模型的生成效果產(chǎn)生一定的影響。本次實(shí)驗(yàn)用到的部分重要參數(shù)設(shè)置分別為train_stages=4,lr_scale=0.1,nfc=64,ker_size=3,num_layer=3,padd_size=0,max_size=250,train_depth=3,niter=2 000,lr_g=0.000 5,lr_d=0.000 5。 圖7中第1列是該實(shí)驗(yàn)使用的6張?jiān)济簬r圖像數(shù)據(jù),第3列是模型訓(xùn)練過程中的重構(gòu)圖像,其余的圖像是經(jīng)過單張圖像生成的不同尺寸的圖像。從圖7的結(jié)果可以看出,模型生成的圖像并不是簡(jiǎn)單的由原圖像拉伸得到,而是利用模型學(xué)習(xí)到的煤巖圖像特征擴(kuò)展而成。卷積神經(jīng)網(wǎng)絡(luò)中的卷積操作是將圖像中的特征提取出來并以參數(shù)的形式儲(chǔ)存下來,而在圖像生成時(shí)使用卷積神經(jīng)網(wǎng)絡(luò)對(duì)圖像進(jìn)行下采樣,由生成圖像的方式?jīng)Q定,可以生成任意長(zhǎng)寬比的煤巖圖像。圖7中除第4行的圖像外,其他5行圖像結(jié)構(gòu)布局特征并不明顯,所以模型生成的圖像與原始圖像極為相似,細(xì)節(jié)紋理也十分逼真,第4行的圖像因?yàn)槠浼y理有橫向分布的空間特征,所以效果沒有其他圖像的效果好。 實(shí)驗(yàn)中使用SSIM指數(shù)評(píng)估了生成圖像的每一組結(jié)果。首先,把原圖縮放重建到與生成圖像相同分辨率的尺寸上,之后用每一張生成的圖像計(jì)算其與原圖像的SSIM指數(shù),再對(duì)每一類圖像的SSIM指數(shù)求均值得到該類圖像(根據(jù)原始圖像生成的圖像)的SSIM指數(shù),見表1,列舉了結(jié)果中92個(gè)SSIM指標(biāo)值。由SSIM測(cè)量系統(tǒng)可得相似度的測(cè)量可由3種對(duì)比模塊組成,分別為:亮度、對(duì)比度、結(jié)構(gòu)。SSIM值越大表明生成的圖像和原始圖像越相似,實(shí)驗(yàn)結(jié)果顯示不同種類之間的值差距較大,主要是因?yàn)槭褂玫拿簬r圖像數(shù)據(jù)分為結(jié)構(gòu)性和紋理性2種。結(jié)構(gòu)性指煤巖圖像具有明顯的塊狀分布,紋理性指煤巖的表面較為平整。 表1 各類生成圖像的SSIM指數(shù)Table 1 SSIM index of various generated images 通過實(shí)驗(yàn)結(jié)果可以得出,當(dāng)原圖像結(jié)構(gòu)性強(qiáng)時(shí),生成的圖像SSIM指數(shù)由于其結(jié)構(gòu)發(fā)生了多樣性變化,所以其SSIM指數(shù)較低;相反,當(dāng)原圖像結(jié)構(gòu)性較弱而紋理較強(qiáng)時(shí),生成的圖像SSIM指數(shù)較高。為了保證生成高質(zhì)量圖像的同時(shí)提高其多樣性,必須保證SSIM指數(shù)既不能太高也不能太低。 對(duì)比試驗(yàn)分別是ConSinGAN[31]、更換圖像尺寸調(diào)整后的模型及使用迭代次數(shù)分段函數(shù)的模型。在實(shí)驗(yàn)中訓(xùn)練時(shí)采用的迭代輪數(shù)是6輪,每一輪迭代次數(shù)初始值是3 000次,訓(xùn)練時(shí)圖像的最長(zhǎng)邊尺寸是250像素。主要從生成圖像的多樣性、生成圖像的質(zhì)量及相同輪數(shù)下不同方法的生成效果等3方面進(jìn)行對(duì)比。在訓(xùn)練中是從n=0時(shí)開始訓(xùn)練,即當(dāng)訓(xùn)練輪數(shù)n=2時(shí),實(shí)際上已經(jīng)訓(xùn)練了3輪,即n=1,2,3。 如圖8所示,該結(jié)果是ConSinGAN[31]模型生成的效果圖。從圖8可以看出,當(dāng)訓(xùn)練輪數(shù)n=2時(shí),生成的圖像已有基本輪廓,紋理也比較清晰。對(duì)比第2輪的4張生成樣本,可以發(fā)現(xiàn)樣本之間存在部分差異性,當(dāng)在第3輪之后,生成的煤巖圖像之間的差異性基本消失,但是圖像的質(zhì)量有所提高,清晰度比之前訓(xùn)練輪數(shù)較少時(shí)要高。由此得出結(jié)論,隨著訓(xùn)練輪數(shù)的增加,生成圖像的多樣性會(huì)降低,而生成圖像的質(zhì)量會(huì)得到一定提高。另外,生成圖像的多樣性體現(xiàn)在了圖像的中間區(qū)域,而圖像的上下左右4塊邊緣區(qū)域的變化很少,多張圖像一起看時(shí)就像給圖像加了“邊框”。 圖8 ConSinGAN生成的不同階段數(shù)下的圖像Fig.8 Images generated by ConSinGAN under different stages 如圖9所示,該結(jié)果在模型的訓(xùn)練過程中使用了曲線函數(shù)。從圖中可以看出,當(dāng)訓(xùn)練輪數(shù)n=2時(shí),生成的圖像“邊框”感明顯,并且紋理細(xì)節(jié)與原始圖像差距較大,造成這種情況的原因是模型在訓(xùn)練過程中使用了曲線函數(shù)。模型為了增加生成圖像的多樣性而減少了前幾輪中每一輪的迭代次數(shù),導(dǎo)致模型總體的訓(xùn)練次數(shù)降低,從而無法學(xué)習(xí)到更多的細(xì)節(jié)。在之后的迭代輪數(shù)中,第3輪的多樣性最高,同時(shí)圖像的質(zhì)量和原圖像尺寸變換之后的質(zhì)量相同。與ConSinGAN模型生成的煤巖樣本相比,該方法改善了生成樣本中存在明顯“邊框”感的問題。 圖9 迭代次數(shù)動(dòng)態(tài)變化時(shí)模型生成的不同階段數(shù)下的圖像Fig.9 Images generated by the model under different stages when the number of iterations changes dynamically 如圖10所示,該結(jié)果是在模型中改變圖像尺寸變換方法后生成的圖像。從圖10可以看出,在第2輪時(shí)模型只學(xué)習(xí)到了紋理細(xì)節(jié)特征,而圖像的整體布局基本沒有學(xué)習(xí)到,所以生成的圖像看起來只有紋理,可辨識(shí)度不高。這種情況在之后的訓(xùn)練輪數(shù)中得到了解決,生成的圖像具有很好的多樣性。原模型在第6輪訓(xùn)練后,模型接近過擬合,生成的圖像除細(xì)小變換外基本沒有不同。但在使用了新的圖像尺寸變換方法后,不僅增加了生成圖像的多樣性,還解決了圖像邊緣多樣性不足的問題。 圖10 更改圖像尺寸變換方式后模型生成的不同階段 數(shù)下的圖像Fig.10 Images under different stages generated by the model after changing the image size transformation mode 經(jīng)過實(shí)驗(yàn)對(duì)比,可以得出有效的結(jié)論。針對(duì)原有方法生成的煤巖圖像多樣性不足且“邊框”感明顯的問題,本文提出的2種方法具有明顯的效果。每一種方法都會(huì)使結(jié)果得到改善,最后,該文將2種方法同時(shí)使用,使改模型能夠很好地完成煤巖圖像生成任務(wù)。 實(shí)驗(yàn)的數(shù)據(jù)、超參數(shù)和實(shí)驗(yàn)環(huán)境完全相同,在訓(xùn)練輪數(shù)為3和5時(shí)分別訓(xùn)練2個(gè)模型,得到的結(jié)果見表2。由表2可知,當(dāng)訓(xùn)練論數(shù)等于3時(shí)兩者相差約182 s,得益于訓(xùn)練方法的改變,模型性能有了較大的提升。但是當(dāng)訓(xùn)練輪數(shù)等于5時(shí),兩者的時(shí)間差較小。雖然兩者的總迭代次數(shù)都與訓(xùn)練輪數(shù)等于3時(shí)完全相同,但是訓(xùn)練所需時(shí)間卻隨著訓(xùn)練輪數(shù)的增加而變得接近。造成這種情況的原因是卷積運(yùn)算增加了耗時(shí),雖然通過改變訓(xùn)練方式使模型的總迭代次數(shù)減少,但是由于每一輪中前者比后者訓(xùn)練的尺度要大,卷積運(yùn)算所需要的時(shí)間更長(zhǎng),所以總耗時(shí)增加。雖然隨著訓(xùn)練輪數(shù)的增加,總耗時(shí)會(huì)逐漸接近原模型的訓(xùn)練時(shí)間,但在訓(xùn)練到第3輪時(shí)就能得到煤巖生成需要的結(jié)果。 表2 ConSinGAN和改進(jìn)后模型的訓(xùn)練時(shí)間對(duì)比Table 2 Training time comparison between ConSinGAN and improved model 當(dāng)模型Var-ConSinGAN訓(xùn)練完成時(shí),將模型最后一次迭代的參數(shù)保存下來。接下來根據(jù)訓(xùn)練好的模型生成需要的煤巖圖像,其中每一張訓(xùn)練圖像對(duì)應(yīng)一個(gè)模型參數(shù),每次訓(xùn)練只能得到一張圖像對(duì)應(yīng)的模型參數(shù)。然后將這里得到的模型參數(shù)加載到網(wǎng)絡(luò)中,此任務(wù)和訓(xùn)練時(shí)有部分不同,訓(xùn)練的時(shí)候需要將生成的結(jié)果輸入到判別器當(dāng)中,將得到的判別器的結(jié)果作為反饋去反向更新生成器的參數(shù),然而在訓(xùn)練之后的生成任務(wù)中,由于生成器已經(jīng)完全固定,所以不需要將結(jié)果輸入到判別器中,同時(shí)生成器的參數(shù)也不需要更新,在加載模型之后,需要將模型模式設(shè)置為評(píng)估模式。 通過訓(xùn)練得到14個(gè)煤巖圖像的模型參數(shù)。一個(gè)模型需要生成1 200張煤巖圖像,其中分別生成相對(duì)于原圖像的長(zhǎng)寬比為1∶1,2∶1和1∶2各400張。特征遷移使用ACGAN[32],其生成器模型由5個(gè)卷積塊構(gòu)成,其中4個(gè)卷積塊的結(jié)構(gòu)相同,每個(gè)卷積塊都是由一個(gè)卷積層、一個(gè)歸一化層和一個(gè)激活函數(shù)層構(gòu)成,最后一個(gè)卷積塊去掉了歸一化層并且把激活函數(shù)由ReLU換成Tanh。這些卷積塊按順序組合而成,并在模型的開頭添加了一個(gè)全連接的線性層用來將噪聲向量進(jìn)行擴(kuò)展。判別器模型也是由6個(gè)卷積塊構(gòu)成,每個(gè)卷積塊的結(jié)構(gòu)都一樣,由一個(gè)卷積層,一個(gè)歸一化層、一個(gè)激活函數(shù)層和一個(gè)Dropout層組成。 本實(shí)驗(yàn)使用生成的14類煤巖圖像,每類1 200張共16 800張圖像,達(dá)到了深度學(xué)習(xí)對(duì)數(shù)據(jù)量的要求。實(shí)驗(yàn)的模型參數(shù)設(shè)置是|nz|=110,lr=0.000 2,num_classes=14。參數(shù)中的num_classes表示訓(xùn)練的類別,可以根據(jù)具體實(shí)驗(yàn)更改;nz是噪音向量,如果需要更改噪音向量的大小,也需要修改模型對(duì)應(yīng)的參數(shù);生成器和判別器都采用Adam優(yōu)化器。模型的生成器由一個(gè)全連接層和5個(gè)卷積層構(gòu)成,每個(gè)卷積層后添加一個(gè)歸一化層和ReLU激活函數(shù)層。判別器由6個(gè)卷積層構(gòu)成,每個(gè)卷積層后添加歸一化層、LeakyReLU激活函數(shù)層和Dropout層,最后添加2個(gè)全連接層用于分類和判斷樣本的真假。 如圖11所示,左圖為生成器生成的煤巖圖像,右圖為經(jīng)過縮放變換后的真實(shí)煤巖圖像。由于ACGAN模型的結(jié)構(gòu)設(shè)計(jì)較為簡(jiǎn)單且煤巖圖像整體較黑,導(dǎo)致生成的圖像非常模糊。從生成的結(jié)果可以看出用GAN[32,35-36,38]來做圖像生成的同時(shí)使用特征遷移是有一定效果的。右圖中的真實(shí)圖像在左圖的生成圖像中無法找到與其完全一樣的圖像,并且生成的圖像具有真實(shí)圖像所沒有的特征,實(shí)現(xiàn)了不同類別之間的特征遷移。 如圖12所示,實(shí)驗(yàn)中使用的煤巖圖像具有明顯的燈光反光點(diǎn),這種白色反光點(diǎn)在煤巖圖像的生成過程中會(huì)被模型認(rèn)為是煤巖的特征,在利用Var-ConSinGAN模型生成煤巖圖像時(shí)也會(huì)生成大量白色反光點(diǎn),對(duì)生成效果產(chǎn)生較大影響;同時(shí),該模型在生成時(shí)無法兼顧結(jié)構(gòu)特征明顯的煤巖圖像。以上兩點(diǎn)是本文未來工作中需要改進(jìn)的一個(gè)重要方面。 圖12 具有燈光反光點(diǎn)的煤巖圖像Fig.12 Coal and rock image with light reflection points (1)Var-ConSinGAN模型不僅可以緩解現(xiàn)有模型生成的煤巖圖像具有明顯“邊框”感的問題,還對(duì)圖像的紋理特征、結(jié)構(gòu)布局進(jìn)行隨機(jī)生成,同時(shí)縮短模型訓(xùn)練需要的時(shí)間,提升模型性能。 (2)使用相機(jī)拍攝的500張煤巖圖像進(jìn)行仿真實(shí)驗(yàn),結(jié)果表明,相比于其他圖像生成的方法,Var-ConSinGAN模型可以在極少的數(shù)據(jù)上進(jìn)行訓(xùn)練(其他用于圖像生成的GAN模型必須有大量的圖像數(shù)據(jù))。 (3)模型有效提高了生成圖像的質(zhì)量與多樣性,證明了Var-ConSinGAN模型在煤巖圖像生成領(lǐng)域中的可行性。 針對(duì)當(dāng)前缺少煤巖圖像數(shù)據(jù)的問題,下一步將利用生成式對(duì)抗網(wǎng)絡(luò)構(gòu)建煤巖圖像數(shù)據(jù)集,在網(wǎng)絡(luò)模型中引入注意力機(jī)制等方法,以消除煤巖圖像數(shù)據(jù)本身(如帶白色反光點(diǎn)和無法兼顧結(jié)構(gòu)特征明顯的圖像)存在的不足對(duì)生成結(jié)果的影響。在使用AlexNet,VGG,GoogLeNet,ResNet,Inception等模型進(jìn)行煤巖識(shí)別任務(wù)的同時(shí),驗(yàn)證構(gòu)造的煤巖圖像數(shù)據(jù)集的可用性。采煤時(shí)采煤滾筒通過人為控制高度從而避開頂板和底板,會(huì)造成安全隱患。針對(duì)采煤時(shí)采煤滾筒需實(shí)現(xiàn)自動(dòng)調(diào)節(jié)高度這一問題,接下來將采用圖像語義分割這一技術(shù),實(shí)現(xiàn)采煤機(jī)切割時(shí)的自動(dòng)化。2.3 圖像尺寸調(diào)整
2.4 多階段訓(xùn)練方式
2.5 動(dòng)態(tài)變化的迭代次數(shù)
2.6 特征遷移
3 訓(xùn)練過程和損失函數(shù)
4 實(shí)驗(yàn)結(jié)果及分析
4.1 無條件煤巖圖像生成
4.2 對(duì)比實(shí)驗(yàn)
4.3 模型性能
4.4 特征遷移
5 結(jié)論與展望
5.1 結(jié) 論
5.2 展 望