肺癌是死亡率最高的惡性腫瘤,肺結節早期確診是降低肺癌死亡率的關鍵。計算機輔助診斷技術在肺結節早期確診方面被認為具有超越人類專家的潛力。而基于深度學習技術的肺結節檢測和分類可通過自我學習而不斷提高診斷的準確率,是實現計算機輔助診斷的重要手段。本文首先系統闡述了二維卷積神經網絡(2D-CNN)、三維卷積神經網絡(3D-CNN)和更快速的區域卷積神經網絡(Faster R-CNN)技術在肺結節檢測方面的應用,然后闡述了 2D-CNN、3D-CNN、多流多尺度卷積神經網絡(MMCNN)、深度卷積生成對抗網絡(DCGAN)和遷移學習技術在肺結節分類中的應用,最后針對肺結節的檢測與分類中不同的深度學習方法進行了綜合比較分析。
引用本文: 趙清一, 孔平, 閔建中, 周艷麗, 梁壯壯, 陳勝, 李茂舉. 肺結節檢測與分類的深度學習方法綜述. 生物醫學工程學雜志, 2019, 36(6): 1060-1068. doi: 10.7507/1001-5515.201903027 復制
引言
肺癌是我國常見的惡性腫瘤之一,死亡率高居所有惡性腫瘤之首[1-3]。肺結節的診斷對于提高肺癌患者的存活率有重要的作用。尤其在肺癌早期,低劑量計算機斷層掃描(computed tomography,CT)技術的使用可以及時發現并準確診斷肺結節,更有助于延長肺癌患者的生存時間。然而,肺結節篩查工作量大、易漏診,影像科醫師需要閱讀大量肺部 CT 圖像來找出肺結節并做出臨床診斷方面的判斷。高強度的工作容易造成醫師的誤診,并且僅依靠人工診斷方法的效率較低。為了減少醫師的工作量并且提高肺結節診斷的效率,在臨床工作中,已經開始使用一些計算機輔助診斷(computer-aided detection,CAD)技術。傳統的計算機輔助診斷技術存在很多問題,如缺少統一的分割算法并且分割效果不夠精準,結節檢測結果假陽性高,對于微小結節容易漏檢,無法進行自我學習。但是,基于深度學習的計算機輔助診斷技術,不僅可以提高讀片的速度和準確度,而且可以進行自我學習,從而不斷地優化讀片的效果[4]。由于深度學習技術的上述優勢,現已被越來越多地應用于肺結節的診斷中,本文將對其中肺結節檢測和分類的深度學習方法的發展以及最新的研究進展進行討論。
1 肺結節檢測中的深度學習方法
在肺結節檢測中,常用的深度學習方法有二維卷積神經網絡(two dimension convolutional neural network,2D-CNN)、三維卷積神經網絡(three dimension convolutional neural network,3D-CNN)和更快速的區域卷積神經網絡(faster regions convolutional neural network,Faster R-CNN)。本文將根據最新的研究成果來介紹以上深度學習方法在肺結節檢測中的應用情況。
1.1 2D-CNN
卷積神經網絡是一種在生物視覺上得到啟發從而發明的人工前饋神經網絡,主要用于文本、圖像、語音、視頻等識別。圖 1 是卷積神經網絡的結構圖,通常由輸入層、卷積層、池化層、全連接層組成。其中輸入層的功能是輸入數據;卷積層通過使用卷積核對圖像進行卷積,得到特征圖,提取特征信息;池化層通過最大池化或者均值池化等方式降低網絡空間分辨率;全連接層是由許多神經元組成的平鋪結構,在整個網絡中起到分類器的作用。Lecun 等[5-6]在 1989 年首次提出卷積神經網絡,由于當時計算能力有限以及可用于訓練和測試的標記樣本不足,導致當時的卷積神經網絡沒有得到廣泛的應用和發展。隨著標記數據量的增長和計算機計算能力的快速提升,Krizhevsky 等[7]在 2012 年創新性地提出了卷積神經網絡模型 AlexNet,并且該模型在當年的 ImageNet 競賽中獲得第一名,使卷積神經網絡在圖像領域得到了廣泛的應用和快速的發展。之后,不斷有新的卷積網絡被提出,比如 VGG NET[8]、ZF NET[9]、ResNet[10]和 GoogLeNet[11]。因為 2D-CNN 在圖像識別領域的優秀表現,引起了大量科研人員的關注,越來越多的科研人員將 2D-CNN 應用于肺結節的檢測中。

