陳羅林,周煜松,徐勝舟
(中南民族大學(xué) 計算機科學(xué)學(xué)院&湖北省制造企業(yè)智能管理工程技術(shù)研究中心,武漢 430074)
在各類危害女性身心健康的惡性腫瘤病癥中,乳腺癌作為其中典型病癥之一,其發(fā)病率正在逐年升高[1].國際癌癥研究機構(gòu)(International Agency for Research on Cancer,IARC)于2020年12月發(fā)布了當(dāng)年全球最新癌癥數(shù)據(jù),數(shù)據(jù)顯示2020年全球乳腺癌新發(fā)病例高達226萬例,超過了肺癌的220萬例,乳腺癌取代肺癌,成為全球最常見的癌癥[2].而早期診斷和及時治療,可以使乳腺癌死亡率加速下降[3].乳腺鉬靶X線攝影檢查(Mammography)被公認為目前診斷乳腺癌的首選和最有效的檢測手段[4].然而,乳腺鉬靶圖像上可能會存在一些噪聲或高亮度的干擾,即使是專家也難以快速準確分析出乳腺組織病變情況.而且乳腺鉬靶圖像數(shù)量巨大,如果醫(yī)師僅憑肉眼來找出異常區(qū)域既費時又費力.因此,大量的醫(yī)學(xué)影像計算機輔助診斷技術(shù)(Computer Aided Diagnosis,CAD)出現(xiàn)并被投入到臨床使用,以減輕醫(yī)生的工作量,并且有助于提高醫(yī)生診斷的準確性[5].
基于傳統(tǒng)機器學(xué)習(xí)的乳腺腫塊檢測CAD系統(tǒng)需要先對圖像預(yù)處理,在輸入的乳腺鉬靶圖像中選出乳腺腫塊的可疑候選區(qū)域,然后對可疑區(qū)域的特征進行提取,最后使用分類器對其進行分類,檢測可疑區(qū)域是否為乳腺腫塊.PETRICK等人[6]提出使用一種新的自適應(yīng)密度加權(quán)對比度增強濾波器并將其與高斯-拉普拉斯邊緣檢測相結(jié)合,從而在數(shù)字化乳腺鉬靶X線攝影中分割出可疑區(qū)域.KOM等人[7]提出一種線性變換濾波器對圖像進行預(yù)處理,并使用局部自適應(yīng)閾值技術(shù)來實現(xiàn)乳腺鉬靶圖像中腫塊的自動檢測.HANG等人[8]提出了一種基于多尺度形態(tài)學(xué)濾波和自適應(yīng)隨機森林級聯(lián)的乳腺鉬靶X線攝影中乳腺腫塊檢測和分割系統(tǒng),并在公共數(shù)據(jù)集上進行測試,該方法表現(xiàn)出了很好的性能.XU等人[9]提出一種穩(wěn)健準確的標記控制分水嶺方法并用于乳腺鉬靶X線攝影中的病變分割,首先將傳統(tǒng)分水嶺變換用于平滑形態(tài)梯度圖像,獲取內(nèi)外標記物之間的病變邊界,并通過模式匹配和閾值方法分割出病變粗糙區(qū)域,再通過距離變換和形態(tài)擴張來確定內(nèi)外標記,從而分割出更加精確的乳腺病變區(qū)域.
隨著人工智能的發(fā)展,深度學(xué)習(xí)作為近年來呈指數(shù)增長的人工智能分支之一,不斷被應(yīng)用到各個領(lǐng)域,并且在計算機視覺領(lǐng)域取得重大突破.醫(yī)學(xué)影像中的深度學(xué)習(xí)發(fā)展尤為迅速[10],越來越多的學(xué)者將深度學(xué)習(xí)用于乳腺癌的輔助診斷上.DHUNGEL等人[11]提出一種使用級聯(lián)深度學(xué)習(xí)和隨機森林分類器檢測乳腺腫塊的方法,該方法首先將多尺度深度置信網(wǎng)絡(luò)和高斯混合模型結(jié)合起來,選出乳腺腫塊的可疑候選區(qū)域,再利用級聯(lián)R-CNN網(wǎng)絡(luò)和隨機森林分類器來減少假陽性數(shù)量.TEARE等人[12]提出利用不同尺度的雙深度卷積神經(jīng)網(wǎng)絡(luò),并與隨機森林網(wǎng)絡(luò)相結(jié)合,來對乳腺鉬靶圖像中乳腺腫塊進行檢測,所得出的靈敏度和特異度與專業(yè)醫(yī)師得出的結(jié)果基本一致.徐一舫等人[13]通過對比R-CNN、SPPNet、Fast R-CNN、Faster R-CNN四種算法在乳腺鉬靶X線攝影中對乳腺腫塊的檢測能力,驗證了Faster R-CNN算法在乳腺腫塊檢測中的高效性.AL-MASNI等人[14]提出基于YOLO算法的CAD系統(tǒng),該系統(tǒng)檢測出乳腺腫塊的同時也對其進行良惡性識別,最終都能較好地定位乳腺腫塊位置并將其正確分類.
受深度學(xué)習(xí)的影響,并考慮到檢測精度及模型復(fù)雜度,本文提出一種改進的RetinaNet目標檢測算法用于乳腺鉬靶圖像中乳腺腫塊的檢測.首先,為了在特征提取的過程中獲取更豐富的信息,本文在特征提取網(wǎng)絡(luò)中添加多光譜通道注意力(Multi-Spectral Channel Attention,MCA)模塊[15],然后考慮到淺層特征信息在經(jīng)過多層傳遞后丟失比較嚴重,本文添加了一條自底向上的路徑,來增強網(wǎng)絡(luò)的表征能力.
RetinaNet[16]是一種基于Anchor-based的一階段目標檢測算法,它主要由ResNet[17]、特征金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)[18]和兩個子網(wǎng)絡(luò)組成,基本結(jié)構(gòu)如圖1所示.ResNet作為特征提取網(wǎng)絡(luò),初步提取圖像的特征,獲取到3個特征層C3、C4、C5,然后將這3個特征層傳入FPN中,其中P5和C5表示同一個特征層,P6、P7是C5依次下采樣得到的結(jié)果,P4是由P5上采樣后與C4相加得到的特征層,P3是P4上采樣后與C3相加得到的特征層,F(xiàn)PN作為特征融合網(wǎng)絡(luò),對多尺度的特征進行融合,將淺層的特征也傳遞到深層,使網(wǎng)絡(luò)能夠保留更多的信息,最終會輸出5個不同尺度的特征層,并將其傳至兩個子網(wǎng)絡(luò),這兩個子網(wǎng)絡(luò)分別為分類網(wǎng)絡(luò)和邊框回歸網(wǎng)絡(luò),分類子網(wǎng)絡(luò)對FPN輸出的特征層進行目標的分類,邊框回歸子網(wǎng)絡(luò)則用來預(yù)測目標邊界框的位置信息.
圖1 RetinaNet的結(jié)構(gòu)Fig.1 StructureofRetinaNet
RetinaNet的特征提取部分使用的是ResNet-50,而ResNet-50是由一系列殘差塊構(gòu)成的,這樣可以加深網(wǎng)絡(luò)深度,獲取更多的特征信息,并且可以避免梯度消失的問題.
近年來,注意力機制在深度神經(jīng)網(wǎng)絡(luò)中得到了廣泛應(yīng)用,并在醫(yī)學(xué)圖像處理中發(fā)揮了顯著的作用[19].注意力機制類似于人類集中注意力去觀察事物的某些重要信息一樣,這樣可以快速地獲取有價值的信息.注意力機制的實質(zhì)就是自主學(xué)習(xí)到一些權(quán)重,這些權(quán)重就代表著重要性,再利用“加權(quán)求和”使網(wǎng)絡(luò)模型更加關(guān)注那些重點信息.不少研究表明,在神經(jīng)網(wǎng)絡(luò)中引入注意力機制能大幅提高性能[20-23].于是,本文在ResNet-50的殘差塊中引入注意力模塊,ResNet-50中的殘差模塊使用的是瓶頸結(jié)構(gòu),如圖2(a),這樣使得網(wǎng)絡(luò)更加靈活,并且減少了計算量.為了使網(wǎng)絡(luò)在對乳腺鉬靶圖像提取特征的過程中更關(guān)注于乳腺腫塊區(qū)域的信息,在每個殘差塊中都添加了MCA模塊,添加后的結(jié)構(gòu)如圖2(b)所示.
圖2 ResNet-50中的殘差塊和插入MCA模塊后的殘差塊Fig.2 ResidualblockinResNet-50andresidualblockinserted withMCAmodule
MCA模塊是基于Squeeze-and-Excitation(簡稱SE)模塊[24]的一個改進,SE模塊的結(jié)構(gòu)如圖3(a)所示.一般的通道注意力對于每個通道的標量進行計算時采用的是全局平均池化(GlobalAverage Pooling,GAP)[25],而從頻率的角度進行分析,會發(fā)現(xiàn)GAP只保留了離散余弦變換(DiscreteCosine Transform,DCT)最低頻率分量的信息,而在計算時也不能忽視其他有用的頻率分量.通常,二維DCT的基函數(shù)可表示為:
二維DCT則可表示為:
s.t.h∈{0,1,…,H-1},w∈{0,1,…,W-1},其中f2d∈RH×W表示二維DCT的頻譜,x2d∈RH×W表示輸入的圖像,H和W分別為輸入圖像的高度和寬度,B可看作是DCT權(quán)重,所以二維DCT也可看作是輸入的加權(quán)和.而當(dāng)h、w均為0時,結(jié)合公式(1)、(2)可以得到:
此時表示二維DCT的最低頻率分量,由公式(3)可知,其與GAP有關(guān),并且成正比,GAP只是二維DCT的一個特例,因此可以引入MCA模塊獲取更多有用的頻率分量.MCA模塊結(jié)構(gòu)如圖3(b)所示,首先將輸入X∈RC×H×W按通道維度分解為n個部分,并給各部分分配相應(yīng)的二維DCT頻率分量,得到的二維DCT結(jié)果作為通道注意力的壓縮結(jié)果,圖中Freqi(i∈{0,1,…,n-1})即為壓縮后的向量,然后將所有向量合并,用得到的結(jié)果替換原通道注意力中GAP的結(jié)果.
圖3 SE模塊與MCA模塊Fig.3 SEmoduleand MCA module
原RetinaNet在ResNet-50提取到圖像特征信息之后會通過FPN來豐富獲取到的信息.FPN主要解決目標檢測中的多尺度問題,淺層特征語義少但定位準,深層特征語義豐富但定位模糊,所以在RetinaNet中FPN會輸出5個不同尺度的特征層,并將其傳入預(yù)測網(wǎng)絡(luò)中,而且這5個不同尺度的特征層也是通過自頂向下的路徑以及橫向連接來實現(xiàn)對淺層特征與深層特征的信息融合,這樣能極大地提高對小目標的檢測能力.
乳腺鉬靶X線影像中有許多腫塊區(qū)域所占面積較小,所以多尺度特征融合能在很大程度上提高性能.為了對特征信息做更深一步地增強,本文在RetinaNet中引入路徑聚合網(wǎng)絡(luò)(Path Aggregation Network,PAN)[26],在FPN后添加一條自底向上的路徑,并通過橫向連接實現(xiàn)多尺度特征融合.引入PAN模塊,獲取到更加豐富的特征信息,也保留了更多淺層信息,更好地利用了淺層信息精確定位的特點.
本文針對FPN采取了兩種改進方式.如圖4(a)所示,在FPN后添加PAN1模塊,這是第一種改進方式,PA3和P3是同一個特征層,并直接輸出,PA4是PA3下采樣后與P4相加得到的特征層,PA5類似,PA6和PA7對應(yīng)原RetinaNet中的P6和P7.
圖4(b)是在FPN后添加PAN2模塊的結(jié)構(gòu)圖,即第二種改進方式,與第一種方式的區(qū)別就是直接舍棄了原來的P6和P7,最后輸出的PA6和PA7為PA5依次下采樣的結(jié)果.通過這種方式不僅會提升精度而且還會減少參數(shù)量,因為最后輸出的5個特征層通道數(shù)均為256,原本的C5下采樣到P6是通過步長為2的3×3卷積完成的,特征層C5的大小為19×19×2048,輸出的特征層P6的大小為10×10×256,所以該卷積層的參數(shù)量為3×3×2048×256;而舍棄P6、P7,由PA5下采樣到PA6作為輸出,由于特征層PA5的大小為19×19×256,輸出的PA6大小為10×10×256,該卷積層的參數(shù)量為3×3×256×256,為原先參數(shù)量的,所以即使添加了PAN2模塊,其參數(shù)量也比原來的參數(shù)量要小.這兩種方式中所有的下采樣操作都是通過步長為2的3×3卷積完成的,而且在每一次特征融合之后都會進行一次3×3卷積處理,增強其表征能力.
圖4 添加PAN模塊后的FPN結(jié)構(gòu)Fig.4 FPNstructureafter adding PANmodule
3.1.1 實驗數(shù)據(jù)來源
本文的實驗數(shù)據(jù)來源于美國南佛羅里達大學(xué)的乳腺X線攝影數(shù)字數(shù)據(jù)庫(The Digital Database for Screening Mammography,DDSM)[27].DDSM包含多個醫(yī)院通過乳腺X線攝影掃描得到的病例,每個病例包括患者左右雙側(cè)乳腺的軸位(Craniocaudal,CC)視圖和側(cè)斜位(Mediolateral Oblique,MLO)視圖,共4幅.軸位視圖是攝影臺平行于水平面且正對著患者,并將患者乳腺置于攝影臺上,X射線自上而下垂直照射而成.側(cè)斜位視圖是攝影臺與水平面成30度至60度角,并將患者乳腺置于攝影臺上,乳頭呈切線位,X射線從乳腺內(nèi)上方往外下方且垂直于攝影臺照射而成.如圖5中,圖(a)和圖(b)分別為某患者的右軸位(RCC)視圖和右側(cè)斜位(RMLO)視圖.每個異常病例包含有對應(yīng)的“.overlay”文件,文件中記錄了醫(yī)師標記的病灶區(qū)域的相關(guān)信息,如病灶類型、位置、輪廓等.
圖5 患者的右軸位視圖和右側(cè)斜位視圖Fig.5 RCCview and RMLOview of thepatient
本文實驗從DDSM中隨機選擇了336個異常病例作為數(shù)據(jù)集,其中每一個病例包含患者某一側(cè)乳腺的軸位視圖及側(cè)斜位視圖,因此共有672張乳腺鉬靶圖像.根據(jù)每個病例的“.overlay”文件,在對應(yīng)的乳腺鉬靶圖像上勾畫出腫塊的不規(guī)則區(qū)域,并根據(jù)這些區(qū)域確定邊界框信息,將其作為金標準.
3.1.2 數(shù)據(jù)預(yù)處理
在本文實驗數(shù)據(jù)集中,有大量乳腺鉬靶圖像存在對比度和亮度過低的情況,會導(dǎo)致腫塊與周圍乳腺組織難以被區(qū)分開,因此采取Gamma變換對圖像進行增強,如圖6所示,這樣使得圖像整體亮度得到提升,并使圖像的低灰度區(qū)域?qū)Ρ榷鹊玫皆鰪?
圖6 圖像增強Fig.6 Imageenhancement
由于數(shù)據(jù)集的數(shù)量較少,所以本文采取水平翻轉(zhuǎn)和垂直翻轉(zhuǎn)的方式對數(shù)據(jù)進行增強,如圖7所示,并采用五折交叉驗證的方式進行實驗,共做5次實驗.先將原始數(shù)據(jù)集平均分為5份,每次實驗取其中一份作為測試集,以確保每個樣本都被測試過,再對剩余部分做水平翻轉(zhuǎn)和垂直翻轉(zhuǎn)的數(shù)據(jù)增強,并將增強后的數(shù)據(jù)集按8:2劃分為訓(xùn)練集和驗證集,最后的實驗結(jié)果是對這5次測試結(jié)果取平均值.
圖7 數(shù)據(jù)增強Fig.7 Dataaugmentation
3.1.3 實驗環(huán)境
本文實驗是基于深度學(xué)習(xí)框架Pytorch來實現(xiàn)的,操作系統(tǒng)為64位Windows 10,CPU為Intel i5-9400F,16 GB內(nèi)存,GPU為NVIDIA GeForce RTX 3070,顯卡內(nèi)存為8 GB,運行的軟件環(huán)境為Python 3.8、CUDA 11.3、cuDNN 8.2.訓(xùn)練和測試均利用GPU進行加速完成.本文初始學(xué)習(xí)率設(shè)為0.0001,使用Adam優(yōu)化器,固定步長衰減學(xué)習(xí)率,每迭代一次,學(xué)習(xí)率就減小為原來的0.96,共迭代200次.
評價目標檢測算法的性能,常用的指標有交并比(IoU)、精確率(Precision)、召回率(Recall)、平均精度(AP)以及平均精度均值(mAP).
IoU用來衡量兩個區(qū)域的重合程度,是兩個區(qū)域的交集與并集的比值,其公式如下:
其中,Bp表示預(yù)測框,Bgt表示真實框,IoU越接近1,預(yù)測框與真實框越接近,定位越準確.
在目標檢測的二分類過程中,檢測器需判斷樣本是腫塊區(qū)域還是背景區(qū)域,那么對樣本進行分類時會出現(xiàn)4種情況:TP、FP、FN、TN,其中TP表示將正樣本預(yù)測為正類的數(shù)量,一般指IoU>0.5的檢測框數(shù)量,即真陽性;FP表示將負樣本預(yù)測為正類的數(shù)量,一般指IoU≤0.5的檢測框數(shù)量,即假陽性;FN表示將正樣本預(yù)測為負類的數(shù)量,即假陰性;TN表示將負樣本預(yù)測為負類的數(shù)量,即真陰性.
Precision表示預(yù)測結(jié)果中真正的正樣本占預(yù)測為正類的所有樣本的比例,其公式如下:
Recall又稱查全率,表示檢出的正樣本中占實際正樣本的比例,其公式為:
而在醫(yī)學(xué)影像領(lǐng)域,要盡可能減少漏檢的情況,所以本文選擇其作為評價指標之一.
以Recall作為橫軸、Precision作為縱軸,可以得到P-R曲線,AP為P-R曲線下的面積,其公式為:
其中P表示Precision,R表示Recall.而mAP則為各類別AP的平均值.由于本文實驗需要檢測的目標只有一個類別,所以就直接選擇AP作為評價指標之一.
3.3.1 不同檢測算法對比實驗
在乳腺鉬靶圖像中對腫塊的檢測能力方面,將本文改進后的算法與其他目標檢測算法進行了對比,結(jié)果如表1所示,4列分別表示檢測方法、特征提取網(wǎng)絡(luò)、評價指標AP50、每秒傳輸幀數(shù)(Frames Per Second,F(xiàn)PS),其中AP50表示IoU為0.5時的平均精度.表格的后兩行是本文改進后的方法,由表可知,本文算法相比原算法,檢測速度雖略微降低,但檢測效果有很大提升,并且與其他檢測算法相比,本文算法在乳腺腫塊檢測中取得了更優(yōu)的結(jié)果.
表1 不同檢測算法對比實驗Tab.1 Comparativeexperimentsof different detection algorithms
圖8展示了不同檢測算法在乳腺鉬靶圖像上腫塊的檢測結(jié)果.
圖8 對比實驗可視化檢測結(jié)果Fig.8 Visualization detection resultsof contrast experiments
由圖8可知,F(xiàn)aster R-CNN雖然能正確識別乳腺腫塊區(qū)域,但假陽性數(shù)量也很多;SSD存在的最大問題就是易漏檢小目標區(qū)域;YOLOv3-SPP和YOLOX檢測效果相對不錯,而本文方法無論是對小目標的檢測、還是在識別精度上,都有最優(yōu)的表現(xiàn).
3.3.2 消融實驗
為了驗證添加的各模塊在RetinaNet中的有效性,本文在原RetinaNet中依次添加改進的模塊,對各模塊之間做消融實驗,測試結(jié)果如表2所示.其中左側(cè)3列為添加的模塊,分別是MCA模塊、PAN1模塊和PAN2模塊.右側(cè)4列為評價指標,AP50表示IoU為0.5時的平均精度;R表示IoU為0.5時的召回率;對IoU從0.5到0.95,每隔0.05計算一次平均精度,最后將所有結(jié)果取平均值,該均值即為表中的AP;Params表示參數(shù)量.
表2 各模塊之間的消融實驗Tab.2 Ablation experimentsbetween different modules
由表2可知,在RetinaNet中添加改進的模塊,精度都會提升,而且正如2.2中分析的,在FPN后添加PAN2模塊,參數(shù)量不增反減,并且平均精度也會略微增加.其中在ResNet-50的殘差塊中添加MCA模塊,同時在FPN后添加PAN2模塊,即舍棄掉原本的P6、P7,這樣效果相對最好,AP50由原來的75.7%提升到78.9%,AP由原來的37%提升到38.4%,并且召回率也有3.4%的提升.
圖9展示了改進后的RetinaNet算法和原RetinaNet算法對乳腺鉬靶圖像中腫塊的檢測結(jié)果,由圖9(c)、圖9(d)可知,改進后的兩種算法在乳腺腫塊區(qū)域的定位上基本一致,并且相比原RetinaNet算法,定位更加準確,也在一定程度上減少了漏檢和誤檢的情況.
圖9 消融實驗可視化檢測結(jié)果Fig.9 Visualization detection results of ablation experiments
本文提出了一種基于注意力機制和雙向特征融合的RetinaNet乳腺腫塊檢測算法.首先,在數(shù)據(jù)處理部分,先從DDSM中選取部分樣本作為數(shù)據(jù)集,并根據(jù)醫(yī)師圈畫的病灶區(qū)域?qū)?shù)據(jù)進行標注,然后使用Gamma變換增強圖像對比度,并通過水平、垂直翻轉(zhuǎn)來增強數(shù)據(jù)集;其次,在算法改進部分,先在RetinaNet的特征提取網(wǎng)絡(luò)中的每個殘差塊中添加多光譜通道注意力模塊,使網(wǎng)絡(luò)更加專注于乳腺腫塊區(qū)域;然后在FPN后通過兩種不同方式添加一條自底向上的路徑,并通過橫向連接實現(xiàn)特征融合,使獲取到的特征更加豐富.實驗結(jié)果表明:改進的各模塊添加到原RetinaNet中都能使精度有所提高,并且在特征提取網(wǎng)絡(luò)中添加多光譜通道注意力模塊,同時以第二種方式對FPN做改進,即在FPN后添加PAN2模塊,這樣改進后的算法檢測能力相對是最高的,與其他檢測算法相比,也具有更好的性能.但是整個實驗的樣本量較小,之前嘗試過將數(shù)據(jù)增強到8倍,但由于原始數(shù)據(jù)集量太小,效果并不明顯.雖然改進后的算法在平均精度上有所提升,但仍有提升空間,而且漏檢情況仍然存在.所以后續(xù)會收集更多乳腺鉬靶圖像來擴充數(shù)據(jù)集,并針對漏檢問題做更深入的研究.