Dotychczas wszystkie prace dotyczące segmentacji instancji obiektów na obrazie adresowały temat poprzez pipeline, który w dwóch etapach:
- wykrywa obiekty (detekcja bounding box-ów)
- w wykrytych prostokątach szuka właściwego obszaru utożsamianego z danym obiektem poprzez analizę cech pikseli znajdujących się w danym obszarze
Różne metody różnie podchodzą do tematu adresowana detekcji i analizy pikseli jednakże do tej pory nie było wielu przełomowych prac. Niedawno jednak ukazało się nareszcie coś nowego.
Algorytm nazwany DeepSnake adresuje temat analizy granicy obiektu poprzez deformację obwodu wyznaczonego oryginalnie na podstawie wykrytego bounding-box'a. Autorzy stosują operację konwolucji która deformuje obwód by otaczał obiekt jak najdokładniej. Oto wizualizacja z pracy:
"Circular Convolotion"
Punktem centralnym tego rozwiązania jest owa konwolucja, którą krótko postaram się przybliżyć; najpierw skorzystam z wizualizacji z oryginalnej pracy:
Zadaniem tego podejścia jest wyuczenie się cech obrazu znajdujących się na zadanym obwodzie, opisanym przez sekwencję wektorów punktów obwodu. Operacja ta działa dla zadanej odległości sąsiedztwa punktów. Wyuczone cechy zadanych fragmentów obwodu mają na celu zbudowanie bazy do wyliczenia ostatecznego położenia punktów obwodu poprzez regresję.
Wyniki
Autorzy chwalą się też wynikami, które są lepsze od istniejących modeli zarówno w kwestii dokładności jak i prędkości działania:
Przykładowy obraz wynikowy:
Kod i linki
Praca naukowa znajduje się tutaj:
Kod źródłowy (niedostępny w trakcie pisania tego posta) ma pojawić się na:
Sam nie mogę doczekać się publikacji kodu źródłowego tej referencyjnej implementacji, żeby zobaczyć potencjał w różnych rozwiązaniach...