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 EKSPERYMENTALNEJak 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.