• Nie Znaleziono Wyników

6. Proponowana technika filtracji przerzutowanych punktów

6.1. Filtracja pośredniej wirtualnej mapy głębi

6.1.1. Pęknięcia w wirtualnej mapie głębi

W przypadku systemów z gęstym, liniowym rozmieszczeniem kamer, pęknięcia w wirtualnej mapie głębi nie są znaczne (rysunek 6.3). Znacznie większe wyzwanie stanowią pęknięcia w przypadku rzadkich systemów wielokamerowych o nieliniowym rozmieszczeniu kamer (rysunki 6.2 i 6.4).

A B

Pęknięcia w wirtualnych mapach głębi: sekwencje syntetyczne;

sekwencje BBB Flowers (A) i BBB Butterfly (B), synteza widoku 45 na podstawie widoku 32

Należy zauważyć, iż pęknięcia w wirtualnej mapie głębi powstają niezależnie od tego, jaką jakość mają rzeczywiste mapy głębi, choć ich ilość w przypadku map głębi wyznaczanych w sposób algorytmiczny jest większa. Rezultat dla sekwencji syntetycznych pokazano na rysunku 6.2, dla sekwencji naturalnych – na rysunkach 6.3 i 6.4. Dla przykładu, w sekwencji Poznan_Fencing2 na stojącym z lewej strony plakacie pojawiają się dodatkowe pęknięcia wynikające z faktu, iż głębia plakatu nie jest poprawna – grafika widoczna na plakacie „odstaje” od płaszczyzny plakatu (rysunek 6.4B).

A B

Pęknięcia w wirtualnych mapach głębi: sekwencje zarejestrowane systemami z liniowym rozmieszczeniem kamer; sekwencje Poznan_Carpark (A) i Poznan_Street (B), synteza widoku 4 na podstawie widoku 3

A C

B D

Pęknięcia w wirtualnych mapach głębi: sekwencje zarejestrowane systemami z łukowym rozmieszczeniem kamer; sekwencje Poznan_Blocks (A), Poznan_Fencing2 (B), Poznan_Blocks2 (C) i Ballet (D),

synteza widoku 4 na podstawie widoku 3

6.1.1.1. FILTRACJA OBSZARÓW NIEPRZERZUTOWANYCH

W pierwszym kroku usuwane są obszary nieprzerzutowane. Algorytm usuwania takich obszarów przedstawiono na rysunku 6.5. Dla czytelności schematu wprowadzono zmienne logiczne , , i . Przyjęto, iż ma wartość logiczną „prawda”, kiedy punkt po lewej stronie został przerzutowany (1.7), a „fałsz”, gdy nie został przerzutowany (1.8). Analogiczną regułę przyjęto

w przypadku oznaczeń , i oznaczających odpowiednio, czy przerzutowany został punkt po prawej, powyżej i poniżej analizowanego punktu.

Schemat filtracji nieprzerzutowanego punktu:

– głębia analizowanego punktu; , – głębia punktów z lewej i prawej strony analizowanego punktu;

, – głębia punktu powyżej i poniżej analizowanego punktu; , , i przyjmują wartość logiczną „prawda”, jeżeli punkt (po lewej, prawej itd.) został przerzutowany z widoku rzeczywistego i „fałsz” w przeciwnym wypadku

Dla każdego nieprzerzutowanego punktu pośredniej wirtualnej mapy głębi sprawdzane są dwa warunki:

1. Czy przerzutowany został zarówno lewy, jak i prawy sąsiedni punkt.

2. Czy przerzutowany został zarówno punkt poniżej, jak i powyżej.

Jeżeli którykolwiek z podanych warunków został spełniony, analizowany punkt jest wypełniany. W przypadku spełnienia wyłącznie pierwszego warunku punkt otrzymuje uśrednioną wartość głębi lewego ( ) i prawego punktu ( ) (lub wartość większą, jeżeli obie wartości głębi różnią się bardziej, niż założony błąd ). Gdy spełniony jest tylko warunek drugi do analizowanego punktu kopiowana jest uśredniona wartość głębi punktu powyżej ( ) i poniżej ( ) (lub większa z nich w przypadku dużej różnicy głębi obu punktów). Przy spełnieniu obu warunków analizowany punkt otrzymuje wartość głębi wyznaczoną jako medianę wartości głębi wszystkich sąsiadów.

