馬 馳,胡 輝*,路生亮,布安旭,金海濱
(1.惠州學(xué)院 計算機科學(xué)與工程學(xué)院,廣東 惠州 516007;2.遼寧科技大學(xué) 計算機與軟件工程學(xué)院,遼寧 鞍山 114044)
肺炎是一種嚴(yán)重威脅人類健康的呼吸系統(tǒng)疾病,通常肺部檢查是通過醫(yī)生對肺部X 光片的觀察,根據(jù)醫(yī)生豐富的經(jīng)驗和專業(yè)知識對疾病進(jìn)行診斷[1],這種方式在一定程度上存在著缺陷,X 光片本身顏色較為單一、紋理信息較少且成像結(jié)果也會受到各種外界干擾影響,同時醫(yī)生診斷結(jié)果的準(zhǔn)確性會受經(jīng)驗、專業(yè)程度和當(dāng)時的工作狀態(tài)等因素影響[2]。因此,有效的計算機輔助診斷模型,對提高醫(yī)生的診斷準(zhǔn)確性和診斷效率有很大幫助。
隨著計算機技術(shù)在醫(yī)學(xué)影像處理領(lǐng)域的應(yīng)用不斷加深,傳統(tǒng)的計算機圖像處理技術(shù)和深度學(xué)習(xí)等神經(jīng)網(wǎng)絡(luò)方法都在肺炎影像檢測領(lǐng)域得到了廣泛的應(yīng)用?;趥鹘y(tǒng)的圖像處理算法,張利紅等[3]將分水嶺算法應(yīng)用到醫(yī)學(xué)影像分割領(lǐng)域,提出了一種對肺炎病變區(qū)域進(jìn)行分割的算法,該方法存在對影像質(zhì)量要求較高、受噪聲影像較大的問題。呂鯉志等[4]針對CT 等醫(yī)學(xué)影像顏色單一、紋理信息較少且由于拍攝過程中的噪聲干擾等問題,提出了一種基于Laplacian 金字塔和小波變換的圖像增強算法,解決了傳統(tǒng)圖像增強方法可能會導(dǎo)致醫(yī)學(xué)影像細(xì)節(jié)丟失、邊緣信息減弱和對比度降低的問題。與傳統(tǒng)圖像處理方法相比,深度學(xué)習(xí)可以通過網(wǎng)絡(luò)自動學(xué)習(xí)影像特征,能夠同時自動地完成特征提取及分類定位任務(wù)[5]。為了解決在小數(shù)據(jù)樣本情況下網(wǎng)絡(luò)訓(xùn)練容易過擬合的問題,劉長征等[6]將卷積神經(jīng)網(wǎng)絡(luò)模型應(yīng)用到肺炎影像分類任務(wù)中并針對肺炎影像分類任務(wù)對卷積層結(jié)構(gòu)進(jìn)行改進(jìn),使用彈性梯度下降方法對網(wǎng)絡(luò)進(jìn)行優(yōu)化同時加入了Dropout機制,該方法對肺炎影像的分類取得了較好效果,但不能確定病變位置且對病變區(qū)域較小的肺炎影像分類效果較差。張康[7]帶領(lǐng)團隊聯(lián)合國內(nèi)外多家醫(yī)院及科研單位,開發(fā)了一套基于X 光醫(yī)學(xué)影像的病變檢測模型。同濟大學(xué)和浙江大學(xué)共同針對深度學(xué)習(xí)醫(yī)學(xué)影像處理方法在肺炎診斷中的應(yīng)用進(jìn)行了深入研究,對目前深度學(xué)習(xí)算法在計算機輔助肺癌檢測取得的進(jìn)展進(jìn)行綜述[8],黃亞平等[9]選用ResNet50作為特征提取網(wǎng)絡(luò),并在卷積神經(jīng)網(wǎng)絡(luò)中引入Attention 機制,通過使特征提取過程關(guān)注病變位置使得肺炎影像分類的準(zhǔn)確率有了很大提高。雖然提高了肺炎影像分類的準(zhǔn)確率,對于小病變區(qū)域的肺部疾病分類也有了顯著提高,但該方法仍不能確定病變位置。
采用單激發(fā)多盒探測網(wǎng)絡(luò)(Single Shot MultiBox Detector,SSD)[10-11]作為肺炎檢測算法,并針對肺炎小發(fā)病區(qū)容易漏檢,或檢測準(zhǔn)確度低的特點提出了相應(yīng)的解決方案,創(chuàng)新點如下:
(1)通過改進(jìn)SSD 網(wǎng)絡(luò)結(jié)構(gòu),優(yōu)化特征提取網(wǎng)絡(luò),解決肺炎影像中小病變區(qū)域容易漏檢或檢測精度較低的問題。
(2)針對肺炎影像,對SSD網(wǎng)絡(luò)不同卷積層的輸出進(jìn)行特征融合,在盡可能不影響網(wǎng)絡(luò)訓(xùn)練及檢測效率的同時,提高網(wǎng)絡(luò)準(zhǔn)確性。
SSD物體檢測模型:是一種典型的單步檢測網(wǎng)絡(luò),該模型將目標(biāo)的檢測識別功能整合在同一個網(wǎng)絡(luò)中,僅需要1 次計算就可以得到最終目標(biāo)的位置和種類。SSD網(wǎng)絡(luò)的主要工作原理是在特征提取網(wǎng)絡(luò)中選定幾個卷積層的輸出特征圖用于目標(biāo)的檢測,由于選定的不同特征圖具有不同的像素尺寸,故而保證了不同尺寸的目標(biāo)都能很好地被檢測出來。針對每一個選中的用于檢測目標(biāo)的特征圖,相當(dāng)于將原圖片劃分為與特征圖分辨率相同的N×N個網(wǎng)格,以每個網(wǎng)格為中心檢測是否有目標(biāo)出現(xiàn)在該網(wǎng)格覆蓋的區(qū)域內(nèi),通過將目標(biāo)檢測轉(zhuǎn)換為分類和回歸問題得到不同尺度特征圖對應(yīng)的目標(biāo)框,最終通過后續(xù)網(wǎng)絡(luò)對每個特征圖得到的目標(biāo)框進(jìn)行統(tǒng)一整合輸出,得到最終目標(biāo)檢測的結(jié)果。相比于基于區(qū)域建議網(wǎng)絡(luò)(Region Proposal Network,RPN)的目標(biāo)檢測算法,SSD網(wǎng)絡(luò)通常檢測速度較快且對于不同尺寸的目標(biāo)都有較好的檢測效果,圖1為SSD網(wǎng)絡(luò)模型結(jié)構(gòu)圖[10]。
圖1 SSD 網(wǎng)絡(luò)模型結(jié)構(gòu)圖
從圖1 可以看出,SSD 網(wǎng)絡(luò)使用VGG16 作為特征提取網(wǎng)絡(luò),黃色框的部分是對VGG16網(wǎng)絡(luò)最終輸出的特征圖進(jìn)一步進(jìn)行卷積,壓縮輸出特征圖尺寸,在更大的感受野(Receptive field)中對輸入圖片中的目標(biāo)進(jìn)行檢測。SSD 網(wǎng)絡(luò)模型與單步檢測網(wǎng)絡(luò)(You only look once,YOLO)系列網(wǎng)絡(luò)模型[12-14]最大的區(qū)別在于,YOLO 系列網(wǎng)絡(luò)只在特征提取網(wǎng)絡(luò)中使用提取到的最后一層特征圖進(jìn)行目標(biāo)檢測,而SSD 網(wǎng)絡(luò)則在特征提取網(wǎng)絡(luò)中選擇了多層特征圖進(jìn)行目標(biāo)檢測。
圖1描述了SSD網(wǎng)絡(luò)如何利用多層卷積網(wǎng)絡(luò)輸出的特征圖進(jìn)行目標(biāo)檢測的過程,SSD 網(wǎng)絡(luò)使用VGG16網(wǎng)絡(luò)輸出特征作為檢測目標(biāo)的特征圖的同時,又增加了多層卷積結(jié)構(gòu),對VGG16網(wǎng)絡(luò)輸出的特征圖進(jìn)一步特征提取,得到分辨率更低,具有更多高級語義特征及感受野的特征圖進(jìn)行目標(biāo)檢測,SSD 網(wǎng)絡(luò)后續(xù)添加的卷積網(wǎng)絡(luò)整體結(jié)構(gòu)與VGG16卷積層結(jié)構(gòu)保值一致。
通常目標(biāo)檢測網(wǎng)絡(luò)分為單步檢測網(wǎng)絡(luò)和兩步檢測網(wǎng)絡(luò),SSD為典型的單步檢測網(wǎng)絡(luò),目標(biāo)分類和目標(biāo)定位功能在同一網(wǎng)絡(luò)中實現(xiàn)。由于這一特性SSD網(wǎng)絡(luò)訓(xùn)練過程較為簡單,且網(wǎng)絡(luò)的訓(xùn)練和檢測過程耗時較少,但原始SSD 網(wǎng)絡(luò)存在對小目標(biāo)檢測性能較差的問題。針對原始SSD網(wǎng)絡(luò)存在的問題,以及肺炎影像的特點,對SSD網(wǎng)絡(luò)進(jìn)行優(yōu)化。
由于部分肺部疾病發(fā)病初期病變區(qū)域通常較小,如能盡早發(fā)現(xiàn)對于后續(xù)治療有很大幫助。但不論是醫(yī)生還是目前常見的檢測算法,對于小病變區(qū)域的檢測效果都不夠理想。同時對數(shù)據(jù)集中各類肺部病變的統(tǒng)計分析發(fā)現(xiàn),小病變區(qū)域占比超過10%。所以對于小病變區(qū)域的檢測是肺炎影像檢測模型的一個重要挑戰(zhàn)。通過對數(shù)據(jù)集中病變區(qū)域的尺寸統(tǒng)計,得到的數(shù)據(jù)見表1。
表1 數(shù)據(jù)集分析表
通過表1中的數(shù)據(jù)可知,在整個數(shù)據(jù)集中,最小的病變區(qū)域為寬10.20 像素,高12.14 像素。雖然也存在面積較大的病變區(qū)域,但在整個數(shù)據(jù)集中占比較小且對于檢測模型來說也更容易準(zhǔn)確識別。在SSD網(wǎng)絡(luò)的特征提取過程中,通過卷積層的堆疊將輸入的原始圖片轉(zhuǎn)化為不同深度的特征圖,深層卷積網(wǎng)絡(luò)提取到的特征圖具有更多的高級語義特征和感受野,但對于小尺寸目標(biāo)的關(guān)注度會急劇下降。因此,針對肺炎影像識別任務(wù),對SSD 網(wǎng)絡(luò)最好的改進(jìn)方法是對不同層次的特征圖進(jìn)行特征融合,充分利用低層次特征圖中對小尺寸目標(biāo)的關(guān)注以及紋理、邊緣等低級語義特征和高層次特征途中蘊含的高級語義特征。通過由反池化和反卷積層組成的解碼器,將信息量較小的特征圖進(jìn)行擴充,保證其學(xué)習(xí)到的高級語義特征的同時,提高對小尺寸目標(biāo)的關(guān)注度,然后將其與更深層次的特征圖進(jìn)行融合,充分利用不同卷積層提取到的特征信息,保證在不丟失高級語義特征的同時,將更多的底層語義特征傳遞到最終的檢測網(wǎng)絡(luò)當(dāng)中。SSD網(wǎng)絡(luò)特征提取網(wǎng)絡(luò)中包含大量卷積層,但直接將其輸出用于最終檢測的特征只有:第4、7、8、9、10和11層。這幾個卷積層輸出的特征圖尺寸分別為(38,38),(19,19),(10,10),(5,5),(3,3),(1,1)。
在這輸出用于最終檢測的卷積層中,第10層和第11層輸出的特征圖分辨率差距較小,提取到的特征信息也較為接近,所以將這2 層進(jìn)行特征融合的意義不大。同時,由于SSD網(wǎng)絡(luò)模型中卷積網(wǎng)絡(luò)層數(shù)越深,其感受野也就越大,能夠檢測到的病變區(qū)域也就越大,但對小尺寸病變區(qū)域的特征會有所丟失。最亟需解決的問題是,提高網(wǎng)絡(luò)對于肺部疾病小尺寸病變區(qū)域的檢測,根據(jù)卷積網(wǎng)絡(luò)對特征提取的特性可知,越低層次卷積網(wǎng)絡(luò)提取到的特征圖越能表示小尺寸的病變區(qū)域,因此,對SSD 網(wǎng)絡(luò)的特征融合主要針對第8 層以前的網(wǎng)絡(luò)。
通過對肺炎影像的分析以及對SSD網(wǎng)絡(luò)模型的分析,將原SSD網(wǎng)絡(luò)的第3層和第6層輸出特征圖進(jìn)行特征融合;將第7 層和第9 層輸出的特征圖進(jìn)行特征融合。并根據(jù)2 次特征融合的特點,選用不同的特征融合算法。對第3 層和第5 層輸出的特征圖進(jìn)行池化融合;對第5 層和第7 層的特征融合,首先將第5 層特征圖經(jīng)過一個由反卷積和反池化構(gòu)成的解碼器進(jìn)行特征增強后與第7 層輸出的特征圖通過element-sum 算法進(jìn)行特征融合。由于第8 層和第9 層輸出的特征圖分辨率較小,具有較大的感受野,提取到的特征不能很好的表達(dá)小尺寸病變區(qū)域,因此,不需要融合第8層和第9層輸出的特征圖。經(jīng)過對SSD網(wǎng)絡(luò)模型分析,將第3層與第6層進(jìn)行特征融合,同時將第5層與第7層進(jìn)行特征融合,具體特征融合方法如下。
element-sum 融合方法[15]用于尺寸相同的,2 個特征圖進(jìn)行融合,通過對應(yīng)元素相加的方法將2 個特征圖融合為一個新的特征圖,在融合過程中2 個特征圖所占權(quán)重相同,具體的流程如圖2。
圖2 element-sum計算過程
將SSD 網(wǎng)絡(luò)的第5 卷積層輸出的特征圖,經(jīng)過一個由反池化層和反卷積層組成的解碼器轉(zhuǎn)化為19×19×512 大小的特征圖。通過解碼器,增大特征圖分辨率,增強其表達(dá)小尺寸病變區(qū)域特征的能力。然后通過一個1×1的卷積層將其調(diào)整為與第7層輸出特征圖相同的分辨率和通道數(shù),最后使用element-sum方法將2 個特征圖進(jìn)行特征融合,得到的特征圖用于最終檢測和進(jìn)一步特征提取。圖3是該部分特征融合的詳細(xì)流程。
圖3 通過反池化、反卷積對特征進(jìn)行融合的流程
通過對SSD網(wǎng)絡(luò)結(jié)構(gòu)分析,對SSD網(wǎng)絡(luò)的第3卷積層和第6卷積層進(jìn)行池化特征融合。首先,將第3卷積層的輸出特征圖經(jīng)過一個池化層將其分辨率壓縮為19×19。然后通過卷積核大小為1×1 的卷積層調(diào)整其通道數(shù),使其轉(zhuǎn)化為形狀是19×19×1 024 的特征圖;然后,通過element-sum 融合方法與第6 卷積層輸出的特征圖進(jìn)行特征融合。最后,將得到的特征融合后的特征圖經(jīng)過LeakyRelu 激活函數(shù)激活后,作為第7層的輸入送入到后續(xù)網(wǎng)絡(luò)中進(jìn)行進(jìn)一步特征提取。圖4是該部分特征融合的詳細(xì)流程。
圖4 通過池化對特征進(jìn)行融合的流程
數(shù)據(jù)集由2 部分組成,一部分肺部影像圖片取自Chest X-ray 數(shù)據(jù)集,另一部分通過整理目標(biāo)檢測競賽平臺提供的公共競賽數(shù)據(jù)集得到,將2 部分?jǐn)?shù)據(jù)存儲及標(biāo)注形式進(jìn)行了統(tǒng)一,生成了一個綜合數(shù)據(jù)集。
ChestX-ray數(shù)據(jù)集和整理的公共競賽數(shù)據(jù)集都是包含14類肺部疾病的X射線影像,幾乎涵蓋了包括肺不張、變實、浸潤、氣胸、水腫、肺氣腫等在內(nèi)的常見肺部疾?。▓D5)。由于構(gòu)成數(shù)據(jù)集的2 部分?jǐn)?shù)據(jù)存在尺寸和標(biāo)注方式不同的問題,通過幾何變換,修改標(biāo)準(zhǔn)文件的方式,將2 個數(shù)據(jù)集的圖片和標(biāo)注統(tǒng)一成相同尺寸及存儲格式。
圖5 數(shù)據(jù)集部分影像
3.1.1 平均準(zhǔn)確率(Average Precision,AP)與平均準(zhǔn)確率均值(mean average precision,mAP)
在影像分類問題中,通常使用平均準(zhǔn)確率作為衡量模型對于某一種類影像的分類能力。要想計算某一分類的AP,首先要根據(jù)實驗結(jié)果計算出準(zhǔn)確率(Precision Rate,P)和召回率(Recall Rate,R)并繪制PR曲線,PR曲線下方的面積就代表了該分類的AP值。具體計算過程如下:
其中,TP 表示真正例即判斷正確的正樣本數(shù)量;FP 表示假正例即判斷錯誤的正樣本數(shù)量;FN表示假反例即判斷錯誤的負(fù)樣本數(shù)量。計算出準(zhǔn)確率、召回率值后,將其繪制成PR 曲線,并對R求積分,得到對應(yīng)種類的AP值。由于實驗過程中計算出的準(zhǔn)確率、召回率值都是離散的,故時機計算中通過離散的點擬合AP值。
通常AP 用來衡量整個檢測任務(wù)中某一類的準(zhǔn)確度,平均準(zhǔn)確率均值則是對所的AP 值求平均,用來表示模型在該圖像檢測任務(wù)中的整體準(zhǔn)確度。
3.1.2 交并比(Intersection-over-Union,IoU)
IoU通常用來衡量目標(biāo)檢測任務(wù)中,確定目標(biāo)的位置及大小是否準(zhǔn)確。IoU的計算過程如圖6所示,用檢測結(jié)果區(qū)域和實際目標(biāo)區(qū)域的交除檢測結(jié)果區(qū)域和實際目標(biāo)區(qū)域的并,得到的結(jié)果即為IoU。當(dāng)IoU的值達(dá)到最大值1 時,表示檢測區(qū)域與實際目標(biāo)區(qū)域完全重合,IoU的值越接近1表示檢測結(jié)果越準(zhǔn)確。
圖6 交并比圖形表示
現(xiàn)有的肺炎影像檢測網(wǎng)絡(luò)還包括基于Faster RCNN的兩步檢測網(wǎng)絡(luò)和基于YOLO的單步檢測網(wǎng)絡(luò)等多種網(wǎng)絡(luò)模型,基于Faster R-CNN 的檢測網(wǎng)絡(luò)具有更高的精度,基于YOLO 的網(wǎng)絡(luò)具有更高的檢測速度。為了證明肺炎影像檢測網(wǎng)絡(luò)的有效性,選擇了幾個典型的網(wǎng)絡(luò)與網(wǎng)絡(luò)模型進(jìn)行對比實驗。通過對比mAP和每秒鐘檢測影像張數(shù)(Frames Per Second,F(xiàn)PS)來比較模型的準(zhǔn)確率和檢測速度。表2為最終實驗結(jié)果對比。
表2 4種肺部疾病檢測模型效果對比
由表2 可知,改進(jìn)后的網(wǎng)絡(luò)模型在檢測精度和檢測速度上都優(yōu)于Faster R-CNN 網(wǎng)絡(luò)和YOLO 網(wǎng)絡(luò),相比于原始SSD 網(wǎng)絡(luò)檢測精度也有明顯提升,但由于特征融合及對網(wǎng)絡(luò)結(jié)構(gòu)的修改增加了網(wǎng)絡(luò)的復(fù)雜度,故檢測速度有所下降。雖然檢測速度由原SSD網(wǎng)絡(luò)的每秒68張下降到每秒58張,仍然是一個可以接受的檢測速度。
結(jié)合肺炎影像檢測過程中,小缺陷較多且較難檢測的特點,對SSD網(wǎng)絡(luò)模型進(jìn)行了相應(yīng)的改進(jìn),解決了對于小缺陷識別準(zhǔn)確率低的問題。為了減小模型對小尺寸病變區(qū)域的漏檢率,對SSD 網(wǎng)絡(luò)模型的特征提取層進(jìn)行了融合。首先,將SSD 網(wǎng)絡(luò)第3 層的輸出經(jīng)過卷積、池化操作調(diào)整為與第6 層輸入相同的尺寸;然后,將調(diào)整過尺寸的第3層網(wǎng)絡(luò)輸出特征圖與第6層網(wǎng)絡(luò)輸入的特征圖進(jìn)行融合,該特征融合使用elementsum算法;最后,將特征提取層種第5層的輸出,通過一個由反池化、反卷積等操作構(gòu)成的解碼器,調(diào)整到與第7層特征圖相同尺寸進(jìn)行特征融合。
為了檢測提出網(wǎng)絡(luò)的性能,通過實驗對比了提出網(wǎng)絡(luò)和基于原始SSD 網(wǎng)絡(luò)對肺炎影像檢測的準(zhǔn)確性,同時與YOLO、Faster-RCNN等常見網(wǎng)絡(luò)也進(jìn)行了對比試驗。從實驗結(jié)果可以看出:提出網(wǎng)絡(luò)在整體準(zhǔn)確性上優(yōu)于對比網(wǎng)絡(luò),同時在一定程度上解決了小病變區(qū)域漏檢率較高的問題。