1. 程式人生 > >A Pulmonary Nodule Detection Model Based on Progressive Resolution and Hierarchical Saliency

A Pulmonary Nodule Detection Model Based on Progressive Resolution and Hierarchical Saliency

paper:https://arxiv.org/abs/1807.00598

摘要

       胸部CT上肺結節的檢出是肺癌早期診斷的重要步驟,對於患者是至關重要的。雖然在文獻中已經發表了一些計算機輔助結節檢測方法,但是這些方法仍然有兩個主要的缺點:在發現候選結節的過程中遺漏了真正的結節,而對非結節的結節識別則不那麼準確。
本文提出了一種將漸進式解析度和層次顯著性相結合的肺結節自動檢測演算法。具體來說,我們設計了一個基於3D漸進解析度的密集擴張FCN,即漸進解析度網路(progressive resolution network, PRN),用於檢測肺內的結節候選,並構建了一個層次化顯著的密集擴張的3D CNN,即層次化顯著網路(HSN),同時從這些候選人中鑑別出真正的結節,並估計結節的直徑。我們在基準肺結節分析2016 (LUNA16)資料集上評估了我們的演算法,並獲得了最先進的檢測分數。結果表明,該演算法能有效檢測胸部CT上的肺結節,並能準確估計其直徑。

        關鍵詞:肺結節檢測;胸部CT;深度學習;卷積神經網路(CNN);漸進解析度;層次化的特點

1 介紹

       肺癌是所有與癌症相關的男性和女性[5]死亡的主要原因。肺癌患者5年平均生存率僅為16%左右;然而,如果在該病的早期診斷出[2],這個數字可以達到大約54%。由於肺部惡性結節可能是原發性肺腫瘤或轉移灶,早期發現肺部結節對於患者的護理至關重要。在胸部CT掃描中,肺結節通常是指肺[3]上直徑小於3cm的斑點。在文獻中已經提出了許多自動肺結節檢測方法。

      他們中的大多數在每個可疑的病灶中提取手工製作的特徵並訓練分類器,以確定病變是否為肺結節。Nithila等人[9]採用基於強度聚類、滾動球和主動輪廓模型(active contour model, ACM)的演算法檢測血管結節,分別計算這些結節的統計特徵和紋理特徵,利用粒子群優化(PSO)技術優化的反向傳播神經網路(BPNN)改進檢測。Wu等人首先對[12]進行了閾值化、區域生長和形態學操作分割肺結節,提取每個結節34個視覺特徵,利用支援向量機(SVM)剔除假陽性結節。儘管這些方法普遍存在,但其準確性可能有限,由於手工特徵提取和分類的難處理的優化。

        近年來,深度學習技術被廣泛應用於許多醫學影象分析任務,包括肺結節檢測。它們比傳統方法有明顯的優勢在統一網路中的聯合表示學習和模式分類中,因此能夠在很大程度上解決傳統方法的缺點。Hamidian等人[6]使用3D完全卷積網路(FCN)生成一個評分圖來識別候選結節,並使用另一個3D深度卷積神經網路(DCNN)用於結節和非結節分類。Dou等人[4]也實現了FCN生成候選結節,並將兩個殘塊合併到3D DCNN中用於結節檢測。雖然這種計算機輔助檢測(CADe)系統已經產生了很好的結果,但是它們仍然有兩個主要的缺點:(a)以前的fcn類深度神經網路通常檢測的結節候選較少,這降低了隨後的結節和非結節分類的複雜性
但可能會導致遺漏真正的結節;(b)使用傳統的3D DCNN來區分結節和非結節組織仍然不夠準確,因為他們之間的視覺差異非常微妙。為了解決這兩個缺點,我們提出一種新的演算法來檢測肺部結節在胸部CT掃描。這項工作的主要貢獻包括:(a)設計一種基於3D漸進解析度的密集擴張FCN,稱為漸進解析度網路(PRN),用於檢測肺內的結節候選,(b)設計一個具有分層顯著性的密集擴張的3D CNN,即分層顯著性網路(HSN),同時從這些候選物件中識別出真正的結節,並估計結節的直徑。我們在基準肺結節分析2016 (LUNA16)資料集[1]並且取得了比LUNA16挑戰賽排行榜前五名更高的成績。

3. 方法

      提出的肺結節檢測演算法(見圖1)由三個部分組成步驟:肺分割,基於prn的結節候選檢測和基於HSNbased從這些候選人中鑑別出真正的結節。我們現在深入研究每一個步驟。

3.1資料重取樣和肺分割

      為了規範胸部CT掃描的可變空間解析度,我們重新取樣將每個掃描變為均勻體素1.0×1.0×1.0 mm3的大小。在檢測候選結節之前,肺的分割也是必要的,因為肺外器官和組織如胸骨可能對檢測造成極其不利的影響。分割過程包括:(a)使用OTSU演算法[10]逐層對每個重取樣的CT掃描進行二倍化;(b)利用形態學閉合來填補空洞,並用直徑為5的圓盤結構元件進行形態學擴張,以製作儘可能覆蓋肺組織的肺掩膜(lung mask);(c)將此mask應用於再次取樣的CT掃描以獲得肺的體積(volume of lung)。

3.2 基於prn的候選結節檢測

       我們在肺體積上滑動32×32×32的視窗和提取視窗內每個位置的體塊作為PRN的輸入,用於檢測候選結節。提出的PRN模型(見圖3)由雙路編碼器和解碼器組成。編碼器提取和傳輸特徵的侵略性解析度,解碼器產生結節候選。
我們第一次放大每個輸入容量64×64×64的patch,然後將patch及其放大後的拷貝分別輸入到兩個編碼器路徑中。每個編碼器路徑始於一個3×3×3與修正線性卷積層單元(ReLU)啟用函式,後面是四個PRN街區。每個PRN塊由一個類似於密集塊[7]的3D密集擴張塊(DDB)和一個向下過渡單元組成。DDB包含三個卷積層與核心大小3×3×3的5×5×5和3×3×3,分別和擴張率的2,也可以

      它可以在不損失解析度[13]的情況下,降低複雜程度,聚合多尺度上下文資訊。每一層都將前面所有的feature map作為輸入。過渡單元有一批標準化層,一個3×3×3卷積層ReLU啟用函式和一個2×2×2的步幅max-pooling層2。三維卷積層中的濾波器個數在每個PRN塊中都是一個固定的值。這個值最初是32,從上面的PRN塊到下面的塊增加了16步。解碼器有一個激進的反體積路徑,這與編碼器路徑相似,除了(1)所有塊都是逆序列,(2)最後卷積3×3×3層有sihmoid啟用函式,而不是ReLU。每個輸入路徑的feature map也被連線並複製到解碼器路徑上的相應位置。譯碼器的輸出是二值化的,閾值為0.8輸出中的連線卷被檢測為候選節點。

3.3 基於hsnt的結節與非結節鑑別

      提出的HSN模型(見圖3)由四個後續HSN塊組成,一個3×3×3卷積層,一個2×2×2 max-pooling圖層兩個1×1×1卷積層。
每個HSN塊以三個體積塊作為輸入,根據檢測到的結節候選中心將其裁剪在胸部CT掃描上。
這些patch,其原始大小32×32×32歲24×24×24和16×16×16,然後分別調整到32×32×32,然後通過0進行填充和反饋到3D轉換層。。
過渡層的三個輸出連線為3D DDB的輸入,以便進一步處理。迴歸層使用平均絕對誤差作為損失函式,用線性函式代替s函式。
3D DDB和3D過渡層的結構與PRN相同。類似地,過濾器的數量被初始化為32,並隨著32步的增加而增加。
為了提高演算法的正則化能力,在最大池化層的輸出上,採用丟包的概率為0.5(dropout)。最後兩個1×1×1卷積層平行輸出層,候選人結節進行分類和評估結節直徑,分別。

      為了減輕模型的過度擬合,我們對模型進行了資料增強。在訓練和測試中增加陽性樣本的數量。具體來說,我們通過旋轉結節沿Z軸,從0、90、180和270,然後左右翻轉,為每個結節生成5個副本。在訓練階段,我們周圍出現一塊32×32×32每個結節作為正樣本,隨機出現負樣本,包括胸膜,氣管組織和血管,為保證陽性樣本的比例,共5倍的增增拷貝,陰性樣本為1:10。
我們將每個模型中的偏差值初始化為0,並通過從標準法線取樣來初始化其他引數分佈。我們選擇的是小批量隨機梯度下降法
作為優化器,批大小為16,動量為0.9。我們設定了學習在20個epoch後,速率降低到0.01,降低到0.001。我們將學習率設定為0.01,20個epoch後降低為0.001。我們隨機選取20%的訓練資料形成驗證集,當驗證集的準確率超過20個時期沒有提高時,我們停止了訓練。在測試階段,我們肺上滑動32×32×32視窗在肺癌和將視窗內的每個容積塊輸入訓練過的PRN,以檢測候選結節。
然後我們根據檢測到的結節候選中心裁剪了3個同心圓斑塊,加起來是五倍,對經過訓練的HSN進行真正的結節識別和直徑估算。結節候選人的真實性取決於多數投票和其直徑由估算值的平均值決定。

4. 測試和結果

      我們使用10倍交叉驗證對LUNA16資料集上提出的肺結節檢測演算法進行了評估。圖4顯示了兩個示例案例,其中P為真結節的概率,D為結節直徑。結果表明,我們的方法能夠檢測到小結節,直徑小於5mm,能準確估算出結節直徑。檢測結節直徑與真直徑的平均差值為1.34 mm。

      與挑戰記錄的比較。接下來,我們比較了我們的方法是進入LUNA16挑戰賽排行榜前五名錶1,其中得分計算為平均靈敏度在7操作FROC曲線的點:1/8,1/4,1/2,1,2,4,8 FPs/scan, 95%置信區間的計算使用bootstrapping與1,000 bootstrap的bootstrapping計算。它結果表明,我們的方法得到了0.958的分數,高於當前的分數最好的挑戰記錄,據我們所知,是迄今為止最好的表現
在此資料集上實現。

       計算複雜度大約需要18到23個小時去訓練提出的PRN和HSN模型,耗時約3分鐘胸部CT (Intel Xeon E5-2640 V4 CPU,
NVIDIA Titan X GPU, 512gb RAM, ubuntu16.04, Python 3.5.2, Tensorflow1.5.0和Keras 2.1.3)。由於培訓過程可以離線進行,
我們的肺結節檢測方法可以在三分鐘內分析一次掃描,可用於臨床常規工作。

5. 總結

       本文提出了一種基於PRN模型的肺結節候選檢測方法胸部CT掃描和HSN模型可以識別出那些可以擴散的結節。
我們的結果表明我們的肺結節檢測方法在LUNA16資料集上的得分為0.958,這比目前最好的挑戰記錄還要高,據我們所知,這是迄今為止在這個資料集上取得的最好的效能。