Kunstmatige intelligentie
TinySAM : Pushing the Boundaries for Segment Anything Model

Objectsegmentatie is een fundamenteel en kritisch belangrijk vakgebied in de moderne computerzicht. Het speelt een vitale rol in toepassingen die uitgebreide visuele componenten vereisen, zoals objectlocalisatie en -identificatie, en vraagt om real-time, snelle en nauwkeurige segmentatie. Deze belangrijkheid heeft objectsegmentatie tot een consistent populair onderzoeksgebied gemaakt, met aanzienlijk werk verricht op gebieden zoals instantiesegmentatie, semantische segmentatie en panoptische segmentatie.
Met de evolutie van objectsegmentatie is het Segment Anything Model (SAM) opgekomen als een opmerkelijk instrument, met uitstekende segmentatievaardigheden en snel geadopteerd in verschillende computerzichttoepassingen. Frameworks die een vooraf getrainde SAM-architectuur gebruiken, hebben indrukwekkende prestaties behaald in downstream visietaken. Echter, ondanks zijn capaciteiten en hoge nauwkeurigheid in segmentatie taken, vereist de complexe en zware architectuur van SAM aanzienlijke rekenkracht, waardoor het moeilijk is om het te implementeren op apparaten met beperkte rekenkracht.
Om de computationele uitdagingen van SAM aan te pakken, hebben onderzoekers het Tiny Segment Anything Model (TinySAM) ontwikkeld, dat de zero-shot prestaties van het originele kader behoudt en tegelijkertijd lichter is. TinySAM gebruikt een full-stage kennisdistillatiemethode met online hard prompts om een meer efficiënte studentmodel te creëren. Post-training quantization aangepast aan promptable segmentatie taken vermindert de computationele behoeften verder. Bovendien is de ontwerp van TinySAM gericht op hiërarchische segmentatie, waardoor de inferentiesnelheid bijna verdubbelt zonder de prestaties te schaden.
Dit artikel gaat dieper in op het TinySAM-kader, waarin de fundamentele principes, architectuur en prestaties in vergelijking met andere state-of-the-art segmentatiekaders worden onderzocht. Laten we deze aspecten in meer detail bekijken.
TinySAM : Efficiënt Segment Anything Model
Het Segment Anything Model heeft bijgedragen aan de snelle vooruitgang van verschillende computerzichttoepassingen vanwege zijn lovenswaardige segmentatievaardigheden in combinatie met een massive segmentatiedataset die meer dan 11 miljoen afbeeldingen en meer dan een miljard afbeeldingsmaskers bevat. Vanwege zijn uitzonderlijke prestaties op taken die objecten segmenteren met willekeurige categorieën en vormen, fungeert het als basis voor kaders die downstream taken uitvoeren zoals afbeelding invoegen, objectvolgen, 3D-zicht en meer. Bovendien biedt het Segment Anything Model ook opmerkelijke zero-shot segmentatie prestaties die hebben geprofiteerd van gevoelige industrieën die werken met een beperkte hoeveelheid gegevens, waaronder medisch onderzoek en medische beeldvorming.
Hoewel men de opmerkelijke segmentatievaardigheden van het Segment Anything Model op een breed scala aan downstream visietaken niet in twijfel kan trekken, heeft het zijn nadelen in termen van een complexe architecturale overload, hoge computationele vereisten en aanzienlijke operationele kosten. Voor een systeem dat draait op een moderne GPU, kan de inferentietijd van een SAM-model zo hoog zijn als 2 seconden voor een 1024×1024-afbeelding. Als gevolg daarvan is het een zeer moeilijke taak om SAM-toepassingen te implementeren op apparaten met beperkte computationele mogelijkheden. Om deze hindernis te overwinnen, hebben recente werken zoals MobileSAM en FastSAM geprobeerd om een SAM-model met meer computationele efficiëntie te ontwikkelen. Het MobileSAM-kader probeert de zware component in de afbeeldingsencoder te vervangen door de architectuur van het TinyViT-kader, terwijl het FastSAM-model de segmenttaak overdraagt aan een instantiesegmentatie taak met slechts één categorie met het YoloV8-model. Hoewel deze methoden enige succes hebben behaald in termen van het verminderen van de computationele vereisten, konden ze de prestaties niet behouden, vooral op downstream zero-shot taken.
TinySAM of het Tiny Segment Anything Model is een poging om de computationele vereisten van het huidige SAM-model te verminderen zonder de prestaties op zero-shot downstream taken te schaden. Bovendien stelt het TinySAM-kader voor om een full-stage kennisdistillatiemethode in zijn architectuur te implementeren met als doel het verbeteren van de mogelijkheden van het compacte studentennetwerk. Het TinySAM-kader destilleert het studentennetwerk op een eind-tot-eind manier onder toezicht van het teacher-netwerk vanuit verschillende stadia. Om de prestaties verder te verbeteren, staat het kader toe dat het destillatieproces meer aandacht besteedt aan moeilijke voorbeelden door een extra online hard prompt sampling-strategie te implementeren. Bovendien vermindert het TinySAM-kader de computationele kosten verder door de promptable segmentatie taken bloot te stellen aan post-training quantization-componenten.
Het grootste deel van de computationele vereisten van een Segment Anything Model komt voort uit het feit dat het model massive maskers genereert vanaf de grid prompt punten om alles in de afbeelding te segmenteren. Om de computationele vereisten van deze segmentatiestrategie te overwinnen, gebruikt het TinySAM-kader een hiërarchische segment everything-strategie die de inferentiesnelheid bijna verdubbelt zonder de prestaties te schaden. Met deze methoden geïmplementeerd in zijn architectuur, biedt het TinySAM-kader een aanzienlijke vermindering van de computationele vereisten en stelt het nieuwe limieten voor efficiënte segment anything taken.
TinySAM : Architectuur en Methodologie
Voordat we praten over de architectuur en methodologie van het TinySAM-kader, is het belangrijk om eerst een kijkje te nemen naar zijn voorganger, het SAM-kader. Sinds zijn introductie heeft het Segment Anything Model opmerkelijke prestaties, veelzijdigheid en generalisatiecapaciteiten getoond over een breed scala aan downstream visie- en objectsegmentatie taken.
In zijn kern bestaat het SAM-model uit drie subnetwerken: de prompt encoder, de afbeeldingsencoder en de mask decoder. De primaire doelstelling van de prompt encoder is om de willekeurig gevormde maskers, invoerpunten en -boxen en vrije tekst met positionele informatie te encoderen. De afbeeldingsencoder is een zware ViT- of vision transformer-gebaseerd netwerk dat de invoer afbeelding in embeddings uitbreidt. Het model gebruikt verschillende netwerken om de geometrische en tekst prompts te verwerken. Ten slotte bevat de mask decoder een tweeweg transformer die de uitvoer van de prompt en de afbeeldingsencoder ontvangt om de finale masker voorspelling te genereren. Met de dataset toont het SAM-kader opmerkelijke hoge kwaliteit segmentatievaardigheden voor objecten ongeacht hun vorm en categorie. Bovendien toont het Segment Anything Model opmerkelijke prestaties en efficiëntie over zero-shot downstream visietaken, waaronder object voorstel, rand detectie, tekst naar masker voorspelling en instantiesegmentatie. Vanwege zijn hoge kwaliteit segmentatievaardigheden en flexibele prompt aanbod, vormen de SAM-kaders de basis voor visie toepassingen. Met dat gezegd, kan men de hoge computationele vereisten van de traditionele SAM-architectuur met een groot aantal parameters niet negeren, waardoor het bijna onmogelijk is voor ontwikkelaars om SAM-gebaseerde toepassingen te implementeren op apparaten met beperkte middelen.
Kennisdistillatie
Kennisdistillatie is een belangrijke aanpak om de prestaties van compacte netwerken tijdens de trainingsfase te verbeteren. De kennisdistillatiemethode die de uitvoer van het teacher-netwerk gebruikt om de training van het lichtgewicht studentennetwerk te begeleiden. De kennisdistillatiemethode kan worden onderverdeeld in twee subcategorieën: destillatie voor tussenliggende functies en destillatie voor netwerkuitvoer, met de meeste onderzoeksarbeid rond kennisdistillatie gefocust op afbeeldingsclassificatie taken.
Met dat gezegd, toont de volgende afbeelding de generieke architectuur van het TinySAM-kader, samen met de prestatie overzicht op zero-shot instantiesegmentatie taken.

In de eerste fase implementeert het TinySAM-kader kennisdistillatie ontworpen specifiek voor het SAM-kader en om het destillatieproces verder te activeren, gebruikt het model een online hard prompt sampling om de moeilijke kennis naar het studentennetwerk vanuit het teacher-netwerk te mijnen. In de tweede fase past het TinySAM-kader de post-training quantization methode aan op promptable segmentatie taken en implementeert het op het lichtgewicht studentennetwerk. Ten slotte implementeert het model de hiërarchische segment everything inferentie modus ontworpen voor segmentatie taken, waardoor de inferentiesnelheid bijna verdubbelt zonder de prestaties te schaden.
Full-Stage Kennisdistillatie
Zoals eerder vermeld, bestaat het Segment Anything Model uit drie subnetwerken in zijn kern: de prompt encoder, de afbeeldingsencoder en de mask decoder, met de afbeeldingsencoder component gebouwd op een vision transformer en hoge computationele vereisten. Om dit probleem aan te pakken, implementeert het TinySAM-kader een full-stage kennisdistillatiemethode die de lichtgewicht afbeeldingsencoder vanaf het leer niveau tot het meerdere kennis niveau begeleidt. Naast de conventionele verlies tussen de grondwaarheidslabels en de voorspelde resultaten, introduceert het TinySAM-kader verschillende destillatie verliezen tijdens verschillende stadia, zoals weergegeven in de volgende afbeelding.

