朱聯祥,仝文東,牛文煜,邵浩杰
(西安石油大學 計算機學院,陜西 西安 710065)
巖石是具有穩定外形的固態集合體。通過研究其特性可對該地區油氣藏分布情況進行評估預測。巖石顯微圖像在巖性識別、儲集層評價等方面起著直觀可視的重要作用。不僅能滿足觀察烴類與巖石的需要,而且能清晰地顯示出儲集層空間的微觀結構特點及烴類物質在儲集層中的存在方式,揭示巖石中油氣分布與巖石結構、構造、次生縫洞之間的關系,為準確識別油氣層提供了可靠依據[1]。巖石薄片顯微圖像超分辨處理可獲得更加清晰的巖石圖像,從而更有利于相關研究工作的展開。
圖像超分辨率重建[2]是將低分辨率圖像通過軟件處理,從而生成具有較高分辨率圖像的技術。目前圖像超分辨率重建主要分為傳統方法和基于深度學習的方法兩大類別。傳統方法主要包括基于插值、基于重建和基于學習三種[3],相對來講操作簡單,但重建的圖像通常也比較模糊。基于深度學習的方法將圖像輸入到復雜的神經網絡中,通過獲取低分辨率圖像與高分辨率圖像間的復雜映射關系來實現圖像重建,雖然訓練周期往往較長,但因具有更好的重建效果而得到更為廣泛的重視[4]。
2016年,Dong Chao等人提出SRCNN[5]結構,將深度學習引入到單張圖像的超分辨率重建領域,為圖像超分辨率重建技術的研究開辟了一條嶄新路徑[6]。2017年,Leding等人首次將GAN應用于圖像超分辨率重建,提出了SRGAN[7]算法。該網絡由生成器和判別器構成,其原理是使生成器生成的圖像盡可能騙過判別器,而判別器則盡可能區分出生成器生成的圖像與真實的高分辨率圖像。通過生成器與判別器的競爭博弈,在很大程度上克服了卷積模型恢復圖像質量差的缺點。
SRGAN之后陸續出現了一系列基于生成對抗網絡的超分辨算法。Wang等人研究了類條件圖像的超分辨率重建,在2018年提出了SFT-GAN,解決了圖像紋理信息恢復不好的問題。但因超分辨率等底層視覺任務往往需要考慮更多的圖像空間信息,并在不同的位置進行不同的處理,Wang Xintao等人通過對SRGAN的進一步改進,提出了ESRGAN[8]。該網絡從三個方面對SRGAN進行了改進:生成網絡殘差模塊改進、判別器網絡替換、損失函數優化,從而使得其超分辨重建的效果更加自然,使用PSNR和SSIM等指標的評價更好。
使用逐層抽象的方式來提取目標的特征時,高層網絡的感受野較大,語義信息的表征能力更強。但相對地,其特征圖的分辨率卻較低,幾何信息的表征能力偏弱。低層網絡則與之相反:感受野較小,幾何細節信息表征能力強,雖分辨率較高但語義信息表征能力偏弱。多尺度特征融合[9]的思想便是,在對每層網絡進行卷積操作之前,將其上一層的特征圖與該層特征圖相加,從而部分保留上一層的信息,減少信息的丟失。
該文以ESRGAN為基礎,通過多尺度特征融合的思想,對從卷積神經網絡不同層獲得的不同尺度的特征進行融合,并對所得的網絡結構進行優化調整,達到了重建圖像在細節性能上的提升。使用該方法對巖石顯微圖像進行超分辨率處理,并采用峰值信噪比(PSNR)、結構相似性(SSIM)和感知系數(PI)等指標對該方法的超分辨性能進行了評價。
生成對抗網絡[10]是Ian J. Goodfellow等人提出的一個通過對抗過程估計生成模型的新框架。該模型由生成網絡G和判別網絡D構成。生成網絡不斷學習訓練集中的數據概率分布,目標是通過輸入隨機噪聲生成可以以假亂真的圖像。判別網絡則用于區分一個圖像是否為真實的圖像,目標是將生成網絡產生的圖像與訓練集中的圖像成功區分[11]。
在訓練過程中,二者的對抗形式如式(1)所示:

