劉一璟,張旭斌,張建偉,周哲磊,馮元力,陳為,2*
(1.浙江大學計算機科學與技術學院CAD&CG 國家重點實驗室,浙江杭州310058;2.浙江大學附屬第一醫院,浙江杭州310006;3.浙江大學數學科學學院,浙江杭州310027)
肺癌是一種高致死率的惡性腫瘤[1]。通過CT圖像正確判斷肺結節的良惡性有助于早期發現,盡早治療。為輔助醫生對肺結節惡化階段與風險因子的評估,對肺結節良惡性進行自動分類非常重要[2]。
對肺結節良惡性進行自動分類的方法已有不少,現有的基于圖像的方法一般通過檢測[3-4]、特征提取[5-8]、分割[9-11]以及標記結節類別[12-14]來實現。OROZO 等[8]通過計算肺結節圖像的Daubechies 波變換提取特征,并將特征送入支持向量機,分離出惡性結節;MEHDI 等[15]提出了稱為Ipris的新影像組學方法以捕捉結節外觀從內到外的紋理變化,使用支持向量機并利用Ipris 特征對肺結節進行分類;FARAG 等[16]分別使用了Gabor 濾波器、多分辨率局部二值模式與有向距混合局部二值模式來提取肺結節特征,利用支持向量機和k最鄰近2種分類器對肺結節進行分類。
也有一些基于深度學習的方法給出了較好的結果。CIOMPI 等[17]提出了基于多流多尺度二維卷積網絡的分類框架,通過分析任意數量二維截面圖來學習肺結節的三維表示;ZHAO 等[18]構建了一個LeNet與AlexNet的混合二維卷積網絡,通過訓練此網絡進行肺結節的良惡性分類;QIANG 等[19]提出了一種基于ELM算法的深度監督自動編碼器結構,使用2個該結構模型,并利用肺結節的CT圖像與PET圖像,將模型混合得到分類結果。
盡管基于深度學習的方法通常表現良好,但由于肺結節在形態上的變化范圍較大,而這些方法大多尺寸固定,較難提升分類性能。此外,大部分肺結節尺寸較小,多次池化操作后易丟失其細節形態特征;且由于肺結節CT圖像中存在大量無關的背景信息,常用的深度網絡難以捕捉關鍵特征。
針對以上問題,本文提出了一種基于DenseNet的新穎的網絡:DenseNet-centercrop。該網絡在DenseNet 結構中引入中心剪裁操作,在不同稠密塊間建立間接跨連接,增加了大量多尺度特征。圖1展示的為DenseNet-centercrop中一個稠密塊的結構。DenseNet-centercrop為一個端到端的肺結節良惡性分類網絡,不需要肺結節的分割標注,較完整地保留了DenseNet 原本的結構,從而很大程度上保留了參數效率高、特征復用度高、輕量化等DenseNet的優點,中心剪裁的引入使其更適用于肺結節分類,DenseNet-centercrop可以自然地繼承DenseNet中的瓶頸層、壓縮過渡層結構,參數進一步減少而網絡性能不受影響。

圖1 DenseNet-centercrop中一個增長率k=3的稠密塊結構Fig.1 The architecture of a dense block with a growth rate of k=3 in DenseNet-centercrop
DenseNet (HUANG 等[20])中的稠密連接機制在一個稠密塊中完成,當此過程結束后,稠密塊中的所有層產生的特征圖在通道數維上被合并,然后由過渡層傳輸到下一個稠密塊。
給定一個有Lk層的稠密塊Bk,其中第l層將以以下方式產生輸出xkl:

其中,[·]操作表示將特征圖在通道數上合并,變量中的上下標k和l分別表示所在稠密塊的編號與所在層的編號,是3個連續操作的組合函數:批量正則化(BN)、線性整流單元(ReLU)和一個3′3′3卷積(Conv)。
稠密連接后,稠密塊Bk把所有的特征圖由過渡層傳遞至下一個稠密塊Bk+1:

其中,xk+10表示稠密塊Bk+1的輸入,Tk(·)表示稠密塊Bk與Bk+1間的過渡層,其由一個批量正則化層,一個1′1′1卷積層和2′2′2最大池化層組成。
在DenseNet中,過渡層被引入用于連接2個相鄰的稠密塊,這意味著稠密連接機制實際上獨立地存在于每個稠密塊中,通向淺層特征圖的連接在經過過渡層時會被切斷,導致在深稠密塊中不存在通往淺稠密塊的跨連接。本文引入中心剪裁操作來解決此問題。給定張量x0,中心剪裁將切割出每個通道上三維特征圖的中心部分,將輸出張量記為,則的寬高深均為x0的一半,通道數與x0相同。在中心剪裁之后,xc0會被傳輸到下一個稠密塊中,建立起2個稠密塊的跨連接,在下一個稠密塊中,xc0仍然會被中心剪裁,并依此類推。在中心剪裁的迭代中,不同稠密塊之間都建立起了間接的跨連接。
在預處理后,肺結節位于樣本圖像的中心,本文將中心剪裁用于稠密塊的所有特征圖,不僅可以便捷快速地去除無關的背景信息,而且保證了卷積與池化始終保持在樣本圖像的肺結節區域,且無須額外的參數和計算。此外,將中心剪裁引入DenseNet,可以在單網絡中產生大量的多尺度特征,這有別于使用多個平行網絡來產生多尺度特征的結構,如MCNN(SHEN 等[21])等。
1.3.1 結構
DenseNet-centercrop的定義如下:
在式(2)中,DenseNet通過過渡層Tk將傳入稠密塊Bk+1,在2個稠密塊中增加一個中心剪裁分支,將中心剪裁與Tk的輸出在通道數維上合并后傳入稠密塊Bk+1:

其中,C(·)為中心剪裁操作為稠密塊Bk+1的輸入。圖2為此方法的展示。
1.3.2 繼承DenseNet
為了減少模型的參數,DenseNet-centercrop 使用DenseNet中用于壓縮模型的結構。
瓶頸層。在經過數個DenseNet-centercrop 稠密塊的傳遞后,特征圖的數量會變得相當大。因此本文將1′1′1卷積引入DenseNet-centercrop,在3′3′3卷積之前作為瓶頸層用于控制輸入特征圖的數量,從而削減網絡參數量。將含有瓶頸層的DenseNet-centercrop 稱為DenseNet-centercrop-B,這里的瓶頸層對應BN-ReLU-Conv(1′1′1)的序列,在實驗中,瓶頸層輸出2k個特征圖,k為增長率。

圖2 DenseNet-centercrop 在DenseNet的過渡層處加入新的分支以引入中心剪裁操作Fig.2 Centercrop operation of DenseNet-centercrop add a new branch at the transition layer of DenseNet
壓縮過渡層。類似于DenseNet,在DenseNetcentercrop 過渡層中壓縮特征圖的數量。如果過渡層接收到m個特征圖,則輸出[θm]個特征圖,0<θ£1為壓縮因子,控制壓縮的比率,如果θ<1,過渡層將對輸入特征圖進行壓縮。這里稱θ<1的DenseNet-centercrop為DenseNet-centercrop-C,在實驗中將θ設為0.8。若瓶頸層和壓縮過渡層都被用于DenseNet-centercrop,則稱為DenseNetcentercrop-BC。
對DenseNet-centercrop 進行了一系列肺結節良惡性分類實驗。首先,通過實驗調整DenseNetcentercrop的參數配置,然后,比較DenseNet與DenseNet-centercrop 當前最佳方法的表現。實驗以準確率和AUC(area under roc curve)作為評估指標。
將LIDC-IDRI 作為肺結節良惡性分類數據集。LIDC-IDRI 包含1 012個胸腔CT掃描,并給出了肺結節的位置信息及良惡性標注。
由4位有豐富經驗的胸腔放射科醫生對肺結節進行良惡性評估,評估的分數為從1到5的整數,分數越高則肺結節為惡性越明顯。每個肺結節的標簽有3類:良性、惡性和不確定。若肺結節的平均評估分值高于3,則將其劃為惡性;平均評估分值低于3,則劃為良性;等于3 則劃為不確定。最終得到2 637個肺結節樣本,其中有1 361個良性樣本,640個為惡性樣本,636個為不確定樣本。不確定樣本沒有用于實驗。
數據集中的CT圖像分辨率存在差異,為了消除差異,每個CT 都用樣條插值進行預處理,處理后每張CT圖片在三個維度上都有固定的0.5 mm/voxel分辨率,根據位置標注,以肺結節為中心從被處理后的CT圖像中提取尺寸為64 mm×64 mm×64 mm的數據作為模型輸入,肺結節的直徑在3~30 mm,因此,每個肺結節都可以完整地包含在樣本內。
為了提高網絡的泛化能力,將常用的數據增強方法引入訓練集。包含步距在[-2,2]內的隨機平移、隨機翻轉以及增加噪聲,噪聲為隨機整數,遵循[-76,78]均勻分布。在訓練樣本送入網絡前進行增強與歸一化處理。
數據集包含樣本的總數為2 001,隨機并均勻地將其分為5個子集用于訓練和測試模型。
首先,調整DenseNet-centercrop的參數,包括稠密塊的數量、稠密塊中層的數量以及增長率k。稠密塊的數量n在{2,3,4,5}中調整,層的數量l在{2,4,8}中調整,增長率k則在{8,12,16}中調整。
然后,給出在固定參數配置下DenseNet,DenseNet-centercrop,DenseNet-centercrop-BC的五折交叉驗證結果,同時給出每個模型的參數量。最后,與其他方法進行廣泛比較。
網絡使用無窮范數下的適應動量估計(Adamax)(KINGMA 等[22])進行訓練,動量參數設置為β1=0.9,β2=0.99,初始學習率為0.004 5,每60輪次迭代后學習率減半。為了改善過擬合問題,使用正則系數為8×10-4的l2范數,參數正則化項被加入損失中。為了進一步提高網絡的泛化能力,每個3×3×3卷積層后都會增加dropout層,并將dropout的概率設置為0.2。將focal loss (LIN 等[23])選為損失函數,并設置α=0.64,γ=2.45。這里α代表惡性樣本的損失權重,1-α為良性樣本的損失權重,γ為對簡單樣本的權重衰減率。
在相同的4個子集上訓練不同參數配置下的DenseNet-centercrop,然后在同一個子集上評估模型的性能。測試集包含126個惡性樣本和274個良性樣本,訓練集包含514個惡性樣本和1 087個良性樣本。
稠密塊數量。固定增長率(growth rate)為k=12,不同稠密塊數量下的分類表現見表1,稠密塊數量分別設置為{2,3,4,5},其中,第一個稠密塊的層數固定為2,其余稠密塊的層數固定為4。當稠密塊數量為4時,模型取得了較高的準確率和AUC值。

表1 DenseNet-centercrop在不同稠密塊數下的表現Table1 Performance of DenseNet-centercrop with different dense block numbers
稠密塊層數。固定增長率k=12,稠密塊數量n=4,前2個稠密塊的層數分別固定為2和4,針對剩余2個稠密塊的層數進行實驗,層數在{2,4,8}中選定,如表2所示,當4個稠密塊層數分別為(2,4,8,4)時,DenseNet-centercrop 擁有最 好的表現。

