劉 哲,劉劍毅,劉 凱,彭 召
(西安交通大學(xué) 軟件學(xué)院,陜西 西安 710049)
由于磁共振成像MRI(magnetic resonance images)[1]特殊的成像方式,致使成像過(guò)程中產(chǎn)生偽影和噪聲,進(jìn)而影響對(duì)病情的判斷。因此,MRI受損圖像的修復(fù)成了當(dāng)今磁共振成像最為關(guān)鍵的研究熱點(diǎn)之一。
為了消除圖像中的偽影和噪聲,獲得更好的圖像修復(fù)效果,相關(guān)研究人員提出了許多圖像修復(fù)算法。傳統(tǒng)去噪算法利用圖像自身的自相似結(jié)構(gòu)塊做加權(quán)平均來(lái)估計(jì)參考?jí)K的中心點(diǎn),例如非局部均值算法(NLM)[2]、全變差去噪算法(TV)[3],但該類(lèi)算法對(duì)原圖像的結(jié)構(gòu)信息保護(hù)不夠以及對(duì)平坦區(qū)域抑制噪聲不充分。貝葉斯最小二乘-高斯尺度混合模型算法(BLS-GSM)[4]和3維塊匹配濾波算法(BM3D)[5]對(duì)圖像進(jìn)行多尺度、非局部去噪,但該算法的實(shí)現(xiàn)過(guò)程比較復(fù)雜。近年來(lái),隨著深度學(xué)習(xí)方法在圖像修復(fù)問(wèn)題上取得了良好效果。例如生成對(duì)抗網(wǎng)絡(luò)算法(GAN)[6]利用G網(wǎng)絡(luò)將低分辨率的圖像生成高分辨率圖像,然后由D網(wǎng)絡(luò)判斷獲得的圖像是否是來(lái)自G網(wǎng)絡(luò)生成的,但是該網(wǎng)絡(luò)存在訓(xùn)練不穩(wěn)定、模式崩潰的問(wèn)題?;诰矸e神經(jīng)網(wǎng)絡(luò)算法(CNN)[7]用于圖像修復(fù),但是該算法的缺點(diǎn)是隨著網(wǎng)絡(luò)深度的增加,容易出現(xiàn)梯度爆炸或梯度消失的問(wèn)題。
針對(duì)上述算法的圖像修復(fù)效果不佳、性能不足、算法復(fù)雜等問(wèn)題,本文提出了一個(gè)基于深度的殘差神經(jīng)網(wǎng)絡(luò)編碼-解碼框架算法,用來(lái)解決受損圖像的修復(fù)問(wèn)題。該算法由多層的殘差神經(jīng)網(wǎng)絡(luò)層和反卷積層組成,學(xué)習(xí)一個(gè)從受損圖像到高質(zhì)量圖像的端到端映射。殘差網(wǎng)絡(luò)層實(shí)現(xiàn)圖像特征的提取,捕獲圖像內(nèi)容的抽象信息,同時(shí)消除噪聲和損失。相對(duì)應(yīng)地,反卷積層用來(lái)恢復(fù)圖像細(xì)節(jié),進(jìn)而達(dá)到良好的修復(fù)效果。
本文所提出的網(wǎng)絡(luò)包含一系列殘差網(wǎng)絡(luò)層和反卷積層,使用殘差網(wǎng)絡(luò)的原因在于該網(wǎng)絡(luò)采用跳躍結(jié)構(gòu)進(jìn)行連接,較好地解決了網(wǎng)絡(luò)深度變深以后的性能退化問(wèn)題以及梯度消失問(wèn)題。殘差網(wǎng)絡(luò)層主要用于受損圖像的編碼,該編碼過(guò)程基于修改的resnet 101-layer[8],并將該網(wǎng)絡(luò)中最后全連接層和全局平均池化層操作去掉,原因在于本文使用該網(wǎng)絡(luò)主要用來(lái)提取受損圖像的主要特征,不做圖像分類(lèi)。通過(guò)深層殘差網(wǎng)絡(luò)編解碼框架完成受損圖像修復(fù)。
圖1、表1分別給出了本文算法的網(wǎng)絡(luò)結(jié)構(gòu)和相關(guān)參數(shù)配置。編碼(Encoder)和解碼(Decoder)過(guò)程結(jié)構(gòu)對(duì)稱(chēng)。在編碼過(guò)程中,采用深層殘差網(wǎng)絡(luò)作為特征提取器,使更多的特征傳入到下一層,進(jìn)而更完整地保留原始輸入圖像的上下文信息。解碼過(guò)程采用反卷積操作,用來(lái)恢復(fù)圖像的邊界信息。編解碼過(guò)程主要是在受損圖像和高質(zhì)量標(biāo)簽圖像的相關(guān)空間中優(yōu)化學(xué)習(xí)字典,該字典表示為受損圖像和高質(zhì)量標(biāo)簽圖像間的補(bǔ)丁以及輸入的最近鄰特征,在受損圖像的空間中找到補(bǔ)丁,其相應(yīng)的高分辨率補(bǔ)丁用于重建。本文設(shè)計(jì)的網(wǎng)絡(luò)優(yōu)勢(shì)在于殘差網(wǎng)絡(luò)層保留了主要的圖像特征,通過(guò)網(wǎng)絡(luò)將編碼層的特征圖傳遞到解碼層,有助于解碼層擁有更多的特征圖像信息,因此在較好地保留了原始圖像內(nèi)容的同時(shí),也達(dá)到了去除偽影和噪聲的效果。網(wǎng)絡(luò)遵循恒等映射,確保輸入輸出圖像的大小一致。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)
表1 網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)配置
本文首先使用雙三次插值算法將每幅受損圖像調(diào)整到我們期望的大小320×320,然后將該類(lèi)圖像裁剪為4幅160×160大小作為網(wǎng)絡(luò)的輸入圖像X,將圖像X的集合稱(chēng)之為訓(xùn)練集。使用雙三次插值算法對(duì)圖像進(jìn)行預(yù)處理的目的在于:①放大受損圖像的噪聲和偽影,起到增強(qiáng)數(shù)據(jù)特征信息的效果,從而利于網(wǎng)絡(luò)提取特征,更好地修復(fù)受損圖像。②擴(kuò)大網(wǎng)絡(luò)訓(xùn)練的樣本數(shù)。本文算法的目標(biāo)是將輸入圖像X盡可能修復(fù)成為接近于高質(zhì)量的標(biāo)簽圖像Y。圖像X與Y的大小相同,網(wǎng)絡(luò)通過(guò)學(xué)習(xí)一個(gè)從受損圖像到高質(zhì)量圖像的端到端映射,從而完成圖像修復(fù)工作。
本網(wǎng)絡(luò)訓(xùn)練過(guò)程由特征提取、非線性映射、反卷積重建構(gòu)成。特征提取操作需要從受損圖像X和高質(zhì)量標(biāo)簽圖像Y中提取特征信息,建立從受損圖像到標(biāo)簽圖像的補(bǔ)丁,然后將每組補(bǔ)丁表示為高維向量。這些高維向量包含一組特征映射,其大小等于高維向量的維數(shù)。通過(guò)一組過(guò)濾器對(duì)受損圖像進(jìn)行卷積,形式上將f1(X) 定義為特征提取操作的輸出,如式(1)所示
f1(X)=W1*X+B1
(1)
其中,W1和B1分別表示卷積核權(quán)重和偏移值,W1的維度為c×n1×n1,c表示特征圖像的通道數(shù),n1表示卷積核的大小。*表示卷積操作。
在非線性映射操作中,將一個(gè)高維向量映射到另一個(gè)高維向量,每一個(gè)映射向量表示一個(gè)高分辨率補(bǔ)丁,這些向量組成另一個(gè)特征映射,用于后續(xù)的反卷積重建操作,本文使用Leaky Relu作為激活函數(shù),如式(2)所示
f2(X)=max(0.01f1(X),f1(X))
(2)
原因是對(duì)零段線加了一定的斜率,防止網(wǎng)絡(luò)實(shí)際的訓(xùn)練太容易飽和和梯度彌散[9]。
反卷積重建操作的目的是恢復(fù)更多的圖像細(xì)節(jié);隨著深層殘差神經(jīng)網(wǎng)絡(luò)的特征提取操作,使得特征圖像的大小逐漸減小,反卷積層再逐漸增大特征圖的大小至原始輸入圖像,完成圖像的重建操作。該過(guò)程首先將卷積核反轉(zhuǎn),就是將卷積核在上下左右方向進(jìn)行遞序操作。然后將卷積結(jié)果作為輸入,做補(bǔ)0擴(kuò)充操作,即往每一個(gè)元素后面補(bǔ)0。將f(X)定義為反卷積重建圖像操作,如式(3)所示
f(X)=W3*f2(X)+B3
(3)
其中,W3和B3分別為卷積核權(quán)重和偏移值,f2(X)為非線性映射操作的輸出。
本文提出的網(wǎng)絡(luò)是通過(guò)學(xué)習(xí)從受損圖像到高質(zhì)量圖像間的端到端的映射,從而完成去除受損圖像中的偽影和噪聲,達(dá)到圖像恢復(fù)的目的。本文分別選取8500幅受損圖像和與其相對(duì)應(yīng)的高質(zhì)量圖像進(jìn)行網(wǎng)絡(luò)訓(xùn)練。將本文2.1小節(jié)中處理的圖像作為網(wǎng)絡(luò)輸入,首先,采用大小為7的卷積核將單通道圖像提升為64通道,圖像大小縮小至40,然后采用大小為1、3的卷積核完成特征提取和反卷積重建,最后,通過(guò)指定學(xué)習(xí)率的優(yōu)化器不斷減小重建圖像與真實(shí)圖像間的損失。網(wǎng)絡(luò)訓(xùn)練的過(guò)程如圖2所示。
圖2 網(wǎng)絡(luò)訓(xùn)練流程
(4)
其中,n為訓(xùn)練樣本的數(shù)量,在本文中n取值為8500。使用該損失函數(shù),主要有利于加快網(wǎng)絡(luò)權(quán)重的優(yōu)化調(diào)整以及網(wǎng)絡(luò)的收斂速度,進(jìn)而縮小重建圖像與真實(shí)標(biāo)簽圖像的差別,提高受損圖像的修復(fù)效果。使用標(biāo)準(zhǔn)反向傳播的隨機(jī)梯度下降算法SGD最小化損失函數(shù)(4)。權(quán)重矩陣的更新如式(5)、式(6)所示[10]
(5)
(6)
本文提出的算法通過(guò)在集群服務(wù)器上運(yùn)行該網(wǎng)絡(luò)模型進(jìn)行實(shí)驗(yàn),集群服務(wù)器參數(shù)為:Intel Xeon處理器2.5 GHz,開(kāi)發(fā)軟件Pycharm,Tensorflow 1.3,Anaconda 3,CUDA 8.0,GPU GeForce GTX1080TI,運(yùn)行內(nèi)存32 G。本文實(shí)驗(yàn)的數(shù)據(jù)樣本是由某醫(yī)院數(shù)據(jù)庫(kù)提供,采用本文2.1小節(jié)中的算法對(duì)其進(jìn)行預(yù)處理,然后從中選取8500幅受損圖像和與其相對(duì)應(yīng)的高質(zhì)量圖像作為網(wǎng)絡(luò)的訓(xùn)練樣本,每個(gè)訓(xùn)練樣本的分辨率為160像素×160像素。在該集群服務(wù)器上訓(xùn)練時(shí)長(zhǎng)51小時(shí)。
本文采用峰值信噪比PSNR(peak signal noise ratio)和結(jié)構(gòu)相似性SSIM(structural similarity)[11]這兩個(gè)衡量指標(biāo)來(lái)客觀評(píng)價(jià)圖像恢復(fù)的質(zhì)量。PSNR是基于對(duì)應(yīng)像素點(diǎn)之間的誤差,即基于誤差敏感的圖像質(zhì)量進(jìn)行評(píng)價(jià)。SSIM是一種綜合參考的圖像質(zhì)量評(píng)價(jià)指標(biāo),它分別從亮度、對(duì)比度、結(jié)構(gòu)三方面度量圖像相似性。PSNR和SSIM是通過(guò)對(duì)受損圖像采用相關(guān)算法進(jìn)行處理后的重建圖像和高質(zhì)量的標(biāo)簽圖像進(jìn)行比較的結(jié)果,二者能較好地評(píng)價(jià)圖像處理算法恢復(fù)后的圖像質(zhì)量。本文隨機(jī)選取100幅受損圖像作為修復(fù)效果測(cè)試集,為保證算法的公平性,所選取的測(cè)試集圖像均不在訓(xùn)練集中。將測(cè)試集采用各算法修復(fù)后的重建圖像與真實(shí)標(biāo)簽圖像間的PSNR和SSIM的均值及方差作為衡量圖像修復(fù)算法的評(píng)判標(biāo)準(zhǔn)。
各算法在測(cè)試集上修復(fù)后的圖像PSNR和SSIM均值的浮動(dòng)情況如圖3、圖4所示,從圖中可看出,基于深度學(xué)習(xí)的圖像修復(fù)算法的穩(wěn)定性相比于傳統(tǒng)的去噪算法較好,同時(shí)殘差網(wǎng)絡(luò)的修復(fù)性能和效果相比于卷積神經(jīng)網(wǎng)絡(luò)較優(yōu),表明深層的殘差網(wǎng)絡(luò)更好地提取圖像特征,也解決了隨著網(wǎng)絡(luò)深度的增加所出現(xiàn)的網(wǎng)絡(luò)模型退化問(wèn)題。
圖3 各算法處理后的PSNR對(duì)比
圖4 各算法處理后的SSIM對(duì)比
表2、表3分別給出了各算法在測(cè)試集上修復(fù)后的PSNR和SSIM的具體均值和方差值,從表中可看出本文修復(fù)算法獲得了較高的PSNR值和SSIM值,同時(shí)具有較低的方差,說(shuō)明本文算法具有良好的修復(fù)效果和穩(wěn)定的修復(fù)性能。原因在于深層殘差網(wǎng)絡(luò)通過(guò)大樣本數(shù)據(jù)的訓(xùn)練,使該網(wǎng)絡(luò)更好地學(xué)習(xí)從受損圖像到標(biāo)簽圖像之間的補(bǔ)丁,不斷地調(diào)整及優(yōu)化相應(yīng)的網(wǎng)絡(luò)參數(shù)權(quán)重,進(jìn)而完整地恢復(fù)圖像細(xì)節(jié)[18]。
為了驗(yàn)證本文算法的修復(fù)能力,本文任意選取一幅受損較為嚴(yán)重的磁共振圖像進(jìn)行修復(fù)效果測(cè)試。如圖5所示,本文中提出的算法與其它算法的修復(fù)效果進(jìn)行對(duì)比。
直觀地從以上算法修復(fù)效果圖上進(jìn)行分析,文獻(xiàn)[12]算法、文獻(xiàn)[14]算法和文獻(xiàn)[17]算法處理后的圖像比
表2 各算法處理后的PSNR均值和方差對(duì)比
表3 各算法處理后的SSIM均值和方差對(duì)比
原圖像在視覺(jué)效果上有很大改善,但明顯略帶有少部分噪聲。文獻(xiàn)[15]算法盡管消除了受損圖像的噪聲和偽影,但是該算法處理后的圖像清晰度大幅降低,影響醫(yī)學(xué)應(yīng)用價(jià)值。雖然文獻(xiàn)[13]算法和文獻(xiàn)[16]算法達(dá)到了圖像超分辨的效果,但是圖像失真比較嚴(yán)重,影響醫(yī)生的判斷。本文提出的算法修復(fù)效果幾乎接近原始標(biāo)簽圖像,較好地還原了原始圖像信息。
如表4所示,給出了各修復(fù)算法在測(cè)試集上修復(fù)的平均時(shí)長(zhǎng)和浮動(dòng)偏差。本文算法在對(duì)受損圖像進(jìn)行修復(fù)時(shí),需要加載網(wǎng)絡(luò)模型的權(quán)重,因此修復(fù)耗時(shí)較長(zhǎng),有待于進(jìn)一步優(yōu)化修復(fù)時(shí)長(zhǎng)。
網(wǎng)絡(luò)訓(xùn)練的損失值較好地反映網(wǎng)絡(luò)重建圖像與標(biāo)簽圖像間的差值,同時(shí)也反映了網(wǎng)絡(luò)的擬合程度。圖6給出了本文算法與文獻(xiàn)[13]算法的loss值對(duì)比結(jié)果。結(jié)果表明,深度殘差網(wǎng)絡(luò)相比于卷積神經(jīng)網(wǎng)絡(luò)可以有效解決網(wǎng)絡(luò)的性能退化問(wèn)題。
本文提出的一種基于深度殘差網(wǎng)絡(luò)編解碼的磁共振圖像修復(fù)算法,主要解決磁共振圖像的偽影和噪聲問(wèn)題,提高其醫(yī)學(xué)應(yīng)用價(jià)值。殘差編碼層用于提取圖像特征,反卷積解碼層用于生成圖像待修復(fù)區(qū)域?qū)?yīng)的預(yù)測(cè)圖,通過(guò)學(xué)習(xí)一個(gè)從受損圖像到高質(zhì)量的標(biāo)簽圖像之間的端到端映射,不斷減小預(yù)測(cè)圖象與真實(shí)的標(biāo)簽圖像間的損失,進(jìn)而將受
圖5 各算法修復(fù)效果對(duì)比
表4 各算法在測(cè)試集上修復(fù)的平均時(shí)長(zhǎng)
圖6 本文算法和文獻(xiàn)[13]算法loss值
損圖像修復(fù)成為接近于真實(shí)標(biāo)簽圖像的高質(zhì)量圖像。通過(guò)大量實(shí)驗(yàn)分析,將原始圖像特征使用雙三次插值算法進(jìn)行放大,使受損區(qū)域特征更明顯,進(jìn)而有利于網(wǎng)絡(luò)提取特征,由此提出一種針對(duì)特征學(xué)習(xí)的深度殘差網(wǎng)絡(luò)編解碼來(lái)完成核磁共振圖像修復(fù)任務(wù)。實(shí)驗(yàn)結(jié)果表明,該算法與已有的圖像修復(fù)算法相比,具有更好的修復(fù)效果。
盡管該算法在核磁共振圖像上具有較強(qiáng)的修復(fù)能力,但是該算法的訓(xùn)練需要大量的標(biāo)簽樣本數(shù)據(jù)作為要學(xué)習(xí)的對(duì)象,在一些應(yīng)用場(chǎng)景中很難獲得這些標(biāo)簽數(shù)據(jù)。此外,該算法無(wú)法保證彩色圖像的修復(fù),如自然圖像和地圖遙感圖像等。這也是今后需要更進(jìn)一步深入研究的工作。