tworzenie obrazów panoramicznych (seminarium)
TRANSCRIPT
![Page 1: Tworzenie Obrazów Panoramicznych (seminarium)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/1.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/2.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/3.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/4.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/5.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/6.jpg)
Panorama skonstruowana za pomocą prostego algorytmu
![Page 7: Tworzenie Obrazów Panoramicznych (seminarium)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/7.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/8.jpg)
Panoramy perspektywiczne(8-parametrowe)
• Perspektywa powstaje poprzez przekształcenie obrazu za pomocą 8 parametrów
![Page 9: Tworzenie Obrazów Panoramicznych (seminarium)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/9.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/10.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/11.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/12.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/13.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/14.jpg)
Rejestracja czterech dowolnie obróconych zdjęć
![Page 15: Tworzenie Obrazów Panoramicznych (seminarium)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/15.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/16.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/17.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/18.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/19.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/20.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/21.jpg)
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)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/22.jpg)
Obrazy rzutowane na sześcian
![Page 23: Tworzenie Obrazów Panoramicznych (seminarium)](https://reader034.vdocuments.net/reader034/viewer/2022042816/559871271a28abad6a8b48a6/html5/thumbnails/23.jpg)
syntetyczny cukierek