Deskryptory niezmienników skali i obrotu

16

Czy można wymienić niektóre deskryptory cech niezmienników skali i rotacji do zastosowania w wykrywaniu cech

Aplikacja służy do wykrywania samochodów i ludzi na wideo zarejestrowanym przez UAV przy użyciu klasyfikatora wieloklasowego.

Do tej pory patrzyłem na SIFT i MSER (który jest niezmiennikiem afinicznym). Patrzyłem również na LESH, LESH opiera się na lokalnym modelu energetycznym, ale jest obliczany w sposób, który nie jest niezmienny obrotowo, starałem się wymyślić sposób wykorzystania energii lokalnej, aby zbudować niezmiennie obrotowo deskryptor funkcji, czytam tutaj Jakie są darmowe alternatywy dla SIFT / SURF, które można wykorzystać w aplikacjach komercyjnych? , że „jeśli przypiszesz orientację do punktu zainteresowania i odpowiednio obrócisz łatkę obrazu, otrzymasz za darmo niezmienność rotacji”, ale nie wiem, czy to w ogóle ulżyło lub w jaki sposób mogę zastosować to do mojego problemu, każda pomoc byłaby doceniam, dzięki

Jono Brogan
źródło
Użyj ORB (Oriented FAST i Rotated BRIEF) z biblioteki OpenCV.
Harsh Wardhan

Odpowiedzi:

9

Jeśli chodzi o alternatywy dla SIFT / SURF, pytanie, które łączysz, zapewnia bardzo dobre odpowiedzi.

Mogłem przeczytać jeszcze dwa pytania:

  • „jak mogę zbudować użyteczny (np. niezmienny rotacja) deskryptor funkcji”?
  • „w odniesieniu do stwierdzenia z powiązanego pytania, w jaki sposób osiąga swobodną rotację niezmienniczą?”

Deskryptory cech budynków

To ważny temat badawczy. Dobre deskryptory funkcji nie są czymś, co każdy może zbudować po południu. Ludzie publikują artykuły, gdy pomyślnie modelują deskryptory funkcji o pożądanych właściwościach. Jest to powód, dla którego obecnie używa się tylko garstki najnowocześniejszych deskryptorów i właśnie to radzę: znaleźć deskryptory funkcji odpowiednie dla twoich potrzeb .

Osiągnięcie niezmienności rotacyjnej „za darmo”

0|black->gray->white||white->gray->black|-9090

W ten sposób zawsze obliczysz deskryptor na łatce obrazu o tej samej dominującej orientacji (obrócona łata), dzięki czemu uzyskasz niezmienność rotacyjną.

Penelopa
źródło
4

Innym sposobem na uzyskanie niezmienności obrotowej za darmo jest wybranie obiektów, które są niezmiennie obrotowe. Na przykład okrąg lub pierścień jest niezmienny dla obrotów.

Ekstraktor funkcji : wykrywanie krawędzi przebiegu. Dla każdego sąsiedztwa NxNpikseli obliczyć histogram 2D ​​kierunku i krawędzi. Znajdź wszystkie punkty, które mają wysoką całkowitą wielkość i duży kąt rozproszenia . Usuń wszystkie punkty, które nie mają symetrii promieniowej.

Deskryptor funkcji : Znajdź środek każdego okrągłego obiektu. Ponieważ obiekt jest okrągły, nie ma dominującego kąta gradientu. Wszystkie kąty są równe. Zatem profil promieniowy (suma wartości pikseli we współrzędnych biegunowych) jest deskryptorem niezmiennym kąta.


Nawiasem mówiąc, jest to jeden z powodów, dla których fiduciale są wytwarzane jako koła na obwodach elektrycznych:

wprowadź opis zdjęcia tutaj

Andrey Rubshtein
źródło
mówimy o KeyPoint (cecha) deskryptorów . Gdybyśmy rozmawiali o funkcjach (punktach zainteresowania) , przydatne może być wykrywanie okrągłych łatek - są one niezmiennie rotacyjne w połączeniu z każdym deskryptorem. Ale deskryptor obliczony na kołowej łatce nie jest - biały okrąg z poziomą średnicą w kolorze czarnym, a z pionowym stworzyłby bardzo różne deskryptory, gdyby nie zastosowano metody niezmiennej obrotowo
penelopa
@penelope, dlaczego nie? Rozważmy następujący deskryptor - miniaturę łatki, i porównamy go z innymi deskryptorami ze znormalizowaną korelacją krzyżową. W ten sposób nie można pomylić go z innymi przedmiotami.
Andrey Rubshtein
Przepraszam, nie rozumiem, co rozumiesz przez „miniaturę łatki”, czy możesz to wyjaśnić? A deskryptor: znormalizowana korelacja korsa twojej łaty sprawia, że ​​jest ona niezmienna rotacyjnie, a nie fakt, że twoja łatka była pierścieniem lub okręgiem.
penelopa,
@penelope, myślę, że teraz nie byłem wystarczająco jasny. Spróbuję ją rozwinąć jutro. Dziękuję za komentarze.
Andrey Rubshtein
Nie mogę się doczekać :)
penelopa,
1

Wolę przyjrzeć się KAZE / AKAZE, które osiągają równie dobre wyniki przy znacznym przyspieszeniu. Przypadki deformacji są również tolerowane. OpenCV niedawno uzyskał implementację poprzez GSoC 2014. Można go znaleźć tutaj .

Tolga Birdal
źródło
1

Jeśli odwzorujesz lokalną łatę wokół punktu cechy na współrzędne log-biegunowe (z punktem początkowym w punkcie zainteresowania), zmiany skali odpowiadają translacji wzdłuż osi log-radial, a obroty odpowiadają translacjom (z zawijaniem) wzdłuż osi kątowej. Jeśli następnie obliczysz dwuwymiarową transformatę Fouriera, translacje w kierunkach promieniowym i kątowym stają się przesunięciami fazowymi w dziedzinie częstotliwości. Jeśli następnie obliczysz wartość bezwzględną transformacji Fouriera, faza znika całkowicie, a zmiany skali i obroty oryginalnej łatki obrazu stają się niezauważalne. Zatem wartość bezwzględna przekształcenia Fouriera 2D obrazu we współrzędnych log-poolar będzie deskryptorem obiektu.

Cóż, przynajmniej w teorii. W praktyce musisz ograniczyć promieniowe przedłużenie plastra. Oznacza to, że musisz wyciąć dużą część danych przed obliczeniem transformacji Fouriera (która jest tak naprawdę serią Fouriera), więc tłumaczenie wzdłuż logarytmicznego kierunku promieniowego we współrzędnych logarytmiczno-biegunowych nie odpowiada dokładnie przesunięcie fazowe w dziedzinie częstotliwości, więc metoda nie jest idealnie niezmienna w skali. Podejrzewam, że jeśli użyjesz jakiejś funkcji okna - bez nieciągłości - na współrzędnej log-promień i pomnożysz ją przez intensywność kolorów, problem ten zostanie nieco złagodzony.

Jednak deskryptor funkcji powinien nadal być idealnie niezmienny.

Odniesienie: Niezmienność skali bez wyboru skali

Cześć Żegnaj
źródło
0

Możesz także sprawdzić SZYBKO i ZNISZAĆ .

Libor
źródło
O ile szukałem, FAST jest tylko wykrywaczem używanym z wieloma różnymi kombinacjami deskryptorów. I FAST i BRISK są już wspomniane w pytaniu, które sam OP połączył, więc przypuszczam, że ma on informacje o istnieniu tych metod już.
penelopa,