0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

構(gòu)建一個(gè)移動(dòng)端友好的SAM方案MobileSAM

CVer ? 來(lái)源:CVer ? 2023-06-30 10:59 ? 次閱讀

導(dǎo)讀

本文提出一種"解耦蒸餾"方案對(duì)SAM的ViT-H解碼器進(jìn)行蒸餾,同時(shí)所得輕量級(jí)編碼器可與SAM的解碼器"無(wú)縫兼容"。在推理速度方面,MobileSAM處理一張圖像僅需10ms,比FastSAM的處理速度快4倍。

SAM(Segment Anything Model)是一種提示詞引導(dǎo)感興趣目標(biāo)分割的視覺(jué)基礎(chǔ)模型。自提出之日起,SAM引爆了CV社區(qū),也衍生出了大量相關(guān)的應(yīng)用(如檢測(cè)萬(wàn)物、摳取萬(wàn)物等等),但是受限于計(jì)算量問(wèn)題,這些應(yīng)用難以用在移動(dòng)端。

本文旨在將SAM的"重量級(jí)"解碼器替換為"輕量級(jí)"以使其可在移動(dòng)端部署應(yīng)用。為達(dá)成該目標(biāo),本文提出一種"解耦蒸餾"方案對(duì)SAM的ViT-H解碼器進(jìn)行蒸餾,同時(shí)所得輕量級(jí)編碼器可與SAM的解碼器"無(wú)縫兼容" 。此外,所提方案,只需一個(gè)GPU不到一天時(shí)間即可完成訓(xùn)練,比SAM小60倍且性能相當(dāng),所得模型稱(chēng)之為MobileSAM。在推理速度方面,MobileSAM處理一張圖像僅需10ms(8ms@Encoder,2ms@Decoder),比FastSAM的處理速度快4倍,這就使得MobileSAM非常適合于移動(dòng)應(yīng)用。

SAM

b65f4d78-1696-11ee-962d-dac502259ad0.png

上圖給出了SAM架構(gòu)示意圖,它包含一個(gè)"重量級(jí)"ViT編碼器與一個(gè)提示詞引導(dǎo)Mask解碼器。解碼器以圖像作為輸入,輸出將被送入Mask解碼器的隱特征(embedding);Mask解碼器將基于提示詞(如point、bbox)生成用于目標(biāo)分割的Mask。此外,SAM可以對(duì)同一個(gè)提示詞生成多個(gè)Mask以緩解"模棱兩可"問(wèn)題。更多關(guān)于SAM及衍生技術(shù)可參考文末推薦閱讀材料。

b68e9164-1696-11ee-962d-dac502259ad0.png

延續(xù)SAM架構(gòu)體系:采用輕量級(jí)ViT解碼器生成隱特征,然后采用提示詞引導(dǎo)解碼器生成期望的Mask。本文目標(biāo):構(gòu)建一個(gè)移動(dòng)端友好的SAM方案MobileSAM,即比原生SAM更快且具有令人滿意的性能??紤]到SAM不同模塊之間的參數(shù)量問(wèn)題,本文主要聚焦于采用更輕量型的Encoder替換SAM的重量級(jí)Encoder。

實(shí)現(xiàn)方案

b699ec08-1696-11ee-962d-dac502259ad0.png

Coupled Distillation 一種最直接的方式是參考SAM方案重新訓(xùn)練一個(gè)具有更小Encoder的SAM,見(jiàn)Figure2左圖。如SAM一文所提到:SAM-ViT-H的訓(xùn)練需要256個(gè)A100,且訓(xùn)練時(shí)間達(dá)68小時(shí);哪怕Encoder為ViT-B也需要128個(gè)GPU。這樣多的資源消耗無(wú)疑阻礙了研究人員進(jìn)行復(fù)現(xiàn)或改進(jìn)。此外,需要注意的是SAM所提供數(shù)據(jù)集的Mask是有預(yù)訓(xùn)練SAM所生成,本質(zhì)上講,重訓(xùn)練過(guò)程也是一種知識(shí)蒸餾過(guò)程,即講ViT-H學(xué)習(xí)到的知識(shí)遷移到輕量級(jí)Encoder中。

