Dlaczego różnica skali Gaussa w skali kosmicznej jest niezmienna?

15

Będę korzystać z funkcji o stałej skali przekształcić algorytm jako przykład. SIFT tworzy przestrzeń skali na podstawie skalowanego filtrowania obrazu gaussowskiego, a następnie oblicza różnicę gaussów w celu wykrycia potencjalnych punktów zainteresowania. Punkty te są zdefiniowane jako lokalne minima i maksima dla różnicy gaussów.

Twierdzi się, że takie podejście jest niezmienne w skali (wśród innych zagadkowych niezmienników). Dlaczego to? Nie jest dla mnie jasne, dlaczego tak jest.

woda
źródło
Nie wiem, co to jest SIFT, znalazłem to na wiki en.wikipedia.org/wiki/Scale-invariant_feature_transform . „Metoda generowania cech obrazu przez Lowe'a przekształca obraz w dużą kolekcję wektorów cech, z których każdy jest niezmienny dla translacji, skalowania i obrotu obrazu, częściowo niezmienny dla zmian oświetlenia i odporny na lokalne zniekształcenie geometryczne.”. Czy to jest wytłumaczenie?
niaren
Tak, właśnie o tym mówię
woda
SIFT wykorzystuje teorię skali przestrzeni. Jednak nie rozumiem, co należy rozumieć przez niezmienność „skali” w tej teorii. Możesz spróbować przeczytać o tym artykuły Tony'ego Lindeberga: csc.kth.se/~tony/earlyvision.html
maximus

Odpowiedzi:

7

Termin „niezmiennik skali” oznacza tutaj, co następuje. Załóżmy, że masz obraz I i wykryłeś cechę (czyli punkt zainteresowania) f w pewnym miejscu (x, y) i na pewnym poziomie skali s . Powiedzmy teraz, że masz obraz I ' , który jest skalowaną wersją I (na przykład próbkowania w dół). Następnie, jeśli twój detektor cech jest niezmienny w skali, powinieneś być w stanie wykryć odpowiednią cechę f ' w I' w odpowiedniej lokalizacji (x ', y') i odpowiedniej skali s ' , gdzie (x, y, s) i (x ', y', s ') są powiązane przez odpowiednią transformację skalowania.

Innymi słowy, jeśli wykrywacz niezmiennik skali wykrył punkt funkcji odpowiadający czyjejś twarzy, a następnie powiększysz lub pomniejszysz kamerę w tej samej scenie, nadal powinieneś wykryć punkt funkcji na tej twarzy.

Oczywiście, chciałbyś również mieć „deskryptor funkcji”, który pozwoliłby ci dopasować dwie funkcje, a dokładnie to daje SIFT.

Tak więc, ryzykując dalsze zamieszanie, istnieją tutaj dwie rzeczy, które są niezmienne w skali. Jednym z nich jest wykrywacz punktów zainteresowania DoG, który jest niezmienny w skali, ponieważ wykrywa określony typ cech obrazu (plamy) niezależnie od ich skali. Innymi słowy, wykrywacz DoG wykrywa plamy o dowolnej wielkości. Inną rzeczą niezmienną dla skali jest deskryptor elementu, który jest histogramem orientacji gradientu, który pozostaje mniej więcej podobny dla tej samej cechy obrazu pomimo zmiany skali.

Nawiasem mówiąc, różnica Gaussów jest tutaj stosowana jako przybliżenie do filtru Laplaciana-Gaussa.

Dima
źródło
Wziąłeś trochę informacji z teorii przestrzeni kosmicznej. Czy możesz opisać wyjaśnienie, co dokładnie dzieje się w porównaniu z dwoma sygnałami przy użyciu teorii skali-przestrzeni? Lindeberg w swoich artykułach: csc.kth.se/~tony/earlyvision.html podał kilka przykładów wykrywania obiektów blob itp. W jaki sposób pobieranie pochodnej przez parametr skali pomaga w niezmienności skali?
maximus
Masz rację. Próbowałem jedynie opisać intuicję stojącą za teorią przestrzeni i skali. To, o co pytasz, powinno być osobnym pytaniem. :) Myślę, że mówisz o tym, że pochodne pobierane w różnych skalach muszą być odpowiednio znormalizowane. Kiedy przechodzisz do zgrubnych skal, sygnał jest wygładzany, więc amplituda jest zmniejszona. Oznacza to, że wielkość pochodnych jest również zmniejszona. Dlatego, aby porównać odpowiedź pochodną między skalami, należy pomnożyć je przez
Dima
odpowiednia moc sigma: pierwsza pochodna przez sigma, druga przez sigma ^ 2 itd.
Dima,
@maximus, ups, I fogot the @. :)
Dima,
Dziękuję za odpowiedź! Pomogło mi to, ale wciąż są pytania, które zadałem tutaj jako inne pytanie: dsp.stackexchange.com/questions/570/…
maximus
5

Różnica gaussów nie jest niezmienna w skali. Niezmiennik skali SIFT (do ograniczonego stopnia), ponieważ szuka ekstremy DoG w przestrzeni skali - to jest znajdowanie skali w DoG ekstremalnej zarówno przestrzennie, jak i względem sąsiednich skal. Ponieważ wyjściowy DoG jest uzyskiwany dla tej stałej skali (która nie jest funkcją skali wejściowej), wynik jest niezależny od skali, czyli niezmienny dla skali.

mirror2image
źródło
1
Dobrze. Ale szuka tylko ekstremów wzdłuż sąsiednich skal. To nie wszystkie łuski, chyba że się mylę. Nawet jeśli to wszystko było skalą, nadal nie jest jasne, w jaki sposób jest niezależny od skali
woda
@water, dokładnie tak. Nie chcesz ekstremum we wszystkich skalach, chcesz ekstremów lokalnych. Umożliwia to wykrycie zagnieżdżonych struktur, np. Małego ciemnego koła w dużym jasnym okręgu na szarym tle.
Dima,
DoG jest używane zamiast LoG, ponieważ obliczanie DoG jest szybsze.
maximus