W niedawnym poście na blogu Google szczegółowo opisał technologię stojącą za nową funkcją oświetlenia portretowego, która zadebiutowała w telefonach Pixel 5 i Pixel 4a 5G.
Po kilku przeciekach i plotkach Google w końcu zaprezentował Pixel 5 i Pixel 4a 5G na początku tego roku, we wrześniu. Zgodnie z oczekiwaniami, urządzenia były dostarczane z wieloma nowe funkcje Aparatu Google co odróżnia je od innych telefonów z systemem Android dostępnych na rynku. Należą do nich Cinematic Pan umożliwiający panoramowanie filmów bez drgań, tryby zablokowanej i aktywnej stabilizacji, tryb nocny Obsługa wzroku w trybie portretowym oraz funkcja oświetlenia portretowego umożliwiająca dostosowanie oświetlenia portretów automatycznie. Kilka tygodni po uruchomieniu Google udostępniło większość tych funkcji dla starsze urządzenia Pixel poprzez aktualizację Zdjęć Google. Teraz firma podzieliła się kilkoma szczegółami na temat technologii stojącej za funkcją oświetlenia portretowego.
Według niedawnego post na blogu
od firmy funkcja światła portretowego została zainspirowana światłami zewnętrznymi używanymi przez fotografów portretowych. Poprawia jakość zdjęć portretowych poprzez modelowanie źródła światła z możliwością zmiany położenia, które można dodać do sceny. Po dodaniu automatycznie sztuczne źródło światła automatycznie dostosowuje kierunek i intensywność, aby uzupełnić istniejące oświetlenie zdjęcia, korzystając z uczenia maszynowego.Jak wyjaśnia Google, funkcja ta wykorzystuje nowatorskie modele uczenia maszynowego, które zostały przeszkolone przy użyciu zróżnicowanego zestawu danych zdjęć zarejestrowanych w Scena Światła obliczeniowy system oświetlenia. Modele te umożliwiają dwie możliwości algorytmiczne:
- Automatyczne rozmieszczanie światła kierunkowego: w oparciu o algorytm uczenia maszynowego funkcja automatycznie umieszcza światło sztuczne źródło światła odpowiadające sposobowi, w jaki profesjonalny fotograf umieściłby w rzeczywistości źródło światła znajdujące się poza aparatem świat.
- Syntetyczne ponowne oświetlenie po przechwyceniu: w oparciu o kierunek i intensywność istniejącego światła w a w przypadku zdjęcia portretowego algorytm uczenia maszynowego dodaje światło syntetyczne, które wygląda realistycznie naturalny.
Na potrzeby automatycznego rozmieszczania światła kierunkowego Google wytrenował model uczenia maszynowego w celu oszacowania a wysoki zakres dynamiki, wielokierunkowy profil oświetlenia dla sceny na podstawie portretu wejściowego. To nowe model szacowania oświetlenia potrafi znaleźć kierunek, względną intensywność i kolor wszystkich źródeł światła w scenie pochodzących ze wszystkich kierunków, biorąc pod uwagę twarz jako: sonda świetlna. Szacuje również stanowisko głowy podmiotu za pomocą a Siatka czołowa MediaPipe. Na podstawie powyższych danych algorytm wyznacza następnie kierunek światła syntetycznego.
Po ustaleniu kierunku i intensywności światła syntetycznego następny model uczenia maszynowego dodaje źródło światła syntetycznego do oryginalnego zdjęcia. Drugi model został wytrenowany przy użyciu milionów par portretów, zarówno z dodatkowym oświetleniem, jak i bez niego. Ten zbiór danych został wygenerowany poprzez sfotografowanie siedemdziesięciu różnych osób przy użyciu obliczeniowego systemu oświetlenia Light Stage, czyli sferyczny zestaw oświetleniowy składający się z 64 kamer z różnymi punktami widzenia i 331 indywidualnie programowalnych świateł LED źródła.
Każdy z siedemdziesięciu obiektów został uchwycony przy oświetleniu pojedynczym światłem (OLAT) każdą z 331 diod LED. To wygenerowało ich pole odbicia, tj. ich wygląd oświetlony przez dyskretne sekcje sferycznego środowiska. Pole odbicia kodowało unikalny kolor i właściwości odbijania światła skóry, włosów i ubrania fotografowanej osoby oraz określało, jak błyszczący lub matowy był każdy materiał na zdjęciach.
Te obrazy OLAT zostały następnie liniowo dodane do siebie, aby uzyskać realistyczne obrazy obiektu, tak jak wyglądałyby na każdym innym zdjęciu środowisko oświetleniowe oparte na obrazie, ze złożonymi zjawiskami transportu światła, takimi jak rozpraszanie podpowierzchniowe poprawnie reprezentowany.
Następnie, zamiast trenować algorytm uczenia maszynowego, aby bezpośrednio przewidywał wyjściowe obrazy z relitem, Google wytrenował model tak, aby generował obraz o niskiej rozdzielczości obraz ilorazowy które można zastosować do oryginalnego obrazu wejściowego w celu uzyskania pożądanego wyniku. Metoda ta jest wydajna obliczeniowo i umożliwia jedynie zmiany oświetlenia o niskiej częstotliwości wpływając na szczegóły obrazu o wysokiej częstotliwości, które są bezpośrednio przenoszone z obrazu wejściowego w celu utrzymania jakość.
Co więcej, Google wytrenował model uczenia maszynowego, aby emulował zachowanie optyczne źródeł światła odbijających się od stosunkowo matowych powierzchni. W tym celu firma wytrenowała model w celu oszacowania normalnych powierzchni na podstawie zdjęcia wejściowego, a następnie zastosowała go Prawo Lamberta do obliczenia „mapy widoczności światła” dla żądanego kierunku oświetlenia. Ta mapa widoczności światła jest następnie dostarczana jako dane wejściowe do predyktora obrazu ilorazowego, aby zapewnić przeszkolenie modelu przy użyciu spostrzeżeń opartych na fizyce.
Chociaż wszystko to może wydawać się długim procesem, którego przetworzenie zajęłoby sprzętowi średniej klasy Pixela 5 sporo czasu, Google twierdzi, że funkcja światła portretowego została zoptymalizowana do działania z interaktywną liczbą klatek na sekundę na urządzeniach mobilnych, przy całkowitym rozmiarze modelu poniżej 10MB.