表2 DenseNet-centercrop在不同層數配置下的表現Table2 Performance of DenseNet-centercrop with different layer number configurations
增長率。固定稠密塊數量n=4,層數配置為(2,4,8,4),調 整DenseNet-centercrop和DenseNetcentercrop-BC中的增長率k后的實驗結果如表3所示,DenseNet-centercrop 在增長率為12時擁有較好的表現,而DenseNet-centercrop-BC 在增長率為16時得到較優的結果。
通過五折交叉驗證評估在固定參數配置下DenseNet-centercrop,DenseNet-centercrop-BC,DenseNet,DenseNet-BC 在肺結節良惡性分類中的性能。數據集被隨機均勻地分為5個子集,在每次驗證中,一個子集被選作測試集,模型則在剩余的4個子集上進行訓練。最后,將本文提出的網絡模型與當前最好方法進行了比較。

表3 DenseNet-centercrop與DenseNet-centercrop-BC 在不同增長率下的表現Table3 Performance of DenseNet-centercrop and DenseNet-centercrop-BC with different growth rates
DenseNet和DenseNet-BC的參數配置與對應的DenseNet-centercrop和DenseNet-centercrop-BC相同,稠密塊數n=4,各自層數為(2,4,8,4),增長率分別為k=12和k=16。

表4 DenseNet與DenseNet-centercrop對 比Table4 Comparison between DenseNet and DenseNetcentercrop

表5 DenseNet-centercrop與現有方法對比Table5 Comparison between DenseNet-centercrop and other methods
表4為DenseNet-centercrop與DenseNet的結果比較,DenseNet-centercrop與DenseNetcentercrop-BC 較擁有相同參數配置的DenseNet和DenseNet-BC 在精度上分別提升了4.9%和3.25%,其中DenseNet-centercrop-BC的分類精度和AUC分值最高。本文模型與其他方法的對比結果如表5所示,由表5知,DenseNet-centercrop-BC的分類精度與AUC分值最好,精度較現有最好方法提升了0.37%~7.22%,AUC分值高達0.9313。
DenseNet-centercrop 以清晰、直觀的方式改進了DenseNet,在稠密塊之間增加了新的分支以引入中心剪裁操作,提高了DenseNet 在肺結節良惡性診斷中的適用性,這也導致了兩者間明顯的性能區別。
中心剪裁有效性。1.2節指出了中心剪裁操作對于DenseNet的重要性。簡單來說,中心剪裁在不同稠密塊之間建立了間接的跨連接并且豐富了多尺度特征。通過DenseNet和DenseNet-centercrop的對比實驗,驗證了中心剪裁的有效性。DenseNetcentercrop與DenseNet的唯一不同在于是否含有中心剪裁操作,從表4中可以看到,DenseNetcentercrop 在分類精度上較DenseNet有明顯提升,在表5中,DenseNet-centercrop 超過了當前的最好方法,表明中心剪裁在肺結節分類任務上對于DenseNet 性能提升的重要性。
模型緊湊性。盡管DenseNet-centercrop 引入中心剪裁的方式是直觀清晰的,但在引入中心剪裁后,不可避免地增加了DenseNet的參數數量。在表4中,DenseNet-centercrop較DenseNet的分類精度提升了4.9%,同時參數量也擴增了149%左右,這在一定程度上影響了DenseNet的參數高效性,但在引入瓶頸和壓縮過渡層結構后,DenseNetcentercrop-BC 在提升DenseNet-BC 性能的同時,僅將其參數量擴增了52%,且其表現優于DenseNetcentercrop。
提出了一種新的卷積網絡DenseNet-centercrop用于解決肺結節診斷性分類。DenseNetcentercrop 充分利用了肺結節CT圖像的特點,并自然地繼承了DenseNet良好的性質。在LIDC-IDRI數據集上的實驗表明,DenseNet-centercrop 較DenseNet 學習到更準確的模型,且參數量無明顯增加,在肺結節良惡性分類上超過了現有的最好方法。
衷心感謝浙江大學睿醫人工智能研究中心對本文工作的支持和付出!