馬金林,毛凱績,馬自萍,鄧媛媛,歐陽軻,陳 勇
1.北方民族大學 計算機科學與工程學院,銀川750021
2.圖像圖形智能處理國家民委重點實驗室,銀川750021
3.北方民族大學 數學與信息科學學院,銀川750021
4.寧夏醫科大學總醫院 放射介入科,銀川750004
基于深度學習的肝臟腫瘤檢測方法取得了很好的檢測效果,然而由于肝臟腫瘤具有樣本量少、目標小的特點,為深度學習模型訓練帶來極大困難,嚴重影響模型的泛化能力和識別準確率。
針對檢測目標較小的問題,研究人員提出了一系列算法。石羽等[1]提出了一種肺結節自動檢測算法,通過設置閾值識別不同興趣區域,利用基于規則的判別方法對興趣區域進行分類并標出肺結節,但該方法存在檢測精度不高的問題。通常,使用多尺度多通道的CNN檢測器和合并多尺度信息的CNN結構兩種方法提高檢測精度。(1)使用多尺度多通道CNN檢測器[2]的典型方法為全卷積分割模型和多尺度檢測器(MS-RCNN)組成的對有絲分裂細胞進行檢測的網絡SmallMitosis[3],該方法使用的MS-RCNN對小目標有絲分裂的檢測效果達到了大目標有絲分裂的水平,對小尺寸模糊有絲分裂細胞的檢測有很強的分辨力;此外,使用FPN[4]結合四個IOU閾值級聯的RCNN檢測器提高了微小腎臟病變的檢測能力[5]。(2)改變CNN的網絡結構,合并多尺度圖像信息:典型的有SkinNet[6]用密集的卷積塊替換編碼器和解碼器的常規卷積,以更好地合并多尺度圖像信息;姚紅革等[7]融合不同模態的腦腫瘤磁共振成像,并采用加權損失函數增加對腫瘤區域的學習;MSCR[8]結合分組卷積與LSTM提高了小腫瘤的檢測能力;Zhang等[9]在特征提取階段將Faster R-CNN[10]中VGG部分的第二層與第四層卷積進行融合提高了檢測乳腺結節的精度;文獻[11]分別對損失函數、IOU算法等進行改進,提升模型對小目標的檢測能力。此外,還可以通過放大特征圖[12],以及使用圖神經網絡[13]匯總提出的語義關系網絡和空間關系網絡的輸出,進一步改善特征表示,提高模型檢測小目標的能力。
在小樣本方面,通常有兩種解決方法:多種機器學習算法結合、數據增強。(1)使用不同的機器學習算法解決小樣本量方面,文獻[14]提出了一種基于SVM的檢測器,使用線性核函數和交叉驗證取得更穩定的結果。文獻[15]提出了選擇性回歸神經網絡(recurrent neural network,RNN)的輔助診斷方法,具有自動系統、半自動系統和混合系統三種。該方法的特征學習過程可以根據學習到的特征自動地為每個結節設置參數。但這種方法的弊端在于僅在相對較小的數據集上或特定類型數據集上表現良好,不能滿足復雜多樣的真實情況。(2)數據增強方面,孫雨琛等[16]使用數據增廣和Dropout,解決了因數據不足產生的過擬合問題,實現了對糖尿病視網膜病變的檢測。此外通過對抗神經網絡構造出更多的異常樣本[17],也是解決數據量不足的有效方法。
針對小目標和小樣本問題的研究仍存在模型復雜、計算成本高、精度不夠和檢測結果只針對特定目標等問題。雖然原始Faster R-CNN在自然圖像數據集上檢測效果明顯,但由于醫學圖像存在同體態圖像相似度高、病灶部分占比小、且病灶組織與背景組織易混淆等問題,導致原始Faster R-CNN檢測效果不佳。為此,本文基于Faster R-CNN提出基于ConA-FPN的肝部腫瘤檢測算法。主要貢獻包括:(1)本文使用融合了ResNet與注意力機制的特征金字塔結構替換Faster R-CNN的特征提取網絡,通過引入殘差結構與注意力機制,在避免梯度消失的同時增加了模型對小腫瘤的特征提取能力。(2)提出ConA-FPN模型,通過融合特征金字塔輸出的低層特征圖,并與高層特征圖進行加權,解決了特征金字塔高層模塊存在的通道信息丟失問題。同時使用注意力機制降低了多次特征融合產生的特征冗余問題,進一步提升模型特征提取能力。(3)本文使用在ImageNet[18]上預訓練的網絡進行遷移學習,并且選擇了適當的數據增強方法,解決了醫學圖像樣本量少的問題。
本文提出ConA-FPN肝臟腫瘤檢測算法,該算法以Faster R-CNN為基礎,使用ResNet[19]作為特征提取網絡,融合FPN多尺度特征提高小目標肝臟腫瘤的檢測能力,利用SENet[20]提高模型的特征描述能力。同時,針對FPN高層模塊通道信息損失和特征混疊的問題,構建了一種包含特征融合與注意力機制的ConA-FPN模型。
Faster R-CNN主要由特征提取模塊、區域提議網絡(RPN)和檢測器三部分組成[21]。如圖1所示,算法執行過程為:任意尺度輸入圖像經過縮放后傳入特征提取網絡,RPN將從特征圖篩選的候選區域與特征圖傳入ROI Pooling和全連接層,經過分類和回歸得到最終結果。

圖1 Faster R-CNN模型Fig.1 Faster R-CNN model
Faster R-CNN采用端到端的方式進行訓練,訓練所用的損失函數為:

其中,i為anchor的索引;pi為anchor包含目標的概率;ti表示預測框的坐標,為真實框的坐標。當anchor中含有目標時,pi為1;反之pi為0。{pi}和{ti}分別表示分類和回歸的輸出,使用Ncls和Nreg以及參數λ進行歸一化。表示只有包含目標的anchor才有損失。λ為平衡分類損失與回歸損失的權重參數。
公式(1)由分類損失和回歸損失兩部分組成,其中分類損失為:

回歸損失為:

其中,smoothL1(x)的表達式為:

Faster R-CNN中特征提取網絡僅學習到數據的空間關系,忽略了通道信息,特征提取能力有限。為提高肝臟腫瘤檢測網絡的特征提取能力,本文提出ResNet與SENet結合的SEFaster R-CNN結構。
SENet主要由擠壓(squeeze)和激勵(excitation)兩部分組成,如圖2所示。圖2中,輸入特征圖通道數為C,每個通道上的特征圖尺寸為H×W,在每個通道上進行全局平均池化,通道權重Z的計算公式如式(5)所示:

圖2 SENet網絡Fig.2 SENet network

其中,Z是長度為C的一維數組,表示壓縮階段生成的權重。(i,j)表示在大小為H×W特征圖上的像素點坐標。
然后使用激活函數對各通道上權重進行建模,如式(6)所示:

其中,Sc為生成的注意力權重,維度為1×1×C,注意力權重需要經過全連接層和激活函數得到。W1的維度為C/r×C,W2的維度為C×C/r,r為縮放系數。
最后對各通道上的權重進行加權,如式(7):

其中,?表示逐元素相乘,X?表示通過注意力機制后的輸出結果。
SENet對通道間依賴關系進行顯式建模,利用反向傳播學習每個通道的權重系數(這些系數反映各通道信息的重要程度)。學習的權重系數備用來更新特征圖的權重參數,以抑制無效特征并增強有效特征。提升了模型對特征信息的提取能力,從而提升了整個模型的性能。
由于最后一層特征圖包含豐富的語義信息,SEFaster R-CNN對大目標檢測效果很好,但由于肝臟腫瘤屬小目標,在經過多次卷積和池化操作后,小目標信息嚴重丟失,導致對小目標檢測能力不強。
傳統Faster R-CNN使用不同尺寸的錨框檢測不同大小的物體,在目標較小的情況下有一定的局限性[22]。為進一步提升模型對微小腫瘤的檢測能力,本文將特征金字塔(feature pyramid network,FPN)與特征提取網絡結合。FPN通過引入自下而上的路徑、自頂向下的路徑和橫向連接的方式將高層和低層的語義特征和位置信息結合起來,顯著提高模型的小目標檢測能力,FPN如圖3所示。

圖3 FPN網絡Fig.3 FPN network
自下而上的路徑即為卷積神經網絡的前向計算過程,本文使用ResNet作為主干網絡。通過每次卷積得到各層的特征,記為{C2,C3,C4,C5},C5通過1×1卷積傳入自頂向下的路徑。自頂向下的路徑是通過上采樣的方式將小特征圖放大到與上一層特征圖相同尺寸,實現了同時利用底層的位置信息和高層的語義信息的作用;橫向連接類似殘差結構中的跳躍連接,將位置信息與語義信息融合,由于P5在上采樣后的分辨率與C4一致,這兩個特征圖可以直接相加,得到P4;最后通過3×3卷積輸出每層橫向連接后的特征圖,完成多尺度輸出任務。
如圖3所示,C5輸出的特征圖包含最豐富的語義信息。但經過1×1卷積之后,通道數從2 048下降到256,損失了大量空間信息,導致模型的特征提取能力下降,進而影響分類與識別的精度。另外,雖然FPN可以通過特征融合緩解多次池化后小目標信息丟失的問題,但P5僅通過C5得到,缺少低層級語義信息,存在小目標信息丟失的問題,在臨床中易造成誤檢與漏檢。另外,雖然跨尺度特征融合和跳躍連接實現了不同層級特征的充分利用,但是由于跨尺度特征的語義差異會使融合特征混疊,導致定位和識別的精度降低。
為解決上述問題,本文提出一種改進的FPN模型ConA-FPN(concat attention FPN)。如圖4所示,主要對FPN進行三方面修改:(1)將每個1×1卷積之后的特征圖相加,整合為一張融合高層和低層信息的特征圖。(2)使用CAG注意力機制[23]對融合后的特征圖進行處理,使模型只關注融合特征圖中的重要部分。注意力機制是解決特征混疊的直觀方法,CAG注意力機制如圖5所示,首先使用全局平均池化和全局最大池化分別對兩個不同空間的上下文信息進行融合,然后分別傳入全連接層,通過逐像素求和與sigmoid得到注意力特征圖,CAG注意力機制執行過程如式(8)所示:

圖4 ConA-FPN網絡Fig.4 ConA-FPN network

圖5 CAG注意力機制Fig.5 CAG attention mechanism
CA(x)=σ(fc1(AvgPool(x))+fc2(MaxPool(x)))(8)其中,CA(x)為注意力函數,σ為sigmoid函數,fc1、fc2為全連接層。(3)將CAG輸出的注意力特征圖與P5輸出的特征圖相加,得到最終輸出結果。
這樣做的目的和好處是:(1)更好地提取上下文信息,減少因通道縮減引起的信息丟失。(2)在FPN中,特征融合得到的低層特征包含了豐富的上下文信息,而高層語義特征如P5只包含單一尺度信息。P5層生成的特征圖與CAG注意力生成的特征圖融合,不僅可以解決P5層特征圖通道信息丟失的問題,而且使P5層特征圖包含了低層語義信息,解決了低層信息缺失的問題。(3)引入的CAG注意力機制通過整合不同方向上的語義信息,對融合特征圖的權重進行重新建模,解決了特征融合帶來的特征混疊問題,進一步提升了模型的特征提取能力,提高了模型的檢測能力。
圖6繪出了本文模型流程,主要分為預處理和數據增強、遷移學習、網絡訓練、測試分析四部分。首先,對數據集樣本進行預處理,使用直方圖均衡化提升圖像的清晰度,使用水平翻轉、垂直翻轉、旋轉等數據增強方法對數據集進行擴充,提高網絡的泛化能力。其次,使用遷移學習,利用自然圖像預訓練檢測網絡。然后,利用遷移后的模型訓練肝臟腫瘤圖像優化網絡參數,對預測結果分別進行分類損失和回歸損失的計算。直至損失收斂,輸出測試結果并進行下一步分析。

圖6 本文模型的流程圖Fig.6 Model flow chart of this paper
本文模型是基于Faster R-CNN改進的,結構如圖7所示,模型具有如下特點:(1)使用結合ResNet與SENet的特征金字塔結構替代Faster R-CNN中的特征提取網絡。(2)使用ConA-FPN結構進一步提高模型的特征提取能力,解決特征金字塔結構存在的問題,進而提高模型對小目標肝臟腫瘤的檢測能力。(3)使用遷移學習加快模型訓練速度和收斂時間,使用數據增強方法對小樣本數據集進行擴增。

圖7 本文模型的網絡結構Fig.7 Network structure of model in this paper
本文實驗環境為CentOs,NVIDIA Tesla V100,軟件采用Python3.6.8、Tensorflow1.14.0;使用Relu激活函數,學習率0.001,優化算法為動量法,動量超參數為0.9;采用近似聯合訓練方式。
本文使用LITS2017[24]和3D-IRCADB[25]數據集。LITS2017是MICCAI肝臟分割和肝腫瘤檢測挑戰賽的公開數據集,共有131個訓練數據和70個測試數據。3D-IRCADB包含10個男性和10個女性的靜脈期數據,其中三分之二的數據包含肝腫瘤。
為避免圖像噪聲和格式轉換的失真影響模型學習效果,需進行圖像預處理。預處理過程如下:
第一步,整理患者的CT切片及其對應的腫瘤分割標記。
第二步,使用labelImg標注整理好的CT圖像切片,并生成Pascal VOC2007[26]格式的xml文件。本文共整理2 842張包含腫瘤的CT切片,每張切片包含若干個腫瘤位置,腫瘤的大小、形狀均不相同。
第三步,按8∶2的比例將數據集劃分為訓練集和測試集,得到2 273張訓練圖像和569張測試圖像。
由圖8可以看出,圖像預處理后的局部細節比原圖更加清晰。

