AI科技:如何利用圖片像素之間的相似度進行圖像分割?

論文:Learning Pixel-level Semantic Affinity with Image-level Supervision for Weakly Supervised Semantic Segmentation

會議:CVPR2018

問題①:這篇文章做什麼的?

自答:這篇文章是CVPR2018上一篇關於弱監督語義分割的文章,也就是,數據集告訴你一堆圖片以及這些圖片裡面有什麼,你使用深度學習的方法將圖片中每一個物體的區域分割出來。

問題②:這篇文章主要思路是什麼?

自答:這篇文章首先通過一般的CAM方法生成分割seed cues(前面文章有介紹),然後利用這些seed cues中已經標記標籤的pixel計算相似度標籤,利用卷積神經網絡提取圖片每個像素的特徵,計算這些特徵之間的相似度,使用標籤計算得到的相似度作為監督信息,從而訓練網絡,最後得到比較好的特徵提取網絡,使得圖片中屬於相同類別的像素的特徵之間相似度較高,而不同類的像素相似度較低。

問題③:這篇文章突出特點是什麼?

自答:我覺得是1)通過CAM計算相似度標籤的方式,2)使用像素間相似度進行分割的算法。

1、總體架構

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

2、架構構成

第一步、計算CAM

目標類:

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

背景類:

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

此中,α=16(4-24) à 根據Mc得到

也就是將feature maps 取最大值得到一個map,再歸一化,1減去該feature map

如下圖展示CAM方法的結果:

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

下圖是生成的Seed cues(粉色和黑色區域是已確定標籤區域):

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

第二步、生成語義相似度標籤Semantic Affinity Labels

(1)設定半徑為5,計算像素周圍的一個圓內的像素與該像素之間(pixel pair)的相似度標籤W。

計算方法圖解:

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

計算方法公式:

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

如圖中所示,若pixel pair中有一個像素為未確定標籤的像素,則忽略不考慮;若pixel pair中兩個像素屬於同一個類別則記為1,屬於不同類別則記為0;如上圖所示,存在於Foreground和Background的pixel,為紅色和黑色的點,存在於Netural的點為綠色。

通過上面方法計算的Wij,作為相似度標籤,Wij保存著位置相近的pixel pairs屬於相同的class或者不同的class的信息。

第三步、AffinityNet Training

前提理論:位置相近的pixel更有可能屬於同一個class;從確定的定位信息傳播類別信息,處理物體區域假陽性和缺失塊,生成訓練標籤。

(1)NetWork:

圖片通過網絡生成一堆features,faff 表示,這些feature maps中含有豐富的上下文信息,圖片中每一個pixel對應著faff一個channel長的向量V,類別相同的pixel對應的V的內容更接近。

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

(2)如何訓練?

1)首先,生成訓練監督信息

2)需要什麼?知道哪些pixel具有相同的或者不同的標籤。

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

通過CAM計算得到相似度標籤,可得到上圖中的關係,相同標籤為同顏色,不同標籤為不同顏色,由相同label(同顏色pixel)和不同label(不同顏色pixel)的pixel pairs之間的相關性,通過訓練指導不確定label(橙色pixel)與確定label 的pixel pairs之間的相關性。

這是一種通過周圍有監督訓練部分無監督的數據的一種方法。

(3)訓練損失函數

(1)定義相關點集合P:d為歐式距離,γ為5

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

(2)將相關點集合P根據pixel pairs屬於相同類還是不同類劃分為P+和P-,其中集合P+劃分為P+bg,和P+fg.

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

(3)損失函數

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

其中,

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

Pixel屬於相同的class,則對應的提取的特徵則越相似,屬於不同class,則對應的提取的特徵則越不同。

根據已確定的pixel pairs的相似關係,通過網絡訓練,得到不確定的pixels之間的關係。最終訓練結束時,不確定標籤的像素提取的特徵也具有了一定的分佈規律,與確定的某一類的標籤pixel提取特徵相似。

第四步、Revising CAMs Using AffinityNet

原理:計算不確定像素提取的特徵與CAM確定類別的像素提取的特徵之間像素度的均值,根據未知標籤的像素與某一類的確定像素之間相似度值較大,則判定為某類。

即:(A1,A2,A3,...,An)為標籤為A類的像素集;(B1,B2,B3,...,Bm)為標籤為B的像素集,(P1,P2,P3,...,Pz)為未確定標籤的像素集。計算P1與A類中所有像素的相似度的均值和P1與B類所有像素的相似度均值,比較兩個值的大小,判定P1是屬於A類還是B類。

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

第五步、訓練分割網絡

使用計算得到的相似度,得到分割標籤,作為全監督訓練的檢索信息,選用分割網絡進行全監督語義分割訓練,得到最終的分割結果。

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

3、結果

(1)CAM和AffinityNet的分割結果

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

(2)最終分割結果

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

(3)在PASCAL VOC2012上的結果

AI科技:如何利用圖片像素之間的相似度進行圖像分割?

更多詳細信息請查看原文,論文地址:

http://openaccess.thecvf.com/content_cvpr_2018/papers/Ahn_Learning_Pixel-Level_Semantic_CVPR_2018_paper.pdf

這篇文章便介紹到這裡啦,為了更方便管理文章,同名微信公眾號已經上線,喜歡使用微信的朋友們,歡迎大家關注!

AI科技:如何利用圖片像素之間的相似度進行圖像分割?


分享到:


相關文章: