ciot TinySAM: Depășirea limitelor pentru modelul de segmentare orice - Unite.AI
Conectează-te cu noi

Inteligenta Artificiala

TinySAM: Depășirea limitelor pentru modelul de segmentare orice

mm

Publicat

 on

TinySAM: Depășirea limitelor pentru modelul de segmentare orice

Segmentarea obiectelor este un domeniu fundamental și de importanță critică în viziunea computerizată modernă. Joacă un rol vital în aplicațiile care necesită componente vizuale extinse, cum ar fi localizarea și identificarea obiectelor, și necesită o segmentare în timp real, rapidă și precisă. Această importanță a făcut din segmentarea obiectelor un subiect de cercetare constant, cu lucrări semnificative efectuate în domenii precum segmentarea instanțelor, segmentarea semantică și segmentarea panoptică.

Odată cu evoluția segmentării obiectelor, modelul Segment Anything (SAM) a apărut ca un instrument remarcabil, prezentând abilități remarcabile de segmentare și fiind rapid adoptat în diverse aplicații de viziune computerizată. Framework-urile care utilizează o arhitectură SAM pre-antrenată au atins performanțe impresionante în sarcinile de viziune din aval. Cu toate acestea, în ciuda capacităților sale și a preciziei ridicate în sarcinile de segmentare, arhitectura complexă și grea a SAM necesită o putere de calcul substanțială, împiedicând implementarea acesteia pe dispozitive cu restricții de calcul.

Abordând provocările de calcul ale SAM, cercetătorii au dezvoltat modelul Tiny Segment Anything (TinySAM), care păstrează performanța zero-shot a cadrului original, fiind în același timp mai ușor. TinySAM folosește o metodă de distilare a cunoștințelor în etapă completă, cu solicitări hard online pentru a crea un model de student mai eficient. Cuantificarea post-antrenament adaptată sarcinilor de segmentare prompte reduce și mai mult nevoile de calcul. În plus, designul TinySAM vizează segmentarea ierarhică, aproape dublând viteza de inferență fără a compromite performanța.

Acest articol analizează cadrul TinySAM, explorând principiile sale fundamentale, arhitectura și performanța în comparație cu alte cadre de segmentare de ultimă generație. Să explorăm aceste aspecte mai detaliat.

TinySAM: Model eficient de segmentare orice

Modelul Segment Anything a ajutat la progresul rapid al mai multor aplicații de viziune computerizată, datorită capacităților sale lăudabile de segmentare, cuplate cu un set de date masiv de segmentare care găzduiește peste 11 milioane de imagini și peste un miliard de măști de imagine. Datorită performanței sale excepționale în sarcinile de segmentare a obiectelor cu categorii și forme arbitrare, servește drept bază pentru cadrele care efectuează sarcini în aval, cum ar fi pictarea imaginilor, urmărirea obiectelor, viziunea 3D și multe altele. În plus, modelul Segment Anything oferă, de asemenea, remarcabile segmentare zero-shot performanță care a beneficiat industriile sensibile care lucrează cu o cantitate limitată de date, inclusiv industria de cercetare medicală și industria imagistică medicală. 

Deși nu se poate pune la îndoială capacitățile de segmentare remarcabile oferite de modelul Segment Anything pentru o gamă largă de sarcini de viziune în aval, acesta are un dezavantaj în ceea ce privește supraîncărcarea arhitecturală complexă, cerințele de calcul ridicate și costurile operaționale semnificative. Pentru un sistem care rulează pe un GPU modern, timpul de inferență al unui model SAM poate fi de până la 2 secunde pentru o imagine 1024×1024. Ca rezultat, implementarea aplicațiilor SAM pe dispozitive cu abilități de calcul limitate este o sarcină extrem de dificilă. Pentru a depăși acest obstacol, lucrări recente precum MobileSAM și FastSAM au încercat să dezvolte un model SAM cu mai multă eficiență de calcul. Cadrul MobileSAM încearcă să înlocuiască componenta grea din codificatorul de imagine cu arhitectura cadrului TinyViT, în timp ce modelul FastSAM transferă sarcina de segment la o sarcină de segmentare a instanței cu o singură categorie cu YoloV8 model. Deși aceste metode au reușit să atingă un anumit nivel de succes în ceea ce privește reducerea cerințelor de calcul, ele nu au putut menține performanța în special pe sarcinile zero-shot din aval. 

TinySAM sau Tiny Segment Anything Model este o încercare de a reduce cerințele de calcul ale modelului SAM actual fără a împiedica performanța sarcinilor zero-shot din aval. În plus, cadrul TinySAM propune implementarea unei metode de distilare a cunoștințelor în stadiu complet în arhitectura sa, cu scopul de a îmbunătăți capacitatea rețelei de studenți compacte. Cadrul TinySAM distilează rețeaua de studenți într-un mod cap la cap, sub supravegherea rețelei de profesori din diferite etape. Pentru a crește și mai mult performanța, cadrul permite procesului de distilare să se ocupe mai mult de exemple concrete prin implementarea unei strategii suplimentare de eșantionare online hard prompt. În plus, pentru a reduce suplimentar costurile de calcul, cadrul TinySAM expune sarcinile de segmentare prompte la componentele de cuantizare post-antrenament. 

Cea mai mare parte a cerinței de calcul a unui model Segment Anything se datorează faptului că modelul generează măști masive din punctele prompt ale grilei pentru a segmenta totul din imagine. Pentru a depăși cerințele de calcul a acestei strategii de segmentare, cadrul TinySAM utilizează o strategie ierarhică de segmentare care aproape dublează viteza de inferență fără a degrada performanța. Cu aceste metode folosite în arhitectura sa, cadrul TinySAM oferă o reducere semnificativă a cerințelor de calcul și stabilește noi limite pentru segmentarea eficientă a sarcinilor. 

TinySAM: Arhitectură și Metodologie

Înainte de a vorbi despre arhitectura și metodologia cadrului TinySAM, este important să ne uităm mai întâi la predecesorul său, cadrul SAM. Încă de la introducerea sa, modelul Segment Anything a demonstrat performanțe remarcabile, versatilitate și capacități de generalizare într-o serie de sarcini de viziune în aval și de segmentare a obiectelor. 

În esență, modelul SAM constă din trei subrețele: codificatorul prompt, codificatorul de imagine și decodorul cu mască. Scopul principal al codificatorului prompt este de a codifica măștile de formă arbitrară, punctele și casetele de intrare și textul în formă liberă cu informații de poziție. Codificatorul de imagine este o rețea puternică bazată pe ViT sau transformator de viziune care extrage imaginea de intrare în încorporare. Modelul folosește diferite rețele pentru a procesa solicitările geometrice și text. În cele din urmă, decodorul de mască conține un transformator cu două căi care primește ieșirea promptului și codificatorul de imagine pentru a genera predicția finală a măștii. Cu setul de date, cadrul SAM demonstrează capabilități remarcabile de segmentare de înaltă calitate pentru obiecte, indiferent de forma și categoria lor. Mai mult, cel Segmentează orice model demonstrează performanță și eficiență remarcabile în activitățile de viziune zero-shot în aval, inclusiv propunerea de obiecte, detectarea marginilor, predicția text pentru a masca și segmentarea instanțelor. Datorită abilităților sale de segmentare de înaltă calitate și ofertelor prompte flexibile, cadrele SAM formează baza aplicațiilor de viziune. Acestea fiind spuse, nu se poate ignora cerințele de calcul ridicate ale arhitecturii tradiționale SAM, cu un număr mare de parametri care fac aproape imposibil pentru dezvoltatori să implementeze aplicații bazate pe SAM pe dispozitive cu resurse limitate. 

Distilarea cunoștințelor

Distilarea cunoștințelor este o abordare importantă pentru a crește performanța rețelelor compacte în timpul fazei de antrenament. Metoda de distilare a cunoștințelor care utilizează rezultatul rețelei de profesori pentru a supraveghea pregătirea rețelei de elevi ușoare. Metoda de distilare a cunoștințelor poate fi împărțită în două subcategorii: distilare pentru caracteristici intermediare și distilare pentru ieșirile de rețea, majoritatea cercetărilor în jurul distilarii cunoștințelor concentrându-se pe sarcini de clasificare a imaginilor. 

Acestea fiind spuse, următoarea figură demonstrează arhitectura generică a cadrului TinySAM împreună cu prezentarea generală a performanței în sarcinile de segmentare a instanțelor zero-shot. 

În prima etapă, cadrul TinySAM implementează distilare de cunoștințe concepută special pentru cadrul SAM, iar pentru a activa procesul de distilare în continuare, modelul utilizează o eșantionare online hard prompt pentru a extrage cunoștințele dure către rețeaua de studenți din rețeaua de profesori. În a doua etapă, cadrul TinySAM adaptează metoda de cuantificare post-formare la sarcini de segmentare prompte și o implementează în rețeaua ușoară a studenților. În cele din urmă, modelul implementează modul de inferență al segmentului ierarhic, conceput pentru sarcini de segmentare, ceea ce duce la dublarea vitezei de inferență cu o pierdere de precizie neglijabilă. 

Distilarea cunoștințelor în etapă completă

După cum am menționat mai devreme, modelul Segment Anything constă în trei sub-rețele la bază: codificatorul prompt, codificatorul de imagine și decodorul de mască, cu componenta codificatorului de imagine construită pe un transformator de viziune și având cerințe de calcul ridicate. Pentru a rezolva această problemă, cadrul MobileSAM a înlocuit transformatorul de viziune cu un transformator TinyViT sau Tiny Vision, deși înlocuirea nu a fost eficientă, având în vedere scăderea semnificativă a performanței. Pentru a asigura nicio scădere a performanței, cadrul TinySAM implementează o metodă completă de distilare a cunoștințelor care ghidează codificatorul de imagine ușor de la nivelul de învățare la nivelul de cunoștințe multiplu. Pe lângă pierderea convențională dintre etichetele de adevăr de bază și rezultatele prezise, ​​cadrul TinySAM introduce numeroase pierderi de distilare în diferite etape, așa cum se arată în figura următoare. 

Eºantionare

Cuantizarea modelului este o abordare populară în cadrele de viziune computerizată și este utilizată pentru a comprima modelul prin cuantificarea greutăților sau activărilor de la lățime de bandă mai mare la mai mică, în încercarea de a reduce complexitatea de calcul și cerințele de stocare fără a degrada semnificativ calitatea ieșirii. 

Scopul principal al cuantizării în TinySAM este de a proiecta tensorul cu virgulă mobilă la tensorul întreg de biți folosind un factor de scalare, metrica pentru măsurarea distanței dintre multiplicarea matricei și matricea cuantificată jucând un rol vital pentru optimizarea factorului de scalare. 

Segment ierarhic Orice

Modelul Segment Anything propune utilizarea unui generator automat de mască care prelevează puncte ca o grilă pentru a segmenta totul din imagine. Cu toate acestea, s-a indicat că utilizarea unei rețele de puncte dense are ca rezultat ieșiri de segmentare cu granulație prea fină, iar procesul necesită cerințe de calcul masive și implică costuri operaționale ridicate. În plus, la un capăt, prea multe puncte de eșantionare pentru un obiect complet ar putea duce la segmentarea incorect a diferitelor secțiuni ale obiectului ca măști separate, în timp ce, la celălalt capăt, costul de timp al inferenței în modul totul se datorează în primul rând motivului că codificatorul de imagine a fost micșorat semnificativ. Pentru a reduce costul operațional al modului totul, cadrul TinySAM utilizează o abordare ierarhică de generare a măștilor, cu diferența de strategie cu cadrul SAM original demonstrată în imaginea următoare. 

