肖 毅,謝 珺,謝 剛,3,續欣瑩
(1.太原理工大學 電氣與動力工程學院,山西 太原 030024;2.太原理工大學 信息與計算機學院,山西 晉中 030600;3.太原科技大學 先進控制與智能信息系統山西省重點實驗室,山西 太原 030024)
肺結節是肺癌早期病灶,其影像學表現為直徑小于或等于3 cm的孤立的或多處肺部陰影。為了減少死亡人數[1],早期的肺結節檢測和分割具有重要的意義。
計算機斷層掃描(computed tomography,CT)技術已經成為最有效和可靠的肺結節診斷手段[2,3],然而放射科醫生需要閱讀大量CT掃描,這項任務對放射科醫生提出了艱巨的挑戰。為了減輕放射科醫生的工作負擔,計算機輔助診斷系統(computer aided diagnosis,CAD)已經得到了廣泛應用[4]。通過自動檢測和分割CT圖像中的可疑肺結節并將其預測作為最終診斷的參考,極大提高了醫生診斷的效率。
卷積神經網絡(convolutional neural network,CNN)已經被廣泛應用于肺結節檢測和分割等多種任務。計算機輔助診斷系統通常由幾個獨立的子任務組成,單獨處理每個任務存在一些局限性。首先,訓練多個3D神經網絡既費時又耗費資源。其次,各個任務之間無法共享相關特征,整個系統的性能可能不是最佳的。肺結節具有體積小、邊緣模糊的特點,現有的方法存在特征利用率低的問題,模型的檢測和分割性能難以提高。因此,本文期望研究一種既能簡化模型又能提高模型精度的方法。
肺結節檢測是自動化CAD系統進行肺癌篩查的第一步。傳統方法通常需要手工制作的特征[5],然而醫學圖像較為復雜,很難為病變和解剖結構等對象尋找良好的手工特征。深度學習方法以卷積神經網絡為代表,主要使用二階段的檢測器。Tang等提出了肺結節檢測和假陽性剔除的二階段框架[6],采用類似U-Net的3D Faster R-CNN模型生成結節樣本,然后建立3D深度卷積神經網絡以檢測候選結節,CPM得分為81.5%。Qin等開發了一種在CT圖像中自動檢測肺結節的系統[7],提出的方法主要包括3D U-Net候選結節生成和3D DenseNet假陽性剔除兩個模塊,在LUNA16數據集上達到96.7%的靈敏度和83.4%的CPM得分。通常CNN的訓練需要大量的實驗數據,而這些數據在醫學領域通常很難獲取,Winkels等[8]提出了一種基于3D G-CNN的系統,從NLST和LIDC-IDRI數據集上獲得的3000個結節樣本進行訓練,得到的CPM得分為85.6%。
肺結節分割也是自動化CAD系統的一個重要任務,對于后續肺結節定量分析很重要。在分割任務中已經廣泛地采用了U-net和無監督學習的方法。Tong等[9]通過加入殘差網絡提出基于U-net的改進的肺結節分割算法,結節分割的DSC為73.6%。Dong等[10]提出了用于3D肺結節分割的多視圖輔助輸入殘差(MV-SIR)卷積神經網絡模型,MV-SIR模型在3D肺結節的分割中獲得了出色的結果,DSC得分為92.6%。考慮到肺結節的異質性及其與周圍組織的相似性,Wang等[11]通過使用數據驅動的模型來分割異質結節。
此外,也有研究將多任務學習應用到醫學圖像領域。對于肺結節良惡性分類和屬性評分回歸任務,Liu等[12]提出了具有保證金排名損失的多任務深度模型MTMR-Net用于自動結節分析。Zhai等[13]提出了一種新穎的多任務卷積神經網絡(MT-CNN)框架用于從良性結節中識別惡性結節,從9個二維視圖學習三維肺結節特征,每個二維MT-CNN模型都包含結節分類分支和圖像重建分支。Tang等[14]提出了一種端到端的DCNN用于解決肺結節檢測和分割問題,在LIDC-IDRI數據集上結節檢測的CPM得分達到87.27%,結節分割的DSC得分達到83.1%。
本文提出了一種端到端的肺結節檢測和分割模型Leision-Net,包括肺結節檢測和分割分支。該模型首先以多任務學習的方式將檢測和分割任務集成在單個框架中。其次將多尺度通道和空間注意力機制嵌入到特征提取器中,得到一種殘差注意力特征融合模塊,融合尺度和語義不一致的特征。最后使用自適應多任務損失函數平衡主任務和輔助任務的損失。模型框架如圖1所示。
2.1.1 結節檢測
結節檢測是肺結節CAD系統檢測肺部組織潛在病灶的首要任務。本文所提出的結節檢測網絡由3個階段組成:①特征提取;②候選區域提取;③假陽性剔除。
特征提取網絡基于包含4組3D卷積的VGG網絡,與后續的任務共享提取到的特征,特征提取網絡采用3D殘差塊代替三維卷積層。為了進行有效的特征提取,本文將兩組轉置卷積加入了特征提取網絡,特征圖逐步上采樣到與down_16和down_8相同的大小以獲得較大的特征圖。

圖1 端到端的肺結節檢測和分割的框架LeisionNet
將特征圖輸入候選區域提取網絡,可以得到提取的候選區域。為了生成候選結節,將3D卷積層應用于特征圖fea_8,然后用兩個1×1×1的3D卷積層在特征圖的每個體素上分別生成邊框回歸和分類概率。3D檢測框由中心的z、y、x坐標、深度、高度和寬度等6個參數來指定。在本文中,選擇了大小分別為5×5×5、10×10×10、20×20×20、30×30×30和50×50×50的5個邊界框作為不同的錨框。
對于假陽性剔除,本文將具有較小感受野的淺層特征特征圖down_8與高級特征圖fea_8進行融合,然后將融合后的特征圖輸入3D ROI池化層。假陽性剔除網絡學習到與結節候選區域提取網絡不同的特征表示,確保了特征信息的完整性。假陽性剔除網絡與區域提取網絡具有相同的損失函數,肺結節檢測損失定義為
(1)

(2)
(3)
2.1.2 結節分割
一旦在檢測分支中檢測到了肺結節,CAD系統就將檢測到的結節直接送入分割分支。結節分割與結節檢測分支共享特征提取網絡,然后對特征圖進行上采樣。在將高級特征圖fea_8裁剪為128×128×128的尺寸后,通過逐步進行上采樣并通過長連接將它們與低級語義特征連接起來,最后與原始的輸入圖像在相同的尺度上執行分割任務。與每個任務均單獨訓練一個模型相比,多任務學習模型通過特征共享在單個模型同時解決肺結節檢測和分割任務,減少了網絡的參數和計算量,使得3D圖像輸入對于訓練和測試變得可行。結節分割的損失函數定義為

(4)
式中:Nm是輸入圖像的總的結節數,Nnp是第n個結節掩模中的像素數,mni和gni分別表示第n個結節掩模中第i個像素的預測值和真實值。
深度學習中的注意力機制模仿人類視覺注意力,現有注意力特征融合方法在提取細粒度特征方面仍有較大的改進空間[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函數。

圖2 多尺度通道和空間注意力機制
為了充分關注信息豐富的通道特征,通道注意力采用全局通道和本地通道并行連接的方式。給定特征圖X∈RC×D×H×W, 其中D×H×W表示特征圖大小,C表示通道數。本文選擇深度可分離卷積(depthwise separable convolution,DSConv)作為通道注意力上下文的融合器。使用G(X)表示全局通道注意力上下文
G(X)=B(DSConv2(B(DSConv1(g(X)))))
(6)
式中:g(X) 為全局平均池化,B為批歸一化處理(batch normalization,BN)。為了實現多尺度通道關注,添加了本地通道注意力上下文
L(X)=B(DSConv2(B(DSConv1(X))))
(7)
本地通道注意力具有與輸入元素相同的大小,可以保留低級語義特征。
通常檢測和分割任務的感興趣目標僅占部分像素,而其它大部分像素是背景區域。空間注意力根據空間特征施加注意力,以不同的方式考慮所有空間位置,因而更加關注目標區域。為了提取多樣化的空間注意力特征信息,采用卷積核大小分別為3×3×3和1×1×1的并行卷積結構,產生不同尺度的空間注意力特征。本文選擇逐點卷積(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為融合特征,Θ表示初始特征融合,這里采用逐元素求和。
本研究共發放152份問卷,采用留置問卷的方式,3天后收回問卷130份,剔除無效問卷,共獲得121份有效問卷。
圖3為殘差注意力特征融合模塊RAFF,其中融合權重M(XΘY) 由0到1之間的實數組成,虛線表示1-M(XΘY), 這使得網絡在兩個輸入特征圖之間進行加權。

圖3 殘差注意力特征融合模塊
對于多任務學習的損失函數,不同的任務損失的量級很有可能不一樣,可能導致模型被某個任務主導而其它任務效果變差。為每個任務設置權重參數進行加權求和,可以手動調整每個任務的重要程度
(10)
固定的權重可能在某些階段限制任務的學習,動態地調整權重可能可以取得更好的效果,Kendall等提出基于不確定性加權設置多任務損失函數[17],其多任務損失函數表示為

(11)
任務的不確定性表征的是任務間的相對置信度,當輔助任務置信度較低時可能學習到很小的權重,導致輔助任務的效果變差。根據以上思路,提出一個優化的多任務損失函數,以適應肺結節檢測和分割兩個任務。在基于不確定性加權自動確定的損失權重基礎上,對兩個任務的損失權重進行了進一步約束,從而平衡主任務和輔助任務的損失,得到自適應的多任務損失函數為
(12)
且滿足如下約束條件
(13)
在該多任務損失函數中,各個任務的同方差不確定性σi是可學習的參數,初始值設置均為1,在訓練時自動更新并最終確定合適的值,使得檢測和分割的損失基本與任務的重要性相匹配。
使用LIDC-IDRI數據集來評估模型的性能,該數據集是一個用于肺癌研究的大型公共數據集,共包含1018例CT掃描。在此數據集中,包含幾乎所有低劑量CT注釋信息,包括結節大小、輪廓、紋理、邊緣、惡性度等信息,直徑等于或大于3 mm的結節具有最多由4位放射科醫生勾勒出的輪廓。在本文中,僅使用直徑大于3 mm的結節,以及肺部區域分割掩模。將至少有四分之三的放射科醫生注釋了的結節認為是真實值,因此總共包括586例CT掃描的1131個結節。
為了訓練模型,需要大量帶標注的數據。對于檢測分支,數據集中假陽性候選結節和真實結節之間存在嚴重的不平衡。本文對圖像數據進行圖像翻轉、旋轉、縮放以解決數據不平衡的問題,采用預篩選方法來處理類別不平衡問題,隨機進行下采樣使負樣本和正樣本的數量達到平衡。
實驗環境配置為:Intel Xeon E5-2620的32核CPU,64 G內存,TITAN Xp的12 G顯存的GPU;在Ubuntu 18.04系統及Pytorch框架下運行。為了驗證模型的性能,進行了六折交叉驗證。使用SGD優化器進行訓練,batchsize設為8,初始學習率為0.01,動量為0.9。一共訓練200個epoch,訓練80個epoch后加入分割分支。
本文采用自由響應接收器工作特性曲線(free-response ROC,FROC)和競爭性能指標(competition performance metric,CPM)來評估結節檢測的性能。靈敏度也稱為召回率,即預測正確的樣本占總的陽性樣本的比例,定義為
(14)
每位患者在1/8、1/4、1/2、1、2、4和8FPs(false positives per scan)下的靈敏度(sensitivity)進行平均可以得到CPM分數,反映的是模型檢測的整體性能。對于肺結節分割,采用交并比(intersection of union,IoU)和Dice相似系數(dice similariy coefficient,DSC)用于評估模型的性能。其計算方式分別為
(15)
(16)
其中,TP表示預測正確的真陽性樣本數,FP表示預測錯誤的假陽性樣本數,FN表示預測錯誤的假陰性樣本數。
為了驗證本文提出模型的有效性,構造消融模塊進行了廣泛的實驗,主要包括多任務學習策略、注意力特征融合模塊和多任務損失函數策略。為了便于比較,使用CPM得分來評估各項策略的有效性。
多任務學習對本文的模型起到至關重要的作用。從表1可知,加入肺結節分割分支有效地提高了肺結節檢測的性能,單任務的基準模型相比,CPM得分提高了約2.3%。通過融合殘差注意力特征融合模塊,結節檢測的性能進一步提高了4.8%。通過自適應多任務損失函數,結節檢測的性能持續提高了0.8%。

表1 不同策略下的消融實驗結果
在訓練過程中,每個子任務的損失函數不斷下降。本文設計的方法在65個epoch時加入假陽性剔除部分,在80個epoch時加入分割分支。訓練過程的損失函數如圖4所示,縱坐標為總的損失函數值,橫坐標為訓練的epoch數。隨著訓練時間的增加,總的損失函數趨于穩定。訓練過程中結節分割任務收斂的速度較快,120個epoch后總體損失函數逐漸趨于平滑。由此可見,本文算法所提出的模型收斂速度較快。

圖4 訓練集和驗證集上損失函數與迭代輪次的關系
3.3.1 多任務學習的影響
在本文中,多任務學習對模型起著至關重要的作用。為了研究多任務學習的影響,提供了兩種不同情況下的比較結果來驗證多任務學習模型的有效性。分別用單任務網絡和加入分割分支的多任務網絡進行訓練,表1展示了在LIDC-IDRI數據集上的性能。基于多任務學習的模型對于肺結節檢測任務的效果提升了2.3%,這表明分割分支可以更好地突出外觀信息,從而有助于肺結節檢測任務,說明了多任務學習提升模型性能的有效性。
3.3.2 注意力特征融合的影響
為了研究注意力特征融合的影響,構造了幾個消融模塊“Channel+Spatial串行”、“Channel+Spatial并行”、“Arch_1”以及“Arch_2”,在多任務學習模型的基礎上加入各個注意力特征融合模塊進行對比。
表2列出了各種注意力機制和注意力特征融合模塊的性能。在所有設置中,多尺度通道和空間注意力機制Arch_2為最優,獲得了90.10%的CPM得分。結果表明,多尺度通道和空間注意力特征融合可以有效提高模型性能。還將提出的MS-SCAM與Dai等提出的MS-CAM在相同的使用條件下進行了對比,說明了提出的殘差注意力特征融合模塊的有效性。

表2 注意力機制和注意力特征融合模塊的影響
3.3.3 多任務損失函數的影響
為了驗證提出的多任務損失函數的優越性,進行了幾種情況的實驗對比。對各任務損失函數分別進行直接求和、加權求和、不確定性加權以及提出的損失均衡的不確定性加權,并分別統計各種情況下的平均檢測精度。
表3列出了使用各種方式加權的多任務損失函數的模型的性能,直接求和的損失函數獲得了90.10%的CPM得分,權重為0.6和0.4以及0.7和0.3時分別獲得了89.29%和89.18%的CPM得分,采用基于損失均衡不確定性加權的自適應多任務損失函數的模型取得了90.94%的CPM得分,平衡了肺結節檢測和分割兩個任務的性能,模型表現出了更高的分割精度。

表3 多任務損失函數的影響
3.3.4 與其它方法的比較
為了驗證方法的優勢,給出了與其它方法的比較。如表4所示,統計了與其它方法在LICD-IDRI數據集上的肺結節檢測和分割性能的對比。根據與3.1節相同的網絡參數設置,分別對以上方法所提出的模型進行了訓練,并利用測試集進行測試。
從表4可以看出,算法性能優于其它算法。平均檢測精度為90.94%,比其它方法高出3.7%,結節分割的IoU和DSC分數分別為71.78%和80.89%,該算法對于肺結節檢測和分割兩個任務的性能較為均衡。

表4 與其它方法的檢測和分割性能對比
本文提出了一種端到端的融合注意力特征的多任務肺結節檢測和分割算法。該方法首先以多任務學習的方式同時解決肺結節檢測和分割任務,通過共享特征減少了參數量,提高了模型的速度和精度。其次,提出了多尺度通道和空間注意力機制,并引入殘差注意力特征融合模塊,增強了尺度和語義不一致特征的融合效果。最后引入一種自適應多任務損失函數來約束檢測和分割任務的損失,提高了損失的權重與任務重要性的匹配程度。在LIDC-IDRI數據集上進行了廣泛的實驗驗證各個組件的有效性。結果表明,所提出的模型在結節檢測的CPM得分達到90.94%,在結節分割的IoU達到71.78%,DSC得分達到80.89%。