Z · w metrachZnormalizowany · bezużytecznyDeep · po coSTMapa · undistort
Rozdział 35 / W CG

Geometria plate'u: Z-depth i dystorsja

Dwie rzeczy muszą się zgadzać, zanim cokolwiek dołożysz: gdzie naprawdę jest głębia i jak obiektyw wygiął obraz. Obie potrafią wyglądać dobrze i być kompletnie błędne.

TL;DR
Odczyt · plate jako protokół pomiarowy

Cztery liczby ukryte w obrazie

Raport zdjęciowy bywa niekompletny, spóźniony albo nieprawdziwy — a praca ma iść dalej. Na szczęście obraz sam niesie dowody, bo każde zjawisko z tej książki jest funkcją parametrów kamery i daje się odwrócić.

Kąt widzenia z prostych. Dwie równoległe w scenie proste, biegnące ku horyzontowi, przecinają się w kadrze w punkcie zbiegu. Odległość tego punktu od środka kadru wiąże się z kątem, pod jakim proste biegły — a mając dwie takie pary o znanym kącie, na przykład dwie krawędzie prostokątnego budynku, kąt widzenia wyznacza się jednoznacznie.

Wysokość kamery z horyzontu. Linia horyzontu przecina każdą pionową rzecz na wysokości oka kamery. Człowiek, którego horyzont przecina na wysokości pasa, mówi, że kamera stała mniej więcej metr nad ziemią — bez żadnego rachunku i z dokładnością wystarczającą do zaczęcia pracy.

Przysłona z rozmycia. Znając odległość ostrzenia i mierząc średnicę krążka rozmycia jakiegoś punktowego światła w tle, przysłonę liczy się wprost ze wzoru na głębię z Dodatku E.

Kąt migawki ze smugi. Stosunek długości smugi do przesunięcia między klatkami to kąt migawki wyrażony ułamkiem — rachunek z Dodatku R.

Dowody w kadrzeco gdzie czytać
horyzont = wysokość kamery punkt zbiegu → kąt widzenia postać przecięcie na pasie ≈ 1 m krążki w tle → przysłona smuga → kąt migawki cztery pomiary, żadnych metadanych — każdy odwraca jedno zjawisko z tej książki
Każdy z czterech odczytów jest odwróceniem wzoru z wcześniejszych części. Optyka opisana w jedną stronę daje się czytać w drugą — i to jest najbardziej praktyczne zastosowanie całej tej książki.

Warto zauważyć, że te pomiary kontrolują się nawzajem. Kąt widzenia zmierzony z punktów zbiegu musi zgadzać się z ogniskową z raportu przy właściwej bramce. Jeśli nie zgadza się, jedna z trzech rzeczy jest błędna — i sam fakt niezgodności jest cenną informacją, bo wskazuje, gdzie szukać.

Dystorsja · zdejmowanie i zakładanie

Kadr, który nie jest prostokątem

Obiektyw rzadko odwzorowuje proste jako proste. Dystorsja beczkowata i poduszkowata z Rozdziału 12 to odchylenie rzeczywistego kadru od tego, co zakłada każde narzędzie do trackingu i każda kamera renderera.

Ma to konsekwencję, która bywa źródłem długich poszukiwań: element dopasowany do zniekształconego plate'u trzyma się w środku kadru i rozjeżdża przy brzegach. Przyczyna jest oczywista, gdy się ją nazwie — renderer rysuje idealny rzut perspektywiczny, a plate go nie ma.

Standardowe postępowanie jest trzyetapowe i warto rozumieć, dlaczego akurat takie.

Etap 1: zdjąć dystorsję z plate'u. Powstaje obraz zgodny z rzutem perspektywicznym — czyli z tym, co renderer i tracker umieją. Przy okazji obraz nieco się rozciąga na brzegach, więc trzyma się większy prostokąt niż oryginał.

Etap 2: pracować na wyprostowanym. Tracking, ustawienie kamery, render elementu — wszystko w świecie bez dystorsji, gdzie proste są proste i geometria się zgadza.

Etap 3: nałożyć dystorsję na element i złożyć z oryginałem. Nie na wyprostowany plate — na oryginalny, nietknięty. W ten sposób plate nigdy nie przechodzi przez przepróbkowanie, a więc nie traci ostrości ani ziarna.

