張澤茹,李兆同,劉良友,高嵩,吳奉梁
1.北京大學醫學部醫學技術研究院,北京100191;2.北京大學醫學人文學院,北京100191;3.北京大學第三醫院骨科,北京100191
磁共振成像具有高分辨率軟組織圖像、病變顯示敏感性高的優點,被廣泛應用于臨床診斷。不同的脈沖序列在成像時可以獲取到不同模態的磁共振(Magnetic Resonance, MR)圖像,這些模態圖像的對比機制不同,提供的病理和生理信息也不同,因此同時使用多模態的MR圖像可以獲得更多的病理信息。例如,T1(自旋-晶格弛豫)加權圖像(T1Weighted Image,T1WI)適用于觀察解剖結構,而T2(自旋-自旋弛豫)加權圖像(T2Weighted Image,T2WI)突出顯示組織中的液體,適用于觀察組織病變。同時獲取高質量的多模態MR 圖像比較困難。首先獲取需要較長的掃描時間,其次受患者不自主運動影響獲取到的MR 圖像可能會出現偽影而不能用于診斷[1]。因此,通過利用掃描時間相對較短的圖像來生成另一模態圖像,或通過高質量的某一模態圖像生成損壞的另一模態圖像對獲取多模態MR 圖像具有潛在的臨床應用價值[2]。
圖像到圖像轉換網絡在自然圖像上的成功,為多模態醫學圖像轉換提供了很好的參考。生成式對抗網絡(Generative Adversarial Network, GAN)通過生成模型和判別模型之間的對抗來實現總目標函數的自動學習,使生成模型輸出圖像盡可能接近真實圖像[3]。目前已有很多研究將GAN 用于多模態醫學圖像轉換,如端到端的三維卷積神經網絡[4]、三維條件生成式對抗網絡[5-7]、全卷積網絡的GAN模型[8]、有監督的GAN[9]和無監督的GAN[10-12]等。有監督的模型在不同模態MR 圖像間的轉換表現優于無監督的模型表現[2],但是成對的MR 圖像較難獲取,因此需要一個通過對未配對MR 圖像進行學習生成高質量MR 圖像的模型。鑒于在多數圖像處理任務中很難獲取到成對的訓練數據,Zhu等[10]利用轉換具有循環一致性的特性,提出了無監督的循環生成式對抗網絡(CycleGAN),在GAN 網絡中引入循環一致性損失,將該損失與對抗損失組合進行學習,實現了未配對圖像到圖像的轉換。
本文對CycleGAN 模型進行改進,在使用對抗損失保證圖像結構信息和循環損失保證循環一致性的同時,引入感知損失提高生成圖像的準確性。Welander 等[12]提及到在訓練中引入真實圖像可以使模型學習到更多的圖像信息,且本文使用成對的數據集進行訓練,因此本文還搭建了一個訓練可監督的CycleGAN 模型(S_CycleGAN)與改進后的模型(M_CycleGAN)進行對比。通過對M_CycleGAN 模型、S_CycleGAN 模型及CycleGAN 模型進行定量與可視化分析,研究M_CycleGAN 模型無監督、高質量地實現常規MR圖像間相互轉換的可行性。
GAN 是由兩個子網絡G和D組成的神經網絡結構,其中G是生成器,D是鑒別器。G旨在學習從隨機向量噪聲z到目標域中圖像y的映射,而D學習區分生成的圖像G(z)和真實圖像y。不同于GAN 網絡,CycleGAN 同時學習兩個映射。定義兩個圖像域X和Y,如圖1a 所示,CycleGAN 學習從給定圖像x(x∈X)到輸出圖像y(y∈Y)的映射G:x→y以及從給定圖像y到輸出圖像x的映射F:y→x。在CycleGAN 中還包含了兩個鑒別器DX和DY,生成器G和F盡可能生成真實的圖像以欺騙鑒別器,而作為一個二分類模型的鑒別器模型,DX用于區分真實圖像x和預測圖像F(y),DY用于區分真實圖像y和預測圖像G(x)。本文提出的M_CycleGAN 在CycleGAN 的基礎上引入感知損失,通過一個已訓練的網絡分別提取重建圖像和真實圖像的高層特征信息,并通過計算兩幅圖像提取特征的差異學習兩幅圖像之間的高級語義信息。S_CycleGAN 在CycleGAN的基礎上引入一個L1損失,通過計算生成圖像與真實圖像之間的L1 損失實現模型的可監督訓練。
本文中模型的損失函數包含4 種:用于將生成圖像的數據分布與目標圖像的數據分布相匹配的對抗損失;用于防止學習到的映射函數G和F之間矛盾的循環一致性損失;用于提高圖像逼真度的重建圖像與真實圖像之間的感知損失;實現模型可監督的生成圖像和真實圖像之間的L1損失。
將對抗損失用于映射函數G:X→Y,則對映射函數G和它的鑒別器DY而言,其損失函數表示為:

其中,生成器G用來生成與Y中的真實圖像盡可能一致的圖像以迷惑DY,而DY用來最大努力地區分生成圖像G(x)和真實圖像y。類似博弈過程,G旨在將該損失最小化,DY則旨在將該損失最大化,訓練目標為minGmaxDYLGAN(G,DY,X,Y)。將對抗損失也應用于映射函數F:Y→X,則其和對應鑒別器DX的損失函數為LGAN(F,DX,X,Y)。
理論上,通過對抗訓練可以學習到映射函數G和映射函數F,兩個映射分別通過源域X和Y的輸入產生與目標域Y和X相匹配的分布。但由于G和F是隨機的函數,有無限多個映射函數G和F可以使其輸出數據的分布與目標域的分布相同,因此只使用對抗訓練并不能保證單個輸入x和輸出y的配對有意義,且還有可能導致模型崩潰[10]。
在執行轉換任務的過程中,可以觀察到轉換滿足循環一致的特性,即域X中的圖像x通過映射函數G生成G(x),通過轉換循環可以再返回到原來的圖像,即x→G( )x→F(G(x)) ≈x。類似地,域Y中的圖像y通過映射函數F生成F(y),通過循環一致也可以返回到原來的圖像,即y→F(y) →G(F(y)) ≈y。因此為了減少映射函數G和F的選擇空間,引入循環一致性損失。這一損失的定義為:

圖1 模型結構示意圖Fig.1 Network architectures

上述提及到的循環一致性損失使用的逐像素損失在計算僅差一個像素的兩幅相同圖像時,盡管兩幅圖像的感知相似,也會出現很大差異。這是由于逐像素損失不能捕捉生成圖像和真實圖像之間的感知差異。研究表明在網絡訓練中結合感知損失可以在計算機視覺任務中產生更真實的視覺效果[13-16]。不同于像素級損失函數依賴于像素間的差異,感知損失依賴于高級語義特征的差異,一般這些高級特征通過預訓練的網絡進行提取。本文使用在ImageNet上預訓練的VGG16[17]提取特征圖。將感知損失用于重建圖像和真實圖像,結合循環一致性損失進一步縮小映射函數G和F的選擇空間,則其損失函數為:

其中,V表示VGG16 中第二次最大池化前的特征映射圖。
由于生成器G和F在生成圖像迷惑鑒別器的同時,也要求產生高質量的圖像。且在大多數情況下,L1 損失能夠捕捉低頻信息、保證圖像低層特征的準確性。因此本文在S_CycleGAN 中引入L1 損失項來實現CycleGAN 模型的可監督訓練。映射函數G的L1損失項定義為:

映射函數F的L1損失項定義為:

CycleGAN的總損失函數表達式為:

其中,λ用來控制循環損失的權重。
S_CycleGAN的總損失函數表達式為:

其中,λ1用來控制循環損失的權重,λ2用來控制L1 損失的權重。
M_CycleGAN的總損失函數表達式為:

其中,λ1用來控制循環損失的權重,λ2用來控制感知損失的權重與對抗訓練中相互競爭的思想相同,生成器G和F旨在將損失最小化,鑒別器DX和DY旨在將損失最大化。因此上述3 種網絡的總目標函數均為:

為了研究對抗性和循環一致性損失對模型的影響,本文還實現了Generator 模型。它由CycleGAN的生成器組成,僅使用L1 損失在可監督的方式下進行訓練。其損失函數如式(4)和式(5)所示。
本文使用 M_CycleGAN、 S_CycleGAN、CycleGAN 以及Generator 模型生成跨模態MR 圖像。圖1a 中的S_CycleGAN、M_CycleGAN 與CycleGAN模型均由兩個相同結構的生成器和兩個相同結構的鑒別器組成。圖1b 中Generator 模型中的生成器結構與CycleGAN模型中的生成器結構相同。
2.1.1 生成器結構在T1WI 和T2WI 相互轉換研究中,由于輸入圖像和輸出圖像大小相同,因此生成器使用了上采樣層數量和下采樣層數量相同的編碼-解碼網絡。另一方面先進行下采樣再進行上采樣的方法可以在計算代價相同的情況下,使用更大的網絡。
生成器的結構中有4 個卷積層、9 個殘差塊以及2 個轉置卷積層,如圖2 所示。本網絡中沒有使用任何池化層,而是參照Radford 等[18]提出的網絡及指導,使用帶有步長的卷積層來代替池化層以實現網絡中的圖像上采樣和下采樣。使用殘差連接能夠讓網絡更容易地學習確定的函數,減少數據的丟失和損耗、保護輸入信息的完整性[19],因此在網絡中加入了殘差塊以在保證信息完整性的同時增加網絡深度,其中殘差塊的結構為兩個使用1×1卷積核的卷積層。由于圖像轉換的生成結果主要依賴于對應的輸入圖像實例,因此使用實例歸一化對數據進行歸一化,以保持每張圖像實例之間的獨立。

圖2 生成器結構示意圖Fig.2 Network architecture of generator
2.1.2 鑒別器結構在GANs 模型中,生成器生成的圖像被用作鑒別器的輸入之一與真實圖像進行定量比較,以優化生成器的性能。鑒別器的目的是將生成器生成的圖像判別為假的即標簽為0,真實的圖像判別為真的即標簽為1,然后將結果反饋給生成器。根據實驗證明在圖像生成問題中使用L1 損失和L2損失產生的結果雖然會比較模糊,但是兩者均可以準確地捕捉低頻信息[9,20]。在CycleGAN 網絡中通過計算重建圖像與輸入圖像的L1損失來實現循環一致性,所以在CycleGAN 網絡中可以使用循環一致性損失來捕捉圖像的低頻特征,使用PatchGAN[9]作為鑒別器來獲取圖像的高頻信息。PatchGAN 鑒別器只對塊規模的結構進行懲罰,即判別一個圖像中N×N大小的塊是真的還是假的,然后將這一鑒別器對整個圖像進行卷積,將結果平均化后作為鑒別器最后的輸出。這一特性將注意力集中到圖像的局部塊上,滿足先前GAN 鑒別器對高頻信息進行建模的需求,且使用PatchGAN 比使用整幅圖像的鑒別器所需參數更少、訓練時間更短。在本文中,使用70×70 的PatchGAN 作為鑒別器網絡,判別70×70 重疊的圖像塊是真的還是假的。如圖3 所示為鑒別器的結構示意圖。不同于生成器,鑒別器中使用斜率為0.2 的帶泄露修正線性單元(LeakyReLU, LReLU)進行非線性激活。

