首頁  >  文章  >  科技週邊  >  深度學習影像分割:網路結構設計一覽

深度學習影像分割:網路結構設計一覽

WBOY
WBOY轉載
2023-04-08 19:31:011677瀏覽

本文總結了利用CNNs進行圖像語義分割時,針對網路結構的創新,這些創新點主要包括新神經架構的設計(不同深度、寬度、連接和拓撲結構)和新組件或層的設計。前者是利用現有的組件組裝複雜的大型網絡,後者是更偏向設計底層組件。首先介紹一些經典的語意分割網絡及其創新點,然後介紹網絡結構設計在醫學影像分割領域內的一些應用。

1. 圖像語意分割網路結構創新

1.1 FCN網路

深度學習影像分割:網路結構設計一覽

FCN整體架構

#簡圖單獨列出FCN網路是因為FCN網路是第一個從全新的角度來解決語意分割問題的網路。先前的基於神經網路的圖像語義分割網絡是利用以待分類像素點為中心的圖像塊來預測中心像素的標籤,一般用CNN FC的策略構建網絡,顯然這種方式無法利用圖像的全局上下文信息,而且逐像素推理速度很低;而FCN網絡捨棄全連接層FC,全部用卷積層構建網絡,透過轉置卷積以及不同層特徵融合的策略,使得網絡輸出直接是輸入圖像的預測mask,效率和精度得到大幅度提升。

深度學習影像分割:網路結構設計一覽

FCN不同層特徵融合示意圖

創新點:全卷積網絡(不含fc層);轉置卷積deconv(反捲積);不同層特徵圖跳躍連接(相加)

1.2 編解碼結構(Enconder-decoder)

  • SegNet和FCN網路的思路基本上一致。編碼器部分使用VGG16的前13層卷積,不同點在於Decoder部分Upsampling的方式。 FCN透過將特徵圖deconv得到的結果與編碼器對應大小的特徵圖相加得到上採樣結果;而SegNet用Encoder部分maxpool的索引進行Decoder部分的上採樣(原文描述:the decoder upsamples the lower resolution input feature maps. Specifically, the decoder uses pooling indices computed in the max-pooling step of the corresponding encoder to perform non-linear upsampling.)。

創新點:Encoder-Decoder結構;Pooling indices。

深度學習影像分割:網路結構設計一覽

SegNet網路

深度學習影像分割:網路結構設計一覽

SegNet與FCN的Upsample方式對比

  • U-Net網絡最初是針對生物醫學影像設計的,但由於其初四的性能,現如今UNet及其變體已經廣泛應用到CV各個子領域。 UNet網路由U通道和短接通道(skip-connection)組成,U通道類似於SegNet的編解碼結構,其中編碼部分(contracting path)進行特徵提取和捕獲上下文訊息,解碼部分(expanding path)用解碼特徵圖來預測像素標籤。短接通道提高了模型精度並解決了梯度消失問題,特別要注意的是短接通道特徵圖與上採用特徵圖是拼接而不是相加(不同於FCN)。

創新點:U型結構;短接通道(skip-connection)

深度學習影像分割:網路結構設計一覽

U-Net網路

  • V-Net網路結構與U-Net類似,不同在於該架構增加了跳躍連接,並用3D操作物替換了2D操作以處理3D圖像(volumetric image)。並且針對廣泛使用的細分指標(如Dice)進行最佳化。

深度學習影像分割:網路結構設計一覽

V-Net網路

創新點:相當於U-Net網路的3D版本

  • FC-DenseNet (百層提拉米蘇網路)(paper title: The One Hundred Layers Tiramisu: Fully Convolutional DenseNets for Semantic Segmentation)此網路結構是由用密集連接塊(Dense Block)和UNet架構組成的。這個網路最簡單的版本是由向下過渡的兩個下採樣路徑和向上過渡的兩個上採樣路徑組成。且同樣包含兩個水平跳躍連接,將來自下取樣路徑的特徵圖與上取樣路徑中的相應特徵圖拼接在一起。上取樣路徑和下取樣路徑中的連接模式不完全同:在下取樣路徑中,每個密集區塊外都有一條跳躍拼接通路,從而導致特徵圖數量的線性增長,而在上取樣路徑中沒有此操作。 (多說一句,這個網絡的簡稱可以是Dense Unet,但是有一篇論文叫Fully Dense UNet for 2D Sparse Photoacoustic Tomography Artifact Removal, 是一個光聲成像去偽影的論文,我看到過好多博客引用這篇論文裡面的插圖來談語義分割,根本就不是一碼事好麼=_=||,自己能分清即可。)