Trzy etapyi dlaczego plate wraca nietknięty
plateoryginalny zdjęciedystorsji trackingi render nałożeniedystorsji SKŁADANIEz oryginałem plate omija cały łańcuch bez przepróbkowania, bez utraty ziarna element wraca zniekształcony tak samo
Wyprostowany plate jest narzędziem roboczym, a nie materiałem wyjściowym. Wszystko, co wychodzi do widza, składa się z nietkniętego oryginału i z elementu doprowadzonego do jego geometrii.

Jak zmierzyć dystorsję z siatki, jak zapisać ją jako STMapę i dlaczego STMapa bywa lepsza od wzoru — Dodatek V.

Skala · skąd wiadomo, jak duży jest świat

Jedna miara zamiast dziesięciu domysłów

Tracking daje kamerę poruszającą się w przestrzeni, ale nie daje jej skali. Ta sama chmura punktów opisuje pokój przemierzany krokiem i stadion przemierzany biegiem — obraz nie zawiera informacji o wielkości sceny i zawierać jej nie może, bo perspektywa jest niezmiennicza względem skalowania.

Wynika stąd, że skalę trzeba wnieść z zewnątrz, i wystarczy do tego jedna zmierzona odległość. Jedna, nie kilka — wszystkie pozostałe wynikają z niej przez proporcje, które tracking już zna.

Najwygodniejsze źródła tej jednej liczby, w kolejności od najpewniejszego:

Warto pamiętać o rzeczy, która czyni ten krok ważniejszym, niż wygląda: skala wchodzi w każde zjawisko zależne od odległości. Głębia ostrości, natężenie świateł spadające z kwadratem odległości, rozmycie ruchu liczone z prędkości — wszystkie te rzeczy będą fałszywe w scenie o złej skali, i to fałszywe w sposób spójny, więc trudny do wykrycia. Scena dwukrotnie za mała da głębię ostrości jak przy makrofotografii, a przyczyna nie będzie widoczna nigdzie poza wynikiem.

Paralaksa · co daje ruch kamery

Dlaczego panorama nie wystarcza

Tracking odczytuje ruch kamery z tego, jak przesuwają się w kadrze punkty sceny. Kluczowa jest tu jedna zależność, którą warto rozumieć, bo tłumaczy większość niepowodzeń: przesunięcie punktu w kadrze zależy od jego odległości tylko wtedy, gdy kamera zmienia położenie.

Przy panoramie z jednego miejsca wszystkie punkty przesuwają się identycznie, bez względu na to, czy leżą metr, czy kilometr od kamery. Wynikało to już z Dodatku R, gdzie prędkość obrazu przy panoramie okazała się niezależna od odległości. Konsekwencja dla trackingu jest ostra: ujęcie kręcone z głowicy, bez przesunięcia, nie zawiera informacji o głębi sceny — i nie ma programu, który by ją stamtąd wydobył.

Paralaksaobrót kontra przesunięcie
kamera się OBRACA bliski daleki oba przesuwają się o tyle samo kamera się PRZESUWA bliski daleki bliski przesuwa się bardziej — stąd głębia
Różnica przesunięć jest jedyną informacją o odległości, jaką niesie ciąg obrazów. Bez przesunięcia kamery ta różnica jest zerowa i nie ma czego mierzyć.

Warto dodać, że wielkość paralaksy zależy nie tylko od tego, ile kamera przejechała, ale od stosunku tej drogi do odległości przedmiotów. Metr przesunięcia przy przedmiotach oddalonych o dwa metry daje paralaksę ogromną; ten sam metr przy panoramie miasta z dachu daje zerową. Ujęcie krajobrazowe z ręki jest więc, z punktu widzenia trackingu, panoramą — mimo że kamera fizycznie się poruszała.

Praktyczne skutki są dwa i oba wypada znać przed rozpoczęciem pracy, a nie po.

Ujęcie z samej panoramy rozwiązuje się jako obrót i tylko jako obrót. Da się w nie wstawić element odległy albo element trzymający się jednej płaszczyzny, ale nie da się zbudować przestrzeni. Nie jest to wada narzędzia; jest to brak danych.

Mała paralaksa jest gorsza niż żadna. Ujęcie z ledwie zauważalnym przesunięciem daje rozwiązanie o dużej niepewności — kamera dryfuje, punkty pływają, a wynik wygląda na błąd trackingu, choć jest poprawnym rozwiązaniem źle uwarunkowanego zadania. Wtedy uczciwiej jest potraktować ujęcie jak panoramę, niż walczyć o głębię, której w nim nie ma.

