AI-mallit ja alustat

TinySAM : Tehokas Segment Anything -malli

mm
Lisää Unite.AI suosikkilähteisiisi Google-palvelussa

Objektien segmentointi on modernin tietokoneen näön perustava ja kriittinen osa-alue. Se on tärkeä sovelluksissa, jotka vaativat laajoja visuaalisia komponentteja, kuten objektien lokalisaatio ja tunnistus, ja edellyttää reaaliaikaisia, nopeita ja tarkkoja segmentointeja. Tämä tärkeys on tehnyt objektien segmentoinnista jatkuvasti kuuman tutkimusaiheen, ja merkittävää työtä on tehty alueilla kuten instanssien segmentointi, semanttinen segmentointi ja panoptinen segmentointi.

Objektien segmentoinnin kehittyessä Segment Anything -malli (SAM) on osoittautunut merkittäväksi työkaluksi, joka esittelee erinomaisia segmentointikykyjä ja on nopeasti omaksuttu monissa tietokoneen näön sovelluksissa. SAM-rakenteen käyttävät kehykset ovat saavuttaneet vaikuttavia suorituskykyjä alirakenteisissa näkötehtävissä. Kuitenkin, vaikka SAM-mallilla on korkeat kyvyt ja tarkka segmentointi, sen monimutkainen ja raskas arkkitehtuuri edellyttää merkittävää laskentakapasiteettia, joka haittaa sen käyttöä laskentaresursseilta rajoitettuilla laitteilla.

SAM-mallin laskentahaasteiden ratkaisemiseksi tutkijat ovat kehittäneet Tiny Segment Anything -mallin (TinySAM), joka säilyttää alkuperäisen kehyksen nollasuurteisen suorituskyvyn ollen samalla kevyempi. TinySAM käyttää täydellistä tietämyksen tislaamismenetelmää verkko- ja online-kovien ohjelmistojen avulla luomaan tehokkaamman opetusmallin. Jälkikoulutus-kvantifiointi, joka on sovellettu herättävään segmentointiin, vähentää laskentavaatimuksia entisestään. Lisäksi TinySAM-suunnittelu pyrkii hierarkkiseen segmentointiin, joka melkein kaksinkertaistaa päätöksenteon nopeuden vaikuttaamatta suorituskykyyn.

Tässä artikkelissa tutkitaan TinySAM-kehystä, sen perusrakenteita, arkkitehtuuria ja suorituskykyä verrattuna muihin valtavirtaisten segmentointikehyksiin. Tutustumme näihin seikkoihin tarkemmin.

TinySAM : Tehokas Segment Anything -malli

Segment Anything -malli on edistänyt useiden tietokoneen näön sovellusten nopeaa kehitystä sen kiitettävien segmentointikykyjen ansiosta, jotka on yhdistetty massiiviseen segmentointidataan, joka kattaa yli 11 miljoonaa kuvaa ja yli miljardin kuva-maskia. Sen poikkeuksellisen suorituskyvyn ansiosta tehtävissä, jotka liittyvät objektien segmentointiin satunnaisilla kategorioilla ja muodoilla, se toimii perustana kehyksille, jotka suorittavat alirakenteisia tehtäviä, kuten kuvan korjaus, objektien seuranta, 3D-näkö ja lisää. Lisäksi Segment Anything -malli tarjoaa myös merkittävän nollasuurteisen segmentoinnin, josta on hyötyä herkillä aloilla, jotka työskentelevät rajoitettujen datamäärien kanssa, mukaan lukien lääketieteellinen tutkimus ja lääketieteellinen kuvantaminen.

Vaikka Segment Anything -mallin erinomaisia segmentointikykyjä ei voida kyseenalaistaa laajalla valikoimalla alirakenteisia näkötehtäviä, sillä on huonot puolensa monimutkaisen arkkitehtuurin, korkeiden laskentavaatimusten ja merkittävien toimintakustannusten suhteen. Nykyaikaisella GPU:lla SAM-mallin inference-aika voi olla jopa 2 sekuntia 1024×1024-kuvalla. Tämän vuoksi on erittäin haasteellista toteuttaa SAM-sovelluksia laitteilla, joilla on rajoitettu laskentakapasiteetti. Ylitsekään tähän esteeseen, viimeaikaiset työt, kuten MobileSAM ja FastSAM, ovat pyrkineet kehittämään SAM-mallin, jolla on enemmän laskentatehokkuutta. MobileSAM-kehys yrittää korvata raskaan komponentin kuvan koodauksessa TinyViT-arkkitehtuurilla, kun taas FastSAM-malli siirtää segmentointitehtävän instanssien segmentointitehtäväksi, jossa on vain yksi kategoria, YoloV8-mallin avulla. Vaikka nämä menetelmät saavuttivat jonkinlaista menestystä laskentavaatimusten vähentämisessä, ne eivät kyenneet ylläpitämään suorituskykyä erityisesti nollasuurteisissa alirakenteisissa tehtävissä.

