孟 琭, 鐘健平, 李 楠
(1.東北大學 信息科學與工程學院, 遼寧 沈陽 110819; 2.沈陽產品質量監(jiān)督檢驗院, 遼寧 沈陽 110000)
對于深度學習來說,數據集的規(guī)模和數目將很大程度地影響最終訓練效果的好壞[1].但是在計算機輔助診斷領域中,由于涉及到患者隱私,研究者很難獲取到大量的醫(yī)學圖像數據集.此外,醫(yī)學圖像的采集方式(如CT,MRI等)往往會伴隨著有害人體健康的高輻射,同時成本極高[2].因此,如何通過人工智能的方式,以仿真圖像的形式擴充現(xiàn)有的醫(yī)學圖像數據集,成為了計算機輔助診斷領域亟待解決的問題.
目前,在醫(yī)學圖像仿真生成領域,國內外學者大多集中在圖像風格類型轉換的研究上,小部分則專注于類似視網膜眼底圖像等組織結構簡單的圖像仿真生成中[3-4],而在需求較大的肝臟圖像合成領域卻少有研究.
為解決這一問題,本文通過生成對抗網絡[5]的方式來生成高真實度的仿真醫(yī)學圖像數據集.生成的數據集能夠提高醫(yī)學圖像分類或分割算法的準確率與精確度,也可以用于年輕醫(yī)師的培訓.
算法的整體方案實現(xiàn)主要分為以下三步:
1)對CT序列圖像進行預處理,主要包括將三維圖像數據解析為若干二維圖像、圖像格式轉換、像素值歸一化等.
2)本文模型是通過對pix2pixGAN[6]的改進來實現(xiàn)含有腫瘤的肝臟CT圖像的仿真生成,如圖1所示,該模型需要將CT肝臟原圖與病變區(qū)域進行配對,并將該配對圖像作為生成對抗網絡的輸入.因此,本文將肝臟CT圖像中被標記為腫瘤的像素變?yōu)榘咨?,稱這個過程為“白化”, 本文將原圖與“白化”后的圖像進行配對,得到“配對一”;然后將其送入生成器中,得到1張合成的圖像,該合成圖像與“白化”圖像進行配對,得到“配對二”;再將配對一和配對二同時送入鑒別器中,由鑒別器判斷兩個配對的相似程度.生成器和鑒別器在模型訓練的過程中反復對抗,最終實現(xiàn)對“白化”區(qū)域中像素仿照肝臟腫瘤的灰度、紋理、形狀進行填充,從而得到合成的有病變的肝臟CT圖像數據.圖1中,G表示生成器,D表示鑒別器,y表示原始圖像,x表示對原始圖像進行“白化”操作后得到的結果,G(x)表示生成器得到的結果.
3)將配對后的圖片送入生成對抗網絡中訓練.生成對抗網絡中的生成器輸入病變白化的圖片,然后使生成的圖片中白化區(qū)域被智能填充而其他的區(qū)域則最大程度維持不變.生成的圖片與真實的圖片被送入鑒別器網絡中進行真假鑒別,并且將損失反饋給生成器,兩者不斷對抗,相互優(yōu)化,直至生成圖片的質量達到最佳效果.
算法整體方案流程圖如圖2所示.
與普通圖像相比,醫(yī)學圖像有著更高的分辨率、更多的紋理、細微結構、更強的相關性、更大的存儲空間以及更寬的灰度范圍[7].由于醫(yī)學圖像直接涉及到臨床醫(yī)學應用,因此必須要確保醫(yī)學圖像的可靠性、嚴謹性和高質量.基于GAN的醫(yī)學圖像仿真算法正是基于這種理念,采用GAN的pix2pix架構[6]可以對整體肝臟圖片進行合成,并且最大程度降低圖像細節(jié)的模糊度和減免不必要的噪聲干擾.
pix2pix架構的生成器采用的是U-Net結構[8],這是一種全卷積的網絡結構.U-Net是在編碼器-解碼器網絡的基礎上,添加了“跳躍連接”,這樣可以減小數據在層與層之間傳遞時的損耗與丟失.編碼器-解碼器網絡是一個對稱的網絡,編碼器通過下采樣(即卷積操作)將圖片的分辨率降低,然后再通過解碼器上采樣(即反卷積操作)還原圖片的分辨率.
在圖3中,卷積層是用來對圖像進行特征提取的,反卷積層是進行特征還原的,ReLU和tanh激活層是將輸出進行非線性處理的,BN層是進行歸一化處理的.
將單通道、像素為512×512的病變組織白化圖片從編碼器一端輸入,每經過一個層塊,圖片的尺寸就會縮小一半.通道數會隨著卷積核數目的變化而變化,總體趨勢是增加的.512×512像素、通道數為1的白化圖片,經過一系列卷積操作后,變成了1×1像素、通道數為1 024的一維張量.隨后一維張量輸入解碼器中進行反卷積解碼操作,每經過1個層塊,圖片的尺寸就會放大1倍,而且通道數在不斷減少,最終還原成512×512像素、通道數為1的合成圖片.在不斷對抗迭代訓練后,生成的圖片會越來越逼真,清晰度越來越高,病變白化區(qū)域也將會被智能填充.
而在鑒別器中,“輸入圖像對”共有2對:一對為白化圖像與目標圖像,另一對為白化圖像與合成圖像.這2對圖像分別在鑒別器中執(zhí)行相應的卷積操作(見圖4).pix2pix的鑒別器與其他GAN變體的鑒別器相比,大體相同,但有兩處不一樣.
1)鑒別器的輸入.白化圖像與目標圖像在平面法線方向進行拼接,之后形成一個512×512×2的三維矩陣A;同樣地,輸入圖像與合成圖像在平面法線方向也進行拼接,形成一個512×512×2的三維矩陣B.矩陣A和矩陣B同時送入鑒別器網絡進行概率輸出.
2)鑒別器采用了PatchGAN的思想.一般的鑒別器會根據一對輸入圖像輸出1個0到1之間的softmax概率值,但是pix2pix的鑒別器是將輸入圖像劃分為一個個區(qū)塊.這些區(qū)塊經過一層層卷積后,最后都做了softmax概率運算,然后總體輸出1個大小為30×30,通道為1的概率矩陣,矩陣上每個點的數值對應著相應區(qū)塊的softmax概率.最后,對大小為30×30的概率矩陣中的元素求平均值,所得平均值即為鑒別器最終的鑒別概率.由于輸入的是獨立的區(qū)塊,大大減少了輸入參數量,運算速度比直接輸入整張圖片的情況還要快.
在pix2pix中,采用了3個損失函數,分別由式(1)、式(2)和式(3)表示:
LL1=Ev,r~Pdata(v,r)[‖r-G(v)‖1];
(1)
Ladv(G)=Ev,r~Pdata(v,r)[lgD(v,r)fake];
(2)
Ladv(D)=Ev,r~Pdata(v,r)[lgD(v,r)real]+Ev-Pdata(v)[lg(1-D(v,G(v))fake)].
(3)
其中:LL1為L1(范數)損失,是為了減小輸出圖像和目標圖像之間的差異所設定的,相當于粗調作用,是pix2pixGAN中必不可少的;Ladv(G)為生成器損失,生成器力圖減小它,而鑒別器力圖增大它;Ladv(D)為鑒別器損失,鑒別器力圖減小它,而生成器力圖增大它,這2個對抗損失是GAN的核心內容,它們有助于提高圖像的細節(jié)度,相當于微調作用;r代表真實圖像分布;v代表輸入給生成器的圖像分布;G(v)代表生成器合成的圖像分布;D(v,r)代表鑒別器的鑒別概率.
總合成損失應為生成器損失和L1損失的加權和,由式(4)表示:
L=λadvLadv(G)+λL1LL1.
(4)
圖4 鑒別器網絡
1)硬件環(huán)境.CPU:Intel Core i5-7500 @3.4 GHz;GPU:NVIDIA GeForce GTX 1080;內存:16 GB;顯存:8 GB.
2)軟件環(huán)境.操作系統(tǒng):Ubuntu 16.04,64 位;Python 2.7;tensorflow 1.1;matlab 2016b.
3)數據集.2017年醫(yī)學圖像計算和計算機輔助干預會議中的肝臟腫瘤分割挑戰(zhàn)賽(liver tumor segmentation challenge,LiTS)數據集.
神經網絡參數設置如表1所示.
由圖5可見,訓練的4條損失曲線均能夠又快又穩(wěn)地收斂,最終的穩(wěn)定值也十分令人滿意.
對測試集的合成圖像與目標圖像進行峰值信噪比(peak signal-to-noise ratio,PSNR)和結構相似性(structural similarity index,SSIM)[9]評估,并取平均值,評估結果如表2所示.
表1 訓練參數
圖5 實驗損失曲線
表2 評估結果
在使用測試集生成的圖片中,大部分圖片的病變白化區(qū)域都得到了填充,而且填充效果非常好,完全不存在“棋盤效應”,只是或多或少的在灰度方面與目標圖像存在些差異.病變白化區(qū)域填充完后與肝臟無縫銜接,之間沒有明顯的邊緣線.病變白化區(qū)域的填充在灰度、紋理與風格上都有GAN獨特的特色,而絕非簡單的記憶.病變區(qū)域以外的其他區(qū)域都最大限度地保持了原狀態(tài)不變,當然各個像素點之間的灰度值還是有差別的,只不過這種差別已經降到了最小,肉眼上分辨不出來.整張合成圖片無論從顏色上還是結構上都顯得特別逼真,很多器官組織的細節(jié)結構都體現(xiàn)了出來.因此可以說模型的訓練是非常成功的,合成圖片的質量也令人十分滿意,見圖6.
圖6 模型在測試集中的合成效果
模型訓練好后,便可用于實際生產了.從現(xiàn)有的病變分割序列中將病變組織提取出來(也可用DCGAN[10]生成病變組織),再將其放置到任何健康肝臟的任何合理部位,這種排列組合的搭配方式可以產生無窮的白化圖片.這個世界上肝臟健康人群遠超過不健康人群,而不健康人群的肝臟部位通常也不是從上到下都布滿了病變組織,所以不帶病變的肝臟橫截面圖片資源還是可觀的.數不盡的病變形狀加上數不盡的健康圖片排列組合搭配,病變形狀可以任意翻轉、縮放、旋轉,然后再嵌入到健康肝臟的任意合理部位,這樣產生的白化圖片是創(chuàng)造性的,而且數量足夠用.
由圖7可見,“嵌入病變式白化”的填充合成效果也是非常好,非常逼真,幾乎不亞于圖6測試集中的效果,實驗證實了模型用于實際產生病變肝臟圖片的可行性.
圖7 “嵌入病變式白化”的合成效果
本節(jié)將本文算法與其他4個同類的、廣泛應用的算法進行定量比較,這4個算法包括:基于地圖的圖像合成算法(Atlas)[11]、基于稀疏表達的圖像合成算法(SR)、基于隨機森林和上下文的圖像合成算法(SRF+)[12]、基于生成對抗網絡的合成算法(DCAN)[13].選擇的定量比較指標是PSNR,選擇的比較數據集是LiTS.定量比較的結果如表3所示,通過比較可知本文算法取得了比較好的合成效果,在PSNR指標上,優(yōu)于其他4個同類算法.本文算法的優(yōu)勢主要在于使用了深度生成對抗網絡,同時通過“白化”操作對肝部腫瘤進行重點的仿真生成,并且設計了專門的損失函數來保證迭代訓練過程中生成的肝部CT圖像逼真.
表3 本文算法與同類算法的定量比較
本文面向腫瘤肝臟CT圖像特點,提出了一種基于生成對抗網絡的病變肝臟圖像仿真生成算法,通過該算法所生成的肝臟CT圖像,其平均峰值信噪比為64.72 dB,平均結構相似性為0.997 3.在實際問題的應用中,該算法表現(xiàn)出了良好的仿真效果,有很高的真實度,可以極大地擴充現(xiàn)有的肝臟CT圖像數據集.