Aby możliwe było usunięcie bardziej skomplikowanych pęknięć, konieczne jest dwukrotne przeprowadzenie przedstawionego powyżej wypełniania pośredniej wirtualnej mapy głębi (rysunek 6.6). Tym samym, po wykonaniu filtracji wszystkich punktów wirtualnej mapy głębi każdy punkt analizowany jest ponownie.

pośrednia wirtualna mapa głębi

z pęknięciami po 1. iteracji po 2. iteracji

Iteracyjne wypełnianie pęknięć (oznaczonych kolorem białym) (fragment sekwencji Breakdancers, synteza z widoku 3 do widoku 4)

Opracowany algorytm ma dwie podstawowe zalety. Po pierwsze, wymaga niewielkiego nakładu obliczeń – dla każdego punktu obrazu analizowana jest jedynie głębia czterech sąsiadujących punktów (w dwóch iteracjach). Odróżnia to zaproponowaną technikę od technik znanych z literatury, w których dla każdego punktu analizowane są punkty wewnątrz okna o rozmiarze 5×5 [Do’11], wykorzystywana jest filtracja bilateralna [Mori’09], czy też przeprowadzana w czterech iteracjach filtracja medianowa [Senoh’17A]. Po drugie, w odróżnieniu od prostej filtracji [Jun-Te’15, Liu’12], wykorzystywana jest informacja o głębi, przez co pęknięcia wypełniane są barwą tła, a nie obiektów charakteryzujących się mniejszą głębią. Dzięki temu unika się niepoprawnego zwiększania powierzchni obiektów znajdujących się blisko kamer.

6.1.1.2. FILTRACJA OBSZARÓW Z BŁĘDNĄ GŁĘBIĄ

W drugim kroku wypełniane są te obszary, dla których pęknięcia w bliskich obiektach zostały wypełnione poprzez przerzutowanie głębi tła. Schemat zaproponowanego algorytmu przedstawiono na rysunku 6.7.

Schemat filtracji punktu z błędną głębią:

– głębia analizowanego punktu; , – głębia punktów z lewej i prawej strony analizowanego punktu;

, – głębia punktu powyżej i poniżej analizowanego punktu

Dla każdego punktu pośredniej wirtualnej mapy głębi sprawdzane są dwa warunki:

1. Czy wartość głębi dla analizowanego punktu ( ) jest większa, niż wartość głębi zarówno dla punktu po lewej ( ), jak i punktu po prawej stronie ( ).

2. Czy wartość głębi dla analizowanego punktu jest większa ( ), niż wartość głębi zarówno dla punktu powyżej ( ), jak i poniżej ( ).

Jeżeli spełniony został warunek pierwszy, analizowany punkt otrzymuje nową wartość głębi otrzymaną poprzez uśrednienie wartości lewego i prawego sąsiada. W przypadku spełnienia warunku drugiego, nową wartością głębi analizowanego punktu będzie uśredniona wartość głębi punktu powyżej i poniżej. Gdy oba warunki są spełnione, liczona jest mediana głębi wszystkich czterech sąsiadujących punktów.

Tak jak filtracja obszarów nieprzerzutowanych, również filtracja obszarów z błędną głębią powtarzana jest dwukrotnie, umożliwiając usunięcie bardziej złożonych pęknięć (rysunek 6.8).

pośrednia wirtualna mapa głębi

z pęknięciami po 1. iteracji po 2. iteracji

Iteracyjne wypełnianie pęknięć (im ciemniejszy kolor, tym większa głębia) (fragment sekwencji Poznan_Blocks, synteza z widoku 3 do widoku 4)

Zaproponowany algorytm usuwania pęknięć w pośredniej wirtualnej mapie głębi wymaga jedynie czterokrotnej analizy każdego punktu obrazu, przez co algorytm wymaga mniejszego nakładu obliczeń, niż algorytmy filtracji stosowane w [Do’11, Senoh’17A].

6.1.1.3. PRZYKŁAD DZIAŁANIA

Wynik działania zaproponowanego algorytmu zaprezentowano na rysunkach 6.9 – 6.13. Dla każdego przykładu, po lewej stronie umieszczono wirtualną mapę głębi z pęknięciami, a po stronie prawej tę samą mapę z usuniętymi pęknięciami.

A B

Wirtualna mapa głębi z pęknięciami (A) i bez pęknięć (B);

