one-shot 語義分割算法

文章出處 Shaban, Amirreza, et al. “One-shot learning for semantic segmentation.” arXiv preprint arXiv:1709.03410 (2017).

One-Shot Semantic Segmentation 問題定義

測試集中出現新類(不包括在訓練集中),同時在測試集中僅僅 給定該新類的一張圖片和對應語義分割結果 (Support Set),如何對其他測試圖片 (Query Image) 進行語義分割?

算法框架 —— 如何使用 one-shot 信息

在這裏插入圖片描述

Two-Branch 框架

思路是用兩個分支:一個分支接受 one-shot 信息並且預測動態參數,另一個分支在已經學到的既有分割知識的同時融合 one-shot 的動態參數。關鍵在於理解 先驗知識融入既有分割網絡的方式

  • Conditioning Branch。輸入 image-annotation pair 作爲 supporting set 的 one-shot 信息,輸出是 動態變化的參數。其實這邊可以理解成廣義上的 fine-tuning 操作:最樸素的解決 one-shot learning 的方法就是將預訓練的網絡在 one-shot 信息上進行 fine-tuning 調整某些網絡參數。所以這裏 Conditional Branch 是根據不同的 one-shot 信息得到的不同的參數,這些參數後面也整合在 Segmentation Branch 上類似於廣義的參數調整 fine-tuning,進而在分割網絡中加入特定的來源於 one-shot 信息的先驗知識。
  • Segmentation Branch。接受 Conditioning Branch 輸出的動態參數信息,進而對當前新的待分割圖像進行分割。其中最後得到的 conv-fc7 可以理解成 embedding 空間,因此這裏也可以考慮採用 metric learning 的方式實現 one-shot learning。

討論

Conditioning Branch 是這個工作的核心部分,通過這樣動態改變 Segmentation Branch 中的某些參數從而達到 Fine-Tuning 分割網絡的目的。這種改變是引入先驗信息的一種方式,類似的工作也有 conditional convolution 操作等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章