Rozumienie wideo stawia dwa trudne pytania jednocześnie. Co znajduje się w kadrze i dokąd zmierza? Systemy wizji komputerowej tradycyjnie odpowiadały na nie po kolei. Najpierw dokonują segmentacji, wycinając obiekty z pikseli. Następnie zajmują się śledzeniem, łącząc te obiekty w czasie. Ten podział powoduje tarcia. Błędy z pierwszego etapu przenikają do drugiego. Granice się przesuwają. Tożsamości się mylą. Gdy ludzie lub pojazdy nachodzą na siebie, cały pipeline ulega zablokowaniu.
Niedawne prace nad sformułowaniami typu multi-cut oferują inną ścieżkę. Zamiast łączyć dwa modele w łańcuch, traktują segmentację i śledzenie jako pojedynczy problem optymalizacyjny. Rezultatem są dokładniejsze granice, mniej błędnych zmian tożsamości oraz pipeline, który zachowuje spójność nawet w zatłoczonych scenach.
Problem z pipeline'ami
Większość systemów produkcyjnych najpierw uruchamia detekcję lub segmentację, a następnie przekazuje wynik do modułu śledzenia. To właśnie podczas tego przekazywania pojawiają się problemy. Model segmentacji trenowany na nieruchomych obrazach może wygenerować maskę, która w dziesiątej klatce jest nieco za duża, a w jedenastej nieco za mała. Tracker, który bierze pod uwagę jedynie środki ramek lub odległości osadzeń (embedding distances), musi zdecydować, czy te dwie maski należą do tego samego obiektu. Nie ma on jednak możliwości, aby zareagować i poinformować segmentator, że granica wygląda błędnie. Te dwa systemy ze sobą nie rozmawiają.
Ten podział staje się kosztowny, gdy obiekty wchodzą ze sobą w interakcję. Wyobraźmy sobie przejście dla pieszych, gdzie ludzie przeciskają się między sobą, lub ramię robota sięgające nad stosem pudeł po konkretną część. W takich momentach tradycyjne trackery polegają na modelach ruchu lub cechach wyglądu, aby zachować tożsamość. Gdy przesłonięcie (occlusion) trwa dłużej niż kilka klatek, te wskazówki zawodzą. Tracker albo tworzy nową tożsamość dla tego samego obiektu, albo przypisuje istniejącą tożsamość innemu obiektowi. W międzyczasie segmentator nadal generuje maski, zupełnie nieświadomy, że etykiety uległy przesunięciu. Naprawa tego błędu wymaga ciężkiego postprocessingu lub ręcznej anotacji, co zaprzecza celowi automatyzacji.
Tradycyjne modele często tracą orientację właśnie wtedy, gdy obiekty nachodzą na siebie. Błędy te nie są przypadkowe; mają charakter strukturalny. Pipeline, który traktuje czas jako kwestię drugorzędną, nieuchronnie będzie miał problemy z zachowaniem ciągłości.
Co oferuje podejście multi-cut
Sformułowanie multi-cut zaciera granicę między segmentacją a śledzeniem. Zamiast generować sekwencję niepowiązanych masek, a następnie próbować je zszywać, metoda ta buduje graf obejmujący zarówno przestrzeń, jak i czas. Każdy potencjalny obszar obiektu w każdej klatce staje się węzłem. Krawędzie łączą regiony, które mogą należeć do tej samej encji, zarówno w obrębie pojedynczej klatki, jak i między kolejnymi klatkami. Algorytm znajduje następnie optymalny sposób przecięcia tych krawędzi tak, aby pozostałe komponenty spójne tworzyły spójne obiekty poruszające się naturalnie w filmie.
Ponieważ decyzja ma charakter globalny, korekta granicy w piętnastej klatce może być inspirowana danymi z piątej klatki. Jeśli dwie osoby przetną swoje ścieżki, sformułowanie to nie musi zgadywać wyłącznie na podstawie prędkości. Bierze pod uwagę wygląd, kształt, ruch i spójność granic jednocześnie. Jakość maski i jakość ścieżki (track) są optymalizowane według tego samego celu. Gdy solver przypisuje tożsamość, sprawdza już, czy odpowiadające jej piksele mają sens pod względem przestrzennym. To właśnie to sprzężenie pozwala frameworkowi odzyskać spójność po przesłonięciach, które zniszczyłyby podejście oparte na pipeline'ach.
Bezpośrednie powiązanie danych wizualnych z logiką śledzenia zamyka pętlę sprzężenia zwrotnego. Segmentacja dostarcza informacji do śledzenia, a ograniczenia śledzenia porządkują segmentację. Uzyskujesz dokładniejsze wyniki przy mniejszej liczbie ręcznych korekt, ponieważ system nie zgaduje już w izolacji na każdym etapie.
Zastosowania praktyczne
Korzyści z ujednoliconego sformułowania nie są tylko teoretyczne. Mają one znaczenie w trzech konkretnych obszarach, które stale pojawiają się podczas wdrażania systemów.
Spójność klatka po klatce. W analityce sportowej sylwetka sportowca musi pozostać precyzyjna, aby można było niezawodnie wyodrębnić parametry biomechaniczne, takie jak długość kroku czy kąty w stawach. Jeśli segmentacja "drży" niezależnie od śledzenia, wynikowa kinematyka staje się zaszumiona. Ujednolicone sformułowanie eliminuje to drżenie, traktując obrys sportowca jako jeden ciągły obiekt w całym klipie.
Zatłoczone sceny. Aplikacje do nadzoru i liczenia tłumu tracą na dokładności, gdy ludzie gromadzą się blisko siebie. Osobne trackery często łączą tożsamości lub tworzą widmowe obiekty w szczelinach między ciałami. Dzięki bezpośredniemu powiązaniu dowodów wizualnych z logiką śledzenia, podejście multi-cut lepiej utrzymuje tożsamość obiektów w zatłoczonych scenach. Osoby pozostają odrębne nawet wtedy, gdy ich bounding boxes niemal całkowicie na siebie nachodzą.
Integralność granic. W robotyce systemy typu pick-and-place potrzebują dokładnych konturów obiektów, aby planować chwyty. Model segmentacji, który ignoruje kontekst czasowy, może uwzględnić część tła lub uciąć róg przedmiotu. Gdy segmentacja i śledzenie mają wspólny cel, model uczy się, że granice powinny być stabilne w czasie. Powstałe maski lepiej dopasowują się do rzeczywistych krawędzi, co oznacza mniej nieudanych chwytów i mniejszą potrzebę stosowania zachowawczych marginesów bezpieczeństwa.
Budowanie lepszych potoków (pipelines)
Dla inżynierów pracujących w analizie wideo lub robotyce, ta zmiana ma konkretne implikacje dla sposobu projektowania architektury systemu.
Przestań myśleć o detekcji, segmentacji i śledzeniu jako o trzech oddzielnych mikrousługach, które przekazują tensory na taśmociągu. Szukaj zamiast tego frameworków, które oferują wspólny cel. Jeśli budujesz własny potok (pipeline), rozważ, czy Twoja struktura grafu może kodować zarówno powinowactwo przestrzenne, jak i ciągłość czasową w tej samej funkcji straty (loss). Nawet jeśli nie implementujesz samodzielnie pełnego solvera multi-cut, zasada ta nadal obowiązuje. Dodaj więzy, które powiążą wygląd obiektu w czasie z jakością maski w każdej klatce.
Testuj agresywnie pod kątem okluzji. Wideo demonstracyjne z odizolowanymi obiektami poruszającymi się według prostych wzorów nie ujawni słabości podejścia opartego na potokach. Zbieraj sekwencje, w których cele nachodzą na siebie, gdzie oświetlenie zmienia się w trakcie okluzji i gdzie obiekty pojawiają się ponownie zza krawędzi ekranu. To właśnie te momenty odróżniają posklejany potok od prawdziwie zunifikowanego systemu.
Starannie przygotuj strategię adnotacji. Modele wspólne często wymagają innych struktur ground truth niż czyste zbiory danych do segmentacji lub samego śledzenia. Możesz potrzebować etykietowania tożsamości instancji w sposób spójny w klatkach, a nie tylko klas pikseli dla każdego obrazu. Inwestycja w takie etykietowanie na początku zwróci się później w postaci mniejszej liczby ręcznych poprawek podczas wdrażania.
Kluczowy wniosek
Traktowanie segmentacji i śledzenia jako niezależnych zadań miało sens, gdy moc obliczeniowa i pojemność modeli były ograniczone. Już nie ma to sensu. Sformułowanie multi-cut pokazuje, że te dwa zadania to w rzeczywistości jedno: znajdowanie spójnych obiektów, które trwają w czasie. Rozwiązując je razem, otrzymujesz maski respektujące ruch oraz tracki respektujące kształt. Wynikiem jest potok rozumienia wideo, który redukuje błędy między klatkami, tworzy czystsze granice wokół poruszających się obiektów i zachowuje dokładność w chaotycznej rzeczywistości okluzji i tłumów.
