23
Tworzenie obrazów panoramicznych i map otoczenia Creating Full View Panoramic Image Mosaic and Environment Maps Richard Szeliski Heung-Yeung Shum Microsoft Research Prezentacja Arkadiusz Janicki

Tworzenie Obrazów Panoramicznych (seminarium)

Embed Size (px)

Citation preview

Page 1: Tworzenie Obrazów Panoramicznych  (seminarium)

Tworzenie obrazów panoramicznychi map otoczenia

Creating Full View Panoramic Image Mosaic and Environment Maps

Richard SzeliskiHeung-Yeung ShumMicrosoft Research

PrezentacjaArkadiusz Janicki

Page 2: Tworzenie Obrazów Panoramicznych  (seminarium)

O czym opowiemy?

• Panoramy cylindryczne i sferyczne• Reprezentacja 8-parametrowa• Reprezentacja 3-parametrowa• Obliczanie ogniskowej• Redukcja „dziur” między zdjęciami• Rzutowanie mapy na figury

Page 3: Tworzenie Obrazów Panoramicznych  (seminarium)

Metody pobierania obrazów

• Film (pojedyncze klatki)• Obiektyw szerokokątny - rybie oko

(jedno zdjęcie, kilka zdjęć)• Lustra (w kształcie piramidy, paraboliczne)• Seria zdjęć (np. z aparatu cyfrowego)

Page 4: Tworzenie Obrazów Panoramicznych  (seminarium)

Tworzenie mozaiki z obrazów- metoda geometryczna

• Przekształcamy współrzędne (X,Y,Z) na współrzędne cylindryczne (Θ; v)

• Przekształcenie (X,Y,Z) na współrzędne sferyczne (Θ; v)

(proste poziome linie zostają zakrzywione)

Page 5: Tworzenie Obrazów Panoramicznych  (seminarium)

Dla każdego zdjęcia obliczamy przesunięcie δtOraz błąd względny E(δt)

xi=(xi, yi) = x’i=(x’i, y’i) - odpowiednie punkty na dwóch obrazkach

po przekształceniach wzór przyjmuje postać:

ei = I1(x’i) – I0(xi) – błąd koloru i/lub natężeniagi

T = ΔI1(x’i) – gradient I1 w x’i

Minimalizacja błędu sprowadza się do rozwiązania równania:

Page 6: Tworzenie Obrazów Panoramicznych  (seminarium)

Panorama skonstruowana za pomocą prostego algorytmu

Page 7: Tworzenie Obrazów Panoramicznych  (seminarium)

Ograniczenia panoram opartych na wsp. cylindrycznych i sferycznych

• Możemy jedynie uzyskać efekt przewijania obrazu

• Duże błędy w okolicach biegunów• Wymagana znajomość ogniskowej obiektywu

Page 8: Tworzenie Obrazów Panoramicznych  (seminarium)

Panoramy perspektywiczne(8-parametrowe)

• Perspektywa powstaje poprzez przekształcenie obrazu za pomocą 8 parametrów

Page 9: Tworzenie Obrazów Panoramicznych  (seminarium)

Minimalizacja błędu

Minimalizujemy błąd E(d) poprzez iteracyjne poprawianie parametru d

Współrzędne Jd (Jacobian) odpowiadają optycznym przekształceniom spowodowanym przez obrót płaszczyzny w 3D.

Page 10: Tworzenie Obrazów Panoramicznych  (seminarium)

8-parametrowa reprezentacja

• Dobrze oblicza przesunięcia dla mało oddalonych punktów

• Duża złożoność obliczeniowa• W niektórych przypadkach zawodzi

Rozwiązanie?

Page 11: Tworzenie Obrazów Panoramicznych  (seminarium)

Panoramy obrotowe (3-parametrowe)

Dla aparatu umieszczonego w centrum relacje pomiędzy punktem p(X,Y,Z) i współrzędnymi na ekranie x=(x,y,1) mogą być opisane przez:

T – przemieszczenie obrazuV – skalowanie ogniskowejR - obrót

Page 12: Tworzenie Obrazów Panoramicznych  (seminarium)

