AI-modeller och plattformar

TinySAM : Effektiv Segment Anything Modell

mm
Lägg till Unite.AI bland dina föredragna källor på Google

Objektsegmentering är ett grundläggande och kritiskt viktigt område inom modern datorseende. Det spelar en avgörande roll i tillämpningar 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 konstant het forskningsområde, med betydande arbete utfört inom områden som instanssegmentering, semantisk segmentering och panoptisk segmentering.

Med utvecklingen av objektsegmentering har Segment Anything Model (SAM) uppstått som ett remarkabelt verktyg, som visar utmärkta segmenteringsförmågor och snabbt antagits i olika datorseendeapplikationer. Ramverk som använder en förtränad SAM-arkitektur har uppnått imponerande prestanda i nedströmsvisionstyper. Men trots dess förmågor och höga noggrannhet i segmenteringsuppgifter, kräver SAM:s komplexa och tunga arkitektur betydande beräkningskraft, vilket hindrar dess implementering på enheter med begränsade beräkningsresurser.

För att hantera SAM:s beräkningsutmaningar har forskare utvecklat Tiny Segment Anything Model (TinySAM), som behåller den nollskottsprestanda som den ursprungliga ramen har, samtidigt som den är mer lättviktig. TinySAM använder en fullständig kunskapsdestillationsmetod med online-hårda prompter för att skapa en mer effektiv studentmodell. Post-träningskvantifiering anpassad till promptbara segmenteringsuppgifter minskar ytterligare beräkningsbehoven. Dessutom syftar TinySAM:s design till hierarkisk segmentering, som nästan dubblar inferenshastigheten utan att påverka prestandan.

Den här artikeln undersöker TinySAM-ramen, dess grundläggande principer, arkitektur och prestanda i jämförelse med andra toppmoderna segmenteringsramar. Låt oss undersöka dessa aspekter i mer detalj.

TinySAM : Effektiv Segment Anything Modell

Segment Anything Model har bidragit till snabb framsteg inom flera datorseendeapplikationer tack vare dess beundransvärda segmenteringsförmågor i kombination med en stor segmenteringsdataset som innehåller över 11 miljoner bilder och över en miljard bildmasker. På grund av dess utmärkta prestanda på uppgifter som segmenterar objekt med godtyckliga kategorier och former, fungerar det som grunden för ramverk som utför nedströmsuppgifter som bildinpainting, objekttspårning, 3D-vision och mer. Dessutom erbjuder Segment Anything Model också remarkabel nollskottsegmentering som har gynnat känsliga industrier som arbetar med begränsad mängd data, inklusive medicinsk forskning och medicinsk avbildning.

Även om man inte kan ifrågasätta de remarkabla segmenteringsförmågorna som Segment Anything Model erbjuder på en mängd olika nedströmsvisionstyper, har det sina nackdelar i form av en komplex arkitektur, höga beräkningskrav och betydande driftskostnader. För ett system som körs på en modern GPU kan inferenstiden 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änsade beräkningsresurser. För att övervinna detta hinder har nyliga arbeten som MobileSAM och FastSAM försökt att utveckla en SAM-modell med högre beräkningseffektivitet. MobileSAM-ramen försöker ersätta den tunga komponenten i bildkodaren med TinyViT-arkitekturen, medan FastSAM-modellen överför segmentuppgiften till en instanssegmenteringsuppgift med endast en kategori med YoloV8-modellen. Även om dessa metoder kunde uppnå en viss grad av framgång i termer av minskade beräkningskrav, kunde de inte upprätthålla prestandan, särskilt på nedströms nollskottsuppgifter.

TinySAM eller Tiny Segment Anything Model är ett försök att minska de beräkningskraven för den nuvarande SAM-modellen utan att påverka prestandan på nedströms nollskottsuppgifter. Dessutom föreslår TinySAM-ramen att implementera en fullständig kunskapsdestillationsmetod i sin arkitektur i syfte att förbättra den kompakta studentnätverksförmågan. TinySAM-ramen destillerar studentnätverket på ett änd-till-änd-sätt under övervakning av lärarnätverket från olika stadier. För att ytterligare förbättra prestandan tillåter ramen destillationsprocessen att fokusera mer på svåra exempel genom att implementera en ytterligare online-hård prompt-provtagning. Dessutom, för att ytterligare minska beräkningskostnaderna, utsätter TinySAM-ramen promptbara segmenteringsuppgifter för post-träningskvantifieringskomponenter.

