Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Geometria obrazu Wykład 12

Podobne prezentacje


Prezentacja na temat: "Geometria obrazu Wykład 12"— Zapis prezentacji:

1 Geometria obrazu Wykład 12
Bryły ograniczające. Boundary volume hierarchy (BVH). Funkcja kosztu kolizji. Wykrywanie kolizji metoda klasyczna, metoda stochastyczna, pole odleglości, model Taylora.

2 Definicja. Bryłą ograniczającą (brzegową, bounding volume) dla zbioru obiektów S nazywamy domknięty wielościan zawierający wszystkie obiekty z danego zbioru. Bryły ograniczające możemy definiować również dla podzbiorów zbioru S, w tym pojedynczych obiektów. Powinny one spełniać następując wymagania: dobrze przybliżać aproksymowane obiekty, być łatwe w konstrukcji, łatwo aktualizować się, pozwalać na efektywne sprawdzanie przecięć, wymagać małej pamięci, łatwo łączyć się w grupy.

3 kula – badamy odległość między środkami,
Najprostsze bryły ograniczające, dla których można łatwo sprawdzić przecięcie: kula – badamy odległość między środkami, prostopadłościan zorientowany zgodnie z kierunkiem osi – sprawdzamy zależności między współrzędnymi boków prostopadłościan dowolnie zorientowany - analizujemy przecięcia płaszczyzn wyznaczających boki prostopadłościanu. [inst.eecs.berkeley.edu]

4 Przykłady brył ograniczających.
axis-aligned bounding box (AABB) sfera oriented bounding box (OBB) discrete oriented polytope (k-DOP) swept sphere volume (SSV) otoczka wypukła

5 Twierdzenie (o osi rozdzielającej, Gottschalk et al. ’96).
Dwa wypukłe wielościany są rozłączne wtedy i tylko wtedy, gdy istnieje oś rozdzielająca prostopadła do ściany jednego z wielościanów lub prostopadła do krawędzi obu wielościanów. Innymi słowy istnieje prosta spełniająca pewne warunki taka, że rzuty wielościanów w kierunku prostopadłym do prostej są rozłączne.

6 Bazując na bryłach ograniczających możemy stworzyć bounding volume hierarchy, czyli drzewiastą strukturę danych określoną na obiektach geometrycznych w ten sposób, że każdemu wierzchołkowi v drzewa odpowiada bryła ograniczająca sumę obiektów wyznaczających bryły odpowiadające synom v, liście zwierają informacje o obiektach. Struktura powinna mieć następujące własności: bryły ograniczające powinny dobrze aproksymować obiekty (jak najmniej nachodzić na siebie), na każdym poziomie każdy obiekt powinien należeć do co najwyżej jednej bryły pokrywającej, drzewo powinno być zbalansowane.

7 Trzy poziomy 18-DOP hierarchii.
Przykład. Trzy poziomy 18-DOP hierarchii. [Teschner et al. „Colision Detcttion for Deformable objeects”, 2005]

8 Bounding volume hierarchy tworzy się zwykle jedną z dwóch metod:
bottom-up : najpierw znajdujemy bryły ograniczające małe grupy bliskich obiektów, a następnie łączymy je w coraz większe zbiory, top-down : znajdujmy bryłę ograniczającą cały zbiór obiektów S, a następnie dzielimy S na podzbiory (np. minimalizując sumę rozmiarów brył ograniczających odpowiadających synom danego węzła lub minimalizując rozmiar maksymalnej bryły ograniczającej odpowiadającej synowi danego węzła). Metoda bottom-up jest zwykle kosztowniejsza, ale uwzględnia topologię zbioru. Drugą metodę łatwiej zaprogramować wybierając odpowiedni sposób podziału zbioru.

9 W przypadku zmian położenia obiektu, struktura danych musi być aktualizowana. W zależności od rodzaju ruchu lepsze są różne bryły ograniczające. Np. w przypadku sztywnych obiektów: dla przesunięć i obrotów: sfera, SSV, OBB, tylko dla przesunięć: AABB, DOP. Wtedy bryły ograniczające dla obiektów nie ulegają zmianie. Zmieniają się bryły odpowiadające węzłom na ścieżce od analizowanego liścia do korzenia. Podobnie jest w przypadku obiektów miękkich, z tym, że trzeba tu również zmienić postać liścia. Operacje te nie są zbyt trudne np. w przypadku DOP, gdzie bryła ograniczająca odpowiadająca węzłowi jest „sumą” brył odpowiadających synom tego węzła (ściany sumy wyznaczane są przez ściany brył składowych) .

10 T = NuCu + NvCv + NpCp, gdzie
Funkcja kosztu kolizji. Funkcję kosztu kolizji definiujemy w następujący sposób (Weghorst, Gottschalk, Klosowski) : T = NuCu + NvCv + NpCp, gdzie Nu - liczba aktualizowanych brył ograniczających, Cu - oszacowanie kosztu aktualizacji bryły ograniczającej, Nv - liczba przecinających się brył ograniczających, Cv - oszacowanie kosztu sprawdzenia, czy bryły ograniczające przecinają się, Np - liczba par sprawdzanych obiektów, Cp - oszacowanie kosztu sprawdzenia oddziaływania pary obiektów. Niestety optymalizacja tej funkcji zależy zwykle od specyficznych własności problemu, a zmniejszenie jednego ze współczynników zazwyczaj zwiększa pozostałe.

11 procedure traverse(A,B); if BH(A) i BH(B) nie przecinają się
Wykrywanie kolizji. Niech BH(C) oznacza bryłę ogranicza-jącą odpowiadającą wierzchołkowi C. procedure traverse(A,B); if BH(A) i BH(B) nie przecinają się then return; if A i B są liśćmi then zbadaj przecięcia obiektów z BH(A) z obiektami z BH(B) else for wszyscy synowie A i B do traverse(syn(A),syn(B)); Aby szybko minimalizować prawdo-podobieństwo przecięcia badamy prze-cięcie mniejszej bryły ograniczającej z bryłami „synów” drugiej. [T.Mezger, Bounded Volume Hierarchies, 2005]

12 Przykład. Binarne drzewo BVH.
[T.Mezger, Bounded Volume Hierarchies, 2005]

13 Przykład. Czwórkowe drzewo BVH.
[T.Mezger, Bounded Volume Hierarchies, 2005]

14 Zalety i wady drzewa o większym stopniu:
mniejsza głębokość rekursji, mniejsza liczba wierzchołków implikuje mniejsze Nu, szybsza analiza niż w drzewie binarnym, gdy Cv jest małe (np. dla k-DOP), większe Nv, gdy liście nie kolidują a ich przodkowie tak.

15 Podejście stochastyczne
Podejście stochastyczne. Zdefiniujmy prawdopodobieństwo przecięcia się dwóch brył ograniczających w następujący sposób: P(Ai,Bj) = (Vol (Ai) + Vol (Bj) )/(Vol(A) + Vol(B)), Gdzie A i B są przecinającymi się przodkami P(Ai,Bj) ( w przeciwnym przypadku P(Ai,Bj) = 0). Poszukując najbardziej prawdopodobnych miejsc kolizji będziemy wybierać w drzewie BVH ścieżki o największym prawdopodobieństwie sukcesu. Niech q oznacza kolejkę priorytetową par węzłów uporządkowaną względem prawdopodobieństwa przecięć odpowiednich brył ograniczających.

16 Algorytm. procedure traverse(A, B); while q nie jest pusta do begin A, B  q.pop; for wszyscy synowie A i B do if P(Ai,Bj) jest dostatecznie duże then return „kolizja” else if P(Ai,Bj) > 0 then q.insert((Ai,Bj) , P(Ai,Bj) ); end;

17 Metoda elastycznych powierzchni
Metoda elastycznych powierzchni. Badamy mniej zależności między obszarami, które są względnie daleko i zwiększamy liczbę punktów kontrolnych w miarę zbliżania się obiektów. [Teschner et al. „Colision Detcttion for Deformable objeects”, 2005]

18 Pole odległości. Definiujemy funkcję D: R3  R w następujący sposób: D(p) = sign(p)dist(p), Gdzie dist( ) oznacza odległość do najbliższego punktu powierzchni, a sign( ) przyjmuje wartość ujemną wewnątrz obiektu. Pole odległości określamy z pomocą drzew ósemkowych, BSP lub np. diagramów Voronoi, dzieląc przestrzeń na obszary, w których będzie obliczana funkcja odległości. Chcąc wykryć kolizję badamy pary obiektów i analizujemy ich położenie względem pól odległości. Możemy też określać pola odległości względem konkretnych obiektów.

19 Przykład. [Teschner et al. „Colision Detcttion for Deformable objeects”, 2005]

20 Model Taylora. Zamiast sztywnych szacowań bryły ograniczającej (np
Model Taylora. Zamiast sztywnych szacowań bryły ograniczającej (np. wartości funkcji cos x + 31/2 sin x zawierają się w przedziale [0, 1+ 31/2]) dla x [0, /2), stosujemy wzór Taylora: f(t)  ni=0 tif(i)(m)/i!+[r0,r1] dla pewnego m  [t0, t1]. Analizujemy parę: wielomian, przedział. Takie pary możemy np. sumować. Pozwala to na dokładniejsze przybliżanie obiektów niż klasyczną metodą.

21 Dziękuję za uwagę.


Pobierz ppt "Geometria obrazu Wykład 12"

Podobne prezentacje


Reklamy Google