• Nie Znaleziono Wyników

5. Proponowana metoda syntezy widoków wirtualnych

5.3. Łączenie sąsiednich pośrednich widoków wirtualnych

′′

⋅ ⋅

1

,

′ , ,

( , ) ( , )

(gdzie operator ⋅ oznacza zaokrąglenie do najbliższej liczby całkowitej) wyliczana jest pozycja w widoku rzeczywistym ( , ) punktu, którego barwa zostanie skopiowana do analizowanego punktu danego pośredniego widoku wirtualnego.

5.3. Ł

ĄCZENIE SĄSIEDNICH POŚREDNICH WIDOKÓW WIRTUALNYCH

5.3.1. W

YBÓR NAJBLIŻSZYCH WIDOKÓW RZECZYWISTYCH

Po stworzeniu pośrednich widoków wirtualnych dla wszystkich widoków rzeczywistych, dokonywane jest łączenie pośrednich widoków wyznaczonych dla najbliższego lewego i najbliższego prawego widoku. Informacja o sąsiedztwie widoków nie jest dana, należy więc wyznaczyć, które dwa widoki zostaną połączone. Różne systemy wielokamerowe charakteryzują się jednak różnym rozmieszczeniem kamer. Wyróżnić można systemy z kamerami rozmieszczonymi liniowo (rysunek 5.5A), na łuku (rysunek 5.5B), równomiernie i parami (rysunek 5.5C). Istotne jest, by dla każdego

A C

B D

Problem wyboru najbliższych rzeczywistych kamer dla różnych systemów wielokamerowych:

A – kamerami rozmieszczone liniowo i równomiernie, B – kamery rozmieszczone równomiernie na łuku, C – kamery rozmieszczone parami, D – kamery rozmieszczone liniowo, wirtualne zbliżenie się do zarejestrowanej sceny;

kolorem białym oznaczono kamery rzeczywiste, kolorem szarym – kamery wirtualne

Najprostszym rozwiązaniem byłoby wyznaczenie odległości euklidesowej pomiędzy rzeczywistą i wirtualną kamerą dla wszystkich kamer rzeczywistych:

( , ) ,, + ,, + ,, ,

gdzie , , , i , są składowymi wektora translacji kamery wirtualnej, a ,, , i , odpowiadają translacji kamery rzeczywistej . Następnie wybrane zostałyby te dwie kamery rzeczywiste, dla których odległość ( , ) jest najmniejsza.

Takie rozwiązanie gwarantowałoby poprawny wybór najbliższych widoków w przypadku równomiernie ustawionych kamer (rysunek 5.5A i 5.5B). Kiedy kamery rozmieszczone są nierównomiernie, dla niektórych pozycji kamery wirtualnej mogłyby zostać wybrane kamery znajdującej się po tej samej jej stronie (np. dwie kamery stojące po lewej stronie, rysunek 5.5C), co zgodnie z wnioskiem płynącym z rozdziału 4.2 przełoży się na gorszą jakość syntezowanego widoku.

Sposób umożliwiający poprawny wybór najbliższej lewej i prawej kamery dla dowolnie rozmieszczonych kamer rzeczywistych wykorzystuje wzór na nierówność trójkąta. W tym podejściu najbliższa rzeczywista kamera wyszukiwana jest zgodnie z (5.4). Druga najbliższa kamera rzeczywista, oznaczona jako musi spełniać warunek:

( , ) ≤ ( , ) ,

a więc odległość pomiędzy kamerą wirtualną i kamerą rzeczywistą musi być mniejsza, niż odległość między obiema wybranymi kamerami rzeczywistymi oraz .

Taki sposób wyznaczania najbliższej lewej i prawej kamery rzeczywistej uniezależnia wybór od ustawienia kamer rzeczywistych. Jednakże, w przypadku gdy kamera wirtualna nie zostanie umieszczona w linii z kamerami rzeczywistymi a na przykład przed nimi, symulując zbliżenie się widza do zarejestrowanej sceny (rysunek 5.5D), rezultat pokazanego rozwiązania będzie błędny. W podanym przykładzie jako pierwsza – poprawnie – zostanie wybrana kamera 1. Drugą kamerą rzeczywistą, która powinna zostać wybrana jest kamera 2, która jest najbliższą rzeczywistą kamerą stojącą po prawej stronie kamery wirtualnej . Jednakże, (2, ) > (2, 1), przez co jako druga najbliższa kamera zostanie błędnie wybrana kamera 3.

Biorąc pod uwagę niedoskonałości wymienionych sposobów, w ramach prac badawczych objętych rozprawą opracowano uniwersalny sposób wyboru sąsiednich kamer rzeczywistych [Dziembowski’18E]. W zaproponowanej technice poszukiwanie najbliższych kamer przeprowadzane jest w przekształconym układzie współrzędnych (rysunek 5.6), mającym swój początek na środku przetwornika kamery wirtualnej i skierowanym tak, by oś ′ pokrywała się z osią optyczną kamery wirtualnej, a osie ′ i ′ były równoległe do, odpowiednio, poziomej i pionowej osi przetwornika kamery wirtualnej.

Przekształcenie globalnego układu współrzędnych do układu współrzędnych kamery wirtualnej

Wektor translacji kamer rzeczywistych w przekształconym układzie współrzędnych otrzymywany jest ze wzoru:

⋅ ( − ) ,

gdzie jest macierzą rotacji kamery wirtualnej, – wektorem translacji -tej kamery w globalnym układzie współrzędnych, a wektorem translacji kamery wirtualnej w globalnym układzie współrzędnych.

Następnie, osobno dla kamer cechujących się dodatnią i ujemną składową translacji , wyznaczana jest odległość euklidesowa pomiędzy kamerą a początkiem układu współrzędnych. Ta z kamer o dodatniej składowej , dla której odległość od początku układu współrzędnych jest najmniejsza, jest najbliższą prawą kamerą rzeczywistą. Lewa najbliższa kamera rzeczywista jest

wybierana spośród kamer cechujących się ujemną składową translacji – i jest to ta spośród nich, której odległość od środka układu współrzędnych jest najmniejsza.

5.3.2. A

LGORYTM ŁĄCZENIA SĄSIEDNICH POŚREDNICH WIDOKÓW WIRTUALNYCH Po wybraniu najbliższej lewej i prawej rzeczywistej kamery następuje proces łączenia wyznaczonych dla nich pośrednich widoków wirtualnych. Po połączeniu, każdy punkt połączonego widoku wirtualnego zawierać będzie barwę przerzutowaną z widoku lewego, z widoku prawego albo wymieszaną barwę z obu widoków. Schemat łączenia widoków przedstawiono na rysunku 5.7.

Schemat łączenia pośrednich widoków wirtualnych:

– barwa punktu w połączonym widoku wirtualnym; , – barwa punktu w lewym i prawym pośrednim widoku wirtualnym; , – głębia punktu przerzutowanego z lewego i prawego widoku rzeczywistego (odległość między

punktem w przestrzeni i płaszczyzną przetwornika kamery wirtualnej)

Dla każdego punktu sprawdzane jest, czy został on przerzutowany z lewego lub prawego widoku rzeczywistego (1.7). Jeżeli został on przerzutowany wyłącznie z widoku lewego, do analizowanego punktu widoku wirtualnego zostanie skopiowana barwa z lewego pośredniego widoku wirtualnego. Analogicznie, jeżeli punkt został przerzutowany tylko z prawego widoku rzeczywistego,

do analizowanego punktu widoku wirtualnego skopiowana zostanie barwa z prawego pośredniego widoku wirtualnego.

Jeżeli punkt został przerzutowany z obu widoków rzeczywistych, porównywana jest wartość głębi przerzutowana z obu widoków. Jeżeli wartości głębi znacznie się różnią (a więc punkty przerzutowane z dwóch widoków reprezentują różne obiekty), do analizowanego punktu skopiowana zostanie barwa z tego widoku rzeczywistego, z którego przerzutowana została mniejsza wartość głębi – a więc barwa punktu reprezentującego bliższy obiekt. W przeciwnym wypadku, a więc jeżeli wartość głębi przerzutowanej z obu widoków rzeczywistych jest podobna, z dużym prawdopodobieństwem punkt reprezentuje ten sam obiekt w obu widokach, a więc jego barwę należy zmieszać.

W celu uniknięcia skokowej zmiany barwy obiektów przy zmianie punktu widzenia (zmianie pozycji kamery wirtualnej), zmieszana barwa punktu powinna zmieniać się w sposób proporcjonalny do odległości pomiędzy kamerą wirtualną i kamerami rzeczywistymi. Mieszanie barw zrealizowano więc poprzez średnią ważoną wyrażoną wzorem:

( , ) ( , ) ⋅ ( , )

( , ) + ( , ) ⋅ ( , ) ( , ) ( , )

( , ) + ( , ) ( , )

,

gdzie ( , ) i ( , ) jest barwą położonego w pozycji ( , ) punktu przerzutowanego z lewego i prawego widoku rzeczywistego, ( , ) i ( , ) jego głębią (odległością punktu w przestrzeni do płaszczyzny przetwornika kamery wirtualnej), a ( , ) i ( , ) odległością euklidesową pomiędzy kamerą wirtualną i – odpowiednio – lewą i prawą kamerą rzeczywistą. Barwa punktu ważona jest zarówno odległością pomiędzy kamerą wirtualną i poszczególnymi kamerami rzeczywistymi (im mniejsza odległość, tym większa waga), jak i wartością głębi (im mniejsza głębia, tym większa waga).

Tak połączony widok wirtualny zawiera błędy wynikające z dwóch podstawowych przyczyn:

rozmycia krawędzi obiektów w widokach rzeczywistych i wzajemnego przesunięcia krawędzi obiektów w widokach i mapach głębi. Oba zjawiska skutkują tym samym, a mianowicie rzutowaniem wąskich obszarów charakteryzujących się niepoprawną barwą (rysunek 5.8B i 5.8C).

W celu poprawy jakości syntezowanego widoku, przeprowadzana jest filtracja połączonego widoku wirtualnego. Zastosowany algorytm filtracji wraz z osiągniętymi rezultatami przedstawiono w rozdziale 6.2.

B

A C

Rzutowanie błędnej barwy przy krawędziach obiektów; (B, C) – powiększone fragmenty obszaru (A) (fragment sekwencji BBB Flowers, synteza z widoku 32 do widoku 45)

W punkcie 5.3 opisano sposób łączenia pośrednich widoków wirtualnych. W identyczny sposób łączone są również odpowiadające im mapy głębi. Tak więc, po połączeniu sąsiednich widoków otrzymywany jest połączony widok wirtualny wraz z odpowiadającą mu mapą głębi.

5.4. W

YPEŁNIANIE ODSŁONIĘĆ