TinySAM eli Tiny Segment Anything -malli on yritys vähentää nykyisen SAM-mallin laskentavaatimuksia ilman vaikutusta suorituskykyyn nollasuurteisissa alirakenteisissa tehtävissä. Lisäksi TinySAM-kehys ehdottaa täydellisen tietämyksen tislaamismenetelmän käyttöä arkkitehtuurissaan parantamaan pakattujen opetusverkkojen kykyjä. TinySAM-kehys tislaa opetusverkkoa päästä päähän opettajan verkon valvonnassa eri vaiheissa. Suorituskyvyn parantamiseksi kehys sallii tislaamisprosessin keskittyä enemmän haastaviin esimerkkeihin käyttämällä lisäksi online-kovien ohjelmistojen näyteottamismenetelmää. Lisäksi laskentakustannusten vähentämiseksi TinySAM-kehys altistaa herättävän segmentoinnin tehtävät jälkikoulutus-kvantifiointikomponenteille.

Segment Anything -mallin suurin osa laskentavaatimuksesta johtuu siitä, että malli generoi massiivisia maskeja ruutupistekohteista segmentoidakseen kaiken kuvassa. Tätä segmentointistrategian laskentavaatimusta vastaan TinySAM-kehys käyttää hierarkkista segmentointistrategiaa, joka melkein kaksinkertaistaa päätöksenteon nopeuden ilman suorituskyvyn heikentymistä. Nämä menetelmät otetaan käyttöön sen arkkitehtuurissa, ja TinySAM-kehys tarjoaa merkittävän vähennyksen laskentavaatimuksissa ja asettaa uudet rajat tehokkaille segmentointitehtäville.

TinySAM : Arkkitehtuuri ja Menetelmä

Ennen kuin puhumme TinySAM-kehyksen arkkitehtuurista ja menetelmästä, on tärkeää tutustua sen edeltäjään, SAM-kehykseen. Siitä lähtien, kun se esiteltiin, Segment Anything -malli on osoittanut merkittävää suorituskykyä, joustavuutta ja yleistettävyyttä laajalla valikoimalla alirakenteisia näkö- ja objektien segmentointitehtäviä.

SAM-mallin ytimessä on kolme aliverkkoa: ohjelmistojen koodari, kuvan koodari ja maskin dekoodari. Ohjelmistojen koodarin pääasiallinen tavoite on koodata satunnaisesti muotoiltuja maskeja, syötekohteita ja -laatikoita sekä vapaamuotoista tekstiä paikallistamistiedolla. Kuvan koodari on raskas ViT- tai visiotransformatoripohjainen verkko, joka purkaa syötekuvan sisäänrakenteisiin. Malli käyttää eri verkkoja geometristen ja tekstipromptien prosessointiin. Lopulta maskin dekoodari sisältää kaksisuuntaisen transformaattorin, joka vastaanottaa ohjelmistojen ja kuvan koodarin tulosteen ja generoi lopullisen maskinennusteen. Datansa kanssa SAM-kehys osoittaa merkittävää laadukasta segmentointikykyä objekteille riippumatta niiden muodosta ja kategoriasta. Lisäksi Segment Anything -malli osoittaa merkittävää suorituskykyä ja tehokkuutta nollasuurteisissa alirakenteisissa näkötehtävissä, mukaan lukien objektien ehdotus, reunan havaitseminen, tekstin maskiin ennustaminen ja instanssien segmentointi. Sen korkeiden laadukkaiden segmentointikykyjen ja joustavien promptien tarjoamisen ansiosta SAM-kehykset muodostavat perustan visio-sovelluksille. Sanottakoon, ettei voida jättää huomiotta perinteisen SAM-arkkitehtuurin korkeita laskentavaatimuksia, joista suuri osa johtuu suuresta määrästä parametreja, mikä tekee lähes mahdottomaksi kehittäjien käyttää SAM-pohjaisia sovelluksia resursseilta rajoitettuilla laitteilla.

Tietämyksen Tislaaminen

