劉 錚, 劉 英, 莊子龍, 謝 超
(南京林業(yè)大學(xué)機(jī)械電子工程學(xué)院,江蘇 南京 210037)
竹材具有生長(zhǎng)迅速、成材率和理化性能好的特點(diǎn),目前成為了木材良好的替代材料,并廣泛應(yīng)用于各類機(jī)械包裝結(jié)構(gòu)和建筑結(jié)構(gòu)。由于天然竹材的多孔結(jié)構(gòu)和工程竹材的膠合工序,初始裂紋的擴(kuò)大引起的斷裂是工程竹材結(jié)構(gòu)件被破壞的主要形式,裂紋會(huì)使材料在低于屈服強(qiáng)度時(shí)就發(fā)生破壞,影響結(jié)構(gòu)的安全性[1,2]。精確監(jiān)控裂紋的發(fā)展對(duì)于圖像的要求極高,采用DIC(Digital Image Correlation)技術(shù)得到的工程竹材散斑圖像存在著大量的噪聲,如何提高圖像的質(zhì)量是急需解決的重要問(wèn)題。應(yīng)用超分辨率重建技術(shù)可以在現(xiàn)有硬件條件下,提高數(shù)字圖像的成像質(zhì)量,從而提高工程竹材裂紋的識(shí)別精度,確保工程竹材在使用中的安全。
圖像超分辨率是從一個(gè)或多個(gè)低分辨率圖像中獲得高分辨率圖像的技術(shù),隨著深度學(xué)習(xí)的高速發(fā)展,基于深度學(xué)習(xí)的圖像超分辨率技術(shù)也有著廣泛的應(yīng)用[3]。已有研究成果表明,提高網(wǎng)絡(luò)的深度能夠提高網(wǎng)絡(luò)的重建性能,然而簡(jiǎn)單地對(duì)網(wǎng)絡(luò)進(jìn)行疊加并不能無(wú)限制地提高網(wǎng)絡(luò)的性能,反而會(huì)使得網(wǎng)絡(luò)訓(xùn)練更加困難[4]。
由于深度學(xué)習(xí)方法的良好性能,其被應(yīng)用于圖像超分辨率領(lǐng)域。2014年,Dong[5]等提出SRCNN(Super-Resolution CNN),首次將深度學(xué)習(xí)用于超分辨率領(lǐng)域,其性能相對(duì)于傳統(tǒng)方法有了較大的飛躍。針對(duì)網(wǎng)絡(luò)無(wú)法依靠簡(jiǎn)單加深來(lái)提高性能的缺陷,2016年,Kim J[6]等首先將殘差結(jié)構(gòu)用于圖像超分辨率問(wèn)題,提出了VDSR(Very Deep CNN for SR)。2017年,Ledig[7]等提出SRResNet,首次將ResNet模型應(yīng)用在圖像超分辨率任務(wù)中,訓(xùn)練精度以及收斂性能上均優(yōu)于傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)。受其啟發(fā),Bee Lim[8]等提出了EDSR(Enhanced Deep Residual Networks for SR)算法,刪除了批規(guī)范層以解放更多內(nèi)存空間,從而可以通過(guò)增加網(wǎng)絡(luò)層數(shù)來(lái)提高模型性能。2018年,Zhang Y[9]等提出了RCAN(Residual Channel Attention Networks),首次將通道注意力機(jī)制應(yīng)用于超分辨率任務(wù),最大信噪比有所提升。隨著GAN(Generative Adversarial Networks)網(wǎng)絡(luò)的成功,2017年,Ledig[10]等提出SRGAN(GAN for SR)來(lái)恢復(fù)4倍上采樣因子圖像的高頻細(xì)節(jié),由生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)博弈平衡,該網(wǎng)絡(luò)峰值信噪比略有降低,但圖像紋理更豐富,視覺(jué)效果更好。2018年,Xintao Wang[11]等針對(duì)SRGAN的不足提出ESRGAN(Enhanced Super-Resolution GAN),提高了網(wǎng)絡(luò)的性能。
現(xiàn)有圖像超分辨率算法在訓(xùn)練難度、紋理細(xì)節(jié)方面表現(xiàn)仍然不盡如人意,而且超分辨率算法在工程竹材散斑圖像上尚未有所應(yīng)用。
本文提出一種注意力密集殘差網(wǎng)絡(luò)(Attention Dense Residual Network,ADRN),算法流程包括輸入層、多層注意力密集層、上采樣層和輸出層。
輸入層由卷積層組成,輸入低分辨率圖像,卷積操作將輸入圖像R、G、B三個(gè)通道的信息映射到C個(gè)卷積核分量上,將輸入圖片的淺層特征信息初步加深。
多層注意力密集層分為密集殘差塊和二級(jí)塊,二級(jí)塊中包含注意力模塊,此層可以提取到圖片更深層次的特征信息,并且對(duì)于各通道加以權(quán)重計(jì)算,使得模型能夠更多地關(guān)注重要和關(guān)鍵的特征信息。
上采樣層將特征圖進(jìn)行放大并將放大后的特征圖輸出到輸出層。
輸出層由卷積層組成,降低特征圖的維度至3,并輸出。
基于注意力殘差結(jié)構(gòu)的圖像生成算法結(jié)構(gòu)如圖1所示,具有三個(gè)層次,首先一級(jí)密集殘差塊由n個(gè)密集殘差塊組成(n取16),每個(gè)密集殘差塊包含4個(gè)級(jí)聯(lián)的二級(jí)塊和1個(gè)卷積層,每個(gè)二級(jí)塊包括卷積層、激活層和1個(gè)注意力模塊。
在超分辨率領(lǐng)域中,BN(Batch Normalization)層的歸一化作用會(huì)在網(wǎng)絡(luò)各環(huán)節(jié)中生效,會(huì)對(duì)圖像的紋理信息造成一定的破壞,工程竹材散斑圖像超分辨率任務(wù)對(duì)于圖像細(xì)節(jié)信息的要求較高,為了對(duì)后續(xù)竹材尖端裂紋識(shí)別工作提供便利,并加快網(wǎng)絡(luò)的訓(xùn)練速度,本文去除網(wǎng)絡(luò)中所有的BN層。
工程竹材散斑圖像重建不僅要求較高的分辨率,對(duì)比度、紋理等信息在工程竹材散斑圖像中也尤為重要,因此本文使用CMAM[12]的通道注意力結(jié)構(gòu)對(duì)網(wǎng)絡(luò)進(jìn)行改進(jìn)。
注意力模型會(huì)將特征圖進(jìn)行全局平均池化(AvgPooling)和最大池化(MaxPooling),然后通過(guò)卷積核大小為X的卷積層減少通道數(shù)量,減少的比例為M,X如式(1)M如式(2):
(1)
(2)
式中:c為輸入的特征通道數(shù),r為典型值,取16。
圖1 多層注意力密集結(jié)構(gòu)
之后通過(guò)ReLU層和通過(guò)卷積核大小為c的卷積層,將特征通道數(shù)量恢復(fù)到初始值,然后通過(guò)Sigmoid層將各通道的權(quán)重系數(shù)分別輸入到特征通道上,使得圖片中的重點(diǎn)區(qū)域被關(guān)注。計(jì)算過(guò)程如式(3):
(3)
式中:σ為Sigmoid激活函數(shù)。
在超分辨率任務(wù)中,最常用的損失函數(shù)為L(zhǎng)2損失函數(shù),即均方誤差(MSE):
(4)
式中:W和H分別是圖像的寬度和高度,IHR和ISR分別是原始高清圖像和經(jīng)過(guò)超分辨率還原之后的高清圖像。
隨后發(fā)現(xiàn)的L1損失函數(shù),即絕對(duì)值平均誤差(Mean Absolute Error,MAE),其表達(dá)式為:
(5)
根據(jù)其表達(dá)式推算,L2損失函數(shù)對(duì)于較大的誤差相較于L1損失函數(shù)更加嚴(yán)厲,由此L1損失函數(shù)有著比L2損失函數(shù)更為出色的魯棒性[13,14],因此采用L1損失函數(shù)監(jiān)督訓(xùn)練。
為了進(jìn)一步提高還原出的圖像質(zhì)量,使用ADRN作為生成網(wǎng)絡(luò),借鑒Ralativistic Standard GAN的思想,讓判別器嘗試估計(jì)真實(shí)圖像比超分辨率重建之后的高分辨率圖像更真實(shí)的概率,取代經(jīng)典判別器判斷一幅圖像是否為真實(shí)圖像的工作模式,提出一種基于注意力密集殘差結(jié)構(gòu)和相對(duì)均值生成對(duì)抗網(wǎng)絡(luò)(Attention Dense Residual Relative Average Generative Adversarial Networks,ADRAGAN),其中生成器部分包括 16個(gè)密集殘差塊,可以單獨(dú)訓(xùn)練,判別器網(wǎng)絡(luò)共包含7個(gè)卷積塊,每個(gè)卷積塊由3×3卷積層、BN層和L ReLU激活層組成,包含網(wǎng)絡(luò)最前端的一個(gè)3×3卷積層和一個(gè)LReLU激活層,整個(gè)判別器共包含8個(gè)卷積層。
在SRGAN中,使用的判別器為標(biāo)準(zhǔn)GAN(Standard GAN,SGAN)使用的判別器,即估計(jì)一個(gè)圖像是真實(shí)圖像的概率。
經(jīng)過(guò)足夠的訓(xùn)練之后,判別器如果性能過(guò)關(guān),那么其應(yīng)該能夠正確區(qū)分大多數(shù)圖像的真?zhèn)涡?,而生成器的目?biāo)是盡可能地使判別器將偽圖像判別為真實(shí)圖像。這種邏輯事實(shí)上是不合理的,因?yàn)榻?jīng)過(guò)生成器的訓(xùn)練,真實(shí)數(shù)據(jù)和假數(shù)據(jù)看起來(lái)真實(shí)性的區(qū)別很小,如果判別器沒(méi)有先驗(yàn)知識(shí),則判別器可能會(huì)將所有的樣本都判斷為真實(shí)的。
相對(duì)標(biāo)準(zhǔn)GAN(Ralativistic Standard GAN,RSGAN)使用的判別器與標(biāo)準(zhǔn)判別器不同,其預(yù)測(cè)真實(shí)圖像比偽圖像更真實(shí)的概率[15]。
其判別器和生成器的損失函數(shù)如式(6)和式(7):
(6)
(7)
為了使判別器更具有全局性,本文對(duì)判別器進(jìn)行了改進(jìn),使用基于相對(duì)均值的判別器DRa,如式(8)和式(9):
DRa(xr,xf)=σ(C(xr)-Exf[(xf)])
(8)
DRa(xf,xr)=σ(C(xf)-Exr[(xr)])
(9)
在相對(duì)均值判別器中,判別器和生成器的損失函數(shù)如式(10)和式(11):
-Exf[log(1-DRa(xf,xr))]
(10)
-Exf[log(DRa(xf,xr))]
(11)
式中:求均值的操作是通過(guò)對(duì)最小批量中的所有數(shù)據(jù)求平均值得到的,xf=G(xi),xr表示輸入的低分辨率圖像。
與SRGAN相比,生成器在訓(xùn)練時(shí)不僅可以從生成數(shù)據(jù)的梯度中提取信息,還能從真實(shí)數(shù)據(jù)中獲得指導(dǎo),對(duì)于判別器進(jìn)行的這種調(diào)整可以使得網(wǎng)絡(luò)生成的圖片獲得更為清晰的邊緣和更豐富的細(xì)節(jié)信息。
在提出的生成算法中,使用了L1損失函數(shù),但是在基于生成對(duì)抗網(wǎng)絡(luò)的模型中,無(wú)論是L2損失函數(shù)還是L1損失函數(shù)都無(wú)法準(zhǔn)確和完全地度量重建出圖像質(zhì)量。
-Exf[log(1-DRa(xf,xr))]
(12)
結(jié)合感知損失、內(nèi)容損失和對(duì)抗損失,本文生成器使用的損失函數(shù)為綜合損失函數(shù),如式(13):
(13)
實(shí)驗(yàn)所需數(shù)據(jù)集為工程竹材散斑圖像,共有620張,圖像的寬度為4 032像素,高度為1 348像素,部分圖片如圖2所示。
圖2 工程竹材散斑圖像部分圖片
樣本對(duì)中原始高分辨率圖像來(lái)自原工程竹材散斑圖像,由于原始圖像存在大片無(wú)用的純黑色區(qū)域,會(huì)大幅延長(zhǎng)訓(xùn)練時(shí)間,所以首先將黑色區(qū)域去除,部分剪裁圖片如圖3所示,低分辨率圖像是由高分辨率圖像進(jìn)行雙三次插值降采樣處理得到,比例系數(shù)為×4。
圖3 工程竹材散斑圖像部分剪裁圖片
按8∶1∶1的比例分配訓(xùn)練集,測(cè)試集和驗(yàn)證集,即訓(xùn)練集圖像數(shù)量為496張,驗(yàn)證集和測(cè)試集的圖像數(shù)量均為62張。
為了保證實(shí)驗(yàn)的科學(xué)性和正確性,本文均采用相同的硬件環(huán)境。硬件平臺(tái)配置見(jiàn)表1。
表1 硬件平臺(tái)配置
本實(shí)驗(yàn)在Windows 10 64位操作系統(tǒng)下進(jìn)行,編程語(yǔ)言為Python3.7,所有深度學(xué)習(xí)框架由PyTorch搭建,IDE為PyCharm Community Edition,使用CUDA10.1和CuDNN7604加速模型訓(xùn)練。
本文使用初始學(xué)習(xí)率為1×10-4,采用Adam優(yōu)化器,衰減速率參數(shù)設(shè)置為β1=0.9,β2=0.999,在殘差添加到主路徑之前乘的殘差縮放系數(shù)設(shè)為0.2,損失函數(shù)之間的平衡系數(shù)取λ=5×10-3,η=0.01。
為了評(píng)價(jià)改進(jìn)的算法與其他算法之間的優(yōu)劣,在放大因子為4的條件下,分別從客觀指標(biāo)峰值信噪比(Peak Signal to Noise Ratio,PSNR)、結(jié)構(gòu)相似性(Structural Similarity,SSIM)以及主觀指標(biāo)平均意見(jiàn)得分(Mean Opinion Score,MOS)比較算法性能。
各算法在工程竹材散斑圖像數(shù)據(jù)集上的PSNR值、SSIM值和MOS值見(jiàn)表2。
表2 各算法評(píng)價(jià)指標(biāo)對(duì)比結(jié)果
由表2可知,在工程竹材散斑圖像數(shù)據(jù)集上進(jìn)行超分辨率重建,本文采用的ADRN 和ADRAGAN方法相較于傳統(tǒng)雙三次B樣條插值方法在PSNR指標(biāo)上分別提高了8.55 dB和8.74 dB,在SSIM指標(biāo)上相對(duì)于傳統(tǒng)方法分別提高了0.323和0.254,效果提升明顯,其在主觀指標(biāo)MOS值上分別提高了1.22分和1.26分,這兩種方法在工程竹材散斑圖像上的重建效果都大幅領(lǐng)先傳統(tǒng)方法。
原工程竹材DIC使用的雙三次B樣條插值方法和本文使用的方法重建出的高分辨率圖像的對(duì)比結(jié)果如圖4所示。從圖中可見(jiàn),雙三次B樣條插值方法重建出的高分辨率圖像相較于低分辨率圖像質(zhì)量有所提升,但是細(xì)節(jié)紋理信息仍然非常模糊,本文采用的ADRN 和ADRAGAN方法相較于傳統(tǒng)方法還原出的圖像邊緣明顯更加銳利,細(xì)節(jié)更加豐富,其中ADRAGAN網(wǎng)絡(luò)重建出的高分辨率圖像視覺(jué)效果好于ADRN網(wǎng)絡(luò)重建出的高分辨率圖像。
圖4 圖像重建效果
(1)針對(duì)網(wǎng)絡(luò)訓(xùn)練穩(wěn)定性不足和圖像深層信息提取困難的問(wèn)題,本文提出了一種用于工程竹材散斑圖像超分辨率重建的注意力密集殘差網(wǎng)絡(luò)。對(duì)現(xiàn)存殘差網(wǎng)絡(luò)存在的不足進(jìn)行改進(jìn),移除殘差網(wǎng)絡(luò)中的BN層以提高網(wǎng)絡(luò)的穩(wěn)定性以及降低網(wǎng)絡(luò)訓(xùn)練的難度,引入注意力模型使網(wǎng)絡(luò)著重于細(xì)節(jié)的重建,加強(qiáng)了高頻信息在網(wǎng)絡(luò)中的作用,結(jié)合多層密集連接,實(shí)現(xiàn)不同層次信息的融合,有效加深了網(wǎng)絡(luò)的深度,提高了網(wǎng)絡(luò)的性能。
(2)針對(duì)網(wǎng)絡(luò)還原出的圖像邊緣不夠銳利、細(xì)節(jié)不夠豐富的問(wèn)題,本文提出了一種用于工程竹材散斑圖像超分辨率重建的生成對(duì)抗網(wǎng)絡(luò)。將注意力密集殘差網(wǎng)絡(luò)作為生成器,結(jié)合感知損失、內(nèi)容損失和對(duì)抗損失對(duì)相對(duì)均值判別器進(jìn)行優(yōu)化,更好地還原出了圖像的細(xì)節(jié)紋理。
(3)實(shí)驗(yàn)結(jié)果證明,本文使用的網(wǎng)絡(luò)結(jié)構(gòu)在客觀評(píng)價(jià)指標(biāo)和主觀評(píng)價(jià)指標(biāo)下均優(yōu)于傳統(tǒng)插值方法在工程竹材散斑圖像上的重建效果,并具有一定的參考價(jià)值。