日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Transformer再下一城!Swin-Unet:首个纯Transformer的医学图像分割网络

發布時間:2023/12/13 综合教程 159 生活家
生活随笔 收集整理的這篇文章主要介紹了 Transformer再下一城!Swin-Unet:首个纯Transformer的医学图像分割网络 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

OpenCV學堂今天

以下文章來源于集智書童,作者ChaucerG


集智書童

機器學習知識點總結、深度學習知識點總結以及相關垂直領域的跟進,比如CV,NLP等方面的知識。

Swin-Unet: Unet-like Pure Transformer for Medical Image Segmentation

論文:https://arxiv.org/abs/2105.05537

代碼:https://github.com/HuCaoFighting/Swin-Unet

首個基于純Transformer的U-Net形的醫學圖像分割網絡,其中利用Swin Transformer構建encoder、bottleneck和decoder,表現SOTA!性能優于TransUnet、Att-UNet等,代碼即將開源!
作者單位:慕尼黑工業大學, 復旦大學, 華為(田奇等人)

摘要

在過去的幾年中,卷積神經網絡(CNN)在醫學圖像分析中取得了里程碑式的進展。尤其是,基于U形結構和skip-connections的深度神經網絡已廣泛應用于各種醫學圖像任務中。但是,盡管CNN取得了出色的性能,但是由于卷積操作的局限性,它無法很好地學習全局和遠程語義信息交互。

在本文中,作者提出了Swin-Unet,它是用于醫學圖像分割的類似Unet的純Transformer模型。標記化的圖像塊通過跳躍連接被送到基于Transformer的U形Encoder-Decoder架構中,以進行局部和全局語義特征學習。

具體來說,使用帶有偏移窗口的分層Swin Transformer作為編碼器來提取上下文特征。并設計了一個symmetric Swin Transformer-based decoder with patch expanding layer來執行上采樣操作,以恢復特征圖的空間分辨率。在對輸入和輸出進行4倍的下采樣和上采樣的情況下,對多器官和心臟分割任務進行的實驗表明,基于純Transformer的U-shaped Encoder-Decoder優于那些全卷積或者Transformer和卷積的組合。

框架結構

圖1 Swin-Unet架構:由Encoder, Bottleneck, Decoder和Skip Connections組成。
Encoder, Bottleneck以及Decoder都是基于Swin-Transformer block構造的實現。

2.1 Swin Transformer block

圖2 Swin Transformer block

與傳統的multi-head self attention(MSA)模塊不同,Swin Transformer是基于平移窗口構造的。在圖2中,給出了2個連續的Swin Transformer Block。每個Swin Transformer由LayerNorm(LN)層、multi-head self attention、residual connection和2個具有GELU的MLP組成。在2個連續的Transformer模塊中分別采用了windowbased multi-head self attention(W-MSA)模塊和 shifted window-based multi-head self attention (SW-MSA)模塊。基于這種窗口劃分機制的連續Swin Transformer Block可表示為:

其中,和分別表示(S)W-MSA模塊和第塊的MLP模塊的輸出。

與前面的研究ViT類似,self attention的計算方法如下:

其中,表示query、key和value矩陣。和分別表示窗口中patch的數量和query或key的維度。value來自偏置矩陣

2.2 Encoder

在Encoder中,將分辨率為的維tokenized inputs輸入到連續的2個Swin Transformer塊中進行表示學習,特征維度和分辨率保持不變。同時,patch merge layer會減少Token的數量(2×downsampling),將特征維數增加到2×原始維數。此過程將在Encoder中重復3次。

Patch merging layer

輸入patch分為4部分,通過Patch merging layer連接在一起。這樣的處理會使特征分辨率下降2倍。并且,由于拼接操作的結果是特征維數增加了4倍,因此在拼接的特征上加一個線性層,將特征維數統一為原始維數的2倍。

2.3 Decoder

與Encoder相對應的是基于Swin Transformer block的Symmetric Decoder。為此,與編碼器中使用的patch merge層不同,我們在解碼器中使用patch expand層對提取的深度特征進行上采樣。patch expansion layer將相鄰維度的特征圖重塑為更高分辨率的特征圖(2×上采樣),并相應地將特征維數減半。

Patch expanding layer

以第1個Patch expanding layer為例,在上采樣之前,對輸入特征加一個線性層,將特征維數增加到原始維數的2倍。然后,利用rearrange operation將輸入特征的分辨率擴大到輸入分辨率的2倍,將特征維數降低到輸入維數的1/4,即。

Up-Sampling會帶來什么影響?

針對Encoder中的patch merge層,作者在Decoder中專門設計了Patch expanding layer,用于上采樣和特征維數增加。為了探索所提出Patch expanding layer的有效性,作者在Synapse數據集上進行了雙線性插值、轉置卷積和Patch expanding layer的Swin-Unet實驗。實驗結果表明,本文提出的Swin-Unet結合Patch expanding layer可以獲得更好的分割精度。

2.4 Bottleneck

由于Transformer太深導致收斂比較困難,因此使用2個連續Swin Transformer blocks來構造Bottleneck以學習深度特征表示。在Bottleneck處,特征維度和分辨率保持不變。

2.5 Skip connection

與U-Net類似,Skip connection用于融合來自Encoder的多尺度特征與上采樣特征。這里將淺層特征和深層特征連接在一起,以減少降采樣帶來的空間信息損失。然后是一個線性層,連接特征尺寸保持與上采樣特征的尺寸相同。

skip connections數量的影響?

Swin-UNet在1/4,1/8和1/16的降采樣尺度上添加了skip connections。通過將skip connections數分別更改為0、1、2和3,實驗了不同skip connections數量對模型分割性能的影響。從下表中可以看出,模型的性能隨著skip connections數的增加而提高。因此,為了使模型更加魯棒,本工作中設置skip connections數為3。


實驗結果

3.1 Synapse數據集

3.2 ACDC數據集

就很多基于Transformer的文章和已經開源的代碼來看,模型的預訓練會嚴重影響基于Transformer模型的性能。其實作者在文章的最后也提到了他們也是直接使用Swin-Transformer在ImageNet上的預訓練權值來初始化網絡的Encoder和Decoder的,這可能是一個次優方案。不過作者也在努力嘗試實現完全端到端的實驗了(此處點贊)。

總結

以上是生活随笔為你收集整理的Transformer再下一城!Swin-Unet:首个纯Transformer的医学图像分割网络的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。