論文:Segment Anything
Github:https://github.com/facebookresearch/segment-anything
論文從zero-shot主干網(wǎng)絡(luò)的基礎(chǔ)出發(fā),提出了SAM(Segment Anything Model)模型。該模型有別于傳統(tǒng)的分割模型。傳統(tǒng)分割模型只能輸入原圖輸出固定的分割結(jié)果,SAM在設(shè)計上可以同時輸入原圖和特定提示(點、框、陰影、文本),然后根據(jù)不同的提示輸出不同的分割結(jié)果圖,并且SAM支持不同提示的交互式分割。SAM可以適用于多種分割場景,包括交互式分割、邊界檢測、超分、物體生成、前景分割、語義分割、實例分割、全景分割等眾多場景。另外為了訓練SAM這種多模態(tài)的模型,論文在數(shù)據(jù)上也下足了功夫,論文貢獻了大規(guī)模分割數(shù)據(jù)集SA-1B,包括10億個mask和110w圖片。
要使模型具備0樣本遷移能力,需要從模型容量、數(shù)據(jù)集大小、整體訓練這3方面下功夫。
因此論文就從task, model, data 3個方面進行了改進。
Task:
在論文的交互式分割任務(wù)中,有的提示信息,比如點的提示,存在模棱兩可的情況。為了解決這樣的問題,SAM模型會同時輸出3個分割結(jié)果,分別為全部(whole),部分(part), 局部(subpart)。
model:
論文設(shè)計了包含多模態(tài)信息的SAM分割模型,模型在相關(guān)提示下預測分割mask大概耗時50ms。
SAM模型由圖片編碼器模塊(image encoder)、提示信息編碼器模塊(prompt encoder)、分割mask解碼器模塊(mask decoder)3部分組成。
圖片編碼器模塊基于Vision Transformer (ViT)主干網(wǎng)絡(luò)實現(xiàn)。
提示信息編碼器模塊支持稀疏特征點、框、文本 (points, boxes, text) 和稠密特征陰影 (masks)。
對于點和框在提取embedding的時候加入了位置編碼信息的embedding,然后將兩者相加得到最終的embedding。對于文本信息的編碼采用了clip模型。
對于陰影信息的編碼通過conv實現(xiàn),并最終和圖片的編碼特征相加。
分割mask解碼器模塊采用Transformer的解碼器部分實現(xiàn),并在后面接入動態(tài)的頭部預測模塊。同時在訓練過程中,從圖片到提示和從提示到圖片都引入了自監(jiān)督(self-attention)和跨監(jiān)督(cross-attention)操作。 最后上采樣圖片的embedding,通過一個MLP模塊,經(jīng)線性分類器,得到最終的概率圖。
Data engine:
為了建立一個大規(guī)模的分割數(shù)據(jù)集,論文建立了一套數(shù)據(jù)制作的引擎。整個過程包含3個階段,人工手動階段(assisted-manual),半自動階段(semi-automatic), 全自動階段(fully automatic)。
人工手動階段(assisted-manual):
該階段標注過程和訓練過程是同步進行的。需要人工在標注引擎上對mask進行標注,如果一個mask的標注時間超過30s就會放棄選擇標注下一個圖片。隨著標注圖片的增加和訓練過程的進行,圖片編碼器的主干網(wǎng)絡(luò)從ViT-B進化為ViT-H。這樣的標注-訓練迭代過程持續(xù)了6輪。最終每張圖片的標注時間從34s降低為14s。每個圖片中的mask數(shù)量從20個提升到44個。最終在該階段收集到了4.3M mask和 120k image。
半自動階段(semi-automatic):
該階段主要目的是提高mask的多樣性,從而提高模型的分割能力。由于標注過程更注重mask多樣性的標注,所以該階段的平均標注時間提升到了34s/圖。每個圖片中的mask數(shù)量從44提升到了72。在該階段收集了5.9M mask和180k image。
全自動階段(fully automatic):
該階段使用模型進行全自動標注。每個圖片會被設(shè)置32*32的網(wǎng)格點來覆蓋圖片中的所有物體。并且會通過iou來選擇靠譜的mask,然后再進行NMS操作,從而得到最終的mask。
該階段共收集到1.1B mask和 11M image。
Losses and training:
訓練過程采用focal loss 和 dice loss的線性組合作為最終loss。
訓練過程中會根據(jù)mask隨機采樣不同的提示進行訓練。
Dataset:
大規(guī)模分割數(shù)據(jù)集SA-1B,包括10億個mask和110w圖片。相比同類分割數(shù)據(jù)集,多了400倍的mask。
Images:
原始圖片的分辨率為3300× 4950,考慮到存儲和展示的必要,將圖片都縮放到短邊為1500像素。即使是這樣,也比coco數(shù)據(jù)集的圖片分辨率480× 640大很多。
Masks:
通過數(shù)據(jù)引擎標注的圖片具有很高的標注質(zhì)量。
Mask quality:
從所有數(shù)據(jù)中隨機選取了500張圖片以及對應(yīng)的大概50000mask。讓專家進行精細標注,然后和數(shù)據(jù)引擎標注的結(jié)果進行iou對比。結(jié)果是94%的圖片iou超過90%,97%的圖片iou超過75%。iou一致性基本在85-91%。
Mask properties:
SA-1B覆蓋了更廣泛的圖片區(qū)間,比第二大分割數(shù)據(jù)集多了11倍的圖片400倍的mask。同時SA-1B包含了更多的小和中等的mask。通過mask輪廓的凹陷程度來分析mask的多樣性,發(fā)現(xiàn)SA-1B和其他分割數(shù)據(jù)集擁有同樣的mask多樣性。
RAI Analysis:
通過Responsible AI (RAI)分析,SA-1B覆蓋了全世界各個角落的數(shù)據(jù)圖片。同時在年齡、性別、膚色等維度也都沒有各種歧視。表現(xiàn)出了更多的包容性More Inclusive Annotations for People (MIAP)。
?
實驗結(jié)果:
在眾多數(shù)據(jù)集上,SAM方法都優(yōu)于RITM方法。
隨著提示點的數(shù)量的增加,SAM的分割效果越來越高,隨著提示點從1到9的增加,SAM方法和其他分割方法之間的gap越來越小。當提示點達到9個是,SAM的分割效果會略低于其他方法,這是因為SAM方法的設(shè)計初衷就不是一個高IOU的分割方法。
SAM方法在中型物體、大型物體、罕見物體、正常物體上的分割效果是優(yōu)于其他分割方法的。
?
SAM可以實現(xiàn)基于文本的分割。同時在文本分割不準確的情況下,可以通過增加點的提示信息,來提升分割效果。
Limitations:
SAM在細粒度的分割、非連續(xù)部件的分割上表現(xiàn)都較差。同時分割的邊界也不夠干凈利落。
對于文本到mask的分割任務(wù)還在嘗試探索階段,尚不夠魯棒,具有很大的提升空間。
結(jié)論:
SAM首個提出在圖像分割領(lǐng)域0樣本遷移的基礎(chǔ)模型(foundation models)的概念。也就是不需要任何實際使用場景的訓練,該模型就可以直接進行分割推理。論文貢獻了SAM分割模型和SA-1B分割數(shù)據(jù)集。
?文章來源地址http://www.zghlxwxcb.cn/news/detail-470343.html
?文章來源:http://www.zghlxwxcb.cn/news/detail-470343.html
?
?
?
到了這里,關(guān)于圖像分割之SAM(Segment Anything Model)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!