Integracja reprezentacji obiektów 3D poprzez pasowanie grafów struktury Krzysztof Skabek
Download ReportTranscript Integracja reprezentacji obiektów 3D poprzez pasowanie grafów struktury Krzysztof Skabek
Integracja reprezentacji obiektów 3D poprzez pasowanie grafów struktury Krzysztof Skabek Instytut Informatyki Teoretycznej i Stosowanej PAN, ul. Bałtycka 5, 44-100 Gliwice e-mail: [email protected] Konferencja MSK, listopad 2003 Plan wystąpienia 1. Pozyskiwanie obrazów sceny 3D 2. Grafowa reprezetacja sceny 3. Łączenie widoków sceny 4. Algorytm pasowania grafów krawędziowych 5. Testowanie i przykładowe sceny Obserwacja sceny Pozyskiwane stereogramy sceny LK PK Cel: Utworzenie kompletnej reprezentacji sceny na postawie stereogramów z różnych punktów widokowych. Założenia: Brak informacji a priori o obiektach sceny. Nieznajomość dokładnego położenia obserwatora względem sceny. Architektura systemu aktywnej wizji Postrzeganie Planowanie Model 3D z dostępnością Model 3D x, y, z, Planowanie misji Metody integracji Nawigator przestrzennej Integracja modelu Niski poziom przetw. kamera kamera Pilot Działanie Sterownik silniki Etapy integracji przestrzennej Porównanie widoku z modelem sceny Obliczenie położenia Aktualny widok Położenie Dodanie nowych elementów do modelu Hipotezy elementów sceny Sprawdzanie kompletności modelu Wiedza o scenie Nawigacja do nowego punktu widokowego Model 3D Grafowa reprezentacja widoku sceny 3D Graf konturu Graf ścian Poszukiwanie izomorfizmów w grafach n – liczba wierzch. w grafie G1 m – liczba wierzch. w grafie G2 $ – spasowania puste $ 1 ... 1 m $ m 2 ... m ... ... m-1 $ 1 ... ... m ... $ ... 1 m-1 $ 2 ...m 2 ... ... $ 1 ... 2 ... m$ ... ... ... 1 ... $ 1 ...m-1 3 ... $ n Modyfikacje algorytmu Dobór typu reprezentacji grafowej Sprawdzanie odpowiedniości kształtu geometrycznego Sprawdzanie integralności krawędzi Odcięcie poszukiwań na poziomie k Optymalizacja odległości zbiorów punktów (Metoda Prokrusta) Translacja (T) Rotacja (R) --- - obiekt A --- - obiekt B --- - dopasowanie A do B Skalowanie (s) D2(A, B) = || B – S·R·A – T ||2 Sprawdzanie odpowiedniości kształtu Delta=0.8 0.1 1 0.2 $ 0.5 0.1 0.7 ... 1 m m $ 2 ... 3m ... ... m-1 $ 1 ... m$ 2 ... m ... $ ... 1 m-1 4 $ 0.4 2 ... ... ... ... ... ... 1 ... $ 0.3 ...m 2 ... ... $ 1 ... 0.2 1 ...m-1 3 ... $ n Odcięcie poszukiwań u3 u2 T,R,s u1 Tz,Rz,sz T,R,s - wyznaczone parametry przeksztalcenia geometrycznego Tz,Rz,sz - zadane parametry przeksztalcenia geometrycznego k = 3 - minimalnaliczba punktów potrzebna do wyznaczenia parametrów przeksztalcenia bryly sztywnej delta=0.2 k 1 0.1 i k+1 n-k 0.1 k+2 n k+2 1 n-k-1 ... j ... 1 n-k-1 ... ... j k+1 0.1 k+2 1 3 n ... k+1 n-k k ... i delta=0.2 k 0.1 1 ... ... ... Dopasowanie wierzchołków n Implementacja algorytmu składania grafów 1 B 2 B F 3 A D F A D 5 4 5 C C 6 E E Gsi Gwi Gsi+1 Obserwacja sceny – eksperyment Łączenie widoków – eksperyment Skumulowany graf sceny Liczba wierzch. Wierzch. Dopisane Kąt zadany Kąt obserwacji Graf widoku Liczba wierzch. 29 33 30 36 Wierzch. spasowane 25 20 10 24 Błąd spasowania 0.0039 0.0051 0.0057 0.0063 - 49 41 44 47 36 23 8 9 6 36 20.0 °20.4 °22.2 21.4 18.7 Łączenie widoków 120 Liczba wierzchołków 100 Graf widoku sceny 80 Skumulowany graf sceny 60 Liczba spasowanych wierzchołków 40 Zredukowany skumulowany graf sceny 20 0 1 2 3 4 5 Krok integracji 6 7 Liczba elementów w grafie skumulowanym 80 70 60 50 40 30 20 10 0 Wierzchołki Krok integracji 15 13 11 9 7 5 3 Krawędzie 1 Liczba elementów w grafie skumulowanym Liczba elementów w grafie skumulowanym w funkcji kroku integracji Zmiany kątów położenia w kolejnych iteracjach Zmiany kątów dla kolejnych kroków integracji 35 25 Wyznaczona zmiana kata położenia 20 Zadana zmiana kąta położenia 15 10 5 Krok integracji 15 13 11 9 7 5 3 0 1 Wartość kąta [st] 30 Dziękuję za uwagę Dobieranie progu tolerancji kształtu – eksperyment Zależność średniej liczby spasowań od progu tolerancji kształtu Liczba analizowanych spasowań 10000 1000 100 10 1 1 2 3 4 5 6 7 8 Próg tolerancji kształtu 9 10 11 12 Zastosowania metod integracji Autonomiczna nawigacja robotem w nieznanym środowisku Dopasowywanie/wyszukiwanie detali architektonicznych, urbanistycznych, części mechanicznych, itp. Integracja danych z różnych czujników (RTG, TK, NMR, skaner 3D) w obrazowaniu medycznym Lokalizacja obserwatora na podstawie widoku Parametry przekształcenia geometrycznego T – wektor translacji 3D opisujący względne położenie środków dwóch układów współrzędnych R – macierz obrotu 3×3 (ortogonalna) s – skala przekształcenia Relacja pomiędzy współrzędnymi punktów P w układzie odniesienia widoku Pw a ich odpowiednikami w układzie sceny Ps Ps = RPw s – T Publikacje I 1. 2. 3. 4. 5. Skabek K., Stąpor K., Tomaka A., Model-based 3D-Shape Recovery by Aspect Graphs. Machine Graphics & Vision, vol. 8, no. 2, Warszawa, 1999. Skabek K., Rozpoznawanie obiektów metodą pokryć stereogramów, II Krajowa Konferencja „Metody i systemy komputerowe w badaniach naukowych i projektowaniu inżynierskim”, pp. 91-96, Kraków, 1999. Skabek K., Tomaka A., Symulator widoków wielościanów uzyskiwanych za pomocą głowicy stereowizualnej – implementacja i zastosowania, Archiwum IITiS PAN, vol. 12, zesz. 2, 2000. Skabek K., Reconstruction of polyhedron objects by structure graph integration. Konf. Naukowa KOSYR 2001, pp. 155-161 Skabek K., Kowalski P., Przetwarzanie informacji wizualnej w komputerowym systemie z mobilną głowicą stereowizyjną. Studia Informatica, vol. 22, no 3(45), pp. 193-207, Gliwice 2001 Publikacje II 6. 7. 8. Skabek K., Kowalski P., Algorithm for Fusion of 3D Scene by Subgraph isomorphism with Procrustes Analysis. Konferencja ICCVG, Zakopane, 2002. Skabek K., Algorithm for Fusion of 3D Scene by Subgraph isomorphism with Shape Analysis. Archiwum IITiS PAN, vol. 14, zesz. 3, 2002. Skabek K., Wojciechowski K., Znajdowanie struktury sceny na podstawie sekwencji stereogramów. Konferencja MSK, Kraków, 2003 Platforma badawcza Grafowa reprezentacja sceny 3D (II) GC VC , EC , C ,C Graf konturu: VC – zbiór wierzchołków w scenie EC – zbiór krawędzi pomiędzy wierzchołkami C – współrzędne (x,y,z) wierzchołków C – wagi krawędzi GF VF , EF , F ,F Graf ścian: VF – zbiór ścian w scenie EF – zbiór połączeń pomiędzy ścianami F – parametry opisu ściany F – parametry połączeń pomiędzy ścianami Izomorfizm grafów i podgrafów Izomorfizm grafów 3 2 2 3 2 2 3 3 Izomorfizm podgrafów 3 2 2 3 3 2 3 3 2 3 Algorytmy poszukiwania izomorfizmów Algorytm Algorytm Algorytm Algorytm Algorytm permutacyjny największych klik Ullmana A* z korekcją błędów z drzewem decyzyjnym Algorytm z wykorzystaniem analizy kształtu Implementacja pasowania grafów Dane wejściowe: i = 1 ... n – nr etapu fuzji GIi – grafy konturu dla poszczególnych widoków T~i R~i S~i – oszacowanie przesunięcia (z układu nawigacji) i – błąd przesunięcia (dla układu nawigacji) i – błąd obserwacji (dla układu optycznego) Dane wyjściowe: GMi – grafy skumulowane (na poszczególnych etapach) Ti Ri Si – dokładne przesunięcie układu Pierwszy krok: GM1 GI1 Złożoność obliczeniowa Złożoność obliczeniowa algorytmu Ullmana: O(nmn) Złożoność obliczeniowa algorytmu poszukiwania izomorfizmów z analizą kształtu: k=3 k+2 k+1 O(n m ) = O(n5m4) gdzie: k – poziom odcięcia. Dopasowanie kształtu znacznie zmniejsza efektywną złożoność obliczeniową algorytmu pasowania grafu krawędziowego. Liczba analizowanych spasowań Liczba analizowanych spasowań Liczba spasowań analizowanych w kolejnych krokach integracji 2500 2000 Delta=0.35 1500 Delta=0.4 1000 Delta=0.45 Delta=0.5 500 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Krok integracji Zależność liczby spasowań od błędu kąta położenia liczba analizowanych spasowań Zależność liczby analizowanych spasowań od błędu kąta położenia 2000 1500 1000 500 0 0 2 4 6 błąd kąta położenia 8 10