圖3 鑒別器結構示意圖Fig.3 Network architecture of discriminator
本文的模型使用Nvidia GeForce GTX 1060 GPU進行訓練。訓練的數據集由Human Connectome project(https://db.humanconnectome.org/)提供。本文使用了32位受試者成對的T1WI和T2WI(但需要注意的是CycleGAN 網絡可以使用未配對的數據進行訓練)。其中,將26 位受試者的數據用于訓練,剩余6位受試者的數據用于測試。
數據處理主要分為三步。第一步,使用ITKSNAP 軟件對每位受試者的成對數據進行配準,使配對的圖像大小相同、位置相同。第二步,由于本文的模型只能支持二維的輸入圖像,所以對配準后的數據分別沿著x軸、y軸、z軸進行切割,其中水平面選擇30 個切片,矢狀面選擇20 個切片,冠狀面選擇20 個切片。因此訓練集的每個域有1 820 幅圖像,測試集的每個域有420 幅圖像。第三步,圖像大小調整。數據集中的三維數據大小為256×256×176,切割后的數據大小分別為256×256、256×176、256×176,因此對大小為256×176的圖像使用雙線性插值調整圖像大小,將所有的圖像大小統一為256×256。為了使模型更容易收斂,在進行訓練前,需要對數據進行歸一化。由于MR 圖像是8 bit 深度圖像,因此使用公式X=- 1將數據統一映射到-1到1的區間上。
3個CycleGAN模型中所有的權重均以高斯分布N(0,0.02)進行初始化,且設循環一致性損失懲罰系數均為10.0。設M_CycleGAN 模型中λ2為10.0 對真實圖像和重建圖像的感知損失進行正則化,設S_CycleGAN 模型中的λ2為10.0 對生成圖像與真實圖像間的L1 損失進行正則化。3 個模型都是用Adam 優化器進行訓練,其中用以控制權重分配的系數β1設置為0.5,用以控制之前梯度平方影響的系數β2設置為0.999。因為本文在模型中使用實例歸一化,所以將batchsize 設置為1。將生成器的學習速率和鑒別器的學習速率初始設置為0.000 2,在訓練的前100 個周期中保持學習速率不變,然后在后100 個周期中學習速率逐漸衰減到0。在每一周期循環中將生成器迭代次數和鑒別器的迭代次數均設置為1,使生成器和鑒別器進行交替訓練。對于Generator模型,僅使用L1 損失進行訓練,其余參數設置與上述CycleGAN模型參數一致。
使用歸一化均方根誤差(Normalized Root Mean-Squared Error,NRMSE)、峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)、結 構 相 似 性(Structural Similarity Index, SSIM)[21]、互信息(Mutual Information,MI)[22]分別對模型測試的結果進行定量評估。PSNR、SSIM 以及MI 的值越高,NRMSE 值越小表示生成的圖像失真越小。當生成圖像與真實圖像之間的誤差很小的情況下,很難對生成圖像繼續進行視覺評估,因此本文計算兩幅圖像之間每個像素的絕對差值并將其可視化以實現視覺評估。
表 1列出了 M_CycleGAN、S_CycleGAN、CycleGAN 以及Generator 在測試集上的定量評估結果。Generator 模型在所有定量測量中表現最佳。與定量分析結果不同,圖4 的誤差可視化圖表示M_CycleGAN 模型生成的T1WI 和T2WI 的視覺效果表現最佳。這是因為Generator 模型僅使用L1 損失進行監督訓練使模型傾向于生成表面光滑、不真實的MR圖像,而其余3個GAN模型利用對抗損失使生成的MR 圖像更加真實。誤差可視圖和定量評估結果均顯示所有模型在生成T2WI的任務中表現優于生成T1WI 的任務。這是因為在生成T1WI 的時候模型傾向于學習結構信息,而忽視了圖像亮度值,使生成的T1WI平均亮度高于真實T1WI的平均亮度。

圖4 評估模型的生成圖像Fig.4 Evaluation of images generated by different models

