Connect with us

Inteligență artificială

TinySAM : Depășirea limitelor pentru modelul de segmentare a oricărui lucru

mm
TinySAM : Pushing the Boundaries for Segment Anything Model

Segmentarea obiectelor este un domeniu fundamental și extrem de important î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ă segmentare în timp real, rapidă și precisă. Această importanță a făcut ca segmentarea obiectelor să fie un subiect de cercetare constant fierbinte, cu lucrări semnificative realizate în domenii precum segmentarea instanțelor, segmentarea semantică și segmentarea panoptică.

Odată cu evoluția segmentării obiectelor, modelul de segmentare a oricărui lucru (SAM) a apărut ca un instrument remarcabil, demonstrând capacități de segmentare deosebite și fiind adoptat rapid în diverse aplicații de viziune computerizată. Cadrele care utilizează o arhitectură SAM pre-antrenată au obținut performanțe impresionante în sarcinile de viziune downstream. Cu toate acestea, în ciuda capacităților și acurateței sale ridicate în sarcinile de segmentare, arhitectura complexă și grea a SAM necesită o putere de calcul substanțială, împiedicând implementarea sa pe dispozitive cu resurse de calcul limitate.

Abordând provocările de calcul ale SAM, cercetătorii au dezvoltat TinySAM, care păstrează performanța zero-shot a cadrului original, fiind în același timp mai ușor. TinySAM utilizează o metodă de distilare a cunoștințelor pe tot parcursul, cu prompturi online dificile, pentru a crea un model de student mai eficient. Cuantificarea post-antrenament adaptată la sarcinile de segmentare promptabile reduce și mai mult nevoile de calcul. În plus, proiectarea TinySAM vizează segmentarea ierarhică, aproape dublând viteza de inferență fără a compromite performanța.

Acest articol explorează cadrul TinySAM, examinâ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 în detaliu.

TinySAM : Model eficient de segmentare a oricărui lucru

Modelul de segmentare a oricărui lucru a contribuit la progresul rapid al mai multor aplicații de viziune computerizată, datorită capacităților sale remarcabile de segmentare, împreună cu o bază de date de segmentare masivă care conține 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 ca bază pentru cadrele care efectuează sarcini downstream, cum ar fi umplerea imaginilor, urmărirea obiectelor, viziunea 3D și multe altele. Mai mult, modelul de segmentare a oricărui lucru oferă și o performanță remarcabilă de segmentare zero-shot, care a beneficiat industrii sensibile care lucrează cu o cantitate limitată de date, inclusiv cercetarea medicală și imagistica medicală. 

Deși nu se poate pune la îndoială capacitățile remarcabile de segmentare oferite de modelul de segmentare a oricărui lucru pe o gamă largă de sarcini de viziune downstream, are și un dezavantaj în ceea ce privește arhitectura complexă, necesitățile de calcul ridicate și costurile operaționale semnificative. Pentru un sistem care rulează pe o unitate de procesare grafică modernă, timpul de inferență al unui model SAM poate fi de până la 2 secunde pentru o imagine de 1024×1024. Ca urmare, este o sarcină foarte dificilă de a implementa aplicații SAM pe dispozitive cu capacități de calcul limitate. Pentru a depăși acest obstacol, lucrări recente, cum ar fi MobileSAM și FastSAM, au încercat să dezvolte un model SAM cu o eficiență de calcul mai mare. Cadrul MobileSAM încearcă să înlocuiască componenta grea din encoderul de imagini cu arhitectura cadrului TinyViT, în timp ce modelul FastSAM transferă sarcina de segmentare la o sarcină de segmentare a instanțelor cu o singură categorie, utilizând modelul YoloV8. Deși aceste metode au reușit să obțină un anumit nivel de succes în ceea ce privește reducerea necesităților de calcul, nu au putut menține performanța, în special în sarcinile zero-shot downstream. 

TinySAM sau modelul de segmentare a oricărui lucru mic este o încercare de a reduce necesitățile de calcul ale modelului SAM curent, fără a compromite performanța în sarcinile zero-shot downstream. Mai mult, cadrul TinySAM propune implementarea unei metode de distilare a cunoștințelor pe tot parcursul, cu scopul de a îmbunătăți capacitatea rețelei compacte de student. Cadrul TinySAM distilează rețeaua de student în mod end-to-end, sub supravegherea rețelei de profesor, din diferite etape. Pentru a îmbunătăți și mai mult performanța, cadrul permite procesului de distilare să se concentreze mai mult pe exemplele dificile, implementând o strategie suplimentară de eșantionare a prompturilor online dificile. Mai mult, pentru a reduce și mai mult costurile de calcul, cadrul TinySAM expune sarcinile de segmentare promptabile la componente de cuantificare post-antrenament. 

Cea mai mare parte a necesităților de calcul ale modelului de segmentare a oricărui lucru se datorează faptului că modelul generează măști masive din punctele de prompt ale gridului pentru a segmenta totul în imagine. Pentru a depăși necesitățile de calcul ale acestei strategii de segmentare, cadrul TinySAM utilizează o strategie ierarhică de segmentare a tuturor, care aproape dublează viteza de inferență, fără a compromite performanța. Cu aceste metode implementate în arhitectura sa, cadrul TinySAM oferă o reducere semnificativă a necesităților de calcul și stabilește noi limite pentru sarcinile eficiente de segmentare a oricărui lucru. 

