Rozpoznawanie obiektów z użyciem znaczników Sztuczne znaczniki w lokalizacji obiektów (robotów) Aktywne znaczniki LED do lokalizacji w przestrzeni 2D (do 32): Znaczniki z biblioteki AruCo (do 1024) Id = 1 Id = 100 Id = 299 1 Rozpoznawanie obiektów z użyciem znaczników Rozpoznawanie i lokalizacja znaczników diodowych Binaryzacja obrazu (z wykorzystaniem siatki) w połączeniu z filtracją logiczną Wyznaczanie jasnych, spójnych grup pikseli spójnych w sensie 4-sąsiedztwa (algorytm etykietowania) (x,y) Klasyfikacja grup pikseli pod kątem liczności w odniesieniu do założonej wielkości reprezentującej szukaną grupę 8 diod Obliczenie przybliżonego środka znacznika i jego orientacji z użyciem momentów geometrycznych zwykłych i centralnych Znalezienie i określenie położenia trzech diod tworzących zewnętrzny trójkąt znacznika 2
Rozpoznawanie obiektów z użyciem znaczników Rozpoznawanie i lokalizacja znaczników diodowych c.d. Analiza zależności geometrycznych pomiędzy wierzchołkami trójkąta w celu określenia przodu znacznika Obliczenie dokładnej pozycji i orientacji znacznika w przestrzeni obrazu Pozycja znacznika Orientacja - współrzędna wektora Wyznaczenie numeru znacznika na podstawie dodatkowych 5 diod Przeliczenie ze współrzędnych obrazowych do współrzędnych fizycznych układu odniesienia z wykorzystaniem informacji z procesu kalibracji kamery 3 Rozpoznawanie obiektów z użyciem znaczników Lokalizacja znacznika diodowego na stanowisku RMP Kamera z interfejsem USB ueye UI-1240SE-C 1280x1024 25Hz (obiektyw PENTAX C418DX nominalna ogniskowa 4,8 mm) Zawieszenie kamery na wysokości 2,7 m, pole widzenia 4x3,2 m Rozdzielczość pomiaru wynikająca z wielkości znacznika, z pola widzenia oraz rozdzielczości kamery: 3,125 mm; ok. 0,1 rad (6 deg) Rozdzielczość subpikselowa pomiaru: 0,4 mm oraz 0,3 deg 4
Rozpoznawanie wzorców za pomocą cech lokalnych Reprezentacja modelu obiektu za pomocą cech lokalnych Własności cech lokalnych do opisu obiektu: ` Muszą dobrze się wyróżniać; Powinny być proste w ekstrakcji (szybkość ekstrakcji); Odporne na zakłócenia na obrazie i zmianę oświetlenia; Niezależne od zmiany położenia i orientacji obiektu; Niezależne od zmiany skali obiektu (odległości); Niezależne w pewnym zakresie od zmian kąta widzenia; Powinny być łatwe do porównywania i odszukiwania w dużych bazach danych zawierających cechy zdefiniowanych modeli obiektów; Powinny umożliwiać identyfikację obiektów z dużym prawdopodobieństwem. 5 Rozpoznawanie wzorców za pomocą cech lokalnych Cechy (falki) Haar a i Haar-podobne Jednowymiarowa funkcja Haar a Dwuwymiarowe funkcje Haar a Zestaw funkcji do wyznaczania cech Haar-podobnych 6
Rozpoznawanie wzorców za pomocą cech lokalnych Analiza obrazu wybranymi funkcjami Haar-podobnymi 7 Rozpoznawanie wzorców za pomocą cech lokalnych Kaskada klasyfikacyjna (kaskadowe wyznaczanie cech na obrazie) Obraz wejściowy Klasyfikator (filtr) 1 Klasyfikator (filtr) 2 Baza cech do klasyfikacji Klasyfikator (filtr) n Rozpoznany obiekt (wykryte cechy) 8
SIFT Scale Invariant Feature Transform David G. Lowe: Distinctive Image Features from Scale Invariant Features, International Journal of Computer Vision, Vol. 60, No 2, 2004, strony 91-110 SIFT dokonuje transformacji z dziedziny przestrzennej obrazu do dziedziny współrzędnych odpowiadających lokalnym cechom na obrazie SIFT umożliwia detekcję i opis lokalnych cech na obrazie, które są niezależne od położenia, rotacji, skali, zmiany oświetlenia oraz w pewnym zakresie od zmiany kąta widzenia i są odporne na zakłócenia Wykorzystanie algorytmu SIFT w rozpoznawaniu obrazu wymaga wpierw ekstrakcji cech z obrazów wzorcowych i zapisania ich w bazie danych Zastosowania metody SIFT umożliwia poprawne rozpoznawanie obiektów na scenie z dużym prawdopodobieństwem, również w przypadku częściowego zasłonięcia obiektów! 9 Główne kroki algorytmu SIFT wykrywania cech lokalnych (wykorzystanie podejścia filtracji kaskadowej) 1. Wykrywanie ekstremów w różnych skalach 2. Lokalizacja punktów kluczowych (ang. keypoints) 3. Przypisanie orientacji do punktów kluczowych 4. Generowanie deskryptorów punktów kluczowych 10
1. Wykrywanie ekstremów w różnych skalach Potencjalne punkty dla cech lokalnych, które są niezależne od skali i orientacji, odpowiadają lokalnym ekstremom na obrazach różnicowych uzyskanych po filtracji filtrem Gaussa w różnych skalach Obraz uzyskany w wyniku filtracji filtrem Gaussa gdzie Różnicowy filtr Gaussa (ang. Difference-of-Gaussian, DOG) dla dwóch skali rozdzielonych współczynnikiem Wynik splotu obrazu z filtrem DOG 11 [Lowe] W algorytmie SIFT obraz wejściowy filtrowany jest filtrem Gaussa w różnych skalach rozdzielonych stałym współczynnikiem a następnie oblicza się obrazy różnicowe DOG. Procedurę powtarza się przepróbkowując obraz gaussowski poprzez wyrzucenie co drugiego wiersza i kolumny obrazu. 12
Obrazy gaussowskie oraz DOG na różnych poziomach 13 Wykrywanie lokalnych ekstremów odbywa się poprzez porównanie punktu z jego sąsiadami w otoczeniu 3x3x3. Punkt jest przyjmowany jako kandydat na punkt kluczowy cechy gdy ma wartość większą lub mniejszą od wszystkich punktów sąsiednich. [Lowe] 14
2. Lokalizacja punktów kluczowych Dokładna lokalizacja punktów kluczowych odbywa się poprzez interpolację ekstremów dla kandydatów wyznaczonych w punkcie poprzednim za pomocą funkcji kwadratowej 3D Dokładne położenie ekstremum wyznacza się na podstawie pochodnej funkcji Wartość funkcji w punkcie ekstremum służy do odrzucenia niestabilnych punktów ze względu na mały kontrast Punkty ekstremum będące odpowiedzią wzdłuż krawędzi na obrazie są odrzucane na podstawie warunku gdzie Hessian 15 Kandydaci na punkty kluczowe ekstrema uzyskane dla filtrów DOG w różnych skalach Punkty kluczowe pozostałe po wyrzuceniu kandydatów z niskim kontrastem Końcowy zbiór punktów kluczowych pozostałych po wyrzuceniu ekstremów będących odpowiedzią wzdłuż krawędzi 16
3. Orientacja punktów kluczowych Orientacja punktu wyznaczana jest na podstawie jednego z obrazów gaussowskich, którego skala odpowiada skali danego punktu kluczowego. Dla każdego punktu obrazu obliczany jest moduł gradientu oraz orientacja Na podstawie orientacji punktów (z wagą modułu gradientu oraz przefiltrowanych oknem Gaussa z parametrem 1,5 dla danej skali) w otoczeniu punktu kluczowego budowany jest histogram orientacji. Maksimum w histogramie oraz lokalne maksima o wartościach powyżej 80% największego określają orientację punktu kluczowego. W metodzie SIFT przyjęto, że histogram posiada 36 pól, a dokładne położenie maksimum interpoluje się za pomocą paraboli korzystając z wartości sąsiednich na histogramie. Wszystkie cechy punktu kluczowego są mierzone w odniesieniu do tak wyznaczonej orientacji, dzięki czemu opis jest niezależny od rotacji. 17 Lokalizacja punktów kluczowych na obrazie z uwzględnieniem skali i orientacji 18
4. Generowanie deskryptorów cech lokalnych dla punktów kluczowych W algorytmie SIFT do opisu cech lokalnych bierze się moduł gradientu oraz orientację z otoczenia 16x16 dla danego punktu kluczowego. Obszar ten dzieli się na regiony 4x4 w których ponownie tworzy się wypadkowe histogramy orientacji. W każdym obszarze dla 8 orientacji wyznacza się wypadkowy moduł gradientu na podstawie modułów poszczególnych punktów. Deskryptor cechy punktu kluczowego stanowi wektor złożony z 4x4x8=128 elementów. Wektor ten jest normalizowany w celu zmniejszenia wpływu zmian oświetlenia. [Lowe] Przykład dla otoczenia 8x8 i regionów 2x2 19 rozpoznawanie obiektów Dopasowanie punktów kluczowych Dla danego punktu kluczowego najlepszym kandydatem do dopasowania jest punkt (najbliższy sąsiad) w bazie, którego wektor cech jest najbliższy wektorowi cech danego punktu. Najbliższy sąsiad to taki który ma najmniejszą odległość Euklidesową do danego punktu wyznaczoną na podstawie wektora cech. W algorytmie SIFT wykorzystano porównanie odległości pomiędzy najbliższym i drugim w kolejności najbliższym sąsiadem. Jak porównywać i wyszukiwać efektywnie wektory cech w przestrzeni 128D? W algorytmie SIFT zaproponowano szybką metodę BBF (ang. Best-Bin-First), która jest metodą przybliżoną w sensie wyszukania w bazie najbliższego sąsiada z dużym prawdopodobieństwem. 20
Baza danych rozpoznawanie obiektów Rozpoznawanie obiektów wymaga przygotowania bazy danych zawierających obiekty z obrazów wzorcowych. Rozpoznawanie obiektów Wyznaczenie punktów kluczowych i odpowiadających im wektorów cech lokalnych na obrazie wejściowym Dopasowanie punktów kluczowych z obrazu wejściowego do punktów w bazie wzorców. Każdy dopasowany punkt posiada cztery parametry: położenie 2D (x,y), skalę i orientację Wykorzystanie transformaty Hougha w celu identyfikacji grup dopasowanych punktów które określają ten sam obiekt. Elementy macierzy akumulatorów transformaty które zawierają minimum trzy inkrementacje określają parametry dopasowanego obiektu (położenie, skalę i orientację) Ostatnim krokiem jest weryfikacja geometryczna parametrów obiektów uzyskanych w kroku poprzednim oraz cech obrazów wzorcowych z wykorzystaniem metody najmniejszych kwadratów. W trakcie obliczeń wyznaczane są parametry związane z transformacją między układem związanym z wzorcem a układem związanym z obiektem na obrazie badanym (ang. Affine transform) 21 Inne algorytmy oparte o cechy lokalne SURF: Speeded-Up Robust Features (H. Bay, T. Tuytelaars, and L. Van Gool. Surf: Speeded up robust features. In European Conference on Computer Vision, ECCV 2006 ) FAST: Features from Accelerated Segment Test (E. Rosten and T. Drummond. Machine learning for highspeed corner detection. In European Conference on Computer Vision, ECCV 2006) BRIEF: Binary robust independent elementary features (M. Calonder, V. Lepetit, C. Strecha, and P. Fua. Brief: Binary robust independent elementary features. In European Conference on Computer Vision, ECCV 2010) BRISK: Binary Robust Invariant Scalable Keypoints (S. Leutenegger, M. Chli, and R. Y. Siegwart. BRISK: Binary Robust Invariant Scalable Keypoints. In IEEE International Conference on Computer Vision, ICCV 2011) ORB: Oriented FAST and Rotated BRIEF (E. Rublee, V. Rabaud, K. Konolige, and G. Bradski. ORB: An efficient alternative to SIFT or SURF. In IEEE International Conference on Computer Vision, ICCV 2011) FREAK: Fast Retina Keypoint (A. Alahi, R. Ortiz, P. Vandergheynst. FREAK: Fast Retina Keypoint. In IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2012) 22