Connect with us

Umělá inteligence

TinySAM : Tlačíme hranice pro Segment Anything Model

mm
TinySAM : Pushing the Boundaries for Segment Anything Model

Segmentace objektů je základní a kriticky důležitý obor v moderním počítačovém vidění. Hraje zásadní roli v aplikacích, které vyžadují rozsáhlé vizuální komponenty, jako je lokalizace a identifikace objektů, a vyžaduje reálný, rychlý a přesný segment. Tato důležitost učinila segmentaci objektů trvale žhavým tématem výzkumu, s významnou prací provedenou v oblastech, jako je segmentace instancí, sémantická segmentace a panoptická segmentace.

S vývojem segmentace objektů se Segment Anything Model (SAM) ukázal jako pozoruhodný nástroj, který předvádí vynikající segmentační schopnosti a rychle se používá v různých aplikacích počítačového vidění. Rámcové použití předem trénovaného architektu SAM dosáhly působivého výkonu v downstream vizuálních úkolech. Nicméně, navzdory jeho schopnostem a vysoké přesnosti v segmentačních úkolech, komplexní a těžká architektura SAM vyžaduje podstatnou výpočetní sílu, bránící jeho implementaci na zařízeních s omezenými výpočetními zdroji.

Při řešení výpočetních problémů SAM, výzkumníci vyvinuli Tiny Segment Anything Model (TinySAM), který zachovává nulový výkon původního rámcu, zatímco je více lehký. TinySAM používá plnoetážní metodu znalostní destilace s online tvrdými výzvami pro vytvoření efektivnějšího studentního modelu. Post-tréninková kvantizace přizpůsobená úkolům segmentace s výzvami dále snižuje výpočetní potřeby. Kromě toho, design TinySAM cílí na hierarchickou segmentaci, téměř zdvojnásobující rychlost inference bez kompromisování výkonu.

Tento článek se zabývá rámcem TinySAM, prozkoumává jeho základní principy, architekturu a výkon ve srovnání s jinými špičkovými segmentačními rámcovými systémy. Pojďme prozkoumat tyto aspekty podrobněji.

TinySAM : Efektivní Segment Anything Model

Segment Anything Model přispěl k rychlému pokroku několika aplikací počítačového vidění díky svým vynikajícím segmentačním schopnostem v kombinaci s masivním segmentačním datasetem, který obsahuje více než 11 milionů obrázků a více než miliardu obrázkových masek. Díky své výjimečné výkonnosti v úkolech segmentace objektů s libovolnými kategoriemi a tvary, slouží jako základ pro rámce, které provádějí downstream úkoly, jako je image inpainting, object tracking, 3D vidění a další. Kromě toho, Segment Anything Model také nabízí pozoruhodné nulové segmentační výkony, které prospěly citlivým odvětvím, která pracují s omezeným množstvím dat, včetně lékařského výzkumu a lékařské zobrazovací techniky. 

Ačkoli nelze zpochybnit vynikající segmentační schopnosti nabízené Segment Anything Model na široké škále downstream vizuálních úkolů, má své nevýhody v termínech komplexní architektonické zátěže, vysoké výpočetní náročnosti a významných provozních nákladů. Pro systém běžící na moderním GPU, může být doba inference modelu SAM až 2 sekundy pro 1024×1024 obrázek. V důsledku toho je velmi obtížné implementovat aplikace SAM na zařízeních s omezenými výpočetními zdroji. Pro překonání této bariéry, nedávné práce, jako je MobileSAM a FastSAM, se pokusily vyvinout model SAM s vyšší výpočetní efektivitou. Rámec MobileSAM se snaží nahradit těžkou komponentu v image encoderu architekturou TinyViT, zatímco model FastSAM přenáší segmentační úkol na úkol instancionální segmentace s pouze jednou kategorií s modelem YoloV8. Ačkoli tyto metody dosáhly jistého úspěchu v termínech snížení výpočetní náročnosti, nemohly zachovat výkon, zejména na downstream nulových úkolech. 

TinySAM nebo Tiny Segment Anything Model je pokus o snížení výpočetní náročnosti současného modelu SAM, aniž by ohrozil výkon na nulových downstream úkolech. Kromě toho, rámec TinySAM navrhuje implementovat plnoetážní metodu znalostní destilace ve své architektuře s cílem zlepšit schopnost kompaktního studentního sítě. Rámec TinySAM destiluje studentní síť způsobem od konce do konce pod dohledem učitelské sítě z různých etap. Pro další zlepšení výkonu, rámec umožňuje destilační procesu věnovat se více tvrdým příkladům implementací další online tvrdé výzvy vzorkovací strategie. Kromě toho, pro další snížení výpočetních nákladů, rámec TinySAM vystavuje úkol segmentace s výzvami post-tréninkové kvantizaci. 