Semi-coupled Distillation 當(dāng)對(duì)原生SAM進(jìn)行知識(shí)蒸餾時(shí),主要困難在于: Encoder與Decoder的耦合優(yōu)化,兩者存在互依賴(lài)。有鑒于此,作者將整個(gè)知識(shí)蒸餾過(guò)程拆解為Encoder蒸餾+Decoder微調(diào),該方案稱(chēng)之為半耦合蒸餾(Semi-coupled Distillation),見(jiàn)Figure2右圖。也就是說(shuō),我們首先對(duì)Encoder進(jìn)行知識(shí)蒸餾,然后再與Decoder進(jìn)行協(xié)同微調(diào)。

b6a4df28-1696-11ee-962d-dac502259ad0.png

Decoupled Distillation 根據(jù)經(jīng)驗(yàn),我們發(fā)現(xiàn)這種半耦合蒸餾方案仍然極具挑戰(zhàn)性,這是因?yàn)樘崾驹~的選擇具有隨機(jī)性,使得Decoder可變,進(jìn)而導(dǎo)致優(yōu)化變難。有鑒于此,作者提出直接對(duì)原生SAM的編碼器進(jìn)行蒸餾且無(wú)需與Decoder組合,該方案稱(chēng)之為解耦合蒸餾。該方案的一個(gè)優(yōu)勢(shì)在于:僅需使用MSE損失即可,而無(wú)需用于Mask預(yù)測(cè)的Focal與Dice組合損失。

Necessity of Mask Decoder Finetuning 不同于半耦合蒸餾,經(jīng)解耦合蒸餾訓(xùn)練得到的輕量級(jí)Encoder可能與凍結(jié)的Decoder存在不對(duì)齊問(wèn)題。根據(jù)經(jīng)驗(yàn),我們發(fā)現(xiàn):該現(xiàn)象并不存在。這是因?yàn)閷W(xué)生Encoder生成的隱特征非常接近于原始老師Encoder生成的隱特征,因此并不需要與Decoder進(jìn)行組合微調(diào)。當(dāng)然,進(jìn)一步的組合微調(diào)可能有助于進(jìn)一步提升性能。

b6d1c1aa-1696-11ee-962d-dac502259ad0.png

Preliminary Evaluation 上表對(duì)比了耦合蒸餾與解耦合蒸餾的初步對(duì)比??梢钥吹剑?/p>

從指標(biāo)方面,解耦合蒸餾方案指標(biāo)稍高,0.75mIoU vs 0.72mIoU;

從訓(xùn)練GPU方面,解耦合蒸餾方案僅需兩個(gè)GPU,遠(yuǎn)小于耦合蒸餾方案的128卡,大幅降低了對(duì)GPU的依賴(lài);

從迭代次數(shù)方面,解耦合蒸餾方案僅需55k次迭代,遠(yuǎn)小于耦合蒸餾方案的180K,大幅降低了訓(xùn)練消耗;

從訓(xùn)練數(shù)據(jù)方面,解耦合蒸餾方案僅需11K數(shù)據(jù)量,遠(yuǎn)小于耦合蒸餾方案的11M,大幅降低了數(shù)據(jù)依賴(lài)。

盡管如此,但ViT-B對(duì)于移動(dòng)端部署仍然非常困難。因此,后續(xù)實(shí)驗(yàn)主要基于TinyViT進(jìn)行。

本文實(shí)驗(yàn)

b6ddecd2-1696-11ee-962d-dac502259ad0.png

在具體實(shí)現(xiàn)方面,作者基于ViT-Tiny進(jìn)行本文所提方案的有效性驗(yàn)證,所得MobileSAM與原生SAM的參數(shù)+速度的對(duì)比可參考上表。在訓(xùn)練方面,僅需SA-1B的1%數(shù)據(jù)量+單卡(RTX3090),合計(jì)訓(xùn)練8個(gè)epoch,僅需不到一天即可完成訓(xùn)練。

b6e865a4-1696-11ee-962d-dac502259ad0.pngb71b3f92-1696-11ee-962d-dac502259ad0.png

上述兩個(gè)圖給出了point與bbox提示詞下MobileSAM與原生SAM的結(jié)果對(duì)比,可以看到:MobileSAM可以取得令人滿意的Mask預(yù)測(cè)結(jié)果。

消融實(shí)驗(yàn)

b736499a-1696-11ee-962d-dac502259ad0.png

上表從訓(xùn)練超參bs、epoch、iter等維度進(jìn)行了對(duì)比分析,可以看到:

在同等迭代次數(shù)下,提升bs可以進(jìn)一步提升模型性能;

在同等bs下,提升iter可以進(jìn)一步提升模型性能。

b73edc68-1696-11ee-962d-dac502259ad0.png

上報(bào)對(duì)比了FastSAM與MobileSAM,可以看到:

從參數(shù)量方面,MobileSAM只有不到10M的參數(shù)量,遠(yuǎn)小于FastSAM的68M;

從處理速度方面,MobileSAM僅需10ms,比FastSAM的40ms快4倍.

b751bcf2-1696-11ee-962d-dac502259ad0.png

上圖從Segment everything角度對(duì)比了SAM、FastSAM以及MobileSAM三個(gè)模型,可以看到:

MobileSAM與原生SAM結(jié)果對(duì)齊驚人的好,而FastSAM會(huì)生成一些無(wú)法滿意的結(jié)果;

FastSAM通常生成非平滑的邊緣,而SAM與MobileSAM并沒(méi)有該問(wèn)題。

最后,補(bǔ)充一下Segment Anything與Segment Everything之間的區(qū)別。

如SAM一文所提到,SAM通過(guò)提示詞進(jìn)行物體分割,也就是說(shuō),提示詞的作用是指定想分割哪些物體。理論上講,當(dāng)給定合適的提示詞后,任何目標(biāo)都可以被分割,故稱(chēng)之為Segment Anything。

相反,Segment Everything本質(zhì)上是物體候選框生成過(guò)程,不需要提示詞。故它往往被用來(lái)驗(yàn)證下游任務(wù)上的zero-shot遷移能力。

總而言之,Segment Anything解決了任意物體的提示分割基礎(chǔ)任務(wù);Segment Everything則解決了所有物體面向下游任務(wù)的候選框生成問(wèn)題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編碼器
    +關(guān)注

    關(guān)注

    44

    文章

    3529

    瀏覽量

    133296
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3032

    瀏覽量

    48357
  • SAM
    SAM
    +關(guān)注

    關(guān)注

    0

    文章

    111

    瀏覽量

    33451

原文標(biāo)題:Faster Segment Anything