圖8 原始圖像與預處理圖像Fig.8 Original image and preprocessed image
與自然圖像相比,醫學圖像的數據集普遍較小,需要借助數據增強擴充數據集,以提高模型泛化能力。本文使用對數據集的樣本進行左右翻轉、垂直翻轉、旋轉等操作進行數據增強,并將增強后的圖像作為訓練數據。
左右翻轉和垂直翻轉的表達式如下:

其中,P為圖像中標注位置,P'為翻轉后對應標注位置。xmin、xmax為P中左上角和右下角的橫坐標,為翻轉后P'位置左上角和右下角的坐標。ymin、ymax為P中左上角和右下角的縱坐標,為翻轉后P'位置左上角和右下角的縱坐標,w、h為圖像的寬和高。r代表原點距離P點的距離,α代表原點O與P點組成的直線OP與x軸的夾角。
為探究數據增強的有效性,本文在相同訓練環境下,使用垂直翻轉、水平翻轉、旋轉和將三種方法進行結合的增強方法進行對比,結果見表1。
由表1的前三組結果可以看出,水平翻轉方式可以較大程度地提升模型的檢測能力。第四組實驗說明,綜合多種增強方式,可以進一步提升模型的檢測性能。從實驗結果來看,數據增強作為對數據擴增的方法之一,可以有效提高模型在小樣本集下的檢測能力和泛化能力。

表1 數據增強對比實驗Table 1 Data augmentation comparison experiment
目標檢測的評價指標有AP(average precision,平均精度)、mAP(mean average precision,平均精度均值)。它們是根據準確率(precision)和召回率(recall)計算的。假設TP(true positive)表示正樣本中預測為正類的個數,FN(false negative)表示負樣本中預測為負類的個數,FP(false positive)表示正樣本被預測為負的個數。通常來說精確率和召回率是一組相對的指標,所以要通過F1值來衡量一組最合適的精確率和召回率的值。IOU通過取預測框與真實標注的交集與并集的比值,反映了預測結果與真實結果的重合度。
各評價指標的計算方法如下所示,k為類別數。S1為預測框的面積,S2為真實框的面積。

特征提取網絡的性能直接影響模型檢測和分類的準確率。為了比較不同特征提取網絡對檢測結果的影響,本實驗使用三種醫學圖像檢測方法常用的網絡(ResNet50、ResNet101、MobileNet[27])對肝臟腫瘤區域進行特征提取,三種網絡均在ImageNet上進行預訓練。將平均精度均值(mAP)作為評價指標,對比結果如表2所示。
由表2可得,三種特征提取網絡中,ResNet101表現出良好的性能,其mAP為0.874,比ResNet50高出0.026,比MobileNet高出0.092。這說明,隨著特征提取網絡的加深,模型可以更好地擬合目標函數。ResNet網絡在保證深度的同時避免梯度彌散和梯度爆炸,模型的學習能力得到顯著增強,可以提取到更加全面的特征信息,提高模型檢測能力。因此,本文選擇ResNet101作為特征提取網絡。

表2 不同特征提取網絡的檢測性能對比Table 2 Comparison of detection performance of different feature extraction networks
對于Faster R-CNN+FPN結構,最終的檢測結果與FPN階段融合的層數有關。本實驗的目的是在特征提取網絡、數據樣本和數據增強方法相同的情況下,探究模型的檢測能力是否隨FPN結構層數的增加而增加,結果見表3。

