Google beskriver teknologien bak Pixels Portrait Light-funksjon

click fraud protection

I et nylig blogginnlegg har Google detaljert teknologien bak den nye Portrait Light-funksjonen som debuterte med Pixel 5 og Pixel 4a 5G.

Etter flere lekkasjer og rykter, avduket Google endelig Pixel 5 og Pixel 4a 5G tidligere i år i september. Som forventet kom enhetene med en rekke nye Google Kamera-funksjoner som skiller dem fra andre Android-telefoner på markedet. Disse inkluderer Cinematic Pan for ristefri panorering på videoer, låste og aktive stabiliseringsmoduser, natt Synsstøtte i portrettmodus, og en portrettlysfunksjon for å justere belysningen av portrettbildene automatisk. Noen uker etter lanseringen ga Google ut de fleste av disse funksjonene for eldre Pixel-enheter via en Google Foto-oppdatering. Og nå har selskapet delt noen detaljer om teknologien bak Portrait Light-funksjonen.

I henhold til en nylig blogg innlegg fra selskapet, Portrait Light-funksjonen ble inspirert av lysene utenfor kameraet brukt av portrettfotografer. Den forbedrer portrettbilder ved å modellere en flyttbar lyskilde som kan legges til scenen. Når den legges til automatisk, justerer den kunstige lyskilden automatisk retningen og intensiteten for å utfylle bildets eksisterende belysning ved hjelp av maskinlæring.

Som Google forklarer, bruker funksjonen nye maskinlæringsmodeller som ble trent ved hjelp av et mangfoldig datasett med fotografier tatt i Lys scene beregningssystem for belysning. Disse modellene muliggjør to algoritmiske funksjoner:

  • Automatisk retningsbestemt lysplassering: Basert på maskinlæringsalgoritmen, plasserer funksjonen automatisk en kunstig lyskilde som stemmer overens med hvordan en profesjonell fotograf ville ha plassert en lyskilde utenfor kameraet i virkeligheten verden.
  • Syntetisk post-capture relighting: Basert på retningen og intensiteten til det eksisterende lyset i en portrettbilde legger maskinlæringsalgoritmen til et syntetisk lys som ser realistisk ut og naturlig.

For den automatiske retningsbestemte lysplasseringen trente Google opp en maskinlæringsmodell for å beregne en høyt dynamisk område, rundstrålende belysningsprofil for en scene basert på et inngangsportrett. Dette nye belysningsestimatmodell kan finne retningen, den relative intensiteten og fargen til alle lyskilder i scenen som kommer fra alle retninger, med tanke på ansiktet som en lyssonde. Den estimerer også hovedinnlegget til emnet ved å bruke en MediaPipe Face Mesh. Basert på de nevnte dataene, bestemmer algoritmen deretter retningen for det syntetiske lyset.

Når den syntetiske belysningens retning og intensitet er etablert, legger den neste maskinlæringsmodellen den syntetiske lyskilden til det originale bildet. Den andre modellen ble trent ved hjelp av millioner av par portretter, både med og uten ekstralys. Dette datasettet ble generert ved å fotografere sytti forskjellige mennesker ved å bruke Light Stage-belysningssystemet, som er en sfærisk lysrigg som inkluderer 64 kameraer med forskjellige synspunkter og 331 individuelt programmerbare LED-lys kilder.

Hvert av de sytti motivene ble fanget mens de ble opplyst ett-lys-om-gangen (OLAT) av hver av de 331 LED-ene. Dette genererte deres reflektansfelt, dvs. deres utseende som opplyst av de diskrete delene av det sfæriske miljøet. Refleksjonsfeltet kodet de unike farge- og lysreflekterende egenskapene til motivets hud, hår og klær og bestemte hvor skinnende eller matt hvert materiale virket på bildene.

Disse OLAT-bildene ble deretter lineært lagt sammen for å gjengi realistiske bilder av motivet slik de ville se ut i alle bildebasert lysmiljø, med komplekse lystransportfenomener som spredning under overflaten riktig representert.

Så, i stedet for å trene maskinlæringsalgoritmen til å forutsi utdataene på nytt belyste bilder direkte, trente Google modellen til å sende ut en lavoppløsning kvotientbilde som kan brukes på det originale inngangsbildet for å produsere ønsket utgang. Denne metoden er beregningseffektiv og oppmuntrer kun til lavfrekvente lysskift uten påvirke høyfrekvente bildedetaljer som overføres direkte fra inngangsbildet for å vedlikeholde kvalitet.

Videre trente Google en maskinlæringsmodell for å emulere den optiske oppførselen til lyskilder som reflekterer fra relativt matte overflater. For å gjøre dette trente selskapet modellen til å estimere overflatenormalene gitt inndatabildet og deretter påført Lamberts lov å beregne et "lyssynlighetskart" for ønsket lysretning. Dette kartet for lyssynlighet gis deretter som input til kvotientbildeprediktoren for å sikre at modellen trenes ved hjelp av fysikkbasert innsikt.

Selv om alt dette kan virke som en langvarig prosess som vil ta Pixel 5s mellomklassemaskinvare litt tid å behandle, Google hevder at Portrait Light-funksjonen ble optimalisert for å kjøre med interaktive bildefrekvenser på mobile enheter, med en total modellstørrelse på under 10 MB.