Setio 等[12-13]提出了基于多視角的 2D-CNN,將其應用于肺結節的檢測中。為避免漏診,對該網絡的第一步提高了靈敏度,但出現了大量假陽性結節,因此需要在第二步進行假陽性去除操作。此網絡結構分為兩個部分:第一部分由 3 個探測器對結節進行檢測,確定可疑候選結節;第二部分由包含卷積層、最大池化層的 2D-CNN 和另一個包含全卷積層和 softmax 層的 2D-CNN 組成,首先在每個平面上均訓練一個 2D-CNN,對于每個檢測到的候選結節,提取 9 個不同方向平面上的信息,用于肺結節的假陽性去除操作;然后將結果輸入到 4 種不同的融合方法中,比較不同融合方法對結構性能的影響。實驗數據來自公開的肺部圖像數據庫聯盟(Lung Image Database Consortium,LIDC-IDRI)、自動肺結節檢測數據 2009(Automatic Nodule Detection 2009,ANODE09)以及丹麥肺癌篩查實驗數據庫(Danish Lung Cancer Screening Trial,DLCST)。在試驗中選取 LIDC-IDRI 數據庫中的 888 個病例,進行 5 次交叉驗證,將 888 個病例分為 5 組,每次分別使用 3 組作為訓練集,一組為驗證集,另一組為測試集。同時,由于病例陽性數量較少,對數據進行了增強操作,以增加陽性樣本的數量,達到數據增強的目的。實驗結果表明,基于多視角的 2D-CNN 在假陽性為 1 和 4 的情況下,檢測靈敏度分別達到了 85.4% 和 90.1%,此外通過獨立數據集的測試,證明該方法有較好的魯棒性。
苗光等[14]為解決現有方法在肺結節檢測中工作效率不高的問題,提出了一種基于改進的 U-net[15]網絡模型,U-net 模型是一種在醫學圖像領域應用較多的卷積神經網絡模型,具有端對端的網絡結構。文獻[14]中提到的模型改進了 U-net 模型中的激活函數,將原本的線性整流函數(Rectified Linear Unit,ReLU)改成了更合適的激活函數 Leaky ReLU,并添加了 Batch-Normalization,以優化網絡的收斂速度。對 LIDC-IDRI 數據庫的肺部 CT 圖像進行肺結節檢測,快速定位疑似的結節區域。此 2D-CNN 取得了 98.2% 的召回率。結果表明,此網絡模型對于肺結節的檢測具有良好的效果,具有很高的應用價值。
在肺結節檢測中,2D-CNN 具有網絡復雜度低、檢測效果好和計算時間短等優點,特別是 U-net 模型可以同時結合底層和高層信息,適用于處理復雜的肺部醫學圖像,進行肺結節的檢測,并能夠獲得很好的檢測效果。但是 2D-CNN 在肺結節檢測中的靈敏度有待提高。
1.2 3D-CNN
CT 圖像是連續的層面圖像。3D-CNN[16-17]是在 2D-CNN 的基礎上改進的卷積神經網絡,圖 2 是 2D-CNN 和 3D-CNN 的結構對比圖,2D-CNN 的卷積核是二維的,而 3D-CNN 的卷積核是三維的。在 CT 圖像里,多出的維度是層數維。使用 3D-CNN 能更好地獲取圖像的空間信息,提取到更多的特征信息,有助于肺結節的檢測。

