張澤茹,李兆同,劉良友,高嵩,吳奉梁
1.北京大學(xué)醫(yī)學(xué)部醫(yī)學(xué)技術(shù)研究院,北京100191;2.北京大學(xué)醫(yī)學(xué)人文學(xué)院,北京100191;3.北京大學(xué)第三醫(yī)院骨科,北京100191
磁共振成像具有高分辨率軟組織圖像、病變顯示敏感性高的優(yōu)點,被廣泛應(yīng)用于臨床診斷。不同的脈沖序列在成像時可以獲取到不同模態(tài)的磁共振(Magnetic Resonance, MR)圖像,這些模態(tài)圖像的對比機制不同,提供的病理和生理信息也不同,因此同時使用多模態(tài)的MR圖像可以獲得更多的病理信息。例如,T1(自旋-晶格弛豫)加權(quán)圖像(T1Weighted Image,T1WI)適用于觀察解剖結(jié)構(gòu),而T2(自旋-自旋弛豫)加權(quán)圖像(T2Weighted Image,T2WI)突出顯示組織中的液體,適用于觀察組織病變。同時獲取高質(zhì)量的多模態(tài)MR 圖像比較困難。首先獲取需要較長的掃描時間,其次受患者不自主運動影響獲取到的MR 圖像可能會出現(xiàn)偽影而不能用于診斷[1]。因此,通過利用掃描時間相對較短的圖像來生成另一模態(tài)圖像,或通過高質(zhì)量的某一模態(tài)圖像生成損壞的另一模態(tài)圖像對獲取多模態(tài)MR 圖像具有潛在的臨床應(yīng)用價值[2]。
圖像到圖像轉(zhuǎn)換網(wǎng)絡(luò)在自然圖像上的成功,為多模態(tài)醫(yī)學(xué)圖像轉(zhuǎn)換提供了很好的參考。生成式對抗網(wǎng)絡(luò)(Generative Adversarial Network, GAN)通過生成模型和判別模型之間的對抗來實現(xiàn)總目標函數(shù)的自動學(xué)習(xí),使生成模型輸出圖像盡可能接近真實圖像[3]。目前已有很多研究將GAN 用于多模態(tài)醫(yī)學(xué)圖像轉(zhuǎn)換,如端到端的三維卷積神經(jīng)網(wǎng)絡(luò)[4]、三維條件生成式對抗網(wǎng)絡(luò)[5-7]、全卷積網(wǎng)絡(luò)的GAN模型[8]、有監(jiān)督的GAN[9]和無監(jiān)督的GAN[10-12]等。有監(jiān)督的模型在不同模態(tài)MR 圖像間的轉(zhuǎn)換表現(xiàn)優(yōu)于無監(jiān)督的模型表現(xiàn)[2],但是成對的MR 圖像較難獲取,因此需要一個通過對未配對MR 圖像進行學(xué)習(xí)生成高質(zhì)量MR 圖像的模型。鑒于在多數(shù)圖像處理任務(wù)中很難獲取到成對的訓(xùn)練數(shù)據(jù),Zhu等[10]利用轉(zhuǎn)換具有循環(huán)一致性的特性,提出了無監(jiān)督的循環(huán)生成式對抗網(wǎng)絡(luò)(CycleGAN),在GAN 網(wǎng)絡(luò)中引入循環(huán)一致性損失,將該損失與對抗損失組合進行學(xué)習(xí),實現(xiàn)了未配對圖像到圖像的轉(zhuǎn)換。
本文對CycleGAN 模型進行改進,在使用對抗損失保證圖像結(jié)構(gòu)信息和循環(huán)損失保證循環(huán)一致性的同時,引入感知損失提高生成圖像的準確性。Welander 等[12]提及到在訓(xùn)練中引入真實圖像可以使模型學(xué)習(xí)到更多的圖像信息,且本文使用成對的數(shù)據(jù)集進行訓(xùn)練,因此本文還搭建了一個訓(xùn)練可監(jiān)督的CycleGAN 模型(S_CycleGAN)與改進后的模型(M_CycleGAN)進行對比。通過對M_CycleGAN 模型、S_CycleGAN 模型及CycleGAN 模型進行定量與可視化分析,研究M_CycleGAN 模型無監(jiān)督、高質(zhì)量地實現(xiàn)常規(guī)MR圖像間相互轉(zhuǎn)換的可行性。
GAN 是由兩個子網(wǎng)絡(luò)G和D組成的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其中G是生成器,D是鑒別器。G旨在學(xué)習(xí)從隨機向量噪聲z到目標域中圖像y的映射,而D學(xué)習(xí)區(qū)分生成的圖像G(z)和真實圖像y。不同于GAN 網(wǎng)絡(luò),CycleGAN 同時學(xué)習(xí)兩個映射。定義兩個圖像域X和Y,如圖1a 所示,CycleGAN 學(xué)習(xí)從給定圖像x(x∈X)到輸出圖像y(y∈Y)的映射G:x→y以及從給定圖像y到輸出圖像x的映射F:y→x。在CycleGAN 中還包含了兩個鑒別器DX和DY,生成器G和F盡可能生成真實的圖像以欺騙鑒別器,而作為一個二分類模型的鑒別器模型,DX用于區(qū)分真實圖像x和預(yù)測圖像F(y),DY用于區(qū)分真實圖像y和預(yù)測圖像G(x)。本文提出的M_CycleGAN 在CycleGAN 的基礎(chǔ)上引入感知損失,通過一個已訓(xùn)練的網(wǎng)絡(luò)分別提取重建圖像和真實圖像的高層特征信息,并通過計算兩幅圖像提取特征的差異學(xué)習(xí)兩幅圖像之間的高級語義信息。S_CycleGAN 在CycleGAN的基礎(chǔ)上引入一個L1損失,通過計算生成圖像與真實圖像之間的L1 損失實現(xiàn)模型的可監(jiān)督訓(xùn)練。
本文中模型的損失函數(shù)包含4 種:用于將生成圖像的數(shù)據(jù)分布與目標圖像的數(shù)據(jù)分布相匹配的對抗損失;用于防止學(xué)習(xí)到的映射函數(shù)G和F之間矛盾的循環(huán)一致性損失;用于提高圖像逼真度的重建圖像與真實圖像之間的感知損失;實現(xiàn)模型可監(jiān)督的生成圖像和真實圖像之間的L1損失。
將對抗損失用于映射函數(shù)G:X→Y,則對映射函數(shù)G和它的鑒別器DY而言,其損失函數(shù)表示為:
其中,生成器G用來生成與Y中的真實圖像盡可能一致的圖像以迷惑DY,而DY用來最大努力地區(qū)分生成圖像G(x)和真實圖像y。類似博弈過程,G旨在將該損失最小化,DY則旨在將該損失最大化,訓(xùn)練目標為minGmaxDYLGAN(G,DY,X,Y)。將對抗損失也應(yīng)用于映射函數(shù)F:Y→X,則其和對應(yīng)鑒別器DX的損失函數(shù)為LGAN(F,DX,X,Y)。
理論上,通過對抗訓(xùn)練可以學(xué)習(xí)到映射函數(shù)G和映射函數(shù)F,兩個映射分別通過源域X和Y的輸入產(chǎn)生與目標域Y和X相匹配的分布。但由于G和F是隨機的函數(shù),有無限多個映射函數(shù)G和F可以使其輸出數(shù)據(jù)的分布與目標域的分布相同,因此只使用對抗訓(xùn)練并不能保證單個輸入x和輸出y的配對有意義,且還有可能導(dǎo)致模型崩潰[10]。
在執(zhí)行轉(zhuǎn)換任務(wù)的過程中,可以觀察到轉(zhuǎn)換滿足循環(huán)一致的特性,即域X中的圖像x通過映射函數(shù)G生成G(x),通過轉(zhuǎn)換循環(huán)可以再返回到原來的圖像,即x→G( )x→F(G(x)) ≈x。類似地,域Y中的圖像y通過映射函數(shù)F生成F(y),通過循環(huán)一致也可以返回到原來的圖像,即y→F(y) →G(F(y)) ≈y。因此為了減少映射函數(shù)G和F的選擇空間,引入循環(huán)一致性損失。這一損失的定義為:
圖1 模型結(jié)構(gòu)示意圖Fig.1 Network architectures
上述提及到的循環(huán)一致性損失使用的逐像素損失在計算僅差一個像素的兩幅相同圖像時,盡管兩幅圖像的感知相似,也會出現(xiàn)很大差異。這是由于逐像素損失不能捕捉生成圖像和真實圖像之間的感知差異。研究表明在網(wǎng)絡(luò)訓(xùn)練中結(jié)合感知損失可以在計算機視覺任務(wù)中產(chǎn)生更真實的視覺效果[13-16]。不同于像素級損失函數(shù)依賴于像素間的差異,感知損失依賴于高級語義特征的差異,一般這些高級特征通過預(yù)訓(xùn)練的網(wǎng)絡(luò)進行提取。本文使用在ImageNet上預(yù)訓(xùn)練的VGG16[17]提取特征圖。將感知損失用于重建圖像和真實圖像,結(jié)合循環(huán)一致性損失進一步縮小映射函數(shù)G和F的選擇空間,則其損失函數(shù)為:
其中,V表示VGG16 中第二次最大池化前的特征映射圖。
由于生成器G和F在生成圖像迷惑鑒別器的同時,也要求產(chǎn)生高質(zhì)量的圖像。且在大多數(shù)情況下,L1 損失能夠捕捉低頻信息、保證圖像低層特征的準確性。因此本文在S_CycleGAN 中引入L1 損失項來實現(xiàn)CycleGAN 模型的可監(jiān)督訓(xùn)練。映射函數(shù)G的L1損失項定義為:
映射函數(shù)F的L1損失項定義為:
CycleGAN的總損失函數(shù)表達式為:
其中,λ用來控制循環(huán)損失的權(quán)重。
S_CycleGAN的總損失函數(shù)表達式為:
其中,λ1用來控制循環(huán)損失的權(quán)重,λ2用來控制L1 損失的權(quán)重。
M_CycleGAN的總損失函數(shù)表達式為:
其中,λ1用來控制循環(huán)損失的權(quán)重,λ2用來控制感知損失的權(quán)重與對抗訓(xùn)練中相互競爭的思想相同,生成器G和F旨在將損失最小化,鑒別器DX和DY旨在將損失最大化。因此上述3 種網(wǎng)絡(luò)的總目標函數(shù)均為:
為了研究對抗性和循環(huán)一致性損失對模型的影響,本文還實現(xiàn)了Generator 模型。它由CycleGAN的生成器組成,僅使用L1 損失在可監(jiān)督的方式下進行訓(xùn)練。其損失函數(shù)如式(4)和式(5)所示。
本文使用 M_CycleGAN、 S_CycleGAN、CycleGAN 以及Generator 模型生成跨模態(tài)MR 圖像。圖1a 中的S_CycleGAN、M_CycleGAN 與CycleGAN模型均由兩個相同結(jié)構(gòu)的生成器和兩個相同結(jié)構(gòu)的鑒別器組成。圖1b 中Generator 模型中的生成器結(jié)構(gòu)與CycleGAN模型中的生成器結(jié)構(gòu)相同。
2.1.1 生成器結(jié)構(gòu)在T1WI 和T2WI 相互轉(zhuǎn)換研究中,由于輸入圖像和輸出圖像大小相同,因此生成器使用了上采樣層數(shù)量和下采樣層數(shù)量相同的編碼-解碼網(wǎng)絡(luò)。另一方面先進行下采樣再進行上采樣的方法可以在計算代價相同的情況下,使用更大的網(wǎng)絡(luò)。
生成器的結(jié)構(gòu)中有4 個卷積層、9 個殘差塊以及2 個轉(zhuǎn)置卷積層,如圖2 所示。本網(wǎng)絡(luò)中沒有使用任何池化層,而是參照Radford 等[18]提出的網(wǎng)絡(luò)及指導(dǎo),使用帶有步長的卷積層來代替池化層以實現(xiàn)網(wǎng)絡(luò)中的圖像上采樣和下采樣。使用殘差連接能夠讓網(wǎng)絡(luò)更容易地學(xué)習(xí)確定的函數(shù),減少數(shù)據(jù)的丟失和損耗、保護輸入信息的完整性[19],因此在網(wǎng)絡(luò)中加入了殘差塊以在保證信息完整性的同時增加網(wǎng)絡(luò)深度,其中殘差塊的結(jié)構(gòu)為兩個使用1×1卷積核的卷積層。由于圖像轉(zhuǎn)換的生成結(jié)果主要依賴于對應(yīng)的輸入圖像實例,因此使用實例歸一化對數(shù)據(jù)進行歸一化,以保持每張圖像實例之間的獨立。
圖2 生成器結(jié)構(gòu)示意圖Fig.2 Network architecture of generator
2.1.2 鑒別器結(jié)構(gòu)在GANs 模型中,生成器生成的圖像被用作鑒別器的輸入之一與真實圖像進行定量比較,以優(yōu)化生成器的性能。鑒別器的目的是將生成器生成的圖像判別為假的即標簽為0,真實的圖像判別為真的即標簽為1,然后將結(jié)果反饋給生成器。根據(jù)實驗證明在圖像生成問題中使用L1 損失和L2損失產(chǎn)生的結(jié)果雖然會比較模糊,但是兩者均可以準確地捕捉低頻信息[9,20]。在CycleGAN 網(wǎng)絡(luò)中通過計算重建圖像與輸入圖像的L1損失來實現(xiàn)循環(huán)一致性,所以在CycleGAN 網(wǎng)絡(luò)中可以使用循環(huán)一致性損失來捕捉圖像的低頻特征,使用PatchGAN[9]作為鑒別器來獲取圖像的高頻信息。PatchGAN 鑒別器只對塊規(guī)模的結(jié)構(gòu)進行懲罰,即判別一個圖像中N×N大小的塊是真的還是假的,然后將這一鑒別器對整個圖像進行卷積,將結(jié)果平均化后作為鑒別器最后的輸出。這一特性將注意力集中到圖像的局部塊上,滿足先前GAN 鑒別器對高頻信息進行建模的需求,且使用PatchGAN 比使用整幅圖像的鑒別器所需參數(shù)更少、訓(xùn)練時間更短。在本文中,使用70×70 的PatchGAN 作為鑒別器網(wǎng)絡(luò),判別70×70 重疊的圖像塊是真的還是假的。如圖3 所示為鑒別器的結(jié)構(gòu)示意圖。不同于生成器,鑒別器中使用斜率為0.2 的帶泄露修正線性單元(LeakyReLU, LReLU)進行非線性激活。
圖3 鑒別器結(jié)構(gòu)示意圖Fig.3 Network architecture of discriminator
本文的模型使用Nvidia GeForce GTX 1060 GPU進行訓(xùn)練。訓(xùn)練的數(shù)據(jù)集由Human Connectome project(https://db.humanconnectome.org/)提供。本文使用了32位受試者成對的T1WI和T2WI(但需要注意的是CycleGAN 網(wǎng)絡(luò)可以使用未配對的數(shù)據(jù)進行訓(xùn)練)。其中,將26 位受試者的數(shù)據(jù)用于訓(xùn)練,剩余6位受試者的數(shù)據(jù)用于測試。
數(shù)據(jù)處理主要分為三步。第一步,使用ITKSNAP 軟件對每位受試者的成對數(shù)據(jù)進行配準,使配對的圖像大小相同、位置相同。第二步,由于本文的模型只能支持二維的輸入圖像,所以對配準后的數(shù)據(jù)分別沿著x軸、y軸、z軸進行切割,其中水平面選擇30 個切片,矢狀面選擇20 個切片,冠狀面選擇20 個切片。因此訓(xùn)練集的每個域有1 820 幅圖像,測試集的每個域有420 幅圖像。第三步,圖像大小調(diào)整。數(shù)據(jù)集中的三維數(shù)據(jù)大小為256×256×176,切割后的數(shù)據(jù)大小分別為256×256、256×176、256×176,因此對大小為256×176的圖像使用雙線性插值調(diào)整圖像大小,將所有的圖像大小統(tǒng)一為256×256。為了使模型更容易收斂,在進行訓(xùn)練前,需要對數(shù)據(jù)進行歸一化。由于MR 圖像是8 bit 深度圖像,因此使用公式X=- 1將數(shù)據(jù)統(tǒng)一映射到-1到1的區(qū)間上。
3個CycleGAN模型中所有的權(quán)重均以高斯分布N(0,0.02)進行初始化,且設(shè)循環(huán)一致性損失懲罰系數(shù)均為10.0。設(shè)M_CycleGAN 模型中λ2為10.0 對真實圖像和重建圖像的感知損失進行正則化,設(shè)S_CycleGAN 模型中的λ2為10.0 對生成圖像與真實圖像間的L1 損失進行正則化。3 個模型都是用Adam 優(yōu)化器進行訓(xùn)練,其中用以控制權(quán)重分配的系數(shù)β1設(shè)置為0.5,用以控制之前梯度平方影響的系數(shù)β2設(shè)置為0.999。因為本文在模型中使用實例歸一化,所以將batchsize 設(shè)置為1。將生成器的學(xué)習(xí)速率和鑒別器的學(xué)習(xí)速率初始設(shè)置為0.000 2,在訓(xùn)練的前100 個周期中保持學(xué)習(xí)速率不變,然后在后100 個周期中學(xué)習(xí)速率逐漸衰減到0。在每一周期循環(huán)中將生成器迭代次數(shù)和鑒別器的迭代次數(shù)均設(shè)置為1,使生成器和鑒別器進行交替訓(xùn)練。對于Generator模型,僅使用L1 損失進行訓(xùn)練,其余參數(shù)設(shè)置與上述CycleGAN模型參數(shù)一致。
使用歸一化均方根誤差(Normalized Root Mean-Squared Error,NRMSE)、峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)、結(jié) 構(gòu) 相 似 性(Structural Similarity Index, SSIM)[21]、互信息(Mutual Information,MI)[22]分別對模型測試的結(jié)果進行定量評估。PSNR、SSIM 以及MI 的值越高,NRMSE 值越小表示生成的圖像失真越小。當生成圖像與真實圖像之間的誤差很小的情況下,很難對生成圖像繼續(xù)進行視覺評估,因此本文計算兩幅圖像之間每個像素的絕對差值并將其可視化以實現(xiàn)視覺評估。
表 1列出了 M_CycleGAN、S_CycleGAN、CycleGAN 以及Generator 在測試集上的定量評估結(jié)果。Generator 模型在所有定量測量中表現(xiàn)最佳。與定量分析結(jié)果不同,圖4 的誤差可視化圖表示M_CycleGAN 模型生成的T1WI 和T2WI 的視覺效果表現(xiàn)最佳。這是因為Generator 模型僅使用L1 損失進行監(jiān)督訓(xùn)練使模型傾向于生成表面光滑、不真實的MR圖像,而其余3個GAN模型利用對抗損失使生成的MR 圖像更加真實。誤差可視圖和定量評估結(jié)果均顯示所有模型在生成T2WI的任務(wù)中表現(xiàn)優(yōu)于生成T1WI 的任務(wù)。這是因為在生成T1WI 的時候模型傾向于學(xué)習(xí)結(jié)構(gòu)信息,而忽視了圖像亮度值,使生成的T1WI平均亮度高于真實T1WI的平均亮度。
圖4 評估模型的生成圖像Fig.4 Evaluation of images generated by different models
表1 模型定量評估結(jié)果Tab.1 Quantitative evaluation results of the models
S_CycleGAN 的所有定量測量結(jié)果均優(yōu)于CycleGAN 模型,但在可視化誤差圖中,S_CycleGAN模型生成的T1WI 誤差要大于CycleGAN 模型生成的T1WI 誤差。這是因為與Generator 模型一樣,S_CycleGAN 模型使用了L1 損失實現(xiàn)CycleGAN 模型的可監(jiān)督訓(xùn)練,而L1損失是逐像素的計算方法,使生成的MR圖像更加光滑。
M_CycleGAN 模型的定量評估和可視化評估的結(jié)果均優(yōu)于CycleGAN 模型。這是因為CycleGAN模型僅使用L1損失學(xué)習(xí)重建圖像和真實圖像之間的誤差,而L1損失是像素級別的損失計算方式,忽略了圖像的高層特征信息,M_CycleGAN 模型在此基礎(chǔ)上引入感知損失,通過一個已訓(xùn)練的VGG16 網(wǎng)絡(luò)分別提取重建圖像和真實圖像的高層特征信息,以結(jié)構(gòu)級別的損失計算方式學(xué)習(xí)兩幅圖像之間的高級語義信息,減少了生成器映射函數(shù)的選擇空間,生成與真實圖像盡可能一致的MR圖像。
Dar等[2]表明有監(jiān)督的模型由于包含更多的參考圖像信息,性能要優(yōu)于無監(jiān)督模型。本文中實現(xiàn)了一個有監(jiān)督的CycleGAN 模型(S_CycleGAN)用來與M_CycleGAN 模型進行比較。在生成T1WI 的任務(wù)中,除了MI值外,M_CycleGAN模型的定量評估結(jié)果均優(yōu)于S_CycleGAN 模型(PSNR 高0.376 4 dB,SSIM高0.016 5,NRMSE 低0.010 8,MI 低0.026 0)。在生成 T2WI的任務(wù)中,M_CycleGAN 模型與S_CycleGAN模型定量評估結(jié)果相近(PSNR 相差0.064 8 dB,SSIM 相差0.004 6,NRMSE 相差0.007 3,MI 相差0.007 1)。在可視化結(jié)果中M_CycleGAN 模型生成的T1WI和T2WI視覺效果均優(yōu)于S_CycleGAN模型。這表明M_CycleGAN 模型可以在完全無監(jiān)督的條件下達到與S_CycleGAN 模型相近甚至更優(yōu)的效果。
Yang 等[5]、Yu 等[6]以及Nie 等[8]在研究跨模態(tài)醫(yī)學(xué)圖像轉(zhuǎn)換時,均使用了配對的數(shù)據(jù)進行監(jiān)督訓(xùn)練,但獲取配對的多模態(tài)醫(yī)學(xué)圖像比較困難。Zhang等[4]提出了實現(xiàn)未配對CT 圖像和MR 圖像轉(zhuǎn)換的網(wǎng)絡(luò),但是該網(wǎng)絡(luò)為了減少生成圖像的幾何畸變,使用了帶有語義標簽的圖像作為訓(xùn)練目標,不能實現(xiàn)完全無監(jiān)督轉(zhuǎn)換。Welander 等[12]為了對基于無監(jiān)督CycleGAN 模型和UNIT 模型的多模態(tài)MR 圖像轉(zhuǎn)換進行評估,使用了配對的MR 圖像進行訓(xùn)練。本文提出的方法是在完全無監(jiān)督的條件下實現(xiàn)對未配對常規(guī)MR圖像的轉(zhuǎn)換,為了將訓(xùn)練結(jié)果和真實結(jié)果進行比較,本文使用無監(jiān)督的方式對配對的常規(guī)MR圖像進行了訓(xùn)練,但使用配對數(shù)據(jù)對訓(xùn)練結(jié)果是否存在影響還需要進一步的探索。
Dar 等[2]在多模態(tài)MR 圖像轉(zhuǎn)換的研究中提及到一個受試者連續(xù)的磁共振圖像之間存在一定的聯(lián)系,本文只使用了二維的深度神經(jīng)網(wǎng)絡(luò)對圖像進行學(xué)習(xí),丟失了連續(xù)圖像之間的空間信息,因此可以對三維的深度神經(jīng)網(wǎng)絡(luò)在三維常規(guī)MR 圖像相互轉(zhuǎn)換的可行性進行進一步研究。
本文對CycleGAN 模型進行改進,引入感知損失,使模型在學(xué)習(xí)重建圖像和真實圖像之間的底層結(jié)構(gòu)信息的同時,學(xué)習(xí)高級特征信息。模型利用循環(huán)一致性損失和感知損失實現(xiàn)未配對數(shù)據(jù)訓(xùn)練中的一對一映射,并使生成的MR圖像與真實圖像更加相似。該方法可以實現(xiàn)未配對多模態(tài)MR 圖像的轉(zhuǎn)換進而獲取多模態(tài)MR 圖像信息,并通過生成新的MR圖像數(shù)據(jù)來進行數(shù)據(jù)增強進一步實現(xiàn)圖像分割和圖像配準等任務(wù)。