告別逐一標注,一個提示實現(xiàn)批量圖片分割,高效又準確
Segment Anything Model (SAM) 的提出在圖像分割領域引起了巨大的關注,其卓越的泛化性能引發(fā)了廣泛的興趣。然而,盡管如此,SAM 仍然面臨一個無法回避的問題:為了使 SAM 能夠準確地分割出目標物體的位置,每張圖片都需要手動提供一個獨特的視覺提示。如下圖所示,即使點擊的是同一物體(圖 (b)-(d)),微小位置變化都會導致分割結果的顯著差異。這是因為視覺提示缺乏語義信息,即使提示在想要分割的目標物體上,仍然可能引發(fā)歧義??蛱崾竞屯盔f提示(圖 (e)(f))雖然提供了更具體的位置信息,但由于機器和人類對目標分割物的理解存在偏差,效果常常與期望有所出入。
目前的一些方法,如 SEEM 和 AV-SAM,通過提供更多模態(tài)的輸入信息來引導模型更好地理解要分割的物體是什么。然而,盡管輸入信息變得更加具體和多樣化,但在實際場景中,每個無標注樣本仍然需要一個獨特的提示來作為指導,這是一種不切實際的需求。理想情況下,作者希望告知機器當前的無標注數(shù)據(jù)都是采集自于什么任務,然后期望機器能夠批量地按照作者的要求對這些同一任務下的樣本進行分割。然而,當前的 SAM 模型及其變體受到必須為每幅圖手動提供提示這一要求的限制,因此很難實現(xiàn)這一點。
來自倫敦大學瑪麗女王學院的研究者們提出了一種無需訓練的分割方法 GenSAM ,能夠在只提供一個任務通用的文本提示的條件下,將任務下的所有無標注樣本進行有效地分割。
- 論文鏈接:https://arxiv.org/pdf/2312.07374.pdf
- 項目鏈接:https://lwpyh.github.io/GenSAM/
- 代碼鏈接:https://github.com/jyLin8100/GenSAM/
問題設置
對于給定的分割任務,例如偽裝樣本分割,對于該任務下來自各個數(shù)據(jù)集的所有無標注樣本,只提供一個任務描述:“the camouflaged animal” 作為這些圖片的唯一提示 。對于該任務下的任意一張圖像
,需要利用
來有針對性地完成與任務相關的目標的分割。在這種情況下,目標是根據(jù)任務描述準確地分割圖像中偽裝的動物。模型需要理解并利用提供的任務描述來執(zhí)行分割,而不依賴于手動提供每個圖像的特定提示。
這種方法的優(yōu)勢在于,通過提供通用任務描述,可以批量地處理所有相關任務的無標注圖片,而無需為每個圖片手動提供具體的提示。這對于涉及大量數(shù)據(jù)的實際場景來說是一種更加高效和可擴展的方法。
GenSAM 的流程圖如下所示:
方法介紹
為了解決這一問題,作者提出了 Generalizable SAM(GenSAM)模型,旨在擺脫像 SAM 這類提示分割方法對樣本特定提示的依賴。具體而言,作者提出了一個跨模態(tài)思維鏈(Cross-modal Chains of Thought Prompting,CCTP)的概念,將一個任務通用的文本提示映射到該任務下的所有圖片上,生成個性化的感興趣物體和其背景的共識熱力圖,從而獲得可靠的視覺提示來引導分割。此外,為了實現(xiàn)測試時自適應,作者進一步提出了一個漸進掩膜生成(Progressive Mask Generation,PMG)框架,通過迭代地將生成的熱力圖重新加權到原圖上,引導模型對可能的目標區(qū)域進行從粗到細的聚焦。值得注意的是,GenSAM 無需訓練,所有的優(yōu)化都是在實時推理時實現(xiàn)的。
跨模態(tài)思維鏈
Cross-modal Chains of Thought Prompting (CCTP)
隨著大規(guī)模數(shù)據(jù)上訓練的 Vision Language Model (VLM) 的發(fā)展,如 BLIP2 和 LLaVA 等模型具備了強大的推理能力。然而,在面對復雜場景,如偽裝樣本分割時,這些模型很難準確推理出復雜背景下任務相關物體的身份,而且微小提示變化可能導致結果顯著差異。同時,目前的 VLM 只能推理出可能的目標描述,而不能將其定位到圖像中。為了解決這一問題,作者以現(xiàn)有任務描述 為基礎構建了多個思維鏈,希望通過從多個角度獲得共識來推理第 j 個鏈上前景物體的關鍵詞
和背景的關鍵詞
。
然而,當前大多數(shù)求取共識的方法基于一個假設:VLM 的輸出結果是有限的,可以通過多數(shù)表決來確定正確答案。在作者的場景中,鏈路數(shù)量是有限的,而輸出結果是無法預測的。過去的多數(shù)表決方法在這里難以應用。此外,VLM 只能推理出可能目標的關鍵詞,而不能將其準確定位于圖像中。
為了克服這一問題,受到 CLIP Surgery 的啟發(fā),作者提出了一個 spatial CLIP 模塊,在傳統(tǒng)的 CLIP Transformer 基礎上添加了一個由 K-K-V 自注意力機制構成的 Transformer 結構,將 VLM 在不同鏈路上推理得到的不可預測的關鍵詞映射到同一張熱力圖上。這樣,無法在語言層面求取共識的問題可以在視覺層面上得到解決。具體而言,作者通過 Spatial CLIP 的共識特征 和
分別獲取不同鏈路上的前景和背景關鍵詞。由于復雜場景中背景物體可能對結果產(chǎn)生干擾,作者通過用
減去
來排除這種干擾,得到最終的相似度熱力圖
。$SI$ 通過上采樣到原有圖片的大小,即獲得了定位任務相關目標位置的熱力圖 H 。其中,具有很高和很低置信度的點分別被視為正和負提示點,它們被篩選出來用于引導 SAM 進行分割。
漸進掩膜生成
Progressive Mask Generation (PMG)
然而,單一的推斷可能無法提供令人滿意的分割結果。對于具有復雜背景的圖像,熱圖中某些背景對象可能也會在很大程度上被激活,導致在推斷點提示時出現(xiàn)一些噪聲。為了獲得更強大的提示,作者使用熱圖作為視覺提示,對原始圖像進行重新加權,并在測試時引導模型進行適應。加權圖像 可以通過下面的公式獲得:
這里 X 是輸入圖片,$w_{pic}$ 是權重,$H$ 是熱力圖。此外,在隨后的迭代中,作者使用前一次迭代的掩碼通過繪制邊界框來引導分割,作為后處理步驟。作者選擇與掩碼具有最高 IoU(交并比)值的框作為作者的選擇。這優(yōu)化了當前迭代并提高了分割結果的一致性。第 i 次迭代獲得的掩碼被定義為 ,其中 i ∈ 1,...,Iter。Iter 被設定為 6。為了消除由每次迭代中不一致提示引起的歧義的影響,每次迭代中獲得的掩碼被平均。最后,通過選擇在所有迭代中最接近平均掩碼的迭代結果來確定所選迭代
:
就是 X 的最終分割結果。
實驗
作者在偽裝樣本分割任務上的三個不同數(shù)據(jù)集上進行了實驗,并分別與點監(jiān)督和涂鴉 (scribble) 監(jiān)督下進行訓練后的方法進行了比較。GenSAM 不僅比基線方法相比取得了長足的進步,還再更好的監(jiān)督信號和完全沒有訓練的情況下,取得了比弱監(jiān)督方法類似甚至更好的性能。
作者還進一步進行了可視化實驗,分析不同 iter 下的分割結果,首先是在 SAM 處理不佳的偽裝樣本分割任務上進行了評估:
此外,為了驗證 GenSAM 的泛化性,還在陰影分割和透明物體分割上進行了可視化實驗,均取得了出色的性能。
總結
總的來說,GenSAM 的提出使得像 SAM 這類提示分割方法能夠擺脫對樣本特定提示的依賴,這一能力為 SAM 的實際應用邁出了重要的一步。