沈雪雯,王曉東,姚 宇
(1.中國科學院成都計算機應用研究所,成都 610041;2.中國科學院大學,北京 100049)
(?通信作者電子郵箱shenxuewen18@mails.ucas.ac.cn)
心臟作為人體內最重要的器官之一,通過機械做功推動血液的流動維持身體各器官、組織的正常工作,而它的效率與心臟的形態(tài)、心臟四腔體的大小息息相關。因此,準確分割獲取心臟不同時期的輪廓是評定心功能或者心臟疾病必要又重要的程序。在臨床醫(yī)學中,心臟的多種成像方式為心臟結構和功能的評估、診斷、疾病檢測、治療計劃等提供了有力的支持,如磁共振成像(Magnetic Resonance Imaging,MRI)、計算機斷層掃 描(Computed Tomography,CT)成 像、超 聲(UltraSound,US)等。而其中,超聲成像以其價廉、簡便、迅速、無創(chuàng)、無輻射、可連續(xù)動態(tài)及重復掃描等優(yōu)點,成為醫(yī)學中使用率高,受眾面廣的影像檢查技術。因此,從二維超聲心動圖中提取臨床指標進行數(shù)據(jù)分析,對臨床常規(guī)檢測心臟形態(tài)、功能及診斷具有重要意義。例如,提取左室射血分數(shù)(Left Ventricular Ejection Fractions,LVEF)需要準確地描繪舒張末期(End-Diastolic,ED)和收縮末期(End-Systole,ES)的左室內膜。在臨床上,由于全自動心臟切分方法缺乏準確性和可重復性,半自動或手動的心臟切分仍然是龐大而繁重的日常工作。近年來,深度學習在圖像分割領域的迅速崛起,讓計算機科學與醫(yī)療知識的結合成為可能,醫(yī)工交叉領域的研究也成為熱點。
深度學習結合圖像數(shù)據(jù)來輔助疾病診斷能夠更加準確利用技術來解決人體的生理疾病,但由于超聲成像噪聲大、腔體邊界不清晰的特點,同時醫(yī)學超聲樣本很少,表現(xiàn)優(yōu)異的自然圖像分割網絡應用在醫(yī)學圖像分割任務上往往達不到同等優(yōu)秀的效 果。Long 等[1]在全卷 積網絡(Fully Convolutional Network,F(xiàn)CN)中最早提出編碼-解碼(Encoder-Decoder)結構,為實現(xiàn)更為精確的分割引入了上下文信息,這成為圖像分割的開山之作;2015 年MICCAI(Medical Image Computing and Computer-Assisted Intervention)會議上U-Net[2]修改并擴大了FCN 的網絡框架,它的跳躍連接(Skip-connection)和深淺層特征融合的思想,讓少量的訓練樣本就能得到精確的分割結果,也成為現(xiàn)在大多做醫(yī)學影像分割任務的基線網絡;Oktay 等[3]提出的Attention U-Net加入了Attention Gate結構,為醫(yī)學圖像分割打開了新思路;同時還有很多研究通過將U-Net 與ResNet[4]、DenseNet[5]相結合等方法都得到了不錯的效果。
當前的醫(yī)學圖像分割多為二類分割,超聲心臟分割也大多只分割了左心室或者右心室。全心臟超聲序列圖像含有豐富的心臟運動信息,但從超聲序列圖像中提取心臟四腔的同步特性的研究還較少,當臨床醫(yī)生診斷心臟病,例如擴張型心肌病、右心室不正常等病癥時,醫(yī)生需要患者左、右心室和左、右心房的分割結果來進一步計算各種臨床指標,以便作出疾病診斷。本文提出了一種基于空間分頻的超聲圖像分割注意力網絡(Spatial Frequency Divided Attention Network for ultrasound image segmentation,SFDA-Net),該方法基于++引入圖像空間分頻與注意力機制多類分割。根據(jù)實驗室現(xiàn)有的數(shù)據(jù)資源,從病例庫中選取二尖瓣成像數(shù)據(jù),獲得心臟四腔心標準切面,使用SFDA-Net 分割心臟超聲圖像中的左、右心房和左、右心室,得到心臟各腔體的輪廓。
醫(yī)學圖像有著邊界模糊、梯度復雜的特點,需要高分辨率信息用于邊界輪廓精準分割;同時人體內部結構相對固定,分割目標在人體圖像中的分布具有規(guī)律,且語義簡單明確,需要充分利用低分辨率信息來進行目標物體的識別。醫(yī)學圖像分割的特殊需求在U-Net的編碼-解碼(Encoder-Decoder)結構得到了滿足。但在實際分割任務中,大物體邊緣信息和小物體本身很容易被網絡在降采樣和升采樣中丟失,不同于FCN 和Deeplab[6]等,U-Net沒有直接在高級語義特征上進行監(jiān)督和損失誤差(Loss)的反向傳播,而是利用跳躍連接進行深淺層特征融合,獲得更多的信息,幫助還原降采樣所帶來的信息損失。
但U-Net對于特征的利用程度仍然是有限的,Zhou等[7]受到ResUNet、DenseUNet 的啟發(fā)提出UNet++,讓不同深度的U-Net 學習不同深度的特征,共享一個特征提取器。UNet++沒有直接使用U-Net 的跳躍連接,而是改為使用短連接與長連接的結合,長連接就是跳躍連接,短連接則是把每個分支U-Net在同一層相同尺寸的特征都連接起來,讓模型的中間部分參數(shù)能夠有效參與訓練,這個改動把1~4 層的分支U-Net全部連了起來。
UNet++編碼(Encoder)操作中使用了4 次下采樣,用來降低運算量,增加對輸入圖像小擾動的魯棒性,同時擴大了深層結構的感受野;對稱地,在解碼(Decoder)操作也進行4次上采樣,將Encoder 得到的高級語義特征圖恢復到原圖片的分辨率,分類輸出。同時UNet++還使用了深監(jiān)督(Deep Supervision),具體實現(xiàn)是在4個分支U-Net的輸出后分別進行1×1的卷積,計算4個Loss,主要是為了讓模型選擇做一個平均再得到最終輸出,或者從其中的所有分支輸出選擇一個作為輸出。本文沒有使用UNet++的深監(jiān)督方式,而是在最后一個輸出層對每個分支U-Net的輸出X01、X02、X03、X04以及對輸入的初始化層輸出X00 進行拼接,最后用一個1×1 的卷積分類輸出,利用中間部分收到傳遞過來的梯度共同計算Loss。本文SFDA-Net結構如圖1所示。
圖1 SFDA-Net結構示意圖Fig.1 Structure schematic diagram of SFDA-Net
在自然圖像中,信息以不同的頻率在傳遞,同樣,對于卷積層輸出的特征圖也可以看作是不同頻率下信息的混合。Chen 等[8]提出了一種新的Octave 卷積(Octconv),用來存儲和處理空間分辨率較低且空間變化較慢的特征圖。Octave 卷積的正交性和互補性對于建立更好的拓撲結構和減少深度卷積網絡中低頻信息帶來的空間冗余有良好的效果,在提高精度的同時,節(jié)約計算資源的消耗。Octconv 使用一個α系數(shù)將特征圖分解為高分辨率(高頻)分量(XH)和低分辨率(低頻)分量(XL)兩個部分,低頻部分保存圖像的抽象信息,信息數(shù)據(jù)量少;高頻部分保存圖像的邊緣、輪廓等細節(jié)信息,信息數(shù)據(jù)量大。同時還提出了多頻特征表示方法將平滑變化的低頻映射存儲在低分辨率張量中,可以減少空間冗余。
如圖2所示,αin為輸入的低頻通道占總通道的比例,總輸入張量的尺寸為cin×w×h,總輸出張量的尺寸為cout×w×h,Wp→q為相應卷積核。取卷積尺寸為cin×cout×k×k(stride=1,padding=same),普通卷積對于輸出特征圖(feature map)中的每個數(shù)據(jù),需要進行cin×k×k次乘加計算,可以得出總計算量為Cconv=(cin×k×k)×(cout×w×h)。對比普通卷積,Octave 卷積有一定的比例是低頻通道,操作會有一定的復雜性,但在性能和計算量上總體都優(yōu)于普通卷積。Octconv 直接作用于XH、XL,兩組頻率之間會通過上采樣和下采樣進行信息交互,輸出高、低頻分量(YH、YL),這能夠為網絡帶來更加多元的信息,內部共有四個操作。
圖2 Octave卷積Fig.2 Octave convolution
1.2.1 高頻到高頻
使用指定卷積核WH→H對高頻分量XH直接卷積,得到:
計算量為:
1.2.2 高頻到低頻
首先進行步長和尺度為2 的平均池化,之后卷積生成與YL通道數(shù)相同的特征,得到:
計算量為:
1.2.3 低頻到高頻
通過上采樣生成與XL長寬相同的張量,得到:
計算量為:
1.2.4 低頻到低頻
操作同YH→H,使用指定卷積核WL→L對低頻分量XL直接卷積,得到:
計算量為:
最后通過式(1)、(3)得到高頻輸出YH=YH→H+YL→H,通過式(2)、(4)得到低頻輸出YL=YH→L+YL→L,Octave 卷積四個操作的計算量相加得到總計算量Coctconv,有:
在αin∈[0,1]中單調遞減,當取αin=1時,有Octave 卷積的計算量僅為普通卷積的1/4;當取αin=0 時,輸入沒有低頻通道,此時Octave卷積與普通卷積相同。
在引入注意力機制之前,長距離信息會被弱化,一些重要的信息在經過層層處理之后會丟失,所以將有限的注意力集中在重要的信息上,快速獲得有效信息成為了模型優(yōu)化的突破點。Vaswani 等[9]提出了不使用循環(huán)神經網絡(Recurrent Neural Network,RNN)或卷積神經網絡(Convolutional Neural Network,CNN)等復雜的模型,僅僅依賴注意力模型可以使訓練并行化且擁有全局信息。注意力建模在自然語言處理領域的成功,激發(fā)了它在計算機視覺領域的應用。在計算機視覺中注意力機制(Visual Attention)的實現(xiàn)有兩種方式:一種是Mask RCNN[10]采用的添加先驗來引入注意力,假如目標是分割小狗,首先檢測出小狗的邊框(bounding box,bbox)后再對bbox內的小狗進行分割,可看作目標檢測和語義分割的結合,常用于實例分割,屬于硬注意力(Hard Attention)。另一種是讓網絡利用全局信息有效地增強有益特征通道同時抑制無用特征通道,從而實現(xiàn)特征通道自適應校準,這就是Hu 等[11]提出的SENet(Squeeze-and-Excitation Network),屬于軟注意力(Soft Attention)。Woo 等[12]基于SENet 進行了進一步拓展,提出了一種結合通道和空間的卷積塊注意模塊(Convolutional Block Attention Module,CBAM),把通道注意力模塊(Channel Attention Module)和空間注意力模塊(Spatial Attention Module)串聯(lián)起來,先找到“哪個特征是重要的”,再關注“哪里的特征是有意義的”,找出圖片信息中需要被關注的區(qū)域,通過對應的空間變換把關鍵信息提取出來[13]。CBAM 結構如圖3所示。
圖3 CBAM結構Fig.3 Structure of CBAM
1)通道注意力模塊。首先將H×W×C的輸入特征F分別經過全局最大池化(MaxPool)和全局平均池化(AvgPool)得到兩個1×1×C的通道描述,把它們分別送進一個參數(shù)共享的兩層的神經網絡MLP(Multi-Layer Perceptron)。第一層神經元個數(shù)為C/r,激活函數(shù)為線性整流函數(shù)(Rectified Linear Unit,ReLU),第二層神經元個數(shù)為C,將得到的兩個特征相加后經過一個Sigmoid激活函數(shù)得到權重系數(shù):
最后把Mc(F)與F相乘即可得到縮放后的新特征F'。
2)空間注意力模塊。關注“哪里的特征是有意義的”,對通道注意力的輸出F'先分別進行一個通道維度的平均池化和最大池化得到兩個H×W×1 的通道描述,并將這兩個描述按照通道拼接在一起。然后經過一個7×7的卷積層,激活函數(shù)為Sigmoid,得到權重系數(shù):
最后Ms(F)和F'相乘即可得到縮放后的新特征F"。
這兩個模塊形成了互補,并且在模塊內使用全局最大池化和全局平局池化并行的方法,降低池化操作帶來的損失的同時獲得了更加多元的信息,使得CBAM 相較于SENet 只關注通道的注意力機制可以取得更好的效果,并且在小模型上添加CBAM 只需要增加少量的計算量,就能帶來穩(wěn)定的性能提升。
在Encoder 時,需要對圖像進行下采樣,降低計算量的同時進行特征提取,但在這個過程中圖片的分辨率也在降低。于是在Decoder 的部分,本文使用雙線性插值上采樣(Bilinear Upsampling)恢復各層最后輸出的特征圖的大小,到最終輸出層得到與原圖像大小尺寸一樣的輸出。雙線性插值上采樣利用原圖像中目標點四周的四個真實存在的像素值來共同決定目標圖中的一個像素值,其核心思想是在兩個方向分別進行一次線性插值。
如圖4所示,已知Q12、Q22、Q11、Q21,但是要插值的點為P點,首先在X軸方向上對R1和R2兩個點進行插值,得到:
圖4 雙線性插值上采樣Fig.4 Bilinear interpolation upsampling
然后在Y軸方向上根據(jù)R1和R2對P點進行插值,得到:
普通的上采樣將一個點復制作為周圍四個點的像素值,雙線性插值上采樣需要周圍四個點共同線性計算,不易產生像素突變,要更加穩(wěn)健,同時雙線性插值上采樣方法不需要進行學習,運行速度快,操作簡單。
UNet++的主要優(yōu)勢在于連接了每個分支U-Net 共享一個編碼層,讓模型中間部分都參與了訓練,使Encoder 過程中出現(xiàn)的未知信息損失得到一定程度的修復,從而在增加的參數(shù)量不多的基礎上,獲得了明顯的性能提升。但每個分支U-Net共享一條Encoder路徑,這使得它們在下采樣過程中丟失掉的是同樣的信息,UNet++雖然在Decoder 過程中雖然獲得了不同深度的U-Net 特征,但這種特征差異性是在每個分支U-Net進行各自的上采樣之后得到的,所以UNet++在特征恢復的過程中的信息補充是有限的,同時缺乏針對性。
本文提出了一種基于空間分頻的超聲圖像注意力網絡(SFDA-Net),使用UNet++作為基礎框架,共設計5 層,如圖1所示,其中圖1 中的U1 內部實現(xiàn)結構如圖5 所示,SFDA-Net分頻框架示意圖如圖6 所示。用Octconv 取代傳統(tǒng)二維卷積(2-D Convolution,Conv2D),將整個框架分為高、低頻同步并行的兩個具有完整UNet++結構的支路,在編碼-解碼的每一層都使用Octconv讓高頻支路和低頻支路進行一次信息交互。這個改進一方面可以降低模型的參數(shù)量,另一方面是為了減少每個編碼層在下采樣中引入的信息丟失,同時讓整個網絡獲得更加豐富的信息。在解碼部分雙線性插值上采樣進行圖像恢復,在每個上采樣之后,都與同層(stage)、同尺度的特征進行拼接,拼接后緊跟CBAM,用于提高模型注意力,加強模型在接下來卷積操作中對目標區(qū)域的關注,實現(xiàn)更為精準的像素類別分類。同時SFDA-Net 在Encorder 中使用雙線性插值上采樣,盡可能避免恢復特征出現(xiàn)偏移等問題,使網絡更加穩(wěn)健。
圖5 U1內部實現(xiàn)結構Fig.5 Internal implementation structure of U1
圖6 SFDA-Net分頻框架示意圖Fig.6 Schematic diagram of SFDA-Net framework with frequency division
實驗中使用到了三種Octconv:1)initial octconv(init-oct)。在網絡的輸入層使用(此時輸入作為高頻),首先對輸入進行下采樣得到低頻特征,然后進行Octconv,得到高頻輸出、低頻輸出。2)common octconv(com-oct)。除了輸入層和輸入層,模型其他部分均采用com-oct,輸入為高頻、低頻特征,直接進行Octconv,可以通過超參α控制輸出高、低頻的通道占比;3)final octconv(fin-oct)。在最后的輸出層使用,輸入為高頻、低頻特征,在卷積之后,將低頻上采樣與高頻相加,輸出高頻。
在圖1 的框架中,X00_[H,L]是輸入張量(Input Tensor)通過init-oct 得到,U4 的解碼最頂層X04_[H,L]經過fin-oct 后得到一個與原輸入尺寸相同的X04,將X04 再進行1×1 的卷積分類輸出。由于Octconv的高低頻輸出特性,網絡所有層都有高頻支線、低頻支線平行處理,在每層的com-oct 處進行高低頻信息交互,Encoder 和Decoder 通過拼接操作(Concat)進行特征融合。在模型底部時沒有使用fin-oct 得到Bottom,是為了獲得更高一級的抽象特征,所以通過融合操作(Merge)將低頻上采樣與高頻相加。
Tversky 系數(shù)是Dice 系數(shù)和Jaccard 系數(shù)(IoU 系數(shù))的廣義系數(shù),它的計算式為:
其中:X表示真值;Y表示預測值。α和β均為0.5 時,式(15)就是Dice 系數(shù);α和β均為1 時,式(15)就是Jaccard 系數(shù)。實際上Dice Loss 是Tversky Loss 的一種特殊形式。醫(yī)學圖像分割中,特別是小病灶類分割,常使用Dice Loss 作為目標函數(shù),它在樣本極度不均衡的情況有良好的表現(xiàn),但一般情況下使用會對反向傳播有不利的影響,使訓練不穩(wěn)定。在項目中,心臟四腔體四類所占的目標區(qū)域與背景類相差不多,使用Dice Loss作為目標函數(shù)(Loss Function)效果并不理想,在訓練中波動幅度比較大。
本文使用了Focal Tversky Loss[14-15]作為目標函數(shù),它降低簡單樣本(預測概率大的樣本)的權重,給難分類的樣本較大的權重,從而加強對困難樣本(Hard Examples)的關注。直觀來說就是,對于正樣本,使簡單樣本得到的Loss 變小,而困難樣本的Loss變大。Focal Tversky Loss 引入γ系數(shù),學習帶有小目標感興趣區(qū)域(Region Of Interest,ROI)的困難樣本:
其中:TI是Tversky系數(shù);γ∈[1,3]。
實驗數(shù)據(jù)來源于合作醫(yī)院,采用飛利浦IE33 超聲監(jiān)測設備采集的術中超聲心動圖序列,并轉換為.avi 視頻。通過視頻抽幀、數(shù)據(jù)篩選,過濾掉成像過度扭曲、目標區(qū)域清晰度太低的圖像,最后保留了699 張圖像,大部分都為心臟二尖瓣切面,包含有四個腔體。為了避免數(shù)據(jù)量太少導致網絡過擬合,進行了數(shù)據(jù)增強,最終制作投入使用的訓練集圖片2 400 張,驗證集圖片800張,測試集圖片295張。數(shù)據(jù)標注與預測中紅色(深灰色)為左心房(Left Atrium,LA),黃色(淺灰色)為右心房(Right Atrium,RA),綠色(中灰色)為左心室(Left Ventricle,LV),藍色(偏黑色)為右心室(Right Ventricle,RV)。
3.2.1 CBAM性能分析
圖像在層層下采樣之后,不可避免地會丟失細節(jié)信息,Encoder-Decoder 和短連接的結構能夠降低損失,但是通過上采樣進行圖像恢復后,在多噪聲的影響下網絡仍然會難以關注所需要關注的細節(jié)信息,不能準確定位目標類別的輪廓界限,所以SFDA-Net在每個stage特征拼接之后使用CBAM注意力模塊,目的是讓模型在接下來的特征恢復和提取中,更加關注目標區(qū)域,而不被背景類吞噬,從而實現(xiàn)更為精準的分割。圖7展示了SFDA-Net及其在去掉CBAM的情況下的分割可視化對比,CBAM 對目標區(qū)域的類間像素分離是有效的,CBAM使網絡的精度從92.28%提升至94.48%,Dice得分從90.53%提升到93.48%,效果明顯。
圖7 SFDA-Net使用CBAM所帶來的性能提升Fig.7 Performance improvement of SFDA-Net using CBAM
3.2.2 Focal Tversky Loss性能比較
實驗對比了交叉熵損失函數(shù)、Dice Loss、Focal Tversky Loss作為目標函數(shù)時模型的表現(xiàn)情況,如表1和圖8所示。
圖8 三種損失函數(shù)輸出的可視化結果對比Fig.8 Comparison of visualization results output by three loss functions
表1 不同損失函數(shù)時SFDA-Net的性能Tab.1 Performance of SFDA-Net with different loss functions
由表1 可以看出,交叉熵損失是多類分割常用的損失函數(shù),它的訓練數(shù)據(jù)精度能夠達到0.968 2,Loss 能夠低至0.100 7,但是驗證Loss卻比訓練Loss高出接近0.2,模型的泛化性能不優(yōu)秀,并且Dice 得分不高。Dice Loss 是醫(yī)學圖像中常用的、性能優(yōu)秀的損失函數(shù),它能夠有效地降低訓練Loss、提高訓練精度。但在本實驗中,模型使用Dice Loss 時訓練過程不穩(wěn)定,同時得到的驗證數(shù)據(jù)和訓練數(shù)據(jù)差距較大,有可能存在過擬合風險,對于難分類區(qū)域(RA、RV 之間)不能準確界定邊界,分類誤判較大,不穩(wěn)健。所以本實驗中將Dice Loss作為度量學習(Metric Learning)衡量方式。而Focal Tversky Loss不僅僅只是訓練數(shù)據(jù)綜合最優(yōu),驗證數(shù)據(jù)也是最優(yōu)的,它通過加大難分割區(qū)域的權重,讓難分界的RA、RV之間有了明顯界限。交叉熵損失和Dice Loss 在LV 左下角處存在像素類別誤判,Dice Loss的LA 輪廓和噪聲多的地方分類為RA,這些細節(jié)被Focal Tversky Loss 優(yōu)化掉,極大降低了像素分類錯誤的可能。
3.2.3 不同方法的分類輸出結果對比
本次實驗在Ubuntu16.04 平臺下進行,訓練環(huán)境是基于Tensorflow 1.14.0 版本下的Keras 2.2.4 框架,訓練使用NVIDIA Tesla P40 和GTX 1070 Ti。訓練分20 個epoch,每個epoch 迭代100 次,模型在epoch=10 時訓練精度上升到0.909 9;epoch=14 時逐漸趨于收斂,訓練精度達到0.95 左右;epoch=17 時,訓練精度穩(wěn)定在0.96。圖9 是在模型深度相同的情況下不同算法對于相同數(shù)據(jù)的預測輸出可視化結果對比。
模型輸入圖像與標簽(label)尺寸為460×600,本文使用labelme 3.16.7 標注得到JSON 格式封裝的標簽,隨后對JSON文件解碼得到.png格式的彩色可視化label,如圖9(b)。但此時的label 是索引圖,沒有實際像素值,所以在把label 投入模型之前,需要將其轉為灰度圖。
圖9 不同算法的分割結果對比Fig.9 Segmentation result comparison of different algorithms
在本數(shù)據(jù)集上,U-Net 能夠大致識別出心臟目標分割區(qū)域,但是無法準確區(qū)分各個類別,在大部分預測效果中沒有分割出RA,被分類為RV,且LV 左下角缺失嚴重,四個腔體的中間“十”字邊界不清晰。UNet++的短連接和多個分支U-Net聯(lián)合的改進是有效的,在一定程度上彌補了U-Net 在LV 邊界上的丟失,整體表現(xiàn)優(yōu)于U-Net。
不同算法的參數(shù)量和精度如表2 所示。相較于U-Net 和UNet++兩個算法,SFDA-Net 借助Octave 卷積實現(xiàn)了空間分頻,以獲得更加多元、豐富的信息,其高低頻系數(shù)α設為0.5;在加入的CBAM 中,通道注意力部分需要調節(jié)參數(shù)共享的第一層MLP 神經元個數(shù),通過實驗得出設置r=8 時,模型有最優(yōu)秀的性能表現(xiàn)。SFDA-Net 能夠準確識別四個腔體的位置,類間分類誤差極大降低,邊界輪廓雖然存在缺失,但心臟四個腔體的大小形狀預測是連貫完整的。U-Net的精度為86.8%,UNet++增加了2×106的參數(shù)量但是模型精度提升不到2 個百分點,基于UNet++改進的SFDA-Net 精度達到了94.5%,相較于UNet++提升了6.2個百分點。
表2 不同算法的參數(shù)量和精度Tab.2 Parameter numbers and accuracies of different algorithms
3.2.4 評價指標
本文主要使用Dice 得分(dice score)、類別平均像素精度(mean Pixel Accuracy,mPA)和平均交并比(mean Intersection over Union,mIoU)三項指標評價算法性能。
Dice 得分是用來度量集合相似度的函數(shù),通常用于計算兩樣本之間的像素[16],計算式如下:
其中:X是真值;Y是預測值;dice_score的取值范圍是[0,1]。
mPA計算每一類分類正確的像素點數(shù)與該類的所有像素點數(shù)的比值,然后求均值,獲得評價:
mIoU 是均值交并比,用來計算真值和預測值的交集和并集之比,將每一類的IoU 計算之后累加,再進行平均,得到全局評價:
其中:i表示真值;j表示預測值表示真實情況下第i類表示預測為第i類的像素總數(shù)。的像素總數(shù)
由表3 可以看出,SFDA-Net 在三種評估指標上表現(xiàn)都優(yōu)于其他兩個網絡。其中,U-Net的預測有心臟的大致輪廓與位置,但在各目標類別的像素誤判較大,RA和RV幾乎沒有分開而被歸為一類,LV 右下方出現(xiàn)了大量丟失而被判為背景類,所以它的mIoU 較低。UNet++雖然適當提升了U-Net 的性能,但是預測各類間的邊界仍然不清晰,預測像素不連續(xù),存在缺失。SFDA-Net 的預測也存在一定誤差,各類像素間存在少量誤判,但四個腔室獨立而完整,相較于UNet++,它的mIoU 提高了10個百分點左右。
表3 不同算法的評價結果對比Tab.3 Comparison of evaluation results of different algorithms
3.2.5 SFDA-Net在CAMUS數(shù)據(jù)集上的表現(xiàn)
將SFDA-Net 應用于公開的CAMUS 數(shù)據(jù)集,實驗結果如表4 所示和圖10 所示。該數(shù)據(jù)集由500 名患者的臨床檢查組成,原始輸入圖像為.raw 和.mhd 文件格式,它的標注為左心室、左心房、心肌內膜。本文對原始數(shù)據(jù)進行相應處理后用于SFDA-Net得到了不錯的效果,模型在epoch=18時接近收斂,訓練精度穩(wěn)定在0.94 左右。由表4 可以看出,SFDA-Net 并不只限于本實驗數(shù)據(jù)集是有效的,對于其他的超聲圖像多類分割同樣適用。
表4 SFDA-Net在CAMUS數(shù)據(jù)集上的性能Tab.4 Performance of SFDA-Net on CAMUS dataset
圖10 SFDA-Net在CAMUS數(shù)據(jù)集上的分割結果Fig.10 Segmentation results of SFDA-Net on CAMUS dataset
本文針對超聲圖像的特殊性提出了一種引入注意力機制的空間分頻圖像分割網絡SFDA-Net,對心臟超聲圖像四腔體進行分割,并使用Octave卷積代替普通卷積,在降低參數(shù)量和計算量的同時,穩(wěn)步提高了網絡性能。同時SFDA-Net 使用CBAM 和Focal Tversky Loss 結合讓模型更加關注難以分割的模糊目標區(qū)域,避免一些位置和邊緣信息的損失,進行更為精準的圖像恢復,相較于UNet++準確率提高了6.2個百分點。
實驗所使用的數(shù)據(jù)是病人患病時的心臟彩超,所以超聲心臟圖就會有一些彩色高亮非心臟區(qū)域出現(xiàn)在圖像上,且超聲圖源本身存在亮度低、像素多為黑色、邊界不連續(xù)[17]的情況,這都會給分割帶來困難。超聲心臟數(shù)據(jù)太少,基于這個原因在數(shù)據(jù)清洗方面無法做到那么嚴格,使用的數(shù)據(jù)沒有那么優(yōu)質。同時數(shù)據(jù)標注是在醫(yī)院專家的指導下完成的,標注的邊界和輪廓沒有專家的專業(yè)標注那么精準,所以在預測左、右心房邊界時會出現(xiàn)一些邊界像素點分類錯誤。盡管在數(shù)據(jù)上會給分割任務引入一些擾動,但是SFDA-Net仍然取得了不錯的成績,有益于對超聲醫(yī)學圖像分割的實現(xiàn)和發(fā)展[18-19],后續(xù)將針對SFDA-Net存在的上述問題作進一步的研究。