• Nie Znaleziono Wyników

5. Proponowana metoda syntezy widoków wirtualnych

5.4. Wypełnianie odsłonięć

Widok wirtualny stworzony na podstawie dwóch najbliższych widoków rzeczywistych zawiera obszary odsłonięte czyli obszary, które nie były widoczne ani w najbliższym lewym, ani w najbliższym prawym widoku rzeczywistym. W trzecim etapie zaproponowanego algorytmu syntezy obszary odsłonięte są wypełniane przy wykorzystaniu informacji z pozostałych widoków rzeczywistych.

Wykorzystanie dalszych widoków rzeczywistych do syntezy widoku wirtualnego jest znanym podejściem [Ceulemans’18, Fachada’18A, Li’18, Zhu’16B]. Opisane w literaturze metody nie pozwalają jednak na uzyskanie widoków wirtualnych dobrej jakości w przypadku systemów z rzadkim rozmieszczeniem kamer. W metodach opisanych w pracach [Ceulemans’18] i [Fachada’18A] barwa punktów w widoku wirtualnym wyznaczana jest poprzez zmieszanie barwy punktów przerzutowanych ze wszystkich widoków rzeczywistych (dalsze widoki traktowane są tak samo, jak widoki bliższe). Takie podejście jest wrażliwe na błędy w mapach głębi oraz błędy wynikające z ograniczonej rozdzielczości obrazu, a tym samym nie sprawdza się w przypadku sekwencji zarejestrowanych za pomocą rzadkich systemów wielokamerowych. Metody oparte na wypełnianiu odsłonięć za pomocą informacji z dalszych widoków rzeczywistych opisano w pracach [Li’18] i [Zhu’16B]. Metody te łączą jednak dwie

podstawowe wady: podatność na błędy w mapach głębi oraz fakt, że z dalszych widoków rzutowane są jedynie punkty tła. Podejście takie jest całkowicie błędne w przypadku skomplikowanej sceny zarejestrowanej za pomocą rzadkiego systemu wielokamerowego (np. sekwencji BBB Flowers).

Technika wypełniania odsłonięć opracowana przez autora rozprawy nie ma wspomnianych niedoskonałości, przez co umożliwia poprawne rzutowanie punktów z dalszych widoków rzeczywistych również dla sekwencji zarejestrowanych przy użyciu rzadko rozmieszczonych kamer.

5.4.2. O

PRACOWANA TECHNIKA WYPEŁNIANIA ODSŁONIĘĆ

Zgodnie ze schematem przedstawionym na rysunku 5.1, do wypełniania odsłonięć używane są pośrednie widoki wirtualne (wraz z mapami głębi) przerzutowane z dalszych widoków rzeczywistych.

Podczas wypełniania odsłonięć nie jest więc konieczne wykonywanie kolejnych rzutowań.

Podczas wypełniania analizowane są wyłącznie te punkty połączonego widoku wirtualnego, które nie zostały przerzutowane z widoków sąsiednich. Dla każdego z nich sprawdzany jest podstawowy warunek – czy punkt został przerzutowany (patrz: (1.7)) z co najmniej jednego widoku rzeczywistego.

Jeżeli powyższy warunek nie jest spełniony, dany punkt nie jest wypełniany. Jeżeli punkt został przerzutowany wyłącznie z jednego widoku, jego barwa jest wprost kopiowana. W przypadku, gdy punkt został przerzutowany z większej liczby widoków, porównywana jest wartość przerzutowanej głębi dla każdego z nich. Spośród wszystkich kandydatów wybierany jest zbiór punktów oznaczany jako P. Zbiór ten zawiera te punkty, które reprezentują najbliższy z obiektów (punkty charakteryzujące się najmniejszą wartością głębi).

Dla przykładu, rozważmy przypadek sześciu pośrednich widoków wirtualnych i odpowiadających im map głębi. Wartość głębi dla poszczególnych kandydatów (odpowiadających sobie punktów w kolejnych pośrednich widokach wirtualnych: 1, 2, 3, 4, 5 i 6) wyniosła: 50, 51, x, 50, 80, 82 (gdzie „x” oznacza, iż w danym widoku pośrednim (widoku 3) analizowany punkt nie został zsyntezowany). Wartości głębi 50, 51 i 50 odpowiadają obiektowi bliższemu, niż wartości 80 i 82. Takie wartości głębi w poszczególnych widokach oznaczają, iż bliższy z obiektów nie był w ogóle widoczny w ostatnich dwóch widokach, w których w jego miejscu zsyntezowano obiekt dalszy.

W przedstawionym przypadku barwa punktu w widoku wirtualnym będzie zmieszaną barwą punktów z widoku pierwszego, drugiego i czwartego.

Jeżeli zbiór P zawiera wyłącznie jeden punkt (a więc głębia w jednym widoku była zdecydowanie mniejsza, niż w pozostałych widokach), do widoku wirtualnego kopiowana jest barwa punktu z danego widoku. W innych przypadkach barwa punktu w wypełnianym obszarze odsłoniętym wyznaczana jest poprzez mieszanie barwy przerzutowanej z kilku widoków rzeczywistych. Tak jak w przypadku mieszania barw z najbliższych widoków (5.7), należy zapewnić łagodną zmianę barwy

obiektów podczas zmiany punktu widzenia. Tym samym, mieszanie barw z różnych widoków jest realizowane poprzez średnią ważoną wyznaczaną ze wzoru:

( , ) ∑ ( , ) ⋅ − ( , ) odległością między kamerą wirtualną a -tą kamerą rzeczywistą, a jest sumą odległości wszystkich kamer rzeczywistych do kamery wirtualnej:

( , )

.

Powyższy sposób postępowania dobrze sprawdza się dla sekwencji z idealnymi mapami głębi (na przykład dla sekwencji syntetycznych, takich jak BBB Butterfly i BBB Flowers). W przypadku sekwencji z algorytmicznie wyznaczonymi mapami głębi, w których występują różnego rodzaju błędy i niedoskonałości, sposób postępowania musiał zostać zmodyfikowany. Dla każdego punktu sprawdzane jest, czy punkt został przerzutowany z co najmniej widoków rzeczywistych, gdzie jest pewną liczbą naturalną. Jeżeli dany punkt obszaru odsłoniętego był widoczny w mniej niż widoków, nie jest on wypełniany z innych kamer. W przeciwnym wypadku, tak jak wcześniej opisano, tworzony jest zbiór P zawierający te punkty, dla których wartość głębi była najmniejsza. Jeżeli zbiór P zawiera lub mniej punktów, analizowany punkt widoku wirtualnego nie jest wypełniany, jeżeli jest większy, barwa analizowanego punktu jest liczona zgodnie z (5.8).

Im większa wartość parametru , tym więcej dalszych widoków rzeczywistych, w których dany punkt musiał mieć podobną głębię jest potrzebne, aby punkt został uzupełniony. Logicznym jest, iż w przypadku systemów z rzadkim rozmieszczeniem kamer, gdzie liczba widoków rzeczywistych jest mocno ograniczona, a scena rejestrowana była pod różnymi kątami, nie może być zbyt duże.

W przeciwnym wypadku, powierzchnia obszarów odsłoniętych wypełnionych z dalszych kamer drastycznie maleje. Eksperymentalnie stwierdzono, iż 2 wystarcza, by uniknąć większości błędów spowodowanych niepoprawną głębią, jednocześnie nie zmniejszając zanadto powierzchni wypełnianych obszarów.

W punkcie 5.4 opisano sposób wypełniania widoku wirtualnego. Należy podkreślić, iż wraz z widokiem wirtualnym, wypełniana jest wirtualna mapa głębi, a poszczególne próbki tejże mapy głębi wypełniane są w identyczny sposób, jak próbki widoku wirtualnego.

5.4.3. W

YNIKI EKSPERYMENTALNE

Jak pokazano w tabeli 4.3, użycie większej liczby widoków zwiększa powierzchnię widoku wirtualnego, która może zostać przerzutowana z widoków rzeczywistych. W niniejszym punkcie pokazano, iż wypełnianie odsłonięć z dalszych widoków pozwala też na uzyskanie lepszej jakości widoku wirtualnego niż w przypadku uzupełniania tychże obszarów. Aby pokazać wpływ wypełniania odsłonięć z dalszych widoków na jakość widoków wirtualnych przeprowadzono eksperyment.

Dla każdej sekwencji wybrano widok odniesienia (analogicznie jak w przypadku wyników zaprezentowanych w tabeli 4.3, dla obu sekwencji BBB widok 45, dla pozostałych – widok 4), a następnie dokonywano syntezy widoku wirtualnego w pozycji widoku odniesienia. Synteza widoku wirtualnego przeprowadzana była w trzech konfiguracjach:

1. Synteza z dwóch sąsiednich widoków rzeczywistych i uzupełnianie odsłonięć na podstawie otoczenia przy użyciu oprogramowania odniesienia VSRS.

2. Synteza z dwóch sąsiednich widoków rzeczywistych i uzupełnianie odsłonięć na podstawie otoczenia przy użyciu autorskiej metody MVS.

3. Synteza z dwóch sąsiednich widoków rzeczywistych i wypełnianie odsłonięć informacją z dalszych widoków przy użyciu autorskiej metody MVS.

Tabela 5.1. Porównanie wypełniania odsłonięć z użyciem informacji z dalszych widoków i uzupełniania;

PSNR liczony tylko dla obszarów odsłoniętych i widocznych w dalszych widokach, średnia dla wszystkich widoków; dla każdej sekwencji pogrubiono największą wartość PSNR

Sekwencja

Poznan_Blocks 24,10 24,46 23,48

Poznan_Blocks2 19,01 18,76 27,63

Poznan_Fencing2 27,26 27,84 29,23

Poznan_Service2 24,80 24,89 24,97

Ballet 27,21 27,10 28,05

Breakdancers 24,40 24,41 24,43

Soccer Arc 16,70 16,60 20,49

Soccer Linear 32,56 32,52 32,66

Poznan_Carpark 20,00 19,86 20,16

Poznan_Street 23,22 23,33 23,70

Średnio 23,85 24,04 26,01

W tabeli 5.1 porównano jakość widoków wirtualnych syntezowanych z użyciem zaproponowanej techniki wypełniania z dalszych widoków z jakością widoków syntezowanych bez wykorzystania informacji z dalszych widoków. Przedstawione w tabeli 5.1 wyniki wyznaczone zostały wyłącznie dla obszarów odsłoniętych (nieprzerzutowanych z 2 sąsiednich widoków – patrz: (1.8)).

Należy zauważyć, że tylko dla jednej spośród 12 sekwencji testowych (Poznan_Blocks), wypełnianie odsłonięć z użyciem informacji z dalszych widoków nie poprawiło jakości wypełnianych obszarów, co spowodowane jest błędami w mapach głębi, skutkującymi przerzutowaniem z dalszych widoków błędnej informacji.

W poszczególnych sekwencjach różna jest powierzchnia odsłonięć (tabela 4.2), a więc różny jest także wpływ wypełniania z dalszych widoków na ogólną jakość syntezowanego obrazu.

Porównanie jakości widoków syntezowanych wyłącznie z dwóch sąsiednich widoków z jakością widoków syntezowanych przy użyciu informacji z wszystkich widoków rzeczywistych przedstawiono w tabeli 5.2. W tabeli nie zamieszczono wyników dla oprogramowania VSRS ze względu na fakt, iż pozostałe części widoku są inaczej przetwarzane w opracowanej metodzie i oprogramowaniu odniesienia, a tym samym porównanie jakości wypełniania z innych widoków dla różnie syntezowanych widoków byłoby niemiarodajne.

Tabela 5.2. Porównanie wypełniania odsłonięć z użyciem informacji z dalszych widoków i uzupełniania;

PSNR liczony dla całego widoku wirtualnego, średnia dla wszystkich widoków;

dla każdej sekwencji pogrubiono największą wartość PSNR

Sekwencja

Jak pokazano, użycie informacji z dalszych widoków rzeczywistych do uzupełniania odsłonięć pozwala na osiągnięcie lepszej jakości syntezy (wyłączając odznaczającą się błędnymi mapami głębi sekwencję Poznan_Blocks) – tym lepszej, im większa była łączna powierzchnia odsłonięć i im bardziej skomplikowany fragment sceny był przysłonięty w sąsiednich widokach.

Jak zaprezentowano w tabelach 5.1 i 5.2, niemal w każdym przypadku wypełnianie odsłonięć punktami przerzutowanymi z dalszych widoków rzeczywistych pozwala uzyskać lepszą jakość syntezowanego widoku.