Diferit de abordarea implementată în cadrul SAM original, modelul TinySAM utilizează doar 25% puncte pe fiecare parte, utilizând astfel doar 1/16 din punctele disponibile în setarea originală. Modelul deduce apoi decodorul de mască și codificatorul de prompt cu aceste solicitări și obține rezultatul. Modelul filtrează apoi unele măști cu încredere care depășește un anumit prag și maschează locațiile corespunzătoare ca zone pentru potențiale predicții finale. Deoarece modelul tratează aceste regiuni ca rezultat al segmentării instanțelor cu mare încredere, nu are nevoie să genereze prompturi de punct. Strategia nu numai că ajută la prevenirea segmentării cu granulație prea fină a obiectului, dar ajută și la reducerea semnificativă a costurilor operaționale și a cerințelor de calcul. Cadrul apoi fuzionează și post-procesează rezultatele acestor două runde pentru a obține măștile finale. 

TinySAM: Experimente și rezultate

Pentru a accelera procesul de distilare, cadrul TinySAM calculează și stochează în prealabil imaginile încorporate din rețeaua profesorilor, motiv pentru care nu mai este obligatoriu ca modelul să calculeze în mod repetat codificatorul de imagine greu al rețelei profesorului în timpul fazei de formare. Pentru cuantizarea post antrenament, cadrul TinySAM cuantifică toate straturile de multiplicare a matricei, straturile de convoluție, straturile de deconvoluție și straturile liniare, modelul utilizând factori de scalare în funcție de canal atât pentru straturile de convoluție, cât și pentru cele de deconvoluție. Pentru straturile de multiplicare a matricei, modelul implementează factori de scalare în funcție de cap, în timp ce pentru straturile liniare, modelul implementează factori de scalare liniari. Modelul efectuează, de asemenea, evaluarea sarcinilor zero-shot din aval. 

De exemplu, sarcinile de segmentare într-o setare zero-shot, cadrul TinySAM urmează setările experimentale ale predecesorului său, modelul Segment Anything, și utilizează rezultatele de detectare a obiectelor din cadrul Vision Transformer Det-H sau VitDet-H pentru segmentarea de exemplu. După cum se demonstrează în imaginea următoare, cadrul TinySAM depășește metodele existente în ceea ce privește acuratețea segmentării instanțelor și scorul FLOPs. 

În plus, performanța calitativă a modelului TinySAM este demonstrată în imaginea următoare pentru segmentarea instanțelor zero-shot, cu caseta verde reprezentând prompturile casetei. 

În ceea ce privește evaluarea validă a măștii cu puncte zero, modelul TinySAM depășește semnificativ cadrul MobileSAM pe diferite seturi de date și oferă rezultate substanțial mai bune atunci când un număr mai mic de puncte sunt utilizate ca solicitări de cadru. 

Mai mult, tabelul următor rezumă rezultatele accelerării și scăderii cerințelor de calcul realizate ca urmare a strategiei ierarhice a modului totul. Modelul aplică același scor de stabilitate și valoare de prag cu strategii diferite pentru o comparație corectă, iar rezultatele sunt rezumate mai jos. 

Gânduri finale

În acest articol, am vorbit despre TinySAM, un cadru propus care împinge limitele pentru segmentarea oricărei sarcini și obține o arhitectură de model eficientă, cu mai puține cerințe de calcul și precizie la egalitate cu cadrul SAM original. TinySAM sau modelul Tiny Segment Anything care menține și oferă performanța zero-shot a cadrului original. Cadrul TinySAM implementează mai întâi o metodă de distilare a cunoștințelor în etapă completă care utilizează prompturi online pentru a distila un model de student ușor. Cadrul TinySAM adaptează apoi cuantizarea post-antrenament la sarcini de segmentare prompte, care ajută în continuare la reducerea cerințelor de calcul. În plus, cadrul urmărește, de asemenea, să segmenteze ierarhic tot ceea ce aproape dublează viteza de inferență fără a afecta performanța. 

„Un inginer de profesie, un scriitor pe de rost”. Kunal este un scriitor tehnic cu o dragoste și o înțelegere profundă a AI și ML, dedicat simplificării conceptelor complexe din aceste domenii prin documentația sa captivantă și informativă.