深度學習影像分割:網路結構設計一覽

##FC-DenseNet(百層提拉米蘇網路)

#創新點:整合DenseNet與U-Net網路(從資訊交流的角度看,密集連結確實要比殘差結構更強大)

    Deeplab系列網路是在編解碼結構的基礎上提出的改進版本,2018年DeeplabV3 網路在VOC2012和Cityscapes資料集上的表現優異,達到SOTA水準。 DeepLab系列共有V1、V2、V3和V3 共四篇論文。簡單總結一些各篇論文的核心內容:
1) DeepLabV1:融合卷積神經網路和機率圖模型:CNN CRF,提高了分割定位精度;

深度學習影像分割:網路結構設計一覽

深度學習影像分割:網路結構設計一覽

2) DeepLabV2:ASPP(擴張空間金字塔池化);CNN CRF

深度學習影像分割:網路結構設計一覽

深度學習影像分割:網路結構設計一覽##3 ) DeepLabV3:改良ASPP,多了1*1卷積和全域平均池化(global avg pool);比較了級聯和並聯空洞卷積的效果。

深度學習影像分割:網路結構設計一覽

級聯空洞卷積

深度學習影像分割:網路結構設計一覽

並聯空洞卷積(ASPP)4) DeepLabV3 :加入編解碼架構思想,加入解碼器模組來擴展DeepLabv3;將深度可分離卷積應用於ASPP和解碼器模組;將改進的Xception作為Backbone。

DeepLabV3

總的來說,DeepLab系列的核心貢獻: 空洞卷積;ASPP;CNN CRF(僅V1和V2使用CRF,應該是V3和V3 透過深度網路解決了分割邊界模糊的問題,效果要比加了CRF更​​好)

  • PSPNet(pyramid scene parsing network)透過對不同區域的上下文資訊進行聚合,提升了網路利用全域上下文資訊的能力。在SPPNet,金字塔池化產生的不同層次的特徵圖最終被flatten並concate起來,再送入全連接層以進行分類,消除了CNN要求影像分類輸入大小固定的限制。而在PSPNet中,所使用的策略是:poolling-conv-upsample,然後拼接得到特徵圖,然後進行標籤預測。

深度學習影像分割:網路結構設計一覽

PSPNet網路

#創新點:多尺度池化,更好地利用全局圖像級別的先驗知識來理解複雜場景

  • RefineNet透過細化中間激活映射並分層地將其連接到結合多尺度激活,同時防止銳利度損失。網路由獨立的Refine模組組成,每個Refine模組由三個主要模組組成,即:剩餘卷積單元(RCU),多分辨率融合(MRF)和鏈剩餘池(CRP)。整體結構有點類似U-Net,但在跳躍連接處設計了新的組合方式(不是簡單的concat)。個人認為,這種結構其實非常適合作為自己網路設計的思路,可以加入許多其他CV問題中使用的CNN module,而且以U-Net為整體框架,效果不會太差。

深度學習影像分割:網路結構設計一覽

RefineNet網路

創新點:Refine模組

1.3 降低計算複雜的網路結構

也有很多工作致力於降低語意分割網路的運算複雜度。一些簡化深度網路結構的方法:張量分解;通道/網路剪枝;稀疏化連接。還有一些利用NAS(神經架構搜尋)取代人工設計來搜尋模組或整個網路的結構,當然AutoDL所需的GPU資源會勸退一大批人。因此,也有一些人使用隨機搜尋來搜尋小的多的ASPP模組,然後基於小模組來建立整個網路模型。

網路輕量化設計是業界共識,行動端部署不可能每台機器配一張2080ti,另外耗電量、儲存等問題也會限制模型的推廣應用。不過5G如果能普及的話,數據就可以全部在雲端處理,會很有意思。當然,短期內(十年),5G全方位部署不知道是否可行。

1.4 基於注意力機制的網路結構

注意力機制可以定義為:使用後續層/特徵圖資訊來選擇和定位輸入特徵圖中最具判斷力(或顯著性)的部分。簡單地可以認為是給特徵圖加權的一種方式(權值透過網路計算得到),依照權值的作用方式的不同,可以分為通道注意力機制(CA)和空間注意力機制(PA)。 FPA(Feature Pyramid Attention,特徵金字塔注意力)網絡是一種基於注意力機制的語義分割網絡,它將注意力機制和空間金字塔相結合,以提取用於像素級標記的精密特徵,而沒有採用膨脹卷積和人為設計的解碼器網路。

