論文位址:https://arxiv.org/abs/2102.04306
代碼:https://github.com/Beckschen/TransUNet
發表于:arXiv 21.02
Abstract
醫學圖像分割是發展醫療系統的一個重要前提,尤其是在疾病診斷和治療計劃方面。在各種醫學圖像分割任務中,U形結構,或者說U-Net,已經成為事實上的标準,并取得了巨大的成功。然而,由于卷積操作的内在局部性,U-Net在明确模組化長距離依賴方面通常表現出不足。為序列到序列預測而設計的Transformer作為替代架構出現,具有先天的全局自注意力機制,但由于低層細節不足,可能導緻局部化能力有限。在本文中,我們提出了TransUNet,它同時具有Transformer和U-Net的優點,是醫學圖像分割的一個強有力的選擇。一方面,Transformer對來自卷積神經網絡(CNN)特征圖的标記化圖像塊進行編碼,作為提取全局上下文的輸入序列。另一方面,解碼器對編碼後的特征進行升采樣,然後與高分辨率的CNN特征圖相結合,以實作精确定位。我們認為,Transformer可以作為醫學圖像分割任務的強大編碼器,與U-Net相結合,通過恢複局部空間資訊來增強更精細的細節。TransUNet在不同的醫學應用中取得了比各種競争方法更出色的表現,包括多器官分割和心髒分割。代碼和模型可見https://github.com/Beckschen/TransUNet。
I. Motivation
本文的出現時間相對較早,但其實思路也非常直覺。從一個角度看,可以将Transformer了解為一個更強的backbone,那麼我們就可以用transformer去替換原有的ResNet、VGG backbone,進而來去提升網絡的性能,并不需要去改動已有的CNN decoder;另一方面也可以認為,Transformer雖然全局上下文提取能力較好,但是局部細節處理能力是不如CNN的,是以依然需要保留CNN decoder架構。
從本文的标題來看,作者的思路傾向于前者。
II. Network Architecture

其實從這張圖上看,可以發現甚至Encoder部分依然主要還是CNN,隻是在CNN Encoder之後去接了個Transformer Encoder。也就是說,這裡transformer實際上的輸入是特征圖而非原始圖像。
文章還指出了一個有意思的細節,如果向skip connection的過程中加入transformer,性能會有進一步的提升。