Ez~Pz(z)[log(1-D(G(z)))]
(1)
對于來自真實概率分布Pdata的x,生成對抗網絡希望其判別網絡的輸出D(x)盡可能接近于1,即logD(x)越大越好。而在生成網絡中,對于通過噪聲z生成的數據G(z),則需要使判別網絡D盡可能地區分出真假數據,因此D(G(z))應盡量接近于0[12]。
ESRGAN是在SRGAN基礎上進一步改進得到的增強超分辨生成對抗網絡。該模型通過移除SRGAN生成網絡中的BN[13]層來緩解重建圖像的偽影,具體如圖1所示。圖中,左側為SRGAN的殘差塊結構,右側則為去除BN層之后的ESRGAN殘差塊結構。
去除BN層的殘差塊用密集連接[14]的方式組成密集塊(DenseBlock),其中含有5個3*3的卷積層。將3個密集塊的輸出經過β倍的殘差縮放后輸入主殘差網絡,以此構成密集殘差塊RRDB。如圖2所示,該結構具有更深更復雜的網絡結構,更容易訓練。

圖2 RRDB結構
在判別網絡中則使用了可估計真實圖像相對于生成的虛假圖像逼真程度的相對平均判別器,用概率值作為其度量,從而可保證生成數據樣本的穩定與高質量。
ESRGAN的完整網絡模型如圖3所示,LR圖像經過3*3的卷積提取低層特征后,輸入到23個RRDB塊中由低到高逐層提取特征,最后通過逐級上采樣獲得4x高分辨率圖像。

圖3 ESRGAN網絡模型
卷積神經網絡層數加深的過程,是從低層到高層提取語義特征的過程。對于巖石顯微圖像的特征提取,低層網絡提取的只是一些輪廓特征。隨著網絡層數的深入,提取到的特征可能會包含孔隙、顆粒等更高的語義特征[15]。而當網絡到達最深層時,則可提取到整張巖石顯微圖像的特征。
對于原有的ESRGAN模型,隨著網絡層數的加深,每一層都會有一些信息丟失。結果便是,等到了最后一層時,會有太多的信息已經丟失。為解決這一問題,該文考慮引入特征融合的思想,即是從第二層開始,在對每層網絡進行卷積操作之前,將上一層的特征圖與該層的特征圖相加,從而部分保留上一層的信息,減少信息的丟失。
而使用基于多分支卷積的多尺度融合策略,則可以提取到不同尺度的特征并將其融合,從而有效提升網絡的特征提取能力。由于ESRGAN本身不具備多尺度的特征提取能力,因而造成了重建圖像的細節模糊問題[16]。如果能將多尺度的特征提取與融合引入到ESRGAN的RRDB塊,則可使網絡能夠提取到不同尺度的特征信息并進行殘差計算,進而提升其對圖像高頻信息的重建性能。
圖4為具有多尺度特征融合的卷積結構,由三個并行分支組成。首先對來自上一層輸出的特征圖分別進行1*1、3*3和5*5的卷積核處理及隨后的3*3空洞卷積,膨脹率分別為1、3和5,從而可獲得具有不同感受野的多個分支,分別代表不同尺度的特征[17]。繼而將所有不同尺度的特征圖通過相加運算連接起來,經過1*1的卷積核壓縮后,與來自上一層的特征圖相加,作為本層的輸出。

圖4 多尺度特征融合模型
基于以上分析,提出的生成器網絡結構如圖5所示。其中,LR為輸入到生成網絡的低分辨率巖石顯微圖像,經過1個3*3*64的卷積核對其進行特征提取之后輸入到新的RRDB。該文使用4個相同的多分支卷積模塊替換原網絡的卷積層+LReLU結構,以此構成新的密集塊(New-DB),再由3個密集塊構成新的RRDB塊。因多分支卷積模塊中具有1*1、3*3、5*5三種不同大小的卷積核,故可提取不同尺度的特征,再經過一個1*1的卷積核可對三種不同尺度的特征進行壓縮融合。經過23個New-RRDB結構進行殘差計算后,進入上采樣部分對圖像進行放大。

圖5 生成網絡結構
網絡所采用的相對平均判別器DRa原理如式(2)所示:
(2)
其中,xr是真實圖像,即訓練集;xf為生成圖像,C(x)為別器激活前的輸出;σ為sigmoid函數,用于激活判別器;E(x)為一個小批次的真實圖像或生成圖像取平均值。

(3)
感知損失是Johnson等人在SRGAN中提出的損失項,其通常定義在預先訓練好的(VGG)深層網絡的激活層上。受此啟發,ESRGAN提出了一種更為有效的感知損失Lpercep方法,即利用激活層之前的特征來計算感知損失,從而使重建圖像在細節上有更好的視覺效果[18]。


Exf[log(DRa(xf,xr))]
(4)
其中,DRa判別網絡的輸出,是一個概率值,Ex表示一個小批次的真實圖片或假圖片取平均。
內容損失項L1計算公式如式(5)所示,反映了生成網絡的輸出G(x)數據集中的高分辨率圖像y的1范數距離。
L1=‖G(xi)-y‖1
(5)
文中方法在Tesla P100-PCIE 11 GB的GPU上進行實驗,使用了基于Python語言的PyTorch深度學習框架,實驗所用到的軟硬件環境如表1所示。訓練過程中,批訓練樣本數設置為16,訓練圖像切塊大小為200*200,初始學習率為0.000 1,且每迭代5 000次學習率減半,總迭代次數為500 000。

表1 實驗環境
實驗所使用的數據集是新南威爾士大學的巖石顯微圖像數據集DRSRD1_2D[19],該數據集由碳酸巖(carbonate)和砂巖(sandstone)組成,每類包含1 000張3.1μm×3.1μm圖像,并將其劃分為訓練集(800張)、驗證集(100張)和測試集(100張)三部分,同時還提供了800*800的高分辨率圖像,以及對應的兩倍和四倍縮小的低分辨圖像。
該文主要進行放大倍數為4的超分辨研究,在實驗前使用了隨機裁剪的方法來增加數據并增加模型穩定性,對高分辨率圖像和四倍縮小的低分辨圖像分別進行隨機裁剪,獲得480*480和120*120的子圖像。
圖像質量評價是圖像處理的重要內容。該文使用以客觀質量評價為主的評價指標對實驗結果進行評價,如峰值信噪比(PSNR)、結構相似性(SSIM)和感知系數(PI)等。
(1)峰值信噪比(Peak Signal to Noise Ratio,PSNR)。
PSNR是最普遍、最廣泛使用的評價圖像質量的客觀指標[20],不過許多實驗結果都顯示,有可能PSNR較高的圖像看起來反而比PSNR較低的圖像差。這是因為主觀評價的方法受很多因素影響,不能準確地判斷出差異。PSNR計算公式如式(6)所示:
(6)
式中,MSE表示均方誤差,(2n-1)2是信號最大值的平方,n是每個采樣值的比特數。其以分貝為單位,一般在20 dB~40 dB間,PSNR越大表示圖像失真越小,圖像質量越好。
(2)結構相似性(Structural Similarity Index,SSIM)。
結構相似性是一種衡量兩幅圖像相似度的指標。結構相似性指數從圖像組成的角度將結構信息定義為獨立于亮度、對比度的,反映場景中物體結構的屬性,并將失真建模為亮度、對比度和結構三個不同因素的組合。用均值作為亮度的估計,標準差作為對比度的估計,協方差作為結構相似程度的度量[21]。給定兩個圖像m、n[11],結構相似性的計算方法如式(7)所示:
(7)

