李 陽,李春璇,徐燦飛,方立梅
(1.東北師范大學前沿交叉研究院 長春 130000;2.長春工業大學計算機科學與工程學院 長春 130012;3.浙江大學醫學院附屬邵逸夫醫院 杭州 310000;4.長春中醫藥大學附屬第三臨床醫院 長春 130117)
癌癥已成為人口死亡的主要原因之一,而肺癌的發病率和致死率均較高[1]。早期肺癌在胸部計算機斷層掃描(computed tomography, CT)上的表現為肺結節,對肺結節的早期檢測可以提高肺癌患者的存活率。計算機輔助檢測(computer aided detection,CAD)技術能夠輔助醫生進行醫學檢測,減少了醫生工作量的同時也提高了診斷的準確性。近年來深度學習在肺CAD 診斷方面得到廣泛應用。然而深度學習模型的訓練必須依賴大量數據,實際中由于人工標注成本昂貴導致獲取大量帶標注的肺CT 影像非常困難,數據增強技術為數據的擴充提供了可能。
數據增強是一種數據擴充技術,傳統數據增強方法有旋轉、平移、裁剪、縮放、噪聲擾動等。這些方法被廣泛應用于擴充訓練集[2-3],然而傳統數據增強方法的輸出過度依賴于原始數據,深度模型利用擴充數據來訓練模型容易出現過擬合問題。近年來,許多研究使用生成式對抗網絡(generative adversarial networks, GAN)進行數據擴充。GAN 通過兩個網絡的對抗博弈過程來學習真實樣本的數據分布[4],與傳統數據增強方法對比,本質上提高了樣本特征的多樣性。
目前GAN 衍生出一系列的變體模型,改進的變體模型逐步從自然場景的應用跨越到醫學圖像的應用[5-6]。在肺結節的生成任務中,文獻[7]為了提高分割網絡訓練模型性能、增加訓練數據,提出基于Style-GAN 的新型數據增強方法合成肺結節,先從整體中提取樣式和語義標簽,然后用隨機選擇的樣式為每個語義標簽合成增強的CT 圖像。文獻[8]為提高檢測網絡的性能,對肺結節數據集進行增強,提出一種基于計算機斷層掃描的生成式對抗網絡的數據增強方法,可以在指定位置添加肺結節,并引入DropBlock來解決過擬合的問題。
文獻[9]提出一種基于Conditional GAN(CGAN)的肺結節圖像生成算法CT-GAN,該網絡能學習圖像到圖像的映射關系,通過篡改原始的CT 圖像數據,得到近似真實的醫學圖像數據,從而擴充正樣本數據。
在GAN 的增強任務中,引入注意力模塊可以達到更優的生成效果。在生成式對抗網絡的生成任務中最常用的注意力模塊是自注意力機制和通道注意力機制。SAGAN[10]在生成器和判別器中都添加了自注意力模塊,在每一層都考慮了全局信息,在提高感受野和減小參數量之間找到了一個很好的平衡,生成與全局相關性比較高的圖片。文獻[11]在CycleGAN 的判別器中添加了空間注意力,將注意力圖反饋到生成器,來協助生成器可以關注到圖像中有區分度的區域,由此帶來了模型性能的持續提升。
U-Net[12]被應用在醫學圖像的初衷是為了解決醫學圖像分割的問題,其U 形結構啟發了生成算法。文獻[13]提出了U-Net 的判別器架構,鼓勵U-Net 判別器更多關注真實圖像與偽圖像之間的語義和結構變化,使生成器能生成圖片保持全局和局部真實感。文獻[14]提出一種端到端注意力增強的串行 U-Net++ 網絡,串行U-Net++模塊提取不同分辨率的特征并在不同的尺度上重建圖像。該模塊直接將淺層的原始信息傳遞給更深層次,使更深層次專注于殘差學習,而重用淺層上下文信息。
傳統的GAN 網絡生成圖像效果有限,訓練不穩定且訓練過程容易模式崩潰[15]。直接用GAN 生成肺結節,容易存在病灶模糊和背景噪點多的問題,為解決以上問題,本文提出利用改進的Pix2Pix[16]模塊生成肺結節圖像,主要貢獻如下。
1)生成器中添加設計后的殘差注意力模塊[17]。目的是在圖像的生成中不但關注到肺結節的生成,同時也關注到復雜的背景信息。對不同的信息進行特征篩選,自適應地學習肺結節圖像保證圖像不同特征細節的生成。
2)設計殘差塊結構。殘差注意力模塊的添加使整個生成網絡層數擴展到很深,重新設計后的殘差塊減少了網絡深度和訓練的復雜度,同時更好地適應生成網絡。
3)設計U-Net 判別器代替Pix2Pix 中的馬爾可夫判別器。由于U-Net 的編碼器和解碼器對應不同模塊之間的跳躍鏈接,輸出層的通道就包含了不同級別的信息,可以反饋給生成器更詳細的信息。
GAN 相關的衍生模型越來越多,在GAN 中加入各種的條件信息可以更好地控制生成圖像的內容和效果,Pix2Pix 是衍生的條件模型之一,可以達到圖像風格轉換的目的。Pix2Pix 是基于CGAN 實現兩個域之間的轉換模型,將輸入圖片作為條件信息,學習從源域圖像到目標域圖像之間的映射來生成指定的輸出圖像。生成器采用的U-Net 網絡能夠充分融合特征,判別器采用的PatchGAN 分類器能夠只在圖像塊的尺度上進行懲罰,對輸入圖像的每一個區域都輸出一個預測概率值。其中Pix2Pix 的損失函數包含了CGAN 的損失函數和L1 正則項兩部分。
CGAN 的生成器要根據約束條去生成圖片,判別器除了判別生成圖像是否為真,還要判別生成圖像與真實圖片是否匹配,優化目標函數可定義為:
式中,G為 生成器;D為判別器;x為真實圖像;y為經過預訓練后的約束條件;z為隨機噪聲。對于D而言,需要最大化目標函數,D給真實圖像高分,讓D(x,y)越大越好,同時給約束條件下生成的圖像低分,D(x,G(x,z))越 小越好。對于G而言,需要最小化目標函數,讓D給在約束條件下生成的圖片高分,D(x,G(x,z))越大越好。
L1 損失用來約束生成圖像與真實圖像之間的距離,可定義為:
式中,矩陣1-范數表示向量中元素絕對值之和,即約束條件y與生成的圖像兩者絕對值之和。
最終Pix2Pix 的目標函數為:
式中, λ為超參數。
1.2.1 生成器網絡
RAU-GAN 將改進后的殘差注意力機制與Pix2Pix 生成器相結合。生成器中圖像到圖像的轉換是高分辨率的輸入映射到另一個高分辨率的輸出,輸入和輸出需要粗略對齊,同時需要共享高層語義信息和底層的語義信息,故采用U-Net 全卷積網絡。生成器通過左側不斷下采樣到達中間的隱含編碼層,再通過右側上采樣來還原圖像,左側與右側中間添加跳躍鏈接將部分有用的重復信息直接共享到生成器中。同時,添加L1 損失函數,來約束生成圖像與原始圖像之間的特征,對網絡進行優化。
RAU-GAN 的生成器網絡結構如圖1 所示,采用改進后的殘差注意力模嵌入到U-Net 模塊中,輸入掩模處理后的大小為32×32×32 的圖片,首先使用大小為4×4×4 的卷積核,步幅為2,對輸入的圖像進行處理。再依次通過4 個卷積層進行特征提取,之后連接殘差注意力模塊去更多地關注感興趣區。同時采用跳躍鏈接層連接結構,在對稱結構中加入Dropout 和Batch-Norm,可以保留更多的圖像細節,協助反卷積層完成圖像的恢復工作,并且減少梯度消失,加快模型訓練。

