Tekoäly
TinySAM : Pushing the Boundaries for Segment Anything Model

Objektien segmentointi on perustava ja kriittinen tietokoneen näön ala, jolla on tärkeä rooli sovelluksissa, jotka vaativat laajoja visuaalisia komponentteja, kuten objektien lokalisaatiota ja tunnistamista, ja edellyttävät reaaliaikaisia, nopeita ja tarkkoja segmentointeja. Tämä tärkeys on tehnyt objektien segmentoinnista jatkuvasti kuuman tutkimusaiheen, ja siinä on tehty merkittävää työtä alueilla, kuten instanssien segmentoinnissa, semanttisessa segmentoinnissa ja panoptisessa segmentoinnissa.
Objektien segmentoinnin kehittyessä Segment Anything Model (SAM) on kehittynyt merkittäväksi työkaluksi, joka esittää erinomaisia segmentointikykyjä ja on nopeasti omaksuttu monissa tietokoneen näön sovelluksissa. SAM-arkkitehtuuriin perustuvat kehykset ovat saavuttaneet vaikuttavia suorituskykyjä visuaalisen tehtävien alijärjestelmissä. Kuitenkin SAM:n monimutkainen ja raskas arkkitehtuuri edellyttää merkittävää laskentakapasiteettia, joka haittaa sen käyttöönottoa laskentaresursseilta rajoitettuilla laitteilla.
Osoittaakseen SAM:n laskentahaasteita, tutkijat ovat kehittäneet Tiny Segment Anything Modelin (TinySAM), joka säilyttää alkuperäisen kehyksen nollasuorituskyvyn ollessaan kevyempi. TinySAM käyttää täydellistä tietämyspilkkomismenetelmää verkkopohjaisilla ohjelmistoilla luodakseen tehokkaamman opetusverkon. Jälkikoulutuskvantifiointi, joka on sovellettavissa segmentointitehtäviin, vähentää laskentatarpeita entisestään. Lisäksi TinySAM:n suunnittelu pyrkii hierarkkiseen segmentointiin, jolloin inference-nopeus lähes kaksinkertaistuu ilman suorituskyvyn heikentymistä.
Tässä artikkelissa tutkitaan TinySAM-kehystä, sen perussääntöjä, arkkitehtuuria ja suorituskykyä verrattuna muihin valmiiden segmentointikehyksiin. Tutustumme näihin seikkoihin tarkemmin.
TinySAM : Tehokas Segment Anything Model
Segment Anything Model on edistänyt useiden tietokoneen näön sovellusten nopeaa kehittymistä kiittäen sen kiitettäviä segmentointikykyjä ja massiivista segmenttikoekokoelmaa, joka sisältää yli 11 miljoonaa kuvaa ja yli miljardin kuvamaskia. Sen poikkeuksellisen suorituskyvyn ansiosta tehtävissä, jotka liittyvät objektien segmentointiin satunnaisilla kategorioilla ja muodoilla, se toimii perustana kehyksille, jotka suorittavat alitehtäviä, kuten kuvan korjausta, objektin seuraamista, 3D-näköaistimista ja muista. Lisäksi Segment Anything Model tarjoaa merkittävän nollasuorituskyvyn, josta on hyötyä herkillä aloilla, jotka työskentelevät rajoitetulla määrällä dataa, mukaan lukien lääketieteellinen tutkimus ja lääketieteellinen kuvantaminen.
Vaikka kukaan ei voi kyseenalaistaa Segment Anything Modelin merkittäviä segmentointikykyjä laajalla valikoimalla visuaalisen tehtävän alijärjestelmiä, se on myös raskas arkkitehtuuri, joka edellyttää suuria laskentavaatimuksia ja merkittäviä toimintakustannuksia. Järjestelmälle, joka suorittaa modernilla GPU:lla, SAM-mallin inference-aika voi olla jopa 2 sekuntia 1024×1024-kuvalla. Tämän vuoksi on erittäin haasteellista ottaa SAM-sovellukset käyttöön laitteilla, joilla on rajoitettu laskentakapasiteetti. Päästäkseen tämän esteen yli tutkijat ovat kehittäneet MobileSAM- ja FastSAM-työkaluja, jotka pyrkivät kehittämään SAM-mallin, joka on laskentatehokkaampi. 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-mallilla. Vaikka nämä menetelmät saavuttivat jonkinlaista menestystä laskentavaatimusten vähentämisessä, ne eivät kyenneet ylläpitämään suorituskykyä erityisesti nollasuorituskykyisissä tehtävissä.
TinySAM eli Tiny Segment Anything Model on yritys vähentää nykyisen SAM-mallin laskentavaatimusta ilman suorituskyvyn heikentymistä nollasuorituskykyisissä tehtävissä. Lisäksi TinySAM-kehys ehdottaa täydellisen tietämyspilkkomismenetelmän käyttöönottoa arkkitehtuurissaan parantamaan kompaktin opetusverkon kykyjä. TinySAM-kehys tiivistää opetusverkon päästä päähän opettajan verkon valvonnassa eri vaiheissa. Lisäksi parantamaan suorituskykyä kehys sallii tiivistämismenettelyn keskittymisen haasteellisiin esimerkkeihin käyttämällä lisäksi verkkopohjaista haasteellista ohjelmistojen näytteenottomenetelmää. Lisäksi vähentämään laskentakustannuksia TinySAM-kehys altistaa ohjelmistopohjaiset segmentointitehtävät jälkikoulutuskvantifiointimenetelmiin.
Suurin osa Segment Anything Modelin laskentavaatimuksesta johtuu siitä, että malli luo massiivisia maskeja ruutupistekohteista segmentoidakseen kaiken kuvassa. Päästäkseen segmentointistrategian laskentavaatimusten yli TinySAM-kehys käyttää hierarkkista segmentointistrategiaa, joka lähes kaksinkertaistaa inference-nopeuden ilman suorituskyvyn heikentymistä. Käyttämällä näitä menetelmiä arkkitehtuurissaan 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-kehys. Siitä lähtien, kun Segment Anything Model esiteltiin, se on osoittanut merkittävää suorituskykyä, joustavuutta ja yleistyskykyä laajalla valikoimalla visuaalisen tehtävän ja objektien segmentoinnin tehtävissä.
SAM-malli koostuu kolmesta aliverkosta: ohjelmistojen koodauksesta, kuvan koodauksesta ja maskin dekoodauksesta. Ohjelmistojen koodauksen tärkein tavoite on koodata satunnaisesti muotoiltuja maskeja, syötepisteitä ja -laatikoita sekä vapaamuotoista tekstiä paikallistiedolla. Kuvan koodaus on raskas ViT- tai visiotransformatoripohjainen verkko, joka purkaa syötekuvan sisäänrakennuksiin. Malli käyttää eri verkkoja geometrisen ja tekstipromptien prosessointiin. Lopulta maskin dekoodaus sisältää kaksi-suuntainen transformaattori, joka vastaanottaa ohjelmistojen koodauksen ja kuvan koodauksen tulokset lopullisen maskin ennustamiseksi. Kokoelmansa kanssa SAM-kehys osoittaa merkittävän laadukkaan segmentointikyvyn objekteille riippumatta niiden muodosta ja kategoriasta. Lisäksi Segment Anything Model osoittaa merkittävää suorituskykyä ja tehokkuutta nollasuorituskykyisissä visuaalisen tehtävän alijärjestelmissä, mukaan lukien objektien ehdotus, reunan havaitseminen, teksti-maskien ennustaminen ja instanssien segmentointi. Sen korkealaatuisten segmentointikykyjen ja joustavien ohjelmistotarjousten ansiosta SAM-kehykset muodostavat perustan visiosovelluksille. Vaikka voidaan sanoa, että SAM:n suorituskyky on korkea, sen raskas arkkitehtuuri tekee siitä haasteellisen ottaa SAM-pohjaiset sovellukset käyttöön laitteilla, joilla on rajoitettu laskentaresursseja.
Tietämyspilkkominen
Tietämyspilkkominen on tärkeä lähestymistapa kompaktien verkkojen suorituskyvyn parantamiseksi koulutusvaiheessa. Tietämyspilkkominen käyttää opettajan verkon tulostaa ohjaamaan kevyen opetusverkon koulutusta. Tietämyspilkkominen voidaan jakaa kahteen alaluokkaan: välimuotoisten ominaisuuksien tiivistäminen ja verkon tulosten tiivistäminen, joista suurin osa tietämyspilkkomisen tutkimuksesta on keskittynyt kuvien luokitteluun.
Seuraava kuva osoittaa TinySAM-kehyksen yleisen arkkitehtuurin ja suorituskyvyn yhteenveto nollasuorituskykyisissä instanssien segmentoinnitehtävissä.

