?

基于Mask RCNN和U-Net結合的三階段腎臟與腫瘤分割方法

2022-06-15 13:37周少飛秦品樂武志芳
中北大學學報(自然科學版) 2022年3期
關鍵詞:切片斷層腎臟

周少飛, 柴 銳, 秦品樂, 武志芳

(1. 中北大學 大數據學院, 山西 太原 030051;2. 生物醫學成像與影像大數據山西省重點實驗室, 山西 太原 030051;3. 山西醫科大學第一醫院 核醫學科, 山西 太原 030001)

0 引 言

腎臟腫瘤是影響人體泌尿生殖系統健康的惡性腫瘤之一[1]. 臨床治療中, 根治性腎切除手術是最常用的方式, 但存在術后因腎功能缺失而造成生活不便的問題, 所以, 保留腎單位的手術被廣泛應用于腎臟腫瘤治療中[2], 這就要求進行手術之前, 得到腎臟與腫瘤的準確分割結果[3]. 但是, 在腹部掃描圖像的成像中存在的組織細節對比度較低、 腎臟與腫瘤形狀不規則都會對其精確分割造成困難[4].

在傳統分割方法中, 更關注腎臟和腫瘤作為整體的分割, 且大多數都是利用基于水平集、 上下文信息等的方法來定位腎臟位置, 再通過設定閾值、 隨機森林等做進一步分割[5-6]. 這些方法不僅速度慢而且精度低, 不適合在臨床中使用, 所以對更高效精準的自動分割方法的需求非常迫切. 隨著深度學習的發展, 用于圖像分割的方法層出不窮. 在自然圖像分割領域, He等[7]提出的Mask RCNN表現出了極優的性能, 現已逐步將其應用在醫學圖像的檢測和分割中, 但對醫學圖像這種數據量少的數據集來說, 其分割效果并不理想. 對于增強CT中腎臟與腫瘤的分割, 基于深度學習方法的應用也日益廣泛, Cruz等[8]先對切片進行分類, 然后再利用2D U-Net網絡分割腎臟, 該方法沒有將腫瘤單獨進行分割; Tsai等[9]提出了一種兩階段的分割方法, 先將腎臟與腫瘤作為整體進行分割, 得到感興趣的區域后再對其進行細分; Guo等[10]先利用閾值獲取腎臟中感興趣的區域, 再使用加入殘差和注意力的U-Net進行腎臟與腫瘤的分割, 最后利用條件隨機場對分割結果進行校正, 合適的后處理方式對分割精度的提升有一定作用. 這些分割方法都基于多階段的方式, 提取感興趣的區域后再對腎臟及腫瘤進行分割, 有效地提高了分割精度. Zhao等[11]提出基于3D U-Net的自動分割方法, 在訓練的過程中加入多尺度監督來提高學習效率, 但是該方法是在3D U-Net架構能提取足夠的特征的假設下提出的. 3D U-Net等3D網絡雖然能充分利用圖像信息, 但因為醫學圖像較自然圖像難采集, 數據量較少, 加上硬件設備性能的限制, 直接使用3D數據易造成過擬合的問題[12].

本文提出基于Mask RCNN和U-Net結合的三階段方法來實現增強CT中腎臟與腫瘤的分割, 第一階段, 匯總包含腎臟的軸向斷層切片序列, 即識別含有腎臟的斷層切片, 以縮小腎臟范圍, 該階段并不涉及腎臟和腫瘤的具體分割; 第二階段, 對上一階段選定的斷層序列進行訓練, 實現腎臟與腫瘤的分割; 第三階段, 對腫瘤進行分割, 再將第二、 第三階段的結果融合. 第二、 第三階段訓練數據的輸入形式為2.5D, 向網絡傳遞沿通道堆疊在一起的相鄰軸向斷層切片, 既可以提供每張斷層切片內部的上下文信息, 又可以提供幾張斷層切片堆疊組成的體積信息. 通過不斷縮小目標斷層切片范圍使得分割更關注于腎臟及腫瘤的特征信息, 同時在非腎臟區域減少假陽性. 按照多階段的方式進行分割來提高最終的分割精度.