圖 3 是 Pezeshk 等[18]在 2018 年提出的基于 3D-CNN 的網絡結構圖,并將其命名為 DeepMed,其網絡結構由 3 個卷積層、2 個最大池化層、2 個全連接層和 1 個 softmax 層組成。實驗數據集是 LIDC 數據集中切片厚度不高于 2.5 mm 的 888 例 CT 圖像。實驗結果表明,在每次掃描只出現 2 個假陽性病例的情況下,該網絡靈敏度達到 91%。
Winkels 等[19]提出了基于三維圖卷神經網絡(three dimension graph convolution network,3D G-CNN)的方法,用于解決已標注醫學圖像數量較少的問題。文獻[19]中提出的網絡首先是卷積層,其次是 ROI 池化層,然后是全連接層,最后是線性回歸器。實驗結果表明,三維 G-CNN 的 FROC 得分和傳統卷積神經網絡在 10 倍數據集上訓練的 FROC 得分相當,大幅度提高了網絡訓練的效率,并且降低了數據收集的成本,能夠更好地在肺結節檢測中得到應用。
圖 4 是 Huang 等[20]在 2017 年提出的基于 3D-CNN 的結構圖,用于檢測低劑量 CT 圖像中的肺結節。考慮到多維數據的尺寸、訓練數據的大小以及計算機的計算能力,文獻[20]中提到的系統使用了相對簡單的 3D-CNN 架構。首先是 32 × 32 × 32 的輸入層;其次是 3 個分別包含 32、16 和 16 個 3 × 3 × 3 卷積核的卷積層,每個卷積層后面都有最大池化層;最后是 3 個分別為 64、64 和 2 個神經元的全連接層。文獻[20]中提到的系統將醫學知識應用到肺結節檢測中,首先使用了基于局部幾何模型的過濾器生成候選節點,利用醫學知識,大大降低了 3D-CNN 分類步驟的計算成本和復雜度;然后將候選結節以 3D 的形式輸入到 3D-CNN 中,訓練卷積神經網絡來對結節和非結節進行區分。實驗結果表明,3D-CNN 相對 2D-CNN 在肺結節檢測中更具優勢。同時對比了 Anirudh 等[21]在 2016 年提出的基于 3D-CNN 的肺結節計算機輔助診斷系統,在候選結節過濾器和貝葉斯模型、候選數據集、數據量增加、三維卷積核和網絡體系結構等方面均有改進和提升。
Hamidian 等[22]在 2017 年提出了基于 3D-CNN 的計算機輔助診斷系統,在肺結節檢測過程中,分為篩選和識別 2 個步驟。首先,3D-FCN[23]將 3D-CNN 中的全連接層變成卷積層,輸出標記好的圖像而非向量。然后,由于 3D-FCN 可以接受任意大小的圖像,利用反卷積層進行上采樣,使圖片恢復到初始尺寸。最后,通過 3D-FCN 標記出肺結節的候選區域,用 CNN 對候選區域的疑似肺結節進行分類,確定其是結節還是非結節。實驗數據集和 LIDC 數據集中,以切片厚度為 1.5~3.0 mm 的 509 個病例中的 833 個結節作為訓練集,以 25 個病例中的 104 個結節作為測試集。實驗結果表明,與 3D-CNN 窗口滑動的方法相比,3D-FCN 將檢測速度提高了約 800 倍。3D-FCN 網絡為肺結節的檢測提供了一種解決思路。
3D-CNN 在肺結節檢測過程中,能夠獲得圖像更多的空間特征信息,有助于肺結節的檢測[24]。文獻[18]中使用的 3D-CNN 方法比文獻[12]中使用的 2D-CNN 方法靈敏度提高了 5.6%,3D-CNN 與 2D-CNN 相比,有更高的檢測靈敏度,但是 3D-CNN 也存在網絡復雜和計算量大等缺點。
1.3 Faster R-CNN
Ren 等[25]在 2015 年提出了 Faster R-CNN 結構,它是在 Girshick 等[26-27]于 2014 年提出的區域卷積神經網絡(region convolutional neural network,R-CNN)和 2015 年提出的快速區域卷積神經網絡(fast region convolutional neural network,Fast R-CNN)基礎上改進得到的網絡結構所構成的一個深度網絡框架,實現了端對端的目標檢測框架,提高了檢測精度和速度。因其具有更快的檢測速度,更加適用于肺結節等小目標的檢測過程。
Xie 等[28]提出了一種基于 Faster R-CNN 改進的網絡模型,并用于肺結節的檢測中,本文將其命名為優化的 Faster R-CNN 模型 1。圖 5 是 Xie 等[28]提出的優化的 Faster R-CNN 模型 1 的網絡結構圖,與原有網絡相比,該方法重要的改進是使用了兩個 RPN 和一個反卷積層,針對 3 種不同的切片訓練 3 種不同的模型,最后將這 3 種模型進行融合,獲得候選模型。肺結節檢測網絡由 3 個部分組成,分別是基于 VGG16 的特征提取網絡、區域生成網絡和興趣區域分類網絡。文獻[28]中提到的系統在 LUNA16 數據集上進行訓練,并且篩選出被預先網絡判別錯誤的具有代表性和難以辨別的肺結節后,再次對系統進行訓練,以增強系統的魯棒性。在 LUNA16 數據集上設定衰減權重為 0.000 5,學習率為 0.001,進行 10 倍的交叉驗證,迭代 10 000 次。實驗結果表明,網絡在檢測肺結節時,靈敏度達到 86.42%,能夠較為準確地識別肺結節。
Ding 等[29]也對 Faster R-CNN 進行了優化。在 LUNA16 競賽中,Ding 等將 Faster R-CNN 應用于肺結節的檢測中,為了解決原始 Faster R-CNN 在肺結節檢測中檢測效果有限的問題,Ding 團隊[29]在特征提取完成之后增加了反卷積層,使得系統更加快速和精確,最終憑借 0.893 分的 FROC 得分取得了競賽的冠軍。
在肺結節檢測中,2D-CNN 在相同數據集的模型訓練中需要的計算量較小,但是會忽略空間信息,影響檢測結果,降低檢測精度。3D-CNN 模型訓練中所需要的計算量較大,對于計算能力的要求也較高,但是有助于提高靈敏度。而兩種優化的 Faster R-CNN 能夠有效地減少訓練時間和測試時間,使精度越來越高、速度越來越快,在肺結節的檢測中應用較多。
2 肺結節分類中的深度學習方法
通常計算機輔助診斷系統在 CT 圖像中完成肺結節檢測之后,還需要對已經檢測出的肺結節進行分類,來判斷其良惡性。肺結節的大小、形態和體積增長率是判斷良惡性的重要指標,但這需要至少兩次的 CT 掃描。隨著深度學習技術和卷積神經網絡的快速發展,越來越多的深度學習技術被應用于肺結節的分類中,如多流多尺度卷積神經網絡(multi-stream multi-scale convolutional neural network,MMCNN)、深度卷積生成對抗網絡(deep convolutional generative adversarial networks,DCGAN)和遷移學習,以及第 1 節中介紹的 2D-CNN 和 3D-CNN。本節將探討以上各種深度學習方法在肺結節分類中的最新應用成果。
2.1 CNN
Hua 等[30]在 2015 年將 2D-CNN 應用于肺結節的分類中,解決了傳統計算機輔助診斷系統性能不夠穩定、由人工制定的診斷規則不夠全面和無法持續提高準確率等問題。該方法的數據集來自 LIDC-IDRI,由 1 010 名患者的已注釋肺部 CT 圖像組成。Hua 等[30]從數據庫中選擇 2 545 個直徑大于 3 mm 的肺結節進行實驗。最終,該方法的靈敏度為 73.3%,特異度為 78.7%,工作效率高于傳統的計算機輔助診斷系統。實驗結果表明,深度學習在肺結節分類領域有廣闊的發展前景。
但是,2D-CNN 會丟失肺結節的立體信息,為了解決此問題,Liu 等[31]在 2017 年提出將 3D-CNN 應用于肺結節分類的想法,設計了 2 個不同結構的 3D-CNN 在相同的數據集進行訓練和測試,通過對實驗結果所生成的受試者操作特征(receiver operating characteristic,ROC)曲線進行評估,選出性能較好的網絡結構。圖 6 是 Liu 等[31]提出的基于 3D-CNN 的結構圖,選取 326 個肺結節實驗數據集進行訓練和測試。實驗結果表明,第 1 個 3D-CNN 的曲線下面積(area under curve,AUC)為 0.732,第 2 個 3D-CNN 的 AUC 為 0.698,第 1 個 3D-CNN 效果更好。該實驗繼續設計 2D-CNN 用于對比 3D-CNN 的效果,實驗結果表明,2D-CNN 的 AUC 為 0.688,小于 3D-CNN 的 0.732,故 3D-CNN 的效果更好。
實驗表明,3D-CNN 的效果較好,并且其不需要依靠特定的專業知識,通過不斷學習便有助于系統的進一步完善,提高了肺結節的診斷效率和準確性。但是 3D-CNN 存在特征較多、數據量較大和計算時間較長等問題。
2.2 MMCNN
Ciompi 等[32]和 Shen 等[33]等出了一種應用于肺結節檢測的基于多流多尺度卷積神經網絡的方法。此多流多尺度卷積神經網絡不需要進行分割等預處理操作,可以直接處理原始數據。相比于只能提取單一尺度特征的卷積神經網絡,Ciompi 等[32]和 Shen 等[33]提出的方法能夠提取到多尺度的特征,從而更加有利于肺結節的分類。Ciompi 等[32]將肺結節分為實性、非實性、部分實性、肺裂、鈣化和毛刺 6 個類型。該系統由 9 個卷積神經網絡流組成,分成 3 組。每組分別對應肺結節的橫截面、冠狀面和矢狀面。不同的流以不同的比例處理相同的 3 片部分,即 10、20、40 mm;然后,輸入的二維數據經過卷積和池化層處理,并在 3 個流中共享參數,不同規模的多流網絡在全連接層中合并;最后,具有 6 個神經元的 softmax 層得到 6 個類的概率。此實驗數據集來自 943 名患者的 1 805 個肺結節,分為訓練組(1 352 個結節)和驗證組(453 個肺結節)。為了擴展訓練集,通過旋轉和小范圍地移動中心,生成了約 500 000 個訓練樣本,其中每種類型約為 80 000 個。測試數據來自丹麥肺癌篩查試驗,其中包括 468 名患者的 639 個肺結節。結果表明,此系統分類的準確率和專家的準確率相當,平均準確率分別為 69.6% 和 72.9%。文獻[32]中提到的系統分類的準確率較傳統方法有大幅度提高。
2.3 DCGAN
徐久強等[34]在 2018 年提出了 DCGAN 的網絡,且首次將其用于肺結節分類。DCGAN[35]解決了 GAN[36]穩定性不足的問題。文獻[34]中提到的方法將肺結節的惡性分為 5 個等級,分別為良性、疑似良性、未知、疑似惡性和惡性。該系統有效地解決了數據中良性和惡性樣本數量不平均的問題。該方法將 DCGAN 模型進行改進,包含 G 和 D 兩個模型。其改進的部分,一為在 D 模型中輸入圖像時,將圖像相對應的類別標簽同時作為 D 模型的輸入;二為 D 在判別過程中存在兩部分內容,即對輸入圖像的來源分類和對輸入圖像的惡性等級分類。該實驗的數據集來自 LIDC 和合作醫院,包含 11 954 個肺結節,尺寸為 28 mm × 28 mm。實驗隨機選擇了 80% 的數據集作為訓練集,其余作為測試集。在實驗中,文獻[34]提到的模型在肺結節惡性等級的分類中準確率達到了 70.89%,在肺結節良惡性分類中達到了 80.13%。實驗結果表明,此模型有良好的分類效果,準確率較高,抗噪聲能力較好,可在實際的醫療工作中得到廣泛的應用。
2.4 遷移學習
在肺結節分類中使用遷移學習可以解決已標記醫學圖像數量不足的問題,更有利于卷積神經網絡的訓練。Hussein 等[37]將遷移學習[38]應用于肺結節的分類過程中,其將肺結節按照惡性程度分為 5 個等級。首先 Hussein 等[37]在已用 100 萬段視頻訓練過的網絡上使用 CT 數據進行遷移學習,有效地解決了已標注肺結節樣本缺乏的問題,能夠有效地提高分類準確率。這是第一次將遷移學習應用于檢測肺結節的 3D-CNN 中,改善了用于訓練的醫學圖像數據不足的問題,取得了較為成功的效果。但醫學圖像的復雜度高,如何更加有效地將遷移學習應用到肺結節分類中還需要更多的研究。
3 總結和展望
近些年,深度學習技術不斷快速發展,其在醫學圖像輔助診斷領域中已經發揮了越來越重要的作用[39]。深度學習技術在肺結節的檢測和分類的應用中,也已經取得了長足的進步,從最簡單的 2D-CNN 發展到 3D-CNN,到更快的區域卷積神經網絡,到多流多尺度卷積神經網絡,再進一步發展到深度卷積生成對抗網絡以及遷移學習,各項技術指標都在不斷地提升。
當然,也有需要進一步改進的地方。比如:① 由于已標注的肺結節圖像不足,在目前的監督學習居多的情況下,容易造成網絡模型的過擬合。② 準確率有待進一步提高。③ 深度學習網絡的可解釋性較差,在醫學圖像的輔助診斷領域,需要更多的理論支持并增加其可解釋性,提高其在醫療領域的接受度。④ 基于深度學習的計算機輔助診斷科學和醫學之間的交流較少,導致設計出的網絡在臨床中不適用,未能大范圍使用。⑤ 基于深度學習的計算機輔助診斷系統和醫院現有的影像系統、醫院信息系統沒能很好地集成,給醫生的使用帶來很多困難。
結合深度學習技術的特點和發展,對其在肺結節診斷領域做出以下的展望:棧式自動編碼器(stack auto-encoder,SAE)和受限玻爾茲曼機(restricted Boltzmann machine,RBM)等無監督學習方法的應用可能會改善可用標記數據較少的問題[40-41];深度學習系統在進行肺結節的檢測時,也可以加入其他疾病的檢測,比如胸膜、乳腺、臟器和淋巴結等是否有病變,這種全面的檢測可以幫助醫生對患者進行全方位的檢查,避免僅僅注意到一種疾病而忽略了其他疾病;遷移學習技術有望在大數據方面訓練出更好的神經網絡參數,通過遷移學習再訓練肺結節的訓練數據,遷移學習的應用可能會解決標簽數據不足的問題,更好地提升網絡的準確度。研究者不斷提出大量更加優秀的深度學習網絡,從二維神經網絡到三維神經網絡,以及更加高效的半監督神經網絡和無監督神經網絡,基于深度學習的計算機輔助診斷系統必將在肺結節檢測的準確率上有更高的提升,并且減少對人工標注的醫學樣本的依賴。同時,新的計算機輔助診斷系統也將與醫院的各大信息系統進行集成,推動其在臨床中的大范圍應用。
4 結束語
基于深度學習的肺結節檢測和分類的計算機輔助診斷技術,不僅可以提高讀片的速度,而且可以進行自我學習,從而不斷地提高讀片的準確率。在學術界、醫學界和工業界的共同努力下,深度學習技術有望解決肺結節的精準診斷問題,展現出重大的臨床應用潛力和市場前景。但同時我們也必須承認深度學習技術還存在一定的局限性,如臨床標記的肺結節圖像數據少、準確率有待進一步提升等。研究解決這些問題是未來深度學習技術在肺結節檢測和分類應用中發展的重要方向。
利益沖突聲明:本文全體作者均聲明不存在利益沖突。
引言
肺癌是我國常見的惡性腫瘤之一,死亡率高居所有惡性腫瘤之首[1-3]。肺結節的診斷對于提高肺癌患者的存活率有重要的作用。尤其在肺癌早期,低劑量計算機斷層掃描(computed tomography,CT)技術的使用可以及時發現并準確診斷肺結節,更有助于延長肺癌患者的生存時間。然而,肺結節篩查工作量大、易漏診,影像科醫師需要閱讀大量肺部 CT 圖像來找出肺結節并做出臨床診斷方面的判斷。高強度的工作容易造成醫師的誤診,并且僅依靠人工診斷方法的效率較低。為了減少醫師的工作量并且提高肺結節診斷的效率,在臨床工作中,已經開始使用一些計算機輔助診斷(computer-aided detection,CAD)技術。傳統的計算機輔助診斷技術存在很多問題,如缺少統一的分割算法并且分割效果不夠精準,結節檢測結果假陽性高,對于微小結節容易漏檢,無法進行自我學習。但是,基于深度學習的計算機輔助診斷技術,不僅可以提高讀片的速度和準確度,而且可以進行自我學習,從而不斷地優化讀片的效果[4]。由于深度學習技術的上述優勢,現已被越來越多地應用于肺結節的診斷中,本文將對其中肺結節檢測和分類的深度學習方法的發展以及最新的研究進展進行討論。
1 肺結節檢測中的深度學習方法
在肺結節檢測中,常用的深度學習方法有二維卷積神經網絡(two dimension convolutional neural network,2D-CNN)、三維卷積神經網絡(three dimension convolutional neural network,3D-CNN)和更快速的區域卷積神經網絡(faster regions convolutional neural network,Faster R-CNN)。本文將根據最新的研究成果來介紹以上深度學習方法在肺結節檢測中的應用情況。
1.1 2D-CNN
卷積神經網絡是一種在生物視覺上得到啟發從而發明的人工前饋神經網絡,主要用于文本、圖像、語音、視頻等識別。圖 1 是卷積神經網絡的結構圖,通常由輸入層、卷積層、池化層、全連接層組成。其中輸入層的功能是輸入數據;卷積層通過使用卷積核對圖像進行卷積,得到特征圖,提取特征信息;池化層通過最大池化或者均值池化等方式降低網絡空間分辨率;全連接層是由許多神經元組成的平鋪結構,在整個網絡中起到分類器的作用。Lecun 等[5-6]在 1989 年首次提出卷積神經網絡,由于當時計算能力有限以及可用于訓練和測試的標記樣本不足,導致當時的卷積神經網絡沒有得到廣泛的應用和發展。隨著標記數據量的增長和計算機計算能力的快速提升,Krizhevsky 等[7]在 2012 年創新性地提出了卷積神經網絡模型 AlexNet,并且該模型在當年的 ImageNet 競賽中獲得第一名,使卷積神經網絡在圖像領域得到了廣泛的應用和快速的發展。之后,不斷有新的卷積網絡被提出,比如 VGG NET[8]、ZF NET[9]、ResNet[10]和 GoogLeNet[11]。因為 2D-CNN 在圖像識別領域的優秀表現,引起了大量科研人員的關注,越來越多的科研人員將 2D-CNN 應用于肺結節的檢測中。

