圖像分割,也可以稱為 語義分割,圖像語義分割,
它是指像素級的分類,即圖像上每個像素的類別,如屬於 人還是獸,從而進行區域分割;
FCN VS CNN 網絡結構
CNN 是圖像級的分類,很多地方把他們混在一起講了一大堆,個人覺得沒必要,本文只講重要的,廢話請百度;
全卷積網絡,Full Convolutional Networks,它是 圖像分割 的基礎框架,很多模型都是基於 FCN 進行的改進;
全卷積網絡,顧名思義,就是沒有全連接,類比 CNN ,就是把 全連接改成 卷積,就是全卷積網絡了;
后面的 3 個全連接改成了 全卷積;
FCN 網絡
1. image 經過 conv 和 pool 得到 pool1 的 feature map,size 變為 1/2;
2. pool1 經過 conv 和 pool 得到 pool2 的 feature map,size 變為 1/4;
3. 依次...,最終得到 5 個 feature map;
作者對 這 5 個 feature map 進行了幾種嘗試:
1. 直接把 feature map 5 進行 32 倍上采樣,得到和原圖 size 一致的 圖像,稱為 FCN32;
feature map 5 x 32
2. 保留 feature map 4,把 feature map 5 進行 2 倍上采樣,然后和 feature map 4 逐點相加,再進行 16 倍上采樣,得到和原圖 size 一致的圖像,稱為 FCN16;
(feature map 5 x 2 + feature map 4) x 16
3. 先把 feature map 5 進行 2 倍上采樣,然后和 feature map 4 逐點相加得到 fm,在把 fm 進行 2 倍上采樣,和 feature map 3 進行逐點相加,然后進行 8 倍 上采樣,稱為 FCN8;
[(feature map 5 x 2 + feature map 4) x 2 + feature map 3] x 8
最終在每個像素上采樣 softmax 進行分類評分,做損失,做預測等;
嘗試結果如下圖
很明顯,FCN8 效果最好,它 保留的 淺層特征最多;
FCN 的原理就是這么簡單,當然還有些細節,比如 圖片過小的話,pool5 可能很小,甚至為 0,這些不重要;
FCN 圖示
最后的 21 是 20 個類別 + 1 個背景,21 類;
FCN 總結
優點:端到端;輸入尺寸無需固定;
缺點:分割不夠精細;對像素進行獨立分類,沒有考慮像素之間的關系;
參考資料:
https://zhuanlan.zhihu.com/p/34453588 FCN 論文筆記
https://zhuanlan.zhihu.com/p/31428783 圖像語義分割入門+FCN/U-Net網絡解析