Den stora delen av beräkningskraven för en Segment Anything Model beror på att modellen genererar stora masker från grid-punkter för att segmentera allt i bilden. För att övervinna beräkningskraven för denna segmenteringsstrategi använder TinySAM-ramen en hierarkisk segmenteringsstrategi som nästan dubblar inferenshastigheten utan att påverka prestandan. Med dessa metoder som implementeras i sin arkitektur erbjuder TinySAM-ramen en betydande minskning av beräkningskraven och sätter nya gränser för effektiva segmenteringsuppgifter.

TinySAM : Arkitektur och Metodik

Innan vi diskuterar TinySAM-ramens arkitektur och metodik är det viktigt att först undersöka dess föregångare, SAM-ramen. Sedan dess introduktion har Segment Anything Model visat remarkabel prestanda, flexibilitet och generaliseringsförmåga över en mängd olika nedströmsvisionstyper 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 godtyckligt formade masker, inmatningspunkter och -rutor, samt fria texter med positionsinformation. Bildkodaren är ett tungt ViT- eller visionstransformatorbaserat nätverk som extraherar inmatningsbilden till inbäddningar. Modellen använder olika nätverk för att bearbeta geometriska och textbaserade prompter. Slutligen innehåller maskavkodaren en tvåvägs-transformator som tar emot utdata från prompt- och bildkodaren för att generera den slutliga maskprediktionen. Med datasetet visar SAM-ramen remarkabel högkvalitativ segmenteringsförmåga för objekt oavsett deras form och kategori. Dessutom visar Segment Anything Model remarkabel prestanda och effektivitet över nollskotts nedströmsvisionstyper, inklusive objektförslag, kantdetektering, text-till-mask-prediktion och instanssegmentering. På grund av dess högkvalitativa segmenteringsförmåga och flexibla prompterbjudanden utgör SAM-ramen grunden för visionapplikationer. Med det sagt kan man inte ignorera de höga beräkningskraven 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.

Kunskapsdestillering

Kunskapsdestillering är en viktig metod för att förbättra prestandan hos kompakta nätverk under träningsfasen. Kunskapsdestilleringmetoden som använder utdata från lärarnätverket för att övervaka träningsprocessen för det lätta studentnätverket. Kunskapsdestilleringmetoden kan delas in i två underkategorier: destillering för mellanliggande funktioner och destillering för nätverksutdata, med en majoritet av forskningsarbeten kring kunskapsdestillering som fokuserar på bildklassificeringsuppgifter.

Som sagt, figuren nedan visar den generiska arkitekturen för TinySAM-ramen tillsammans med prestandaöversikten för nollskottsinstanssegmenteringsuppgifter.

I den första fasen implementerar TinySAM-ramen kunskapsdestillering som är speciellt utformad för SAM-ramen, och för att aktivera destillationsprocessen ytterligare, använder modellen en online-hård prompt-provtagning för att utvinna svåra kunskaper till studentnätverket från lärarnätverket. I den andra fasen anpassar TinySAM-ramen post-träningskvantifieringsmetoden till promptbara segmenteringsuppgifter och implementerar den på det lätta studentnätverket. Slutligen implementerar modellen den hierarkiska segmenteringsinferensmoden som är utformad för segmenteringsuppgifter, vilket resulterar i en fördubbling av inferenshastigheten med försumbar förlust av noggrannhet.

Fullständig Kunskapsdestillering

Som nämnts tidigare består Segment Anything Model av tre undernätverk i sin kärna: promptkodaren, bildkodaren och maskavkodaren, med bildkodarkomponenten byggd på en visionstransformator och med höga beräkningskrav. För att hantera detta problem implementerar TinySAM-ramen en fullständig kunskapsdestillationsmetod som guidar det lätta bildkodningsnätverket från lärande nivå till flera kunskapsnivåer. Utöver den konventionella förlusten mellan grundtruth-etiketterna och de predikterade resultaten, introducerar TinySAM-ramen flera destillationsförluster under olika faser, som visas i figuren nedan.

Kvantifiering

Modellkvantifiering är en populär metod i datorseende-ramverk och används för att komprimera modellen genom att kvantifiera vikter eller aktiveringar från högre till lägre bandbredd i ett försök att minska beräkningskomplexitet och lagringskrav utan att signifikant påverka utdatakvaliteten.

Det primära syftet med kvantifiering i TinySAM är att projicera flyttals-tensorn till bit-integer-tensorn med en skalningsfaktor, där metriken för att mäta avståndet mellan matrismultiplikationen och den kvantifierade matrisen spelar en avgörande roll för att optimera skalningsfaktorn.

Hierarkisk Segmentering