1 本文方法

本文方法總體流程如圖 1 所示, 包括: 1) 數據預處理. 對圖像進行窗寬窗位調整及歸一化操作, 以提高組織的對比度. 2) 匯總包含腎臟的斷層切片. 利用Mask RCNN網絡從輸入圖像中識別腎臟, 匯總包含腎臟的斷層切片序列. 3) 腎臟與腫瘤分割. 利用基于U-Net的網絡對選定序列進行腎臟與腫瘤的分割, 然后匯總包含腫瘤的斷層序列. 4) 腫瘤分割, 結果優化. 對選定序列進行腫瘤分割, 對結果進行優化, 然后與上一階段腎臟分割的結果融合. 5) 結果后處理. 利用基于三維連通域的方法對分割結果進一步優化.

圖 1 本文方法流程圖

1.1 預處理

為了使圖像中的目標組織細節得到增強, 首先對其窗寬窗位進行設置, 具體為: 將CT值大于500 HU(Hounsfield Unit)的值設置為500 HU, CT值小于-200 HU的值設置為-200 HU, 接著歸一化至區間[0,1], 可表示為

(1)

式中:Xmin為CT值中的最小值;Xmax為CT值中的最大值. 數據預處理效果如圖 2 所示, 圖像中組織的對比度得到提高.

圖 2 數據預處理效果對比

1.2 第一階段: 匯總腎臟斷層切片序列

該階段實現含有腎臟斷層切片序列的匯總, 只需要識別斷層切片中是否含有腎臟. 在CT圖像中, 腎臟只存在于某些連續斷層里, 通過將匯總得到的包含腎臟的序列輸入下一階段進行分割, 減少非腎臟斷層內的假陽性對結果的影響, 利于最終的分割. 該階段利用Mask RCNN網絡[7]對圖像中的腎臟進行識別, 網絡結構如圖 3 所示, 其中采用預訓練的resnet50-fpn[13]作為主干網絡, 通過主干網絡提取特征得到特征圖, 根據特征圖生成候選感興趣區域(Region of Interest, ROI), 然后將ROI送入區域生成網絡(Region Proposal Network, RPN)進行二值分類, 過濾掉一部分不合適的ROI, 接著對剩余的ROI進行ROI Align操作, 最后對其進行分類(背景、 腎臟)、 邊界框回歸和mask生成. 具體是將圖像標簽作為mask, 每張圖像中mask的最小外包矩形作為邊界框, 最終在圖像上可視化輸出概率最大的邊界框. 在該過程中將腎臟與腫瘤作為整體進行識別, 第一次出現邊界框的斷層被認為是腎臟開始的斷層, 邊界框結束的斷層被認為是腎臟結束的斷層, 得到這兩個斷層的層數即得到包含腎臟的斷層序列. 在腹部CT圖像中, 腎臟是連續的, 所以對每一個患者的CT圖像, 只要找到腎臟開始的斷層數和腎臟結束的斷層數, 就認為兩者之間的所有斷層切片都含有腎臟, 記錄這兩個數據, 將得到的結果作為下一階段輸入網絡訓練的序列.

圖 3 Mask RCNN網絡結構

1.3 第二階段: 腎臟與腫瘤分割

該階段對腎臟與腫瘤進行分割, 為了得到更好的分割結果, 希望在訓練的過程中可以將提取到的特征信息更完整地傳遞下去, 該階段的輸入數據為前一階段匯總的斷層序列, 且為整幅圖像. 借鑒文獻[9] 的網絡結構, 本文使用增加密集模塊(Dense block)的U-Net網絡, 同時在上采樣時使用雙三次插值. 密集模塊如圖 4(a) 所示, 其特點是在同一模塊中, 每層都與之前所有層連接, 同時也與之后所有層建立連接, 特征在每個連接中得到傳遞, 它們在通道維度上進行疊加, 可表示為

