国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【圖像分割】Unet系列深度講解(FCN、UNET、UNET++)

這篇具有很好參考價值的文章主要介紹了【圖像分割】Unet系列深度講解(FCN、UNET、UNET++)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

【圖像分割】Unet 深度講解

1. 介紹

1.1 背景介紹:

  • 自2015年以來,在生物醫(yī)學圖像分割領域,U-Net得到了廣泛的應用,目前已達到四千多次引用。至今,U-Net已經(jīng)有了很多變體。目前已有許多新的卷積神經(jīng)網(wǎng)絡設計方式,但很多仍延續(xù)了U-Net的核心思想,加入了新的模塊或者融入其他設計理念。

  • 編碼和解碼,早在2006年就發(fā)表在了nature上.當時這個結構提出的主要作用并不是分割,而是壓縮圖像和去噪聲,后來把這個思路被用在了圖像分割的問題上,也就是現(xiàn)在我們看到的FCN或者U-Net結構,在它被提出的三年中,有很多很多的論文去講如何改進U-Net或者FCN,不過這個分割網(wǎng)絡的本質的結構是沒有改動的, 即下采樣、上采樣和跳躍連接。

1.2 醫(yī)學圖像特點

  • 圖像語義較為簡單、結構較為固定。我們做腦的,就用腦CT和腦MRI,做胸片的只用胸片CT,做眼底的只用眼底OCT,都是一個固定的器官的成像,而不是全身的。由于器官本身結構固定和語義信息沒有特別豐富,所以高級語義信息和低級特征都顯得很重要。

  • 數(shù)據(jù)量少。醫(yī)學影像的數(shù)據(jù)獲取相對難一些,很多比賽只提供不到100例數(shù)據(jù)。所以我們設計的模型不宜多大,參數(shù)過多,很容易導致過擬合。

  • 原始UNet的參數(shù)量在28M左右、上采樣帶轉置卷積的UNet參數(shù)量在31M左右,而如果把channel數(shù)成倍縮小,模型可以更小??s小兩倍后,UNet參數(shù)量在7.75M??s小四倍,可以把模型參數(shù)量縮小至2M以內(nèi))非常輕量。個人嘗試過使用Deeplab v3+和DRN等自然圖像語義分割的SOTA網(wǎng)絡在自己的項目上,發(fā)現(xiàn)效果和UNet差不多,但是參數(shù)量會大很多。

  • 多模態(tài)。相比自然影像,醫(yī)療影像是具有多種模態(tài)的。以ISLES腦梗競賽為例,其官方提供了CBF,MTT,CBV,TMAX,CTP等多種模態(tài)的數(shù)據(jù)。比如CBF是腦血流量,CBV用于檢測巨細胞病毒的。

1.3 圖像分割是什么

簡單的來講就是給一張圖像,圖像分割出一個物體的準確輪廓。也這樣考慮,給出一張圖像 I,這個問題就是求一個函數(shù),從I映射到Mask。求這個函數(shù)有很多方法,但是第一次將深度學習結合起來的是全卷積網(wǎng)絡(FCN),利用深度學習求這個函數(shù)。
unet,方法介紹,計算機視覺,# 圖像分割,計算機視覺,深度學習,人工智能

2. Unet發(fā)展歷程(FCN、Unet、Unet++)

2.1 全卷積網(wǎng)絡-FCN

很多分割網(wǎng)絡都是基于FCN做改進,我們先介紹FCN的內(nèi)容。

2.1.1 FCN介紹:

FCN是深度學習在圖像分割的開山之作。

  • 在此之前深度學習一般用在分類和檢測問題上。
  • 由于用到CNN,所以最后提取的特征的尺度是變小的。和我們分割任務要求的函數(shù)不一樣,我們要求的函數(shù)是輸入多大,輸出有多大
  • 經(jīng)典的CNN在卷積層之后使用全連接層得到固定長度的特征向量進行分類(全聯(lián)接層+softmax輸出)。

