Sztuczna inteligencja
TinySAM : Przekraczanie granic dla modelu Segment Anything

Segmentacja obiektów jest podstawowym i krytycznie ważnym polem w nowoczesnej wizji komputerowej. Odgrywa ona kluczową rolę w aplikacjach wymagających obszernych składników wizualnych, takich jak lokalizacja i identyfikacja obiektów, oraz wymaga segmentacji w czasie rzeczywistym, szybkiej i dokładnej. To znaczenie sprawiło, że segmentacja obiektów stała się nieustannie gorącym tematem badawczym, z istotną pracą wykonaną w obszarach takich jak segmentacja instancji, segmentacja semantyczna i segmentacja panoptyczna.
Wraz z ewolucją segmentacji obiektów, model Segment Anything (SAM) pojawił się jako godny uwagi narzędzie, prezentując wyjątkowe zdolności segmentacyjne i szybko przyjęty w różnych aplikacjach wizji komputerowej. Ramy korzystające z pre-trenowanego architektury SAM osiągnęły imponujące wyniki w zadaniach wizji dolnego poziomu. Jednak pomimo swoich zdolności i wysokiej dokładności w zadaniach segmentacji, złożona i ciężka architektura SAM wymaga znacznej mocy obliczeniowej, utrudniając jej wdrożenie na urządzeniach z ograniczonymi możliwościami obliczeniowymi.
W celu rozwiązania wyzwań obliczeniowych SAM, badacze opracowali Tiny Segment Anything Model (TinySAM), który zachowuje wyniki zero-shot oryginalnej ramy, będąc jednocześnie bardziej lekkim. TinySAM wykorzystuje pełnoetapową destylację wiedzy z online hard promptami, aby stworzyć bardziej wydajny model ucznia. Post-trenowanie kwantyzacji dostosowane do zadań segmentacji promptowalnych dalej redukuje potrzeby obliczeniowe. Dodatkowo, projekt TinySAM ma na celu hierarchiczną segmentację, która niemal podwaja szybkość inferencji bez kompromisowania wydajności.
Ten artykuł zagłębia się w ramę TinySAM, eksplorując jej podstawowe zasady, architekturę i wyniki w porównaniu z innymi ramami segmentacji o wysokiej wydajności. Przejdźmy do szczegółów tych aspektów.
TinySAM : Wydajny model Segment Anything
Model Segment Anything przyczynił się do szybkiego postępu kilku aplikacji wizji komputerowej dzięki swoim godnym uwagi zdolnościom segmentacyjnym, połączonym z ogromnym zestawem danych segmentacji, który zawiera ponad 11 milionów obrazów i ponad miliard maski obrazu. Dzięki swoim wyjątkowym wynikom w zadaniach segmentacji obiektów o dowolnych kategoriach i kształtach, służy jako podstawa dla ram wykonujących zadania dolnego poziomu, takie jak inpainting obrazu, śledzenie obiektów, wizja 3D i więcej. Dodatkowo, model Segment Anything oferuje również godne uwagi wyniki segmentacji zero-shot, które przyniosły korzyści wrażliwym branżom, które pracują z ograniczoną ilością danych, w tym badaniom medycznym i obrazowaniu medycznym.
Chociaż nie można kwestionować godnych uwagi zdolności segmentacyjnych oferowanych przez model Segment Anything w szerokim zakresie zadań wizji dolnego poziomu, ma on swoje wady pod względem złożonej architektury, wysokich wymagań obliczeniowych i znacznych kosztów operacyjnych. Dla systemu działającego na nowoczesnej karcie graficznej, czas inferencji modelu SAM może wynieść nawet do 2 sekund dla obrazu 1024×1024. W rezultacie jest to bardzo trudne zadanie, aby wdrożyć aplikacje SAM na urządzeniach z ograniczonymi możliwościami obliczeniowymi. Aby pokonać tę przeszkodę, ostatnie prace, takie jak MobileSAM i FastSAM, próbowały opracować model SAM o większej wydajności obliczeniowej. Ramy MobileSAM próbują zastąpić ciężki komponent w kodercie obrazu architekturą ramy TinyViT, podczas gdy model FastSAM przenosi zadanie segmentacji do zadania segmentacji instancji z tylko jedną kategorią z modelem YoloV8. Chociaż te metody osiągnęły pewien poziom sukcesu w zakresie redukcji wymagań obliczeniowych, nie były w stanie utrzymać wyników, szczególnie w zadaniach zero-shot dolnego poziomu.
TinySAM lub Tiny Segment Anything Model jest próbą redukcji wymagań obliczeniowych bieżącego modelu SAM bez utraty wyników w zadaniach zero-shot dolnego poziomu. Dodatkowo, ramy TinySAM proponują wdrożenie pełnoetapowej destylacji wiedzy w swojej architekturze w celu poprawy zdolności kompaktowej sieci ucznia. Ramy TinySAM destylują sieć ucznia w sposób end-to-end pod nadzorem sieci nauczyciela z różnych etapów. Aby dalej poprawić wyniki, ramy pozwalają na proces destylacji, aby zwrócić większą uwagę na trudne przykłady, wdrażając dodatkową strategię online hard prompt sampling. Dodatkowo, aby dalej redukować koszty obliczeniowe, ramy TinySAM eksponują zadania segmentacji promptowalnych na składniki post-trenowania kwantyzacji.
Główna część wymagań obliczeniowych modelu Segment Anything wynika z faktu, że model generuje ogromne maski z punktów promptu siatki, aby wysegmentować wszystko na obrazie. Aby pokonać wymagania obliczeniowe tej strategii segmentacji, ramy TinySAM wykorzystują hierarchiczną strategię segmentacji wszystkiego, która niemal podwaja szybkość inferencji bez utraty dokładności. Z tymi metodami wdrożonymi w swojej architekturze, ramy TinySAM oferują znaczną redukcję wymagań obliczeniowych i ustanawiają nowe limity dla wydajnych zadań segmentacji.
TinySAM : Architektura i Metodologia
Przed omówieniem architektury i metodologii ram TinySAM, ważne jest, aby najpierw przyjrzeć się jego poprzednikowi, ramie SAM. Odkąd został wprowadzony, model Segment Anything wykazał się wyjątkową wydajnością, wszechstronnością i zdolnościami generalizacji w szerokim zakresie zadań wizji dolnego poziomu i segmentacji obiektów.
W swojej istocie, model SAM składa się z trzech podsieci: kodera promptu, kodera obrazu i dekodera maski. Głównym celem kodera promptu jest zakodowanie maski o dowolnym kształcie, punktów wejściowych i pudełek, a także tekstu o informacjach pozycyjnych. Koder obrazu jest ciężką siecią opartą na transformatorze wizji, która wyodrębnia obraz wejściowy w postaci wektorów. Model wykorzystuje różne sieci do przetwarzania geometrycznych i tekstowych promptów. W końcu, dekoder maski zawiera dwukierunkowy transformator, który otrzymuje dane wyjściowe kodera promptu i kodera obrazu w celu wygenerowania ostatecznej prognozy maski. Z zestawem danych, ramy SAM wykazują się wyjątkowymi, wysokiej jakości zdolnościami segmentacyjnymi dla obiektów niezależnie od ich kształtu i kategorii. Dodatkowo, model Segment Anything wykazuje się wyjątkową wydajnością i efektywnością w zadaniach zero-shot dolnego poziomu, w tym proponowaniu obiektów, wykrywaniu krawędzi, przewidywaniu maski na podstawie tekstu i segmentacji instancji. Dzięki swoim wysokiej jakości zdolnościom segmentacyjnym i elastycznym ofertom promptów, ramy SAM tworzą podstawę dla aplikacji wizji. Z tym powiedzianym, nie można zignorować wysokich wymagań obliczeniowych tradycyjnej architektury SAM z dużą liczbą parametrów, co sprawia, że jest to bardzo trudne zadanie dla deweloperów, aby wdrożyć aplikacje oparte na SAM na urządzeniach z ograniczonymi zasobami.
Destylacja wiedzy
Destylacja wiedzy jest ważnym podejściem do poprawy wyników sieci kompaktowych podczas fazy trenowania. Metoda destylacji wiedzy, która wykorzystuje dane wyjściowe sieci nauczyciela do nadzorowania trenowania sieci ucznia o mniejszej wadze. Metoda destylacji wiedzy może być podzielona na dwie podkategorie: destylacja dla cech pośrednich i destylacja dla danych wyjściowych sieci, przy czym większość badań nad destylacją wiedzy koncentruje się na zadaniach klasyfikacji obrazów.
Poniższy rysunek przedstawia ogólną architekturę ram TinySAM wraz z przeglądem wyników w zadaniach segmentacji instancji zero-shot.

