零样本分割系列论文(2)Open-Vocabulary Instance Segmentation via Robust Cross-Modal Pseudo-Labeling
我最近剛剛入門zero-shot segmentation,準備以此作為我的博士研究方向,這是我入門這個方向讀的第二篇論文,這篇論文我讀了5遍以上,文章篇幅有限,所以很多細節我在讀論文的時候發現不了,導致我在跟師兄師姐分享論文的時候,他們提出的一些問題我回答不上來。于是,在讀了很多遍之后,啊我的閱讀筆記分享一下,可能還是有不對的地方,文章暫時沒提供代碼,有些細節問題可能還是得閱讀源碼。
寫在前面:可以只看第四部分,對pipeline的描述
1. 出處
2021.11.24掛在arXiv上,據說是投了2022年CVPR
2. 問題
已有的方法需要昂貴的mask annotations。Open-vocabulary instance segmentation能夠不需要mask annotations分割novel classes。
大多數已有的工作,首先在包含大量novel classes的文字描述的圖像上預訓練模型,然后在limited帶有mask annotations的base classes上微調。
然而,單純在captions進行pre-train學到的high-level textual information,無法有效地encode pixel-wise segmentation所需的細節。
詳細來說,zero-shot instance/semantic segmentation能夠利用高維語義描述如word embeddings,在沒有novel classes訓練樣本的情況下,分割novel classes。然而,當前的zero-shot instance/semantic segmentation方法效果不夠好,因為high-level word embeddings無法有效的編碼細粒度的shape信息。
3. 解決方案
解決方案的核心思想是:通過使用low-cost captioned images分割novel classes,極大減少mask supervision的數量
提出了一個cross-modal pseudo-labeling框架,通過對齊說明文字中的word semantics和圖像中object masks的visual features來生成training pseudo masks,并將這種能力泛化到novel classes。
該框架能夠通過word semantics self-train一個student model,無需任何mask annotations,分割captioned images的objects。
為了解釋pseudo masks里的噪聲,作者設計了一個魯棒的student model,能夠通過估計mask noise levels選擇性地distill mask knowledge,從而減輕noisy pseudo masks的不利影響。
4. 整體模型
4.1 setting
訓練:
base classes : 每個圖像對應一系列ground truth標注,包括instance masks和對應的目標類別(起到預訓練作用)
額外的圖像 : 為了能夠分割novel classes,利用額外的圖像,每個圖像只有一段說明文字作為注釋,從中可以提取出一系列objects nouns,從caption annotations可以抽取出很多caption classes,遠遠多于base classes
測試:
novel classes:沒有任何mask annotation,訓練階段也沒見過,這些類別僅僅被用作proxy來評估對novel classes的分割效果,object的類別可能是base classes,additional classes,或者novel classes
通過使用預訓練好的BERT模型提供的high-level semantic embedding,作者的模型可以識別很多novel classes。給定BERT Embeddings,可以利用class semantic similarity從base/caption classes遷移知識到target classes上
在對novel classes進行識別的時候,使用通過BERT模型訓練得到的high-level semantic embeddings
4.2 base detector
Mask R-CNN
4.3 cross-modal pseudo-labeling framework
4.3.1 Pipeline
-
訓練過程
-
Teacher model
embedding head用于分類,對captions中的每個object,選擇最適配的region proposal。
mask head用于生成class-agnostic mask
分為兩個階段,第一階段預訓練backbone(ResNet50),在COCO Captions還有Conceptual Captions上預訓練,得到vision-semantic模型。(Conceptual Captions很大,所以能學到很多圖像和類別的對應關系)
然后在COCO和Open Images數據集上進行檢測/分割任務,微調backbone,得到teacher模型。
首先利用RPN獲得輸入圖像的region proposals,teacher的embedding head能夠獲得所有region的visual features,將region features映射到詞向量的語義空間上,將visual embedding和word embeddings點乘,計算每個region每個類別的對應得分。通過在visual features和word embeddings學習一個共同的embedding空間,teacher可以泛化到novel classes.
此外,還學習一個class-agnostic Mask R-CNN-based head分割每個region的物體,通過h_mask預測mask logit scores。
-
Student model
在包含captions和base classes的數據集上訓練
student和teacher不是同時訓練的,teacher訓練好后,作為student的初始參數(將teacher的mask知識和captions遷移到sudent model。)
-
將teacher對齊好的目標區域用于訓練student,對于每個對齊的區域,最大化它和目標詞之間的相似度,最小化它和非目標詞之間的相似度
-
teacher的mask head可以得到每個region對應的pseudo mask,作為student的mask head的label
-
通過三部分來優化student,base class對應的基礎的分割損失(知道對應的GT),跨模態損失,噪聲估計損失
-
測試過程
使用student完成測試,利用caption中目標詞提供的類別,匹配對應的區域,然后使用mask head預測mask
在base classes上,訓練一個teacher模型,使用這個模型來選擇visual features能夠與captions中的詞語義最適配的目標區域。這些區域進一步被分割成pseudo masks,代表captions里的object words。然后將pseudo masks蒸餾出來用于訓練一個robust student,能夠共同學習分割并估計pseudo-mask noise levels,為不正確的teacher預測降低權重。
對每個caption-image對,通過選擇visual features與(captions中object words的)semantic embeddings最適配的mask predictions,來生成pseudo masks.
4.3.2 Teacher Model詳細內容(可不看)
teacher model包括embedding head用于分類,和一個class-agnostic mask head用于分割。
然后,在teacher predictions和captions中蒸餾mask knowledge,用于student model,共同在pseudo masks中學習,并估計mask noise levels來降低unreliable pseudo masks的權重。
給定region proposals,將他們分類到captions提到的任意類別。作者將Mask R-CNN分類頭中的全連接層,替換成了embedding head h_Emb,h_Emb將region features映射到詞向量的語義空間中。通過embedding head,每個區域類別o的分數通過該類的word embedding和region’s visual feature之間的內積計算得到的。
通過學習一個visual features和word embedding之間共同的embedding space,teacher可以通過度量visual和textual features的兼容性,泛化到novel classes。
此外,還訓練一個class-agnostic Mask R-CNN-based head來分割每個區域的物體,h_Mask是mask head,能夠預測mask logit scores.
盡管teacher可以分割novel classes,但由于缺乏標注,還是會對novel classes誤分類。為了對novel classes提供額外的監督信息,提出了cross-modal pseudo-learning method,能夠使用caption words里的語義信息來指導teacher預測,并生成pseudo masks用于self-training一個student model
4.3.3 Cross-Modal Pseudo-Labeling詳細內容(可不看)
首先,利用captions識別圖像中的物體,提取caption里的名詞,為了定位圖中這些object words的位置,提出了cross-modal
alignment,能夠選擇與captions中名詞的word embeddings特征最兼容的區域。
給定對齊的object regions,引入了cross-modal loss,訓練student,識別這些區域,作為他們的positively-matched caption words.
對于每一個對齊的目標區域b_o,student通過Softmax normalization最大化他的object words的分數,最小化其他不相關的words的分數。
word embedding(textual modality)和aligned object regions(visual modality)中的信息蒸餾到student embedding head中,以擴展student關于caption中novel classes的知識。
cross-modal loss在student embedding head上計算,忽視了用于分割的mask head。因此,提出從teacher中獲得pseudo masks,并估計這些masks的noise level
4.3.4 Estimating Pseudo-Mask Noises
給定aligned object regions,通過對這些區域使用teacher mask head,將其轉變成二值化的pseudo masks,正確預測的pixel值為1,其他為0。
直觀上,可以通過在每個像素上模擬出pseudo masks,將其和teacher生成的pseudo作比較,訓練student model。
然而,由于teacher的預測錯誤,并不是captions中的所有objects都能被正確檢測到。因此,最小化pixel-wise loss會將錯誤從pseudo mask傳遞到student mask head,使得模型退化。
為了消除pseudo label error的影響,作者提出估計pseudo masks的noise level。student為pseudo masks中的每個像素預測一個額外的noise value。
假定pseudo mask中的每個像素被高斯噪聲腐蝕,方差可以通過aligned object region的visual features估計。
student很難通過分割錯誤的Pseudo masks進行學習,會使得g_noise估計高noise level來適應這些errors
4.3.5 訓練魯棒的student model
因為student model和teacher model由于缺乏標注信息,無法知道正確的novel object masks。所以,作者提出將mask noises作為proxy,推斷pseudo masks是否reliable。
總結
以上是生活随笔為你收集整理的零样本分割系列论文(2)Open-Vocabulary Instance Segmentation via Robust Cross-Modal Pseudo-Labeling的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四则运算及感想
- 下一篇: AlphaZero:一种人类从未见过的智