?

用于煙霧病檢測的Faster RCNN改進算法

2022-12-13 05:44徐佳薇顧宇翔
數據采集與處理 2022年6期
關鍵詞:煙霧樣本動脈

徐佳薇,武 杰,雷 宇,顧宇翔

(1.上海理工大學健康科學與工程學院,上海 200093;2.復旦大學附屬華山醫院神經外科,上海 200040)

引 言

腦血管病的危害性極高,對我國國民健康造成了巨大威脅,具有高致殘率和高致死率的特點[1],其中煙霧?。∕oyamoya disease,MMD)是一種原因不明、以雙側頸內動脈末端、大腦中動脈和大腦前動脈起始部慢性進行性狹窄或閉塞為特征,并繼發引起顱底異常血管網形成的較為罕見的腦血管疾病。其臨床表現為腦卒中(包括腦缺血和腦出血兩種類型[2]),一旦發生腦血管意外會使患者的生命受到嚴重威脅,并導致較高的致殘率。目前,數字減影血管造影(Digital subtraction angiography,DSA)是診斷煙霧病的金標準[3],其原理是將造影劑注入患者血管,血管在X射線照射下顯影,將注入造影劑前后的兩幀圖像作減影處理即可得到純血管影像。DSA圖像可以反映出血液在血管內的流動軌跡,血管的形態及結構清晰可見。煙霧病患者的頸內動脈DSA圖像表現為,在大腦前、中動脈分支處存在異常的狹窄或閉塞,使顱底血管發生代償,出現不同程度的煙霧狀細小血管網[4]。在傳統的煙霧病診斷流程中,主要依靠臨床醫生閱片,并根據經驗獨立作出診斷,但是培養一名成熟的臨床醫生需要大量的時間成本,無法匹配日益增長的診斷需求。而且,如何能夠較為精確地針對DSA圖像進行煙霧病的精確分級與腦卒中是否發生的預測還是臨床工作中的難點與痛點,同時也是目前研究的熱點。

近年來,以深度學習為代表的人工智能技術迎來了研究與應用的高潮,也為煙霧病疾病轉歸預測提供了新的途徑與思路。Tackeun等[5]采用深度學習對普通頭顱X線圖像中的煙霧病進行識別,準確率為84.1%;Akiyama等[6]使用改進的VGG16網絡對煙霧病患者、動脈粥樣硬化患者和正常人磁共振圖像的基底池、基底節和半卵圓中心進行區分,準確率分別為92.8%、84.8%和87.8%。但實現煙霧病預后的智能化預測,首先要做到通過深度學習的人工智能技術對煙霧病DSA圖像有較為精準的診斷,這是以后精準判斷預后的基礎與必要步驟。

與傳統機器學習方法相比,卷積神經網絡(Convolutional neural network,CNN)具有更強大的特征學習和特征表達能力[7]。許多CNN模型都在計算機視覺領域的識別任務上取得了令人滿意的效果。其中,Faster RCNN網絡[8]已經廣泛應用于醫學圖像檢測領域[9?12],且檢測精度較高,具有良好的檢測性能。

煙霧病影像表現為大腦前、中動脈存在一定程度的狹窄、閉塞,頸內動脈末端毛細血管增多,出現異常的煙霧狀血管網。由于血管特征較小,原始的Faster RCNN采用VGG16作為特征提取模塊不易捕捉細小的血管特征,且使用ROI Pooling進行特征映射難以保留小血管的完整度。因此,本文在原有的Faster RCNN網絡上做了改進,選取ResNet101[13]作為特征提取網絡,獲得豐富的血管特征,使用區域生成網絡(Region proposal network,RPN)定位病灶位置,并且將原本的ROI Pooling層替換為ROI Align層,降低目標誤差,實現煙霧病的自動檢測,有效提高了檢測精度。

1 實驗方法與材料

1.1 改進的Faster RCNN網絡

改進的Faster RCNN網絡結構分為特征提取模塊、RPN和分類回歸模塊3個部分。輸入圖像經過特征提取模塊提取血管特征,得到特征圖,然后進入RPN,根據目標框與人工標定標記框的交并比(In?tersection over union,IOU)篩選正負樣本進行回歸訓練,得到建議區域,并和特征圖一起輸入分類回歸模塊,ROI Align將特征圖的建議區域轉化為固定尺寸的特征圖,輸入分類、回歸分支,得到最終的檢測結果。改進的Faster RCNN架構如圖1所示。

圖1 改進的Faster RCNN架構Fig.1 Improved Faster RCNN architecture