Ensivaiheessa TinySAM-kehys toteuttaa tietämyspilkkomisen, joka on suunniteltu erityisesti SAM-kehysille, ja aktivoidakseen tiivistämismenettelyn kehys käyttää verkkopohjaista haasteellista ohjelmistojen näytteenottomenetelmää kaivamaan haasteellista tietämystä opetusverkolle opettajaverkolta. Toisessa vaiheessa TinySAM-kehys sovittaa jälkikoulutuskvantifiointimenetelmän ohjelmistopohjaisiin segmentointitehtäviin ja toteuttaa sen kevyelle opetusverkolle. Lopulta kehys toteuttaa hierarkkisen segmentointimenetelmän, joka on suunniteltu segmentointitehtäviin, jolloin inference-nopeus lähes kaksinkertaistuu merkittävän suorituskyvyn heikentymättä.
Täydellinen tietämyspilkkominen
Kuten mainittiin aiemmin, Segment Anything Model koostuu kolmesta aliverkosta: ohjelmistojen koodauksesta, kuvan koodauksesta ja maskin dekoodauksesta, joista kuvan koodauskomponentti on rakennettu visiotransformatorista ja edellyttää suuria laskentavaatimuksia. Ratkaistakseen tämän ongelman MobileSAM-kehys korvasi visiotransformatorin TinyViT:llä eli Tiny Vision Transformerilla, vaikka korvaus ei ollut tehokas suurten suorituskykyjen heikentymisen vuoksi. Varmistaakseen, ettei suorituskyky heikkene, TinySAM-kehys toteuttaa täydellisen tietämyspilkkomismenetelmän, joka ohjaa kevyttä kuvan koodausta oppimistason tasolla useiden tietämyskohtien tasolla. Lisäksi perinteiseen tappioon maalitiedolla ja ennustetuilla tuloksilla TinySAM-kehys esittää useita tiivistämistappioita eri vaiheissa, kuten seuraavassa kuvassa.