基于此,F(xiàn)CN的設計使得可以接受任意尺寸的輸入圖像,采用反卷積層對最后一個卷積層的feature map進行上采樣, 使它恢復到輸入圖像相同的尺寸,最后在上采樣的特征圖上進行逐像素分類。解決了語義級別的圖像分割問題。由于網(wǎng)絡中只有卷積沒有全連接,所以這個網(wǎng)絡又叫全卷積網(wǎng)絡。

unet,方法介紹,計算機視覺,# 圖像分割,計算機視覺,深度學習,人工智能

2.1.2 FCN框架
  • 輸入原圖,得到五次池化后的特征圖,然后將特征map上采樣回去。
  • 再將預測結果和ground truth每個像素一一對應分類,做像素級別分類。也就是說將分割問題變成分類問題,而分類問題正好是深度學習的強項。
  • 如果只將特征map直接上采樣或者反卷積,明顯會丟失很多信息。FCN采取解決方法是將pool4、pool3、和特征map融合起來,由于pool3、pool4、特征圖大小尺寸是不一樣的,所以融合前應該上采樣到同一尺寸。這里的融合對應元素相加。

unet,方法介紹,計算機視覺,# 圖像分割,計算機視覺,深度學習,人工智能

2.1.3 反卷積層

反卷積層也是卷積層。乍看一下好像反卷積和卷積的工作過程差不多,主要的區(qū)別在于反卷積輸出圖片的尺寸會大于輸入圖片的尺寸,通過增加padding來實現(xiàn)這一操作。這里可以參考:

  • 卷積和逆卷積(轉置卷積)詳解
  • 卷積和逆卷積-nn.Conv2d與nn.ConvTranspose2d參數(shù)理解
2.1.4 輸入圖像大小

FCN的輸入圖片大小任意。

首先,我們來看傳統(tǒng)CNN為什么需要固定輸入圖片大小。

  • 對于CNN,一幅輸入圖片在經(jīng)過卷積和 pooling 層時,這些層是不關心圖片大小的。比如對于一個卷積層,它并不關心inputsize多大,pooling層同理。
  • 但是在進入全連接層時,feature map(假設大小為n×n)要拉成一條向量,而向量中每個元素(共n×n個)作為一個結點都要與下一個層的所有結點(假設4096個)全連接,這里的權值個數(shù)是4096×n×n,而我們知道神經(jīng)網(wǎng)絡結構一旦確定,它的權值個數(shù)都是固定的,所以這個n不能變化,n是conv5的outputsize,所以層層向回看,每個outputsize都要固定,因此輸入圖片大小要固定。

而FCN的全卷積是沒有全連接層的,所以不要求輸入圖片大小固定。

2.1.5 分割效果

FCN優(yōu)點是實現(xiàn)端到端分割。

  • 輸入是原始數(shù)據(jù)輸出是最終結果,缺點是分割結果細節(jié)不夠好,可以看到FCN8s是上面講的pool4、pool3和特征圖融合,F(xiàn)CN16s是pool4和特征map融合,F(xiàn)CN32s是只有特征map,得出結果都是細節(jié)不夠好,具體可以看自行車。

此外,作者還嘗試了結合pool2發(fā)現(xiàn)效果并沒有提升。
unet,方法介紹,計算機視覺,# 圖像分割,計算機視覺,深度學習,人工智能

2.2 UNET

2.2.1 網(wǎng)絡架構

Unet包括兩部分:

  • 第一部分,特征提取,VGG類似。
  • 第二部分,上采樣部分。由于網(wǎng)絡結構像U型,所以叫Unet網(wǎng)絡。
  • 特征提取部分,每經(jīng)過一個池化層就一個尺度,包括原圖尺度一共有5個尺度。
  • 上采樣部分,每上采樣一次,就和特征提取部分對應的通道數(shù)相同尺度融合,但是融合之前要將其crop。這里的融合是拼接??梢钥吹?,輸入是572x572的,但是輸出變成了388x388,這說明經(jīng)過網(wǎng)絡以后,輸出的結果和原圖不是完全對應的。

