肖 毅,謝 珺,謝 剛,3,續(xù)欣瑩
(1.太原理工大學 電氣與動力工程學院,山西 太原 030024;2.太原理工大學 信息與計算機學院,山西 晉中 030600;3.太原科技大學 先進控制與智能信息系統(tǒng)山西省重點實驗室,山西 太原 030024)
肺結節(jié)是肺癌早期病灶,其影像學表現(xiàn)為直徑小于或等于3 cm的孤立的或多處肺部陰影。為了減少死亡人數(shù)[1],早期的肺結節(jié)檢測和分割具有重要的意義。
計算機斷層掃描(computed tomography,CT)技術已經(jīng)成為最有效和可靠的肺結節(jié)診斷手段[2,3],然而放射科醫(yī)生需要閱讀大量CT掃描,這項任務對放射科醫(yī)生提出了艱巨的挑戰(zhàn)。為了減輕放射科醫(yī)生的工作負擔,計算機輔助診斷系統(tǒng)(computer aided diagnosis,CAD)已經(jīng)得到了廣泛應用[4]。通過自動檢測和分割CT圖像中的可疑肺結節(jié)并將其預測作為最終診斷的參考,極大提高了醫(yī)生診斷的效率。
卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)已經(jīng)被廣泛應用于肺結節(jié)檢測和分割等多種任務。計算機輔助診斷系統(tǒng)通常由幾個獨立的子任務組成,單獨處理每個任務存在一些局限性。首先,訓練多個3D神經(jīng)網(wǎng)絡既費時又耗費資源。其次,各個任務之間無法共享相關特征,整個系統(tǒng)的性能可能不是最佳的。肺結節(jié)具有體積小、邊緣模糊的特點,現(xiàn)有的方法存在特征利用率低的問題,模型的檢測和分割性能難以提高。因此,本文期望研究一種既能簡化模型又能提高模型精度的方法。
肺結節(jié)檢測是自動化CAD系統(tǒng)進行肺癌篩查的第一步。傳統(tǒng)方法通常需要手工制作的特征[5],然而醫(yī)學圖像較為復雜,很難為病變和解剖結構等對象尋找良好的手工特征。深度學習方法以卷積神經(jīng)網(wǎng)絡為代表,主要使用二階段的檢測器。Tang等提出了肺結節(jié)檢測和假陽性剔除的二階段框架[6],采用類似U-Net的3D Faster R-CNN模型生成結節(jié)樣本,然后建立3D深度卷積神經(jīng)網(wǎng)絡以檢測候選結節(jié),CPM得分為81.5%。Qin等開發(fā)了一種在CT圖像中自動檢測肺結節(jié)的系統(tǒng)[7],提出的方法主要包括3D U-Net候選結節(jié)生成和3D DenseNet假陽性剔除兩個模塊,在LUNA16數(shù)據(jù)集上達到96.7%的靈敏度和83.4%的CPM得分。通常CNN的訓練需要大量的實驗數(shù)據(jù),而這些數(shù)據(jù)在醫(yī)學領域通常很難獲取,Winkels等[8]提出了一種基于3D G-CNN的系統(tǒng),從NLST和LIDC-IDRI數(shù)據(jù)集上獲得的3000個結節(jié)樣本進行訓練,得到的CPM得分為85.6%。
肺結節(jié)分割也是自動化CAD系統(tǒng)的一個重要任務,對于后續(xù)肺結節(jié)定量分析很重要。在分割任務中已經(jīng)廣泛地采用了U-net和無監(jiān)督學習的方法。Tong等[9]通過加入殘差網(wǎng)絡提出基于U-net的改進的肺結節(jié)分割算法,結節(jié)分割的DSC為73.6%。Dong等[10]提出了用于3D肺結節(jié)分割的多視圖輔助輸入殘差(MV-SIR)卷積神經(jīng)網(wǎng)絡模型,MV-SIR模型在3D肺結節(jié)的分割中獲得了出色的結果,DSC得分為92.6%??紤]到肺結節(jié)的異質性及其與周圍組織的相似性,Wang等[11]通過使用數(shù)據(jù)驅動的模型來分割異質結節(jié)。
此外,也有研究將多任務學習應用到醫(yī)學圖像領域。對于肺結節(jié)良惡性分類和屬性評分回歸任務,Liu等[12]提出了具有保證金排名損失的多任務深度模型MTMR-Net用于自動結節(jié)分析。Zhai等[13]提出了一種新穎的多任務卷積神經(jīng)網(wǎng)絡(MT-CNN)框架用于從良性結節(jié)中識別惡性結節(jié),從9個二維視圖學習三維肺結節(jié)特征,每個二維MT-CNN模型都包含結節(jié)分類分支和圖像重建分支。Tang等[14]提出了一種端到端的DCNN用于解決肺結節(jié)檢測和分割問題,在LIDC-IDRI數(shù)據(jù)集上結節(jié)檢測的CPM得分達到87.27%,結節(jié)分割的DSC得分達到83.1%。
本文提出了一種端到端的肺結節(jié)檢測和分割模型Leision-Net,包括肺結節(jié)檢測和分割分支。該模型首先以多任務學習的方式將檢測和分割任務集成在單個框架中。其次將多尺度通道和空間注意力機制嵌入到特征提取器中,得到一種殘差注意力特征融合模塊,融合尺度和語義不一致的特征。最后使用自適應多任務損失函數(shù)平衡主任務和輔助任務的損失。模型框架如圖1所示。
2.1.1 結節(jié)檢測
結節(jié)檢測是肺結節(jié)CAD系統(tǒng)檢測肺部組織潛在病灶的首要任務。本文所提出的結節(jié)檢測網(wǎng)絡由3個階段組成:①特征提?。虎诤蜻x區(qū)域提?。虎奂訇栃蕴蕹?。
特征提取網(wǎng)絡基于包含4組3D卷積的VGG網(wǎng)絡,與后續(xù)的任務共享提取到的特征,特征提取網(wǎng)絡采用3D殘差塊代替三維卷積層。為了進行有效的特征提取,本文將兩組轉置卷積加入了特征提取網(wǎng)絡,特征圖逐步上采樣到與down_16和down_8相同的大小以獲得較大的特征圖。
圖1 端到端的肺結節(jié)檢測和分割的框架LeisionNet
將特征圖輸入候選區(qū)域提取網(wǎng)絡,可以得到提取的候選區(qū)域。為了生成候選結節(jié),將3D卷積層應用于特征圖fea_8,然后用兩個1×1×1的3D卷積層在特征圖的每個體素上分別生成邊框回歸和分類概率。3D檢測框由中心的z、y、x坐標、深度、高度和寬度等6個參數(shù)來指定。在本文中,選擇了大小分別為5×5×5、10×10×10、20×20×20、30×30×30和50×50×50的5個邊界框作為不同的錨框。
對于假陽性剔除,本文將具有較小感受野的淺層特征特征圖down_8與高級特征圖fea_8進行融合,然后將融合后的特征圖輸入3D ROI池化層。假陽性剔除網(wǎng)絡學習到與結節(jié)候選區(qū)域提取網(wǎng)絡不同的特征表示,確保了特征信息的完整性。假陽性剔除網(wǎng)絡與區(qū)域提取網(wǎng)絡具有相同的損失函數(shù),肺結節(jié)檢測損失定義為
(1)
(2)
(3)
2.1.2 結節(jié)分割
一旦在檢測分支中檢測到了肺結節(jié),CAD系統(tǒng)就將檢測到的結節(jié)直接送入分割分支。結節(jié)分割與結節(jié)檢測分支共享特征提取網(wǎng)絡,然后對特征圖進行上采樣。在將高級特征圖fea_8裁剪為128×128×128的尺寸后,通過逐步進行上采樣并通過長連接將它們與低級語義特征連接起來,最后與原始的輸入圖像在相同的尺度上執(zhí)行分割任務。與每個任務均單獨訓練一個模型相比,多任務學習模型通過特征共享在單個模型同時解決肺結節(jié)檢測和分割任務,減少了網(wǎng)絡的參數(shù)和計算量,使得3D圖像輸入對于訓練和測試變得可行。結節(jié)分割的損失函數(shù)定義為
(4)
式中:Nm是輸入圖像的總的結節(jié)數(shù),Nnp是第n個結節(jié)掩模中的像素數(shù),mni和gni分別表示第n個結節(jié)掩模中第i個像素的預測值和真實值。
深度學習中的注意力機制模仿人類視覺注意力,現(xiàn)有注意力特征融合方法在提取細粒度特征方面仍有較大的改進空間[15,16]。
2.2.1 多尺度通道和空間注意力機制
X′=X?M(X)=X?(δ(G(X)⊕L(X)⊕X)⊕X)
(5)
式中:M(X)∈RC×D×H×W為Arch_2模塊生成的注意力權重,其中,X代表輸入特征矩陣,⊕表示廣播加法,?表示逐元素相乘,δ表示Sigmoid函數(shù)。
圖2 多尺度通道和空間注意力機制
為了充分關注信息豐富的通道特征,通道注意力采用全局通道和本地通道并行連接的方式。給定特征圖X∈RC×D×H×W, 其中D×H×W表示特征圖大小,C表示通道數(shù)。本文選擇深度可分離卷積(depthwise separable convolution,DSConv)作為通道注意力上下文的融合器。使用G(X)表示全局通道注意力上下文
G(X)=B(DSConv2(B(DSConv1(g(X)))))
(6)
式中:g(X) 為全局平均池化,B為批歸一化處理(batch normalization,BN)。為了實現(xiàn)多尺度通道關注,添加了本地通道注意力上下文
L(X)=B(DSConv2(B(DSConv1(X))))
(7)
本地通道注意力具有與輸入元素相同的大小,可以保留低級語義特征。
通常檢測和分割任務的感興趣目標僅占部分像素,而其它大部分像素是背景區(qū)域??臻g注意力根據(jù)空間特征施加注意力,以不同的方式考慮所有空間位置,因而更加關注目標區(qū)域。為了提取多樣化的空間注意力特征信息,采用卷積核大小分別為3×3×3和1×1×1的并行卷積結構,產(chǎn)生不同尺度的空間注意力特征。本文選擇逐點卷積(point-wise,PWConv)作為空間注意力融合器,它只利用每個空間位置的點向通道融合。空間注意力可表述為
S(X)=B(PWConv(B(Conv1×1×1(X))))⊕
B(PWConv(B(Conv3×3×3(X))))
(8)
所提出的多尺度通道和空間注意力機制遵循了MS-CAM的思想,將通道注意力和空間注意力相結合。但有如下不同:①使用深度可分離卷積代替逐點卷積;②為了提取不同尺度的空間注意力特征,采用了兩種不同尺寸的并行卷積。
2.2.2 殘差注意力特征融合模塊
提出殘差注意力特征融合模塊(residual attention feature fusion module,RAFF)對兩個特征圖進行注意力特征融合。給定兩個特征圖X,Y∈RC×D×H×W, 基于多尺度通道和空間注意力機制MS-SCAM,將提出的RAFF表示為
Z=M(XΘY)?X+(1-M(XΘY))?Y
(9)
式中:Z∈RC×D×H×W為融合特征,Θ表示初始特征融合,這里采用逐元素求和。
本研究共發(fā)放152份問卷,采用留置問卷的方式,3天后收回問卷130份,剔除無效問卷,共獲得121份有效問卷。
圖3為殘差注意力特征融合模塊RAFF,其中融合權重M(XΘY) 由0到1之間的實數(shù)組成,虛線表示1-M(XΘY), 這使得網(wǎng)絡在兩個輸入特征圖之間進行加權。
圖3 殘差注意力特征融合模塊
對于多任務學習的損失函數(shù),不同的任務損失的量級很有可能不一樣,可能導致模型被某個任務主導而其它任務效果變差。為每個任務設置權重參數(shù)進行加權求和,可以手動調整每個任務的重要程度
(10)
固定的權重可能在某些階段限制任務的學習,動態(tài)地調整權重可能可以取得更好的效果,Kendall等提出基于不確定性加權設置多任務損失函數(shù)[17],其多任務損失函數(shù)表示為
(11)
任務的不確定性表征的是任務間的相對置信度,當輔助任務置信度較低時可能學習到很小的權重,導致輔助任務的效果變差。根據(jù)以上思路,提出一個優(yōu)化的多任務損失函數(shù),以適應肺結節(jié)檢測和分割兩個任務。在基于不確定性加權自動確定的損失權重基礎上,對兩個任務的損失權重進行了進一步約束,從而平衡主任務和輔助任務的損失,得到自適應的多任務損失函數(shù)為
(12)
且滿足如下約束條件
(13)
在該多任務損失函數(shù)中,各個任務的同方差不確定性σi是可學習的參數(shù),初始值設置均為1,在訓練時自動更新并最終確定合適的值,使得檢測和分割的損失基本與任務的重要性相匹配。
使用LIDC-IDRI數(shù)據(jù)集來評估模型的性能,該數(shù)據(jù)集是一個用于肺癌研究的大型公共數(shù)據(jù)集,共包含1018例CT掃描。在此數(shù)據(jù)集中,包含幾乎所有低劑量CT注釋信息,包括結節(jié)大小、輪廓、紋理、邊緣、惡性度等信息,直徑等于或大于3 mm的結節(jié)具有最多由4位放射科醫(yī)生勾勒出的輪廓。在本文中,僅使用直徑大于3 mm的結節(jié),以及肺部區(qū)域分割掩模。將至少有四分之三的放射科醫(yī)生注釋了的結節(jié)認為是真實值,因此總共包括586例CT掃描的1131個結節(jié)。
為了訓練模型,需要大量帶標注的數(shù)據(jù)。對于檢測分支,數(shù)據(jù)集中假陽性候選結節(jié)和真實結節(jié)之間存在嚴重的不平衡。本文對圖像數(shù)據(jù)進行圖像翻轉、旋轉、縮放以解決數(shù)據(jù)不平衡的問題,采用預篩選方法來處理類別不平衡問題,隨機進行下采樣使負樣本和正樣本的數(shù)量達到平衡。
實驗環(huán)境配置為:Intel Xeon E5-2620的32核CPU,64 G內(nèi)存,TITAN Xp的12 G顯存的GPU;在Ubuntu 18.04系統(tǒng)及Pytorch框架下運行。為了驗證模型的性能,進行了六折交叉驗證。使用SGD優(yōu)化器進行訓練,batchsize設為8,初始學習率為0.01,動量為0.9。一共訓練200個epoch,訓練80個epoch后加入分割分支。
本文采用自由響應接收器工作特性曲線(free-response ROC,F(xiàn)ROC)和競爭性能指標(competition performance metric,CPM)來評估結節(jié)檢測的性能。靈敏度也稱為召回率,即預測正確的樣本占總的陽性樣本的比例,定義為
(14)
每位患者在1/8、1/4、1/2、1、2、4和8FPs(false positives per scan)下的靈敏度(sensitivity)進行平均可以得到CPM分數(shù),反映的是模型檢測的整體性能。對于肺結節(jié)分割,采用交并比(intersection of union,IoU)和Dice相似系數(shù)(dice similariy coefficient,DSC)用于評估模型的性能。其計算方式分別為
(15)
(16)
其中,TP表示預測正確的真陽性樣本數(shù),F(xiàn)P表示預測錯誤的假陽性樣本數(shù),F(xiàn)N表示預測錯誤的假陰性樣本數(shù)。
為了驗證本文提出模型的有效性,構造消融模塊進行了廣泛的實驗,主要包括多任務學習策略、注意力特征融合模塊和多任務損失函數(shù)策略。為了便于比較,使用CPM得分來評估各項策略的有效性。
多任務學習對本文的模型起到至關重要的作用。從表1可知,加入肺結節(jié)分割分支有效地提高了肺結節(jié)檢測的性能,單任務的基準模型相比,CPM得分提高了約2.3%。通過融合殘差注意力特征融合模塊,結節(jié)檢測的性能進一步提高了4.8%。通過自適應多任務損失函數(shù),結節(jié)檢測的性能持續(xù)提高了0.8%。
表1 不同策略下的消融實驗結果
在訓練過程中,每個子任務的損失函數(shù)不斷下降。本文設計的方法在65個epoch時加入假陽性剔除部分,在80個epoch時加入分割分支。訓練過程的損失函數(shù)如圖4所示,縱坐標為總的損失函數(shù)值,橫坐標為訓練的epoch數(shù)。隨著訓練時間的增加,總的損失函數(shù)趨于穩(wěn)定。訓練過程中結節(jié)分割任務收斂的速度較快,120個epoch后總體損失函數(shù)逐漸趨于平滑。由此可見,本文算法所提出的模型收斂速度較快。
圖4 訓練集和驗證集上損失函數(shù)與迭代輪次的關系
3.3.1 多任務學習的影響
在本文中,多任務學習對模型起著至關重要的作用。為了研究多任務學習的影響,提供了兩種不同情況下的比較結果來驗證多任務學習模型的有效性。分別用單任務網(wǎng)絡和加入分割分支的多任務網(wǎng)絡進行訓練,表1展示了在LIDC-IDRI數(shù)據(jù)集上的性能?;诙嗳蝿諏W習的模型對于肺結節(jié)檢測任務的效果提升了2.3%,這表明分割分支可以更好地突出外觀信息,從而有助于肺結節(jié)檢測任務,說明了多任務學習提升模型性能的有效性。
3.3.2 注意力特征融合的影響
為了研究注意力特征融合的影響,構造了幾個消融模塊“Channel+Spatial串行”、“Channel+Spatial并行”、“Arch_1”以及“Arch_2”,在多任務學習模型的基礎上加入各個注意力特征融合模塊進行對比。
表2列出了各種注意力機制和注意力特征融合模塊的性能。在所有設置中,多尺度通道和空間注意力機制Arch_2為最優(yōu),獲得了90.10%的CPM得分。結果表明,多尺度通道和空間注意力特征融合可以有效提高模型性能。還將提出的MS-SCAM與Dai等提出的MS-CAM在相同的使用條件下進行了對比,說明了提出的殘差注意力特征融合模塊的有效性。
表2 注意力機制和注意力特征融合模塊的影響
3.3.3 多任務損失函數(shù)的影響
為了驗證提出的多任務損失函數(shù)的優(yōu)越性,進行了幾種情況的實驗對比。對各任務損失函數(shù)分別進行直接求和、加權求和、不確定性加權以及提出的損失均衡的不確定性加權,并分別統(tǒng)計各種情況下的平均檢測精度。
表3列出了使用各種方式加權的多任務損失函數(shù)的模型的性能,直接求和的損失函數(shù)獲得了90.10%的CPM得分,權重為0.6和0.4以及0.7和0.3時分別獲得了89.29%和89.18%的CPM得分,采用基于損失均衡不確定性加權的自適應多任務損失函數(shù)的模型取得了90.94%的CPM得分,平衡了肺結節(jié)檢測和分割兩個任務的性能,模型表現(xiàn)出了更高的分割精度。
表3 多任務損失函數(shù)的影響
3.3.4 與其它方法的比較
為了驗證方法的優(yōu)勢,給出了與其它方法的比較。如表4所示,統(tǒng)計了與其它方法在LICD-IDRI數(shù)據(jù)集上的肺結節(jié)檢測和分割性能的對比。根據(jù)與3.1節(jié)相同的網(wǎng)絡參數(shù)設置,分別對以上方法所提出的模型進行了訓練,并利用測試集進行測試。
從表4可以看出,算法性能優(yōu)于其它算法。平均檢測精度為90.94%,比其它方法高出3.7%,結節(jié)分割的IoU和DSC分數(shù)分別為71.78%和80.89%,該算法對于肺結節(jié)檢測和分割兩個任務的性能較為均衡。
表4 與其它方法的檢測和分割性能對比
本文提出了一種端到端的融合注意力特征的多任務肺結節(jié)檢測和分割算法。該方法首先以多任務學習的方式同時解決肺結節(jié)檢測和分割任務,通過共享特征減少了參數(shù)量,提高了模型的速度和精度。其次,提出了多尺度通道和空間注意力機制,并引入殘差注意力特征融合模塊,增強了尺度和語義不一致特征的融合效果。最后引入一種自適應多任務損失函數(shù)來約束檢測和分割任務的損失,提高了損失的權重與任務重要性的匹配程度。在LIDC-IDRI數(shù)據(jù)集上進行了廣泛的實驗驗證各個組件的有效性。結果表明,所提出的模型在結節(jié)檢測的CPM得分達到90.94%,在結節(jié)分割的IoU達到71.78%,DSC得分達到80.89%。