「分割一切」進化2.0!一鍵跟蹤運動物體,代碼權重數(shù)據(jù)全開源 精華
又是發(fā)布即開源!
Meta“分割一切AI”二代SAM2在SIGGRAPH上剛剛亮相。
相較于上一代,它的能力從圖像分割拓展到視頻分割。
可實時處理任意長視頻,視頻中沒見過的對象也能輕松分割追蹤。
更關鍵的是,模型代碼、權重以及數(shù)據(jù)集通通開源!
它和Llama系列一樣遵循Apache 2.0許可協(xié)議,并根據(jù)BSD-3許可分享評估代碼。
網(wǎng)友yygq:我就問OpenAI尷尬不尷尬。
Meta表示,此次開源的數(shù)據(jù)集包含51000個真實世界視頻和600000個時空掩碼(masklets,spatio-temporal masks),規(guī)模遠超此前最大同類數(shù)據(jù)集。
可在線試玩的demo也同步上線,大家都能來體驗。
在SAM之上加入記憶模塊
相較于SAM一代,SAM2的能力升級主要有:
- 支持任意長視頻實時分割
- 實現(xiàn)zero-shot泛化
- 分割和追蹤準確性提升
- 解決遮擋問題
它進行交互式分割的過程主要分為兩步:選擇和細化。
在第一幀中,用戶通過點擊來選擇目標對象,SAM2根據(jù)點擊自動將分割傳播到后續(xù)幀,形成時空掩碼。
如果SAM2在某些幀中丟失了目標對象,用戶可以通過在新一幀中提供額外的提示來進行校正。
如果在第三幀中需要需要恢復對象,只需在該幀中點擊即可。
SAM2的核心思路是將圖像視作單幀視頻,因此可以從SAM直接擴展至視頻領域,同時支持圖像和視頻輸入。
處理視頻唯一的區(qū)別在于,模型需要依賴內(nèi)存來回憶處理過的信息,以便在當前時間步長上準確分割對象。
與圖像分割相比,視頻分割中,物體的運動、變形、遮擋和光線等都會發(fā)生強烈變化。同時分割視頻中的對象需要了解實體跨越空間和時間的位置。
所以Meta主要做了三部分工作:
- 設計一個可提示的視覺分割任務
- 在SAM基礎上設計新模型
- 構建SA-V數(shù)據(jù)集
首先,團隊設計了一個視覺分割任務,將圖像分割任務推廣到視頻領域。
SAM被訓練成以圖像中的輸入點、框或掩碼來定義目標并預測分割掩碼(segmentation mask)。
然后訓練SAM在視頻的任意幀中接受prompt來定義要預測的時空掩碼(masklet)。
SAM2根據(jù)輸入提示對當前幀上的掩碼進行即時預測,并進行臨時傳播,在所有幀上都可生成目標對象的掩碼。
一旦預測到初始掩碼,就可以通過任何幀中向SAM2提供額外提示來進行迭代改進,它可以根據(jù)需要重復多次,直到獲取到所有掩碼。
通過引入流式記憶(streaming memory),模型可以實時處理視頻,還能更加準確分割和跟蹤目標對象。
它由記憶編碼器、記憶庫和記憶注意力模塊組成。讓模型一次只處理一幀圖像,利用先前幀信息輔助當前幀的分割任務。
分割圖像時,內(nèi)存組件為空,模型和SAM類似。分割視頻時,記憶組件能夠存儲對象信息以及先前的交互信息,從而使得SAM2可以在整個視頻中進行掩碼預測。
如果在其他幀上有了額外提示,SAM2可以根據(jù)目標對象的存儲記憶進行糾錯。
記憶編碼器根據(jù)當前預測創(chuàng)建記憶,記憶庫保留有關視頻目標對象過去預測的信息。記憶注意力機制通過條件化當前幀特征,并根據(jù)過去幀的特征調(diào)整以產(chǎn)生嵌入,然后將其傳遞到掩碼解碼器以生成該幀的掩碼預測,后續(xù)幀不斷重復此操作。
這種設計也允許模型可以處理任意時長的視頻,不僅對于SA-V數(shù)據(jù)集的注釋收集很重要,也對于機器人等領域應有有影響。
如果被分割對象比較模糊,SAM2還會輸出多個有效掩碼。比如用戶點擊了自行車的輪胎,模型可以將此理解為多種掩碼,可能是指輪胎、可能是指自行車全部,并輸出多個預測。
在視頻中,如果在一幀圖像中僅有輪胎可見,那么可能需要分割的是輪胎;如果視頻后續(xù)幀中很多都出現(xiàn)了自行車,那么可能需要分割的是自行車。
如果還是不能判斷用戶到底想分割哪個部分,模型會按照置信度進行選擇。
此外,視頻中還容易出現(xiàn)分割對象被遮擋的情況。為了解決這個新情況,SAM2還增加了一個額外的模型輸出“遮擋頭”(occlusion head),用來預測對象是否出現(xiàn)在當前幀上。
此外,在數(shù)據(jù)集方面。
SA-V中包含的視頻數(shù)量是現(xiàn)有最大同類數(shù)據(jù)集的4.5倍,注釋量則是53倍。
為了收集到如此多的數(shù)據(jù),研究團隊構建了一個數(shù)據(jù)引擎。人工會利用SAM2在視頻中注釋時空掩碼,然后將新的注釋用來更新SAM2。多次重復這一循環(huán),就能不斷迭代數(shù)據(jù)集和模型。
和SAM相似,研究團隊不對注釋的時空掩碼進行語義約束,而是更加關注完整的物體。
這一方法讓收集視頻對象分割掩碼速度也大幅提升,比SAM快8.4倍。
解決過度分割、超越SOTA
對比來看,使用SAM2可以很好解決過度分割的問題。
實驗數(shù)據(jù)顯示,和半監(jiān)督SOTA方法比較,SAM2各項性能都表現(xiàn)不錯。
不過研究團隊也表示,SAM2還有不足,
比如可能會跟丟對象。如果相機視角變化大、在比較擁擠的場景里,就容易出現(xiàn)這類情況。所以他們設計了實時交互的模式,支持手動修正。
以及目標對象移動過快,可能會細節(jié)上有缺失。
最后,模型不僅開源支持免費使用,并已在Amazon SageMaker 等平臺上托管。
值得一提的是,有人發(fā)現(xiàn)論文中提到SAM2訓練是在256塊A100上耗時108小時完成,對比SAM1則花了68小時。
從圖像分割擴展到視頻領域,成本如此低?
本文轉自 AI生成未來 ,作者:明敏