Quantization
Model Quantization is een populaire aanpak in computerzicht kaders en wordt gebruikt om het model te comprimeren door gewichten of activaties van hogere naar lagere bandbreedte te quantizeren in een poging om de computationele complexiteit en opslagvereisten te verminderen zonder de uitvoerkwaliteit significant te schaden.
Het primaire doel van quantization in TinySAM is om de floating point tensor te projecteren op de bit integer tensor met behulp van een schaal factor, met de metriek voor het meten van de afstand tussen de matrix multiplicatie en de gequantificeerde matrix die een vitale rol speelt bij het optimaliseren van de schaal factor.
Hiërarchische Segment Anything
Het Segment Anything Model stelt voor om een automatische masker generator te gebruiken die punten als een grid sampleert om alles in de afbeelding te segmenteren. Echter, is het aangegeven dat het gebruik van een dichte punt grid resulteert in over-fijne korrelige segmentatie uitvoer en het proces vereist massive computationele vereisten en incasseert hoge operationele kosten. Bovendien kan het zijn dat te veel sampling punten voor een compleet object resulteren in verschillende secties van het object die onjuist worden gesegmenteerd als afzonderlijke maskers, terwijl aan de andere kant de tijdskosten van de everything mode inferentie voornamelijk te wijten zijn aan het feit dat de afbeeldingsencoder aanzienlijk is gekrompen. Om de operationele kosten van de everything mode te verminderen, gebruikt het TinySAM-kader een hiërarchische masker generatie benadering, met het verschil in de strategie met het originele SAM-kader weergegeven in de volgende afbeelding.