圖1 生成器網絡模型
1.2.2 殘差塊注意力機制
本文采用了殘差注意力模塊,結合了通道和空間注意力機制,可以選擇重要的對象和區域。通過殘差注意力堆疊式的網絡結構來同時關注多個不同的感興趣區,堆疊的方式減少了模型的復雜度。通過注意力殘差學習來優化殘差注意力網絡,避免了網絡層數太深引起的梯度消失問題。本文殘差注意力由3 個注意力模塊堆疊而成,每個注意力模塊由主干分支和掩膜分支兩個部分組成,如圖2 所示。主干分支進行特征處理,如結節形狀是否存在分葉和毛刺等細節信息。掩膜分支是下采樣和上采樣的過程,用來獲取特征圖的全局信息,如結節信息。掩膜分支學習得到與主干的輸出大小一致的掩膜,通過對特征圖的處理輸出維度一致的注意力特征圖。最后用點乘操作將兩個分支的特征圖結合得到最終的輸出特征圖。

圖2 殘差注意力模塊
此外,由于殘差注意力機制堆疊了多個注意力模塊,每個注意力模塊又包含大量的殘差塊,因此網絡很容易擴展成深層網絡。復雜的層次結構添加到生成器,容易引起生成網絡的模式崩潰問題,為優化網絡結構和訓練時間,重新設計了殘差塊,其結構如圖3 所示,新設計的殘差塊僅由一組批處理歸一化(BN)層、激活(ReLU)層和卷積層(Conv)組合而成,改進后的殘差注意力模型網絡層減輕的同時也達到了生成注意力感知特征的目的。