Segment Anything Model föreslår att använda en automatisk maskgenerator som provar punkter som en grid för att segmentera allt i bilden. Det har dock visats att användningen av en tät punktgrid resulterar i överfinmaskade segmenteringsutdata och processen kräver betydande beräkningskrav och medför höga driftskostnader. Dessutom kan för många sampelpunkter för ett komplett objekt resultera i att olika delar av objektet segmenteras felaktigt som separata masker, medan den andra änden av tidskostnaden för allt-inferensen huvudsakligen beror på att bildkodaren har krympt betydligt. För att minska driftskostnaderna för allt-läget använder TinySAM-ramen en hierarkisk maskgenereringsstrategi, med skillnaden i strategin jämfört med den ursprungliga SAM-ramen visas i bilden nedan.

Till skillnad från strategin som implementerats i den ursprungliga SAM-ramen använder TinySAM-modellen endast 25% punkter på varje sida, vilket innebär att den endast använder 1/16 av de tillgängliga punkterna i den ursprungliga inställningen. Modellen inferrerar sedan maskavkodaren och promptkodaren med dessa prompter och får utdata. Modellen filtrerar sedan vissa masker med förtroende som överstiger en viss tröskel, och maskerar de motsvarande platserna som områden för potentiella slutliga förutsägelser. Eftersom modellen behandlar dessa områden som segmenteringsresultat för instanser med högt förtroende, behöver den inte generera punktprompter. Strategin hjälper inte bara till att förhindra överfinmaskad segmentering av objektet, utan hjälper också till att minska driftskostnaderna och beräkningskraven betydligt. Ramen合并ar sedan och postbearbetar resultaten från dessa två omgångar för att erhålla de slutliga maskerna.

TinySAM : Experiment och Resultat

För att påskynda destillationsprocessen beräknar och lagrar TinySAM-ramen bildinbäddningarna från lärarnätverket i förväg, vilket innebär att det inte är nödvändigt för modellen att beräkna den tunga bildkodaren i lärarnätverket upprepade gånger under träningsfasen längre. För post-träningskvantifiering kvantifierar TinySAM-ramen alla matrismultiplikationslager, konvolutionslager, dekonvolutionslager och linjära lager, med modellen som använder kanalskalor för både konvolutions- och dekonvolutionslagren. För matrismultiplikationslagren implementerar modellen huvudvisa skalor, medan den för linjära lager implementerar linjära skalor. Modellen använder också utvärdering på nollskotts nedströmsuppgifter.

För instanssegmenteringsuppgifter i en nollskottinställning följer TinySAM-ramen den experimentella inställningen för sin föregångare, Segment Anything Model, och använder objektidentifieringsresultat från Vision Transformer Det-H eller VitDet-H-ramen för instanssegmentering. Som visas i bilden nedan överträffar TinySAM-ramen befintliga metoder i termer av instanssegmenteringsnoggrannhet och FLOPs-poäng.

Dessutom visas den kvalitativa prestandan för TinySAM-modellen i bilden nedan för nollskottsinstanssegmentering, med den gröna rutan som representerar box-prompter.

I termer av nollskotts punktvalideringsutvärdering överträffar TinySAM-modellen MobileSAM-ramen betydligt på olika dataset, och levererar avsevärt bättre resultat när färre punkter används som prompter av ramverket.

Dessutom sammanfattar tabellen nedan resultaten av accelerationen och minskningen av beräkningskraven som uppnåtts till följd av den hierarkiska allt-strategin. 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.

Slutliga Tankar

I den här artikeln har vi diskuterat TinySAM, ett föreslaget ramverk som förändrar gränserna för segmenteringsuppgifter, och erhåller en effektiv modellarkitektur med färre beräkningskrav och noggrannhet som är jämförbar med den ursprungliga SAM-ramen. TinySAM eller Tiny Segment Anything Model som behåller och levererar den nollskottsprestanda som den ursprungliga ramen har. TinySAM-ramen implementerar först en fullständig kunskapsdestillationsmetod som använder online-hårda prompter för att destillera en lätt studentmodell. TinySAM-ramen anpassar sedan post-träningskvantifieringen till promptbara segmenteringsuppgifter, vilket ytterligare minskar beräkningskraven. Dessutom syftar ramverket till att segmentera allt hierarkiskt, vilket nästan dubblar inferenshastigheten utan att påverka prestandan.

En ingenjör till yrket, en författare av hjärtat. Kunal är en teknisk skribent med ett djupt kärlek och förståelse för AI och ML, dedikerad till att förenkla komplexa begrepp inom dessa områden genom sin engagerande och informativa dokumentation.