表1 模型定量評估結果Tab.1 Quantitative evaluation results of the models
S_CycleGAN 的所有定量測量結果均優于CycleGAN 模型,但在可視化誤差圖中,S_CycleGAN模型生成的T1WI 誤差要大于CycleGAN 模型生成的T1WI 誤差。這是因為與Generator 模型一樣,S_CycleGAN 模型使用了L1 損失實現CycleGAN 模型的可監督訓練,而L1損失是逐像素的計算方法,使生成的MR圖像更加光滑。
M_CycleGAN 模型的定量評估和可視化評估的結果均優于CycleGAN 模型。這是因為CycleGAN模型僅使用L1損失學習重建圖像和真實圖像之間的誤差,而L1損失是像素級別的損失計算方式,忽略了圖像的高層特征信息,M_CycleGAN 模型在此基礎上引入感知損失,通過一個已訓練的VGG16 網絡分別提取重建圖像和真實圖像的高層特征信息,以結構級別的損失計算方式學習兩幅圖像之間的高級語義信息,減少了生成器映射函數的選擇空間,生成與真實圖像盡可能一致的MR圖像。
Dar等[2]表明有監督的模型由于包含更多的參考圖像信息,性能要優于無監督模型。本文中實現了一個有監督的CycleGAN 模型(S_CycleGAN)用來與M_CycleGAN 模型進行比較。在生成T1WI 的任務中,除了MI值外,M_CycleGAN模型的定量評估結果均優于S_CycleGAN 模型(PSNR 高0.376 4 dB,SSIM高0.016 5,NRMSE 低0.010 8,MI 低0.026 0)。在生成 T2WI的任務中,M_CycleGAN 模型與S_CycleGAN模型定量評估結果相近(PSNR 相差0.064 8 dB,SSIM 相差0.004 6,NRMSE 相差0.007 3,MI 相差0.007 1)。在可視化結果中M_CycleGAN 模型生成的T1WI和T2WI視覺效果均優于S_CycleGAN模型。這表明M_CycleGAN 模型可以在完全無監督的條件下達到與S_CycleGAN 模型相近甚至更優的效果。
Yang 等[5]、Yu 等[6]以及Nie 等[8]在研究跨模態醫學圖像轉換時,均使用了配對的數據進行監督訓練,但獲取配對的多模態醫學圖像比較困難。Zhang等[4]提出了實現未配對CT 圖像和MR 圖像轉換的網絡,但是該網絡為了減少生成圖像的幾何畸變,使用了帶有語義標簽的圖像作為訓練目標,不能實現完全無監督轉換。Welander 等[12]為了對基于無監督CycleGAN 模型和UNIT 模型的多模態MR 圖像轉換進行評估,使用了配對的MR 圖像進行訓練。本文提出的方法是在完全無監督的條件下實現對未配對常規MR圖像的轉換,為了將訓練結果和真實結果進行比較,本文使用無監督的方式對配對的常規MR圖像進行了訓練,但使用配對數據對訓練結果是否存在影響還需要進一步的探索。
Dar 等[2]在多模態MR 圖像轉換的研究中提及到一個受試者連續的磁共振圖像之間存在一定的聯系,本文只使用了二維的深度神經網絡對圖像進行學習,丟失了連續圖像之間的空間信息,因此可以對三維的深度神經網絡在三維常規MR 圖像相互轉換的可行性進行進一步研究。
本文對CycleGAN 模型進行改進,引入感知損失,使模型在學習重建圖像和真實圖像之間的底層結構信息的同時,學習高級特征信息。模型利用循環一致性損失和感知損失實現未配對數據訓練中的一對一映射,并使生成的MR圖像與真實圖像更加相似。該方法可以實現未配對多模態MR 圖像的轉換進而獲取多模態MR 圖像信息,并通過生成新的MR圖像數據來進行數據增強進一步實現圖像分割和圖像配準等任務。