楊昆,原嘉成,高聰,孫宇鋒,路宇飛,常世龍,薛林雁
(1.河北大學(xué) 質(zhì)量技術(shù)監(jiān)督學(xué)院,河北 保定 071002;2.計量儀器與系統(tǒng)國家地方聯(lián)合工程研究中心,河北 保定 071002;3.河北省新能源汽車動力系統(tǒng)輕量化技術(shù)創(chuàng)新中心, 河北 保定 071002;4.河北遠(yuǎn)東通信系統(tǒng)工程有限公司,河北 石家莊 050200)
結(jié)直腸癌(CRC)是一種全球性的高發(fā)性、高死亡率的疾病,在2020年的世界衛(wèi)生組織癌癥報告統(tǒng)計中,結(jié)直腸癌在全世界的發(fā)病率排名第三,死亡率排名第二[1].大部分結(jié)直腸癌由腺瘤性息肉演變而來,這一過程被稱作結(jié)直腸腺瘤-癌序列[2].結(jié)直腸息肉是隆起于結(jié)直腸黏膜表面的腫物,其病理類型包括腺瘤性息肉、增生性息肉和其他息肉[3].臨床上腺瘤是結(jié)直腸癌的癌前狀態(tài),因此,早期檢測并切除腺瘤是預(yù)防結(jié)直腸癌的有效手段.而針對非癌變性的增生性息肉,美國胃腸內(nèi)窺鏡協(xié)會[4]建議保留直腸乙狀結(jié)腸的增生性息肉,無需采樣和內(nèi)窺鏡切除.此外,研究表明對于微小的非腫瘤性病變,內(nèi)鏡下切除或活檢會增加不必要的黏膜損傷和醫(yī)療負(fù)擔(dān)[5].
目前,結(jié)直腸息肉的最佳篩查方法仍然是結(jié)腸鏡檢查,但是通過內(nèi)窺鏡成像預(yù)測息肉的類型仍然不可靠[6],Sharma等[7]通過白光成像預(yù)測息肉類型的準(zhǔn)確率為45%,雖然作為虛擬色素內(nèi)窺鏡之一的窄帶成像(NBI)能夠有效地提高結(jié)直腸病變組織學(xué)診斷的準(zhǔn)確性,但是仍然達(dá)不到病理診斷的標(biāo)準(zhǔn),另一項研究中[8],12名專業(yè)的胃腸病學(xué)專家經(jīng)過培訓(xùn)后進(jìn)行評估,只有3名通過光學(xué)活檢得到了滿意的結(jié)果.息肉體積小,不易識別,且在人工診斷的過程中會受到多種負(fù)面因素的影響,例如醫(yī)生的經(jīng)驗不足、疲勞、診斷時間的限制等,因此在結(jié)直腸病變的臨床診斷中仍然有較高的漏診率和誤診率.
隨著深度學(xué)習(xí)的發(fā)展,人工智能(AI)在輔助診斷醫(yī)學(xué)圖像方面具有很高的潛力[9].在內(nèi)窺鏡圖像下應(yīng)用AI算法,可提高息肉的分類和檢測精度,早期的機(jī)器學(xué)習(xí)方法通過提取息肉的顏色[10]、紋理[11]、形狀[12]、局部二值模式[13]以及它們的組合特征來進(jìn)行目標(biāo)檢測,隨后,由于受到人工神經(jīng)網(wǎng)絡(luò)的啟發(fā),深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)的一個子領(lǐng)域開始興起,不需要人工設(shè)計提取息肉的特征提取器,可以從原始數(shù)據(jù)中自動學(xué)習(xí)獲得特征.例如,Pacal等[14]采用改進(jìn)的YOLO系列網(wǎng)絡(luò)對息肉進(jìn)行目標(biāo)檢測,在公開數(shù)據(jù)集ETIS-Larib[15]中獲得了91.62%的精度.除此之外,已有利用卷積神經(jīng)網(wǎng)絡(luò)(convolutional neutral network,CNN)對息肉進(jìn)行分類的研究,Komeda等[16]利用CNN分類腺瘤和非腺瘤性息肉,10次交叉驗證的準(zhǔn)確率為75.1%.在另一項研究中Byrne等[17]同樣基于CNN模型,以98%的靈敏度(sensitivity)、83%的特異度(specificity)和90%的陽性預(yù)測值(PPV),高精準(zhǔn)的區(qū)分腺瘤和增生性息肉.由于缺少具有息肉類別信息并標(biāo)注的公共數(shù)據(jù)集,以上的研究在息肉的檢測和分類中雖然取得了突破性的進(jìn)展,但是缺少在目標(biāo)檢測的同時對息肉進(jìn)行分類的研究.
本研究構(gòu)建了從河北大學(xué)附屬醫(yī)院和Colonoscopic Dataset[18]采集的腺瘤和增生性息肉的數(shù)據(jù)集,使用了Faster R-CNN[19]結(jié)合了特征金字塔(feature pyramid networks,FPN)[20]作為基礎(chǔ)網(wǎng)絡(luò)架構(gòu),然后分別對主干網(wǎng)絡(luò)的特征提取、目標(biāo)檢測框的回歸和非極大抑制(non-maximum suppression,NMS)進(jìn)行了改進(jìn),使特征圖組間獲取了不同權(quán)重的特征,豐富了特征圖的信息,并且提取目標(biāo)檢測框的每條邊的位置信息,使邊界框回歸更加準(zhǔn)確,再通過改變非極大值抑制的方式,較大程度地保留了相鄰息肉的目標(biāo)檢測框.本文提出的改進(jìn)的Faster R-CNN網(wǎng)絡(luò)有效的提升了2種類別息肉的檢測精度和查全精度,提升了整體模型的檢測性能.
Faster R-CNN是在R-CNN、Fast R-CNN基礎(chǔ)上加以改進(jìn),替換了選擇性搜索(selective search, SS)算法,引入了區(qū)域候選網(wǎng)絡(luò)(region proposal network,RPN).RPN是一個全卷積網(wǎng)絡(luò),具體分為2個分支,一部分是通過SoftMax分類器來判斷錨框(anchors)屬于正樣本或者負(fù)樣本,另一部分利用邊界框回歸(bounding box regression)修正anchors獲得精確的候選區(qū)域(region proposal).原始的Faster R-CNN在特征提取階段運用了VGGNet[21],VGGNet會耗費更多計算資源,并且隨著網(wǎng)絡(luò)深度的增加使得參數(shù)量暴漲,導(dǎo)致更多的內(nèi)存占用,產(chǎn)生梯度消失現(xiàn)象.在ResNet[22]提出之后,更多地研究采用了ResNet作為Faster R-CNN的backbone,并且加入了特征金字塔網(wǎng)絡(luò)FPN,來檢測不同尺度的目標(biāo),使頂層特征通過上采樣與低層的特征進(jìn)行融合,產(chǎn)生了多尺度的特征融合信息,然后分別通過主干網(wǎng)絡(luò)與FPN中提取的原始特征圖和RPN產(chǎn)生的候選區(qū)域后進(jìn)行感興趣區(qū)域池化(ROI Pooling)操作,再通過全連接層進(jìn)行分類和邊界框回歸操作.
圖1顯示了改進(jìn)Faster R-CNN的腺瘤與增生性息肉的檢測與分類的算法框架,本文改進(jìn)的Faster R-CNN網(wǎng)絡(luò)使用了ResNeSt[23]作為主干網(wǎng)絡(luò),實現(xiàn)了跨通道之間的信息交互,使提取到的息肉特征信息更全面.然后利用ResNeSt與FPN來提取特征,并且使用了感興趣區(qū)域?qū)R(ROI Align)替換了原始的ROI Pooling,在ROI Align之后引入邊緣感知特征的邊界定位(side-aware boundary localization,SABL)模塊[24]對預(yù)測邊界框進(jìn)行回歸,傳統(tǒng)的邊界框回歸只是關(guān)注于預(yù)測的中心點和邊界框的尺寸,SABL模塊的回歸更關(guān)注于邊界框的每條邊,使邊界框的每條邊與目標(biāo)邊界對齊,更精準(zhǔn)地檢測息肉的位置信息.并且針對結(jié)腸鏡下較多息肉相鄰的情況,將NMS替換為Soft-NMS[25],通過降低不符合規(guī)定閾值的被檢框的置信度,能較大程度地保留相鄰息肉的目標(biāo)檢測信息.
圖1 對于腺瘤與增生性息肉改進(jìn)的Faster R-CNN算法框架
原始的Faster R-CNN主干網(wǎng)絡(luò)VGGNet逐漸被ResNet替代,從ResNet、ResNeXt[26]到ResNeSt,瓶頸模塊作為卷積神經(jīng)網(wǎng)絡(luò)的基本構(gòu)建模塊進(jìn)行了改進(jìn).ResNet瓶頸模塊中的1×1卷積的作用是對通道先降維再升維,在3×3的卷積核提取特征的過程中以較低維度進(jìn)行卷積運算,減少了計算量,提高了計算效率.ResNeXt模塊采用了分組卷積的思想,將輸入通道劃分為不同組別,增加了路徑數(shù)量,分別對不同的路徑進(jìn)行卷積核的運算,最后將輸出匯總求和.
如圖2中,ResNeSt基本模塊架構(gòu)借鑒了ResNeXt的思想,沿通道維度將輸入分為K個分支,第k個分支記為Cardinalk,然后將每個Cardinal更細(xì)粒度的分為R個分組,第r個子組表示為Splitr,因此原始的輸入特征圖沿著通道維度共分為G=K×R組.利用分割注意力(split-attention)計算每個Split的權(quán)重,再融合后作為每個Cardinal的輸出,然后將輸出的特征圖在通道的維度拼接到一起,最后將ResNeSt模塊的原始輸入特征與其融合作為輸出.
圖2 ResNeSt模塊結(jié)構(gòu)
每個分支中的分割注意力模塊如圖3所示,通過計算每一個分支拆分的特征圖的權(quán)重,然后再進(jìn)行融合.如式(1),第k個分支的組合特征由r個子組按元素求和融合得到.如式(2),融合后的特征可以通過全局平均池化實現(xiàn)聚合通道維度的全局上下文信息.如式(3),然后通過全連接層來自適應(yīng)地計算每一個子組的權(quán)重,對通道權(quán)重向量進(jìn)行修正.如式(4),最后由子組特征圖與子組權(quán)重進(jìn)行加權(quán)組合,由此得到每個分支的加權(quán)融合特征.
圖3 分割注意力模塊結(jié)構(gòu)
(1)
(2)
(3)
(4)
通過ResNeSt的最后一層特征進(jìn)行預(yù)測并不能夠提取到目標(biāo)的多尺度信息,因為低層的特征語義信息較少,高層的特征語義信息較豐富,但是目標(biāo)的位置信息較粗略.因此結(jié)合FPN結(jié)構(gòu)來解決目標(biāo)檢測中多尺度變化問題,如圖1所示,通過將ResNeSt不同層的特征圖進(jìn)行了自上而下(top-down)、橫向連接(later connection)的形式的融合.首先分別建立在ResNeSt的conv2,conv3,conv4和conv5的輸出上,構(gòu)建了{(lán)C2、C3、C4、C5}4個尺度的特征,而4個對應(yīng)融合后的特征是{P2、P3、P4、P5}.自上而下路線采用上采樣(upsampling)進(jìn)行,前一層的特征經(jīng)過1×1的卷積核改變通道數(shù),使前一層的特征能夠與本層特征進(jìn)行信息融合,因此,融合后的卷積層既得到了低層特征較高的分辨率,也具有了較高的語義信息,提高了對腺瘤性和增生性息肉的目標(biāo)檢測的準(zhǔn)確性.
邊界框回歸用于將附近的候選區(qū)域與目標(biāo)對齊,精確的定位需要對邊界框的每條邊都精準(zhǔn)地放置,然而,原始的Faster R-CNN的邊界框回歸方法只關(guān)注于預(yù)測中心以及尺寸,忽視了預(yù)測邊界框的每條邊.尤其在錨(anchor)與目標(biāo)之間存在多種可能的位移時,相較于整體移動框以及修正尺寸,使框的每條邊與目標(biāo)邊界對齊更簡便.因此,本研究使用基于其周圍的上下文信息分別定位的SABL模塊以取代傳統(tǒng)的邊界框回歸.
SABL模塊的整體框架如圖4所示,通過ROI Align得到的特征圖通過邊緣感知特征提取方法來提取具有邊緣感知的特征,將目標(biāo)空間分為多個桶區(qū)域(buckets),確定邊框與buckets的位置關(guān)系,然后使用分桶(bucketing)邊緣定位做初步的粗略估計,根據(jù)每個bucketing的置信度取平均與先前的分類得分相乘,計算得到NMS得分,再通過回歸精細(xì)化偏移量得到準(zhǔn)確的位置信息以及最終的NMS得分.
圖4 SABL模塊內(nèi)部結(jié)構(gòu)
邊緣感知特征提取是通過RPN提取、ROI Align操作的特征圖來提取邊界框的上下左右4個位置的預(yù)測值,預(yù)測左右邊界時將特征沿y軸疊加,預(yù)測上下邊界時將特征沿x軸疊加,首先將特征圖通過2個3×3的卷積層得到特征F,再分別通過2個1×1卷積進(jìn)行自注意力信息提取,得到x、y方向上的特征映射Mx、My,分別將Mx、My作用于F,如式(5),得到x、y軸上的一維特征圖Fx、Fy,經(jīng)過上采樣以及切割后得到Fleft、Fright、Ftop、Fdown.
(5)
得到的4個邊界特征大小是1*7維,7個維度代表7個bucket,采取二分類的方式判斷邊界與bucket之間的位置關(guān)系,并基于bucket的中心回歸邊界的精細(xì)位置,最終通過調(diào)整NMS得分使回歸邊界框能夠擁有高精確的定位、高類別的置信度.
如式(6),通過訓(xùn)練交叉熵?fù)p失函數(shù)(Cross_entropy loss)用于尋找bucket的位置損失Lbucketing.
(6)
其中pk表示真實值,qk表示預(yù)測值.
如式(7),并且用Smooth L1 loss計算bucket和真實邊界框位置的損失Lreg.
(7)
其中x表示為真實值和預(yù)測值的差值.
NMS在目標(biāo)檢測中來提取置信度高的目標(biāo)檢測框,抑制置信度較低的誤檢框,在對腺瘤性和增生性息肉進(jìn)行模型輸出目標(biāo)框時,會在同一目標(biāo)處出現(xiàn)大量重復(fù)的檢測框,NMS針對重疊的候選框,若大于規(guī)定的某一閾值則刪除,低于閾值的將保留,但是如果目標(biāo)周圍出現(xiàn)了大于規(guī)定閾值的同樣類型的目標(biāo)檢測框,NMS也會將其刪除,由于在結(jié)直腸中會出現(xiàn)多個息肉聚集的情況,本研究用Soft-NMS代替NMS,如式(8),當(dāng)出現(xiàn)IoU大于閾值對應(yīng)的檢測框時,置信度分?jǐn)?shù)乘上一個小于1的系數(shù),能夠通過權(quán)重來降低檢測框原有的置信度,重疊區(qū)域的增大會導(dǎo)致置信度更快的衰減.
(8)
其中,M為當(dāng)前得分的最高檢測框,bi為待處理的檢測框,Nt為設(shè)定的閾值,Si設(shè)定為當(dāng)前處理框的預(yù)測分?jǐn)?shù).
本實驗通過構(gòu)建腺瘤與增生性息肉的數(shù)據(jù)集,在Faster R-CNN網(wǎng)絡(luò)下訓(xùn)練數(shù)據(jù)并測試,再對模型進(jìn)行改進(jìn),運用評價指標(biāo)來驗證網(wǎng)絡(luò)模型效果并調(diào)整到最優(yōu).所有網(wǎng)絡(luò)模型均在Ubuntu 18.04系統(tǒng)下,核心配置為Inter Core i7-7800*1以及128 G的DDR4運行內(nèi)存,采用GPU為Nvidia GeForce GTX 2070*1、Pytorch 1.3.1、Cuda 10.2.訓(xùn)練中的參數(shù)設(shè)置:批處理大小(Batchsize)設(shè)置為2,輸入圖片尺寸統(tǒng)一為1 333*800,學(xué)習(xí)率設(shè)置為0.01,權(quán)重衰減設(shè)置為0.000 1,動量設(shè)置為0.9,用隨機(jī)梯度下降法(SGD)優(yōu)化損失函數(shù),共進(jìn)行了20個周期(epoch)的訓(xùn)練.
在目前可公開的數(shù)據(jù)集中,例如CVC-ClinicDB[27]、Kvasir-SEG[28]等,都只收集了息肉的圖片或視頻幀,并沒有注明息肉的類型,Colonoscopic Dataset數(shù)據(jù)集雖然收集并注明了腺瘤性、增生性和鋸齒狀息肉的視頻,但是由于病人樣本數(shù)較少,會造成過擬合的現(xiàn)象.因此,在本研究中,第1部分?jǐn)?shù)據(jù)來源于2019年6月至2020年9月,在河北大學(xué)附屬醫(yī)院進(jìn)行的結(jié)腸鏡檢查的654個病人的圖像和病理報告,并且挑選出其中至少含有一個息肉的圖片,經(jīng)過了結(jié)腸鏡醫(yī)師的證實,同時所有息肉的結(jié)腸鏡圖像均由結(jié)腸鏡醫(yī)師精確標(biāo)注.在收集并標(biāo)注的圖片中,醫(yī)師根據(jù)病理報告證實為腺瘤性息肉的圖像有1 928張,證實為增生性息肉的圖像有234張.第2部分?jǐn)?shù)據(jù)來源于公開數(shù)據(jù)集Colonoscopic Dataset中60個病人的結(jié)腸鏡視頻,將其轉(zhuǎn)化為視頻幀并手動標(biāo)注,其中增生性息肉圖像826張,腺瘤性息肉圖像40張.一共收集了腺瘤性息肉圖像1 968張(64.99%),增生性息肉圖像1 060張(35.01%),按照訓(xùn)練集∶測試集=4∶1的比例將收集的圖像分為2部分:1)訓(xùn)練集:2 426張息肉圖像,其中包括1 582張腺瘤性息肉圖像和844張增生性息肉圖像,通過訓(xùn)練集的圖像擬合模型、調(diào)整參數(shù),達(dá)到最優(yōu)效果.2)測試集:602張圖像,其中包括386張腺瘤性圖像,216張增生性息肉圖像,通過測試集的圖像評估訓(xùn)練模型.
圖像增廣技術(shù)是通過對圖像進(jìn)行旋轉(zhuǎn)、放縮等一系列的處理后,產(chǎn)生了多倍與原圖相似但不相同的圖像.為了擴(kuò)充數(shù)據(jù)集,并且使模型有泛化能力,對訓(xùn)練集的2 426張圖片進(jìn)行了圖像增廣處理.針對數(shù)據(jù)集的圖像,制定了2種類型的增廣方式,第1種:對圖像進(jìn)行了放縮、旋轉(zhuǎn)、錯切等操作,此種方式保留了圖像自身的像素,只改變了圖像中感興趣區(qū)域的位置信息.第2種:對圖像進(jìn)行了銳化、仿射變換等一系列改變像素值的圖像增強方式.采取的2種不同方式的圖像增廣處理使圖片擴(kuò)充了13倍.
本文采用精確率(Precision,P)、召回率(Recall,R)、平均精度(Average Precision,AP)、平均精度的均值(mean Average Precision,mAP)對腺瘤、增生性息肉檢測和分類的算法進(jìn)行評價,如式(9)~(12).由P、R值得到每個類別的P-R曲線,曲線下的面積則為AP,mAP反映了在所有類別的精度表現(xiàn),在目標(biāo)檢測中通常用mAP作為評估算法精度的最佳指標(biāo).本文通過設(shè)定不同的閾值(IoU)分別對算法的性能進(jìn)行評價.其中IoU表示2個框(A、B)之間的重合度,如式(13)所示.因此mAP0.5和mAP0.75分別表示:當(dāng)設(shè)定IoU為0.5和0.75時mAP的取值.
(9)
(10)
其中,TP、FP和FN分別表示正確地識別出正樣本的數(shù)量、錯誤地識別成正樣本的數(shù)量和錯誤地識別成負(fù)樣本的數(shù)量.
(11)
(12)
(13)
本研究將FPN結(jié)構(gòu)融合到Faster R-CNN的網(wǎng)絡(luò)作為基準(zhǔn)(baseline),并且以ResNet50作為backbone,表1統(tǒng)計了改進(jìn)Faster R-CNN的每個模塊所產(chǎn)生的對mAP、mAR以及IoU取0.5時的mAP值的影響,改變了特征提取的ResNet50,替換為ResNeSt50,提升了平均精度的均值.并且用到了邊緣感知的邊界定位(SABL)改變了邊框回歸的原始方法,無論是精度與召回率都有較為明顯的提升,而通過Soft-NMS更加關(guān)注息肉的召回率,雖然在IoU取0.5時比NMS低0.1%,但是提升了5.5%的平均召回率的均值,基于對息肉圖像的考量,查全能夠降低漏檢的概率,作為醫(yī)學(xué)輔助診斷的手段,更多的需起到提示醫(yī)生的作用,并且在10個閾值上的平均精度均值較之前提升了1.4%.
表1 模塊結(jié)構(gòu)對于測試結(jié)果的影響
表2的統(tǒng)計結(jié)果是在IoU為0.5時,測試的圖像在不同的網(wǎng)絡(luò)模型下,腺瘤性息肉和增生性息肉的AP值,其SSD和RetinaNet為單階段目標(biāo)檢測網(wǎng)絡(luò),Cascade R-CNN為雙階段的級聯(lián)型目標(biāo)檢測網(wǎng)絡(luò)模型.由表可見Faster R-CNN的AP表現(xiàn)結(jié)果優(yōu)于其他網(wǎng)絡(luò),改進(jìn)后的Faster R-CNN相較于之前分別提升了1.8%和2.8%,并且基于精確率與召回率繪制了每個類別的P-R曲線,如圖5所示,改進(jìn)后的Faster R-CNN在每個類別的P-R曲線最終都優(yōu)于其他網(wǎng)絡(luò)模型.
表2 不同類別的測試結(jié)果與其他網(wǎng)絡(luò)比較
圖5 不同網(wǎng)絡(luò)模型對于不同類別息肉的P-R曲線
表3統(tǒng)計結(jié)果的mAP和mAR是在IoU為0.5~0.95的所有閾值下的結(jié)果取平均值,其中每隔0.05取一個IoU值,分別代表所有類別、閾值的平均精度的均值和平均召回率的均值,從表中可以看出,在腺瘤和增生性息肉的檢測和分類中,改進(jìn)的Faster R-CNN網(wǎng)絡(luò)相較于原網(wǎng)絡(luò)和其他網(wǎng)絡(luò),AP0.5、mAP0.75、mAP和mAR都有顯著提升.
表3 所有類別的測試結(jié)果與其他網(wǎng)絡(luò)比較
如圖6展示了腺瘤性和增生性息肉檢測和分類的結(jié)果對比,藍(lán)色框和文字為測試結(jié)果的金標(biāo)準(zhǔn),分別能表示出息肉的位置和息肉的類別,綠色框和文字代表檢測到的增生性息肉和網(wǎng)絡(luò)判斷的類別與置信度,黃色框和文字代表檢測到的腺瘤性息肉和網(wǎng)絡(luò)判斷的類別與置信度.第1組漏檢的增生性息肉在改進(jìn)的網(wǎng)絡(luò)測試中提取到了更深的特征,由此檢測到并準(zhǔn)確地分類.針對第2、3組測試圖像,提升了2種類型息肉的置信度,有更大的概率確認(rèn)此息肉的類型,且有效提升了平均準(zhǔn)確度的均值.
圖6 改進(jìn)前后的網(wǎng)絡(luò)模型的測試結(jié)果對比
本文針對區(qū)分腺瘤和增生性息肉的難題,對Faster R-CNN的特征提取、邊界框回歸和非極大值抑制分別進(jìn)行了改進(jìn),提取了更深入的特征的同時獲得了較高的分類置信度,并且Soft-NMS的操作相較于改進(jìn)之前在保證精度的同時獲得了更優(yōu)的查全率.通過實驗調(diào)整出最優(yōu)的參數(shù),結(jié)果顯示,改進(jìn)后的Faster R-CNN網(wǎng)絡(luò)獲得了86.8%的mAP0.5值,相比改進(jìn)之前提升2.3%,能夠更加準(zhǔn)確地檢測出息肉,同時也能獲得更高的分類精度,對于AI未來的臨床輔助診斷提供了一個潛在的方向.