Kvantisointi
Mallin kvantisointi on suosittu lähestymistapa tietokoneen näön kehyksissä, ja sitä käytetään mallin pakkaamiseen kvantifioimalla painot tai aktivaatiot korkeammasta kaistanleveydestä alemmaksi laskennallisen monimutkaisuuden ja tallennustarpeiden vähentämiseksi ilman merkittävää laadun heikentymistä.
Kvantisoinnin pääasiallinen tavoite TinySAM:ssa on projisoida liukulukuvektori bittivektoriksi skaalauksella, ja etäisyyden mittaamiseen matriisien kertolaskussa ja kvantifioituun matriisiin käytetään tärkeää roolia skaalauksen optimoimisessa.
Hierarkkinen segmentointi
Segment Anything Model ehdottaa automaattista maskin generoimista, joka ottaa näytteitä ruudukossa segmentoidakseen kaiken kuvassa. On kuitenkin todettu, että tiheän pisteen ruudun käyttö johtaa ylihienorakenteisiin segmentointituloksiin, ja prosessi edellyttää massiivisia laskentavaatimuksia ja aiheuttaa korkeita toimintakustannuksia. Lisäksi toisaalta liian moni pistenäyte koko objektille voi johtaa siihen, että objektin eri osat segmentoidaan väärin eri maskeina, kun taas toisaalta everything-tilan inference-ajan kustannus johtuu siitä, että kuvan koodaus on kutistunut merkittävästi. Vähentääkseen everything-tilan toimintakustannuksia TinySAM-kehys käyttää hierarkkista maskin generoimismenetelmää, ja ero alkuperäisen SAM-kehyksen strategiassa on esitetty seuraavassa kuvassa.