1.1.1 ResNet101特征提取模塊

對于煙霧病檢測任務來說,主要檢測對象為腦血管,其經過VGG16網絡的池化操作后容易丟失細微的特征信息,且VGG16網絡參數量大,需要的存儲空間大,部署難度大。為了更好地提取復雜血管的特征信息,本文使用ResNet101網絡替代原始模型所用的VGG16網絡作為Faster RCNN的基礎骨架。ResNet101網絡采用跳躍連接方式,利用恒等映射不斷學習新的特征,大大提升了模型學習特征的性能。ResNet101網絡在ResNet50網絡的基礎上加深了第4層卷積層,能夠在深層的特征圖中獲得豐富的圖像特征,避免血管特征在卷積和池化過程中產生模糊或丟失,并且模塊的參數量也適中,能夠降低小樣本數據集可能出現的過擬合風險。本文采用pre?training+fine?tune訓練策略,載入了在公開的分類數據集ImageNet下預訓練好的參數模型,能夠提高模型的初始性能,在此基礎上對模型進行訓練,可以有效提取特征信息,并且能夠共享網絡權重,減少需要學習的自由變量的個數和訓練網絡所需的時間。在煙霧病數據集上微調參數,提升了模型的收斂速度,增加了模型的泛化能力和魯棒性,更適合部署于算力一般的平臺,更加適用于臨床的應用。

1.1.2 區域生成網絡

區域生成網絡RPN是Faster RCNN模型的核心模塊,主要作用是生成建議區域。它采用3×3的滑動窗口遍歷特征圖,來生成候選區域,取滑動窗口中心點為錨點,以128、256、512為尺度,1∶1、1∶2、2∶1為尺度比,每個錨點共得到9個錨框。通過卷積層后,再由Softmax對錨框進行分類,9個錨框進行二分類,將其分為目標類和背景類,卷積核通道數為9×2。同時計算對于錨框的邊框回歸偏移量,修正錨框,卷積核通道數為9×4,納入9個錨框及各自的4個坐標位置參數,最后獲得較為精確的建議區域。RPN的輸出層共有(4+2)×9維通道,較其他網絡維數更少,大大降低了參數的數量,更適合用于小樣本數據的檢測。

由于煙霧病檢測不存在多目標重疊情況,因此選取非極大值抑制(Non?maximum suppression,NMS)去除冗余的錨框,提高檢測速度。對于RPN生成的錨框,將置信度分數最大的目標框作為基準框,若目標框與其IOU大于0.7,則將該目標框的置信度置為零,即去除該目標框。

當剩余的目標框與人工標定的標記框的IOU大于0.7時,認為該框為正樣本,當IOU小于0.3時,則認為其為負樣本,當IOU位于0.3~0.7之間時,不納入損失函數中計算。RPN網絡中的損失函數定義為

式中:i表示第i個錨框,pi表示錨框是目標框的概率,ti為錨框的位置坐標,pi*為目標框的判斷值(正樣本為1,負樣本為0),ti*為候選區域框的位置坐標,Ncls和Nreg為規范化參數。

分類損失Lcls和回歸損失Lreg可分別定義為

R為穩健損失函數

錨框的坐標計算如下

式中:x、y、w和h分別為候選區域框的中心坐標、寬度和高度;xa、ya、wa和ha為錨框的坐標及寬度和高度;x*、y*、w*和h*為目標框的坐標及寬度和高度。

1.1.3 ROI Align特征映射

ROIPooling可以從候選框中截取ROI特征,映射到特征圖的相應位置,對映射后的區域進行劃分,得到相同大小的區域特征圖,經過最大池化(Max pooling)操作后輸出,保證了大小不同的候選區域輸出結果都是固定大小。這樣處理的好處是能夠共享權重,使全連接層能夠利用預訓練的參數,減少訓練模型的時間。但是候選區域框的坐標通常是浮點數,ROIPooling在映射過程中直接將其做最近鄰插值操作,會產生量化偏差,尤其血管的特征比較細微,

如果產生嚴重的偏差,就會造成重要特征消失。為了解決這個問題,在本實驗中采用ROI Align來代替ROI Pooling。ROI Align首次在Mask RCNN[14]中被提出,它可以避免候選區域邊界在映射過程中被量化。將每個候選區域分為4個子區域,取各中心點為采樣點,通過雙線性插值計算得到4個采樣點的像素值大小,再采用最大池化,取4個像素值的最大值作為該區域的像素值,依次得到最終的特征圖。雖然ROI Align的取樣點比ROI Pooling更少,但是性能卻優于ROI Pooling。如圖2所示為ROI Pool?ing和ROI Align的映射過程對比。