Setio 等[12-13]提出了基于多視角的 2D-CNN,將其應用于肺結節的檢測中。為避免漏診,對該網絡的第一步提高了靈敏度,但出現了大量假陽性結節,因此需要在第二步進行假陽性去除操作。此網絡結構分為兩個部分:第一部分由 3 個探測器對結節進行檢測,確定可疑候選結節;第二部分由包含卷積層、最大池化層的 2D-CNN 和另一個包含全卷積層和 softmax 層的 2D-CNN 組成,首先在每個平面上均訓練一個 2D-CNN,對于每個檢測到的候選結節,提取 9 個不同方向平面上的信息,用于肺結節的假陽性去除操作;然后將結果輸入到 4 種不同的融合方法中,比較不同融合方法對結構性能的影響。實驗數據來自公開的肺部圖像數據庫聯盟(Lung Image Database Consortium,LIDC-IDRI)、自動肺結節檢測數據 2009(Automatic Nodule Detection 2009,ANODE09)以及丹麥肺癌篩查實驗數據庫(Danish Lung Cancer Screening Trial,DLCST)。在試驗中選取 LIDC-IDRI 數據庫中的 888 個病例,進行 5 次交叉驗證,將 888 個病例分為 5 組,每次分別使用 3 組作為訓練集,一組為驗證集,另一組為測試集。同時,由于病例陽性數量較少,對數據進行了增強操作,以增加陽性樣本的數量,達到數據增強的目的。實驗結果表明,基于多視角的 2D-CNN 在假陽性為 1 和 4 的情況下,檢測靈敏度分別達到了 85.4% 和 90.1%,此外通過獨立數據集的測試,證明該方法有較好的魯棒性。
苗光等[14]為解決現有方法在肺結節檢測中工作效率不高的問題,提出了一種基于改進的 U-net[15]網絡模型,U-net 模型是一種在醫學圖像領域應用較多的卷積神經網絡模型,具有端對端的網絡結構。文獻[14]中提到的模型改進了 U-net 模型中的激活函數,將原本的線性整流函數(Rectified Linear Unit,ReLU)改成了更合適的激活函數 Leaky ReLU,并添加了 Batch-Normalization,以優化網絡的收斂速度。對 LIDC-IDRI 數據庫的肺部 CT 圖像進行肺結節檢測,快速定位疑似的結節區域。此 2D-CNN 取得了 98.2% 的召回率。結果表明,此網絡模型對于肺結節的檢測具有良好的效果,具有很高的應用價值。
在肺結節檢測中,2D-CNN 具有網絡復雜度低、檢測效果好和計算時間短等優點,特別是 U-net 模型可以同時結合底層和高層信息,適用于處理復雜的肺部醫學圖像,進行肺結節的檢測,并能夠獲得很好的檢測效果。但是 2D-CNN 在肺結節檢測中的靈敏度有待提高。
1.2 3D-CNN
CT 圖像是連續的層面圖像。3D-CNN[16-17]是在 2D-CNN 的基礎上改進的卷積神經網絡,圖 2 是 2D-CNN 和 3D-CNN 的結構對比圖,2D-CNN 的卷積核是二維的,而 3D-CNN 的卷積核是三維的。在 CT 圖像里,多出的維度是層數維。使用 3D-CNN 能更好地獲取圖像的空間信息,提取到更多的特征信息,有助于肺結節的檢測。

