Integracja reprezentacji obiektów 3D poprzez pasowanie grafów struktury Krzysztof Skabek

Download Report

Transcript 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