圖2 ROIPooling和ROIAlign的映射過程對比Fig.2 Comparison of mapping process between ROIPooling and ROIAlign

1.1.4 分類回歸模塊

分類回歸部分利用已經獲得的區域特征圖,通過全連接層后,用Softmax計算每個建議區域的所屬類別,輸出概率向量;并且再次進行邊框回歸獲得每個建議區域的位置偏移量,用于回歸獲得更加精確的目標檢測框[15]。

1.2 數據采集與標注

本實驗所采用的數據來自復旦大學附屬華山醫院,共收到2017年8月至2020年12月間的433例煙霧病病例和75例正常腦血管病病例的DSA數據。選取動脈期的DSA序列,此時造影劑流經動脈供血干,煙霧病病灶顯影清晰,從中提取出長寬都為512個像素的頸內動脈正位圖像,并存儲為JPG格式??紤]到血管造影技術存在一定的放射性,會對人體產生傷害,因此本實驗不將正常人樣本納入其中,而是選取其他腦血管病病例的正常一側圖像作為正常樣本。由于存在極小部分顯影不清和偽影過強的圖像,因此經過篩選將其去除,保留正常情況下伴有偽影及血管顯影較淡的DSA圖像,來提高模型在實際應用中的魯棒性。為了防止正常樣本數量偏少產生而過擬合,對原始圖像進行隨機調節亮暗、水平翻轉處理及截取原始圖像的一部分,以保證樣本的多樣性。同時保證樣本數量均衡,確保模型的有效性,共得到煙霧病樣本319張,正常樣本316張,以6∶2∶2的比例劃分為訓練集、驗證集和測試集。

在目標檢測任務中,需要對ROI進行標注,根據其輪廓勾畫出標注框。采用LabelImg軟件對DSA圖像頸內動脈末端大腦前、中動脈分支處進行標注。正常樣本的頸內動脈及大腦前、中動脈血管壁平滑,血管結構完整,呈現“T”形的分叉,見圖3(a)。煙霧病樣本的頸內動脈及大腦前、中動脈存在一定程度的狹窄或閉塞,并導致血管代償出現異常的煙霧狀血管網,見圖3(b)。分別對兩類樣本標注為“Normal”和“MMD”。該軟件會自動生成圖像的名稱、圖像存儲路徑、目標框的類別名稱、目標框坐標和長寬等信息并存儲為.xml文件。將數據制作為PASCAL VOC 2007格式的數據集。

圖3 樣本標記示意圖Fig.3 Schematic diagrams of marking

1.3 運行環境

本實驗使用Intel(R)Xeon(R)CPU E5?2640 v4@2.40 GHz處理器,內存為128 GB,NIVDIA Tes?la V 100顯卡,顯存為16 GB,在Linux操作系統、anaconda3.7、cuda10.0、python3.6環境下,基于Pytorch深度學習框架實現。

1.4 評價指標

在實際的臨床應用中,檢測的精度與速度缺一不可。本文將平均精度(Average precision,AP)作為煙霧病樣本和正常樣本檢測的評價指標。AP的計算需要同時考量精確率(Precision)以及召回率(Recall),精確率定義為識別正確的物體數占總識別數量的比例,召回率定義為識別正確的物體數占樣本總體數量的比例[16]。只有使精確率和召回率同時處在一個較高的水平,才能得到較好的檢測效果,由P?R(Precision?recall)曲線下的面積求出AP的值,計算式為

式中:rn和r n+1分別表示第n和第n+1個Recall值,p為第n和n+1個Recall值區間內的Precision值。假設N個樣本中有M個正樣本,則得到M個Recall值和Precision值。

對于每個Recall區間,取該區間內最大的Precision值,并與區間長度(兩個Recall值之差)相乘作為該區間的AP值,直到遍歷所有區間,將每段AP值相加得到最后的AP值。AP值越接近1,檢測效果越好,再對兩種類別的平均精度取均值得到平均精度均值mAP(Mean average precision,mAP),作為模型的整體性能評價指標。

2 實驗結果

2.1 標注區域大小選擇

不同的標注區域所包含的特征信息不同,因此不同大小的標注區域會對實驗結果產生不同影響。為了確定可以達到最佳模型效果的標注區域大小,對比了縮小標注區域1.5倍、本文所選標注區域與擴大標注區域1.5倍的實驗結果,如表1所示。