W pierwszym etapie, ramy TinySAM wdrażają destylację wiedzy zaprojektowaną specjalnie dla ram SAM, a aby aktywować proces destylacji, model wykorzystuje dodatkową strategię online hard prompt sampling, aby wydobyć trudne informacje do sieci ucznia z sieci nauczyciela. W drugim etapie, ramy TinySAM adaptują metodę post-trenowania kwantyzacji do zadań segmentacji promptowalnych i wdrażają ją w sieci ucznia o mniejszej wadze. W końcu, model wdraża hierarchiczną strategię segmentacji wszystkiego, która niemal podwaja szybkość inferencji bez utraty dokładności.
Pełnoetapowa destylacja wiedzy
Jak wcześniej wspomniano, model Segment Anything składa się z trzech podsieci w swojej istocie: kodera promptu, kodera obrazu i dekodera maski, przy czym koder obrazu jest siecią opartą na transformatorze wizji o wysokich wymaganiach obliczeniowych. Aby rozwiązać ten problem, ramy MobileSAM zastąpiły transformator wizji siecią TinyViT, chociaż substytucja nie była skuteczna ze względu na znaczny spadek wyników. Aby uniknąć utraty wyników, ramy TinySAM wdrażają pełnoetapową destylację wiedzy, która prowadzi sieć ucznia o mniejszej wadze od poziomu uczenia do wielu poziomów wiedzy. Dodatkowo do konwencjonalnej straty między etykietami ground-truth a wynikami przewidywanymi, ramy TinySAM wprowadzają wiele strat destylacji w różnych etapach, jak pokazano na poniższym rysunku.