圖3 殘差塊模型的設計
Pix2Pix 中的馬爾科夫判別器完全由卷積層構成并用于風格遷移的對抗網絡中,需要在內容和紋理兩部分進行判別,但在學習語義、結構和紋理不同任務時容易忘記之前的任務。而U-Net 使用的跳躍鏈接可以橋接編碼器和解碼器兩個模塊,輸出層的通道包含了不同級別的信息,因此可以反饋給生成器更多的信息,同時在每個像素的基礎上進行分類去判別真實和虛假的全局和局部決策,提高了判別器的網絡性能。
本文使用U-Net 網絡來判別輸入圖像的真假,判別器是由編碼器和解碼器兩部分構成的U-Net 網絡。編碼器有5 個大小為4×4×4 的卷積核,步幅為2,每個卷積后是一個Relu 函數,隨后加入Batch-Norm。解碼器先進行上采樣,特征圖的大小變為原來的兩倍,然后經過大小為4×4×4,步幅為1 的反卷積,同樣加入ReLu 函數、Dropout 和Batch-Norm 層。依次通過4 個同樣的反卷積運算后再經過一次上采樣和一個步幅為2 的卷積,將圖片輸出轉換為2×2×2 大小。同時在兩個模塊之間建立了跳躍連接,最后得到判別器的輸出概率來判斷生成的肺結節。
本文采用LUNA16 公開數據集[18],LUNA16數據集包含888 個低劑量肺部CT 影像。其中帶有醫生標注且直徑大于3 mm 并且相近的結節融合的肺結節共1 186 個。為了使生成結節的效果更優,從中挑選直徑1~1.6 cm 的肺結節,同時為增加訓練樣本數量,對數據進行翻轉和旋轉數據的增強方式。結合考慮機器硬件條件的限制,最終得到訓練集有5 152 個結節訓練樣本。
實驗環境以Python3.6 為編程語言,編碼在keras,Tensorflow 深度學習框架,采用GPU 為單張RTX3090 顯卡行。網絡優化采用Adam 優化器,學習率為0.000 2,動量參數分別為β1= 0.5,β2= 0.999;損失函數中λ 設置為10,批處理大小為16,進行200 輪次生成。
實驗采用FID[19],PSNR[20],SSIM[21]這3 種評價指標來評估生成結果。FID 通過計算生成樣本與真實樣本特征空間的距離來衡量兩幅圖像之間的相似度。FID 數值越小說明兩者越接近,意味著生成圖片的質量較高、多樣性豐富。SSIM 是一種衡量兩幅圖像結構相似度的指標,對圖像局部變化敏感,取值范圍在0~1 之間,SSIM 數值越大說明兩張圖片越相似。PSNR 是用于衡量圖像質量的重要指標,PSNR 數值越大說明失真越少,生成圖像質量越好。
2.4.1 掩膜大小的選定
為了選取合適大小的掩膜以達到模型最優效果,實驗分別選取了8×8×8、12×12×12、16×16×16、20×20×20 及24×24×24 這5 種 不 同 尺 寸 的 掩 膜。在Pix2Pix 模型上進行實驗,生成圖像如圖4 所示,對應FID 評價指標如表1 所示。圖4 第一行為不同尺寸的掩膜圖像,第二行為生成圖像,第三行為原圖像。由圖可知,8×8×8×8 和12×12×12 尺寸的掩膜過小,對于較大結節不能完整覆蓋,導致生成結果與原圖過于相似,雖然FID 值較小,但其增強圖像應用于深度學習訓練網絡可能會導致過擬合。20×20×20 和24×24×24 大小的掩膜過大,生成結節邊界模糊,對應于表1 發現掩膜越大其FID 數值也越大,因此最終選取16×16×16 大小的掩膜作為源域圖像。

表1 不同掩膜尺寸的指標結果

圖4 不同大小掩膜的選取
2.4.2 消融實驗
為了驗證殘差注意力機制模塊,改進U-Net 判別網絡的有效性,進行消融實驗逐一驗證。本文以Pix2Pix 為Baseline,實驗結果如表2 所示。首先,在Basline 中添加殘差注意力模塊,用U-Net判別器替換馬爾科夫判別器,改進后的結果由第二、第四組實驗可知,3 個指標均有提升,這說明在生成器中嵌入殘差注意力模塊可以更精細地捕捉各類特征信息,U-Net 判別器在學習不同任務的同時協助生成器生成更優的圖片。其次,在第二組實驗的基礎上重新設計了殘差塊,第二、第三組實驗結果對比顯示,改進后的模塊結果在評價指標上有降低,但指標變化微小,反映出設計后的殘差塊并沒有降低網絡生成效果,同時也達到了不同細節特征良好生成的注意力效果,但與第二組實驗相比減輕了網絡深度和參數量,訓練時間得到大幅度的優化,因此本文最終采用設計后的注意力模塊。最后一組實驗中,本文算法RAU-GAN 與Pix2Pix 相比較,FID 降低1.861 3,PSNR 提高0.32,SSIM 提高0.000 3,表明了本文模型的有優越性。

