UNET


近期利用遙感影像進行路網提取,利用Unet網絡進行圖像分割

介紹如下:

U-net網絡非常簡單,前半部分作用是特征提取,后半部分是上采樣。在一些文獻中也把這樣的結構叫做編碼器-解碼器結構。由於此網絡整體結構類似於大寫的英文字母U,故得名U-net。
U-net與其他常見的分割網絡有一點非常不同的地方:U-net采用了完全不同的特征融合方式:拼接,U-net采用將特征在channel維度拼接在一起,形成更厚的特征。而FCN融合時使用的對應點相加,並不形成更厚的特征。

所以語義分割網絡在特征融合時有兩種辦法:
1. FCN式的對應點相加,對應於TensorFlow中的tf.add()函數;
2. U-net式的channel維度拼接融合,對應於TensorFlow的tf.concat()函數,比較占顯存。

 

除了上述新穎的特征融合方式,U-net還有以下幾個優點:

 

1、5個pooling layer實現了網絡對圖像特征的多尺度特征識別。
2、上采樣部分會融合特征提取部分的輸出,這樣做實際上是將多尺度特征融合在了一起,以最后一個上采樣為例,它的特征既來自第一個卷積block的輸出(同尺度特征),也來自上采樣的輸出(大尺度特征),這樣的連接是貫穿整個網絡的,你可以看到上圖的網絡中有四次融合過程,相對應的FCN網絡只在最后一層進行融合。

 

作者:Hello王叔叔
鏈接:https://www.zhihu.com/question/269914775/answer/586501606
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

這個問題在面試醫療影像算法崗位的時候,偶爾會提到,我這里提供一些個人的思考。問題中有兩個關鍵詞,【UNet】和【醫療影像】,接下來我們一一分析這兩個關鍵詞。

首先我們說說【UNet】。

UNet最早發表在2015的MICCAI上,短短3年,引用量目前已經達到了4070,足以見得其影響力。而后成為大多做醫療影像語義分割任務的baseline,也啟發了大量研究者去思考U型語義分割網絡。而如今在自然影像理解方面,也有越來越多的語義分割和目標檢測SOTA模型開始關注和使用U型結構,比如語義分割Discriminative Feature Network(DFN)(CVPR2018),目標檢測Feature Pyramid Networks for Object Detection(FPN)(CVPR 2017)等。

我們言歸正傳,UNet只是一個網絡結構的代號而已,我們究其細節,到底UNet是由哪些組件構成的呢?

UNet的結構,我認為有兩個最大的特點,U型結構和skip-connection(如下圖)。

UNet的encoder下采樣4次,一共下采樣16倍,對稱地,其decoder也相應上采樣4次,將encoder得到的高級語義特征圖恢復到原圖片的分辨率。

相比於FCN和Deeplab等,UNet共進行了4次上采樣,並在同一個stage使用了skip connection,而不是直接在高級語義特征上進行監督和loss反傳,這樣就保證了最后恢復出來的特征圖融合了更多的low-level的feature,也使得不同scale的feature得到了的融合,從而可以進行多尺度預測和DeepSupervision。4次上采樣也使得分割圖恢復邊緣等信息更加精細。

其次我們聊聊【醫療影像】,醫療影像有什么樣的特點呢(尤其是相對於自然影像而言)?

1.圖像語義較為簡單、結構較為固定。我們做腦的,就用腦CT和腦MRI,做胸片的只用胸片CT,做眼底的只用眼底OCT,都是一個固定的器官的成像,而不是全身的。由於器官本身結構固定和語義信息沒有特別豐富,所以高級語義信息和低級特征都顯得很重要(UNet的skip connection和U型結構就派上了用場)。舉兩個例子直觀感受下。

A.腦出血. 在CT影像上,高密度的區域就大概率是一塊出血,如下圖紅色框區域。

B.眼底水腫。左圖原圖,右圖標注(不同灰度值代表不同的水腫病變區域)。在OCT上,凸起或者凹陷的區域就大概率是一個水腫病變的區域。

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

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

3.多模態。相比自然影像,醫療影像比較有趣和不同的一點是,醫療影像是具有多種模態的。以ISLES腦梗競賽為例,其官方提供了CBF,MTT,CBV,TMAX,CTP等多種模態的數據。

這就需要我們更好的設計網絡去提取不同模態的特征feature。這里提供兩篇論文供大家參考。

Joint Sequence Learning and Cross-Modality Convolution for 3D Biomedical Segmentation(CVPR 2017) ,

Dense Multi-path U-Net for Ischemic Stroke Lesion Segmentation in Multiple Image Modalities.

4.可解釋性重要。由於醫療影像最終是輔助醫生的臨床診斷,所以網絡告訴醫生一個3D的CT有沒有病是遠遠不夠的,醫生還要進一步的想知道,病灶在哪一層,在哪一層的哪個位置,分割出來了嗎,能求體積嘛?同時對於網絡給出的分類和分割等結果,醫生還想知道為什么,所以一些神經網絡可解釋性的trick就有用處了,比較常用的就是畫activation map。看網絡的哪些區域被激活了,如下圖。

這里推薦兩篇工作:

老師的Learning Deep Features for Discriminative Localization(CVPR2016)和其實驗室同學的 Deep Learning for Identifying Metastatic Breast Cancer(上圖的出處)

 