Kwantyzacja
Kwantyzacja modelu jest popularnym podejściem w ramach wizji komputerowej i jest wykorzystywana do kompresji modelu przez kwantyzację wag lub aktywacji z wyższej do niższej przepustowości w celu redukcji złożoności obliczeniowej i wymagań pamięci bez znacznego pogorszenia jakości wyjściowej.
Głównym celem kwantyzacji w TinySAM jest rzutowanie tensora zmiennoprzecinkowego na tensor całkowitoliczbowy za pomocą czynnika skalującego, przy czym miara odległości między mnożeniem macierzy a macierzą kwantyzowaną odgrywa kluczową rolę w optymalizacji czynnika skalującego.
Hierarchiczna segmentacja wszystkiego
Model Segment Anything proponuje wykorzystanie automatycznego generatora maski, który próbkuję punkty jako siatkę, aby wysegmentować wszystko na obrazie. Jednak wykazano, że wykorzystanie gęstej siatki punktów prowadzi do zbyt drobiazgowych wyników segmentacji i proces ten wymaga ogromnych wymagań obliczeniowych i generuje wysokie koszty operacyjne. Dodatkowo, z jednej strony, zbyt wiele punktów próbkowania dla pełnego obiektu może skutkować tym, że różne sekcje obiektu są segmentowane niepoprawnie jako osobne maski, podczas gdy z drugiej strony, czas kosztu inferencji trybu wszystkiego jest głównie spowodowany tym, że koder obrazu został znacznie zredukowany. Aby zredukować koszt operacyjny trybu wszystkiego, ramy TinySAM wykorzystują hierarchiczną strategię generowania maski, przy czym różnica w strategii w porównaniu z oryginalnym modelem SAM jest przedstawiona na poniższym rysunku.

