高志軍, 高 雅
(黑龍江科技大學(xué) 計(jì)算機(jī)與信息工程學(xué)院, 哈爾濱 150022)
新型冠狀病毒肺炎疫情自爆發(fā)以來,一直威脅著人們的健康和生命,CT檢查是判斷新冠肺炎重要的影像學(xué)檢查方法[1]。但是僅僅依靠放射科醫(yī)生用人眼診斷CT圖像勞動(dòng)強(qiáng)度大,且耗時(shí)巨大。隨著對(duì)深度學(xué)習(xí)技術(shù)的不斷深入研究,現(xiàn)有的深度學(xué)習(xí)技術(shù)可以快速、準(zhǔn)確地輔助醫(yī)生通過CT圖像對(duì)患者進(jìn)行新冠肺炎篩查、診斷和跟蹤治療。
新冠肺炎CT圖像常用于深度學(xué)習(xí)的圖像分類、圖像檢測(cè)和圖像分割等模型的訓(xùn)練,然而醫(yī)學(xué)圖像具有難獲取、數(shù)量稀少的特性,這與深度學(xué)習(xí)模型需要大量的數(shù)據(jù)集相違背。圖像生成為醫(yī)學(xué)圖像數(shù)據(jù)集提供了一個(gè)解決方法,傳統(tǒng)數(shù)據(jù)增強(qiáng)方法較為有限,而圖像生成方法擴(kuò)充的醫(yī)學(xué)CT圖像具有更豐富的病變特征。生成對(duì)抗網(wǎng)絡(luò)(GAN)是目前主流的圖像生成模型,GAN生成的醫(yī)學(xué)圖像不僅保留了醫(yī)學(xué)圖像的特殊性,而且生成效果往往優(yōu)于變分自編碼器,因此GAN在醫(yī)學(xué)圖像處理領(lǐng)域使用廣泛。
Jiang等[2]將Pix2pixHD模型引入新冠肺炎CT數(shù)據(jù)集,該模型采用傳統(tǒng)數(shù)據(jù)增強(qiáng)方法對(duì)訓(xùn)練集和測(cè)試集進(jìn)行擴(kuò)充,雖然訓(xùn)練好的網(wǎng)絡(luò)在定量評(píng)估指標(biāo)上都取得了較好的效果,但是醫(yī)學(xué)數(shù)據(jù)集的特殊性互相配對(duì)的標(biāo)簽較難獲得。Zhou等[3]提出LSAE模型,通過選取健康肺的胸部輪廓和病肺的內(nèi)部紋理進(jìn)行生成,雖然生成圖像的定量評(píng)估非常優(yōu)秀,但是并不能生成新的肺部紋理。Rahman等[4]提出HealthyGAN模型,該模型在腦部和肺部數(shù)據(jù)集上進(jìn)行研究,利用生成的健康圖像和原始圖像的差異,預(yù)測(cè)原始圖像是否為患病或異常圖像,但是不能生成新的新冠肺炎CT圖像?;谝陨夏P托枰鋵?duì)標(biāo)簽,不能生成新的肺部紋理和不能生成新的新冠肺炎CT圖像的不足,筆者采用向量到圖像模型(V2I)中性能最好的ProjectedGAN模型[5]作為基準(zhǔn)模型生成新冠肺炎CT圖像。利用其向量到圖像模型(V2I)的不需要配對(duì)標(biāo)簽的優(yōu)點(diǎn)生成圖像。在該模型的生成器主干網(wǎng)絡(luò)的上采樣模塊中添加有效通道注意力機(jī)制[6](Efficient channel attention,ECA),改善ProjectedGAN模型生成的CT圖像肺部輪廓不能閉合的問題。
ProjectedGAN模型和大多數(shù)向量到圖像的GAN模型一樣,都是由生成器和鑒別器組成的,不同的是Sauer等在鑒別器前添加了一個(gè)類U-Net結(jié)構(gòu)的特征網(wǎng)絡(luò),并在該網(wǎng)絡(luò)的每層后連接了一個(gè)鑒別器。因此,ProjectedGAN模型是由一個(gè)生成器、U-Net的特征網(wǎng)絡(luò)和多尺度鑒別器組成。
1.1.1 生成器
ProjectedGAN模型采用FastGAN模型[7]的生成器,該生成器最初是由DCGAN模型[8]的生成器改進(jìn)而來。具體網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1所示。在簡(jiǎn)單的對(duì)高維向量進(jìn)行上采樣、卷積、歸一化和激活之外,還提出了一個(gè)跳躍激勵(lì)模塊(Skip-layer channel-wise excitation,SLE)。該模塊將殘差塊的激活之間從加法改為乘法,不僅增加了梯度流,還大大減少了卷積的計(jì)算量,而且還能應(yīng)用在不同的分辨率之間。
圖1 生成器
式中:xl、xh——SLE模塊的低分辨率和高分辨率的輸入特征映射;
y——SLE模塊的輸出特征映射;
F——低分辨率xl的一系列操作;
Wi——要學(xué)習(xí)的模塊權(quán)重,i∈[1,5]。
SLE模塊的任務(wù)就是首先將低分辨率的特征圖(如16×16)進(jìn)行一系列操作變成與高分辨率的特征圖(如256×256)一樣的通道數(shù),然后按通道順序相乘,最后輸出和高分辨率形狀大小相同的特征圖(如256×256)。
1.1.2 類U-Net特征網(wǎng)絡(luò)
這個(gè)類U-Net特征網(wǎng)絡(luò)由兩個(gè)部分組成,跨通道混合(CCM)和交叉尺度混合(CSM)。CCM在四個(gè)尺度上應(yīng)用隨機(jī)投影(1×1的卷積),CSM使用3×3的卷積和上采樣擴(kuò)展了CCM,形成了一個(gè)比U-Net更簡(jiǎn)單的網(wǎng)絡(luò)結(jié)構(gòu)。ProjectedGAN模型論文中的消融實(shí)驗(yàn)證明了多個(gè)輸出通道(4個(gè))將導(dǎo)致更優(yōu)的質(zhì)量。
1.1.3 多尺度鑒別器
特征網(wǎng)絡(luò)的每個(gè)輸出通道后都連接一個(gè)鑒別器,每個(gè)鑒別器都采用一個(gè)簡(jiǎn)單的卷積。為了使每個(gè)鑒別器輸出相同的分辨率,在不同尺度的網(wǎng)絡(luò)層后接入不同數(shù)量的下采樣模塊。以上兩個(gè)部分的網(wǎng)絡(luò)結(jié)構(gòu),如圖2所示。
圖2 類U-Net特征網(wǎng)絡(luò)和多尺度鑒別器
1.1.4 目標(biāo)函數(shù)
GAN模型的目標(biāo)函數(shù)為
式中:x——服從數(shù)據(jù)分布pd的真實(shí)樣本;
z——服從數(shù)據(jù)分布pz的隨機(jī)向量;
D(y)——判斷y是真實(shí)樣本,還是生成樣本,y∈[x,G(z)];
G(z)——生成樣本。
GAN的基本原理就是一個(gè)服從某一數(shù)據(jù)分布pz的隨機(jī)向量z,通過生成器生成樣本G(z),然后用鑒別器判斷一個(gè)樣本是真實(shí)樣本x~pd還是生成樣本G(z),最后通過大量訓(xùn)練后生成器和鑒別器達(dá)到納什均衡的過程。
ProjectedGAN模型的目標(biāo)函數(shù)為
Pl——特征投影集合,l∈[1,4];
Dl——單獨(dú)鑒別器的集合,l∈[1,4]。
由于新冠肺炎CT數(shù)據(jù)集難獲取配對(duì)標(biāo)簽的情況,文中采用ProjectedGAN模型,應(yīng)用其V2I模型替換了M2I模型進(jìn)行生成圖像。針對(duì)ProjectedGAN模型生成的圖像肺部輪廓不能閉合的問題,在生成器的主干網(wǎng)絡(luò)上添加ECA注意力機(jī)制,最終生成質(zhì)量高的生成圖像。
1.2.1 V2I模型
GAN模型主要分為向量到圖像模型(V2I)和標(biāo)簽到圖像模型(M2I)兩類[9],兩個(gè)類型的模型在輸入輸出上有所不同。
V2I模型是向GAN中輸入隨機(jī)向量和真實(shí)圖像,隨機(jī)輸出和真實(shí)圖像紋理不同的生成圖像。M2I模型是向GAN中輸入訓(xùn)練集中的真實(shí)圖像和配對(duì)的標(biāo)簽進(jìn)行訓(xùn)練,然后再輸入測(cè)試集中的標(biāo)簽,輸出和標(biāo)簽對(duì)應(yīng)的生成圖像。目前,對(duì)新冠肺炎CT數(shù)據(jù)集的圖像生成大多數(shù)采用M2I模型,該模型的特點(diǎn)是需要配對(duì)的標(biāo)簽,生成圖像的數(shù)量取決于提供標(biāo)簽的數(shù)量,但是獲取被放射科醫(yī)生標(biāo)注的標(biāo)簽是極為困難的,因此,文中采用V2I模型,如圖3所示。
圖3 兩類模型的對(duì)比
1.2.2 添加注意力機(jī)制
在模型網(wǎng)絡(luò)上添加注意力機(jī)制來解決生成圖像肺部輪廓不閉合問題。在生成模型時(shí),關(guān)于注意力機(jī)制的最新研究是StyleNAT模型[10],它提出添加Swin Transformer[11]的計(jì)算量大問題和自我注意力機(jī)制內(nèi)存高問題,將StyleSwin模型[12]的生成器中的注意力機(jī)制部分換成了鄰域注意力機(jī)制和擴(kuò)展領(lǐng)域注意力機(jī)制,這樣就使模型吞吐量和參數(shù)量取得最低的結(jié)果。實(shí)際上,這種改進(jìn)的訓(xùn)練周期依然有1個(gè)月之久,應(yīng)該在不增加訓(xùn)練時(shí)間的基礎(chǔ)上解決問題。
次日上午,化驗(yàn)報(bào)告陸續(xù)出來,護(hù)士送進(jìn)病房,我隨手翻了下,居然還有一張H I V病毒抗體檢測(cè)呈陰性的報(bào)告。如此看來,連遠(yuǎn)在西方的上帝也在保佑我。沒過多久,又送來一套一次性麻醉吸氧管,讓我馬上去做氣管鏡。
ECA注意力機(jī)制, 如圖4所示。其結(jié)構(gòu)非常簡(jiǎn)單,它僅僅剔除了擠壓和激勵(lì)注意力機(jī)制[13](Squeeze-and-excitation,SE)的全連接層。將這個(gè)模塊添加在生成器主干網(wǎng)絡(luò)的上采樣模塊中,如圖5所示。
圖4 ECA注意力機(jī)制
圖5 生成器結(jié)構(gòu)改進(jìn)
公開數(shù)據(jù)集COVID-19 CT scans[14]包含了20例COVID-19確診患者的3D CT掃描,以及專家對(duì)肺部輪廓和病灶感染的分割。文中在標(biāo)簽范圍內(nèi)將nii格式的3D CT每3個(gè)像素切割一張圖像,共得到933張數(shù)據(jù)集。初始圖像大小為630×630,采用StyleGAN-XL[15]提供的數(shù)據(jù)預(yù)處理方法,裁剪為256×256分辨率大小的二維圖像。
實(shí)驗(yàn)設(shè)置參照ProjectedGAN提供的初始參數(shù),其中,batchsize設(shè)置為8,生成器學(xué)習(xí)率設(shè)置為0.002 5,鑒別器設(shè)置為0.002,采用Adam優(yōu)化器,使用一個(gè)8核32G Tesla V100的GPU約訓(xùn)練一周。實(shí)驗(yàn)框架采用Pytorch,Python版本設(shè)置為3.8,Torch版本設(shè)置為1.7.0,Torchvision版本設(shè)置為0.8.1。對(duì)于COVID-19 CT scans數(shù)據(jù)集,訓(xùn)練5 000個(gè)tick,訓(xùn)練中每50個(gè)tick計(jì)算一次FID,每個(gè)tick約需要2 min。
圖像生成的評(píng)估指標(biāo)一般分兩方面:一方面是定量評(píng)估,主流的圖像生成論文都采用弗雷謝初始距離(Fréchet inception distance,FID)作為主要的評(píng)估指標(biāo),其他的評(píng)估指標(biāo)還有峰值信噪比(Peak signal to noise ratio,PSNR)和結(jié)構(gòu)相似性(Structural similarity index,SSIM)等;另一方面是定性評(píng)估,主要是靠人眼來判斷生成圖像的好壞。
FID的定義,FID值越低生成圖像越接近真實(shí)圖像。參考Woodland等[16]在肝CT上的研究,研究表明,FID與人類對(duì)醫(yī)學(xué)圖像的知覺評(píng)價(jià)一致,因此,本實(shí)驗(yàn)將FID作為主要的評(píng)估指標(biāo)。
式中:X——真實(shí)圖像;
G——生成圖像;
μx——基于真實(shí)數(shù)據(jù)分布的均值;
μg——基于生成數(shù)據(jù)分布的均值;
PSNR和SSIM采用SRGAN[17]的Pytorch實(shí)現(xiàn),PSNR的定義為
式中:I(i,j),K(i,j)——兩個(gè)m×n的單色圖像,i∈[0,m-1],j∈[0,n-1];
MI——表示圖像點(diǎn)顏色的最大數(shù)值。
PSNR的值越高越會(huì)生成更清晰的圖像。SSIM的定義為
式中:x——未經(jīng)壓縮的無失真圖像;
y——失真后的圖像;
μx、μy——圖像x、y的平均值;
σx、σy——圖像x、y的方差;
σxy——圖像和圖像的協(xié)方差;
L——像素值的動(dòng)態(tài)范圍。
SSIM的取值范圍為[0,1],越高的值會(huì)生成與原圖更接近的圖像。當(dāng)兩張圖像一模一樣時(shí),SSIM的值等于1。
在新冠肺炎CT數(shù)據(jù)集上,文中方法與DCGAN、FastGAN、DiffusionGAN[18]、StyleGAN-XL和ProjectedGAN等5個(gè)V2I模型進(jìn)行實(shí)驗(yàn)比較。
由于DCGAN生成的圖像有限,因此僅生成10張圖像進(jìn)行比較,如表1所示。其他4個(gè)模型生成933張圖像計(jì)算FID,生成100張圖像計(jì)算PSNR和SSIM,如表2所示。文中的模型在FID上獲取最小值和SSIM上獲取最大值,優(yōu)于其他模型,表明文中方法能夠生成亮度更相似,對(duì)比度更小,結(jié)構(gòu)更接近的高質(zhì)量生成圖像。但在PSNR這個(gè)評(píng)估指標(biāo)上略低于FastGAN和ProjectedGAN,而高于DCGAN、DiffusionGAN和StyleGAN-XL。由于PSNR這個(gè)評(píng)估指標(biāo)是對(duì)圖像像素上的評(píng)估,因此略低于FastGAN模型生成的馬賽克式圖像是正常的。在后續(xù)圖像分類的圖像生成上,文中模型生成的圖像具有更大的實(shí)際意義。
表1 生成10 張圖像的評(píng)估指標(biāo)
表2 生成933張和100張圖像的評(píng)估指標(biāo)
COVID-19 CT真實(shí)數(shù)據(jù)集和生成數(shù)據(jù)集的結(jié)果,如圖6所示。由圖6可見,DCGAN生成的圖像特別模糊,而且還有大片的彩色像素點(diǎn); FastGAN生成的圖像胸部輪廓、骨骼和肺部紋理都特別清晰,但是骨骼周圍的像素是花綠色的不符合CT圖像的特點(diǎn)。雖然看似和真實(shí)圖像相差不大,但放大后可以看到,圖像像素比較低,后面的幾個(gè)模型不存在這種問題。DiffusionGAN生成的圖像肺部輪廓清晰、骨骼周圍像素正常、肺部紋理均勻,但是可以從肉眼識(shí)別出生成的圖像沒有醫(yī)學(xué)解釋性。采用64×64分辨率的數(shù)據(jù)集訓(xùn)練StyleGAN-XL,生成的圖像沒有以上模型出現(xiàn)的問題,但圖像放大后模糊。ProjectedGAN生成的圖像在各方面和真實(shí)圖像相差無幾,但在訓(xùn)練過程中輸出的480張示例圖像中存在3~5張下部輪廓閉合不上的情況。文中改進(jìn)的模型生成的圖像肺部輪廓清晰、像素正常、放大后清晰,而且輪廓很好的閉合了,驗(yàn)證了文中模型能克服ProjectedGAN生成圖像肺部輪廓無法閉合的問題。
圖6 對(duì)比實(shí)驗(yàn)生成結(jié)果
文中方法與FastGAN、DiffusionGAN和ProjectedGAN 3個(gè)模型進(jìn)行評(píng)估指標(biāo)合理性討論。
FID、PSNR和SSIM三種評(píng)估指標(biāo)在模型生成不同數(shù)量的圖像上的評(píng)估數(shù)值變化,如圖7所示。采用隨機(jī)選取100張(部分)、500張(部分)和933張(全部)真實(shí)圖像與對(duì)應(yīng)相同數(shù)量的生成圖像進(jìn)行評(píng)估。
圖7 不同指標(biāo)在不同數(shù)量數(shù)據(jù)集上的對(duì)比
由圖7a可以看出,FID這個(gè)評(píng)估指標(biāo)隨著生成圖像的數(shù)量增大而越來越低,但由圖7b和c可見,PSNR和SSIM并沒有一個(gè)可以總結(jié)的規(guī)律。這些結(jié)果證明了生成部分?jǐn)?shù)量的圖像計(jì)算FID會(huì)影響生成圖像多樣性的觀點(diǎn),因此,文中FID評(píng)估均采用生成933張生成圖像與真實(shí)圖像進(jìn)行比較。
探究了DCGAN系列模型和StyleGAN系列模型在訓(xùn)練時(shí)間上的差別,文中在一個(gè)32G Tesla V100的GPU上訓(xùn)練新冠CT數(shù)據(jù)集,如圖8所示。DCGAN模型的訓(xùn)練時(shí)間是5.83 h,基于DCGAN模型的FastGAN模型和ProjectedGAN模型的訓(xùn)練時(shí)間分別是6.67和84 h?;赟tyleGAN模型的StyleGAN-XL模型和StyleNAT模型的訓(xùn)練時(shí)間分別是ProjectedGAN模型的2倍和4倍。綜上所述,在實(shí)驗(yàn)環(huán)境受限的情況下,采用DCGAN系列的ProjectedGAN模型是合理的。
圖8 不同類型模型的訓(xùn)練時(shí)間對(duì)比
(1)應(yīng)用V2I模型對(duì)新冠肺炎CT數(shù)據(jù)集進(jìn)行生成圖像,采用訓(xùn)練時(shí)間少且FID最優(yōu)的ProjectedGAN模型,避免了M2I模型需要的配對(duì)標(biāo)簽獲取難的問題。
(2)通過添加ECA注意力機(jī)制到生成器主干網(wǎng)絡(luò)的上采樣模塊中,解決了ProjectedGAN生成的CT圖像輪廓不閉合問題。
(3)采用生成100、500和全部數(shù)據(jù)集對(duì)文中三個(gè)指標(biāo)進(jìn)行討論,得到FID在生成部分?jǐn)?shù)量的圖像上會(huì)影響生成圖像多樣性的觀點(diǎn)。在對(duì)比模型訓(xùn)練的過程中發(fā)現(xiàn),基于DCGAN的模型訓(xùn)練時(shí)間要遠(yuǎn)遠(yuǎn)少于基于StyleGAN模型的訓(xùn)練時(shí)間。