比Meta「分割一切AI」更全能!港科大版圖像分割A(yù)I來了:實現(xiàn)更強粒度和語義功能
聲明:本文來自于微信公眾號 量子位(ID:QbitAI),Semantic-SAM團隊投稿,授權(quán)站長之家轉(zhuǎn)載發(fā)布。
比Meta“分割一切”的SAM更全能的圖像分割A(yù)I,來了!
模型名為Semantic-SAM,顧名思義,在完全復(fù)現(xiàn)SAM分割效果的基礎(chǔ)上,這個AI還具有兩大特點:
-
語義感知:模型能夠給分割出的實體提供語義標簽
-
粒度豐富:模型能夠分割從物體到部件的不同粒度級別的實體
用作者自己的話說:
Semantic-SAM,在多個粒度(granularity)上分割(segment)和識別(recognize)物體的通用圖像分割模型。
據(jù)我們所知,我們的工作是在 SA-1B數(shù)據(jù)集、通用分割數(shù)據(jù)集(COCO等)和部件分割數(shù)據(jù)集(PASCAL Part等)上聯(lián)合訓(xùn)練模型的首次嘗試,并系統(tǒng)研究了在SA-1B 上定義的交互分割任務(wù)(promptable segmentation)和其他分割任務(wù)(例如,全景分割和部件分割)上多任務(wù)聯(lián)合訓(xùn)練的相互促進作用。
論文來自香港科技大學(xué)、微軟研究院、IDEA研究院、香港大學(xué)、威斯康星大學(xué)麥迪遜分校和清華大學(xué)等研究單位。
具體詳情,一起來看~
-
論文地址:https://arxiv.org/abs/2307.04767
-
代碼地址:https://github.com/UX-Decoder/Semantic-SAM
-
在線Demo地址:上述代碼倉庫的首頁
(以下為論文作者投稿)
簡介
Semantic-SAM可以完全復(fù)現(xiàn)SAM的分割效果并達到更好的粒度和語義功能,是一個強大的vision foundation model。Semantic-SAM 支持廣泛的分割任務(wù)及其相關(guān)應(yīng)用,包括:
-
Generic Segmentation 通用分割(全景/語義/實例分割)
-
Part Segmentation 細粒度分割
-
Interactive Segmentation with Multi-Granularity Semantics 具有多粒度語義的交互式分割
-
Multi-Granularity Image Editing 多粒度圖像編輯
1.1復(fù)現(xiàn)SAM
SAM是Semantic-SAM的子任務(wù)。我們開源了復(fù)現(xiàn)SAM效果的代碼,這是開源社區(qū)第一份基于DETR結(jié)構(gòu)的SAM復(fù)現(xiàn)代碼。
1.2超越SAM
-
粒度豐富性: Semantic-SAM能夠產(chǎn)生用戶點擊所需的所有可能分割粒度(1-6)的高質(zhì)量實體分割,從而實現(xiàn)更加可控和用戶友好的交互式分割。
-
語義感知性。Semantic-SAM使用帶有語義標記的數(shù)據(jù)集和SA-1B數(shù)據(jù)集聯(lián)合訓(xùn)練模型,以學(xué)習(xí)物體(object)級別和細粒度(part)級別的語義信息。
-
多功能。Semantic-SAM 實現(xiàn)了高質(zhì)量的全景,語義,實例,細粒度分割和交互式分割,驗證了SA-1B 和其他分割任務(wù)的相互促進作用。
只需單擊一下即可輸出多達6個粒度分割!與 SAM 相比,更可控地匹配用戶意圖,不用擔(dān)心鼠標移動很久也找不到想要的分割了~
2. 模型介紹
2.1模型結(jié)構(gòu)
Semantic-SAM的模型結(jié)構(gòu)基于Mask DINO進行開發(fā)。Mask DINO是基于DETR框架的統(tǒng)一檢測和分割的網(wǎng)絡(luò),目前仍然是相同模型size下的SOTA模型。Semantic-SAM的模型結(jié)構(gòu)主要改進在decoder部分,同時支持通用分割和交互式分割。通用分割的實現(xiàn)與Mask DINO相同。交互式分割包括point和box兩種形式,其中box到mask不存在匹配的ambiguity,實現(xiàn)方式與通用分割相同,而point到mask的匹配是Semantic-SAM的關(guān)鍵設(shè)計。
在Semantic-SAM中,用戶的point輸入被轉(zhuǎn)換成6個prompt, 每個prompt包含一個可學(xué)習(xí)的level embedding進行區(qū)分。這6個prompt通過decoder產(chǎn)生6個不同粒度的分割結(jié)果,以及object和part類別。
2.2訓(xùn)練
為了學(xué)到物體級別(object)和部件級別(part)的語義,Semantic-SAM同時從多個數(shù)據(jù)集中進行學(xué)習(xí),如多粒度數(shù)據(jù)集(SA-1B),物體級別數(shù)據(jù)集(如COCO),以及部件級別數(shù)據(jù)集(如Pascal Part)。
為了從聯(lián)合數(shù)據(jù)集中學(xué)習(xí)語義感知性和粒度豐富性,我們引入以下兩種訓(xùn)練方法:
解耦物體分類與部件分類的語義學(xué)習(xí):為了學(xué)習(xí)到可泛化的物體和部件語義,我們采用解耦的物體分類和部件分類,以使得只有object標注的數(shù)據(jù)也可以學(xué)習(xí)到一些通用的part語義。例如,head是在幾乎所有動物上都通用的part,我們期望模型從有標注的dog head,cat head,sheep head等head中學(xué)習(xí)到可泛化的lion,tiger,panda等head的識別能力。
Many-to-Many的多粒度學(xué)習(xí):對于交互式分割中的point輸入,Semantic-SAM利用6個prompt去輸出多粒度的分割結(jié)果,并用包含該點擊的所有標注分割來作為監(jiān)督。這種從多個分割結(jié)果到多個分割標注的Many-to-Many的匹配和監(jiān)督,使得模型能夠達到高質(zhì)量的多粒度分割效果。
3. 實驗
3.1SA-1B 與通用分割數(shù)據(jù)集的聯(lián)合訓(xùn)練
我們發(fā)現(xiàn),聯(lián)合訓(xùn)練 SA-1B 和通用分割數(shù)據(jù)集可以提高通用分割性能,如對COCO分割和檢測效果有大幅提升。
在訓(xùn)練SA-1B數(shù)據(jù)的過程中,我們也發(fā)現(xiàn)了利用少量SA-1B的數(shù)據(jù)即可得到很好的效果。
3.2SA-1B 與細粒度分割數(shù)據(jù)集的聯(lián)合訓(xùn)練
同樣的,聯(lián)合訓(xùn)練 SA-1B 和細粒度分割數(shù)據(jù)集可以提高部件分割性能。
4. 可視化
4.1Semantic-SAM的prompt從大量數(shù)據(jù)中學(xué)到了固定模式的表征
Semantic-SAM一共有6個可學(xué)習(xí)的prompt。對于不同圖片的點擊,觀察每個prompt對應(yīng)的分割結(jié)果,可以發(fā)現(xiàn)每個prompt的分割都會對應(yīng)一個固定的粒度。這表明每個prompt學(xué)到了一個固定的語義級別,輸出更加可控。
4.2Semantic-SAM與SAM, SA-1B Ground-truth 的比較
每行最左邊圖像上的紅點是用戶點擊的位置,(a)(b) 分別是Semantic-SAM和 SAM 的分割輸出, (c) 是包含用戶點擊的 Groud-truth 分割。與 SAM 相比,Semantic-SAM具有更好的分割質(zhì)量和更豐富的粒度,方便用戶找到自己需要的分割粒度,可控性更好。
—完—