圖 3 是 Pezeshk 等[18]在 2018 年提出的基于 3D-CNN 的網絡結構圖,并將其命名為 DeepMed,其網絡結構由 3 個卷積層、2 個最大池化層、2 個全連接層和 1 個 softmax 層組成。實驗數據集是 LIDC 數據集中切片厚度不高于 2.5 mm 的 888 例 CT 圖像。實驗結果表明,在每次掃描只出現 2 個假陽性病例的情況下,該網絡靈敏度達到 91%。
Winkels 等[19]提出了基于三維圖卷神經網絡(three dimension graph convolution network,3D G-CNN)的方法,用于解決已標注醫學圖像數量較少的問題。文獻[19]中提出的網絡首先是卷積層,其次是 ROI 池化層,然后是全連接層,最后是線性回歸器。實驗結果表明,三維 G-CNN 的 FROC 得分和傳統卷積神經網絡在 10 倍數據集上訓練的 FROC 得分相當,大幅度提高了網絡訓練的效率,并且降低了數據收集的成本,能夠更好地在肺結節檢測中得到應用。
圖 4 是 Huang 等[20]在 2017 年提出的基于 3D-CNN 的結構圖,用于檢測低劑量 CT 圖像中的肺結節。考慮到多維數據的尺寸、訓練數據的大小以及計算機的計算能力,文獻[20]中提到的系統使用了相對簡單的 3D-CNN 架構。首先是 32 × 32 × 32 的輸入層;其次是 3 個分別包含 32、16 和 16 個 3 × 3 × 3 卷積核的卷積層,每個卷積層后面都有最大池化層;最后是 3 個分別為 64、64 和 2 個神經元的全連接層。文獻[20]中提到的系統將醫學知識應用到肺結節檢測中,首先使用了基于局部幾何模型的過濾器生成候選節點,利用醫學知識,大大降低了 3D-CNN 分類步驟的計算成本和復雜度;然后將候選結節以 3D 的形式輸入到 3D-CNN 中,訓練卷積神經網絡來對結節和非結節進行區分。實驗結果表明,3D-CNN 相對 2D-CNN 在肺結節檢測中更具優勢。同時對比了 Anirudh 等[21]在 2016 年提出的基于 3D-CNN 的肺結節計算機輔助診斷系統,在候選結節過濾器和貝葉斯模型、候選數據集、數據量增加、三維卷積核和網絡體系結構等方面均有改進和提升。
Hamidian 等[22]在 2017 年提出了基于 3D-CNN 的計算機輔助診斷系統,在肺結節檢測過程中,分為篩選和識別 2 個步驟。首先,3D-FCN[23]將 3D-CNN 中的全連接層變成卷積層,輸出標記好的圖像而非向量。然后,由于 3D-FCN 可以接受任意大小的圖像,利用反卷積層進行上采樣,使圖片恢復到初始尺寸。最后,通過 3D-FCN 標記出肺結節的候選區域,用 CNN 對候選區域的疑似肺結節進行分類,確定其是結節還是非結節。實驗數據集和 LIDC 數據集中,以切片厚度為 1.5~3.0 mm 的 509 個病例中的 833 個結節作為訓練集,以 25 個病例中的 104 個結節作為測試集。實驗結果表明,與 3D-CNN 窗口滑動的方法相比,3D-FCN 將檢測速度提高了約 800 倍。3D-FCN 網絡為肺結節的檢測提供了一種解決思路。
3D-CNN 在肺結節檢測過程中,能夠獲得圖像更多的空間特征信息,有助于肺結節的檢測[24]。文獻[18]中使用的 3D-CNN 方法比文獻[12]中使用的 2D-CNN 方法靈敏度提高了 5.6%,3D-CNN 與 2D-CNN 相比,有更高的檢測靈敏度,但是 3D-CNN 也存在網絡復雜和計算量大等缺點。
1.3 Faster R-CNN
Ren 等[25]在 2015 年提出了 Faster R-CNN 結構,它是在 Girshick 等[26-27]于 2014 年提出的區域卷積神經網絡(region convolutional neural network,R-CNN)和 2015 年提出的快速區域卷積神經網絡(fast region convolutional neural network,Fast R-CNN)基礎上改進得到的網絡結構所構成的一個深度網絡框架,實現了端對端的目標檢測框架,提高了檢測精度和速度。因其具有更快的檢測速度,更加適用于肺結節等小目標的檢測過程。
Xie 等[28]提出了一種基于 Faster R-CNN 改進的網絡模型,并用于肺結節的檢測中,本文將其命名為優化的 Faster R-CNN 模型 1。圖 5 是 Xie 等[28]提出的優化的 Faster R-CNN 模型 1 的網絡結構圖,與原有網絡相比,該方法重要的改進是使用了兩個 RPN 和一個反卷積層,針對 3 種不同的切片訓練 3 種不同的模型,最后將這 3 種模型進行融合,獲得候選模型。肺結節檢測網絡由 3 個部分組成,分別是基于 VGG16 的特征提取網絡、區域生成網絡和興趣區域分類網絡。文獻[28]中提到的系統在 LUNA16 數據集上進行訓練,并且篩選出被預先網絡判別錯誤的具有代表性和難以辨別的肺結節后,再次對系統進行訓練,以增強系統的魯棒性。在 LUNA16 數據集上設定衰減權重為 0.000 5,學習率為 0.001,進行 10 倍的交叉驗證,迭代 10 000 次。實驗結果表明,網絡在檢測肺結節時,靈敏度達到 86.42%,能夠較為準確地識別肺結節。
Ding 等[29]也對 Faster R-CNN 進行了優化。在 LUNA16 競賽中,Ding 等將 Faster R-CNN 應用于肺結節的檢測中,為了解決原始 Faster R-CNN 在肺結節檢測中檢測效果有限的問題,Ding 團隊[29]在特征提取完成之后增加了反卷積層,使得系統更加快速和精確,最終憑借 0.893 分的 FROC 得分取得了競賽的冠軍。
在肺結節檢測中,2D-CNN 在相同數據集的模型訓練中需要的計算量較小,但是會忽略空間信息,影響檢測結果,降低檢測精度。3D-CNN 模型訓練中所需要的計算量較大,對于計算能力的要求也較高,但是有助于提高靈敏度。而兩種優化的 Faster R-CNN 能夠有效地減少訓練時間和測試時間,使精度越來越高、速度越來越快,在肺結節的檢測中應用較多。
2 肺結節分類中的深度學習方法
通常計算機輔助診斷系統在 CT 圖像中完成肺結節檢測之后,還需要對已經檢測出的肺結節進行分類,來判斷其良惡性。肺結節的大小、形態和體積增長率是判斷良惡性的重要指標,但這需要至少兩次的 CT 掃描。隨著深度學習技術和卷積神經網絡的快速發展,越來越多的深度學習技術被應用于肺結節的分類中,如多流多尺度卷積神經網絡(multi-stream multi-scale convolutional neural network,MMCNN)、深度卷積生成對抗網絡(deep convolutional generative adversarial networks,DCGAN)和遷移學習,以及第 1 節中介紹的 2D-CNN 和 3D-CNN。本節將探討以上各種深度學習方法在肺結節分類中的最新應用成果。
2.1 CNN
Hua 等[30]在 2015 年將 2D-CNN 應用于肺結節的分類中,解決了傳統計算機輔助診斷系統性能不夠穩定、由人工制定的診斷規則不夠全面和無法持續提高準確率等問題。該方法的數據集來自 LIDC-IDRI,由 1 010 名患者的已注釋肺部 CT 圖像組成。Hua 等[30]從數據庫中選擇 2 545 個直徑大于 3 mm 的肺結節進行實驗。最終,該方法的靈敏度為 73.3%,特異度為 78.7%,工作效率高于傳統的計算機輔助診斷系統。實驗結果表明,深度學習在肺結節分類領域有廣闊的發展前景。
但是,2D-CNN 會丟失肺結節的立體信息,為了解決此問題,Liu 等[31]在 2017 年提出將 3D-CNN 應用于肺結節分類的想法,設計了 2 個不同結構的 3D-CNN 在相同的數據集進行訓練和測試,通過對實驗結果所生成的受試者操作特征(receiver operating characteristic,ROC)曲線進行評估,選出性能較好的網絡結構。圖 6 是 Liu 等[31]提出的基于 3D-CNN 的結構圖,選取 326 個肺結節實驗數據集進行訓練和測試。實驗結果表明,第 1 個 3D-CNN 的曲線下面積(area under curve,AUC)為 0.732,第 2 個 3D-CNN 的 AUC 為 0.698,第 1 個 3D-CNN 效果更好。該實驗繼續設計 2D-CNN 用于對比 3D-CNN 的效果,實驗結果表明,2D-CNN 的 AUC 為 0.688,小于 3D-CNN 的 0.732,故 3D-CNN 的效果更好。
實驗表明,3D-CNN 的效果較好,并且其不需要依靠特定的專業知識,通過不斷學習便有助于系統的進一步完善,提高了肺結節的診斷效率和準確性。但是 3D-CNN 存在特征較多、數據量較大和計算時間較長等問題。
2.2 MMCNN
Ciompi 等[32]和 Shen 等[33]等出了一種應用于肺結節檢測的基于多流多尺度卷積神經網絡的方法。此多流多尺度卷積神經網絡不需要進行分割等預處理操作,可以直接處理原始數據。相比于只能提取單一尺度特征的卷積神經網絡,Ciompi 等[32]和 Shen 等[33]提出的方法能夠提取到多尺度的特征,從而更加有利于肺結節的分類。Ciompi 等[32]將肺結節分為實性、非實性、部分實性、肺裂、鈣化和毛刺 6 個類型。該系統由 9 個卷積神經網絡流組成,分成 3 組。每組分別對應肺結節的橫截面、冠狀面和矢狀面。不同的流以不同的比例處理相同的 3 片部分,即 10、20、40 mm;然后,輸入的二維數據經過卷積和池化層處理,并在 3 個流中共享參數,不同規模的多流網絡在全連接層中合并;最后,具有 6 個神經元的 softmax 層得到 6 個類的概率。此實驗數據集來自 943 名患者的 1 805 個肺結節,分為訓練組(1 352 個結節)和驗證組(453 個肺結節)。為了擴展訓練集,通過旋轉和小范圍地移動中心,生成了約 500 000 個訓練樣本,其中每種類型約為 80 000 個。測試數據來自丹麥肺癌篩查試驗,其中包括 468 名患者的 639 個肺結節。結果表明,此系統分類的準確率和專家的準確率相當,平均準確率分別為 69.6% 和 72.9%。文獻[32]中提到的系統分類的準確率較傳統方法有大幅度提高。
2.3 DCGAN
徐久強等[34]在 2018 年提出了 DCGAN 的網絡,且首次將其用于肺結節分類。DCGAN[35]解決了 GAN[36]穩定性不足的問題。文獻[34]中提到的方法將肺結節的惡性分為 5 個等級,分別為良性、疑似良性、未知、疑似惡性和惡性。該系統有效地解決了數據中良性和惡性樣本數量不平均的問題。該方法將 DCGAN 模型進行改進,包含 G 和 D 兩個模型。其改進的部分,一為在 D 模型中輸入圖像時,將圖像相對應的類別標簽同時作為 D 模型的輸入;二為 D 在判別過程中存在兩部分內容,即對輸入圖像的來源分類和對輸入圖像的惡性等級分類。該實驗的數據集來自 LIDC 和合作醫院,包含 11 954 個肺結節,尺寸為 28 mm × 28 mm。實驗隨機選擇了 80% 的數據集作為訓練集,其余作為測試集。在實驗中,文獻[34]提到的模型在肺結節惡性等級的分類中準確率達到了 70.89%,在肺結節良惡性分類中達到了 80.13%。實驗結果表明,此模型有良好的分類效果,準確率較高,抗噪聲能力較好,可在實際的醫療工作中得到廣泛的應用。
2.4 遷移學習
在肺結節分類中使用遷移學習可以解決已標記醫學圖像數量不足的問題,更有利于卷積神經網絡的訓練。Hussein 等[37]將遷移學習[38]應用于肺結節的分類過程中,其將肺結節按照惡性程度分為 5 個等級。首先 Hussein 等[37]在已用 100 萬段視頻訓練過的網絡上使用 CT 數據進行遷移學習,有效地解決了已標注肺結節樣本缺乏的問題,能夠有效地提高分類準確率。這是第一次將遷移學習應用于檢測肺結節的 3D-CNN 中,改善了用于訓練的醫學圖像數據不足的問題,取得了較為成功的效果。但醫學圖像的復雜度高,如何更加有效地將遷移學習應用到肺結節分類中還需要更多的研究。
3 總結和展望
近些年,深度學習技術不斷快速發展,其在醫學圖像輔助診斷領域中已經發揮了越來越重要的作用[39]。深度學習技術在肺結節的檢測和分類的應用中,也已經取得了長足的進步,從最簡單的 2D-CNN 發展到 3D-CNN,到更快的區域卷積神經網絡,到多流多尺度卷積神經網絡,再進一步發展到深度卷積生成對抗網絡以及遷移學習,各項技術指標都在不斷地提升。
當然,也有需要進一步改進的地方。比如:① 由于已標注的肺結節圖像不足,在目前的監督學習居多的情況下,容易造成網絡模型的過擬合。② 準確率有待進一步提高。③ 深度學習網絡的可解釋性較差,在醫學圖像的輔助診斷領域,需要更多的理論支持并增加其可解釋性,提高其在醫療領域的接受度。④ 基于深度學習的計算機輔助診斷科學和醫學之間的交流較少,導致設計出的網絡在臨床中不適用,未能大范圍使用。⑤ 基于深度學習的計算機輔助診斷系統和醫院現有的影像系統、醫院信息系統沒能很好地集成,給醫生的使用帶來很多困難。
結合深度學習技術的特點和發展,對其在肺結節診斷領域做出以下的展望:棧式自動編碼器(stack auto-encoder,SAE)和受限玻爾茲曼機(restricted Boltzmann machine,RBM)等無監督學習方法的應用可能會改善可用標記數據較少的問題[40-41];深度學習系統在進行肺結節的檢測時,也可以加入其他疾病的檢測,比如胸膜、乳腺、臟器和淋巴結等是否有病變,這種全面的檢測可以幫助醫生對患者進行全方位的檢查,避免僅僅注意到一種疾病而忽略了其他疾病;遷移學習技術有望在大數據方面訓練出更好的神經網絡參數,通過遷移學習再訓練肺結節的訓練數據,遷移學習的應用可能會解決標簽數據不足的問題,更好地提升網絡的準確度。研究者不斷提出大量更加優秀的深度學習網絡,從二維神經網絡到三維神經網絡,以及更加高效的半監督神經網絡和無監督神經網絡,基于深度學習的計算機輔助診斷系統必將在肺結節檢測的準確率上有更高的提升,并且減少對人工標注的醫學樣本的依賴。同時,新的計算機輔助診斷系統也將與醫院的各大信息系統進行集成,推動其在臨床中的大范圍應用。
4 結束語
基于深度學習的肺結節檢測和分類的計算機輔助診斷技術,不僅可以提高讀片的速度,而且可以進行自我學習,從而不斷地提高讀片的準確率。在學術界、醫學界和工業界的共同努力下,深度學習技術有望解決肺結節的精準診斷問題,展現出重大的臨床應用潛力和市場前景。但同時我們也必須承認深度學習技術還存在一定的局限性,如臨床標記的肺結節圖像數據少、準確率有待進一步提升等。研究解決這些問題是未來深度學習技術在肺結節檢測和分類應用中發展的重要方向。
利益沖突聲明:本文全體作者均聲明不存在利益沖突。