Hlavní část výpočetní náročnosti modelu Segment Anything je způsobena tím, že model generuje masivní masky z gridových bodů pro segmentaci všeho v obraze. Pro překonání výpočetní náročnosti této segmentační strategie, rámec TinySAM používá hierarchickou segmentační strategii, která téměř zdvojnásobuje rychlost inference bez kompromisování výkonu. S těmito metodami implementovanými ve své architektuře, rámec TinySAM nabízí významné snížení výpočetních požadavků a stanovuje nové limity pro efektivní segmentační úkoly. 

TinySAM : Architektura a Metodologie

Než budeme mluvit o architektuře a metodologii rámce TinySAM, je důležité se nejprve podívat na jeho předchůdce, rámec SAM. Od jeho zavedení, Segment Anything Model prokázal pozoruhodný výkon, flexibilitu a generalizační schopnosti napříč širokou škálou downstream vizuálních a segmentačních úkolů. 

V jeho jádru, model SAM se skládá ze tří sub-sítí: prompt encoder, image encoder a mask decoder. Hlavním cílem prompt encoderu je zakódovat libovolné tvary masek, vstupní body a boxy a volné texty s pozicionální informací. Image encoder je těžký ViT nebo vision transformer založený síť, který extrahuje vstupní obrázek do embeddings. Model používá různé sítě pro zpracování geometrických a textových výzev. Nakonec, mask decoder obsahuje dvoucestný transformer, který přijímá výstup prompt encoderu a image encoderu pro generování konečného masky předpovědi. S datasetem, rámec SAM prokázal pozoruhodné vysoké kvalitní segmentační schopnosti pro objekty bez ohledu na jejich tvar a kategorii. Kromě toho, Segment Anything Model prokázal pozoruhodný výkon a efektivitu napříč nulovými downstream vizuálními úkoly, včetně object proposal, edge detection, text-to-mask předpovědi a instancionální segmentace. Díky svým vysokým kvalitám segmentačních schopností a flexibilním výzvám, rámce SAM tvoří základ pro vizuální aplikace. S tím řečeno, nelze ignorovat vysokou výpočetní náročnost tradiční architektury SAM s velkým množstvím parametrů, což činí téměř nemožným pro vývojáře nasadit aplikace založené na SAM na zařízeních s omezenými zdroji. 

Znalostní Destilace

Znalostní destilace je důležitý přístup pro zlepšení výkonu kompaktních sítí během tréninkové fáze. Metoda znalostní destilace, která používá výstup učitelské sítě pro dohled nad tréninkem lehkého studentního sítě. Metoda znalostní destilace lze rozdělit do dvou subkategorií: destilace pro mezilehlé funkce a destilace pro síťové výstupy, s většinou výzkumných prací se zaměřením na úkoly klasifikace obrázků. 

S tím řečeno, následující obrázek demonstruje obecnou architekturu rámce TinySAM spolu s přehledem výkonu na nulových instancionálních segmentačních úkolech. 

V první etapě, rámec TinySAM implementuje znalostní destilaci navrženou speciálně pro rámec SAM, a pro aktivaci destilačního procesu dále, model používá online tvrdou výzvu vzorkovací strategii pro těžbu tvrdých znalostí ze učitelské sítě do studentního sítě. Ve druhé etapě, rámec TinySAM přizpůsobuje post-tréninkovou kvantizaci úkolům segmentace s výzvami a implementuje ji na lehkém studentním síti. Nakonec, model implementuje hierarchickou segmentační inferenční režim navržený pro segmentační úkoly, což téměř zdvojnásobuje rychlost inference bez kompromisování výkonu. 

Plnoetážní Znalostní Destilace

Jak bylo zmíněno dříve, Segment Anything Model se skládá ze tří sub-sítí v jeho jádru: prompt encoder, image encoder a mask decoder, s image encoder komponentou postavenou na vision transformeru a mající vysoké výpočetní nároky. Pro řešení tohoto problému, rámec MobileSAM nahradil vision transformer s TinyViT nebo Tiny Vision Transformer, ačkoli substituce nebyla efektivní vzhledem k významnému poklesu výkonu. Pro zajištění žádného poklesu výkonu, rámec TinySAM implementuje plnoetážní metodu znalostní destilace, která vede lehký image encoder z úrovně učení na více znalostní úroveň. Kromě konvenční ztráty mezi ground-truth značkami a předpovězenými výsledky, rámec TinySAM zavádí několik destilačních ztrát během různých etap, jak je ukázáno v následující obrázku. 

Kvantizace

Modelová kvantizace je populární přístup v rámcích počítačového vidění a je používána pro kompresi modelu kvantizací váh nebo aktivací z vyšší na nižší šířku pásma v pokusu o snížení výpočetní složitosti a požadavků na úložiště bez významného zhoršení kvality výstupu. 

Hlavním cílem kvantizace v TinySAM je projekci plovoucího bodu tensoru na bitový integer tensor pomocí škálovacího faktoru, s metrikou pro měření vzdálenosti mezi maticovým násobením a kvantizovaným maticím hrajícími vitalní roli pro optimalizaci škálovacího faktoru. 