BTW:沒有偏題的意思,只是覺得醫療影像的特點和本問題息息相關,就一起總結了。

最后提一個問題,引發關注醫療影像的同學們思考和討論?

前面有提到,UNet成為大多做醫療影像語義分割任務的baseline,也啟發了大量研究者去思考U型語義分割網絡。 那UNet還有什么不足呢?歡迎大家關注我的項目UNet-family,尋找答案。

ShawnBIT/UNet-family​github.com圖標

同時也推薦,UNet++作者

的分享:研習Unet。

 

周縱葦:研習U-Net​zhuanlan.zhihu.com圖標

 

好的,在高鐵上完成了這個一直想回答的問題,開心~

作者:Hello王叔叔
鏈接:https://www.zhihu.com/question/269914775/answer/586501606
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。

這個問題在面試醫療影像算法崗位的時候,偶爾會提到,我這里提供一些個人的思考。問題中有兩個關鍵詞,【UNet】和【醫療影像】,接下來我們一一分析這兩個關鍵詞。

首先我們說說【UNet】。

UNet最早發表在2015的MICCAI上,短短3年,引用量目前已經達到了4070,足以見得其影響力。而后成為大多做醫療影像語義分割任務的baseline,也啟發了大量研究者去思考U型語義分割網絡。而如今在自然影像理解方面,也有越來越多的語義分割和目標檢測SOTA模型開始關注和使用U型結構,比如語義分割Discriminative Feature Network(DFN)(CVPR2018),目標檢測Feature Pyramid Networks for Object Detection(FPN)(CVPR 2017)等。

我們言歸正傳,UNet只是一個網絡結構的代號而已,我們究其細節,到底UNet是由哪些組件構成的呢?

UNet的結構,我認為有兩個最大的特點,U型結構和skip-connection(如下圖)。

UNet的encoder下采樣4次,一共下采樣16倍,對稱地,其decoder也相應上采樣4次,將encoder得到的高級語義特征圖恢復到原圖片的分辨率。

相比於FCN和Deeplab等,UNet共進行了4次上采樣,並在同一個stage使用了skip connection,而不是直接在高級語義特征上進行監督和loss反傳,這樣就保證了最后恢復出來的特征圖融合了更多的low-level的feature,也使得不同scale的feature得到了的融合,從而可以進行多尺度預測和DeepSupervision。4次上采樣也使得分割圖恢復邊緣等信息更加精細。

其次我們聊聊【醫療影像】,醫療影像有什么樣的特點呢(尤其是相對於自然影像而言)?

1.圖像語義較為簡單、結構較為固定。我們做腦的,就用腦CT和腦MRI,做胸片的只用胸片CT,做眼底的只用眼底OCT,都是一個固定的器官的成像,而不是全身的。由於器官本身結構固定和語義信息沒有特別豐富,所以高級語義信息和低級特征都顯得很重要(UNet的skip connection和U型結構就派上了用場)。舉兩個例子直觀感受下。

A.腦出血. 在CT影像上,高密度的區域就大概率是一塊出血,如下圖紅色框區域。

B.眼底水腫。左圖原圖,右圖標注(不同灰度值代表不同的水腫病變區域)。在OCT上,凸起或者凹陷的區域就大概率是一個水腫病變的區域。

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

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

3.多模態。相比自然影像,醫療影像比較有趣和不同的一點是,醫療影像是具有多種模態的。以ISLES腦梗競賽為例,其官方提供了CBF,MTT,CBV,TMAX,CTP等多種模態的數據。

這就需要我們更好的設計網絡去提取不同模態的特征feature。這里提供兩篇論文供大家參考。

Joint Sequence Learning and Cross-Modality Convolution for 3D Biomedical Segmentation(CVPR 2017) ,

Dense Multi-path U-Net for Ischemic Stroke Lesion Segmentation in Multiple Image Modalities.

4.可解釋性重要。由於醫療影像最終是輔助醫生的臨床診斷,所以網絡告訴醫生一個3D的CT有沒有病是遠遠不夠的,醫生還要進一步的想知道,病灶在哪一層,在哪一層的哪個位置,分割出來了嗎,能求體積嘛?同時對於網絡給出的分類和分割等結果,醫生還想知道為什么,所以一些神經網絡可解釋性的trick就有用處了,比較常用的就是畫activation map。看網絡的哪些區域被激活了,如下圖。

這里推薦兩篇工作:

老師的Learning Deep Features for Discriminative Localization(CVPR2016)和其實驗室同學的 Deep Learning for Identifying Metastatic Breast Cancer(上圖的出處)

 

BTW:沒有偏題的意思,只是覺得醫療影像的特點和本問題息息相關,就一起總結了。

最后提一個問題,引發關注醫療影像的同學們思考和討論?

前面有提到,UNet成為大多做醫療影像語義分割任務的baseline,也啟發了大量研究者去思考U型語義分割網絡。 那UNet還有什么不足呢?歡迎大家關注我的項目UNet-family,尋找答案。

ShawnBIT/UNet-family​github.com圖標

同時也推薦,UNet++作者

的分享:研習Unet。

 

周縱葦:研習U-Net​zhuanlan.zhihu.com圖標

 

好的,在高鐵上完成了這個一直想回答的問題,開心~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM