李雅迪,韓佳芳,馬琳琳
(鄭州財稅金融職業(yè)學(xué)院 信息技術(shù)系,鄭州 450048)
肺癌是目前嚴重危害人類健康的惡性疾病之一,在全世界范圍內(nèi)肺癌的發(fā)病率和死亡率都在上升。雖然現(xiàn)有各種靶向治療方案,但晚期肺癌的預(yù)后很差,一旦確診,絕大多數(shù)的患者會在五年內(nèi)死亡,因此肺癌的早發(fā)現(xiàn)、早診斷、早治療在一定程度上能夠提高存活率?,F(xiàn)有的肺癌診斷主要是基于肺部計算機斷層掃描(Computed Tomography,CT)圖像的初期篩查,現(xiàn)有的計算機輔助診斷(Computer Aided Diagnosis,CAD)方法就是對肺部CT 圖像進行預(yù)處理、分割、特征提取等過程。其中,預(yù)處理過程是將肺部可疑組織從復(fù)雜的解剖圖像中剝離出來,該步驟操作復(fù)雜、工作量巨大。
隨著人工智能的快速發(fā)展,基于深度學(xué)習(xí)技術(shù)的卷積神經(jīng)網(wǎng)絡(luò)模型在圖像分類領(lǐng)域取得了很大的進展。將該技術(shù)應(yīng)用到醫(yī)療圖像的分類識別中,可以簡化圖像的預(yù)處理過程,提取到更豐富的特征信息,而且豐富的數(shù)據(jù)集和高性能的計算機軟硬件也使得深度學(xué)習(xí)的訓(xùn)練過程更加簡便、高效。例如,Google 公司研發(fā)的乳腺癌智能檢測系統(tǒng),檢出率高達92%;Korbar 在2017 年設(shè)計了精確度高達93%的卷積神經(jīng)網(wǎng)絡(luò)系統(tǒng),通過對腸道染色體來識別帶有致癌隱患的腸道息肉等。由于本文采用的數(shù)據(jù)集是三維立體的肺部CT 掃描圖像,而目前的卷積神經(jīng)網(wǎng)絡(luò)模型多用于處理二維平面圖像,因此在對肺部CT 圖像分類識別時,需要將其切割成二維平面圖像,但在提取圖像特征信息時會丟失CT圖像切片之間的特征信息,對圖像的分類識別造成影響。
針對以上問題,本文以深度學(xué)習(xí)中卷積神經(jīng)網(wǎng)絡(luò)模型為基礎(chǔ),對網(wǎng)絡(luò)結(jié)構(gòu)進行調(diào)整,構(gòu)建了三維卷積神經(jīng)網(wǎng)絡(luò)(Three-dimensional Convolutional Neural Network,3D-CNN)模型,結(jié)合特定順序的輸入策略,并在公開的Kaggle Data Science Bowl 2017 數(shù)據(jù)集上進行實驗。實驗結(jié)果表明,本文提出的方法能夠?qū)υ紙D像進行有效分類識別,省略了傳統(tǒng)方法中復(fù)雜的圖像預(yù)處理過程,有較好的識別率。
本文中構(gòu)建的3D-CNN 模型架構(gòu)如圖1 所示。圖1 中,首先對所有的肺部CT 圖像進行簡單的預(yù)處理,按照先正常人、后肺癌病人的CT 圖像的特定順序重新組織數(shù)據(jù)集,預(yù)處理后的肺部CT 圖像分別經(jīng)過卷積層層、池化層層、卷積層層、池化層層、卷積層層和池化層層來提取圖像的主要特征信息,全連接層將提取到的分布式特征信息進行整合,判斷輸入圖像所屬類別。
圖1 3D-CNN 架構(gòu)圖Fig.1 The structure of 3D-CNN
本文提出的端到端的三維卷積神經(jīng)網(wǎng)絡(luò)模型作為肺部CT 圖像的分類模型,其層級結(jié)構(gòu)的具體設(shè)置如下:
(1)3D 卷積層。先設(shè)定好卷積核的尺寸、步長、填充選項和卷積核的數(shù)量,然后與多個相鄰的圖像幀做加權(quán)求和的卷積計算,來提取目標圖像特定區(qū)域的特征信息,不同的卷積核應(yīng)用在圖像的不同區(qū)域,來提取圖像的多種特征信息。第層的第個特征圖的(,,) 處的輸出,研究推導(dǎo)出的數(shù)學(xué)公式可寫為:
(2)激活層。由于在卷積層中做加權(quán)求和的線性運算,輸出的特征圖譜帶有明顯的線性特征,而線性特征的表現(xiàn)力不足以表達圖像的關(guān)鍵信息,需要通過激活函數(shù)添加非線性因素,將圖像特征保留并映射出來。激活函數(shù)主要有非線性、可微性、單調(diào)性和在原點處近似線性等特性,能夠使訓(xùn)練快速收斂,解決梯度彌散的問題。本文中采用了修正線性單元(Rectified Linear Unit,)激活函數(shù),有單邊抑制特性,小于0 的值全部設(shè)為0,大于0 的值則直接輸出,數(shù)學(xué)公式具體如下:
(3)3D 池化層。池化層的功能是對上層激活層輸出的特征圖譜下采樣,通過該層將特征圖譜關(guān)鍵的特征像素標注出來,在一定程度上簡化了參數(shù)的運算過程、抑制了過擬合的現(xiàn)象,同時能夠提高模型的泛化能力。池化方法主要有均值池化(Mean Pooling)、最大池化(Max Pooling)、重疊池化(Overlapping Pooling)、均方池化(Pooling)、歸一化池化(Local Contrast Normalization)、隨機池化(Stochastic Pooling)、形變約束池化(Def-pooling)等等。
為了簡化各層的計算過程,提取主要特征,本文選取了最大池化方法,取局部接受域中的最大值為該層輸出,推得的數(shù)學(xué)公式見式(3):
其中,為池化層的輸入;(,,)分別是高度、寬度和深度三個維度上的池化尺寸;(,,)為3 個維度上的采樣步長值。
(4)全連接層。全連接層(Fully Connected layers,F(xiàn)C)通過對上層輸出的特征圖譜進行卷積計算,將獲取到的分布式特征映射到樣本標記空間,將這些分布式特征組裝成完整的“圖”,確定該特征圖譜所屬分類。該層的優(yōu)點在于減少特征位置對分類結(jié)果的影響,提高整個網(wǎng)絡(luò)模型的魯棒性。
(5)算法。由于條件的限制,數(shù)據(jù)集的種類和質(zhì)量上存在不足之處,比如類型單一、可用的數(shù)據(jù)量太少等,導(dǎo)致在模型訓(xùn)練的過程中出現(xiàn)分類結(jié)果曲線與訓(xùn)練數(shù)據(jù)曲線重合的情況,即過擬合現(xiàn)象。本文采用算法,在模型訓(xùn)練的過程中先將輸入數(shù)據(jù)進行正向地傳輸,并將一部分的神經(jīng)元以概率丟棄掉,其余神經(jīng)元以1的概率保留,再將該過程出現(xiàn)的誤差反向重傳回去。
通過函數(shù),實現(xiàn)以概率生成0 值,以概率1生成1 值,相應(yīng)的數(shù)學(xué)公式可表示為:
(6)函數(shù)。函數(shù)又稱歸一化指數(shù)函數(shù),是將多分類的結(jié)果以概率的形式呈現(xiàn),在邏輯回歸模型的基礎(chǔ)上解決類別大于1 的分類問題。經(jīng)過函數(shù)的計算可得到圖像屬于某種分類的概率值,該值可由如下公式計算求出:
其中,x為第個節(jié)點的輸出值,為輸出節(jié)點的個數(shù),即分類的類別數(shù)。
(7)交叉熵損失函數(shù)。采用的交叉熵損失函數(shù)(Cross Entropy Loss Function),通過計算真實概率分布與預(yù)測概率分布之間的損失值來評價卷積神經(jīng)網(wǎng)絡(luò)的性能優(yōu)劣,值越小,說明模型的分類識別效果越好。此時需用到的數(shù)學(xué)公式為:
本文采用了一種特定順序的輸入策略來指導(dǎo)模型的訓(xùn)練過程。將正常人的肺部CT 掃描圖像放在一起,后面拼接上肺癌高?;颊叩姆尾緾T 掃描圖像,形成一個整體的數(shù)據(jù)集,再將其輸入到3D-CNN模型中進行訓(xùn)練。使用該策略能提高模型學(xué)習(xí)的速度和質(zhì)量,優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練過程。
本文的數(shù)據(jù)來自由Kaggle 主辦的數(shù)據(jù)科學(xué)競賽Data Science Bowl 2017 的數(shù)據(jù)集。該數(shù)據(jù)集是由1 397個.docom 格式的肺部CT 掃描圖像組成,其中1 036個圖像為正常人的肺部圖像,361 個圖像為肺癌高危患者肺部圖像。先按照CT 圖像中圖像位置屬性對切片進行排序,并實現(xiàn)三維渲染;將512×512 大小的圖片縮放為100×100,并對其進行灰度化處理;最后,將三維CT 圖像合并成數(shù)量為20 的切片組合,得到100×100×20 的三維灰度圖像。這里以一個肺癌患者的CT 圖像預(yù)處理為例,單個切片的原始圖像和預(yù)處理后的圖像如圖2 所示。
圖2 單個切片的原始圖像和預(yù)處理圖像Fig.2 Raw and pre-processed images of a single slice
首先,按照預(yù)定的輸入順序重新組織訓(xùn)練樣本,即將常規(guī)的肺部CT 掃描圖像放在一起,拼接上患癌的肺部CT 掃描圖像,形成一個整體的訓(xùn)練數(shù)據(jù)集,將其輸入到3D-CNN 模型中進行訓(xùn)練。
該3D-CNN 模型在對重組后的數(shù)據(jù)集進行訓(xùn)練后,就要對未知肺部CT 掃描圖像來做分類識別。其中,第一層卷積層層32 個大小為5×5×5 不同的卷積核過濾,生成32 個大小為100×100×20 的特征圖譜,該層產(chǎn)生的變量總數(shù)為32×100×100×20;再將這32 個特征圖譜輸入進第一層池化層層進行最大池化操作,該層選用的池化步長為2×2×2,輸出32 個大小為50×50×10 的特征圖像,產(chǎn)生的變量總數(shù)為32×50×50×10;第二層卷積層層采用64個大小為3×3×3 的不同的卷積核進行填充,得到的64 個大小為50×50×10 特征圖譜,產(chǎn)生的變量總數(shù)為64×50×50×10;再進行第二層池化層,層的參數(shù)設(shè)置參照層,由此得到64 個大小為25×25×5 的特征圖譜,而變量總數(shù)為64×25×25×5;最后將輸出的特征圖譜進行第三層的卷積操作,第三層選擇128 個大小為3×3×3 的不同的卷積核,經(jīng)過該層后生成128 個大小為25×25×5 的特征圖譜,變量總數(shù)為128×25×25×5;再將此層生成的圖像輸入最后一層池化層中,其參數(shù)設(shè)置與、保持一致,輸出128 個大小為13×13×3 的特征圖譜,得到的變量總數(shù)為128×13×13×3=64 896。3D-CNN 數(shù)據(jù)處理過程如圖3 所示。
圖3 3D-CNN 數(shù)據(jù)處理過程Fig.3 3D-CNN data processing
將932 個正常人的肺部CT 圖像數(shù)據(jù)和325 個肺癌高?;颊叩姆尾緾T 圖像數(shù)據(jù)混合,形成一個隨機順序的數(shù)據(jù)集,將其輸入進該3D-CNN 模型中進行訓(xùn)練,比較2 種方法的性能。根據(jù)分類正確的樣本個數(shù)占所有樣本個數(shù)的比例來計算準確率,并根據(jù)公式(9)計算損失值,實驗結(jié)果分別見表1 和表2。由表1、表2 可知,采用特定順序輸入策略的3D-CNN 模型的分類準確率最高為76%,高于采用隨機順序輸入策略的3D-CNN 模型的最高準確率(70%),說明特定順序的輸入策略提升了模型的訓(xùn)練精度,從而有效提高肺癌圖像的分類準確率。
表1 3D-CNN 模型在特定順序輸入策略的結(jié)果Tab.1 Results of 3D-CNN model in specific order input strategy
表2 3D-CNN 模型在隨機順序輸入策略的結(jié)果Tab.2 Results of 3D-CNN model in random order input strategy
為解決傳統(tǒng)方法在肺癌CT 圖像分類中的預(yù)處理過程復(fù)雜、工作量大的問題,本文提出了基于3DCNN 的肺部CT 圖像分類模型。該模型以卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),設(shè)計了3D 卷積層、激活層、3D 池化層以及全連接層等層級來獲取圖像的分類特征,結(jié)合特定順序的輸入策略來優(yōu)化模型的訓(xùn)練過程,并與采用隨機順序輸入策略進行了對比分析。結(jié)果表明,該模型對肺癌CT 圖像有良好的分類特性,最高識別準確率達到了76%,對于肺癌的早期診斷有一定的實用價值。但本文提出的3D-CNN模型在架構(gòu)設(shè)計和參數(shù)設(shè)置上仍有提升的空間,在未來的肺癌圖像識別工作中,將完善肺部CT 數(shù)據(jù)集、改善網(wǎng)絡(luò)結(jié)構(gòu)和優(yōu)化實驗參數(shù)。