飛槳paddlepaddle影像分割課程筆記
飛槳paddlepaddle影像分割課程筆記
最近花了一週時間聽了百度飛槳推出的影像分割課程,受益匪淺,特此記錄一下。
1. FCN 全卷積網路
上圖是一個FCN-32s網路的結構圖。在這個網路中,圖片經過骨幹網路(VGG Network)提取特徵後,得到長寬縮小32倍的特徵圖,隨後直接將特徵圖上取樣32倍,得到和輸入圖片一樣大小的分割圖。
是不是特別簡單直接。別看這個網路設計的這麼簡單,但確實可以得到分割圖。
當然,因為是直接將特徵圖上取樣32倍,這種方式得到的分割精度不會很高。
為了提高分割精度,作者還提出將骨幹網路的中間層提取出來,與上述分割結果融合,得到最終的輸出結果。這樣就可以得到FCN-16s, FCN-8s, FCN-4s以及FCN-2s網路。
上圖展示的是FCN-8s網路,該網路將Pool3和Pool4的輸出取出,與FCN-32s的輸出結果融合,得到最終的分割圖。具體的融合方式見下圖:
首先將FC7(FCN-32s的輸出)上取樣2倍,與Pool4輸出結果相加,得到與Pool4融合的特徵圖。隨後將這個特徵圖再上取樣2倍,與Pool3層的結果相加,得到融合了Pool4、Pool3資訊的特徵圖。再將這個特徵圖上取樣8倍,經過一個softmax層,就得到了與輸入圖片一樣大小的分割圖。因為最終上取樣8倍,所以稱為FCN-8s。
2. U-Net
上圖是U-Net的網路結構圖,圖片首先經過4次卷積池化操作後得到特徵圖,隨後又將特徵圖經過4次上取樣(這裡使用的是反摺積)卷積操作得到最終的分割結果。同時,在每一次上取樣的過程中,特徵圖還會與前面特徵提取層的對應層結果拼接起來,以便融合特徵提取層的資訊,提高分割結果的精度。
U-Net與FCN網路結構很相似,區別在於,U-Net上取樣時,還會一系列卷積操作,而FCN沒有。另外,融合特徵提取層資訊時,U-Net使用的時沿通道拼接(Concat),而FCN使用的時相加。
3. PSPNet
PSPNet (Pyramid Scene Parsing Network)網路結構如下圖所示:
PSPNet在特徵圖上引入了Pyramid Pooling Module(上圖虛線框部分),擴大了感受野,使得模型能夠獲取到更多上下文資訊,期待讓分割結果更加準確。
Pyramid Pooling Module的設計也不復雜。該模組將骨幹網路提取的特徵圖通過AdaptivePooling縮放為四種不同的尺寸,並分別通過卷積層將通道數壓縮為原來的四分之一,隨後各自經過上取樣得到與輸入特徵圖長寬一樣、通道數為原來的1/4的特徵圖,最後將這些特徵圖與原特徵圖拼接(Concat)起來,得到該模組的輸出。
4. DeepLab系列
DeepLab影像分割網路有V1、V2、V3、V3+等一系列網路,下表對比了DeepLab系列網路的關鍵結構
下圖顯示了DeepLabV1 - V3的網路結構。
這裡我們主要介紹一下ASPP模組,ASPP’ (upgraded ASPP)模組。
ASPP(Atrous Spatial Pyramid Pooling)模組是在DeepLabV2中引入的一個模組,它的結構如下圖所示。特徵圖分別經過4種kernel size一樣,dilation不一樣的卷積,得到4個大小一樣的特徵圖,最後將這四個特徵圖相加融合,得到輸出結果
ASPP’ (upgraded ASPP)是ASPP模組的改進版,結構如下圖所示。相比原始的ASPP模組,改進版的增加了一個1x1的卷積以及一個AdaptivePooling層,最後將5個特徵圖concat並經過一個1x1卷積,得到最終的輸出。
5. 總結
我們對比上面介紹的網路可以發現,這些分割網路從設計上來講都是大同小異。圖片特徵提取層使用的都是典型的網路,例如VGG、ResNet等,主要的不同點在於分割頭的設計上,也就是如何將從特徵圖變換到分割圖。FCN和U-Net選擇將特徵提取網路中間層的輸出融合到分割圖中,而PSPNet以及DeepLab系列則是選擇用擴大網路的感受野的方式整合上下文資訊,以期待獲得良好的分割圖。
學完這些網路後,自然而然會問出這麼幾個問題:網路這樣設計為什麼有效?除此之外,有沒有其他方式融合淺層資訊,有沒有其他方式整合整合上下文資訊?好好想想,也許就是一篇不錯的paper咧!
Acknowledgement
非常感謝百度AIStudio開設的這次課程,感謝百度研究院的朱老師伍老師授課!特別是朱老師,線上Coding,佩服至極!
相關文章
- 百度飛槳PaddlePaddle影像分割7日學習收穫
- 基於百度飛漿PaddlePaddle的影像分割學習心得
- 基於飛槳PaddlePaddle的多種影像分類預訓練模型強勢釋出模型
- 飛槳PaddlePaddle單機訓練速度優化最佳實踐優化
- 飛槳PaddlePaddle單機訓練速度最佳化最佳實踐
- 機器學習課程筆記機器學習筆記
- 超多,超快,超強!百度飛槳釋出工業級影像分割利器PaddleSeg
- 真香!使用飛槳PaddlePaddle2.0高層API高效完成基於VGG16的影像分類任務API
- python課程筆記Python筆記
- 會計學課程筆記筆記
- 王道C短期課程筆記筆記
- 物聯網課程筆記筆記
- lua課程學習筆記筆記
- 達內課程學習筆記筆記
- 萬物互聯課程筆記筆記
- Stanford機器學習課程筆記——SVM機器學習筆記
- UI設計課程筆記(三)UI筆記
- [Triton課程筆記] 2.2.3 BLS續筆記
- 網站SEO課程筆記整理版!網站筆記
- 遨遊Unix–APUE課程筆記【1】筆記
- 資料庫課程作業筆記資料庫筆記
- Python基礎課程筆記5Python筆記
- Andrew ng 深度學習課程筆記深度學習筆記
- 遨遊Unix — APUE課程筆記【2】筆記
- 龍哥盟-PMP-課程筆記-四-筆記
- 龍哥盟-PMP-課程筆記-三-筆記
- 龍哥盟-PMP-課程筆記-十九-筆記
- 北航OS課程筆記--一、緒論筆記
- 北航OS課程筆記--六、磁碟管理筆記
- 計算機網路 - 課程筆記計算機網路筆記
- 北航OS課程筆記--三、記憶體管理筆記記憶體
- 網站SEO課程筆記整理版(2)網站筆記
- 谷歌機器學習課程筆記(4)——降低損失谷歌機器學習筆記
- 《資料庫系統原理》課程筆記資料庫筆記
- data cleaning(資料清洗) 課程筆記筆記
- 3月24日廣州DBA課程筆記筆記
- 北航軟院人工智慧課程筆記人工智慧筆記
- MIT6S081課程筆記MIT筆記