TinySAM : Arhitectură și metodologie

Înainte de a discuta despre arhitectura și metodologia cadrului TinySAM, este important să examinăm mai întâi predecesorul său, cadrul SAM. De la introducerea sa, modelul de segmentare a oricărui lucru a demonstrat performanțe remarcabile, versatilitate și capacități de generalizare pe o gamă largă de sarcini de viziune și segmentare a obiectelor. 

La nivelul său fundamental, modelul SAM constă din trei sub-rețele: encoderul de prompt, encoderul de imagine și decoderul de mască. Scopul principal al encoderului de prompt este de a codifica măștile cu forme arbitrare, punctele și cutiile de intrare, precum și textul liber, cu informații de poziționare. Encoderul de imagine este o rețea grea bazată pe transformatorul de viziune, care extrage imaginea de intrare în încorporări. Modelul utilizează rețele diferite pentru a prelucra prompturile geometrice și textuale. În final, decoderul de mască conține un transformator cu două căi, care primește ieșirea encoderului de prompt și a encoderului de imagine, pentru a genera predicția finală a măștii. Cu baza de date, cadrul SAM demonstrează capacități de segmentare de înaltă calitate pentru obiecte, indiferent de forma și categoria lor. Mai mult, modelul de segmentare a oricărui lucru demonstrează performanțe și eficiență remarcabile pe sarcini de viziune zero-shot, inclusiv propunerea de obiecte, detectarea marginilor, predicția măștilor de text și segmentarea instanțelor. Datorită capacităților sale de segmentare de înaltă calitate și ofertelor de prompt flexibile, cadrele SAM formează baza pentru aplicațiile de viziune. Cu toate acestea, nu se poate ignora necesitatea de calcul ridicată a arhitecturii SAM tradiționale, cu un număr mare de parametri, ceea ce face 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 îmbunătăți performanța rețelelor compacte în timpul fazei de antrenament. Metoda de distilare a cunoștințelor utilizează ieșirea rețelei de profesor pentru a supraveghea antrenamentul rețelei de student ușoare. Metoda de distilare a cunoștințelor poate fi împărțită în două subcategorii: distilarea pentru caracteristici intermediare și distilarea pentru ieșirile rețelei, majoritatea lucrărilor de cercetare despre distilarea cunoștințelor concentrându-se pe sarcinile de clasificare a imaginilor. 

Cu toate acestea, următoarea imagine prezintă arhitectura generică a cadrului TinySAM, împreună cu prezentarea performanței pe sarcinile de segmentare a instanțelor zero-shot. 

În prima etapă, cadrul TinySAM implementează distilarea cunoștințelor, proiectată special pentru cadrul SAM, și pentru a activa procesul de distilare, modelul utilizează un eșantionaj online de prompturi dificile pentru a extrage cunoștințele dificile către rețeaua de student de la rețeaua de profesor. În a doua etapă, cadrul TinySAM adaptează metoda de cuantificare post-antrenament la sarcinile de segmentare promptabile și o implementează pe rețeaua de student ușoară. În final, modelul implementează modul de segmentare ierarhică a tuturor, proiectat pentru sarcinile de segmentare, care aproape dublează viteza de inferență, fără a compromite performanța. 

Distilarea cunoștințelor pe tot parcursul

Așa cum s-a menționat anterior, modelul de segmentare a oricărui lucru constă din trei sub-rețele la nivelul său fundamental: encoderul de prompt, encoderul de imagine și decoderul de mască, cu componenta encoderului de imagine construită pe un transformator de viziune și având necesități de calcul ridicate. Pentru a aborda această problemă, cadrul MobileSAM a înlocuit transformatorul de viziune cu un TinyViT sau un transformator de viziune mic, deși înlocuirea nu a fost eficientă, dată fiind decăderea semnificativă a performanței. Pentru a asigura că nu există nicio decădere a performanței, cadrul TinySAM implementează o metodă de distilare a cunoștințelor pe tot parcursul, care conduce rețeaua de student ușoară, de la nivelul de învățare la nivelul de cunoștințe multiple. În plus față de pierderea convențională dintre etichetele de referință și rezultatele prezise, cadrul TinySAM introduce numeroase pierderi de distilare în timpul diferitelor etape, așa cum se arată în următoarea imagine. 

Cuantificarea

Cuantificarea modelului este o abordare populară în cadrele de viziune computerizată și este utilizată pentru a comprima modelul, cuantificând greutățile sau activările de la o lățime de bandă mai mare la una mai mică, în încercarea de a reduce complexitatea de calcul și necesitățile de stocare, fără a compromite calitatea ieșirii în mod semnificativ. 

Scopul principal al cuantificării în TinySAM este de a proiecta tensorul cu puncte flotante în tensorul de întregi cu bit, utilizând un factor de scalare, cu metrica pentru măsurarea distanței dintre înmulțirea matricelor și matricea cuantificată, jucând un rol vital pentru optimizarea factorului de scalare. 