Tietämyksen tislaaminen on tärkeä lähestymistapa pakattujen verkkojen suorituskyvyn parantamiseksi koulutusvaiheessa. Tietämyksen tislaamismenetelmä, joka käyttää opettajan verkon tulostetta ohjaamaan kevyen opetusverkon koulutusta. Tietämyksen tislaamismenetelmä voidaan jakaa kahteen alaluokkaan: tislaaminen välittömistä ominaisuuksista ja tislaaminen verkon tulosteista, ja suurin osa tietämyksen tislaamiseen liittyvää tutkimustyötä on keskittynyt kuvien luokitteluun.

Seuraava kuva havainnollistaa TinySAM-kehyksen yleisen arkkitehtuurin sekä suorituskyvyn yhteenveto nollasuurteisissa instanssien segmentointitehtävissä.

Ensimmäisessä vaiheessa TinySAM-kehys toteuttaa tietämyksen tislaamisen, joka on suunniteltu erityisesti SAM-kehykselle, ja aktivoi tislaamisprosessin edelleen käyttämällä lisäksi online-kovien ohjelmistojen näyteottamismenetelmää, jotta voidaan kaivaa haastavaa tietämystä opetusverkolle opettajaverkon avulla. Toisessa vaiheessa TinySAM-kehys sovittaa jälkikoulutus-kvantifiointimenetelmän herättäviin segmentointitehtäviin ja toteuttaa sen kevyelle opetusverkolle. Lopulta malli toteuttaa hierarkkisen segmentointimenetelmän, joka on suunniteltu segmentointitehtäviin, mikä johtaa lähes kaksinkertaistuvan päätöksenteon nopeuteen merkittävän tarkkuuden menettämättä.

Täydellinen Tietämyksen Tislaaminen

Kuten mainittiin aiemmin, Segment Anything -malli koostuu kolmesta aliverkosta: ohjelmistojen koodarista, kuvan koodarista ja maskin dekoodarista, joista kuvan koodarin komponentti perustuu visiotransformatorille ja edellyttää korkeita laskentavaatimuksia. Tätä ongelmaa vastaan MobileSAM-kehys korvasi visiotransformatorin TinyViT- tai Tiny Vision Transformer -arkkitehtuurilla, vaikka korvaus ei ollut tehokas johtuen merkittävää suorituskyvyn heikentymisestä. Tietämyksen tislaamisen avulla TinySAM-kehys toteuttaa täydellisen tietämyksen tislaamismenetelmän, joka ohjaa kevyttä kuvan koodaria oppimisen tasolla useiden tietämyksen tasojen kautta. Lisäksi perinteisen tappion välillä maalitettujen tuloksien ja ennustettujen tuloksien välillä TinySAM-kehys esittää useita tislaamistappioita eri vaiheissa, kuten seuraavassa kuvassa näkyy.

Kvantifiointi

Mallin kvantifiointi on suosittu lähestymistapa tietokoneen näön kehyksissä, ja sitä käytetään mallin pakkaamiseen kvantifioiden painoja tai aktivoita korkeammasta kaistanleveydestä alemmaksi kaistanleveydeksi pyrkien vähentämään laskentakompleksisuutta ja tallennustilaa ilman merkittävää laadun heikentymistä.

Kvantifiointia TinySAM:ssa tavoitellaan projisoimalla liukuluku-tensori bittitensoriksi skaalauksella, ja mittari, joka mittailee etäisyyttä matriisimonien ja kvantifioidun matriisin välillä, on tärkeä optimoimassa skaalauksetta.

Hierarkkinen Segmentointi

Segment Anything -malli ehdottaa automaattisen maskin generoimista, joka ottaa näytteitä ruudukossa segmentoidakseen kaiken kuvassa. On kuitenkin osoitettu, että tiheän pistekohtaisen ruudun käyttö johtaa yksityiskohtaiseen segmentointitulokseen, ja prosessi vaatii massiivisia laskentavaatimuksia ja aiheuttaa korkeita toimintakustannuksia. Lisäksi toisaalta liian monien näytteiden käyttö koko objektin osalta voi johtaa siihen, että objektin eri osat segmentoidaan väärin eri maskeina, kun taas toisaalta ajan kustannus kaiken segmentoinnin inference-vaiheessa johtuu siitä, että kuvan koodari on kutistunut merkittävästi. Vähentääksesi kaiken segmentoinnin operaatiokustannuksia TinySAM-kehys käyttää hierarkkista maskin generoimismenetelmää, ja ero strategiassa alkuperäisen SAM-kehyksen kanssa on havainnollistettu seuraavassa kuvassa.

