In een recente blogpost heeft Google de technologie achter de nieuwe Portrait Light-functie beschreven die debuteerde op de Pixel 5 en Pixel 4a 5G.
Na verschillende lekken en geruchten onthulde Google eerder dit jaar in september eindelijk de Pixel 5 en Pixel 4a 5G. Zoals verwacht werden de apparaten geleverd met een groot aantal nieuwe Google Camera-functies waarmee ze zich onderscheiden van andere Android-telefoons op de markt. Deze omvatten Cinematic Pan voor trillingsvrij pannen op video's, vergrendelde en actieve stabilisatiemodi, nacht Zichtondersteuning in portretmodus en een portretlichtfunctie om de belichting van portretfoto's aan te passen automatisch. Een paar weken na de lancering bracht Google de meeste van deze functies uit oudere Pixel-apparaten via een Google Foto's-update. En nu heeft het bedrijf enkele details gedeeld over de technologie achter de Portrait Light-functie.
Volgens een recente blogpost van het bedrijf is de Portrait Light-functie geïnspireerd op de verlichting buiten de camera die door portretfotografen wordt gebruikt. Het verbetert portretfoto's door een herpositioneerbare lichtbron te modelleren die aan de scène kan worden toegevoegd. Wanneer de kunstmatige lichtbron automatisch wordt toegevoegd, past hij automatisch de richting en intensiteit aan om de bestaande verlichting van de foto aan te vullen met behulp van machinaal leren.
Zoals Google uitlegt, maakt de functie gebruik van nieuwe machine learning-modellen die zijn getraind met behulp van een diverse dataset van foto's die zijn vastgelegd in de Licht podium computationeel verlichtingssysteem. Deze modellen maken twee algoritmische mogelijkheden mogelijk:
- Automatische plaatsing van gericht licht: op basis van het machine learning-algoritme plaatst de functie automatisch een kunstlicht lichtbron die consistent is met hoe een professionele fotograaf een lichtbron buiten de camera in de werkelijkheid zou hebben geplaatst wereld.
- Synthetische herbelichting na opname: Gebaseerd op de richting en intensiteit van het bestaande licht in een portretfoto, het machine learning-algoritme voegt synthetisch licht toe dat er realistisch uitziet natuurlijk.
Voor de automatische plaatsing van gericht licht heeft Google een machine learning-model getraind om a hoge dynamische afstand, omnidirectioneel verlichtingsprofiel voor een scène op basis van een invoerportret. Deze nieuwe verlichtingsschattingsmodel kan de richting, relatieve intensiteit en kleur vinden van alle lichtbronnen in de scène die uit alle richtingen komen, waarbij het gezicht als een gezicht wordt beschouwd lichte sonde. Het schat ook de hoofdpost van het onderwerp met behulp van a MediaPipe-vlakgaas. Op basis van bovengenoemde gegevens bepaalt het algoritme vervolgens de richting van het synthetische licht.
Zodra de richting en intensiteit van de synthetische verlichting zijn vastgesteld, voegt het volgende machine learning-model de synthetische lichtbron toe aan de originele foto. Het tweede model werd getraind met behulp van miljoenen paren portretten, zowel met als zonder extra licht. Deze dataset is gegenereerd door zeventig verschillende mensen te fotograferen met behulp van het computerverlichtingssysteem Light Stage, dat is een bolvormige verlichtingsinstallatie met 64 camera's met verschillende gezichtspunten en 331 individueel programmeerbare LED-lampen bronnen.
Elk van de zeventig onderwerpen werd vastgelegd terwijl ze met één licht tegelijk (OLAT) werden verlicht door elk van de 331 LED's. Dit leverde hun reflectie veld, dat wil zeggen hun uiterlijk zoals verlicht door de afzonderlijke delen van de bolvormige omgeving. Het reflectieveld codeerde de unieke kleur- en lichtreflecterende eigenschappen van de huid, het haar en de kleding van het onderwerp en bepaalde hoe glanzend of dof elk materiaal op de foto's verscheen.
Deze OLAT-afbeeldingen werden vervolgens lineair bij elkaar opgeteld om realistische afbeeldingen van het onderwerp weer te geven zoals ze in elk ander beeld zouden verschijnen op afbeeldingen gebaseerde verlichtingsomgeving, met complexe lichttransportfenomenen zoals ondergrondse verstrooiing correct weergegeven.
Vervolgens heeft Google, in plaats van het machine learning-algoritme te trainen om de uitgevoerde relit-afbeeldingen rechtstreeks te voorspellen, het model getraind om een lage resolutie uit te voeren quotiënt afbeelding die op het originele invoerbeeld kunnen worden toegepast om de gewenste uitvoer te produceren. Deze methode is computationeel efficiënt en moedigt alleen laagfrequente verlichtingsveranderingen aan zonder Dit heeft invloed op hoogfrequente beelddetails die rechtstreeks vanuit het invoerbeeld worden overgebracht om behouden te blijven kwaliteit.
Bovendien heeft Google een machine learning-model getraind om het optische gedrag te emuleren van lichtbronnen die reflecteren op relatief matte oppervlakken. Om dit te doen, heeft het bedrijf het model getraind om de oppervlaktenormalen te schatten op basis van de invoerfoto en vervolgens toegepast Lamberts wet om een "lichtzichtkaart" te berekenen voor de gewenste verlichtingsrichting. Deze lichtzichtbaarheidskaart wordt vervolgens geleverd als invoer voor de quotiëntbeeldvoorspeller om ervoor te zorgen dat het model wordt getraind met behulp van op fysica gebaseerde inzichten.
Hoewel dit allemaal een langdurig proces lijkt, waarbij de hardware uit het middensegment van de Pixel 5 behoorlijk wat tijd nodig heeft om te verwerken, zegt Google beweert dat de Portrait Light-functie is geoptimaliseerd om te werken met interactieve framesnelheden op mobiele apparaten, met een totale modelgrootte van minder dan 10 MB.