由表1可見,當縮小標注區域1.5倍時,模型的mAP為86.37%,檢測精度降低;擴大標注區域1.5倍時,模型的mAP較原先有明顯的差距,僅為81.89%,下降了12.42%。這說明過小或過大的標注區域都會影響模型性能,只有選擇合適的標注區域才能提升模型的檢測性能。因此本文選擇標注區域正好位于頸內動脈末端大腦前、中動脈分支處,此時模型能夠學習到的血管特征最有效,煙霧病樣本較正常樣本標注區域稍大,可以更好地獲取細小血管的特征信息。這可以避免標注區域過小使模型得不到足夠的特征信息來學習,也可以防止標注區域過大,使頸內動脈的其他血管特征信息對檢測造成干擾,使模型學習到大量無關特征,從而影響模型整體的檢測性能。

表1 改變標注區域大小前后模型評價指標對比Table 1 Compar ison of model evaluation indexes be?fore and after changing size of marked area

2.2 訓練參數選擇

為了提高模型的檢測精度,需要調整網絡超參數。針對ResNet101+Align組合設置超參數。權重衰減速率為0.000 5,學習率(Learning rate,LR)衰減速率為0.1,動量為0.9,迭代次數為10 000次。對模型的批大小進行調整來減少所需的訓練時間,對模型的初始學習率進行調整使損失函數收斂效果更好,進一步提高精度。初始學習率為0.001時,批大小調整結果如表2所示。

由表2可知,當批大小為2時,檢測效果最好,mAP為91.18%,與批大小為1時的結果較為接近,且所需時間較少。是當批大小繼續增大反而造成精度下降的原因在于本次實驗所采用的數據集規模較小,過大的批大小使收斂速度加快,有可能陷入局部最優而無法提升整體精度。因此在批大小為2的條件下,繼續對初始學習率進行調整。

表2 初始學習率為0.001時,調整批大小測試結果Table 2 Test results of adjusting the batch size when initial learning rate is 0.001

批大小為2時,初始學習率調整結果如表3所示。圖4為模型在不同初始學習率下的損失函數值,觀察縱坐標可以確認模型的收斂性。

由表3可知,當初始學習率為0.005時,mAP最高,為94.31%。且根據圖4的損失函數變化曲線來看,學習率為0.001和0.003時,達到收斂時的損失函數值較大。當學習率為0.005時(圖中黃色粗線),損失函數值最小,且相較其他3條曲線,收斂最為平滑,效果最好。學習率為0.007時,損失函數前部下降較快,但最終收斂值較學習率為0.005時更大。經過比較,當學習率為0.005時,模型效果最好。

圖4 不同初始學習率下的損失函數變化曲線Fig.4 Variation curves of loss function under differ?ent initial learning rates

表3 批大小為2時,調整初始學習率測試結果Table 3 Test results of adjusting initial learning rate when batch size is 2

因此,本實驗采用的批大小為2,初始學習率為0.005。

2.3 不同IOU閾值對檢測效果的影響

在RPN中,如果NMS的IOU閾值設得過大就會造成目標框數量冗余,如果IOU閾值過小則容易出現誤檢的問題。因此不同的IOU閾值會影響到最終的檢測效果,對比不同IOU閾值下的檢測精度,選取最優的IOU閾值進行訓練。

根據表4的結果,當IOU閾值為0.7時,模型的mAP最高,為94.31%;IOU閾值為0.9時的模型精度與IOU閾值為0.7時的mAP相差最大,為12.09%,檢測效果差異較大。增大或減小IOU閾值都會使檢測精度下降,說明只有選擇合適的IOU閾值才能使模型檢測效果最好。因此,為了確保模型的訓練效果,本實驗選擇0.7作為IOU閾值。

表4 改變IOU閾值前后模型檢測精度對比Table 4 Comparison of average precision before and after changing IOU threshold

2.4 不同特征提取網絡和特征映射方法組合實驗效果對比

為了驗證網絡的性能,本實驗對ResNet101及VGG16特征提取網絡和ROI Pooling、ROI Align特征映射方法進行組合,測試它們的檢測效果,并且對正常樣本和煙霧病樣本進行測試,得到最終的實驗結果,如表5所示。

表5 4種組合實驗效果對比Table 5 Comparison of experimental r esults of four combinations

實驗結果表明,使用ResNet101+ROI Align組合時,模型的檢測效果最好,mAP為94.31%,其中對于正常樣本的AP達到了99.23%,這是由于正常樣本的特征較為明顯。煙霧病樣本AP較正常樣本AP低的原因是因為煙霧病的血管形態較為多樣,且血管較細,不易區分。但是該方法對于煙霧病樣本的AP在4種方法中也是最好的,這是由于殘差網絡使用了跳躍連接的殘差塊,使特征信息易于在各層間流動,同時ROIAlign方法減小了在特征映射過程中產生的誤差。對于ResNet101+ROI Pooling組合,兩種樣本的準確率都和ResNet101+ROIAlign組合相差10個百分點以上,這是因為ResNet101網絡提取細小血管特征能力較好,但是ROIPooling的量化操作對小特征的影響較大,產生了嚴重誤差。當使用VGG16作為特征提取網絡時,使用ROIAlign方法對最終的AP和mAP有小幅提高。在訓練時間上,可以看出采用ResNet101比VGG16訓練速度稍快,因為ResNet101較VGG16的參數更少,所以運算速度有一定的提高,同時采用ROI Pooling比ROI Align更快,這是由于雙線性插值比最近鄰插值計算更為復雜,因此需要更多的計算時間。

2.5 改進Faster RCNN模型識別樣例

改進Faster RCNN模型識別舉例如圖5所示。檢測結果顯示,該模型有效檢測出了血管位置,圖(a,b)為正常樣本檢測結果,檢測置信度分別為0.999和1.000,圖(c、d)為煙霧病樣本檢測結果,檢測置信度都為0.998??梢钥闯鲈撃P蜋z測效果良好,對血管結構和位置的檢測較為精準,表明該模型在實際的臨床應用中,進行煙霧病的檢測是可行且有效的。

圖5 改進Faster RCNN模型識別樣例Fig.5 Identification examples of improved Faster RCNN model

2.6 對比實驗

Faster RCNN是一個兩階段模型,為了驗證改進的Faster RCNN模型的檢測性能,將其結果與經典的單階段模型YOLOv3[17]和SSD[18]進行對比,結果如表6所示。單階段模型可以直接使用神經網絡在待檢測圖像中得到候選框的坐標、所含物體的類別及對應的置信度。

表6 改進的Faster RCNN模型與不同檢測模型實驗效果對比Table 6 Comparison of experimental results of im?proved Faster RCNN model with different testing models

由實驗結果可知,YOLOv3和SSD模型雖然可以實現血管的檢測與定位,并且檢測時間較短,但由于該算法直接跳過了生成建議區域的部分,直接將提取到的特征用于檢測,省略了對標定框的回歸,因此其檢測區域存在一定偏差且檢測精度較低。雖然本文模型的單張檢測耗時較長,但其mAP分別比YOLOv3和SSD的mAP高出6.94%和8.70%,檢測精度得到了較大的提升。因此,改進的Faster RCNN可以更加準確有效地檢測煙霧病。

3 結束語

為了實現煙霧病的自動輔助檢測,結合煙霧病DSA圖像血管特點,本文在傳統Faster RCNN模型的基礎上,主要完成了以下幾點工作:

(1)提出了用于煙霧病檢測的Faster RCNN改進模型,采用ResNet101提取小血管特征,RPN定位煙霧病病灶,并且使用ROI Align方法保留小血管特征的完整度,從而實現了煙霧病的自動檢測與定位。

(2)使用數據增強方法擴充現有數據,使其滿足用于深度學習模型訓練的需求,降低過擬合的風險,然后通過對比確定了適用于煙霧病檢測的圖像標注區域大小、模型超參數和IOU閾值。

(3)將不同特征提取網絡和特征映射方法進行組合,并且和其他兩種目標檢測算法進行對比。

實驗結果表明,改進的Faster RCNN模型具有良好的檢測能力,優于對比算法,mAP達到94.31%。該模型可以在復雜的血管圖像中較為精準地診斷出煙霧病,能夠較好地鑒別出煙霧血管及周邊結構的特征,為以后的預測研究提供可靠的基礎,而且本文模型參數量較少,易于在臨床平臺部署,可以提高檢測效率,降低人力成本,具有實際的應用價值。隨著日后樣本數的增多、血管造影技術的升級及模型結構的優化,其檢測精度還有待進一步的提升。

猜你喜歡
煙霧樣本動脈
胰十二指腸上動脈前支假性動脈瘤1例
用樣本估計總體復習點撥
薄如蟬翼輕若煙霧
影視劇“煙霧繚繞”就該取消評優
推動醫改的“直銷樣本”
雙側腋動脈分支及右側肱動脈分支變異一例
咸陽鎖緊煙霧與塵土
隨機微分方程的樣本Lyapunov二次型估計
村企共贏的樣本
單純吻合指動脈在末節斷指再植術中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合