1.5 基於對抗學習的網路結構

Goodfellow等人在2014年提出了一種對抗的方法來學習深度生成模型, 生成對抗網路(GANs)中需要同時訓練兩個模型:捕捉資料分佈的生成模型G,和估計樣本來自訓練資料的機率的判別模型D。

● G是一個生成式的網絡,它接收一個隨機的雜訊z(隨機數),透過這個雜訊產生影像

● D是一個判別網絡,判別一張圖片是不是「真實的」。它的輸入參數是x(一張圖片),輸出D(x)代表x為真實圖片的機率,如果為1,就代表100%是真實的圖片,而輸出為0,就代表不可能是真實的圖片。

G的訓練程序是將D錯誤的機率最大化。可以證明在任意函數G和D的空間中,存在唯一的解決方案,使得G重現訓練資料分佈,而D=0.5。訓練過程中,產生網路G的目標就是盡量產生真實的圖片去欺騙判別網路D。而D的目標就是盡量辨別出G生成的假影像和真實的影像。這樣,G和D構成了一個動態的“博弈過程”,最終的平衡點即納許均衡點.。在G和D由神經網路定義的情況下,整個系統可以用反向傳播來訓練。

深度學習影像分割:網路結構設計一覽

GANs網路結構示意#受到GANs啟發,Luc等人訓練了一個語義分割網路(G)以及一個對抗網路(D),對抗網路區分來自ground truth或語意分割網路(G)的分割圖。 G和D不斷地賽局學習, 它們的損失函數定義為:

深度學習影像分割:網路結構設計一覽

#GANs loss function

深度學習影像分割:網路結構設計一覽

回顧原始的GAN損失函數:GANs的損失函數所體現的是一種零和博弈的思想,原始的GANs的損失函數如下:

深度學習影像分割:網路結構設計一覽

損失的計算位置是在D(判別器)輸出處,而D的輸出一般是fake/true的判斷,所以整體可以認為是上採用了二分類交叉熵函數。由GANs的損失函數的形式可知,訓練要分為兩部分:

首先是maxD部分,因為訓練一般是先保持G(生成器)不變訓練D的。 D的訓練目標是正確區分fake/true,如果我們以1/0代表true/fake,則對第一項E因為輸入採樣自真實資料所以我們期望D(x)趨近於1,也就是第一項更大。同理第二項E輸入取樣自G產生數據,所以我們預期D(G(z))趨近於0更好,也就是說第二項又是更大。所以是這一部分是期望訓練使得整體更大了,也就是maxD的意義了。這部分只更新D的參數。