Panoramy obrotowe (3-parametrowe)

Obracając kamerę wokół środka sceny mapowanie pomiędzy dwoma obrazkami k i l wyraża się przez M ~ VkRkRl

−1Vl-1

Zakładając, że ogniskowa jest taka sama dla wszystkich zdjęć uaktualniamy Rk za pomocą Ω=(ω1, ω2, ω3) M ~ VR(Ω )RkRl

−1V-1

Uaktualniamy Rk za pomocą Ω

Page 13: Tworzenie Obrazów Panoramicznych  (seminarium)

Panoramy 3-parametrowe wykrywanie obrotów

Następnie ta wartość posłuży nam do uaktualnienia zmiennej Rk

Page 14: Tworzenie Obrazów Panoramicznych  (seminarium)

Rejestracja czterech dowolnie obróconych zdjęć

Page 15: Tworzenie Obrazów Panoramicznych  (seminarium)

Obliczanie ogniskowej

Aby zastosować technikę obrotów 3D musimy znać ogniskową aparatu. Z 8-parametrowego algorytmu mamy:

i po przekształceniach otrzymujemy

lub

Podobnie dla f1. Jeśli f0 i f1 różnią się, możemy przyjąć f = (f1f0)1/2

Dla większej ilości zdjęć za ogniskową przyjmujemy medianę wartości.

Page 16: Tworzenie Obrazów Panoramicznych  (seminarium)

Usuwanie „dziur” między zdjęciami

• Rejestrowanie obrazka z obu stron - na początku i na końcu sekwencji

• Globalnie obliczony błąd jest dzielony uczciwie na wszystkie obrazki

• Na podstawie błędu możemy też zaktualizować ogniskową

Page 17: Tworzenie Obrazów Panoramicznych  (seminarium)

Usuwanie „dziur” między zdjęciami

Błąd pomiędzy ostatnim a pierwszym zdjęciem w sekwencji (32o) spowodowany przyjęciem złej ogniskowej.

Widok rejestracji po poprawieniu błędu (9%).

Page 18: Tworzenie Obrazów Panoramicznych  (seminarium)

Tworzenie map otoczenia

• Konwersja do cylindrycznej bądź sferycznej mapy (do oglądania wymagane jest odpowiednie oprogramowanie)

• Obliczanie kolorów za pomocą promieni 3D• ...

Page 19: Tworzenie Obrazów Panoramicznych  (seminarium)

Tworzenie map otoczenia

• Alternatywne rozwiązanie wykorzystuje tradycyjne techniki – wyświetlanie wielokątów z nałożonymi teksturami

• Figurą na którą jest mapowana tekstura może być prosty sześcian, podzielona na małe trójkąty sfera, lub podobna figura

• Wykorzystanie trójkątów pozwala na sprzętową akcelerację wyświetlania

• Dobór modelu zależy od potrzeb (bardziej skomplikowane mają lepszą jakość, mniej skomplikowane lepiej sprawdzają się np. przy zastosowaniach sieciowych

Page 20: Tworzenie Obrazów Panoramicznych  (seminarium)

Rzutowanie obrazu na figurę

Rzutowanie następuje w czterech krokach:2. Malujemy każdy trójkąt w przestrzeni (u,v) unikalnym kolorem3. Dla każdego trójkąta oblicz mapowanie (u,v,1) -> (X,Y,Z)4. Oblicz teksturę dla każdego trójkąta5. Zamaluj każdy trójkąt obliczoną teksturą

Page 21: Tworzenie Obrazów Panoramicznych  (seminarium)

Eliminowanie artefaktów

• Generujemy tekstury odrobinę większe, aby wystawały poza trójkąt (bilinear texturing, MIP mapping)

• Powiększamy nieco trójkąty aby generowany obraz powstawał ze zmiksowania kolorów

• Algorytm może być zastosowany również do mapowania obrazu na specyficzny obiekt (inverse texture mapping)

Page 22: Tworzenie Obrazów Panoramicznych  (seminarium)

Obrazy rzutowane na sześcian

Page 23: Tworzenie Obrazów Panoramicznych  (seminarium)

syntetyczny cukierek