Hierarchická Segment Anything

Segment Anything Model navrhuje použít automatický maskový generátor, který vzorkuje body jako grid pro segmentaci všeho v obraze. Nicméně, bylo naznačeno, že použití hustého bodového gridu vede k příliš jemně zrnitým segmentačním výstupům a proces vyžaduje masivní výpočetní nároky a incuruje vysoké provozní náklady. Kromě toho, na jedné straně, příliš mnoho vzorkovacích bodů pro kompletní objekt může vést k tomu, že různé sekce objektu budou segmentovány nesprávně jako samostatné masky, zatímco na druhé straně, časová náročnost everything módu inference je primárně způsobena tím, že image encoder byl zmenšen významně. Pro snížení provozních nákladů everything módu, rámec TinySAM používá hierarchickou maskovou generační strategii, s rozdílem v strategii s původním rámcem SAM demonstrovaným v následující obrázku. 

Liší se od přístupu implementovaného v původním rámcu SAM, model TinySAM používá pouze 25% bodů na každé straně, tím využívající pouze 1/16 dostupných bodů v původním nastavení. Model pak inferuje mask decoder a prompt encoder s těmito výzvami a získá výstup. Model pak filtrová některé masky s důvěrou překračující určitou prahovou hodnotu a masky odpovídajících míst jako oblasti pro potenciální konečné předpovědi. Jelikož model považuje tyto oblasti za segmentační výsledek instancí s vysokou důvěrou, nemá potřebu generovat bodové výzvy. Strategie nejenom pomáhá v prevenci příliš jemně zrnitých segmentací objektu, ale také pomáhá v snižování provozních nákladů a výpočetních požadavků významně. Rámec pak slučuje a zpracovává výsledky těchto dvou kol pro získání konečných masek. 

TinySAM : Experimenty a Výsledky

Pro urychlení destilačního procesu, rámec TinySAM počítá a ukládá image embeddings z učitelské sítě předem, díky čemuž již není nutné pro model počítat těžký image encoder učitelské sítě opakovaně během tréninkové fáze. Pro post-tréninkovou kvantizaci, rámec TinySAM kvantizuje všechny maticové násobení vrstvy, konvoluční vrstvy, dekonvoluční vrstvy a lineární vrstvy, s modelem používajícím kanálové škálovací faktory pro konvoluční a dekonvoluční vrstvy. Pro maticové násobení vrstvy, model implementuje hlavové škálovací faktory, zatímco pro lineární vrstvy, model implementuje lineární škálovací faktory. Model také provádí hodnocení na nulových downstream úkolech. 

Pro instancionální segmentační úkoly v nulovém nastavení, rámec TinySAM následuje experimentální nastavení svého předchůdce, Segment Anything Model, a používá objektové detekční výsledky rámce Vision Transformer Det-H nebo VitDet-H pro instancionální segmentaci. Jak je ukázáno v následující obrázku, rámec TinySAM překonává existující metody v termínech instancionální segmentační přesnosti a FLOPs skóre. 

Kromě toho, kvalitativní výkon modelu TinySAM je demonstrován v následující obrázku pro nulovou instancionální segmentaci se zeleným rámečkem reprezentujícím boxové výzvy. 

V termínech nulové bodové validní masky hodnocení, model TinySAM překonává rámec MobileSAM významně na různých datasetech a dodává podstatně lepší výsledky, když je menší počet bodů využíván jako výzvy rámcem. 

Kromě toho, následující tabulka shrnuje výsledky urychlení a snížení výpočetních požadavků dosažených jako výsledek hierarchického everything módu strategie. Model aplikuje stejný stabilitní skóre a prahovou hodnotu s různými strategiemi pro spravedlivé srovnání, a výsledky jsou shrnuty níže. 

Závěrečné Myšlenky

V tomto článku, jsme mluvili o TinySAM, navrhovaném rámcu, který tlačí hranice pro segmentaci libovolného úkolu a získává efektivní modelovou architekturu s menšími výpočetními nároky a přesností na úrovni s původním rámcem SAM. TinySAM nebo Tiny Segment Anything Model, který zachovává a dodává nulový výkon původního rámce. Rámec TinySAM nejprve implementuje plnoetážní metodu znalostní destilace, která používá online tvrdé výzvy pro destilaci lehkého studentního modelu. Rámec TinySAM pak přizpůsobuje post-tréninkovou kvantizaci úkolům segmentace s výzvami, což dále pomáhá v snížení výpočetních požadavků. Kromě toho, rámec také cílí na hierarchickou segmentaci, která téměř zdvojnásobuje rychlost inference bez ovlivnění výkonu. 

Inženýr z povolání, spisovatel ze srdce. Kunal je technický spisovatel s hlubokou láskou a porozuměním pro AI a ML, který se věnuje zjednodušování složitých konceptů v těchto oblastech prostřednictvím svých přitažlivých a informačních dokumentací.