第二部分保持D不變(不進行參數更新),訓練G,這個時候只有第二項E有用了,關鍵來了,因為我們要迷惑D,所以這時將label設定為1(我們知道是fake,所以才叫迷惑),希望D(G(z))輸出接近於1更好,也就是這一項越小越好,這就是minG。當然判別器哪有這麼好糊弄,所以這個時候判別器就會產生比較大的誤差,誤差會更新G,那麼G就會變得更好了,這次沒有騙過你,只能下次更努力了(引自https://www.cnblogs.com/walter-xh/p/10051634.html)。這時候只更新G的參數。

從另一個角度看GANs,判別器(D)相當於一種特殊的損失函數(由神經經網路構成,不同於傳統的L1、L2、交叉熵等損失函數)。

另外GANs訓練方式特殊,存在梯度消失、模式崩潰等問題(目前好像有辦法可以解決),但其設計思想確實是深度學習時代一個偉大的發明。

1.6 小結

基於深度學習的圖像語意分割模型大多遵循編碼器-解碼器體系結構,如U-Net。近幾年的研究成果表明,膨脹卷積和特徵金字塔池可以改善U-Net風格的網路效能。在第2節中,我們總結一下,如何將這些方法及其變體應用於醫學影像分割。

2. 網路結構創新在醫學影像分割的應用

這部分介紹一些網路結構創新在2D/3D醫學影像分割中的應用研究成果。

2.1 基於模型壓縮的分割方法

為了實現即時處理高解析度的2D/3D醫學影像(例如CT、MRI和組織病理學影像等),研究人員提出了多種壓縮模型的方法。 weng等人利用NAS技術應用於U-Net網絡,得到了在CT,MRI和超音波影像上具有更好的器官/腫瘤分割性能的小型網絡。 Brugger透過利用群組歸一化(group normalization )和Leaky-ReLU(leaky ReLU function),重新設計了U-Net架構,以使網路對3D醫學影像分割的儲存效率更高。也有人設計了參數量較少的擴張卷積module。其他一些模型壓縮的方法還有權重量化(十六位、八位、二值量化)、蒸餾、剪枝等等。

2.2 編碼-解碼結構的分割方法

Drozdal提出了一種在將影像送入分割網路之前應用簡單的CNN來對原始輸入影像進行歸一化的方法,提高了單子顯微鏡影像分割、肝臟CT、前列腺MRI的分割精度。 Gu提出了在主幹網路利用擴張卷積來保留上下文資訊的方法。 Vorontsov提出了一個圖到圖的網路框架,將具有ROI的影像轉換為沒有ROI的影像(例如存在腫瘤的影像轉換為沒有腫瘤的健康影像),然後將模型移除的腫瘤添加到新的健康影像中,從而獲得物件的詳細結構。 Zhou等人提出了一種對U-Net網絡的跳躍連接重新佈線的方法,並在胸部低劑量CT掃描中的結節分割,顯微鏡圖像中的核分割,腹部CT掃描中的肝臟分割以及結腸鏡檢查影片中的息肉分割任務中測試了性能。 Goyal將DeepLabV3應用到皮膚鏡彩色影像分割中,以擷取皮膚病變區域。

2.3 基於注意力機制的分割方法

Nie提出了一種注意力模型,相較於baseline模型(V-Net和FCN),可以更精確地分割攝護腺。 SinHa提出了一種基於多層注意力機制的網絡,用於MRI圖像腹部器官分割。 Qin等人提出了一個擴張卷積模組,以保留3D醫學影像的更多細節。其他基於注意力機制的啼血影像分割論文還有很多。

2.4 基於對抗學習的分割網路

Khosravan提出了從CT掃描中進行胰臟分割的對抗訓練網路。 Son以生成對抗網路進行視網膜影像分割。 Xue使用全卷積網絡作為生成對抗框架中的分割網絡,實現了從MRI圖像分割腦腫瘤。還有其他一些成功應用GANs到醫學影像分割問題的論文,不再一一列舉。

2.5 基於RNN的分割模型

遞歸神經網路(RNN)主要用於處理序列數據,長短期記憶網路(LSTM)是RNN的一個改進版本,LSTM透過引入自環(self-loops)使得梯度流能長期維持。在醫學影像分析領域,RNN用於對影像序列中的時間依賴性進行建模。 Bin等人提出了一種將全卷積神經網路與RNN融合的圖像序列分割演算法,將時間維度上的信息納入了分割任務。 Gao等人利用CNN和LSTM拉對腦MRI切片序列中的時間關係進行建模,以提高4D影像中的分割表現。 Li等人先用U-Net取得初始分割機率圖,後來再用LSTM從3D CT影像中進行胰臟分割,改善了分割效能。其他利用RNN進行醫學影像分割的論文還有很多,不再一一介紹。

2.6 小結

這部分內容主要是分割演算法在醫學影像分割的應用,所以創新點並不多,主要還是對不同格式(CT還是RGB,像素範圍,影像解析度等等)的資料和不同部位資料的特徵(雜訊、物件形態等等),經典網路需要針對不同資料進行改進,以適應輸入資料格式和特徵,這樣能更好的完成分割任務。雖然說深度學習是個黑盒,但整體上模型的設計還是有章可循的,什麼策略解決什麼問題、造成什麼問題,可以根據具體分割問題進行取捨,以達到最優的分割性能。

部分參考文獻:

1.Deep Semantic Segmentation of Natural and Medical Images: A Review

2.NAS-Unet: Neural architecture search for medical image segmentation。 1904.01636, 2019

4.Multi-scale guided attention for medical image segmentation. arXiv preprint arXiv:1906.02849,2019.#Seg. : Adversarial network with multi-scale L1 loss for medical image segmentation.

6.Fully convolutional structured LSTM networks for joint 4D medical image segmentation。 .com/walter-xh/p/10051634.html

以上是深度學習影像分割:網路結構設計一覽的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除