unet,方法介紹,計算機視覺,# 圖像分割,計算機視覺,深度學習,人工智能
圖中,

  • 藍色箭頭代表3x3的卷積操作,并且stride是1,padding策略是vaild,因此,每個該操作以后,featuremap的大小會減2。
  • 紅色箭頭代表2x2的maxpooling操作,需要注意的是,此時的padding策略也是vaild,這就會導致如果pooling之前featuremap的大小是奇數(shù),會損失一些信息 。所以要選取合適的輸入大小,因為2*2的max-pooling算子適用于偶數(shù)像素點的圖像長寬。
  • 綠色箭頭代表2x2的反卷積操作,這個只要理解了反卷積操作,就沒什么問題,操作會將featuremap的大小乘2。- 卷積和逆卷積(轉置卷積)詳解、 卷積和逆卷積-nn.Conv2d與nn.ConvTranspose2d參數(shù)理解
  • 灰色箭頭表示復制和剪切操作,可以發(fā)現(xiàn),在同一層左邊的最后一層要比右邊的第一層要大一些,這就導致了,想要利用淺層的feature,就要進行一些剪切。

輸出的最后一層,使用了1x1的卷積層做了分類。最后輸出了兩層是前景和背景。

2.2.2 valid卷積

這三種不同模式是對卷積核移動范圍的不同限制。

  • full mode,橙色部分為image,藍色部分為filter。full模式的意思是,從filter和image剛相交開始做卷積,白色部分為填0。
    unet,方法介紹,計算機視覺,# 圖像分割,計算機視覺,深度學習,人工智能

  • same mode,當filter的中心(K)與image的邊角重合時,開始做卷積運算,可見filter的運動范圍比full模式小了一圈。注意:這里的same還有一個意思,卷積之后輸出的feature map尺寸保持不變(相對于輸入圖片)。當然,same模式不代表完全輸入輸出尺寸一樣,也跟卷積核的步長有關系。same模式也是最常見的模式,因為這種模式可以在前向傳播的過程中讓特征圖的大小保持不變,調(diào)參不需要精準計算其尺寸變化(因為尺寸根本就沒變化)。
    unet,方法介紹,計算機視覺,# 圖像分割,計算機視覺,深度學習,人工智能

  • valid mode,當filter全部在image里面的時候,進行卷積運算,可見filter的移動范圍較same更小了。
    unet,方法介紹,計算機視覺,# 圖像分割,計算機視覺,深度學習,人工智能

2.2.3 overlap-tile策略

醫(yī)學圖像是一般相當大,分割時候不可能將原圖直接輸入網(wǎng)絡。所以需要用一個滑動窗口把原圖掃一遍,使用原圖的切片進行訓練或測試。如下圖,
unet,方法介紹,計算機視覺,# 圖像分割,計算機視覺,深度學習,人工智能

  • 紅框是要分割區(qū)域。但是在切圖時要包含周圍區(qū)域,overlap另一個重要原因是周圍overlap部分可以為分割區(qū)域邊緣部分提供紋理等信息。
  • 這樣的策略會帶來一個問題,圖像邊界的圖像塊沒有周圍像素,卷積會使圖像邊緣處的信息丟失。因此作者對周圍像素采用了鏡像擴充。下圖中紅框部分為原始圖片,其周圍擴充的像素點均由原圖沿白線對稱得到。這樣,邊界圖像塊也能得到準確的預測。
  • 另一個問題是,這樣的操作會帶來圖像重疊問題,即第一塊圖像周圍的部分會和第二塊圖像重疊。因此作者在卷積時只使用有效部分。可能的解釋是使用valid卷積和crop裁剪,最終傳到下一層的只有中間原先圖像塊(黃色框內(nèi))的部分。
2.2.4 彈性變換

由于深度神經(jīng)網(wǎng)絡具有非常強的學習能力,如果沒有大量的訓練數(shù)據(jù),會造成過擬合,訓練出的模型難以應用。因此對于一些沒有足夠樣本數(shù)量的問題,可以通過已有的樣本,對其進行變換,人工增加訓練樣本。常用的增加訓練樣本的方法主要有對圖像進行旋轉、位移等仿射變換,也可以使用鏡像變換。

