Anslut dig till vårt nätverk!

Artificiell intelligens

TinySAM : Pushing the Boundaries for Segment Anything Model

mm
TinySAM : Pushing the Boundaries for Segment Anything Model

Objektsegmentering är ett grundläggande och kritiskt viktigt område i modern datorseende. Den spelar en viktig roll i applikationer som kräver omfattande visuella komponenter, såsom objektlokalisering och identifiering, och kräver realtids, snabb och exakt segmentering. Denna betydelse har gjort objektsegmentering till ett konsekvent hett forskningsämne, med betydande arbete utfört inom områden som instanssegmentering, semantisk segmentering och panoptisk segmentering.

Med utvecklingen av objektsegmentering har Segment Anything Model (SAM) framstått som ett anmärkningsvärt verktyg som uppvisar enastående segmenteringsförmågor och snabbt anammats i olika datorseendeapplikationer. Ramverk som använder en förtränad SAM-arkitektur har uppnått imponerande prestanda i nedströms synuppgifter. Trots dess kapacitet och höga noggrannhet i segmenteringsuppgifter kräver SAMs komplexa och tunga arkitektur betydande beräkningskraft, vilket hindrar dess implementering på beräkningsbegränsade enheter.

För att ta itu med SAMs beräkningsutmaningar har forskare utvecklat Tiny Segment Anything Model (TinySAM), som bibehåller den ursprungliga ramverkets noll-skottsprestanda samtidigt som den är lättare. TinySAM använder en fullstegs kunskapsdestillationsmetod med online-hårda prompter för att skapa en effektivare studentmodell. Kvantisering efter träning anpassad till promptbara segmenteringsuppgifter minskar ytterligare beräkningsbehovet. Dessutom syftar TinySAMs design till hierarkisk segmentering, vilket nästan fördubblar inferenshastigheten utan att kompromissa med prestandan.

Den här artikeln fördjupar sig i TinySAM-ramverket och utforskar dess grundläggande principer, arkitektur och prestanda jämfört med andra toppmoderna segmenteringsramverk. Låt oss utforska dessa aspekter mer i detalj.

TinySAM : Effektiv Segment Anything Model

Segment Anything-modellen har hjälpt till i den snabba utvecklingen av flera datorseendeapplikationer på grund av dess lovvärda segmenteringsförmåga i kombination med en massiv segmenteringsdatauppsättning som rymmer över 11 miljoner bilder och över en miljard bildmasker. På grund av dess exceptionella prestanda på uppgifter som segmenterar objekt med godtyckliga kategorier och former, fungerar den som grunden för ramverk som utför nedströmsuppgifter som bildmålning, objektspårning, 3D-vision och mer. Dessutom erbjuder Segment Anything-modellen också anmärkningsvärt nollskottssegmentering prestanda som har gynnat känsliga industrier som arbetar med en begränsad mängd data, inklusive medicinsk forskning och medicinsk bildbehandling. 

Även om man inte kan ifrågasätta de anmärkningsvärda segmenteringsmöjligheterna som erbjuds av Segment Anything-modellen på ett brett spektrum av nedströms vision-uppgifter, har den sin baksida i form av en komplex arkitektonisk överbelastning, höga beräkningskrav och betydande driftskostnader. För ett system som körs på en modern GPU kan slutledningstiden för en SAM-modell vara så hög som upp till 2 sekunder för en 1024×1024-bild. Som ett resultat är det en mycket svår uppgift att implementera SAM-applikationer på enheter med begränsad beräkningsförmåga. För att övervinna detta hinder har nya verk som MobileSAM och FastSAM försökt utveckla en SAM-modell med mer beräkningseffektivitet. MobileSAM-ramverket försöker ersätta den tunga komponenten i bildkodaren med arkitekturen för TinyViT-ramverket medan FastSAM-modellen överför segmentuppgiften till en instanssegmenteringsuppgift med endast en kategori med YoloV8 modell. Även om dessa metoder kunde uppnå en viss grad av framgång när det gäller att minska beräkningskraven, kunde de inte bibehålla prestandan, särskilt vid noll-shot-uppgifter nedströms. 

TinySAM eller Tiny Segment Anything Model är ett försök att minska beräkningskraven för den nuvarande SAM-modellen utan att hindra prestandan på noll-shot downstream-uppgifter. Dessutom föreslår TinySAM-ramverket att implementera en kunskapsdestillationsmetod i full-steg i sin arkitektur med syftet att förbättra förmågan hos det kompakta studentnätverket. TinySAM-ramverket destillerar studentnätverket på ett end-to-end-sätt under överinseende av lärarnätverket från olika stadier. För att öka prestandan ytterligare tillåter ramverket destillationsprocessen att ta mer hänsyn till svåra exempel genom att implementera en extra online-strategi för hård promptsampling. Dessutom, för att ytterligare minska beräkningskostnaderna, exponerar TinySAM-ramverket de snabba segmenteringsuppgifterna för kvantiseringskomponenter efter träning. 