Inaczej niż podejście wdrożone w oryginalnym modelu SAM, model TinySAM wykorzystuje tylko 25% punktów na każdej stronie, wykorzystując tym samym tylko 1/16 dostępnych punktów w ustawieniu oryginalnym. Model inferuje dekoder maski i koder promptu z tymi promptami i otrzymuje wynik. Model filtruje następnie niektóre maski z ufnością przekraczającą pewien próg, a maski odpowiadające lokalizacjom jako obszary potencjalnych ostatecznych prognoz. Ponieważ model traktuje te obszary jako wynik segmentacji instancji o wysokiej ufności, nie ma potrzeby generowania punktów promptu. Strategia nie tylko pomaga w zapobieganiu zbyt drobiazgowemu podziałowi obiektu, ale także pomaga w znacznym obniżeniu kosztów operacyjnych i wymagań obliczeniowych. Ramy łączą i przetwarzają wyniki tych dwóch rund, aby uzyskać ostateczne maski.
TinySAM : Eksperymenty i wyniki
Aby przyspieszyć proces destylacji, ramy TinySAM obliczają i przechowują wektorowania obrazu z sieci nauczyciela z wyprzedzeniem, dzięki czemu nie jest konieczne, aby model obliczał ciężki koder obrazu sieci nauczyciela wielokrotnie podczas fazy trenowania. Dla post-trenowania kwantyzacji, ramy TinySAM kwantyzują wszystkie warstwy mnożenia macierzy, warstwy konwolucyjne, warstwy dekonwolucyjne i warstwy liniowe, przy czym model wykorzystuje współczynniki skalujące kanałowe dla warstw konwolucyjnych i dekonwolucyjnych. Dla warstw mnożenia macierzy, model wdraża współczynniki skalujące głowowe, podczas gdy dla warstw liniowych, model wdraża współczynniki skalujące liniowe. Model przeprowadza również ocenę na zadaniach dolnego poziomu zero-shot.
Dla zadań segmentacji instancji w ustawieniu zero-shot, ramy TinySAM podążają za ustawieniami eksperymentalnymi swojego poprzednika, modelu Segment Anything, i wykorzystują wyniki wykrywania obiektów ramy Vision Transformer Det-H lub VitDet-H do segmentacji instancji. Jak pokazano na poniższym rysunku, ramy TinySAM przewyższają istniejące metody pod względem dokładności segmentacji instancji i wyniku FLOPs.

Dodatkowo, jakościowa wydajność modelu TinySAM jest przedstawiona na poniższym rysunku dla segmentacji instancji zero-shot, przy czym zielony prostokąt reprezentuje prompty pudełek.

W zakresie oceny maski punktów ważnych zero-shot, model TinySAM znacznie przewyższa ramy MobileSAM na różnych zestawach danych i dostarcza znacznie lepsze wyniki, gdy mniejsza liczba punktów jest wykorzystywana jako prompty przez ramy.

Dodatkowo, poniższa tabela podsumowuje wyniki przyspieszenia i redukcji wymagań obliczeniowych osiągniętych w wyniku strategii trybu wszystkiego hierarchicznego. Model stosuje ten sam współczynnik stabilności i wartość progową z różnymi strategiami dla uczciwego porównania, a wyniki są podsumowane poniżej.

Podsumowanie
W tym artykule omówiliśmy TinySAM, proponowaną ramę, która przekracza granice dla zadań segmentacji, i uzyskuje wydajną architekturę modelu z mniejszymi wymaganiami obliczeniowymi i dokładnością porównywalną z oryginalną ramą SAM. TinySAM lub Tiny Segment Anything Model zachowuje i dostarcza wyniki zero-shot oryginalnej ramy. Ramy TinySAM najpierw wdrażają pełnoetapową destylację wiedzy, która wykorzystuje online hard prompty, aby destylować model ucznia o mniejszej wadze. Ramy TinySAM następnie adaptują post-trenowanie kwantyzacji do zadań segmentacji promptowalnych, co dalej pomaga w redukcji wymagań obliczeniowych. Dodatkowo, ramy mają na celu hierarchiczną segmentację wszystkiego, co niemal podwaja szybkość inferencji bez wpływu na wyniki.