這里介紹彈性變換。

  • 該算法最開始應用在mnist手寫體數(shù)字識別數(shù)據(jù)集中,發(fā)現(xiàn)對原圖像進行彈性變換的操作擴充樣本以后,對于手寫體數(shù)字的識別效果有明顯的提升。
  • 因為unet論文的數(shù)據(jù)集是細胞組織的圖像,細胞組織的邊界每時每刻都會發(fā)生不規(guī)則的畸變,所以采用彈性變形的增廣是非常有效的。
  • 下面來詳細介紹一下算法流程:
    • 彈性變化是對像素點各個維度產(chǎn)生(-1,1)區(qū)間的隨機標準偏差,用高斯濾波對各維度的偏差矩陣進行濾波,最后用放大系數(shù)控制偏差范圍。
    • 因而由A(x,y)得到的A’(x+delta_x,y+delta_y)。A‘的值通過在原圖像差值得到,A’的值充當原來A位置上的值。
    • 下圖顯示的是在固定的n下不同高斯標準差的結果,第二個圖的形變效果是最合適的。
      unet,方法介紹,計算機視覺,# 圖像分割,計算機視覺,深度學習,人工智能
2.4.5 損失函數(shù)

損失函數(shù)首先是用了個pixel-wise softmax,就是每個像素對應的輸出單獨做softmax,也就是做了w*h個softmax。

  • 其中,x可以看作是某一個像素點, l(x)表示x這個點對應的類別label,pk?(x)表示在x這個點的輸出在類別k的softmax的激活值。
  • 那么pl(x)?(x)代表什么呢?根據(jù)前面的說明就可以推斷出來:點x在對應的label給出的那個類別的輸出的激活值。

正常的交叉熵定義如第一個公式,可以發(fā)現(xiàn)兩個公式的意義其實是相同的,后面的公式在外面把非label對應的結果乘0了。
unet,方法介紹,計算機視覺,# 圖像分割,計算機視覺,深度學習,人工智能

然后是w(x)定義的式子,

  • d1,d2分別是像素點最近和第二近的細胞的距離。這個權重可以調(diào)整圖像中某個區(qū)域的重要程度。
  • 細胞組織圖像的一大特點是,多個同類的細胞會緊緊貼合在一起,其中只有細胞壁或膜組織分割。

因此,作者在計算損失的過程中,給兩個細胞重合的邊緣部分增加了損失的權重,以此讓網(wǎng)絡更加注重這類重合的邊緣信息。實際情況中,是需要自己根據(jù)應用情況來設計或調(diào)整這個權重的。
unet,方法介紹,計算機視覺,# 圖像分割,計算機視覺,深度學習,人工智能
下圖中的a是raw image,b是ground truth segmentation,c 是生成的分割掩碼,白色是前景,黑色是背景。d是增加了像素級的loss權重后,讓網(wǎng)絡對邊界像素進行了更好的學習的結果。
unet,方法介紹,計算機視覺,# 圖像分割,計算機視覺,深度學習,人工智能

2.3 UNET++

2.3.1 存在的問題
  • 第一個問題:既然輸入和輸出都是相同大小的圖,為什么要折騰去降采樣一下再上采樣呢?

降采樣的理論意義是,它可以增加對輸入圖像的一些小擾動的魯棒性,比如圖像平移,旋轉等,減少過擬合的風險,降低運算量,增加感受野的大小。上采樣的最大的作用其實就是把抽象的特征再還原解碼到原圖的尺寸,最終得到分割結果。
對于特征提取階段,淺層結構可以抓取圖像的一些簡單的特征,比如邊界,顏色,而深層結構因為感受野大了,而且經(jīng)過的卷積操作多了,能抓取到圖像的一些抽象特征。

  • 第二個問題:既然unet每一層抓取的特征都很重要,為什么非要降四次之后才開始上采樣回去呢?
2.3.2 網(wǎng)絡深度

提出疑問后, 為了驗證多深才好,每加一個深度就訓練一個網(wǎng)絡,

  • 分別用了兩個數(shù)據(jù)集:Electron Microscopy 和 Cell
  • 然后測它們各自的分割表現(xiàn),先不要看后兩個UNet++,就看這個不同深度的U-Net的表現(xiàn)(黃色條形圖)。