xl=Ml([x0,x1,…,xl-1]),

(2)

式中:xl表示第l層的輸出;M表示非線性變換; [x0,x1,…,xl-1]表示將0到l-1層的特征疊加.

該階段總體網絡結構如圖 4 所示, 下采樣層采用預訓練的densenet161[14]實現特征提取. 在每個密集模塊之后采用過渡層(Transtion layer), 其結構如圖 4(b) 所示, 包含卷積和平均池化, 可以使特征在不同的密集模塊之間傳遞, 從而減小特征圖的尺寸. 在上采樣的過程中, 得到的特征圖通過跳躍連接與下采樣得到的特征圖結合, 逐漸增大圖像尺寸, 上采樣層中使用雙三次插值, 使得特征圖在該過程中保留更多的特征信息, 利于最終的分割.

圖 4 網絡結構

第一、 第二階段輸入的斷層切片序列說明如圖 5 所示.

圖 5 第一、 第二階段相關斷層切片說明

關于圖 5 具體說明如下:

1) (a)表示CT序列中真實包含腎臟和包含腫瘤斷層切片的情況.

2) (b)表示第一階段結束后, 分割得到的包含腎臟的斷層切片序列情況. 其中, min表示腎臟開始出現時的斷層數, max表示腎臟結束時的斷層數.

3) (c)表示對第一階段得到的分割結果進行擴展后的斷層切片序列, 即第二階段進行腎臟與腫瘤分割時輸入的序列. 為減少因為腎臟兩端未識別造成的誤差, 這里對兩端斷層切片數量進行擴展, 對比第一階段匯總的斷層序列和真實含有腎臟的斷層序列, 當擴展的斷層切片數設置為5時, 可以彌補因未識別造成的誤差, 所以下一階段輸入訓練的斷層序列為((min-5),(max+5)).

4) (d)表示第二階段結束后, 分割得到的包含腫瘤的斷層切片序列, 其中min表示腫瘤開始出現時的斷層數, max表示腫瘤結束時的斷層數.

5) (e)表示對第二階段得到的序列進行擴展后的結果, 即第三階段進行腫瘤分割時輸入的斷層切片序列. 同樣為了減少因腫瘤兩端未識別造成的誤差, 通過與實際包含腫瘤的斷層序列對比后, 擴展兩端斷層的數量, 得到下一階段輸入訓練的斷層序列((min-2),(max+2)).

1.4 第三階段: 腫瘤分割

該階段對腫瘤進行分割, 將腎臟視為背景, 具體將上一階段得到的包含腫瘤的斷層序列作為輸入, 且為整幅圖像, 單獨對腫瘤進行分割, 減少非腫瘤區域對分割的影響, 提高腫瘤的分割精度. 該階段需要對腫瘤的特征信息進行充分提取, 并使特征盡可能得到保留, 所以該階段選擇使用與第二階段一致的網絡, 最終輸出腫瘤的分割結果. 先對結果進行后處理操作, 然后再將第二階段腎臟、 腫瘤分割結果與第三階段腫瘤分割結果融合, 作為最終的結果.

1.5 后處理

得到第三階段腫瘤分割的結果和第二、 第三階段腎臟腫瘤融合的結果之后, 采用基于三維連通域分析的方法去除假陽性區域. 在本文的分割背景下, 連通域是指CT圖像中腎臟或腫瘤區域, 連通域分析是指找到腎臟或腫瘤區域并按要求進行標記. 具體標記連通區域并分析時, 利用腹部CT序列圖像是三維的特點, 對檢測到的每個標記對象組成的區域體積進行計算. 在去除腫瘤分割結果中的假陽性區域時, 通過對腫瘤體積進行分析, 將區域體積小于最大區域體積0.9倍的部分移除能得到更好的結果; 去除第二、 第三階段融合后的結果中假陽性區域時, 選擇大于閾值的連通區域作為最終分割結果, 在本文中, 閾值設置為50 000.

