孫君頂, 楊鴻章, 閆藝丹, 毋小省, 唐朝生
(河南理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 焦作 454000)
腦膠質(zhì)瘤是最常見的原發(fā)性顱內(nèi)腫瘤, 占惡性腦腫瘤的81%, 雖然相對罕見, 但卻造成了顯著的死亡率[1].為了進(jìn)行有效的治療, 獲取清晰和準(zhǔn)確的醫(yī)學(xué)影像是前提. 由于MR圖像可以提供大腦精細(xì)的細(xì)節(jié)結(jié)構(gòu), 且不同模態(tài)(T1、T2、T1CE、FLAIR)的MR圖像可以從不同的角度反映腦腫瘤引起的組織變化, 因此常用于腦腫瘤的檢測和腦部疾病的診斷[2,3]. 然而, 在醫(yī)學(xué)上獲取多模態(tài)數(shù)據(jù)存在著費(fèi)時(shí)、價(jià)格昂貴和設(shè)備缺乏等問題, 使得多模態(tài)數(shù)據(jù)存在缺失[4,5]. 因此, 如何通過其他簡單的方法獲得多模態(tài)數(shù)據(jù)成為了近來研究的熱點(diǎn).
近年來, 隨著生成對抗網(wǎng)絡(luò)(generative adversarial networks, GAN)[6]的提出, 引起了學(xué)者們對圖像生成的廣泛研究, 尤其是在圖像缺乏的醫(yī)學(xué)領(lǐng)域[7]. 基于GAN, 研究人員提出了多種圖像合成方法. Radford等人提出了深度卷積生成對抗網(wǎng)絡(luò)(deep convolutional generative adversarial networks, DCGAN)[8], 它將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于GAN中的生成器和判別器, 使得GAN可以更好地生成圖像數(shù)據(jù). Frid-Adar等人[9]基于DCGAN生成肝臟CT不同類別的病變斑塊, Bermudez等人[10]基于DCGAN在少量數(shù)據(jù)集上生成了人眼無法辨別真假的腦MR圖像. 由于DCGAN無法控制輸出圖像的類別, Mirza等人提出了條件生成對抗網(wǎng)絡(luò)(conditional generative adversarial networks, CGAN)[11], 通過在生成器中加入了條件輸入, 從而有效控制輸出不同類別的數(shù)據(jù). 在CGAN中, pix2pix[12]將輸入的噪聲向量和條件統(tǒng)一用一張圖像來代替, 從而為配對的圖像轉(zhuǎn)換領(lǐng)域提供了一個(gè)通用的框架. 例如, Dar 等人[13]采用pix2pix來實(shí)現(xiàn)T1和T2腦MR圖像的跨模態(tài)轉(zhuǎn)換, Yu等人[14]通過整合邊緣信息來改善pix2pix的MR圖像生成結(jié)果. 為了提高圖像生成質(zhì)量, Pix2PixHD[15]在構(gòu)造判別器時(shí)考慮了多尺度因素, 為每一個(gè)尺度的特征圖分別訓(xùn)練一個(gè)判別器. 鑒于pix2pix無法解決無配對的圖像轉(zhuǎn)換問題, Zhu等人提出了CycleGAN[16], 它無需配對的圖像便可以實(shí)現(xiàn)跨模態(tài)轉(zhuǎn)換. 例如, Wolterink等人[17]使用CycleGAN將2D MR圖像轉(zhuǎn)換為CT圖像; Chartsias等人[18]將CycleGAN用于未配對的圖像到圖像轉(zhuǎn)換,將心臟CT切片和分割圖像生成心臟MR圖像及其相應(yīng)的分割掩模; Jiang等人[19]提出了一種腫瘤感知損失函數(shù)用于CycleGAN, 實(shí)現(xiàn)CT圖像生成MR圖像.
但是, 上述的方法只解決了諸如數(shù)據(jù)稀缺和單一模態(tài)的圖像生成問題, 而MR醫(yī)學(xué)圖像通常包含4種模態(tài), 如果面臨另外幾種(不只一種)模態(tài)缺失的情況,利用傳統(tǒng)方法, 則需要通過多個(gè)網(wǎng)絡(luò)來分別生成, 而訓(xùn)練多個(gè)網(wǎng)絡(luò)必然帶來計(jì)算資源浪費(fèi)和可擴(kuò)展性差的問題. 另一方面, GAN的訓(xùn)練本身又具有脆弱和不穩(wěn)定性[20,21].
另一方面, 雖然卷積神經(jīng)網(wǎng)絡(luò)在諸多領(lǐng)域中取得了巨大成功, 但其性能的提升往往源于模型深度與寬度的增加, 這將導(dǎo)致計(jì)算量的提升. 近年來, 動態(tài)卷積[22]由于其能夠在不增加網(wǎng)絡(luò)深度或?qū)挾鹊那闆r下提高模型的表達(dá)能力, 因此一經(jīng)推出, 便得到了廣泛研究[23–26]. 動態(tài)卷積可以自適應(yīng)的為每個(gè)輸入學(xué)習(xí)自己的卷積核參數(shù), 如Yang等人[23]、Chen等人[24]和Zhang等人[25]提出通過注意力機(jī)制[27]來自適應(yīng)結(jié)合提前初始化好的卷積權(quán)重、參數(shù)與注意力網(wǎng)絡(luò)同時(shí)學(xué)習(xí);Ma等人[26]提出在動態(tài)卷積CondConv[23]與注意力機(jī)制[27]的基礎(chǔ)上直接生成卷積權(quán)重. 近年來, 動態(tài)卷積已廣泛應(yīng)用于分類[23–26]、分割[28–30]、檢測[23,24,26,31]和語言翻譯[32]等領(lǐng)域, 但其在圖像生成方面應(yīng)用還很少.
基于上述問題, 我們將動態(tài)卷積和GAN結(jié)合用于多模態(tài)圖像的生成, 提出了一種動態(tài)生成對抗網(wǎng)絡(luò)(dynamic GAN, DyGAN). 新網(wǎng)絡(luò)通過在卷積核上加入條件, 來控制生成不同模態(tài)的圖像所對應(yīng)的卷積核參數(shù), 實(shí)現(xiàn)由一種模態(tài)同時(shí)生成多種模態(tài)的MR圖像. 同時(shí), 為了提高圖像生成的質(zhì)量, 本文又提出了多尺度判別器, 通過在一個(gè)網(wǎng)絡(luò)中同時(shí)分別進(jìn)行多種不同深度的下采樣, 實(shí)現(xiàn)了綜合判別多個(gè)尺度特征圖的真假. 采用BRATS19數(shù)據(jù)集進(jìn)行圖像生成實(shí)驗(yàn), 實(shí)驗(yàn)結(jié)果證明了本文方法的有效性.
pix2pix在有配對的圖像轉(zhuǎn)換領(lǐng)域, 可以一對一的將一種模態(tài)轉(zhuǎn)換成另一種模態(tài). 它由一個(gè)生成器G和一個(gè)判別器D組成, 其訓(xùn)練過程如圖1所示. 在訓(xùn)練圖像x生成y的過程中,x輸入生成器G, 生成器G則最大可能的生成和它所對應(yīng)真實(shí)圖像y相似的圖像G(x),判別器D不僅負(fù)責(zé)判別生成的圖像G(x)是否和y相似, 而且還要判別它是否和x配對. 這一判別過程是通過分別將真實(shí)圖像x和生成圖像G(x)、真實(shí)圖像x和真實(shí)圖像y輸入判別器D實(shí)現(xiàn)的, 只有輸入 {x,y}的組合, 判別器才會判斷為真.
圖1 pix2pix訓(xùn)練過程
但是, pix2pix只能一對一的將一種模態(tài)轉(zhuǎn)換成另外一種模態(tài), 如果面臨多種模態(tài)缺失的問題, 想要同時(shí)生成多種模態(tài)的MR圖像, 則需要訓(xùn)練多個(gè)pix2pix網(wǎng)絡(luò)才能實(shí)現(xiàn). 如圖2(a)所示, 如果將T2模態(tài)轉(zhuǎn)化成其他3種模態(tài)(FLAIR, T1, T1CE), 則需要分別訓(xùn)練3個(gè)pix2pix網(wǎng)絡(luò).
圖2 DyGAN與pix2pix多模態(tài)轉(zhuǎn)化區(qū)別
現(xiàn)有的動態(tài)卷積大致可以分為兩類. 第一, 通過注意力機(jī)制來自適應(yīng)的結(jié)合提前初始化好的卷積參數(shù)來完成動態(tài)變更, 如Yang等人[23]和Chen等人[24]提出的方法. 第二, 直接生成卷積參數(shù), 如Ma等人[26]提出的方法. 若在生成對抗網(wǎng)絡(luò)中采用第2種方法, 會導(dǎo)致參數(shù)生成網(wǎng)絡(luò)最后一層的神經(jīng)元個(gè)數(shù)過多. 因此, 本文采用第1種動態(tài)卷積的方法.
在第1種動態(tài)卷積的方法中, 最具代表性的是Yang等人[23]提出的CondConv, 其結(jié)構(gòu)如圖3所示. 前一層輸出的特征圖(prev layer output)經(jīng)過全局平均池化(global average pooling, GAP)后, 再經(jīng)過注意力層(attention), 最終生成w1,w2,w3, ···,wn分別對應(yīng)的權(quán)重α1,α2,α3, ···,αn. 其中,w1,w2,w3, ···,wn為提前初始化好的卷積參數(shù), 它們分別與對應(yīng)的權(quán)重相乘然后再相加, 結(jié)合成一組新的參數(shù)W. 最后, 前一層的輸出再與生成的W參數(shù)做卷積運(yùn)算. 整個(gè)過程中w1,w2,w3, ···,wn與注意力層同時(shí)學(xué)習(xí)和訓(xùn)練, 因而對于每一個(gè)不同的輸入樣例都會生成自己特定的權(quán)重.
圖3 CondConv結(jié)構(gòu)
在配對的圖像轉(zhuǎn)換領(lǐng)域, pix2pix雖然可以一對一的將一種模態(tài)的圖像轉(zhuǎn)換成另外一種模態(tài), 但它卻無法同時(shí)生成多種模態(tài)的圖像. 針對該問題, 本文在pix2pix的基礎(chǔ)上, 提出了動態(tài)生成對抗網(wǎng)絡(luò)DyGAN,通過結(jié)合動態(tài)卷積, 并加入任務(wù)標(biāo)簽這一條件, 將不同的模態(tài)轉(zhuǎn)換定義為不同的任務(wù), 來控制生成器輸出不同模態(tài)的圖像. 如圖2(b)所示, 如果將T2模態(tài)同時(shí)轉(zhuǎn)化成其他3種模態(tài), 只需在DyGAN的輸入中加入“c”這一條件, 便可同時(shí)生成3種所需的模態(tài). DyGAN具體訓(xùn)練過程如圖4所示, 圖中以T2模態(tài)生成其他模態(tài)為例.
圖4 DyGAN訓(xùn)練過程
在訓(xùn)練判別器中, 上方矩形框中為使判別器判斷為真的輸入, 下方矩形框中為使判別器判斷為假的輸入. 與pix2pix類似, 其他模態(tài)真實(shí)的圖像(real modality)與真實(shí)的T2 (real T2)相結(jié)合, 同時(shí)輸入判別器才為真.相反, 生成器生成其他模態(tài)的圖像(fake modality)與真實(shí)的T2 (real T2)相結(jié)合, 輸入判別器為假. 與pix2pix不同的是判別器D還需要在任務(wù)標(biāo)簽(task label)的控制下, 判斷不同任務(wù)下圖像的真假. 在訓(xùn)練生成器中,在當(dāng)前任務(wù)(task label)下, 將真實(shí)的T2 (real T2)輸入生成器G, 生成器G使生成的圖像(fake modality)越來越接近真實(shí), 從而使判別器判斷為真.
3.2.1 多模態(tài)標(biāo)簽
在多任務(wù)多模態(tài)醫(yī)學(xué)圖像生成中, 比如T2同時(shí)生成其他3種模態(tài)T1、T1CE和FlAIR, 是同一張圖像同時(shí)生成3種不同模態(tài)的醫(yī)學(xué)圖像. 為此, 我們通過對不同模態(tài)的圖像編碼, 并將該編碼作為輸入的條件.MR醫(yī)學(xué)圖像通常有4種模態(tài), 由其中一種模態(tài)轉(zhuǎn)化成另外3種模態(tài)可以有12種任務(wù)組合, 我們分別對這12種任務(wù)分別進(jìn)行one-hot編碼, 如表1所示. 與StarGAN[33]和MGAN[4]在GAN中加入條件不同, 它們都是在輸入層直接控制在不同條件下的圖像生成,所有輸入共享一套卷積核參數(shù). 在本文方法中, 不同條件控制生成的是不同的卷積核, 不同模態(tài)的圖像均有自己的卷積核參數(shù).
表1 多模態(tài)任務(wù)編碼
3.2.2 DyConv結(jié)構(gòu)
本文提出的多模態(tài)動態(tài)卷積結(jié)構(gòu)如圖5所示. 其中, 圖5(a) 為動態(tài)卷積CondConv結(jié)構(gòu), 圖5(b)為任務(wù)標(biāo)簽?zāi)K, 完成將不同的模態(tài)轉(zhuǎn)換定義為不同的任務(wù).將編碼好的任務(wù)標(biāo)簽c分別與全局平均池化后的張量進(jìn)行拼接, 再經(jīng)過注意力層, 可以控制生成不同任務(wù)所對應(yīng)的動態(tài)卷積參數(shù).
圖5 DyConv結(jié)構(gòu)
3.2.3 編碼解碼網(wǎng)絡(luò)
本文生成器采用U-Net網(wǎng)絡(luò)結(jié)構(gòu)[34], 該網(wǎng)絡(luò)分為4次下采樣和4次上采樣兩部分. 為了生成不同模態(tài)的圖像, 本文考慮采用DyConv來替代U-Net中的卷積.首先, 進(jìn)行了3種不同情況的測試: 采用DyConv替代下采樣卷積操作、采用DyConv替代上采樣卷積操作、采用DyConv同時(shí)替代上下采樣卷積操作3種情況, 結(jié)果表明后兩種情況的效果最好, 而第2種情況的參數(shù)更少(可參見第4.4節(jié)實(shí)驗(yàn)部分). 其次, 因?yàn)檩敵龅膱D像僅有一種模態(tài), 因此我們認(rèn)為下采樣過程僅采用卷積操作即可, 在上采樣過程采用動態(tài)卷積, 即可實(shí)現(xiàn)生成不同模態(tài)的任務(wù). 為此, 在本文的結(jié)構(gòu)中, 我們采用DyConv替代上采樣過程中的卷積操作. 其結(jié)構(gòu)如圖6所示.
圖6 編碼解碼網(wǎng)絡(luò)
在原生成對抗網(wǎng)絡(luò)中, 判別器僅輸出一個(gè)值(真或假)來對整幅圖像進(jìn)行評價(jià), 顯然缺乏對生成圖像細(xì)節(jié)的評價(jià). 為了解決這一問題, pix2pix提出了PatchGAN[12],通過把整幅圖像平均分成多個(gè)塊, 首先針對每個(gè)塊作評價(jià), 然后取所有塊評價(jià)的均值作為最終評價(jià)結(jié)果, 從而在一定程度上考慮了生成圖像的細(xì)節(jié). Pix2pixHD[15]在pix2pix的基礎(chǔ)上, 設(shè)計(jì)了3個(gè)具有相同結(jié)構(gòu)的判別器, 在3個(gè)不同尺度上分別判斷生成圖像的質(zhì)量, 但顯然存在復(fù)雜度高的問題.
為此, 在Pix2pixHD的基礎(chǔ)上, 本文提出在一個(gè)判別器中完成對3個(gè)不同大小尺度的特征圖進(jìn)行判別,其結(jié)構(gòu)如圖7所示. 首先, 生成的圖像和真實(shí)的圖像在通道上進(jìn)行拼接, 一起輸入判別器, 并進(jìn)行3次步幅為2的下采樣操作. 其次, 按照圖7虛線框中所示的操作實(shí)現(xiàn)多尺度處理. 在虛線框所示的結(jié)構(gòu)中, 第1層直接經(jīng)過步幅為1的卷積操作. 第2層經(jīng)過一次步幅為2的下采樣后再經(jīng)過一次步幅為1的卷積操作, 然后與第1層進(jìn)行拼接. 最后一層經(jīng)過兩次步幅為2的下采樣操作, 再經(jīng)過一次步幅為1的卷積, 然后與前兩層進(jìn)行拼接. 第三, 經(jīng)過步幅為1的卷積輸出一個(gè)單通道的判別結(jié)果.
圖7 多尺度判別器網(wǎng)絡(luò)結(jié)構(gòu)
同時(shí), 結(jié)合上面的生成器結(jié)構(gòu), 本文又測試了僅在生成器采用DyConv以及在生成器與判別器中均使用DyConv兩種情況. 結(jié)果發(fā)現(xiàn)生成器和判別器均采用DyConv效果更好, 實(shí)驗(yàn)結(jié)果見表2. 因此, 我們在判別器中也采用DyConv替代了卷積操作, 文中將該方法簡稱為MS_DyGAN.
表2 多模態(tài)圖像生成結(jié)果
本文應(yīng)用LSGAN[35]中提出的目標(biāo)函數(shù), 其判別器和生成器的目標(biāo)函數(shù)定義分別如下:
由于本文基于pix2pix的方法, 訓(xùn)練網(wǎng)絡(luò)需要配對的圖像x和y, 且增加了任務(wù)標(biāo)簽“c”這一輸入, 為此我們定義了新的目標(biāo)函數(shù):
同時(shí), 為了增加生成圖像的準(zhǔn)確性, 我們進(jìn)一步加入了L1損失.
最終, 新的目標(biāo)函數(shù)定義為:
其中,λ為參數(shù).
本文實(shí)驗(yàn)采用BRATS19數(shù)據(jù)集. 該數(shù)據(jù)集包含259個(gè)HGG病例和76個(gè)LGG病例. 其中每個(gè)病例均有配對的T1、T2、T1CE和FLAIR四種模態(tài)的MR圖像, 圖像大小為240×240×155. 實(shí)驗(yàn)選擇220個(gè)HGG病例和60個(gè)LGG病例作為訓(xùn)練集, 剩余的HGG和LGG病例作為測試集. 對于每個(gè)240×240×155大小的圖像, 我們從腦占比最大且較清晰(75–85之間)的圖像中切取出5張作為本實(shí)驗(yàn)的數(shù)據(jù)集. 由于T2磁共振圖像是臨床中廣泛使用的模態(tài), 因此本文的實(shí)驗(yàn)使用T2模態(tài)來合成其他3種模態(tài)的MR的圖像.
在數(shù)據(jù)處理方面, 實(shí)驗(yàn)將切取的每張240×240大小的圖像大小調(diào)整為256×256, 然后將原始數(shù)據(jù)線性縮放至[-1, 1]之間. 在參數(shù)初始化方面, 本文采用He等人[36]提出的初始化方法, 動態(tài)卷積的卷積核結(jié)合組數(shù)設(shè)置為3. 在網(wǎng)絡(luò)訓(xùn)練方面, epochs設(shè)置為100,batch size為1, 優(yōu)化器選擇Adam, 學(xué)習(xí)率采用指數(shù)衰減策略, 初始學(xué)習(xí)率為0.000 2, 衰減率為0.98.
為評價(jià)生成圖像的質(zhì)量, 本文采用峰值信噪比(PSNR)和結(jié)構(gòu)相似性(SSIM)兩個(gè)指標(biāo). 其中,PSNR定義為:
其中,I和K表示大小為m×n的兩幅圖像.
SSIM定義如下:
其中,μx為x的均值,μy為y的均值,σx2為x的方差,σy2為y的方差,σxy為x和y的協(xié)方差,c1=(k1L)2,c2=(k2L)2為 兩個(gè)常數(shù),L=2B-1為 像素值的范圍,k1=0.01,k2=0.03.
對于本文定義的目標(biāo)函數(shù), 我們首先通過實(shí)驗(yàn)來確定系數(shù)λ的取值, 以T2生成其他3種模態(tài)的圖像為例, 實(shí)驗(yàn)結(jié)果如表3所示. 可以看出, 當(dāng)λ取100時(shí), 生成圖像的多項(xiàng)指標(biāo)顯示為最優(yōu), 因此本文在提出的方法中λ均設(shè)置為100.
表3 λ不同取值對應(yīng)結(jié)果
為了測試動態(tài)卷積的圖像生成性能, 針對pix2pix的生成器, 我們比較了在生成器中下采樣用動態(tài)卷積、上采樣用動態(tài)卷積和上下采樣均使用動態(tài)卷積、以及生成器上采樣采用動態(tài)卷積和判別器也采用動態(tài)卷積4種情況, 實(shí)驗(yàn)結(jié)果如表4所示. 其中, only down表示下采樣使用動態(tài)卷積, only up表示上采樣使用動態(tài)卷積, down+up表示下采樣和上采樣均采用動態(tài)卷積, only up+D表示生成器中上采樣用動態(tài)卷積、且判別器也使用動態(tài)卷積.
表4 單一模態(tài)圖像生成結(jié)果
實(shí)驗(yàn)結(jié)果表明只上采樣用動態(tài)卷積和上下采樣均使用動態(tài)卷積效果相差不大, 但均優(yōu)于基準(zhǔn)模型pix2pix和下采樣用動態(tài)卷積. 同時(shí), 本文測試了在判別器中也使用動態(tài)卷積, 結(jié)果證明在生成器和判別器中均使用動態(tài)卷積的效果最好. 整個(gè)實(shí)驗(yàn)過程本文使用T2模態(tài)生成T1模態(tài), 生成圖比較如圖8所示, 其中紅色虛線框中為腫瘤區(qū)域.
圖8 單一模態(tài)生成結(jié)果圖示例
為了進(jìn)一步驗(yàn)證本文方法的效果, 我們以T2模態(tài)生成其他3種模態(tài)圖像為例, 將本文方法與pix2pix、MGAN進(jìn)行了對比, 驗(yàn)證結(jié)果如表2所示. 3*pix2pix表示采用pix2pix模型生成其他3種模態(tài)數(shù)據(jù)需分別訓(xùn)練3個(gè)模型.
實(shí)驗(yàn)結(jié)果表明, 將DyConv與pix2pix相結(jié)合(DyGAN), 各項(xiàng)指標(biāo)均優(yōu)于MGAN. 不僅如此, 除了Flair模態(tài)的SSIM稍低于pix2pix, 其他指標(biāo)也均高于pix2pix, 而且相比pix2pix本文是同時(shí)生成其他3種模態(tài)的圖像. 除此之外, 本文提出的多尺度判別器的結(jié)構(gòu),多項(xiàng)指標(biāo)中顯示它在DyGAN的基礎(chǔ)上進(jìn)一步提升了圖像生成的質(zhì)量. 圖9給出了多模態(tài)圖像的生成實(shí)例對比情況, 其中紅色虛線框中為腫瘤區(qū)域.
圖9 多模態(tài)生成結(jié)果圖示例
針對多模態(tài)MR圖像的生成方法難以通過一種模態(tài)同時(shí)生成其他所有模態(tài)的問題, 論文一方面將動態(tài)卷積應(yīng)用于生成對抗網(wǎng)絡(luò), 提出了動態(tài)生成對抗網(wǎng)絡(luò)模型; 另一方面, 通過任務(wù)標(biāo)簽的形式對不同模態(tài)的圖像進(jìn)行編碼, 并將編碼結(jié)果與動態(tài)生成對抗網(wǎng)絡(luò)結(jié)合,從而有效實(shí)現(xiàn)了由一種模態(tài)同時(shí)生成多種MR模態(tài)的數(shù)據(jù). 在此基礎(chǔ)上, 我們進(jìn)一步提出多尺度的判別器網(wǎng)絡(luò), 提高了判別器的判別性能. 實(shí)驗(yàn)結(jié)果表明, 本文方法有效解決了難以同時(shí)生成多種模態(tài)數(shù)據(jù)的問題, 并同時(shí)提高了生成圖像的質(zhì)量.