我們可以看出,不是越深越好,它背后的傳達的信息就是,不同層次特征的重要性對于不同的數(shù)據(jù)集是不一樣的,并不是說設計一個原論文給出的那個結構,就一定對所有數(shù)據(jù)集的分割問題都最優(yōu)。
unet,方法介紹,計算機視覺,# 圖像分割,計算機視覺,深度學習,人工智能
unet,方法介紹,計算機視覺,# 圖像分割,計算機視覺,深度學習,人工智能

最終得出的結論是,不同數(shù)據(jù)集的最優(yōu)的深度是不一樣的, 但是總不能把所有不同深度的U-Net都訓練一遍,太耗時間了,于是提出unet++ 。

2.3.3 模型架構

這個綜合長連接和短連接的架構就是UNet++。

  • UNet++的優(yōu)勢是可以抓取不同層次的特征,將它們通過特征疊加的方式整合,加入更淺的U-Net結構,使得融合時的特征圖尺度差異更小。
  • UNet++同時也引進了很多參數(shù),占用內(nèi)存也變大。

unet,方法介紹,計算機視覺,# 圖像分割,計算機視覺,深度學習,人工智能

3. 參考

【1】https://blog.csdn.net/a8039974/article/details/109645616文章來源地址http://www.zghlxwxcb.cn/news/detail-775854.html