Segmentarea ierarhică a tuturor

Modelul de segmentare a oricărui lucru propune utilizarea unui generator de măști automat, care eșantionează puncte sub formă de grid pentru a segmenta totul în imagine. Cu toate acestea, s-a indicat faptul că utilizarea unei rețele dense de puncte duce la ieșiri de segmentare prea fine și procesul necesită necesități de calcul masive și incurente costuri operaționale ridicate. Mai mult, pe de o parte, prea multe puncte de eșantionare pentru un obiect complet pot duce la segmentarea greșită a diferitelor secțiuni ale obiectului ca măști separate, în timp ce pe de altă parte, costul de timp al modului de inferență a tuturor se datorează în principal faptului că encoderul de imagine a fost micșorat semnificativ. Pentru a reduce costul operațional al modului de segmentare a tuturor, cadrul TinySAM utilizează o abordare ierarhică de generare a măștilor, cu diferența de strategie față de cadrul SAM original, prezentată în următoarea imagine. 

Diferit de abordarea implementată în cadrul SAM original, modelul TinySAM utilizează doar 25% din puncte pe fiecare latură, utilizând astfel doar 1/16 din punctele disponibile în setarea originală. Modelul inferă apoi decoderul de mască și encoderul de prompt cu aceste prompturi și obține ieșirea. Modelul filtrează apoi unele măști cu o încredere care depășește un anumit prag și maschează locațiile corespunzătoare ca zone pentru predicții finale potențiale. Deoarece modelul tratează aceste regiuni ca rezultat al segmentării instanțelor cu încredere ridicată, nu are nevoie să genereze prompturi de puncte. Strategia nu numai că ajută la prevenirea segmentării prea fine a obiectului, dar ajută și la reducerea semnificativă a costurilor operaționale și a necesităților de calcul. Cadrul apoi combină și prelucrează 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ă încorporările de imagine de la rețeaua de profesor în avans, datorită faptului că nu este necesar ca modelul să recalculeze encoderul de imagine greu al rețelei de profesor în mod repetat în timpul fazei de antrenament. Pentru cuantificarea post-antrenament, cadrul TinySAM cuantifică toate straturile de înmulțire a matricelor, straturile de convoluție, straturile de deconvoluție și straturile liniare, modelul utilizând factori de scalare pe canal pentru straturile de convoluție și deconvoluție. Pentru straturile de înmulțire a matricelor, modelul implementează factori de scalare pe cap, în timp ce pentru straturile liniare, modelul implementează factori de scalare liniari. Modelul efectuează, de asemenea, o evaluare pe sarcini zero-shot downstream. 

Pentru sarcinile de segmentare a instanțelor într-un mediu zero-shot, cadrul TinySAM urmează setările experimentale ale predecesorului său, modelul de segmentare a oricărui lucru, și utilizează rezultatele de detectare a obiectelor de la cadrul Vision Transformer Det-H sau VitDet-H pentru segmentarea instanțelor. Așa cum se arată în următoarea imagine, cadrul TinySAM depășește metodele existente în ceea ce privește acuratețea segmentării instanțelor și scorul FLOPs. 

Mai mult, performanța calitativă a modelului TinySAM este prezentată în următoarea imagine pentru segmentarea instanțelor zero-shot, cu cutia verde reprezentând prompturile de cutii. 

În ceea ce privește evaluarea măștilor valabile zero-shot, modelul TinySAM depășește cadrul MobileSAM în mod semnificativ pe diferite seturi de date și oferă rezultate substanțial mai bune atunci când se utilizează un număr mai mic de puncte ca prompturi de către cadrul. 

Mai mult, următorul tabel rezumă rezultatele accelerării și reducerii necesităților de calcul, obținute ca urmare a strategiei modului de segmentare ierarhică a tuturor. Modelul aplică același scor de stabilitate și valoare de prag, cu diferite strategii pentru o comparație corectă, și rezultatele sunt prezentate mai jos. 

Gânduri finale

În acest articol, am discutat despre TinySAM, un cadru propus care depășește limitele pentru segmentarea oricărui lucru și obține o arhitectură de model eficientă, cu necesități de calcul reduse și acuratețe la fel de bună ca și cadrul SAM original. TinySAM sau modelul de segmentare a oricărui lucru mic păstrează și oferă performanța zero-shot a cadrului original. Cadrul TinySAM implementează mai întâi o metodă de distilare a cunoștințelor pe tot parcursul, care utilizează prompturi online dificile pentru a distila un model de student ușor. Cadrul TinySAM adaptează apoi cuantificarea post-antrenament la sarcinile de segmentare promptabile, ceea ce ajută la reducerea și mai mult a necesităților de calcul. Mai mult, cadrul vizează segmentarea ierarhică a tuturor, care aproape dublează viteza de inferență, fără a compromite performanța. 

"Un inginer de profesie, un scriitor din inimă". Kunal este un scriitor tehnic cu o dragoste și o înțelegere profundă a inteligenței artificiale și a învățării automate, dedicat simplificării conceptelor complexe din aceste domenii prin documentația sa captivantă și informativă.