Toisin kuin alkuperäinen SAM-kehys, TinySAM-malli käyttää vain 25 % pisteitä kussakin suunnassa, käyttäen siten vain 1/16 alkuperäisistä pisteistä. Sitten malli päättelee maskin dekoodarin ja ohjelmistojen koodarin näiden ohjelmistojen kanssa ja saa tuloksen. Malli suodattaa jotkin maskit, joiden luottamus ylittää tietyn kynnyksen, ja maskit vastaavat sijainteja mahdollisina lopullisina ennusteina. Koska malli käsittelee nämä alueet korkean luottamuksen instanssien segmentointituloksina, sillä ei ole tarve generoida ohjelmisto-ohjelmia. Taktiikka auttaa estämään objektien yksityiskohtaisen segmentoinnin ja vähentää samalla operaatiokustannuksia ja laskentavaatimuksia merkittävästi. Kehys yhdistää ja jatkaa näiden kahden kierroksen tuloksia lopullisten maskejen saamiseksi.

TinySAM : Kokeet ja Tulokset

Kiihdyttääkseen tislaamisprosessia TinySAM-kehys laskee ja tallentaa kuvan sisäänrakenteet etukäteen opettajan verkon avulla, minkä ansiosta mallin ei tarvitse laskea opettajan verkon raskasta kuvan koodaria toistuvasti koulutusvaiheessa. Jälkikoulutus-kvantifiointia varten TinySAM-kehys kvantifioidaan kaikki matriisimonien, konvoluutiokerrosten, dekonvoluutiokerrosten ja lineaaristen kerrosten, ja malli käyttää kanavakohtaisia skaalauksia sekä konvoluutio- että dekonvoluutio-kerroksille. Matriisimonien osalta malli toteuttaa pääkohtaisia skaalauksia, ja lineaaristen kerrosten osalta malli toteuttaa lineaarisia skaalauksia. Malli suorittaa myös arvioinnin nollasuurteisissa alirakenteisissa tehtävissä.

Instanssien segmentoinnissa nollasuurteisessa asetelmassa TinySAM-kehys seuraa edeltäjänsä, Segment Anything -mallin, kokeellisia asetelmia ja käyttää VitDet-H-kehyksen objektien havaintotuloksia instanssien segmentoinnissa. Kuten seuraavassa kuvassa havainnollistetaan, TinySAM-kehys ylittää olemassa olevat menetelmät instanssien segmentoinnin tarkkuuden ja FLOPs-pistemäärän suhteen.

Lisäksi TinySAM-mallin laadukkaat suorituskyky on havainnollistettu seuraavassa kuvassa nollasuurteisessa instanssien segmentoinnissa, jossa vihreä ruutu edustaa ohjelmistopromptteja.

Nollasuurteisen pisteiden validin maskin arvioinnissa TinySAM-malli ylittää MobileSAM-kehyksen merkittävästi eri tietojoukoissa, ja saavuttaa olennaisesti parempia tuloksia, kun kehys käyttää vähemmän pisteitä ohjelmistona.

Lisäksi seuraava taulukko yhteenveto kaiken nopeutus- ja laskentavaatimusten vähennyksen tuloksia, jotka saavutetaan hierarkkisen kaiken segmentoinnin strategian avulla. Malli soveltaa samaa vakautta ja kynnystärää eri strategioilla, ja tulokset on yhteenveto seuraavassa.

Lopputulet

Tässä artikkelissa olemme keskustelleet TinySAM:sta, ehdotetusta kehyksestä, joka pyrkii segmentoimaan mitä tahansa tehtävän tehokkaasti, ja saavuttaa tehokkaan mallin arkkitehtuurin, jolla on vähemmän laskentavaatimuksia ja yhtä hyvä tarkkuus kuin alkuperäinen SAM-kehys. TinySAM eli Tiny Segment Anything -malli, joka ylläpitää ja toimittaa nollasuurteisen suorituskyvyn alkuperäisestä kehyksestä. TinySAM-kehys toteuttaa ensin täydellisen tietämyksen tislaamismenetelmän, joka käyttää online-kovien ohjelmistojen näyteottamista tislaamaan kevyen opetusmallin. TinySAM-kehys sovittaa sitten jälkikoulutus-kvantifiointia herättävään segmentointiin, mikä auttaa vähentämään laskentavaatimuksia entisestään. Lisäksi kehys pyrkii segmentoimaan kaiken hierarkkisesti, mikä melkein kaksinkertaistaa päätöksenteon nopeuden ilman suorituskyvyn heikentymistä.

Ammattina insinööri, sydämen vuoksi kirjailija. Kunal on tekninen kirjailija, jolla on syvä rakkaus ja ymmärrys AI: sta ja ML: stä, omistautunut yksinkertaistamaan monimutkaisia käsitteitä näissä aloissa hänen viihdyttävän ja informatiivisen dokumentaationsa kautta.