(3)感知指數(Perceptual Index,PI)。
感知系數PI可評價圖像的主觀感知質量,它更符合人類視覺的感知特征,計算方法如式(8)所示:
(8)
其中,Ma為馬氏評分,其使用空間域和頻域的統計數據作為SR圖像的特征,并將特征集成在回歸樹中進行訓練,利用線性回歸模型對預測質量進行評分。NIQE(Natural Image Quality Evaluator)為圖像評價質量,其原理:將圖像特征輸入到多元高斯模型中計算均值、方差,再將HR圖像與SR圖像擬合得到均值、方差,從而計算SR圖像分布與HR圖像分布間的差異。PI值越低,代表圖像感知質量越好[14]。
實驗分別在DRSRD1_2D數據集的碳酸巖類(carbonate)和砂巖類(sandstone)上進行測試,放大因子為4的實驗結果如圖6、7所示。其中作為隨機圖示樣例所選用的碳酸巖圖像和砂巖圖像分別為DRSRD1_2D數據集中的carbonate_0905和sandstone_0910。從圖中可以看到,文中方法在視覺效果上有著不錯的表現,重建圖像的巖石顆粒、孔隙更加明顯,紋理清晰,邊緣銳利。

圖6 各算法在碳酸巖圖像上的重建效果比較

圖7 各算法在砂巖圖像上的重建效果比較
此外,從實驗結果圖不難發現,文中算法在碳酸巖圖像上的重建效果更為突出。這是因為碳酸巖相比砂巖具有更加復雜的物理結構,其表面具有更多、更細小的高頻特征。這也反映出引入多尺度特征融合方法的文中算法對圖像高頻特征重建的效果顯著。為直觀對比不同方法的超分辨重建效果,將文中算法與傳統插值算法Bicubic[22]及深度學習算法SRGAN[7]、SFT-GAN[23]、ESRGAN[8]在碳酸巖類和砂巖類上的客觀評價指標進行對比,結果如表2、3所示。表中加深字體為最優值,下劃線為次優值。可以看出,在碳酸巖數據集上,文中方法的三項指標在幾種算法中均為最優。其中PSNR表現尤為突出,達到了24.66 dB,較ESRGAN有0.61 dB的提升。在砂巖數據集上,文中方法的PSNR和PI指標最優,SSIM指標則為次優。

表2 測試集carbonate中的對比實驗結果

表3 測試集sandstone中的對比實驗結果
從實驗結果可以看出,ESRGAN在加入多尺度特征融合方法后,超分辨重建的結果在視覺效果和客觀指標上都有了不同程度的提升,生成的圖像具有更好的細節特征、更加接近原高分辨率圖像。此外,文中方法在具有更多高頻信息的碳酸巖圖像上的重建效果更為明顯,這也從客觀上證實了多尺度特征融合對提升超分辨細節特征重建的有效性。
此外,為進一步測試多尺度特征融合ESRGAN在訓練時間和占用空間上的影響,實驗還對其改進前后的訓練時間與內存占用情況進行了對比,結果如表4所示。可以看出,加入多尺度特征融合的ESRGAN相對于加入之前,模型大小增加了2.8%,訓練時間則增加了5%。這樣比例的代價增加,相對于所取得的效果,還是值得的。
在ESRGAN的基礎上,通過引入多尺度特征融合,解決了原網絡由于提取特征的尺度單一而造成的重建圖像高頻信息丟失問題,使得重建后的圖像在視覺效果和評價指標上均有了不同程度的改善。改進方法在巖石顯微圖像的超分辨重建輸出具有更加清晰的紋理和孔隙特征,視覺感知的質量也更好。而這樣的改善并沒有過多影響到算法模型的訓練時間及GPU內存占用,是相當值得的。
下一步的研究工作將著重于網絡訓練效率的提升,以及針對巖石顯微圖像特點的更加有效的損失函數項設計,以期進一步提升其超分辨重建的效果。