Den största delen av beräkningskravet för en Segment Anything Model beror på att modellen genererar massiva masker från rutnätets promptpunkter för att segmentera allt i bilden. För att övervinna beräkningskraven för denna segmenteringsstrategi använder TinySAM-ramverket en hierarkisk segment-all-strategi som nästan fördubblar slutledningshastigheten utan att försämra prestandan. Med dessa metoder som används i sin arkitektur erbjuder TinySAM-ramverket en betydande minskning av beräkningskraven och sätter nya gränser för effektiva segmenteringsuppgifter. 

TinySAM: Arkitektur och metodik

Innan vi pratar om TinySAM-ramverkets arkitektur och metodik är det viktigt att först ta en titt på dess föregångare, SAM-ramverket. Ända sedan introduktionen har Segment Anything-modellen visat anmärkningsvärd prestanda, mångsidighet och generaliseringsförmåga över en rad nedströms vision- och objektsegmenteringsuppgifter. 

I sin kärna består SAM-modellen av tre undernätverk: promptkodaren, bildkodaren och maskavkodaren. Det primära syftet med promptkodaren är att koda de godtyckligt formade maskerna, inmatningspunkterna och rutorna och friformstext med positionsinformation. Bildkodaren är ett tungt ViT- eller visiontransformatorbaserat nätverk som extraherar ingångsbilden till inbäddningar. Modellen använder olika nätverk för att bearbeta geometriska och textuppmaningar. Slutligen innehåller maskavkodaren en tvåvägstransformator som tar emot utsignalen från prompten och bildkodaren för att generera den slutliga maskprediktionen. Med datasetet visar SAM-ramverket anmärkningsvärda högkvalitativa segmenteringsmöjligheter för objekt oavsett deras form och kategori. Dessutom Segmentera Anything Model demonstrerar anmärkningsvärd prestanda och effektivitet över nollbilder nedströms vision-uppgifter inklusive objektförslag, kantdetektering, text-till-mask-förutsägelse och instanssegmentering. På grund av dess högkvalitativa segmenteringsförmåga och flexibla snabba erbjudanden, utgör SAM-ramverken grunden för visionapplikationer. Med det sagt kan man inte ignorera det höga beräkningskravet för den traditionella SAM-arkitekturen med ett stort antal parametrar som gör det nästan omöjligt för utvecklare att distribuera SAM-baserade applikationer på enheter med begränsade resurser. 

Kunskapsdestillation

Kunskapsdestillation är ett viktigt tillvägagångssätt för att öka prestandan hos kompakta nätverk under träningsfasen. Kunskapsdestillationsmetoden som använder utdata från lärarnätverket för att övervaka utbildningen av det lätta elevnätverket. Kunskapsdestillationsmetoden kan delas upp i två underkategorier: destillation för mellanliggande egenskaper och destillation för nätverksutgångar, med en majoritet av forskningsarbetet kring kunskapsdestillation med fokus på bildklassificeringsuppgifter. 

Med det sagt, visar följande figur den generiska arkitekturen för TinySAM-ramverket tillsammans med prestandaöversikten över zero-shot-instanssegmenteringsuppgifter. 

I det första steget implementerar TinySAM-ramverket kunskapsdestillation designat specifikt för SAM-ramverket, och för att aktivera destillationsprocessen ytterligare använder modellen en online-hard prompt-sampling för att bryta den hårda kunskapen till studentnätverket från lärarnätverket. I det andra steget anpassar TinySAM-ramverket kvantiseringsmetoden efter utbildning till snabba segmenteringsuppgifter och implementerar den på det lätta studentnätverket. Slutligen implementerar modellen det hierarkiska segmentets allt-inferens-läge designat för segmenteringsuppgifter, vilket resulterar i en fördubbling av slutledningshastigheten med försumbar noggrannhetsförlust. 

Kunskapsdestillation i full skede

Som nämnts tidigare består Segment Anything-modellen av tre undernätverk i sin kärna: promptkodaren, bildkodaren och maskavkodaren, med bildkodarkomponenten byggd på en visiontransformator och som har höga beräkningskrav. För att ta itu med detta problem ersatte MobileSAM-ramverket vision-transformatorn med en TinyViT eller Tiny Vision Transformer, även om ersättningen inte var effektiv med tanke på den betydande prestandaförsämringen. För att säkerställa att prestanda inte försämras, implementerar TinySAM-ramverket en kunskapsdestillationsmetod i full-steg som styr den lätta bildkodaren från inlärningsnivån till multipelkunskapsnivån. Utöver den konventionella förlusten mellan markens sanningsetiketter och de förutspådda resultaten, introducerar TinySAM-ramverket många destillationsförluster under olika stadier som visas i följande figur. 

kvantisering

Modellkvantisering är ett populärt tillvägagångssätt i datorseende ramverk och används för att komprimera modellen genom att kvantisera vikter eller aktiveringar från högre till lägre bandbredd i ett försök att minska beräkningskomplexiteten och lagringskraven utan att försämra utdatakvaliteten avsevärt. 

Det primära syftet med kvantisering i TinySAM är att projicera flyttals-tensorn till bitheltalstensorn med hjälp av en skalningsfaktor där måttet för att mäta avståndet mellan matrismultiplikationen och den kvantiserade matrisen spelar en viktig roll för att optimera skalfaktorn. 

