1) Enkoder obrazu (np. hierarchiczny ViT) koduje klatke. 2) Uzytkownik podaje podpowiedz (punkt, ramka, maska) na wybranej klatce. 3) Dekoder masek generuje maske wskazanego obiektu. 4) W wideo modul pamieci strumieniowej przechowuje cechy obiektu i propaguje maske na kolejne klatki, umozliwiajac korekty dodatkowymi podpowiedziami.
Klasyczna segmentacja wymaga trenowania pod konkretne klasy obiektow i osobnych modeli do sledzenia. PVS pozwala interaktywnie wyodrebnic dowolny obiekt (zero-shot) i sledzic go w wideo jednym, zunifikowanym modelem.
Koduje klatke do reprezentacji cech (np. hierarchiczny ViT Hiera).
Oficjalna
Koduje podpowiedzi (punkty, ramki, maski) uzytkownika.
Oficjalna
Generuje maske pikselowa wskazanego obiektu.
Przechowuje cechy obiektu miedzy klatkami i propaguje maski w wideo.
Oficjalna
Dlugie przeslony lub szybkie zmiany wygladu moga powodowac utrate obiektu.
Segmentacja i sledzenie wielu obiektow rownoczesnie zwieksza koszt obliczeniowy.
Meta wprowadza Segment Anything Model (SAM) i zadanie promptowalnej segmentacji dla obrazow (zero-shot).
SAM 2 uogolnia PVS na wideo z pamiecia strumieniowa, laczac segmentacje i sledzenie w czasie rzeczywistym.
Złożoność czasowa: ~O(1) na klatke (przetwarzanie strumieniowe). Złożoność przestrzenna: O(bank pamieci + cechy klatki).
Przepustowosc ogranicza koszt enkodera obrazu na klatke oraz rozmiar/obsluga banku pamieci przy dlugich sekwencjach i wielu obiektach.
Punkty, ramki lub maski jako wejscie interaktywne.
Wieksze enkodery (np. Hiera-L) daja wyzsza jakosc kosztem szybkosci.
Ile poprzednich klatek/obiektow pamieta model.
Wynik zalezy od podanych podpowiedzi i klatki.
Segmentacja pojedynczej klatki jest rownolegla; propagacja w wideo jest sekwencyjna.
Enkoder ViT i inferencja na klatke korzystaja z akceleratorow GPU; mniejsze warianty dzialaja tez na slabszym sprzecie.