表2 消融實驗
2.4.3 在DeepLesion 數據集上的實驗結果
為了驗證本文方法的通用性,在Deep Lesion[22]公開數據集上進行驗證。Deep Lesion 包含了多種病變類型的圖像,從中選取2 209 張帶有標注的肺結節圖像作為訓練樣本,利用關鍵切片的標注信息裁剪32×32×32 大小的肺結節圖片,使病灶位置位于切片的中央,隨后進行掩膜處理。將掩膜數據和裁剪后的肺結節作為源域和目標域圖片輸入,RAU-GAN 模型的生成結果如圖5 所示,結果表明該模型能夠在Deep Lesion 數據集生成較好的結節影像。將Pix2Pix 與RAU-GAN 對該數據集生成結果進行指標評估,對應結果如表3 所示,由于數據集僅2 209 張,相較增強后的LUNA16 數據集少,因此評價指標較表2 有稍微降低,但RAU-GAN與Pix2Pix 相比,3 個評價指標均明顯提升,因此證明了RAU-GAN 模型具有范化能力。

表3 不同模型在Deep Lesion 數據集上的結果

圖5 DeepLesion 數據集上的實驗結果
2.4.4 不同模型實驗結果及分析
不同模型在LUNA16 數據集生成肺結節的實驗結果如圖6 所示。圖6a 是由Pix2Pix 模型生成的肺結節圖片,每一列為一組,整張圖片包含3 組結果。其中第一行是處理后的掩碼圖片,第二行圖像為生成的肺結節圖片,第三行真實圖像為目標域圖片。圖6b 是由CycleGAN 模型生成的肺結節圖片,包含的6 張圖片為一組生成結果,第一行包含的3張圖片是目標域圖片經由第一個生成器生成的圖片,再經由第二個生成器將生成的圖片盡可能地恢復回原始圖片,第二行是由源域圖片進行同樣的兩次生成過程,最終生成的肺結節圖像為第二行第二列。圖6c,6d,6e 分別為U-GAT-IT[23],DualStyleGAN[24]和本文提出的RAU-GAN 模型生成的肺結節圖片,包含的9 個圖片分布情況與圖6a 相同。由圖片顯示結果可知,CycleGAN 生成的圖像中掩碼依舊模糊存在,沒有生成結節形狀,因此生成圖片無法作為擴充的數據集使用。考慮到CycleGAN 兩個生成器生成圖片之間的循環一致損失,只要求第二次生成結果與原圖像越相似越好,因此生成肺結節的過程并沒有明確約束條件,意味著生成結果可能存在多解,所以生成肺結節效果較差。其他模型生成結果明顯優于CycleGAN,但圖片顯示,Pix2Pix,UGAT-IT 和DualStyleGAN 在生成肺結節的邊界較模糊,RAU-GAN 生成結果包含更多的細節信息。

圖6 不同模型生成的肺結節圖像
表4 列出了5 種模型在不同指標上的結果。RAU-GAN 模型在3 個指標上均優于另外4 個模型,驗證了本文提出方法的有效性。

表4 不同模型在數據集上的指標生成結果
本文針對帶標簽的肺 CT 數據集匱乏的問題,提出了基于殘差注意力機制和U-Net 框架進行的生成算法。該模塊生成器通過引入殘差注意力機制,堆疊的注意力模塊對不同特征信息賦予高的權重,有效地生成細節信息。此外,通過對殘差塊進行重新設計來降低生成網絡模型的復雜度,避免了網絡梯度消失的問題。對于判別器網絡,通過對UNet 網絡結構進行重新設計來進一步提高判別性能。本文使用FID、PSNR 和SSIM 作為評價指標,來保證生成結果的相似性和生成質量,生成結果的唯一性和差異性也需保證,以避免后續深度模型訓練過擬合的問題,因此未來可進一步探討相關的圖像評價指標來保證生成圖像的真實性和唯一性。此外,如果不進行CT 影像裁剪,生成的結果往往效果不佳,同時,實驗生成結果表明,結節越大生成效果越好,因此如何將當前基于生成式對抗網絡的模型更好地擴展到大背景下精細地生成小目標,也是下一步的研究重點。