Anders dan de benadering geïmplementeerd in het originele SAM-kader, gebruikt het TinySAM-model slechts 25% punten op elke zijde, waardoor het slechts 1/16 van de beschikbare punten in de oorspronkelijke instelling gebruikt. Het model voert vervolgens de mask decoder en de prompt encoder uit met deze prompts en krijgt de uitvoer. Het model filtert vervolgens enkele maskers met een vertrouwensniveau dat een bepaalde drempel overschrijdt en maskert de overeenkomstige locaties als gebieden voor potentiële finale voorspellingen. Aangezien het model deze gebieden behandelt als de segmentatie resultaten van instanties met hoge vertrouwensniveaus, heeft het geen behoefte om punt prompts te genereren. De strategie voorkomt niet alleen over-fijne korrelige segmentatie van het object, maar helpt ook bij het verminderen van de operationele kosten en computationele vereisten aanzienlijk. Het kader merge en post-processeert vervolgens de resultaten van deze twee ronden om de finale maskers te verkrijgen.
TinySAM : Experimenten en Resultaten
Om het destillatieproces te versnellen, berekent en slaat het TinySAM-kader de afbeeldings embeddings van het teacher-netwerk van tevoren op, waardoor het niet langer verplicht is voor het model om de zware afbeeldingsencoder van het teacher-netwerk te herhalen tijdens de trainingsfase. Voor post-training quantization, quantificeert het TinySAM-kader alle matrix multiply lagen, de convolution lagen, deconvolution lagen en lineaire lagen, met het model dat kanaalwijze schaal factoren gebruikt voor zowel de convolution als de deconvolution lagen. Voor de matrix multiply lagen, implementeert het model head-wijze schaal factoren, terwijl voor de lineaire lagen, het model lineaire schaal factoren gebruikt. Het model voert ook een evaluatie uit op zero-shot downstream taken.
Voor instantiesegmentatie taken in een zero-shot instelling, volgt het TinySAM-kader de experimentele instellingen van zijn voorganger, het Segment Anything Model, en gebruikt object detectie resultaten van het Vision Transformer Det-H of VitDet-H kader voor instantiesegmentatie. Zoals weergegeven in de volgende afbeelding, overtreft het TinySAM-kader bestaande methoden in termen van instantiesegmentatie nauwkeurigheid en de FLOPs score.

Bovendien toont de kwalitatieve prestatie van het TinySAM-model in de volgende afbeelding voor zero-shot instantiesegmentatie, met de groene doos die de box prompts vertegenwoordigt.

In termen van zero-shot punten valide masker evaluatie, overtreft het TinySAM-model het MobileSAM-kader aanzienlijk op verschillende datasets en levert het aanzienlijk betere resultaten wanneer een kleinere hoeveelheid punten worden gebruikt als prompts door het kader.

Bovendien vat de volgende tabel de resultaten samen van de acceleratie en vermindering van computationele vereisten die zijn behaald als gevolg van de hiërarchische everything mode strategie. Het model past dezelfde stabiliteits score en drempelwaarde toe met verschillende strategieën voor een eerlijke vergelijking, en de resultaten worden hieronder weergegeven.

Slotgedachten
In dit artikel hebben we gesproken over TinySAM, een voorgesteld kader dat de grenzen verlegt voor het segmenteren van alles, en een efficiënt model architectuur verkrijgt met minder computationele vereisten en nauwkeurigheid die gelijk is aan het originele SAM-kader. TinySAM of het Tiny Segment Anything Model dat de zero-shot prestaties van het originele kader behoudt en levert. Het TinySAM-kader implementeert eerst een full-stage kennisdistillatiemethode die online hard prompts gebruikt om een lichtgewicht student model te destilleren. Het TinySAM-kader past vervolgens de post-training quantization aan op promptable segmentatie taken, waardoor de computationele vereisten verder worden vermindert. Bovendien richt het kader zich op het hiërarchisch segmenteren van alles, waardoor de inferentiesnelheid bijna verdubbelt zonder de prestaties te schaden.