到了這里,關于【圖像分割】Unet系列深度講解(FCN、UNET、UNET++)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 深度學習:使用UNet做圖像語義分割,訓練自己制作的數(shù)據(jù)集并推理測試(詳細圖文教程)

    深度學習:使用UNet做圖像語義分割,訓練自己制作的數(shù)據(jù)集并推理測試(詳細圖文教程)

    語義分割(Semantic Segmentation)是圖像處理和機器視覺一個重要分支。與分類任務不同,語義分割需要判斷圖像每個像素點的類別,進行精確分割。語義分割目前在自動駕駛、自動摳圖、醫(yī)療影像等領域有著比較廣泛的應用。我總結了使用UNet網(wǎng)絡做圖像語義分割的方法,教程很詳

    2024年01月18日
    瀏覽(35)
  • UNet-肝臟腫瘤圖像語義分割

    UNet-肝臟腫瘤圖像語義分割

    目錄 一. 語義分割 二. 數(shù)據(jù)集 三. 數(shù)據(jù)增強 圖像數(shù)據(jù)處理步驟 CT圖像增強方法 :windowing方法 直方圖均衡化 獲取掩膜圖像深度 在腫瘤CT圖中提取腫瘤 保存腫瘤數(shù)據(jù) ?四. 數(shù)據(jù)加載 數(shù)據(jù)批處理 ?編輯?編輯 數(shù)據(jù)集加載 ??五. UNet神經(jīng)網(wǎng)絡模型搭建 ? ? ? ? ?單張圖片預測圖

    2024年02月04日
    瀏覽(88)
  • 提升圖像分割精度:學習UNet++算法

    提升圖像分割精度:學習UNet++算法

    由于工作需要對 UNet++ 算法進行調(diào)參,對規(guī)則做較大的修改,初次涉及,有誤的地方,請各位大佬指教哈。 1.1 什么是 UNet++ 算法 UNet++ 算法是基于 UNet 算法的改進版本,旨在提高圖像分割的性能和效果。它由 Zhou et al. 在論文 “ UNet++: A Nested U-Net Architecture for Medical Image Segment

    2024年02月03日
    瀏覽(20)
  • 圖像分割Unet算法及其Pytorch實現(xiàn)

    圖像分割Unet算法及其Pytorch實現(xiàn)

    UNet是一種用于圖像分割的神經(jīng)網(wǎng)絡,由于這個算法前后兩個部分在處理上比較對稱,類似一個U形,如下圖所示,故稱之為Unet,論文鏈接:U-Net: Convolutional Networks for Biomedical Image Segmentation,全文僅8頁。 從此圖可以看出,左邊的基礎操作是兩次 3 × 3 3times3 3 × 3 卷積后池化,

    2024年01月22日
    瀏覽(21)
  • UNET 架構綜合指南 | 掌握圖像分割--附源碼

    在令人興奮的計算機視覺主題中,圖像包含許多秘密和信息,區(qū)分和突出顯示項目至關重要。圖像分割是將圖像分割成有意義的區(qū)域或對象的過程,在從醫(yī)學成像到自動駕駛和對象識別等各種應用中至關重要。準確和自動的分割長期以來一直面臨挑戰(zhàn),傳統(tǒng)方法經(jīng)常在準確性

    2024年02月13日
    瀏覽(13)
  • 【圖像分割】Unet-ConvLstm利用時序信息進行視頻分割

    【圖像分割】Unet-ConvLstm利用時序信息進行視頻分割

    文章: Exploiting Temporality for Semi-Supervised Video Segmentation 代碼: https://github.com/mhashas/Exploiting-Temporality-For-Semi-Supervised-Video-Segmentation 理解: 使用單幀標注,對視頻進行分割。利用時間維度信息來推斷空間信息。將傳統(tǒng)FCN轉化成時間-空間FCN。 方法: 通過FCN語義分割網(wǎng)絡,對時間

    2023年04月27日
    瀏覽(29)
  • 《圖像分割Unet網(wǎng)絡分析及其Pytorch版本代碼實現(xiàn)》

    《圖像分割Unet網(wǎng)絡分析及其Pytorch版本代碼實現(xiàn)》

    ? 最近兩個月在做學習圖像分割方面的學習,踩了無數(shù)的坑,也學到了很多的東西,想了想還是趁著國慶節(jié)有時間來做個總結,以后有這方面需要可以來看看。 ? 神經(jīng)網(wǎng)絡被大規(guī)模的應用到計算機視覺中的分類任務中,說到神經(jīng)網(wǎng)絡的分類任務這里不得不提到CNN(卷積神經(jīng)網(wǎng)

    2024年02月05日
    瀏覽(34)
  • 語義分割系列7-Attention Unet(pytorch實現(xiàn))

    語義分割系列7-Attention Unet(pytorch實現(xiàn))

    繼前文Unet和Unet++之后,本文將介紹Attention Unet。 Attention Unet地址,《Attention U-Net: Learning Where to Look for the Pancreas》。 Attention Unet發(fā)布于2018年,主要應用于醫(yī)學領域的圖像分割,全文中主要以肝臟的分割論證。 Attention Unet主要的中心思想就是提出來Attention gate模塊,使用soft-at

    2024年02月06日
    瀏覽(21)
  • 手把手教你用UNet做醫(yī)學圖像分割系統(tǒng)

    手把手教你用UNet做醫(yī)學圖像分割系統(tǒng)

    兄弟們好呀,這里是肆十二,這轉眼間寒假就要過完了,相信大家的畢設也要準備動手了吧,作為一名大作業(yè)區(qū)的UP主,也該蹭波熱度了,之前關于圖像分類和目標檢測我們都出了相應的教程,所以這期內(nèi)容我們搞波新的,我們用Unet來做醫(yī)學圖像分割。我們將會以皮膚病的數(shù)

    2024年02月03日
    瀏覽(93)
  • 論文閱讀—2023.7.13:遙感圖像語義分割空間全局上下文信息網(wǎng)絡(主要為unet網(wǎng)絡以及改unet)附加個人理解與代碼解析

    論文閱讀—2023.7.13:遙感圖像語義分割空間全局上下文信息網(wǎng)絡(主要為unet網(wǎng)絡以及改unet)附加個人理解與代碼解析

    前期看的文章大部分都是深度學習原理含量多一點,一直在糾結怎么改模型,論文看的很吃力,看一篇忘一篇,總感覺摸不到方向。想到自己是遙感專業(yè),所以還是回歸遙感影像去談深度學習,回歸問題,再想著用什么方法解決問題。 1、易丟失空間信息 在 Decoder 階段輸出多

    2024年02月16日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包