表3 不同特征金字塔層數的檢測性能對比Table 3 Comparison of detection performance of different feature pyramid layers
由表3可以看出,當FPN層數為4層時,網絡性能達到最佳。因為P6特征圖是由P5特征圖經過下采樣得到的,分辨率進一步降低,小目標信息過多丟失,導致檢測結果降低。同時P5層特征圖相對于P4層和更底層的特征圖包含更強的語義信息,在保證降低模型誤檢率的情況下,提高了檢測的精確率。
本文將注意力模塊嵌入特征提取網絡,起到抑制無效特征和增強有效特征的目的,提高了特征提取網絡的性能。本實驗選取了三種注意力機制,分別為SENet、Coordinate Attention(CA)[28]、Soft-Attention[29]。旨在探究其他訓練環境相同的情況下,不同注意力模塊對模型檢測能力的影響。
由表4可得,SENet具有更高的檢測精度,雖然CA注意力融合了空間與通道的信息,但最終取得的效果與SENet相差不多。另外,與SENet相比,CA注意力模塊引入額外參數增加了模型的訓練時間。綜合間成本和計算成本,本文選用SENet與特征提取網絡進行融合。

表4 不同注意力模塊的檢測性能對比Table 4 Comparison of detection performance of different attention modules
本部分設置了五組對比實驗,分別將CAG注意力機制應用在不同的P層上,旨在研究模型的檢測能力與增加CAG注意力數量的相關性,結果見表5。

表5 不同CAG特征圖添加位置的檢測性能對比Table 5 Comparison of detection performance of different CAG feature map addition locations
通過表中數據可以看到,僅將P5特征圖與CAG注意力特征圖相加得到的結果最佳。
通過FPN結構可知,P5的輸出沒有經過特征融合,并且經過1×1卷積后,通道數從2 048下降到256。所以P5的特征圖與CAG注意力圖相加之后,既能獲取低層信息,又能增強FPN的特征提取能力,彌補通道信息損失。通過CAG注意力機制,降低了特征混疊帶來的負面影響。
由實驗可以看出,冗余特征產生的特征混疊效應仍然對提取精度存在影響,使用注意力機制也會產生額外的計算開銷,所以本文最終將CAG注意力圖與P5層級特征圖相加。
為了進一步考察本文模型的檢測能力,本實驗比較Faster R-CNN、YOLOv4[30]、YOLOv5等方法與本文模型的性能,實驗結果見表5。
由表6可得:本文模型能夠有效提升腫瘤檢測能力,mAP達到87.4%;Faster R-CNN中加入FPN,較大程度提升了檢測模型的性能,其根本原因在于通過引入FPN使更多小目標腫瘤被識別出來;從第五組實驗通過引入SENet注意力機制提升了模型的特征提取能力,進而提高了精度,但與本文提出的方法相比,仍然存在著特征混疊以及FPN高層信息損失的問題。同時由圖9可得:本文模型不僅提高了mAP,而且相較于其他方法,本文模型在檢測的精確率和召回率兩部分都具有一定的優勢。

表6 不同檢測模型的檢測性能對比Table 6 Comparison of detection performance of different detection models

圖9 不同方法的PR曲線Fig.9 PR curve of different methods
從檢測速度來看,因為RCNN系列屬于兩階段模型,即先生成感興趣區域,再對感興趣區域進行分類和回歸得到最終檢測結果。而YOLO系列屬于單階段模型,即一次完成目標的分類和定位,理論上說RCNN系列模型在速度上有一定的劣勢。從實驗結果來看,本文模型雖然略慢于YOLO系列模型,但在訓練和檢測上依然滿足了實時性要求。與同類型的RCNN系列模型相比,本文模型也可以保持較快的推理速度。鑒于使用場景的特殊性,要求模型有更高的精度,所以本文模型更符合實際需要。
圖10為本文模型對比其他模型檢測結果的可視化展示,其中分別包含3D-IRCADB數據集和LITS數據集中的圖像,每張圖像上包含若干個腫瘤位置。紅色框為真實標注結果、綠色框為Faster R-CNN檢測結果、紫色框為YOLOv4檢測結果、藍色框為YOLOv5檢測結果、黃色框為本文模型檢測結果。

圖10 檢測結果可視化Fig.10 Visualizing results
由圖10可以看出,本文模型不僅可以精確檢測一般的肝腫瘤,對小腫瘤同樣表現出良好的檢測效果,且檢測效果優于其他主流檢測模型。
本文提出的ConA-FPN網絡融合了特征金字塔的各層特征圖,解決了特征金字塔高層模塊的通道信息丟失問題。針對肝臟腫瘤目標較小不易檢測的問題,使用結合ResNet和注意力機制的特征金字塔結構,在避免梯度消失的同時增加了模型對小腫瘤的檢測能力。針對樣本量少的問題,使用遷移學習和數據增強方法,從模型和數據兩方面分別加強了模型對小樣本數據集的檢測能力和泛化能力。