文章出處:【微信號(hào):CVer,微信公眾號(hào):CVer】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何構(gòu)建個(gè)簡(jiǎn)單的對(duì)講電路

    在這個(gè)電路中,我們將構(gòu)建個(gè)非常簡(jiǎn)單的對(duì)講電路,您可以使用該電路在房屋或?qū)W校內(nèi)以兩種方式進(jìn)行本地通信。這個(gè)項(xiàng)目帶來(lái)了童年的記憶,即使用火柴盒和線來(lái)制作
    的頭像 發(fā)表于 11-21 17:26 ?1440次閱讀
    如何<b class='flag-5'>構(gòu)建</b><b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>簡(jiǎn)單的對(duì)講電路

    【愛(ài)芯派 Pro 開(kāi)發(fā)板試用體驗(yàn)】+ 圖像分割和填充的Demo測(cè)試

    /ChaoningZhang/MobileSAM)是個(gè)輕量化的框架,它的目標(biāo)是通過(guò)用輕量化圖像編碼器取代復(fù)雜的圖像編碼器,使SAM對(duì)移動(dòng)
    發(fā)表于 12-26 11:22

    移動(dòng)適配方案

    移動(dòng)適配方案
    發(fā)表于 05-17 17:08

    種在金上生成硫醇封SAM的新方法

    種在金上生成硫醇封SAM的新方法 - 應(yīng)用簡(jiǎn)報(bào)
    發(fā)表于 10-30 11:05

    基于SAM3S4C器件被動(dòng)紅外參考設(shè)計(jì)

    SAM3S運(yùn)動(dòng)探測(cè)器相機(jī)的被動(dòng)紅外參考設(shè)計(jì)(PIRRD)。該電路為硬件和軟件工程師提供了詳細(xì)的指導(dǎo)和說(shuō)明,構(gòu)建了建筑或家庭報(bào)警和監(jiān)控系統(tǒng)中的低成本,功能強(qiáng)大的無(wú)源紅外移動(dòng)探測(cè)器攝像頭。參考設(shè)計(jì)基于
    發(fā)表于 05-19 09:14

    SMART SAM4C微控制器有哪些應(yīng)用?

    愛(ài)特梅爾(Atmel)公司的SMART SAM4C微控制器是系統(tǒng)級(jí)芯片解決方案,用于智能電源應(yīng)用,它是基于兩個(gè)高性能的32位ARM Cortex-M4 RISC處理器構(gòu)建。這些器件運(yùn)行
    發(fā)表于 11-23 12:19

    法國(guó)DREAM方案SAM5504B/SAM5704B音源芯片

    `法國(guó)dream芯片系列供應(yīng),提供整套開(kāi)發(fā)工具(下載器評(píng)估板開(kāi)發(fā)板)SAM5704B /SAM5704BSAM2634B /SAM5504 法國(guó)DREAMDSP音頻芯片 應(yīng)用范圍:電
    發(fā)表于 06-22 15:40

    關(guān)于Atmel SAM4L方案設(shè)計(jì)的介紹講解

    Atmel - SAM4L方案設(shè)計(jì)
    的頭像 發(fā)表于 07-10 01:15 ?2265次閱讀

    關(guān)于SAM4L方案設(shè)計(jì)的介紹

    Atmel - SAM4L方案設(shè)計(jì)簡(jiǎn)介
    的頭像 發(fā)表于 07-09 00:48 ?2144次閱讀

    如何快速構(gòu)建個(gè)移動(dòng)跨平臺(tái)視頻通話應(yīng)用

    今天我們就來(lái)看下如何使用 Agora Flutter SDK 快速構(gòu)建個(gè)簡(jiǎn)單的移動(dòng)跨平臺(tái)視頻通話應(yīng)用。
    的頭像 發(fā)表于 02-24 06:01 ?2690次閱讀
    如何快速<b class='flag-5'>構(gòu)建</b><b class='flag-5'>一</b><b class='flag-5'>個(gè)</b><b class='flag-5'>移動(dòng)</b>跨平臺(tái)視頻通話應(yīng)用

    中興聯(lián)手廣州移動(dòng)實(shí)現(xiàn)構(gòu)建的5G地鐵切片

    5月28日,中興通訊與廣州移動(dòng)在廣州塔地鐵站率先實(shí)現(xiàn)了全球首個(gè)5G SA環(huán)境的無(wú)線PRB(Physical Recourse Block,物理資源塊)硬隔離切片方案,解決方案涵蓋了5G商用終端、5G基站、承載及5G核心網(wǎng),
    的頭像 發(fā)表于 06-03 15:47 ?3199次閱讀

    如何構(gòu)建個(gè)完整的物聯(lián)網(wǎng)解決方案

    冷鏈物流的復(fù)雜性、成本和風(fēng)險(xiǎn)使其成為物聯(lián)網(wǎng)的理想使用案例。以下是我們?nèi)绾?b class='flag-5'>構(gòu)建個(gè)完整的物聯(lián)網(wǎng)解決方案,以應(yīng)對(duì)這些挑戰(zhàn)。
    發(fā)表于 06-24 17:46 ?4744次閱讀

    個(gè)利用GT-SAM的緊耦合激光雷達(dá)慣導(dǎo)里程計(jì)的框架

    LIO-SAM 提出了個(gè)利用GT-SAM的緊耦合激光雷達(dá)慣導(dǎo)里程計(jì)的框架。實(shí)現(xiàn)了高精度、實(shí)時(shí)的移動(dòng)機(jī)器人的軌跡估計(jì)和建圖。
    的頭像 發(fā)表于 10-31 09:25 ?2217次閱讀

    構(gòu)建個(gè)移動(dòng)RFID閱讀器

    電子發(fā)燒友網(wǎng)站提供《構(gòu)建個(gè)移動(dòng)RFID閱讀器.zip》資料免費(fèi)下載
    發(fā)表于 12-05 10:31 ?1次下載
    <b class='flag-5'>構(gòu)建</b><b class='flag-5'>一</b><b class='flag-5'>個(gè)</b><b class='flag-5'>移動(dòng)</b>RFID閱讀器

    構(gòu)建個(gè)移動(dòng)應(yīng)用程序

    電子發(fā)燒友網(wǎng)站提供《構(gòu)建個(gè)移動(dòng)應(yīng)用程序.zip》資料免費(fèi)下載
    發(fā)表于 07-04 14:33 ?0次下載
    <b class='flag-5'>構(gòu)建</b><b class='flag-5'>一</b><b class='flag-5'>個(gè)</b><b class='flag-5'>移動(dòng)</b>應(yīng)用程序