計算機視覺分割是計算機視覺領域的一個重要子領域,它旨在將圖像中的每個像素分配到不同的類別或對象上。這種技術通常被用于圖像識別、場景理解、醫學圖像處理等多個應用場景,具有廣泛的實際應用價值。 此前解決分割問題大致有兩種方法。 第一種是交互式分割,該方法允許分割任何類別的 對象,但需要一個人通過迭代細化掩碼來指導該方法。第二種是自動分割,允許分割提前定義的特定對象類別(例如,貓或椅子),但需要大量的手動注釋對象來訓練(例如,數千甚至數萬個分割貓的例子)。這兩種方法都沒有提供通用的、全自動的分割方法。 計算機視覺領域也迎來通用模型趨勢,隨著計算機視覺領域模型泛化能力的提升,有望推動通用的多模態AI系統發展,在工業制造、通用機器人、智能家居、游戲、虛擬現實等領域得到應用。本文介紹了近期分割大模型發展情況。
1.SAM
SAM(Segment Anything Model)Meta 的 FAIR 實驗室發布的一種最先進的圖像分割模型,該模型將自然語言處理領域的prompt范式引入計算機視覺領域,可以通過點擊、框選和自動識別三種交互方式,實現精準的圖像分割,突破性地提升了圖像分割的效率。
1.1.任務
SAM 接受了數百萬張圖像和超過十億個掩碼的訓練,可為任何提示返回有效的分割掩碼。在這種情況下,提示是分割任務,可以是前景/背景點、粗框或遮罩、點擊、文本,或者一般來說,指示圖像中要分割的內容的任何信息。該任務也用作模型的預訓練目標。
1.2.網絡架構
SAM 的架構包含三個組件,它們協同工作以返回有效的分割掩碼:
圖像編碼器,用于生成一次性圖像嵌入。
提示編碼器,用于生成提示嵌入,提示可以是點、框或文本。
結合了提示和圖像編碼器的嵌入的輕量級掩碼解碼器。
1.1.1.圖像編碼器
在最高級別,圖像編碼器(掩碼自動編碼器、MAE、預訓練視覺變換器、ViT)生成一次性圖像嵌入,可以在提示模型之前應用。
1.1.2.提示編碼器
提示編碼器將背景點、遮罩、邊界框或文本實時編碼到嵌入向量中。該研究考慮了兩組提示:稀疏(點、框、文本)和密集(掩碼)。 點和框由位置編碼表示,并為每種提示類型添加學習嵌入。自由格式的文本提示由來自 CLIP 的現成文本編碼器表示。密集提示,如蒙版,嵌入卷積并與圖像嵌入逐元素求和。
1.1.3.掩碼解碼器
輕量級掩碼解碼器根據來自圖像和提示編碼器的嵌入預測分割掩碼。它將圖像嵌入、提示嵌入和輸出標記映射到掩碼。所有嵌入都由解碼器塊更新,解碼器塊在兩個方向(從提示到圖像嵌入和返回)使用提示自我注意和交叉注意。 掩碼被注釋并用于更新模型權重。這種布局增強了數據集,并允許模型隨著時間的推移學習和改進,使其高效靈活。
1.3.數據集
Segment Anything 10 億掩碼 (SA-1B) 數據集是迄今為止最大的標記分割數據集。它專為高級分割模型的開發和評估而設計。。標注者使用 SAM 交互地注釋圖像,之后新注釋的數據又反過來更新 SAM,可謂是相互促進。 使用該方法,交互式地注釋一個掩碼只需大約 14 秒。與之前的大規模分割數據收集工作相比,Meta 的方法比 COCO 完全手動基于多邊形的掩碼注釋快 6.5 倍,比之前最大的數據注釋工作快 2 倍,這是因為有了 SAM 模型輔助的結果。 最終的數據集超過 11 億個分割掩碼,在大約 1100 萬張經過許可和隱私保護圖像上收集而來。SA-1B 的掩碼比任何現有的分割數據集多 400 倍,并且經人工評估研究證實,這些掩碼具有高質量和多樣性,在某些情況下甚至在質量上可與之前更小、完全手動注釋的數據集的掩碼相媲美 。
1.4.零樣本遷移實驗
1.1.4.零樣本單點有效掩碼評估
1.1.5.零樣本邊緣檢測
1.1.6.零樣本對象建議
1.1.7.零樣本實例分割
1.1.8.零樣本文本轉掩碼
1.1.9.消融實驗
2.Grounded-SAM
SAM發布后,很快出現了結合多種基礎能力的衍生模型。例如由前微軟亞研院首席科學家沈向洋博士創辦的IDEA研究院,基于SAM、自有Grounding DINO模型、Stable Diffusion技術,研發出Grounded SAM模型,可以直接通過文本描述實現圖片的檢測、分割、生成。 借助Grounding DINO強大的零樣本檢測能力,Grounded SAM可以通過文本描述就可以找到圖片中的任意物體,然后通過SAM強大的分割能力,細粒度的分割出mas。最后,還可以利用Stable Diffusion對分割出來的區域做可控的文圖生成。 Grounding DINO例子 Grounded-Segment-Anything例子
3.SegGPT
國內的智源研究院視覺團隊提出了通用分割模型SegGPT——Segment Everything in Context,首個利用視覺上下文完成各種分割任務的通用視覺模型。就像這樣,在一張畫面中標注出彩虹,就能批量分割其他畫面中的彩虹。 和 SAM 相比,視覺模型的 In-context 能力是最大差異點 :
SegGPT “一通百通”:可使用一個或幾個示例圖片和對應的掩碼即可分割大量測試圖片。用戶在畫面上標注識別一類物體,即可批量化識別分割出其他所有同類物體,無論是在當前畫面還是其他畫面或視頻環境中。
SAM“一觸即通”:通過一個點、邊界框或一句話,在待預測圖片上給出交互提示,識別分割畫面上的指定物體。 這也就意味著,SAM的精細標注能力,與SegGPT的批量化標注分割能力,還能進一步相結合,產生全新的CV應用。 具體而言,SegGPT 是智源通用視覺模型 Painter 的衍生模型,針對分割一切物體的目標做出優化。SegGPT 訓練完成后無需微調,只需提供示例即可自動推理并完成對應分割任務,包括圖像和視頻中的實例、類別、零部件、輪廓、文本、人臉等等。
該模型具有以下優勢能力:
通用能力:SegGPT具有上下文推理能力,模型能夠根據上下文(prompt)中提供掩碼,對預測進行自適應的調整,實現對“everything”的分割,包括實例、類別、零部件、輪廓、文本、人臉、醫學圖像等。
靈活推理能力:支持任意數量的prompt;支持針對特定場景的tuned prompt;可以用不同顏色的mask表示不同目標,實現并行分割推理。
自動視頻分割和追蹤能力:以第一幀圖像和對應的物體掩碼作為上下文示例,SegGPT能夠自動對后續視頻幀進行分割,并且可以用掩碼的顏色作為物體的ID,實現自動追蹤。
3.1.方法
SegGPT 訓練框架將視覺任務的輸出空間重新定義為“圖像”,并將不同的任務統一為同一個圖像修復問題,即隨機mask任務輸出圖像并重建缺失的pixel。為了保持簡單性和通用性,作者沒有對架構和損失函數進行修改,即vanilla ViT和簡單的 smooth-?1損失,但在上下文訓練中設計了一種新的隨機著色方案更好的泛化能力。
3.1.1.In-Context Coloring
在Painter的傳統框架中,每個任務的顏色空間都是預定義的,導致solution往往會collapse成為multi-task learning的任務。擬議的上下文內著色隨機著色方案包括對另一張具有相似背景的圖像進行采樣,將顏色映射到隨機顏色,并使用混合上下文訓練來關注context而不是特定的顏色信息。分段數據集的統一允許根據特定任務制定一致的數據采樣策略,為不同的數據類型(例如語義和實例分割)定義不同的上下文,并且使用相同的顏色來指代相同的類別或實例。
3.1.2.Context Ensemble
一旦訓練完成,這種訓練模式就可以在推理過程中釋放出來。SegGPT支持在上下文中進行任意分割,例如,使用單個圖像及其目標圖像的示例。目標圖像可以是單一顏色(不包括background),也可以是多種顏色,例如,在一個鏡頭中分割多個類別或感興趣的對象。具體來說,給定要測試的輸入圖像,我們將其與示例圖像拼接并將其提供給 SegGPT 以獲得相應的context的預測。為了提供更準確和具體的上下文,可以使用多個示例。一種稱為空間的Ensemble,多個example連接在n×n網格中,然后二次采樣到與單個示例相同的大小。這種方法符合上下文著色的直覺,并且可以在幾乎沒有額外成本的情況下在上下文中提取多個示例的語義信息。另一種方法是特征集成。多個示例在批次維度中組合并獨立計算,除了查詢圖像的特征在每個注意層之后被平均。通過這種方式,查詢圖像在推理過程中收集了有關多個示例的信息。
3.1.3.In-Context Tuning
SegGPT 能夠在不更新模型參數的情況下適應獨特的用例。我們凍結整個模型并初始化一個可學習的圖像張量作為輸入上下文。在訓練期間只更新這個可學習的image的vector。其余的訓練保持不變,例如,相同的損失函數。tuning后,作者將學習到的image張量取出來,作為特定應用的即插即用的keys。
3.2.實驗
4.SEEM
SEEM是一種可提示的交互式模型,通過整合可學習的記憶提示以通過掩碼引導的交叉注意力保留對話歷史信息,可以一次性在圖像中對所有地方的所有內容進行分割,包括語義、實例和全景分割,同時也支持各種 prompt 類型和它們的任意組合。 作者指出,SEEM 有以下 4 個亮點:
多功能性(Versatile):處理各種類型的 prompt ,例如點擊、框選、多邊形、涂鴉、文本和參考圖像;
組合式(Compositional):處理 prompt 的任何組合;
交互性(Interactive):與用戶多輪交互,得益于 SEEM 的記憶 prompt 來存儲會話歷史記錄;
語義感知(Semantic-aware):為任何預測的掩碼提供語義標簽。
4.1.方法
SEEM 模型采用了一種通用的編碼器-解碼器架構,主要關注 query 和 prompt 之間的復雜交互。模型由文本編碼器和視覺采樣器組成。文本和視覺 prompt 被編碼成可學習的查詢,然后送入 SEEM 模型中,并輸出 Mask 和語義標簽。視覺 prompt 被編碼成池化圖像特征,然后在 SEEM 解碼器中使用 Self-Attention 和 Cross-Attention。如圖 (a) 所示: SEEM 與人之間的多輪交互如圖 (b),主要包括以下 3 個步驟:
人給出 prompt;
模型向人發送預測結果;
模型更新記憶 prompt。
4.1.1.多功能
除了文本輸入外,SEEM 還引入了視覺提示來處理所有的非文本輸入,例如點、框、涂鴉和另一幅圖像的區域引用等。 當文本提示無法準確識別正確的分割區域時,非文本提示就能夠提供有用的補充信息,幫助準確定位分割區域。以往的交互式分割方法通常將空間查詢轉換為掩模,然后將它們饋送到圖像骨干網絡中,或者針對每種輸入類型(點、框)使用不同的提示編碼器。然而,這些方法存在重量過大或難以泛化的問題。 為了解決這些問題,SEEM 提出了使用視覺提示來統一所有非文本輸入。這些視覺提示以令牌的形式統一表示,并位于同一視覺嵌入空間中,這樣就可以使用同一種方法來處理所有非文本輸入。為了提取這些視覺提示的特征,該模型還引入了一個稱為“視覺采樣器”的方法,用于從輸入圖像或引用圖像的特征映射中提取特定位置的特征。 此外,SEEM 還通過全景和引用分割來持續學習通用的視覺-語義空間,使得視覺提示與文本提示能夠自然地對齊,從而更好地指導分割過程。在學習語義標簽時,提示特征與文本提示映射到相同的空間以計算相似度矩陣,從而更好地協同完成分割任務。
4.1.2.可組合
用戶可以使用不同或組合的輸入類型表達其意圖,因此在實際應用中,組合式提示方法至關重要。 然而,在模型訓練時會遇到兩個問題。首先,訓練數據通常只涵蓋一種交互類型(例如,無、文本、視覺)。其次,雖然我們已經使用視覺提示來統一所有非文本提示并將它們與文本提示對齊,但它們的嵌入空間仍然本質上不同。 為了解決這個問題,本文提出了將不同類型的提示與不同的輸出進行匹配的方法。在模型訓練后,SEEM 模型變得熟悉了所有提示類型,并支持各種組合方式,例如無提示、單提示類型或同時使用視覺和文本提示。值得注意的是,即使是從未像這樣訓練過的樣本,視覺和文本提示也可以簡單地連接并饋送到 SEEM 解碼器中。
4.1.3.可交互
SEEM 通過引入記憶提示來進行多輪交互式分割,使得分割結果得到進一步優化。記憶提示是用來傳遞先前迭代中的分割結果,將歷史信息編碼到模型中,以在當前輪次中使用。 不同于之前的工作使用一個網絡來編碼掩模,SEEM 采用掩模引導的交叉注意力機制來編碼歷史信息,這可以更有效地利用分割歷史信息來進行下一輪次的優化。值得注意的是,這種方法也可以擴展到同時進行多個對象的交互式分割。
4.1.4.語義感知
與之前的類別無關的交互式分割方法不同,SEEM 將語義標簽應用于來自所有類型提示組合的掩碼,因為它的視覺提示特征與文本特征在一個聯合視覺-語義空間中是對齊的。 在訓練過程中,雖然沒有為交互式分割訓練任何語義標簽,但是由于聯合視覺-語義空間的存在,掩膜嵌入(mask embeddings)和 視覺取樣器 (visual sampler)之間的相似度矩陣可以被計算出來,從而使得計算出的 logits 可以很好的對齊。 這樣,在推理過程中,查詢圖像就可以匯集多個示例的信息。
4.2.實驗
Visual 比 Textual 效果更顯著,當使用 Visual + Textual 進行提示時,IOU 精度達到了最高。
-
圖像分割
+關注
關注
4文章
182瀏覽量
18000 -
模型
+關注
關注
1文章
3243瀏覽量
48840 -
計算機視覺
+關注
關注
8文章
1698瀏覽量
45993
原文標題:計算機視覺走向如何?分割大模型全面盤點(SAM/SegGPT/SEEM等)
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論