1.6 損失函數

第一階段匯總含有腎臟的切片序列, 損失函數計算式為

L=Lcls+Lbox+Lmask,

(3)

Lcls表示分類損失, 計算公式為

(4)

Lbox表示邊界框回歸損失, 計算公式為

(5)

Lmask表示掩碼像素分割損失, 通過對像素使用Sigmoid函數, 然后取感興趣區域中的平均交叉熵得到.

第二階段實現腎臟與腫瘤的分割, 使用一般Dice損失(Generalized Dice Loss, GDL). GDL的計算公式為

(6)

式中:rln為類別l在第n個像素的真實值;pln為相應的預測結果的概率值;N表示每張圖片中的所有像素的數量;wl為每個類別的權重.

(7)

第三階段實現腫瘤分割, 使用Dice損失, 計算公式為

(8)

式中:C為數據集給出的分割結果中腫瘤的像素計數;D為模型預測結果中腫瘤的像素計數. 分母中有重復計算的元素, 所以分子中系數為2.

2 實驗結果與分析

2.1 數據集

本文使用的數據為開源數據集(KiTS19[15]), 包含2010年至2018年間接受根治性腎切除或部分腎切除手術的患者腹部的增強CT圖像. 在本文中, 主要使用210例(45 965張)患者CT序列圖像, 每個序列都由二維掃描圖像組成, 且都有完整的腎臟及腫瘤標注信息, 將其按照一定的比例劃分為訓練集(147例, 31 983張)、 驗證集(33例, 8 071張)、 測試集(30例, 5 911張). 最后將訓練好的模型在從醫院采集到的613張CT圖像上進行分割及可視化.

2.2 實驗設備及參數設置

使用NVIDIA Tesla V100 32GB圖形處理器(Graphic Processing Unit, GPU)進行模型訓練, 同時使用中央處理器(Central Processing Unit, CPU)進行測試. 基于服務器的配置情況, 在保證能夠正常訓練的前提下, 第一階段初始學習率設置為0.005, 動量因子設置為0.9; 第二、 第三階段初始學習率設置為0.000 1, 每階段都設置51個epoch, 每3個epoch進行一次驗證, 網絡結構由Pytorch實現.

2.3 實驗指標與結果分析

第一階段使用以下定量指標來評價公開數據集中結果的準確度: 召回率(Recall)、 精準率(Precision).

召回率的計算公式為

(9)

式中:TP表示正確預測為腎臟部分;FN表示被錯誤預測為背景的部分.

精準率的計算公式為

(10)

式中:FP表示將背景錯誤預測為腎臟的部分.

第二階段腎臟與腫瘤分割及第三階段腫瘤分割, 采用以下定量指標來評價分割結果的準確度及精度: Dice系數(Dice coefficient)、 杰卡德系數(Jaccard)、 召回率(Recall)、 精準率(Precision).

Dice系數的計算公式為

(11)

式中:C為數據集給出的分割結果中腎臟或腫瘤的像素計數;D為模型預測結果中腎臟或腫瘤的像素計數; Dice系數值介于0和1之間, 其值越大, 表明分割與真實值越接近.

杰卡德系數的計算公式為

(12)

使用本文提出的方法進行實驗, 選取147例訓練, 33例驗證, 30例測試; 第一階段對邊界框回歸的實驗結果如表 1 所示; 第二、 第三階段實驗結果如表 2 和表 3 所示. 表 2 所示數據為30例測試集上分割的全局結果, 表 3 所示數據為30例測試集上分割的平均結果, 可以看出, 在第三階段中腫瘤分割的結果有明顯提高.