sekwencja BBB Flowers, synteza widoku 45 na podstawie widoku 32

A B

Wirtualna mapa głębi z pęknięciami (A) i bez pęknięć (B);

sekwencja BBB Butterfly, synteza widoku 45 na podstawie widoku 32

A B

Wirtualna mapa głębi z pęknięciami (A) i bez pęknięć (B);

sekwencja Poznan_Street, synteza widoku 4 na podstawie widoku 3

A B

Wirtualna mapa głębi z pęknięciami (A) i bez pęknięć (B);

sekwencja Poznan_Blocks, synteza widoku 4 na podstawie widoku 3

A B

Wirtualna mapa głębi z pęknięciami (A) i bez pęknięć (B);

sekwencja Ballet, synteza widoku 4 na podstawie widoku 3

6.1.2. R

EDUKCJA BŁĘDÓW SPOWODOWANYCH ROZMYCIEM KRAWĘDZI W RZECZYWISTYCH MAPACH GŁĘBI

Poza opisanym w punkcie 6.1.1 usuwaniem pęknięć, w pośredniej wirtualnej mapie głębi usuwane są również te obszary, których powstanie mogło wynikać z rozmycia krawędzi w rzeczywistych mapach głębi. Obszary takie charakteryzują się niewielką szerokością (do kilku okresów próbkowania) i mniejszą od otoczenia głębią. Wirtualna mapa głębi z tego rodzaju błędami została pokazana na rysunku 6.14. Opisywane błędy są widoczne jako małe jasne obszary na tle ciemniejszego, mającego większą głębię otoczenia.

A B

Występowanie nieistniejących obiektów w wirtualnej mapie głębi spowodowane rozmyciem krawędzi w rzeczywistej mapie głębi (sekwencja Poznan_Blocks (A) i jej fragment (B), synteza z widoku 7 do widoku 4)

Eliminacja takich obszarów jest kluczową kwestią dla osiągnięcia zadowalającej jakości subiektywnej podczas wirtualnej nawigacji, co jest to spowodowane małą wartością głębi tych obszarów. Niewyeliminowanie błędów spowodowanych rozmytymi krawędziami skutkuje tym, iż niepoprawnie zsyntezowane obszary znajdują się blisko widza (mają mniejszą głębię niż otoczenie), a więc podczas wirtualnego poruszania się w scenie wydają się szybko przemieszczać, skupiając na sobie uwagę widza.

Do usunięcia opisywanych błędów zaproponowano algorytm (rysunek 6.15), w którym głębia każdego punktu wirtualnej mapy głębi porównywana jest z głębią jego sąsiadów. Opracowany algorytm pozwala na dokładniejszą eliminację błędnych obszarów, niż często stosowana filtracja medianowa [Jun-Te’15, Liu’12, Senoh’17A].

Schemat eliminacji rozmytych krawędzi rzeczywistych map głębi:

– głębia analizowanego punktu; , – głębia punktów z lewej i prawej strony analizowanego punktu;

, – głębia punktu powyżej i poniżej analizowanego punktu

W celu eliminacji jak największej liczby punktów z błędną głębią, głębia każdego punktu jest porównywana z głębią punktów sąsiadujących zarówno w pionie, jak i w poziomie. Jeżeli oba sąsiadujące punkty charakteryzują się większą głębią, niż punkt analizowany, wartość głębi dla tego punktu jest usuwana, a on sam jest traktowany jako punkt nieprzerzutowany.

Wynik działania zaproponowanej techniki zaprezentowano na rysunku 6.16, pokazując te same fragmenty mapy głębi, jak na rysunku 6.14.

A B

Eliminacja nieistniejących obiektów w wirtualnej mapie głębi (sekwencja Poznan_Blocks (A) i jej fragment (B), synteza z widoku 7 do widoku 4)

Zaprezentowane podejście ma jedną wadę: podczas eliminacji obiektów z niepoprawną głębią usunięte mogą zostać również istniejące obiekty charakteryzujące się niewielkim obszarem i mniejszą głębią niż głębia punktów w jego otoczeniu. Jednakże, eliminacja szybko przemieszczających się w scenie nieistniejących w rzeczywistości obiektów rekompensuje ewentualny brak drobnych szczegółów syntezowanego widoku [Mieloch’16].

6.2. E

LIMINACJA EFEKTÓW ROZMYTYCH KRAWĘDZI W WIDOKACH