Hierarkiskt segment vad som helst

Segment Anything Model föreslår att använda en automatisk maskgenerator som samplar punkter som ett rutnät för att segmentera allt i bilden. Det har emellertid indikerats att användningen av täta punktnät resulterar i alltför finkorniga segmenteringsutdata och processen kräver massiva beräkningskrav och medför höga driftskostnader. Vidare, i ena änden, kan för många samplingspunkter för ett komplett objekt resultera i att olika sektioner av objektet segmenteras felaktigt som separata masker, medan tidskostnaden för allt-modets slutledning i den andra änden främst beror på anledningen att bildkodaren har krympts avsevärt. För att minska driftskostnaderna för allt-läget använder TinySAM-ramverket en hierarkisk maskgenereringsmetod, med skillnaden i strategin med det ursprungliga SAM-ramverket som visas i följande bild. 

Till skillnad från tillvägagångssättet som implementerats i det ursprungliga SAM-ramverket, använder TinySAM-modellen endast 25 % poäng på varje sida, och använder således endast 1/16 av de tillgängliga punkterna i den ursprungliga inställningen. Modellen härleder sedan maskavkodaren och promptkodaren med dessa uppmaningar och får utdata. Modellen filtrerar sedan några masker med tillförsikt som överstiger ett visst tröskelvärde, och maskerar motsvarande platser som områden för potentiella slutliga förutsägelser. Eftersom modellen behandlar dessa regioner som segmenteringsresultatet av instanser med hög konfidens, behöver den inte generera punktuppmaningar. Strategin hjälper inte bara till att förhindra alltför finkornig segmentering av objektet utan den hjälper också till att sänka driftskostnaderna och beräkningskraven avsevärt. Ramverket slår sedan samman och efterbearbetar resultaten av dessa två omgångar för att få de slutliga maskerna. 

TinySAM: Experiment och resultat

För att påskynda destillationsprocessen beräknar och lagrar TinySAM-ramverket bildinbäddningarna från lärarnätverket i förväg, vilket gör att det inte längre är obligatoriskt för modellen att beräkna den tunga bildkodaren i lärarnätverket upprepade gånger under utbildningsfasen. För kvantisering efter träning kvantiserar TinySAM-ramverket alla matrismultipliceringsskikt, faltningsskikten, dekonvolutionsskikten och de linjära skikten, med modellen som använder kanalvisa skalningsfaktorer för både faltnings- och dekonvolutionsskikten. För matrismultipliceringsskikten implementerar modellen huvudvisa skalningsfaktorer medan för de linjära skikten implementerar modellen linjärvisa skalningsfaktorer. Modellen genomför även utvärdering av nollskjutna nedströmsuppgifter. 

Till exempel segmenteringsuppgifter i en noll-shot-inställning följer TinySAM-ramverket de experimentella inställningarna för sin föregångare, Segment Anything-modellen, och använder objektdetekteringsresultat från Vision Transformer Det-H eller VitDet-H-ramverket för till exempel segmentering. Som visas i följande bild överträffar TinySAM-ramverket befintliga metoder när det gäller instanssegmenteringsnoggrannhet och FLOPs-poäng. 

Dessutom demonstreras den kvalitativa prestandan för TinySAM-modellen i följande bild för segmentering av nollbildsinstanser med den gröna rutan som representerar rutans uppmaningar. 

När det gäller noll-shot-poängs giltig maskutvärdering överträffar TinySAM-modellen MobileSAM-ramverket avsevärt på olika datauppsättningar, och ger avsevärt bättre resultat när ett färre antal punkter används som uppmaningar av ramverket. 

Dessutom sammanfattar följande tabell resultaten av accelerationen och minskningen av beräkningskrav som uppnåtts som ett resultat av den hierarkiska allt-modstrategin. Modellen tillämpar samma stabilitetspoäng och tröskelvärde med olika strategier för en rättvis jämförelse, och resultaten sammanfattas nedan. 

Avslutande tankar

I den här artikeln har vi pratat om TinySAM, ett föreslaget ramverk som tänjer på gränserna för att segmentera vilken uppgift som helst, och som får en effektiv modellarkitektur med mindre beräkningskrav och precision i nivå med det ursprungliga SAM-ramverket. TinySAM eller Tiny Segment Anything-modellen som upprätthåller och levererar nollskottsprestanda från det ursprungliga ramverket. TinySAM-ramverket implementerar först en kunskapsdestillationsmetod i fullsteg som använder hårda uppmaningar online för att destillera en lättviktig studentmodell. TinySAM-ramverket anpassar sedan kvantiseringen efter träning till snabba segmenteringsuppgifter som ytterligare hjälper till att minska beräkningskraven. Dessutom syftar ramverket också till att segmentera allt hierarkiskt som nästan fördubblar inferenshastigheten utan att påverka prestandan. 

"En ingenjör till yrket, en författare utantill". Kunal är en teknisk skribent med en djup kärlek och förståelse för AI och ML, dedikerad till att förenkla komplexa koncept inom dessa områden genom sin engagerande och informativa dokumentation.