Toisin kuin alkuperäisessä SAM-kehyksessä toteutettu lähestymistapa, TinySAM-malli käyttää vain 25 % pisteistä kussakin suunnassa, käyttäen vain 1/16 alkuperäisistä pisteistä. Malli sitten ennustaa maskin dekooderin ja ohjelmistojen koodauksen näillä ohjelmistoilla ja saa tulokset. Malli sitten suodattaa joitain maskeja, joiden luottamus ylittää tietyn kynnyksen, ja maskee vastaavat sijainnit potentiaalisina lopullisina ennusteina. Koska malli kohdellaan näitä alueita instanssien segmentointituloksina, sillä ei ole tarve luoda pistepromptteja. Taktiikka estää objektien ylihienorakenteisen segmentoinnin ja auttaa myös vähentämään toimintakustannuksia ja laskentavaatimuksia merkittävästi. Kehys yhdistää ja jälkikäsittelee näiden kahden kierroksen tuloksia lopullisten maskien saamiseksi.
TinySAM : Kokeet ja Tulokset
Kiihdyttääkseen tiivistämismenettelyä TinySAM-kehys laskee ja tallentaa kuvan sisäänrakennukset opettajaverkolta etukäteen, minkä ansiosta malli ei tarvitse laskea opettajan verkon raskasta kuvan koodausta toistuvasti koulutusvaiheessa. Jälkikoulutuskvantifiointia varten TinySAM-kehys kvantifioi kaikki matriisien kertolasku-, konvoluutio-, dekonvoluutio- ja lineaarilaskentaosuudet, ja malli käyttää kanavakohtaisia skaalauksia sekä konvoluutio- että dekonvoluutiolaskentaosuudelle. Matriisien kertolaskentaosuudelle malli toteuttaa pääkohtaisia skaalauksia, ja lineaarilaskentaosuudelle malli toteuttaa lineaarisen skaalauksen. Malli suorittaa myös arvioinnin nollasuorituskykyisissä tehtävissä.
Instanssien segmentoinnissa nollasuorituskykyisessä asetelmassa TinySAM-kehys seuraa edeltäjänsä, Segment Anything Modelin, kokeellisia asetuksia ja käyttää Vision Transformer Det-H- tai VitDet-H-kehyksen objektien havaitsemistuloksia instanssien segmentoinnissa. Kuten seuraavassa kuvassa näkyy, TinySAM-kehys ylittää olemassa olevat menetelmät instanssien segmentoinnin tarkkuudessa ja FLOPs-pisteissä.

Lisäksi TinySAM-mallin laadullinen suorituskyky on esitetty seuraavassa kuvassa nollasuorituskykyisessä instanssien segmentoinnissa, ja vihreä ruutu edustaa ruutupromptteja.

Nollasuorituskykyisen pisteiden validointituloksissa TinySAM-malli ylittää MobileSAM-kehyksen merkittävästi eri kokoelmilla, ja tarjoaa olennaisesti parempia tuloksia, kun kehys käyttää vähemmän pisteitä ohjelmistopromptteina.

Lisäksi seuraava taulukko tiivistää kiihdytyksen ja laskentavaatimusten vähennyksen tulokset, jotka saavutetaan hierarkkisen everything-tilan strategian avulla. Malli soveltaa samaa stabiilisuuspistettä ja kynnyksen arvoa eri strategioilla oikeudenmukaisen vertailun vuoksi, ja tulokset on tiivistetty alla.

Lopputulet
Tässä artikkelissa olemme puhuneet TinySAM:sta, ehdotetusta kehyksestä, joka pyrkii segmentoimaan mitä tahansa tehtävää, ja saavuttaa tehokkaan mallin arkkitehtuurin, jolla on vähemmän laskentavaatimuksia ja suorituskyky, joka on vertailukelpoinen alkuperäisen SAM-kehyksen kanssa. TinySAM eli Tiny Segment Anything Model säilyttää alkuperäisen kehyksen nollasuorituskyvyn. TinySAM-kehys toteuttaa ensin täydellisen tietämyspilkkomismenetelmän, joka käyttää verkkopohjaista haasteellista ohjelmistojen näytteenottomenetelmää tiivistääkseen kevyen opetusverkon. TinySAM-kehys sovittaa sitten jälkikoulutuskvantifiointimenetelmän ohjelmistopohjaisiin segmentointitehtäviin, mikä auttaa vähentämään laskentavaatimuksia entisestään. Lisäksi kehys pyrkii segmentoimaan kaiken hierarkkisesti, mikä lähes kaksinkertaistaa inference-nopeuden ilman suorituskyvyn heikentymistä. Käyttämällä näitä menetelmiä arkkitehtuurissaan TinySAM-kehys tarjoaa merkittävän vähennyksen laskentavaatimuksissa ja asettaa uudet rajat tehokkaille segmentointitehtäville.












