趙科甫,張蕾
(四川大學計算機學院,成都610065)
甲狀腺結(jié)節(jié)是一種常見的內(nèi)分泌病變,大部分甲狀腺結(jié)節(jié)都是良性的。然而,甲狀腺結(jié)節(jié)的發(fā)病率卻在持續(xù)增加[1-2]。一項研究預測甲狀腺結(jié)節(jié)將會對男女都產(chǎn)生重大的影響[3]。如果甲狀腺結(jié)節(jié)在早期就被檢測到,治療甲狀腺結(jié)節(jié)是十分容易的。甲狀腺超聲是一種有效的方法并被廣泛用于甲狀腺結(jié)節(jié)的診斷和隨訪[4-6]。然而,對于大多數(shù)病人而言,能夠提供高質(zhì)量醫(yī)療服務的專家數(shù)量是有限的。自動的甲狀腺結(jié)節(jié)分割能夠為醫(yī)生提供豐富的甲狀腺結(jié)節(jié)的信息。因此,在計算機輔助診斷(CAD)系統(tǒng)中提供甲狀腺結(jié)節(jié)的自動分割是非常必要的分割在CAD系統(tǒng)中起著至關重要的作用。它可以為后續(xù)分析提供豐富的感興趣區(qū)域(ROI)信息。手工分割比較耗時,而自動分割可以解決耗時問題。然而,甲狀腺超聲圖像的質(zhì)量直接影響到CAD系統(tǒng)的性能。而甲狀腺結(jié)節(jié)的自動分割也受到數(shù)據(jù)規(guī)模的影響。甲狀腺結(jié)節(jié)的精確分割是一項具有挑戰(zhàn)性的任務。為了解決這些困難,我們采取了以下策略。U型網(wǎng)絡有利于小數(shù)據(jù)集的分割[7]。因此,為了融合不同層次的特征,我們構(gòu)造了一個U型網(wǎng)絡。它以U-Net為主干結(jié)構(gòu)。在這項研究中,我們使用了Squeeze-and-Excitation(SE)注意力機制[8]。
用于分割的網(wǎng)絡是一個二維的神經(jīng)網(wǎng)絡。為了提高數(shù)據(jù)集的多樣性和網(wǎng)絡的魯棒性,還對數(shù)據(jù)集進行了擴充。本研究的貢獻總結(jié)如下:
(1)提出了一種基于神經(jīng)網(wǎng)絡的超聲圖像甲狀腺結(jié)節(jié)分割方法,以減少數(shù)據(jù)量和質(zhì)量的影響。
(2)該網(wǎng)絡的分割速度較快。它的訓練和測試時間與U-Net非常接近。
我們在一個名為Digital Database Thyroid Image(DDIT)的小型開源數(shù)據(jù)集中驗證了所提出的網(wǎng)絡[9]。
深度神經(jīng)網(wǎng)絡在CAD中有著廣泛的應用。許多醫(yī)學領域都在發(fā)展結(jié)節(jié)的自動檢測[10-12]。醫(yī)學領域存在兩大難題:數(shù)據(jù)量小和樣本分布不均衡。對于分割任務,小數(shù)據(jù)集是主要問題之一。遷移學習被廣泛用于解決這個問題[13-15]。它使用在大規(guī)模數(shù)據(jù)集(如ImageNet)中訓練的模型來提高目標域數(shù)據(jù)分割的性能。2015年,Ronneberger等人提出了一種用于生物醫(yī)學圖像分割的網(wǎng)絡,U-Net[7]。它包含一條收縮的路徑和一條擴張的路徑。U-Net通過將不同層次的特征串聯(lián)起來,在不使用轉(zhuǎn)移學習的情況下,對細胞圖像的分割有了很大的提升。醫(yī)學領域已經(jīng)提出了許多U型網(wǎng)絡[10-11,16]。此外,U-Net有許多用于分割的變體[17-20]。嵌套U-Net是U-Net的一個變體[21]。但是它的網(wǎng)絡結(jié)構(gòu)比較復雜,訓練也比較耗時。除此之外,注意力機制也被發(fā)現(xiàn)有助于提升網(wǎng)絡的性能,并得到了廣泛的應用[8,22-23]。許多應用了注意力機制的網(wǎng)絡被用于醫(yī)學圖像分割[24-25]。本文采用U型主干網(wǎng)絡和注意力進行甲狀腺結(jié)節(jié)的分割。
對于超聲圖像中的甲狀腺結(jié)節(jié),主要有兩個任務:分類和分割。但在本研究中,我們只關注分割問題。許多研究使用了不同的方法并報告了甲狀腺結(jié)節(jié)的分割性能[26-27]。一項研究提出了一種用于分割的可變背景活動輪廓模型[28]。此外,一種稱為級聯(lián)CNN的分階段卷積神經(jīng)網(wǎng)絡(CNN)也被用于分割甲狀腺結(jié)節(jié)[29]。并且級聯(lián)CNN既采用了U型的結(jié)構(gòu),也使用了遷移學習。Ma等人提出將一個甲狀腺結(jié)節(jié)分割問題作為一個塊分類任務,并使用端到端的CNN分割甲狀腺結(jié)節(jié)[26]。但是大部分研究都僅僅使用了私有數(shù)據(jù)集。DDIT是一個開源的數(shù)據(jù)集[9]。它包含299個病人和兩種注釋信息:分類注釋和分割注釋。許多研究都僅僅使用這個數(shù)據(jù)集進行分類,而不是分割[30-33]。在這個數(shù)據(jù)集中,只有很少的研究進行了分割[34-35]。Koundal等人報告了他們對該數(shù)據(jù)集的結(jié)果,但他們研究中使用的圖像僅有88張[35]。此外,他們使用的是基于距離正則化水平集(Distance Regularized Level Set)的方法。Ding等人使用基于神經(jīng)網(wǎng)絡的方法對該數(shù)據(jù)集的分割性能進行了評估[34]。
從DDIT數(shù)據(jù)集中,一共獲取了464張甲狀腺結(jié)節(jié)超聲圖像[9]。這個數(shù)據(jù)集包含了分類和分割的信息。我們只使用了分割的信息。這些圖像的標注信息存儲在單個的可擴展標記語言(XML)文件中。刪除每個XML文件中未完成或不完整的標注。此數(shù)據(jù)集的某些圖像由一個病人的兩張不同的圖片組成。所有的圖像都是jpg文件,而不是原始的超聲圖像。因此,這些圖像的質(zhì)量較低。
U-Net是一種全卷積神經(jīng)網(wǎng)絡,用于生物醫(yī)學圖像的分割[7]。它顯示出了在生物醫(yī)學圖像小數(shù)據(jù)集中的優(yōu)勢。在本研究中,由于僅有464張超聲圖像,因此U-Net被作為網(wǎng)絡的主干網(wǎng)絡結(jié)構(gòu)。U-Net包含兩條路徑:擴張路徑和收縮路徑。我們研究中使用的UNet的細節(jié)如圖1所示。SE用于提取特征層不同通道的重要性[8]。我們還為每個卷積層添加了SE模塊來評估分割性能。U-Net利用了不同層次的上下文信息,在生物醫(yī)學圖像分割中取得了良好的效果。通過拼接不同層次的特征層,Huang等人提出了一種叫做DenseNet的網(wǎng)絡結(jié)構(gòu),并具有良好的分類性能[36]。受拼接不同特征層的啟發(fā),我們提出了一種連接低層特征層的網(wǎng)絡,用于分割超聲圖像中的甲狀腺結(jié)節(jié)。收縮路徑中的層拼接擴張路徑中相同和下一層的特征圖。該網(wǎng)絡的詳細信息如圖2所示。
圖1 本研究中使用的U-Net
圖2
圖2使用了SE模塊,并以U-Net為主干的網(wǎng)絡。此網(wǎng)絡的收縮路徑中的特征層融合了來自擴張路徑中同一層及下一層的特征圖。
本研究采用Dice相似系數(shù)作為損失函數(shù),并用來評價分割性能。Dice相似系數(shù)有兩種:soft Dice和hard Dice。對預測結(jié)果進行閾值過濾后計算的Dice稱為hard Dice。Hard Dice不可導,而soft Dice可導。因此soft Dice用作網(wǎng)絡的損失函數(shù)。PRED代表預測的結(jié)果,而MASK代表真實的掩模。|PRED|表示PRED的累加和。常數(shù)b是一個非常小的數(shù),用來避免公式無意義。
在本研究中,假陽率(FPR)、真正率(TPR)和交并補(IOU)也被用來進行性能的評估。它們的計算公式如下:
在進行分割前,需要先對超聲圖像進行預處理。預處理時,裁剪超聲圖像,并且僅保留圖像區(qū)域以便后續(xù)的分割。預處理的四個步驟如圖3所示。中值濾波用于模糊初始的超聲圖像;接下來對模糊后的圖像進行二值化操作;再使用Canny檢測器檢測二值化圖像的輪廓;最后,選擇檢測出的所有輪廓中的最大輪廓作為需要裁減的圖像區(qū)域。根據(jù)最大輪廓,分別計算四條邊界(左,右,上,下),并用其來裁減圖像。經(jīng)過預處理后的圖像如圖4所示。
圖3 預處理步驟
圖4 預處理圖像
由于圖像數(shù)量的限制,本研究使用了多種數(shù)據(jù)擴充方法。使用的數(shù)據(jù)擴充方法包括:水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、旋轉(zhuǎn)、裁剪和移位。每個擴充方法的隨機選擇概率都設置為0.5。旋轉(zhuǎn)的角度范圍設置為-5到5度。隨機平移的距離為-10到10個像素值。對于隨機裁減,我們首先對圖像進行了縮放,再裁減??s放因子設置為1.0到1.5。數(shù)據(jù)擴充使用OpenCV 3.2.0和SciPy
實驗是在一臺Ubuntu服務器(16.04)上進行的。使用的顯卡為NVIDIA Tesla K40(12GB)。CUDA版本號為9。一共對三個模型進行了評估:U-Net,使用了SE模塊的U-Net,和以使用SE模塊的U-Net為主干網(wǎng)絡,并拼接了擴張路徑中同一級及下一級特征圖的網(wǎng)絡。三種網(wǎng)絡結(jié)構(gòu)都使用PyTorch 1.0和Python 3.6實現(xiàn)。Dice損失函數(shù)中的常數(shù)b設置為0.0001。網(wǎng)絡輸入的超聲圖像的大小需要調(diào)整為320×320×1。像素值歸一化到0-1。數(shù)據(jù)集隨機劃分為五組,用來做五折交叉驗證。在此數(shù)據(jù)集中,一個病人可能對應超過一張圖像。因此,同一病人的不同圖像都需要被分在同一折中。使用自適應的Adam優(yōu)化器來訓練網(wǎng)絡。初始學習率和權(quán)重衰減分別設置為0.001和1e-8。每次訓練時的批次大小設置為4。一共最多訓練400個周期。如果損失函數(shù)在連續(xù)的50個周期內(nèi)沒有下降,則采用早停的策略終止訓練。
在本小節(jié)中,我們評估了不同分割模型的性能。在464例甲狀腺結(jié)節(jié)的超聲圖像上評價了三種模型。結(jié)果如表1所示。結(jié)果表明,U-Net(Fusion)具有最佳的Dice相似系數(shù),并獲得了最佳的性能。U-Net(SE)的性能優(yōu)于U-Net。實驗結(jié)果說明SE模塊和融合特征可以提高甲狀腺結(jié)節(jié)的分割效果。原始U-Net的性能最差。U-Net(Fusion)的TPR和IOU最高,而U-Net的FPR最低。
表1 不同模型的性能
五折交叉驗證的結(jié)果如表2所示。與U-Net相比,U-Net(SE)在第一,二,四,和五折上有提升。然而,U-Net(Fusion)的性能在每一折上都顯著優(yōu)于U-Net。結(jié)果表明,SE和特征融合可以有效地提高甲狀腺結(jié)節(jié)的分割效果。
表2 五折交叉驗證的結(jié)果(Dice)
但是,將擴張路徑中的同一層和下一層的特征與收縮路徑的特征拼接起來,會增加網(wǎng)絡的復雜度。訓練時間可能會增加。我們評估了每個模型訓練一個完整周期的時間。結(jié)果如表3所示。U-Net(Fusion)的訓練時間大約為U-Net的1.2倍,而U-Net(SE)和U-Net的訓練時間相近。使用SE模塊和特征融合并沒有顯著增加訓練時間。
表3 每個模型一次完整訓練周期的時間(訓練+驗證)
一部分的分割結(jié)果如圖5所示。預測結(jié)果的輪廓與真實掩模的輪廓相似。區(qū)別主要在于:真實的甲狀腺結(jié)節(jié)掩模邊緣光滑,而預測結(jié)果邊緣相對粗糙。圖6顯示了一些較差的預測結(jié)果。結(jié)果表明:雖然預測的結(jié)節(jié)可以大于或小于真實結(jié)節(jié),但真實結(jié)節(jié)的大部分區(qū)域都被預測正確。
圖5 甲狀腺結(jié)節(jié)分割結(jié)果
圖6 甲狀腺結(jié)節(jié)分割效果較差的圖像
本文提出了一種以使用SE模塊的U-Net為主干的網(wǎng)絡,并拼接不同層特征,來進行超聲圖像中甲狀腺結(jié)節(jié)的自動分割方法。提出的網(wǎng)絡在開源數(shù)據(jù)集DDIT上到達了Dice系數(shù)0.7987的性能。
Koundal等人報告了他們使用此數(shù)據(jù)集進行甲狀腺結(jié)節(jié)分割的結(jié)果[35]。但是他們僅僅使用了88張超聲圖像。因此,分割結(jié)果不能直接比較。Ding等人的研究也使用了此數(shù)據(jù)集[34]。他們達到了0.26的IOU值。我們提出的模型的性能顯著地優(yōu)于他們的結(jié)果。他們在研究中將此數(shù)據(jù)集分割為70%的訓練集,20%的驗證集,和10%的測試集。但是,本研究使用了五折交叉驗證。網(wǎng)絡結(jié)構(gòu)的細節(jié)也可能影響了分割結(jié)果。
在此開源數(shù)據(jù)集上主要存在兩個甲狀腺結(jié)節(jié)分割的問題。其一是數(shù)據(jù)集的規(guī)模。雖然U-Net可以用于小數(shù)據(jù)集,但大數(shù)據(jù)集可以為分割提供更豐富的信息。然而,這個開源數(shù)據(jù)集是一個小數(shù)據(jù)集,只包含464個超聲圖像。為了增加數(shù)據(jù)集的多樣性,我們使用了水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、旋轉(zhuǎn)、平移和裁減。另一個難點是圖像的質(zhì)量。此數(shù)據(jù)集中一部分圖像包含兩張獨立的超聲圖像。所有的圖像都是jpg圖像,且質(zhì)量較低。此外,許多圖像都受噪音影響。提升數(shù)據(jù)集圖像的質(zhì)量也有益于分割性能。SE模塊可以提升U-Net的性能。而融合不同層的特征可以獲得豐富的信息,能夠進一步提升分割性能。