Plan zdjęciowy · o co poprosić

Materiały, których później nie da się odtworzyć

Część informacji z tego rozdziału daje się wydobyć z obrazu, ale znacznie taniej jest zebrać ją na planie. Poniższa lista to rzeczy, których nieobecność kosztuje potem godziny — uporządkowane według tego, ile kosztują na planie.

Lista z planukoszt tam kontra koszt tutaj
CONA PLANIEBEZ TEGOCO DAJE siatka na tym samym szkle2 mingodzinydystorsja kule chromowa i szara1 minzgadywanieoświetlenie pomiar jednej odległości1 minniepewna skalaskala sceny zdjęcia otoczenia z ręki5 minnieodtwarzalnetło i odbicia wysokość i pochylenie30 spomiar z obrazuustawienie kamery raport: szkło, T, ostrość0 — i tak powstajecztery pomiarywszystko naraz czysty plate bez aktorajedno ujęcierekonstrukcja tłazdejmowanie rzeczy
Sześć pierwszych pozycji kosztuje na planie łącznie kwadrans. Bez nich każda z nich kosztuje potem od godziny do „nie da się”.

Dwie pozycje z tej listy zasługują na komentarz, bo bywają pomijane jako oczywiste.

Siatka musi być z tego samego szkła i z tej samej przysłony. Dystorsja zależy od obiektywu, a przy zoomie także od ogniskowej — siatka z innego szkła opisuje inny kadr. Przy zoomie warto mieć ją z obu końców zakresu i ze środka, bo dystorsja zmienia się w trakcie i potrafi zmienić znak.

Zdjęcia otoczenia z ręki są warte więcej, niż kosztują. Nie chodzi o precyzyjną mapę oświetlenia, tylko o to, żeby wiedzieć, co stało dookoła — odbicia w scenie CG muszą mieć co odbijać, a pamięć ludzka nie przechowuje układu jasnych i ciemnych plam w pomieszczeniu.

Ostatnia uwaga dotyczy formy. Zapisz te rzeczy tak, żeby dało się je znaleźć bez ciebie — w nazwie pliku, w notatce obok ujęcia, w tym samym katalogu. Materiał zebrany na planie i zagubiony w strukturze folderów jest praktycznie równoważny materiałowi niezebranemu, a kosztował więcej.

Z praktyki

Zmierz kąt widzenia z obrazu, nawet gdy masz raport. Zajmuje to kilka minut i wychwytuje najczęstsze pomyłki: złą bramkę, nieudokumentowane przycięcie i zapisaną ogniskową zooma, która w trakcie ujęcia się zmieniała.

Nigdy nie składaj na wyprostowanym plate'cie. Każde przepróbkowanie zmiękcza obraz i rozmazuje ziarno. Plate ma przejść przez łańcuch dokładnie raz — jako tło przy składaniu, w oryginalnej postaci.

Zapisz skalę razem ze sceną, w metrach. Nie „jednostka to mniej więcej metr”, tylko konkretnie: co zmierzono, ile wyszło i skąd ta liczba. Jest to informacja, której nie da się odtworzyć z plików, gdy ujęcie wraca po miesiącu.

Słowniczek
punkt zbiegu
Miejsce w kadrze, w którym schodzą się obrazy prostych równoległych w scenie. Nośnik informacji o kącie widzenia.
zdjęcie dystorsji
Przekształcenie obrazu do idealnego rzutu perspektywicznego. Operacja robocza, nie wynikowa.
STMapa
Obraz, którego wartości pikseli mówią, skąd wziąć piksel źródłowy. Zapis dowolnego przekształcenia geometrii.
skala sceny
Przelicznik między jednostkami trackingu a metrami. Nie wynika z obrazu — trzeba ją wnieść z pomiaru.
przepróbkowanie
Ponowne policzenie wartości pikseli po przekształceniu geometrii. Każde kosztuje trochę ostrości.
Idź głębiej
Dodatek G — Modele dystorsji: Brown–Conrady i dywizyjny Dodatek U — Z-depth i deep w praktyce Dodatek V — STMapy: budowa, próbkowanie, filtrowanie