表 1 第一階段在測試集上的實驗結果

表 2 第二、 第三階段在測試集上所得實驗結果的全局值

表 3 第二、 第三階段在測試集上所得實驗結果的平均值

對本文方法與其他不同網絡結構及方法在數據集上的實驗結果進行比較, 結果如表 4 所示. 實驗中使用的模型均采用2.5D的輸入方式進行, 分割結果為測試集上的平均值. 由表 4 可以看出, 相比于第二階段使用U-Net網絡, 將卷積層替換為殘差連接的ResU-Net網絡[9]及文獻[9]中的兩階段分割方法, 本文方法在定量指標分析上均取得較好結果, 同時增加后處理可以提高分割精度. 每種方法在處理同一序列圖像上的耗時分別約為: 135.6 s, 150.2 s, 181.5 s, 192.3 s, 因為本文方法相較其他方法而言模型較為復雜, 在耗時上稍有增加, 但在分割精度上有較大提升, 所以, 本文方法在未增加太多時間消耗的情況下有效提高了腎臟和腫瘤的分割精度.

表 4 不同方法所得結果平均值的對比

圖 6 為每一階段分割結果的可視化展示, 淺色表示腎臟分割結果, 深色表示腫瘤分割結果.

圖 6 每階段結果展示

第一階段識別斷層切片中是否含有腎臟, 通過邊界框的有無判斷是否含有腎臟; 第二階段對腎臟和腫瘤進行分割; 第三階段分割腫瘤. 可以看出, 第三階段結果中腫瘤分割比第二階段腫瘤分割結果更為準確, 所以最后將二、 三階段結果融合后可以獲得更好的分割結果.

圖 7 為不同方法在公開數據集中對腎臟與腫瘤分割的可視化對比. 可以看出, 其他方法中腎臟和腫瘤的邊界不準確, 且存在錯誤分割的情況, 而本文方法可以得到更準確的腎臟及腫瘤邊界, 獲得更符合真實標簽的分割結果, 說明本文方法能有效進行腎臟和腫瘤分割.

圖 7 各方法對公開數據集中測試數據分割的結果

利用本文方法對醫院采集的CT圖像進行分割及可視化測試, 先對數據進行預處理, 包括調整窗寬窗位和像素值歸一化, CT值具體設置為[-200, 500]HU, 歸一化區間為[0, 1]. 分割可視化結果如圖 8 所示, 可以看出, 本文方法分割結果更好, 得到的腎臟與腫瘤的平均Dice分別為 0.947 96, 0.796 35, 說明本文方法具有一定的泛化性能.

圖 8 各方法對醫院采集測試數據分割的結果

3 結 論

本文提出基于Mask RCNN和U-Net結合的三階段分割方法, 用于分割增強CT圖像中的腎臟與腫瘤. 主要采用多階段的方式實現, 通過不斷縮小CT圖像中目標斷層切片的范圍來獲得更利于最終分割的特征信息. 在訓練網絡時, 使用2.5D的數據輸入方式, 能夠在充分利用斷層切片的片內特征信息和體積信息的同時緩解硬件設備的壓力. 本文還針對腫瘤分割結果和融合結果進行了合適的后處理操作, 以得到更優的分割結果. 但還存在一定的局限性, 如: 需要訓練3個模型, 不能夠實現端到端訓練. 今后的研究會對網絡進行適應性調整, 實現更優的深度學習分割算法, 以滿足臨床應用的需要.

猜你喜歡
切片斷層腎臟
頁巖斷層滑移量計算模型及影響因素研究*
如何跨越假分數的思維斷層
新局勢下5G網絡切片技術的強化思考
5G網絡切片技術增強研究
保護腎臟其實很簡單
論井田斷層的連接
網絡切片標準分析與發展現狀
小議地層傾角大于或小于斷層傾角時的斷層特征
淺析5G網絡切片安全
這部位越熱腎臟越好
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合