【深度学习】Panoptic FCN:真正End-to-End的全景分割
在計算機視覺中,所有視覺可見的事物都可以描述成thing和stuff兩種形式(thing指的是可數物體如人、動物、工具,stuff指的是具有相似結構或材料的非晶態區域如草、天空、道路),從而延申出了兩類經典的計算機視覺任務:語義分割和實例分割。其中語義分割的任務是預測每個像素點的語義類別(即預測stuff),而實例分割的任務是預測每個實例物體包含的像素區域(即預測thing),分別如上圖b和c所示。然而從圖片中可以看出,語義分割和實例分割都不足以完備的描述出一副圖像中的視覺信息,2019年FAIR首次提出全景分割的概念,全景分割任務需要同時預測出每個像素點賦予類別Label和實例ID(即同時預測thing和stuff,如圖d所示),如果能夠很好的解決全景分割任務,那么就能夠完備的描述出一幅圖像的視覺信息,對于無人駕駛、VR等場景來說,完備的場景解析是非常有意義的。
下面主要先介紹一下全景分割的一些主要指標,然后回顧一下之前流行的box-based和box-free的全景分割算法(以Panoptic FPN和DeeperLab為例),最后重點講一下中2021CVPR Oral的Panoptic FCN,個人認為是目前真正意義上的第一個End-to-End全景分割,非常精彩!
01
評價指標
FAIR為全景分割設計了新的評價標準 PQ (panoptic segmentation) 、SQ ( segmentation quality)、RQ (recognition quality) ,計算公式如下:
其中,RQ是檢測中應用廣泛的 F1 score,用來計算全景分割中每個實例物體識別的準確性,SQ 表示匹配后的預測 segment與標注 segment 的 mIOU,如下圖所示,只有當預測 segment 與標注 segment 的 IOU 嚴格大于 0.5 時,認為兩個 segment 是匹配的。
從上面的公式能夠看到,在預測與標注匹配后的分割質量 SQ 計算時,評價指標PQ只關注每個實例的分割質量,而不考慮不同實例的大小,即大物體與小物體的分割結果對最終的PQ結果影響相同。然而在一些應用場景中更關注大物體的分割結果,如肖像分割中大圖的人像分割、自動駕駛中近距離的物體等,于是進一步提出了 PC (Parsing Covering) 評價指標,計算公式如下:
其中,???分別表示對應類別的預測 segments 與真實 segments, 表示對應類別的實例在真實標注中像素點數量, ??表示類別為i的真實標注像素點總和。通過對大的實例物體賦予更大的權重,??使評價指標能夠更明顯地反映大物體的分割指標。
02
Panoptic FPN
Panoptic FPN是全景分割box-based的經典方法,box-based的全景分割基本都跟Panoptic FPN非常類似,這里以Panoptic FPN為例,介紹一下box-based的全景分割常規做法。
如上圖所示,Panoptic FPN使用FPN作為backbone部分,來提取多尺度的語義信息,然后后續接一個instance segmentation branch,來預測instance,實際上fpn+instance segmentation branch等同于mask rcnn,其中instance segmentation branch由一個box branch和一個instance branch組成,instance的預測過程是先通過box branch預測出box,然后通過預測box的范圍在instance branch預測出instance,這就是box-based全景分割的由來。Panoptic FPN在mask rcnn的基礎上再增加一個semantic segmentation branch,來預測出semantic。instance segmentation branch和semantic segmentation branch的輸出分別對應thing和stuff。
另外由于box-based的全景分割通過兩個branch分別預測thing和stuff,會導致出現兩個branch預測結果有重合區域,需要引入后處理過程來去重。Panoptic FPN設計的后處理過程和NMS很類似:
(1)根據不同實例的置信度來去除重疊部分
(2)以實例優先原則去除實例和語義分割輸出之間的重疊部分
(3)去除stuff標記為“其他”或者給定面積閾值下的區域
之后的box-based全景分割算法大多數都是圍繞著如何改進后處理還有不同branch如何進行信息融合進行的。但是無論怎么改進,box-based的全景分割存在一個天然的缺陷,最終的預測結果主要取決于box branch的預測精度,并且box branch的feature map尺寸受限制。
03
DeeperLab
DeeperLab是全景分割box-free的經典方法,去除了類似Panoptic FPN的box預測部分,直接預測出thing和stuff。相比Panoptic FPN等方法,去除了box branch預測精度的影響,并且能在更大feature map上進行全景分割。
DeeperLab包含Encoder、Decoder 和 Prediction 三個部分,其中,Encoder 和 Decoder 兩個部分是參數共享的。在Encoder部分,末尾使用了ASPP模塊來增加特征表達能力;在Decoder部分,通過使用S2D和D2S模塊來高效的融合不同尺度的特征。
為了得到目標實例預測,作者使用基于關鍵點的方法,在 object instance segmentation branch,同時預測了 keypoint heatmap、long-range offset map、short-range offset map和middle-range offset map四種輸出,得到像素點與每個實例關鍵點之間的關系,并依此融合形成類別未知的不同實例,另外semantic segmantion branch預測出語義信息,最后結合兩個branch輸出得到全景分割的結果。
04
Panoptic FCN
上述的以Panoptic FPN為代表的box-based全景分割還有以DeeperLab為代表的box-free全景分割都是將thing和stuff拆分成兩個branch來進行預測的,這必然會引入更多的后處理還有設計不同branch信息融合的操作,整個系統顯的即冗余又復雜。個人認為Panoptic FCN是真正意義上的第一個end-to-end全景分割,通過將thing和stuff統一成特征描述子kernels來進行預測,同時省去了復雜后處理還有不同branch信息融合的操作,是全景分割發展歷程中的集大成者。
Panoptic FCN主要由Kernel Generator、Kernel Fusion和Feature Encoder三個部分組成。Panoptic FCN先通過引入kernel generator來為thing和stuff生成kernel weights,然后通過kernel fusion對多個stage的kernel weights進行合并,feature encoder用來對高分辨率feature進行編碼,最后將得到的kernels和編碼feature卷積得到最終預測結果。
Kernel Generator
kernel generator由kernel head和position head兩個branch構成,首先通過position head同時預測thing和stuff的位置(其中,thing通過預測center來定位和分類,stuff通過region來定位和分類),然后根據thing和stuff的位置,從kernel head中產生kernel weights。這里有一個細節是,thing通過定位的點從kernel head對應的點抽取kernel weight,而stuff通過定位的區域mask和kernel head相乘得到kernel weight,這樣子thing和stuff的kernel weight維度能夠保持相同。
Kernel Fusion
kernel fusion將不同stage產生的kernel weights進行合并,保證thing的實例感知和stuff的語義一致性。簡單來說通過對不同stage的kernel weights平均池化產生所有thing和stuff的kernel weights,然后通過閾值來去除相似的kernel weight,最后產生M個thing的kernel weights和N個stuff的kernel weights。具體細節可以看開源code。
Feature Encoder
feature encoder首先對高分辨率feature進行編碼得到編碼feature,然后用kernel fusion得到的M+N個kernel weights對encoded feature進行卷積,得到最終的預測結果,其中每個輸出通道表示一個thing或者stuff的mask預測。和SOLO類似,Panoptic FCN的kernel head和feature encoder都引入了coord,有利于和position head特征進行位置對齊,對精度的提升非常大。
實驗結果
最終得到的實驗結果,速度和精度的平衡超過了之前的全景分割算法。
Panoptic FCN是第一個將thing和stuff進行統一預測,這對于如何解全景分割任務具有重大意義。
Reference
1. Panoptic Segmentation
2. Panoptic Feature Pyramid Networks
3. DeeperLab: Single-Shot Image Parser
4. Fully Convolutional Networks for Panoptic Segmentation
PPT: 一作ppt放在smarter公眾號上,回復Panoptic FCN即可獲得
paper: Fully Convolutional Networks for Panoptic Segmentation
code: https://github.com/yanwei-li/PanopticFCN
往期精彩回顧適合初學者入門人工智能的路線及資料下載機器學習及深度學習筆記等資料打印機器學習在線手冊深度學習筆記專輯《統計學習方法》的代碼復現專輯 AI基礎下載機器學習的數學基礎專輯溫州大學《機器學習課程》視頻 本站qq群851320808,加入微信群請掃碼:總結
以上是生活随笔為你收集整理的【深度学习】Panoptic FCN:真正End-to-End的全景分割的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何禁用、隐藏、显示Windows11上
- 下一篇: 温州大学《机器学习》课程代码(三)逻辑回