導(dǎo)讀
SAM已經(jīng)成為許多高級任務(wù)(如圖像分割、圖像描述和圖像編輯)的基礎(chǔ)步驟。然而,其巨大的計(jì)算開銷限制了其在工業(yè)場景中的廣泛應(yīng)用。這種計(jì)算開銷主要來自于處理高分辨率輸入的Transformer架構(gòu)。因此,本文提出了一種具有可比性能的加速替代方法。通過將該任務(wù)重新定義為分割生成和提示,作者發(fā)現(xiàn)一個(gè)常規(guī)的CNN檢測器結(jié)合實(shí)例分割分支也可以很好地完成這個(gè)任務(wù)。具體而言,本文將該任務(wù)轉(zhuǎn)換為經(jīng)過廣泛研究的實(shí)例分割任務(wù),并僅使用SAM作者發(fā)布的SA-1B數(shù)據(jù)集的1/50進(jìn)行訓(xùn)練現(xiàn)有的實(shí)例分割方法。使用這種方法,作者在50倍更快的運(yùn)行時(shí)間速度下實(shí)現(xiàn)了與SAM方法相當(dāng)?shù)男阅?。本文提供了充分的?shí)驗(yàn)結(jié)果來證明其有效性。
引言
SAM被認(rèn)為是里程碑式的視覺基礎(chǔ)模型,它可以通過各種用戶交互提示來引導(dǎo)圖像中的任何對象的分割。SAM利用在廣泛的SA-1B數(shù)據(jù)集上訓(xùn)練的Transformer模型,使其能夠熟練處理各種場景和對象。SAM開創(chuàng)了一個(gè)令人興奮的新任務(wù),即Segment Anything。由于其通用性和潛力,這個(gè)任務(wù)具備成為未來廣泛視覺任務(wù)基石的所有要素。然而,盡管SAM及其后續(xù)模型在處理segment anything任務(wù)方面展示了令人期待的結(jié)果,但其實(shí)際應(yīng)用仍然具有挑戰(zhàn)性。顯而易見的問題是與SAM架構(gòu)的主要部分Transformer(ViT)模型相關(guān)的大量計(jì)算資源需求。與卷積模型相比,ViT以其龐大的計(jì)算資源需求脫穎而出,這對于其實(shí)際部署,特別是在實(shí)時(shí)應(yīng)用中構(gòu)成了障礙。這個(gè)限制因此阻礙了segment anything任務(wù)的進(jìn)展和潛力。
鑒于工業(yè)應(yīng)用對segment anything模型的高需求,本文設(shè)計(jì)了一個(gè)實(shí)時(shí)解決方案,稱為FastSAM,用于segment anything任務(wù)。本文將segment anything任務(wù)分解為兩個(gè)連續(xù)的階段,即全實(shí)例分割和提示引導(dǎo)選擇。第一階段依賴于基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的檢測器的實(shí)現(xiàn)。它生成圖像中所有實(shí)例的分割掩碼。然后在第二階段,它輸出與提示相對應(yīng)的感興趣區(qū)域。通過利用CNN的計(jì)算效率,本文證明了在不太損失性能質(zhì)量的情況下,可以實(shí)現(xiàn)實(shí)時(shí)的segment anything模型。本文希望所提出的方法能夠促進(jìn)對segment anything基礎(chǔ)任務(wù)的工業(yè)應(yīng)用。
圖1. FastSAM和SAM的性能比較分析
(a) FastSAM和SAM在單個(gè)NVIDIA GeForce RTX 3090上的速度比較。(b) 在BSDS500數(shù)據(jù)集[1, 28]上進(jìn)行邊緣檢測的比較。(c) COCO數(shù)據(jù)集[25]上對象提議的Box AR@1000評估中FastSAM和SAM的比較。SAM和FastSAM都使用PyTorch進(jìn)行推理,只有FastSAM(TRT)使用TensorRT進(jìn)行推理。
本文提出的FastSAM基于YOLACT方法的實(shí)例分割分支的目標(biāo)檢測器YOLOv8-seg。此外,還采用了由SAM發(fā)布的廣泛SA-1B數(shù)據(jù)集,通過僅在SA-1B數(shù)據(jù)集的2%(1/50)上直接訓(xùn)練該CNN檢測器,它實(shí)現(xiàn)了與SAM相當(dāng)?shù)男阅?,但大大降低了?jì)算和資源需求,從而實(shí)現(xiàn)了實(shí)時(shí)應(yīng)用。本文還將其應(yīng)用于多個(gè)下游分割任務(wù),展示了其泛化性能。在MS COCO 上的對象提議任務(wù)中,該方法在AR1000上達(dá)到了63.7,比使用32×32點(diǎn)提示輸入的SAM高1.2點(diǎn),但在單個(gè)NVIDIA RTX 3090上運(yùn)行速度提高了50倍。
實(shí)時(shí)的segment anything模型對于工業(yè)應(yīng)用非常有價(jià)值。它可以應(yīng)用于許多場景。所提出的方法不僅為大量視覺任務(wù)提供了新的實(shí)用解決方案,而且速度非???,比當(dāng)前方法快幾十倍或幾百倍。此外,它還為通用視覺任務(wù)的大型模型架構(gòu)提供了新的視角。對于特定任務(wù)來說,特定的模型仍然可以利用優(yōu)勢來獲得更好的效率-準(zhǔn)確性平衡。
在模型壓縮的角度上,本文方法通過引入人工先驗(yàn)結(jié)構(gòu),展示了顯著減少計(jì)算量的可行路徑。本文貢獻(xiàn)可總結(jié)如下:
引入了一種新穎的實(shí)時(shí)基于CNN的Segment Anything任務(wù)解決方案,顯著降低了計(jì)算需求同時(shí)保持競爭性能。
本研究首次提出了將CNN檢測器應(yīng)用于segment anything任務(wù),并提供了在復(fù)雜視覺任務(wù)中輕量級CNN模型潛力的見解。
通過在多個(gè)基準(zhǔn)測試上對所提出的方法和SAM進(jìn)行比較評估,揭示了該方法在segment anything領(lǐng)域的優(yōu)勢和劣勢。
方法
下圖2展示了FastSAM網(wǎng)絡(luò)架構(gòu)圖。該方法包括兩個(gè)階段,即全實(shí)例分割和提示引導(dǎo)選擇。前一個(gè)階段是基礎(chǔ)階段,第二個(gè)階段本質(zhì)上是面向任務(wù)的后處理。與端到端的Transformer方法不同,整體方法引入了許多與視覺分割任務(wù)相匹配的人類先驗(yàn)知識,例如卷積的局部連接和感受野相關(guān)的對象分配策略。這使得它針對視覺分割任務(wù)進(jìn)行了定制,并且可以在較少的參數(shù)數(shù)量下更快地收斂。
圖2. FastSAM網(wǎng)絡(luò)架構(gòu)圖
FastSAM包含兩個(gè)階段:全實(shí)例分割(AIS)和提示引導(dǎo)選擇(PGS)。先使用YOLOv8-seg 對圖像中的所有對象或區(qū)域進(jìn)行分割。然后使用各種提示來識別感興趣的特定對象。主要涉及點(diǎn)提示、框提示和文本提示的利用。
實(shí)例分割
YOLOv8 的架構(gòu)是基于其前身YOLOv5 發(fā)展而來的,融合了最近算法(如YOLOX 、YOLOv6 和YOLOv7 )的關(guān)鍵設(shè)計(jì)。YOLOv8的主干網(wǎng)絡(luò)和特征融合模塊(neck module)將YOLOv5的C3模塊替換為C2f模塊。更新后的頭部模塊采用解耦結(jié)構(gòu),將分類和檢測分開,并從基于Anchor的方法轉(zhuǎn)向了基于Anchor-Free的方法。
YOLOv8-seg應(yīng)用了YOLACT的實(shí)例分割原理。它通過主干網(wǎng)絡(luò)和特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network, FPN)從圖像中提取特征,集成了不同尺度的特征。輸出包括檢測分支和分割分支。檢測分支輸出目標(biāo)的類別和邊界框,而分割分支輸出k個(gè)原型(在FastSAM中默認(rèn)為32個(gè))以及k個(gè)掩碼系數(shù)。分割和檢測任務(wù)并行計(jì)算。分割分支輸入高分辨率特征圖,保留空間細(xì)節(jié),并包含語義信息。該特征圖經(jīng)過卷積層處理,上采樣,然后通過另外兩個(gè)卷積層輸出掩碼。與檢測頭部的分類分支類似,掩碼系數(shù)的范圍在-1到1之間。通過將掩碼系數(shù)與原型相乘并求和,得到實(shí)例分割結(jié)果。
YOLOv8可以用于各種目標(biāo)檢測任務(wù)。而通過實(shí)例分割分支,YOLOv8-Seg非常適用于segment anything任務(wù),該任務(wù)旨在準(zhǔn)確檢測和分割圖像中的每個(gè)對象或區(qū)域,而不考慮對象的類別。原型和掩碼系數(shù)為提示引導(dǎo)提供了很多可擴(kuò)展性。例如,可以額外訓(xùn)練一個(gè)簡單的提示編碼器和解碼器結(jié)構(gòu),以各種提示和圖像特征嵌入作為輸入,掩碼系數(shù)作為輸出。在FastSAM中,本文直接使用YOLOv8-seg方法進(jìn)行全實(shí)例分割階段。
提示引導(dǎo)選擇
在使用YOLOv8成功地對圖像中的所有對象或區(qū)域進(jìn)行分割后,segment anything 任務(wù)的第二階段是利用各種提示來識別感興趣的特定對象。這主要涉及到點(diǎn)提示、框提示和文本提示的利用。
點(diǎn)提示
點(diǎn)提示的目標(biāo)是將所選點(diǎn)與第一階段獲得的各種掩碼進(jìn)行匹配,以確定點(diǎn)所在的掩碼。類似于SAM在方法中采用前景/背景點(diǎn)作為提示。在前景點(diǎn)位于多個(gè)掩碼中的情況下,可以利用背景點(diǎn)來篩選出與當(dāng)前任務(wù)無關(guān)的掩碼。通過使用一組前景/背景點(diǎn),我們能夠選擇感興趣區(qū)域內(nèi)的多個(gè)掩碼。這些掩碼將被合并為一個(gè)單獨(dú)的掩碼,完整標(biāo)記出感興趣的對象。此外,還可以利用形態(tài)學(xué)操作來提高掩碼合并的性能。
框提示
框提示涉及將所選框與第一階段中對應(yīng)的邊界框進(jìn)行IoU(交并比)匹配。目標(biāo)是識別與所選框具有最高IoU得分的掩碼,從而選擇感興趣的對象。
文本提示
在文本提示的情況下,我們使用CLIP模型提取文本的相應(yīng)嵌入。然后,確定與每個(gè)掩碼的固有特征進(jìn)行匹配的圖像嵌入,并使用相似度度量方法進(jìn)行匹配。選擇與文本提示的圖像嵌入具有最高相似度得分的掩碼。
通過精心實(shí)施這些基于提示的選擇技術(shù),F(xiàn)astSAM可以可靠地從分割圖像中選擇特定的感興趣對象。上述方法為在實(shí)時(shí)情況下完成segment anything任務(wù)提供了高效的方式,從而極大地增強(qiáng)了YOLOv8模型在復(fù)雜圖像分割任務(wù)中的實(shí)用性。對于更有效的基于提示的選擇技術(shù),將留待未來探索。
實(shí)驗(yàn)結(jié)果
SAM和FastSAM在單個(gè)NVIDIA GeForce RTX 3090 GPU上的運(yùn)行速度對比。可以看出,F(xiàn)astSAM在所有提示數(shù)量上超過了SAM。此外,F(xiàn)astSAM的運(yùn)行速度與提示數(shù)量無關(guān),使其成為"Everything mode"的更好選擇。
FastSAM分割結(jié)果
邊緣檢測zero-shot能力評估-量化指標(biāo)評估
邊緣檢測zero-shot能力評估-可視化結(jié)果評估
在COCO的所有類別上與無需學(xué)習(xí)的方法進(jìn)行比較。此處報(bào)告了無需學(xué)習(xí)的方法、基于深度學(xué)習(xí)的方法(在VOC上進(jìn)行訓(xùn)練)以及本文方法與SAM方法在所有泛化上的平均召回率(AR)和AUC對比結(jié)果。
與OLN和SAM-H的比較
在異常檢測中的應(yīng)用,其中SAM-point/box/everything分別表示使用點(diǎn)提示、框提示和全部模式。
在顯著性分割中的應(yīng)用,其中SAM-point/box/everything分別表示使用點(diǎn)提示、框提示和全部模式。
在建筑物提取中的應(yīng)用,其中SAM-point/box/everything分別表示使用點(diǎn)提示、框提示和全部模式。
相比SAM,F(xiàn)astSAM在大對象的狹窄區(qū)域上可以生成更精細(xì)的分割掩碼。
Limitations
總體而言,F(xiàn)astSAM在性能上與SAM相當(dāng),并且比SAM (32×32) 快50倍,比SAM (64×64) 快170倍。其運(yùn)行速度使其成為工業(yè)應(yīng)用的良好選擇,如道路障礙檢測、視頻實(shí)例跟蹤和圖像處理。在一些圖像上,F(xiàn)astSAM甚至能夠?yàn)榇蟪叽鐚ο笊筛玫难诖a。
圖11
然而,正如實(shí)驗(yàn)中所展示的,F(xiàn)astSAM在生成框上具有明顯的優(yōu)勢,但其掩碼生成性能低于SAM,如上圖11所示。FastSAM具有以下特點(diǎn):
低質(zhì)量的小尺寸分割掩碼具有較高的置信度分?jǐn)?shù)。作者認(rèn)為這是因?yàn)橹眯哦确謹(jǐn)?shù)被定義為YOLOv8的邊界框分?jǐn)?shù),與掩碼質(zhì)量關(guān)系不大。改變網(wǎng)絡(luò)以預(yù)測掩碼的IoU或其它質(zhì)量指標(biāo)是改進(jìn)的一種方式。
一些微小尺寸對象的掩碼傾向于接近正方形。此外,大尺寸對象的掩碼可能在邊界框的邊緣出現(xiàn)一些偽影,這是YOLACT方法的弱點(diǎn)。通過增強(qiáng)掩碼原型的能力或重新設(shè)計(jì)掩碼生成器,可以預(yù)期解決這個(gè)問題。
結(jié)論
在本文中,我們重新思考了Segment Anything的任務(wù)和模型架構(gòu)選擇,并提出了一種替代方案,其運(yùn)行速度比SAM-ViT-H (32×32)快50倍。實(shí)驗(yàn)證明,F(xiàn)astSAM可以很好地解決多個(gè)下游任務(wù)。然而,F(xiàn)astSAM還存在一些可以改進(jìn)的弱點(diǎn),例如評分機(jī)制和實(shí)例掩碼生成范式。這些問題將留待未來的研究解決。
-
模型
+關(guān)注
關(guān)注
1文章
3032瀏覽量
48348 -
SAM
+關(guān)注
關(guān)注
0文章
111瀏覽量
33451 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1197瀏覽量
24533
原文標(biāo)題:中科院自動化所發(fā)布FastSAM | 精度相當(dāng),速度提升50倍!?。?/p>
文章出處:【微信號:3D視覺工坊,微信公眾號:3D視覺工坊】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論