鄧忠豪 陳曉東
摘 要:在傳統(tǒng)的肺結(jié)節(jié)檢測算法中,存在檢測敏感度低,假陽性數(shù)量大的問題。針對這一問題,提出了基于深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)的肺結(jié)節(jié)檢測算法。首先,有目的性地簡化傳統(tǒng)的全卷積分割網(wǎng)絡(luò);然后,創(chuàng)新地加入對部分CNN層的深監(jiān)督并使用改進的加權(quán)損失函數(shù),獲得高質(zhì)量的候選肺結(jié)節(jié),保證高敏感度;其次,設(shè)計了基于多尺度上下文信息的三維深度CNN來增強對圖像的特征提取;最后,將訓(xùn)練得到的融合分類模型用于候選結(jié)節(jié)分類,以達到降低假陽率的目的。所提算法使用了LUNA16數(shù)據(jù)集,并通過對比實驗驗證算法的性能。在檢測階段,當(dāng)每個CT檢測出的候選結(jié)節(jié)數(shù)為50.2時,獲得的敏感度為94.3%,與傳統(tǒng)的全卷積分割網(wǎng)絡(luò)相比提升了4.2個百分點;在分類階段,競爭性能指標(biāo)達到0.874。實驗結(jié)果表明,所提算法能夠有效提高檢測敏感度和降低假陽率。
關(guān)鍵詞:肺結(jié)節(jié)檢測;深度卷積神經(jīng)網(wǎng)絡(luò);深監(jiān)督;加權(quán)損失函數(shù);多尺度
Abstract:In traditional pulmonary nodule detection algorithms, there are problems of low detection sensitivity and large number of false positives. To solve these problems, a pulmonary nodule detection algorithm based on deep Convolutional Neural Network (CNN) was proposed. Firstly, the traditional full convolution segmentation network was simplified on purpose. Then, in order to obtain high-quality candidate pulmonary nodules and ensure high sensitivity, the deep supervision of partial CNN layers was innovatively added and the improved weighted loss function was used. Thirdly, three-dimensional deep CNNs based on multi-scale contextual information were designed to enhance the feature extraction of images. Finally, the trained fusion classification model was used for candidate nodule classification to achieve the purpose of reducing false positive rate. The performance of algorithm was verified through comparison experiments on LUNA16 dataset. In the detection stage, when the number of candidate nodules detected by each CT (Computed Tomography) is 50.2, the sensitivity of this algorithm is 94.3%, which is 4.2 percentage points higher than that of traditional full convolution segmentation network. In the classification stage, the competition performance metric of this algorithm reaches 0.874. The experimental results show that the proposed algorithm can effectively improve the detection sensitivity and reduce the false positive rate.
Key words: pulmonary nodule detection; deep Convolutional Neural Network (CNN); deep supervision; weighted loss function; multi-scale
0 引言
肺癌是世界上發(fā)病率和死亡率最高的癌癥之一。肺癌的早期無癥狀表現(xiàn)將導(dǎo)致患者可能錯過最佳治療時間,為了有效地防止這種情況的出現(xiàn),需要提前進行肺結(jié)節(jié)檢測。NLST(National Lung Screening Trial)實驗表明,使用低劑量胸部CT(Computed Tomography)對高危人群進行每年3次的檢查,7年后肺癌的死亡率降低了20%,CT掃描也是目前在肺癌篩查中使用最多的方法。由于CT掃描技術(shù)的發(fā)展和快速增長的需求,放射科醫(yī)生所需分析的數(shù)據(jù)量大幅度增加,導(dǎo)致工作量增大和診斷難度的提高,因此,計算機輔助診斷系統(tǒng)逐漸發(fā)展起來,用它來輔助放射科醫(yī)生分析CT圖像,幫助提高肺癌篩查的速度和準(zhǔn)確率。
隨著人工智能在醫(yī)學(xué)圖像領(lǐng)域的發(fā)展,計算機輔助診斷系統(tǒng)發(fā)展迅速。用于肺結(jié)節(jié)檢測的計算機輔助診斷系統(tǒng)可以分為兩部分:1)檢測候選肺結(jié)節(jié);2)去除假陽性(候選結(jié)節(jié)分類)。檢測候選肺結(jié)節(jié)部分,從CT圖像中盡可能多地檢測出真實結(jié)節(jié),保證檢測敏感度;去除假陽性部分,從所有候選結(jié)節(jié)中對真實結(jié)節(jié)和假陽性結(jié)節(jié)進行良惡性二分類。
為了提高檢測敏感度和降低假陽率,Murphy等[1]利用傳統(tǒng)計算機視覺手工提取特征的方法,引入曲率特征和形狀指數(shù)用來計算所有體素,得到滿足閾值的可疑種子體素,這些種子體素覆蓋在候選結(jié)節(jié)周圍,再使用滯后閾值法得到候選結(jié)節(jié),最后使用2個K-最近鄰分類器來降低假陽率。Lopez等[2]通過專門設(shè)計的濾波函數(shù)檢測候選結(jié)節(jié),然后利用基于小型手工特征集的前饋神經(jīng)網(wǎng)絡(luò)來實現(xiàn)結(jié)節(jié)分類。
使用人工設(shè)計特征的結(jié)節(jié)檢測方法存在一定缺陷,因為它總是假設(shè)肺結(jié)節(jié)存在某一特點(比如:形狀、大小、紋理等),但這些表層特征缺乏鑒別力,因為肺結(jié)節(jié)的形狀、大小、紋理等特征具有高可變性,很難識別真實結(jié)節(jié)和假陽性結(jié)節(jié)。隨著深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)在圖像領(lǐng)域的巨大成功,從大量的訓(xùn)練數(shù)據(jù)中學(xué)習(xí)到高級特征,這些高級特征的表達能力得到了廣泛的認(rèn)可。在最近的研究中,Li等[3]針對單個二維卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)能力的局限性提出了將輸入數(shù)據(jù)以滑動窗口為229×229的大小進行采樣,然后縮小為12×12、32×32、60×60的尺寸輸入到三種對應(yīng)的二維卷積神經(jīng)網(wǎng)絡(luò)中,肺結(jié)節(jié)的檢測結(jié)果由這3個不同網(wǎng)絡(luò)的輸出經(jīng)過邏輯與操作之后得到。呂曉琪等[4]為了提高分類準(zhǔn)確率設(shè)計了一個三維卷積神經(jīng)網(wǎng)絡(luò),網(wǎng)絡(luò)的輸入尺寸是以候選結(jié)節(jié)為中心的32×32×8的結(jié)節(jié)塊,該方法驗證了三維卷積神經(jīng)網(wǎng)絡(luò)能夠更加充分地利用肺結(jié)節(jié)的三維空間信息,有效地降低假陽率。Dou等[5]為了解決由于結(jié)節(jié)的高可變性所造成的識別敏感度低的問題,引入3個不同尺度的三維卷積神經(jīng)網(wǎng)絡(luò),并融合候選結(jié)節(jié)在這3個尺度下的分類概率,作為最終結(jié)果?;谏疃葘W(xué)習(xí)的肺結(jié)節(jié)檢測方法[3-8]取得更好的性能,神經(jīng)網(wǎng)絡(luò)自主學(xué)習(xí)的高效特征能夠更有效區(qū)分真實結(jié)節(jié)和非結(jié)節(jié)。值得一提的是,雖然三維的醫(yī)學(xué)圖像數(shù)據(jù)在臨床實踐中已經(jīng)廣泛流行,但是三維的卷積神經(jīng)網(wǎng)絡(luò)在醫(yī)學(xué)圖像的應(yīng)用中還處在初級階段,只有少量的用于三維數(shù)據(jù)的卷積神經(jīng)網(wǎng)絡(luò)被提出[4-5,8-11],而利用圖像的空間維度的上下文信息可以有效地提高分類準(zhǔn)確率,因此,設(shè)計出一個理想的三維卷積網(wǎng)絡(luò)對肺結(jié)節(jié)檢測系統(tǒng)的分類性能來說至關(guān)重要。
UNet[12]是候選結(jié)節(jié)檢測常用的神經(jīng)網(wǎng)絡(luò),整個網(wǎng)絡(luò)結(jié)構(gòu)包括23個卷積層,這些卷積層包含卷積、最大值池化、反卷積、全卷積的操作,是一種編碼—解碼的拓撲結(jié)構(gòu)。UNet分割網(wǎng)絡(luò)在結(jié)構(gòu)上有3個重要的特點:下采樣、上采樣和跨層連接。淺層抓取簡單特征,通過下采樣,由于感受野的增大,抓取到更深層、抽象的特征;上采樣的作用是還原位置信息;跨層連接則整合了神經(jīng)網(wǎng)絡(luò)層抓取的不同分辨率、不同強度語義的特征及位置信息。同時,跨層連接不增加額外的時間和計算量,但是,在特定的數(shù)據(jù)集下,UNet網(wǎng)絡(luò)結(jié)構(gòu)中的4次下采樣并非效果最好。Zhou等[13]提出UNet++網(wǎng)絡(luò),在傳統(tǒng)UNet的基礎(chǔ)上增加了更多的上采樣,將不同層次的特征通過特征疊加的方式整合,并在不同層次的語義分割結(jié)果上均加入深監(jiān)督[14]。
本文提出了改進的UNet++網(wǎng)絡(luò),應(yīng)用于肺結(jié)節(jié)檢測的候選結(jié)節(jié)提取部分。首先精簡了UNet++的網(wǎng)絡(luò)結(jié)構(gòu),由4次下采樣減小到3次,然后,對于深監(jiān)督的L1、L2、L3[13]的分割結(jié)果,僅取L2和L3分割結(jié)果的平均值,舍棄L1的結(jié)果。L2的分割結(jié)果更側(cè)重于找到更多候選結(jié)節(jié),提高敏感度;L3的分割結(jié)果則更加準(zhǔn)確,去除了L2的部分假陽結(jié)節(jié),降低了假陽率。由于L2的下采樣次數(shù)較少,L3的較高感受野能獲取在L2下無法正確分割的真實結(jié)節(jié)。結(jié)合L2和L3的分割結(jié)果,提高了檢測敏感度,并為第二階段的結(jié)節(jié)分類任務(wù)提供更多高質(zhì)量的候選結(jié)節(jié)。最后,為了進一步提高檢測敏感度,改進基于Dice系數(shù)[15]的損失函數(shù)。使用以上改進的算法,候選結(jié)節(jié)的檢測敏感度達到94.3%。
在候選結(jié)節(jié)二分類階段,本文設(shè)計了兩個獨立的三維卷積神經(jīng)網(wǎng)絡(luò),這兩個網(wǎng)絡(luò)的輸入是不同尺寸的候選結(jié)節(jié)三維塊。這一階段,充分利用結(jié)節(jié)在空間維度上的信息,更有利于鑒別真實結(jié)節(jié)和難以識別的非結(jié)節(jié)。考慮到不同肺結(jié)節(jié)的直徑大小、形狀和位置信息存在的差異,使用兩個三維卷積網(wǎng)絡(luò),然后融合這兩個網(wǎng)絡(luò)模型的分類結(jié)果,使得分類模型更有魯棒性,獲得了0.874的平均敏感度分?jǐn)?shù)。
綜上所述,本文提出了改進的肺結(jié)節(jié)檢測系統(tǒng)框架,具體可分為兩個階段:候選結(jié)節(jié)檢測和假陽性去除。改進的算法框架結(jié)構(gòu)如圖1所示。
本文算法使用的數(shù)據(jù)集是LUNA16(LUng Nodule Analysis 2016)[16],并取得了良好的表現(xiàn)性能。
1 改進的基于UNet++的候選結(jié)節(jié)檢測
候選結(jié)節(jié)檢測是肺結(jié)節(jié)檢測系統(tǒng)的重要步驟之一,目的是在CT圖像的檢測任務(wù)中限制候選結(jié)節(jié)數(shù)目,并保證高敏感度。在這一階段,使用改進的UNet++網(wǎng)絡(luò)提取候選結(jié)節(jié),輸入是經(jīng)過肺實質(zhì)分割之后的二維圖像,加入深監(jiān)督和改進的損失函數(shù),綜合兩層輸出的結(jié)果,得到最終的分割結(jié)果。
敏感度(Sensitivity)是檢測系統(tǒng)中最重要的指標(biāo)之一,計算公式如下:
其中:TP(True Positive)表示真正例即真實結(jié)節(jié)數(shù),F(xiàn)N(False Negative)表示假反例。
本文針對LUNA16數(shù)據(jù)集的特點,對傳統(tǒng)UNet++網(wǎng)絡(luò)進行了以下三個改進:1)精簡了網(wǎng)絡(luò)結(jié)構(gòu)(圖1 Stage1),并使用3個堆疊的卷積操作組成了圖1 Stage1的卷積塊結(jié)構(gòu);2)加入深監(jiān)督時,舍棄對L1的網(wǎng)絡(luò)輸出的監(jiān)督,僅整合L2和L3的輸出結(jié)果;3)改進基于Dice系數(shù)的損失函數(shù)。
1.1 改進UNet++網(wǎng)絡(luò)結(jié)構(gòu)
傳統(tǒng)的UNet++網(wǎng)絡(luò)[13]分無深監(jiān)督和深監(jiān)督兩個模式:無深監(jiān)督就是僅輸出最后一個卷積層的結(jié)果;深監(jiān)督模式則是加入了對4個子網(wǎng)絡(luò)分割結(jié)果的監(jiān)督。
而本文使用的語義分割神經(jīng)網(wǎng)絡(luò)如圖1中的Stage1所示。網(wǎng)絡(luò)結(jié)構(gòu)使用了簡化的UNet++,這個網(wǎng)絡(luò)模型也是解碼—編碼的U型結(jié)構(gòu),核心思想是特征的再利用。首先通過下采樣提取圖像特征,每次下采樣之后都伴隨上采樣,并將它與前面所有同分辨率的特征圖作疊加。L2、L3表示了分別在經(jīng)過不同的編碼—解碼的U型拓撲網(wǎng)絡(luò)結(jié)構(gòu)后再加入1×1的卷積,得到的兩個分割結(jié)果。L2、L3中的數(shù)字,代表了經(jīng)過的下采樣的次數(shù)。圖1 Stage1中的卷積塊的結(jié)構(gòu)如圖2所示。
設(shè)計的一個卷積塊由3個堆疊的3×3卷積層組成,n表示當(dāng)前使用的卷積核的數(shù)量,順著下采樣(圖1 Stage1)的箭頭向下,使用的卷積核數(shù)量n分別為32,64,128和256。同時,用到批量標(biāo)準(zhǔn)化[17]操作,用于加速訓(xùn)練和防止模型過擬合,用ReLU(Rectified Linear Unit)作為激活函數(shù)。與傳統(tǒng)的UNet的2個堆疊卷積層相比,使用3個堆疊層可以更有效地整合特征信息;剪去UNet++的第4個下采樣過程[13],是為了讓模型能夠抓取更多候選結(jié)節(jié),盡可能多地保留真實結(jié)節(jié),為假陽性去除階段提供具有高敏感度的數(shù)據(jù),以提高整個算法框架的性能。
1.2 基于深監(jiān)督的整合算法
與傳統(tǒng)UNet++的深監(jiān)督不同,圖1 Stage1中,網(wǎng)絡(luò)最后的分割結(jié)果由L2和L3兩部分的均值確定。輸入的圖像經(jīng)過3個下采樣、6個上采樣及圖中對應(yīng)的跨層連接操作,得到特征圖,再通過1×1的卷積核得到一個分割結(jié)果L3。同樣,L2是經(jīng)過2個下采樣、3個上采樣的U型結(jié)構(gòu)后得到。在訓(xùn)練的過程中,監(jiān)督L2和L3,并選擇在驗證集上表現(xiàn)最好的模型。L2和L3的分割結(jié)果側(cè)重點不同,L2獲得的分割結(jié)果是較為粗略的,對真實結(jié)節(jié)的鑒別能力較弱,但它對一些較為復(fù)雜的結(jié)節(jié)和難鑒別的非結(jié)節(jié)的同時提取,可以有效保證敏感度。L3的結(jié)果側(cè)重于分割準(zhǔn)確度,能夠精確定位和識別真實結(jié)節(jié)。對L2和L3的輸出取平均,能夠保證敏感度和準(zhǔn)確度,可以減小第二階段假陽性去除的難度。分割網(wǎng)絡(luò)最終的輸出結(jié)果如式(2)所示:
對L2使用深監(jiān)督,而不是重新訓(xùn)練一個更小的只有2個下采樣的U型網(wǎng)絡(luò)模型,是因為剪去復(fù)雜的層結(jié)構(gòu)之后,網(wǎng)絡(luò)學(xué)習(xí)的特征太過簡單,對肺結(jié)節(jié)的識別能力較弱;相反,L2的輸出結(jié)果在訓(xùn)練過程中,受到更深層的神經(jīng)元的損失函數(shù)在反向傳播中的影響,能使L2分割結(jié)果綜合更多高效的特征,與L3的互相影響之下,使得加入了深監(jiān)督的模型對肺結(jié)節(jié)有更強的鑒別能力。
舍棄L1[13],是因為L1學(xué)到的特征較淺,對真實結(jié)節(jié)的鑒別能力不夠,不利于提高敏感度,因此,僅選擇L2和L3的分割進行聚合。
1.3 改進基于Dice系數(shù)的損失函數(shù)
檢測階段的主要任務(wù)是保證檢測敏感度,盡可能多地保留真實結(jié)節(jié)且能排除非結(jié)節(jié)。訓(xùn)練階段,輸入是二維512×512的肺實質(zhì)圖像,這些圖像是從原數(shù)據(jù)集中的CT掃描件通過橫向切割并加以預(yù)處理得到的。輸出結(jié)果是相同大小的像素級別的分類結(jié)果,即輸入數(shù)據(jù)的每個像素值屬于結(jié)節(jié)的概率分布情況,然后設(shè)定閾值即可得到分割結(jié)果。利用本文前面提到的改進后的UNet++網(wǎng)絡(luò),在特征提取和特征整合方面更加全面,能夠更加準(zhǔn)確地區(qū)分血管等其他非結(jié)節(jié)區(qū)域。結(jié)節(jié)的平均直徑在約10mm,在像素級分類任務(wù)中,真實結(jié)節(jié)區(qū)域像素屬于正樣本,其他區(qū)域像素屬于負樣本,因此存在嚴(yán)重的正負樣本不平衡的問題,約為1∶2600。傳統(tǒng)方法是使用Dice系數(shù)的損失函數(shù),如式(3)所示:
其中:Y和Y^表示真實標(biāo)簽和像素級預(yù)測值,N表示batch的大小,k表示第k個圖像?;贒ice系數(shù)的損失函數(shù)在訓(xùn)練準(zhǔn)確度上表現(xiàn)很好,但是使用Dice損失函數(shù),會出現(xiàn)模型為追求高Dice(損失函數(shù)里取負Dice),而使部分真實結(jié)節(jié)被“舍棄”。為了更充分地檢測并保留真實結(jié)節(jié),排除由于模型和目標(biāo)(損失)函數(shù)等原因而導(dǎo)致的無法檢測出一些難以鑒別的真實結(jié)節(jié)這一情況,本文對基于Dice的損失函數(shù)進行了改進。
從檢測任務(wù)的目的入手,為了讓模型可以得到更多候選結(jié)節(jié),并提高敏感度,本文設(shè)計的損失函數(shù)的計算公式如下:
式(4)是本文在候選結(jié)節(jié)檢測階段使用的損失函數(shù),與式(3)的損失函數(shù)相比,減少了預(yù)測值所占的權(quán)重,目的是使模型在保證分割準(zhǔn)確度的同時,適當(dāng)?shù)卦黾涌晒┻x擇送入下一步分類的候選結(jié)節(jié)數(shù)量。
經(jīng)過以上的候選結(jié)節(jié)檢測階段,為下一階段的分類任務(wù)提供了精選的候選結(jié)節(jié)的信息,其中包括結(jié)節(jié)位置信息、直徑大小和概率等。
2 多尺度三維卷積融合分類模型
在肺結(jié)節(jié)檢測系統(tǒng)的假陽性去除階段,設(shè)計使用了多尺度的候選結(jié)節(jié)三維塊作為輸入,訓(xùn)練兩個對應(yīng)尺度下的分類網(wǎng)絡(luò)模型,并采用融合后的分類分?jǐn)?shù)作為最終分類結(jié)果。
2.1 多尺度的三維卷積神經(jīng)網(wǎng)絡(luò)設(shè)計
上一階段完成了對肺結(jié)節(jié)的候選結(jié)節(jié)檢測與提取,使用的是二維肺實質(zhì)分割之后的圖像,是因為考慮到訓(xùn)練過程中時間和內(nèi)存的代價;但是,對于已經(jīng)提取到的候選結(jié)節(jié),目標(biāo)可以縮小到只有肺結(jié)節(jié)大小的范圍,這時,如果再用結(jié)節(jié)的二維像素信息作為訓(xùn)練數(shù)據(jù)訓(xùn)練二維的分類器,就無法充分利用CT掃描件的空間信息,使得整個肺結(jié)節(jié)檢測系統(tǒng)的良惡性二分類能力較弱。
本文設(shè)計了多尺度的三維卷積分類網(wǎng)絡(luò)。以二維的候選結(jié)節(jié)的像素中心為質(zhì)心,提取兩個固定尺寸的結(jié)節(jié)三維塊作為分類網(wǎng)絡(luò)訓(xùn)練集數(shù)據(jù)。如圖1 Stage2所示,提取塊的大小分別為25×25×8和50×50×20,再分別用于兩個不同的三維卷積分類網(wǎng)絡(luò)的訓(xùn)練。相比單一尺度,使用多尺度有如下3個優(yōu)點:1)對于直徑較大的結(jié)節(jié),多尺度能夠完整地包含結(jié)節(jié)的所有信息,不會出現(xiàn)單一尺度下由于設(shè)置尺寸偏小導(dǎo)致的部分結(jié)節(jié)信息不全的情況;2)對于直徑較小的結(jié)節(jié),多尺度能夠讓小的結(jié)節(jié)在小尺寸的三維塊中保持較大的占比,保證網(wǎng)絡(luò)學(xué)習(xí)到有用的特征;3)使用多尺度,在保證結(jié)節(jié)信息完整性的同時,增加結(jié)節(jié)周圍環(huán)境的上下文體素信息,這些環(huán)境的上下文信息能夠幫助分類模型提高識別準(zhǔn)確率。
圖3是圖1 Stage2三維卷積分類網(wǎng)絡(luò)的詳細結(jié)構(gòu)圖。輸入分別為25×25×8和50×50×20的候選結(jié)節(jié)體塊,后者包括了圖3所示的所有結(jié)構(gòu)。前者體塊由于分辨率相對較小,不包含灰色部分的操作,除此之外,其他的網(wǎng)絡(luò)配置均相同。三維卷積網(wǎng)絡(luò)中用到了批量標(biāo)準(zhǔn)化層[17],使用了ReLU作為激活函數(shù)。
圖3對這兩種不同尺度的結(jié)節(jié)體塊使用不同的網(wǎng)絡(luò)。是考慮了感受野對網(wǎng)絡(luò)分類表現(xiàn)性能的重要影響。理論上,卷積神經(jīng)網(wǎng)絡(luò)的感受野會隨著網(wǎng)絡(luò)層的加深而增大。如果感受野太小,網(wǎng)絡(luò)受限于局部信息,會對變化較大目標(biāo)缺乏鑒別能力;如果感受野過大,那么過多的冗余信息和噪聲都將干擾訓(xùn)練過程,降低模型的表現(xiàn)性能,因此,對不同尺度的輸入采用不同的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)是十分必要的。
同時,在本文設(shè)計的網(wǎng)絡(luò)中,前面的4個卷積操作,用到的卷積核尺寸為5×5×3和2×2×1,而并非立方體的卷積核。原因是CT掃描件的三個坐標(biāo)軸(x,y,z)中,z軸的長度與x、y軸相比較窄,所以,輸入數(shù)據(jù)的尺寸都在z軸方向偏少。使用非立方體的卷積核,能夠更有效地促進結(jié)節(jié)塊在三個坐標(biāo)軸方向上的特征融合和信息整合。
2.2 融合分類結(jié)果
多尺度分類網(wǎng)絡(luò)得到相同候選結(jié)節(jié)在兩種尺度下的兩個分類結(jié)果。對于用作測試的一個候選結(jié)節(jié)Ti而言,兩個網(wǎng)絡(luò)模型得到的分類結(jié)果可以分別記為P1(Y^=k|Ti;θ1)和P2(Y^=k|Ti;θ2),表示結(jié)節(jié)Ti在兩個模型下的預(yù)測值Y^等于k的概率,k取值為0(非結(jié)節(jié))和1(結(jié)節(jié))。
為了將不同模型所側(cè)重的多層上下文信息整合在一起進行最終分類,本文采取的方法是將這兩個網(wǎng)絡(luò)模型的softmax層輸出進行融合。融合操作的計算公式如下:
其中,等號左邊表示融合后的最終分類為真實結(jié)節(jié)的概率。各分類結(jié)果對應(yīng)的權(quán)重wj通過網(wǎng)格搜索法得到(w1=0.6,w2=0.4)。
3 實驗結(jié)果與分析
本章將對本文提出的肺結(jié)節(jié)檢測算法在LUNA16數(shù)據(jù)集上的表現(xiàn)性能進行結(jié)果評價。LUNA16數(shù)據(jù)集來源于公開的更大的數(shù)據(jù)集LIDC-IDRI(Lung Image Database Consortium and Image Database Resource Initiative)[18]。整個數(shù)據(jù)集去除了切片厚度大于3mm的CT圖像,同時去除了space不一致和缺失部分切片的圖像,最后產(chǎn)生了888張CT掃描件。
這些CT掃描件的橫切圖像大小為512×512,總共包含1186個專家標(biāo)注的真實肺結(jié)節(jié)。候選結(jié)節(jié)檢測任務(wù)中,檢測出的結(jié)節(jié)在真實結(jié)節(jié)標(biāo)簽的半徑范圍以內(nèi)時,即認(rèn)為是一個正確的檢測結(jié)果;在假陽性去除階段,正負樣本由上一階段的檢測結(jié)果得到。實驗時,對LUNA16數(shù)據(jù)集進行10-折交叉驗證。
3.1 實驗設(shè)計細節(jié)
3.1.1 候選結(jié)節(jié)檢測
在候選結(jié)節(jié)檢測階段,使用的是CT掃描件的橫切面圖像。首先對這些圖像進行預(yù)處理,以得到肺實質(zhì)部分。具體操作步驟的描述如下:
1)二值化;
2)清除邊界和形態(tài)學(xué)閉運算;
3)連通域分析;
4)肺部區(qū)域填充;
5)獲得肺部區(qū)域掩碼。
經(jīng)過上述預(yù)處理,得到512×512的肺部區(qū)域圖像,過濾掉空氣、骨骼等冗余的像素信息,在數(shù)據(jù)輸入神經(jīng)網(wǎng)絡(luò)之前,還作了標(biāo)準(zhǔn)化處理。
為了增加更多的樣本,防止模型過擬合,本階段對樣本進行了數(shù)據(jù)增強:隨機旋轉(zhuǎn)角度[-10°,10°];在x、y坐標(biāo)軸方向上平移[-10,10];尺寸縮放比例為[0.9,1.1];加入水平翻轉(zhuǎn)。
訓(xùn)練本文第1章提出的改進后的全卷積網(wǎng)絡(luò),權(quán)重初始化使用基于高斯分布的方法[19],設(shè)置初始學(xué)習(xí)率為0.001,在池化層之后加入Dropout[20](系數(shù)為0.2),采用Adam優(yōu)化算法,batchsize大小設(shè)置為8。訓(xùn)練時,深監(jiān)督中兩個分割結(jié)果的損失對全局損失的權(quán)值占比為[0.5,0.5]。處理分割結(jié)果時,以得到的候選區(qū)域為中心,提取區(qū)域面積兩倍比例的矩形框來確定檢測候選結(jié)節(jié)。
3.1.2 結(jié)節(jié)分類
對候選結(jié)節(jié)檢測得到的結(jié)果,提取對應(yīng)的25×25×8和50×50×20的三維塊。使用3.1.1節(jié)中的數(shù)據(jù)增強方法來增加正樣本,并在z軸上進行相同的變換處理。初始學(xué)習(xí)率為0.01,
在池化層后加入?yún)?shù)為0.2的Dropout層。優(yōu)化算法使用隨機梯度下降法(momentum=0.9)。三維卷積分類網(wǎng)絡(luò)使用的損失函數(shù)[5]如下:
其中1表示指示函數(shù),P(Y^i=c|Ti;θ)表示輸入的結(jié)節(jié)塊屬于類別c的概率。
3.2 候選結(jié)節(jié)檢測結(jié)果
在候選結(jié)節(jié)檢測階段,評價結(jié)果的好壞主要分為以下三個指標(biāo):1)平均Dice系數(shù),用來描述分割結(jié)果與真實值掩碼的相似度;2)敏感度,理想情況下,檢測模型應(yīng)當(dāng)檢測出所有的真實結(jié)節(jié);3)每個CT掃描件中檢測出的候選結(jié)節(jié)個數(shù)(用“候選結(jié)節(jié)數(shù)/scan”表示)。性能好的檢測模型應(yīng)當(dāng)具備在較低“候選結(jié)節(jié)數(shù)/scan”的情況下表現(xiàn)較高的敏感度。
本文設(shè)計了多組對比實驗來驗證提出的改進網(wǎng)絡(luò)帶來的性能優(yōu)化。首先對本文改進的模型進行自身對比實驗,是為了驗證1.2節(jié)中提出的基于深監(jiān)督的整合算法的有效性,自身對比結(jié)果如圖4所示。圖4中,使用了相同的經(jīng)過精簡的UNet++網(wǎng)絡(luò)結(jié)構(gòu),只是最后處理網(wǎng)絡(luò)輸出的過程不同,圖中第1、2、4、5個直方圖對應(yīng)同一個網(wǎng)絡(luò)結(jié)構(gòu),第3個直方圖是在無深監(jiān)督的條件下訓(xùn)練的模型??梢钥闯?,在深監(jiān)督的情況下,只取L2或者L3的分割結(jié)果得到的敏感度相對較低;通過深監(jiān)督所有的(L1,L2,L3)分割結(jié)果后,第4個直方圖的檢測敏感度比無深監(jiān)督UNet++模型的檢測敏感度高;第5個直方圖是使用了本文的僅對L2、L3分割結(jié)果加入深監(jiān)督的方法,得到了較高敏感度的提升,從第4種方法的93.2%提升至94.3%。
然后,使用傳統(tǒng)UNet、UNet++和經(jīng)過改進的UNet++分別訓(xùn)練了基于Dice損失函數(shù)和改進的損失函數(shù)的一共6個模型,并比較各模型在上述3個評價指標(biāo)下的分割性能。實驗結(jié)果如表1(表中的UNet++均使用了深監(jiān)督方法)。前三個對比實驗,3種網(wǎng)絡(luò)使用了基于Dice系數(shù)的損失函數(shù),雖然改進的模型在平均Dice系數(shù)指標(biāo)略低于UNet++,但檢測敏感度上比傳統(tǒng)UNet和UNet++高;使用了改進的加權(quán)損失函數(shù)之后,本文提出的模型達到0.705的平均Dice系數(shù)和94.3%的敏感度,在圖像分割性能上優(yōu)于前兩個模型。表1的結(jié)果這也驗證了本文提出的基于深監(jiān)督的分割結(jié)果整合算法和改進的加權(quán)損失函數(shù)能夠提高候選結(jié)節(jié)檢測的敏感度,更加能夠檢測出所有可疑的結(jié)節(jié),與傳統(tǒng)UNet相比提升了4.2個百分點。
最后,本文設(shè)計實驗對比了所提算法與肺結(jié)節(jié)檢測階段相同研究工作[1,6,13,16]的其他算法在LUNA16數(shù)據(jù)集下的各項數(shù)據(jù)結(jié)果。對比實驗結(jié)果和算法比較如表2所示。
檢測框架算法這兩個列名都為算法,不恰當(dāng),列名要有所區(qū)分,請作相應(yīng)調(diào)整?;貜?fù):第一列為算法框架,故列名為“檢測算法”或“檢測框架”;第二列為檢測算法中使用的具體算法,故可以改寫為“方法”或“基礎(chǔ)算法”。算法基礎(chǔ)算法敏感度/%候選結(jié)節(jié)數(shù)/scan
從表2可以看出,在使用了相同數(shù)據(jù)集的對比實驗下,本文所提算法在敏感度(94.3%)的指標(biāo)上優(yōu)于其他算法。同時,表2中也加入了在上一個對比實驗中(表1第二項實驗結(jié)果)的一個對比算法“Baseline”,它表示使用UNet++網(wǎng)絡(luò)作為檢測網(wǎng)絡(luò)的實驗結(jié)果。ISICAD請補充ISICAD的英文全稱?;貜?fù):ISICAD框架是文獻[1]中Murphy等人提出的算法框架的命名,文獻[1]中也未提及其英文全稱。[1]使用傳統(tǒng)手工提取方法,引入形狀指數(shù)(Shape Index, SI)和曲率(CurVedness, CV)特征,實驗結(jié)果獲得了85.6%的敏感度,每個CT掃描件的候選結(jié)節(jié)數(shù)為335.9;Xie等[6]使用了基于Faster R-CNN(Faster Region-based Convolutional Neural Network)[21]的改進網(wǎng)絡(luò),實驗獲得86.4%的檢測敏感度和較低的候選結(jié)節(jié)數(shù)4.7/scan,雖然本文算法在降低候選結(jié)節(jié)數(shù)(50.2/scan)上不及Xie等[6]的算法,但獲得的敏感度高于該算法;ZNET[16]用了UNet網(wǎng)絡(luò),實驗結(jié)果的敏感度指標(biāo)為93.3%,本文所提算法與它相比,敏感度提高了1.0個百分點。
經(jīng)過多組對比實驗,驗證了本文基于UNet++的改進網(wǎng)絡(luò),在候選結(jié)節(jié)檢測階段可以獲得更高的檢測敏感度。雖然本文的算法在每個CT掃描件檢測的候選結(jié)節(jié)的數(shù)量相比較而言不是最低,但是達到的較高的敏感度對下一階段結(jié)節(jié)分類和整個肺結(jié)節(jié)檢測系統(tǒng)的性能提升都至關(guān)重要。
3.3 結(jié)節(jié)分類結(jié)果
這一階段實驗結(jié)果的評價指標(biāo)是LUNA16使用的競爭性能指標(biāo)CPM(Competition Performance Metric)[22]分?jǐn)?shù)。這個分?jǐn)?shù)是在受試者特征曲線(Free Receiver Operation Characteristic, FROC)上,計算不同的“每個CT掃描件的平均假陽性數(shù)目”(即average number of False Positives per scan, FPs/scan)在(1/8,1/4,1/2,1,2,4,8)下的敏感度均值。目前,F(xiàn)Ps/scan在1到4的范圍廣泛使用于臨床實踐當(dāng)中,因此,CPM指標(biāo)具有廣泛的認(rèn)可度。
首先設(shè)計實驗驗證多尺度分類融合方法的有效性。分別使用固定尺寸25×25×8、50×50×20和兩種尺度融合,它們使用對應(yīng)的網(wǎng)絡(luò)結(jié)構(gòu)(見圖1 Stage2和2.1節(jié)),一共產(chǎn)生三種分類結(jié)果。計算它們在不同F(xiàn)Ps/scan下的敏感度。對比實驗結(jié)果如表3。為了描述方便,單一尺度25×25×8、50×50×20訓(xùn)練的分類模型分別取名為M1和M2,同時,在表3中敏感度用小數(shù)表示。
從表3可以看出,所有模型在FPs/scan為4的時候,均達到了90%以上的敏感度。在FPs/scan為0.125,0.25和0.5的情況下取得高敏感度相對困難,M1和M2在上述情況下敏感度都低于77%。本文提出的多尺度融合分類模型在實驗結(jié)果中表現(xiàn)突出,在有效降低假陽性數(shù)量的同時保持了較高的敏感度。當(dāng)每次掃描限制在0.125的平均假陽性數(shù)目的時候,M1和M2獲得敏感度分別為63.3%和68.5%,提出的融合模型獲得74.1%的敏感度,比前兩者提升了10.8和5.6個百分點;同時還可以看出,多尺度融合模型得到的敏感度,在每個限制條件下都高于單一尺度模型。這一對比實驗驗證了融合模型能有效地提高敏感度和降低假陽率,說明了包含不同層次上下文信息的網(wǎng)絡(luò)可以相互補充,它們的結(jié)合可以提高結(jié)節(jié)檢測系統(tǒng)的性能。
圖5(P值表示分類概率)顯示了利用多尺度融合模型識別真實肺結(jié)節(jié)的分類概率樣例,模型對形狀多樣的結(jié)節(jié)體現(xiàn)了良好的鑒別能力。
進一步地,本部分實驗還將本文算法框架的結(jié)果與目前流行的算法框架[16]進行比較,結(jié)果如圖6所示。本文算法取得了0.874的CPM分?jǐn)?shù),這一指標(biāo)優(yōu)于其他進行比較的流行算法。Xie等[6]在結(jié)節(jié)檢測和分類階段都使用了二維的卷積神經(jīng)網(wǎng)絡(luò),在時間和空間的節(jié)省上優(yōu)于其他流行算法,從圖6可以看出,該方法在每個CT掃描件的平均假陽性數(shù)(FPs/scan)為0.125時,取得了73.4%的較高敏感度,而本文算法在0.125FPs/scan時,敏感度為74.1%,略高于Xie等[6]的方法;相比其他流行算法,雖然在FPs/scan大于2之后,DIAG CONVNET[16]和JackFPR[5]的敏感度更高,但是本文算法在平均假陽性數(shù)量為0.125,0.25,0.5和1時,均取得了更高敏感度,例如,在FPs/scan為0.25時,敏感度大于84%。
4 討論
使用本文提出的肺結(jié)節(jié)檢測系統(tǒng)框架,其表現(xiàn)性能在LUNA16數(shù)據(jù)集上得到驗證。本文算法框架對候選結(jié)節(jié)的檢測和假陽性去除兩個階段都作了改進和優(yōu)化。候選結(jié)節(jié)檢測部分,結(jié)合傳統(tǒng)的UNet和UNet++的優(yōu)點,獲得了高敏感度的檢測結(jié)果,原因在于UNet++網(wǎng)絡(luò)結(jié)構(gòu)本身的特征再利用的性質(zhì),使得它比傳統(tǒng)UNet學(xué)習(xí)到更高效的特征;同時,對UNet++網(wǎng)絡(luò)結(jié)構(gòu)的精簡和深監(jiān)督對象的改進以及加權(quán)的損失函數(shù)的引入,也都有效提高了檢測部分的算法性能;但是這一階段,只用到結(jié)節(jié)的二維信息,在未來的研究工作中,如果在檢測部分也加入三維的圖像信息,可能對敏感度的提高有積極的作用。假陽性去除階段,使用了多尺度三維卷積神經(jīng)網(wǎng)絡(luò)的融合模型用于分類。三維的上下文信息對于結(jié)節(jié)的準(zhǔn)確分類十分重要,它能為網(wǎng)絡(luò)自主學(xué)習(xí)提供空間維度的信息。同時,網(wǎng)絡(luò)本身的結(jié)構(gòu)也很重要。在分類階段,本文使用到兩種不同的網(wǎng)絡(luò)結(jié)構(gòu)來適應(yīng)不同的輸入。三維卷積神經(jīng)網(wǎng)絡(luò)的設(shè)計中,為了得到具有更強結(jié)節(jié)鑒別能力的模型,可以引入ResNet(Residual Neural Network)[23]、DenseNet(Densely connected convolutional Network)[24-25]等經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)的層結(jié)構(gòu)。分類過程中,會出現(xiàn)結(jié)節(jié)直徑很小或結(jié)節(jié)周圍環(huán)境極為復(fù)雜的情況。針對這些結(jié)節(jié),使用一些特殊的數(shù)據(jù)增強方法或是設(shè)計一個適應(yīng)更小尺度輸入的網(wǎng)絡(luò)結(jié)構(gòu),可能會在一定程度上幫助提高識別率。
5 結(jié)語
肺結(jié)節(jié)自動檢測系統(tǒng)對醫(yī)生的輔助診斷意義重大。本文針對傳統(tǒng)肺結(jié)節(jié)檢測算法中檢測敏感度低、假陽性數(shù)量大的問題提出了基于深度卷積神經(jīng)網(wǎng)絡(luò)的肺結(jié)節(jié)檢測算法。創(chuàng)新地提出:1)精簡UNet++模型,降低了模型復(fù)雜度,同時保證高敏感度;2)引入對最佳的分割輸出層的深監(jiān)督;3)改進了基于Dice系數(shù)的損失函數(shù);4)設(shè)計了多尺度的三維深度卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練分類模型,并融合模型結(jié)果來降低假陽率。經(jīng)過多組對比實驗,所提改進算法的表現(xiàn)性能超過了傳統(tǒng)的算法;但本文算法也存在一定的局限性,在本文第4章討論了所提算法的優(yōu)點、不足和針對性的改進方案。
本文提出的算法框架有較強的可遷移能力。理論上,本文的算法也可以應(yīng)用在其他圖像數(shù)據(jù)集上和更多的醫(yī)學(xué)圖像處理任務(wù)當(dāng)中。
參考文獻 (References)
[1] MURPHY K, van GINNEKEN B, SCHILHAM A M, et al. A large-scale evaluation of automatic pulmonary nodule detection in chest CT using local image features and k-nearest-neighbour classification[J]. Medical Image Analysis, 2009, 13(5):757-770.
[2] LOPEZ T, FIORINA E, PENNAZIO F, et al. Large scale validation of the M5L lung CAD on heterogeneous CT datasets[J]. Medical Physics, 2015, 42(4):1477-1489.
[3] LI C F, ZHU G C, WU X J, et al. False-positive reduction on lung nodules detection in chest radiographs by ensemble of convolutional neural networks[J]. IEEE Access, 2018, 6(99): 16060-16067.
[4] 呂曉琪,吳涼,谷宇,等.基于三維卷積神經(jīng)網(wǎng)絡(luò)的低劑量CT肺結(jié)節(jié)檢測[J].光學(xué)精密工程,2018,26(5):1211-1218.(LYU X Q, WU L, GU Y, et al. Detection of low dose CT pulmonary nodules based on 3D convolution neural network[J]. Optics and Precision Engineering, 2018, 26(5):1211-1218.)
[5] DOU Q, CHEN H, YU L Q, et al. Multi-level contextual 3D CNNs for false positive reduction in pulmonary nodule detection[J]. IEEE Transactions on Biomedical Engineering, 2017, 64(7): 1558-1567.
[6] XIE H T, YANG D B, SUN N N, et al. Automated pulmonary nodule detection in CT images using deep convolutional neural networks[J]. Pattern Recognition, 2019, 85:109-119.
[7] LI W, CAO P, ZHAO D Z, et al. Pulmonary nodule classification with deep convolutional neural networks on computed tomography images[J]. Computational and Mathematical Methods in Medicine, 2016, 2016: 6215085.
[8] DING J, LI A X, HU Z Q, et al. Accurate pulmonary nodule detection in computed tomography images using deep convolutional neural networks[C]// Proceedings of the 2017 International Conference on Medical Computing and Computer-Assisted Intervention. Berlin: Springer, 2017: 559-567.
[9] KAMNITSAS, K, LEDIG C, NEWCOMBE V F, et al. Efficient multi-scale 3D CNN with fully connected CRF for accurate brain lesion segmentation[J]. Medical Image Analysis, 2016, 36: 61-78.
[10] DOU Q, CHEN H, YU L Q, et al. Automatic detection of cerebral microbleeds from MR images via 3D convolutional neural networks[J]. IEEE Transactions on Medical Imaging, 2016, 35(5): 1182-1195.
[11] CHEN H, DOU Q, YU L Q, et al. VoxResNet: deep voxelwise residual networks for brain segmentation from 3D MR images [J]. NeuroImage, 2018, 170: 446-455.
[12] RONNEBERGER O, FISCHER P, BROX T. U-Net: convolutional networks for biomedical image segmentation[C]// Proceedings of the 2015 International Conference on Medical Computing and Computer-Assisted Intervention. Berlin: Springer, 2015: 234-241.
[13] ZHOU Z W, MAHFUZUR RAHMAN SIDDIQUEE M, LIANG J M, et al. UNet++: a nested U-Net architecture for medical image segmentation[C]// Proceedings of the 2018 International Conference on Deep Learning in Medical Image Analysis and Multimodal Learning for Clinical Decision Support. Berlin: Springer, 2018: 3-11.
[14] LEE C Y, XIE S, GALLAGHER P, et al. Deeply-supervised nets [C]// Proceedings of the 2015 18th International Conference on Artificial Intelligence and Statistics. San Diego, CA: [s.n.], 2015: 562-570.
[15] SUDRE C H, LI W Q, VERCAUTEREN T, et al. Generalised dice overlap as a deep learning loss function for highly unbalanced segmentations [C]// Proceedings of the 2017 International Conference on Deep Learning in Medical Image Analysis and Multimodal Learning for Clinical Decision Support. Berlin: Springer, 2017: 240-248.
[16] SETIO A A A, TRAVERSO A, DE BEL T, et al. Validation, comparison, and combination of algorithms for automatic detection of pulmonary nodules in computed tomography images: the LUNA16 challenge [J]. Medical Image Analysis, 2017, 42: 1-13.
[17] LOFFE S, SZEGEDY C. Batch normalization: accelerating deep network training by reducing internal covariate shift [C]// Proceedings of the 2015 International Conference on Machine Learning. New York: ACM, 2015: 448-456.
[18] ARMATO S G, MCLENNAN G, BIDAUT L, et al. The Lung Image Database Consortium (LIDC) and Image Database Resource Initiative (IDRI): a completed reference database of lung nodules on CT scans[J]. Medical Physics, 2011, 38(2): 915-931.
[19] HE K M, ZHANG X Y, REN S Q, et al. Delving deep into rectifiers: surpassing human-level performance on ImageNet classification[C]// ICCV 2015: Proceedings of the 2015 IEEE International Conference on Computer Vision. Piscataway, NJ: IEEE, 2015: 1026-1034.
[20] SRIVASTAVA N, HINTON G, KRIZHEVSKY A, et al. Dropout: a simple way to prevent neural networks from overfitting[J]. Journal of Machine Learning Research, 2014, 15(1): 1929-1958.
[21] REN S Q, HE K M, GIRSHICK R, et al. Faster R-CNN: towards real-time object detection with region proposal networks[J]. IEEE Transaction on Pattern Analysis and Machine Intelligence, 2015, 39: 1137-1149.
[22] NIEMEIJER M, LOOG M, ABRAMOFF M D, et al. On combining computer-aided detection systems[J]. IEEE Transactions on Medical Imaging, 2011, 30: 215-223.
[23] HE K M, ZHANG X Y, SUN J, et al. Deep residual learning for image recognition[C]// CVPR 2016: Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2016: 770-778.
[24] HUANG G, LIU Z, LAURENS V D M, et al. Densely connected convolutional networks[C]// CVPR 2017: Proceedings of the 2017 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC: IEEE Computer Society, 2017: 2261-2269.
[25] 秦品樂,李啟,曾建潮,等.基于多尺度密集網(wǎng)絡(luò)的肺結(jié)節(jié)圖像檢索算法研究[J].計算機應(yīng)用,2019,39(2):392-397.(QIN P L, LI Q, ZENG J C, et al. Research on image retrieval algorithm of pulmonary nodules based on multi-scale dense network[J]. Journal of Computer Applications, 2019, 39(2): 392-397.)