Andersons vinkel

Løsning av “dårlige hårdager” i menneskesynssyntese

mm
Legg til Unite.AI blant dine foretrukne kilder på Google

Siden den gylne alderen til romersk statuar, har avbildning av menneskehår vært en tornete utfordring. Det gjennomsnittlige menneskehode inneholder 100 000 hårstrå, har varierende brytningsindekser etter fargen, og, utover en viss lengde, vil bevege seg og omforme seg på måter som bare kan simuleres av komplekse fysikkmodeller – til dags dato, bare gjennom “tradisjonelle” CGI-metoder.

Fra 2017-forskning av Disney, en fysikkbasert modell prøver å anvende realistisk bevegelse til en flytende hårstil i en CGI-arbeidsflyt. Kilde: https://www.youtube.com/watch?v=-6iF3mufDW0

Fra 2017-forskning av Disney, en fysikkbasert modell prøver å anvende realistisk bevegelse til en flytende hårstil i en CGI-arbeidsflyt. Kilde: https://www.youtube.com/watch?v=-6iF3mufDW0

Problemet er dårlig håndtert av moderne populære deepfakes-metoder. I noen år har den ledende pakken DeepFaceLab hatt en “full hode”-modell som bare kan fange rigide utgaver av korte (vanligvis manns-) hårstiler; og nylig har DFL-stableten FaceSwap (begge pakker er avledet fra den kontroversielle 2017 DeepFakes-kilden) tilbudt en implementering av BiseNet semantisk segmenteringsmodell, som tillater en bruker å inkludere ører og hår i deepfake-utdata.

Selv når det gjelder å avbilde svært korte hårstiler, tenderer resultater å være svært begrensede i kvalitet, med fullt hode som ser ut til å være overlagt på film, snarere enn integrert i den.

GAN Hår

De to store konkurranse-tilnærmingene til menneskesyntese er Neural Radiance Fields (NeRF), som kan fange en scene fra flere synsvinkler og inkapsle en 3D-representasjon av disse synsvinklene i en utforskbar neural nettverk; og Generative Adversarial Networks (GANs), som er mer avanserte i menneskesyntese (ikke minst fordi NeRF bare oppstod i 2020).

NeRFs antatte forståelse av 3D-geometri gjør det mulig å replikere en scene med stor trofasthet og konsistens, selv om det for tiden har liten eller ingen mulighet for å påføre fysikkmodeller – og, i virkeligheten, relativt begrensede muligheter for noen type transformasjon på de innhentede dataene som ikke har å gjøre med å endre kameraets synsvinkel. For tiden har NeRF svært begrensede muligheter når det gjelder å gjengi menneskehårsbevegelse.

GAN-baserte ekvivalenter til NeRF starter med en nesten fatal ulempe, siden, i motsetning til NeRF, latentrommet til en GAN ikke naturlig inkorporerer en forståelse av 3D-informasjon. Derfor har 3D-bevisst GAN-ansiktssyntese blitt et varmt forsøk i bildegenereringsforskning i de siste årene, med 2019s InterFaceGAN en av de ledende gjennombruddene.

Likevel, selv InterFaceGANs viste og cherry-picked resultater demonstrerer at neural hårkonsistens forblir en tøff utfordring i forhold til temporal konsistens, for potensielle VFX-arbeidsflyter:

'Sizzling' hår i en poseringstransformasjon fra InterFaceGAN. Kilde: https://www.youtube.com/watch?v=uoftpl3Bj6w

‘Sizzling’ hår i en poseringstransformasjon fra InterFaceGAN. Kilde: https://www.youtube.com/watch?v=uoftpl3Bj6w

Så det blir mer tydelig at konsistent visning via manipulering av latentrommet alene kan være en alkeymi-lignende forfølgelse, kommer en økende mengde papirer som inkorporerer CGI-basert 3D-informasjon i en GAN-arbeidsflyt som en stabiliserende og normaliserende begrensning.

CGI-elementet kan være representert av mellomliggende 3D-primitiver som en Skinned Multi-Person Linear Model (SMPL), eller ved å adoptere 3D-inferens-teknikker på en måte lignende NeRF, hvor geometrien vurderes fra kildebildene eller videoen.

En ny arbeid langs disse linjene, publisert denne uken, er Multi-View Consistent Generative Adversarial Networks for 3D-aware Image Synthesis (MVCGAN), et samarbeid mellom ReLER, AAII, University of Technology Sydney, DAMO-akademiet ved Alibaba Group og Zhejiang University.

Plausible og robuste nye ansiktsposer generert av MVCGAN på bilder avledet fra CELEBA-HQ-datasettet. Kilde: https://arxiv.org/pdf/2204.06307.pdf

Plausible og robuste nye ansiktsposer generert av MVCGAN på bilder avledet fra CELEBA-HQ-datasettet. Kilde: https://arxiv.org/pdf/2204.06307.pdf

MVCGAN inkorporerer en generativ radiance field network (GRAF) som kan gi geometriske begrensninger i en Generative Adversarial Network, og kan hevdes å oppnå noen av de mest autentiske poseringsmulighetene i noen lignende GAN-basert tilnærming.

Sammenligning mellom MVCGAN og tidligere metoder GRAF, GIRAFFE og pi-GAN.

Sammenligning mellom MVCGAN og tidligere metoder GRAF, GIRAFFE og pi-GAN.

Likevel avslører supplementært materiale for MVCGAN at å oppnå hår-volum, disposisjon, plassering og atferdskonsistens er et problem som ikke lett kan løses gjennom begrensninger basert på eksternt påført 3D-geometri.

Fra supplementært materiale som ikke er offentliggjort på skrivetidspunktet, ser vi at mens ansiktsposeringssyntese fra MVCGAN representerer en merkbar fremgang på den nåværende tilstanden av kunsten, forblir temporal hårkonsistens et problem.

Fra supplementært materiale som ikke er offentliggjort på skrivetidspunktet, ser vi at mens ansiktsposeringssyntese fra MVCGAN representerer en merkbar fremgang på den nåværende tilstanden av kunsten, forblir temporal hårkonsistens et problem.

Ettersom “rett frem”-CGI-arbeidsflyter fortsatt finner temporal hår-rekonstruksjon en så stor utfordring, er det ingen grunn til å tro at konvensjonelle geometri-baserte tilnærmingene av denne typen vil bringe konsistent hår-syntese til latentrommet noen gang snart.

Stabilisering av Hår med Convolutional Neural Networks

Likevel, en kommende papir fra tre forskere ved Chalmers tekniska högskola i Sverige, kan tilby en ytterligere fremgang i neural hår-simulering.

Til venstre, CNN-stabilisert hår-representasjon, til høyre, bakgrunns-sannheten. Se video innlemmet i slutten av artikkelen for bedre oppløsning og flere eksempler. Kilde: https://www.youtube.com/watch?v=AvnJkwCmsT4

Til venstre, CNN-stabilisert hår-representasjon, til høyre, bakgrunns-sannheten. Se video innlemmet i slutten av artikkelen for bedre oppløsning og flere eksempler. Kilde: https://www.youtube.com/watch?v=AvnJkwCmsT4

Tittelen er Real-Time Hair Filtering with Convolutional Neural Networks, og papiret vil bli publisert for i3D-symposiet i begynnelsen av mai.

Systemet består av en autoencoder-basert nettverk som kan evaluere hår-oppløsning, inkludert selv-skygging og tager hensyn til hår-tykkelse, i sanntid, basert på et begrenset antall stokastiske prøver seedet av OpenGL-geometri.

Tilnærmingen renderer et begrenset antall prøver med stokastisk gjennomsiktighet og deretter trener en U-net for å rekonstruere den opprinnelige bildet.

Under MVCGAN, en CNN-filtrerer stokastisk prøvede fargefaktorer, høydepunkter, tangenter, dybde og alfa, og samler de syntetiserte resultater i en kompositt-bilde.

Under MVCGAN, en CNN-filtrerer stokastisk prøvede fargefaktorer, høydepunkter, tangenter, dybde og alfa, og samler de syntetiserte resultater i en kompositt-bilde.

Nettverket er trent på PyTorch, og konvergerer over en periode på seks til tolv timer, avhengig av nettverksvolum og antall inn-data-egenskaper. De trenede parameterne (vektene) brukes deretter i sanntidsimplementeringen av systemet.

Treningdata genereres ved å rendre flere hundre bilder for rette og bølgete hårstiler, med tilfeldige avstander og poser, samt diverse lysforhold.

Forskjellige eksempler på trening-inndata.

Forskjellige eksempler på trening-inndata.

Hårgjennomsiktighet over prøvene er gjennomsnittlig fra bilder rendret med stokastisk gjennomsiktighet i overprøvet oppløsning. De opprinnelige høy-oppløsningsdataene er nedskalert for å tilpasse nettverks- og maskinvarebegrensninger, og deretter oppskalert, i en typisk autoencoder-arbeidsflyt.

Sanntids-inferens-applikasjonen (den “levende” programvaren som utnytter algoritmen avledet fra den trenede modellen) anvender en blanding av NVIDIA CUDA med cuDNN og OpenGL. De opprinnelige inn-data-egenskapene dumpes inn i OpenGL multisamplede fargebuffere, og resultatet sendes til cuDNN-tenorer før prosessering i CNN. Disse tenorene kopieres deretter tilbake til en “levende” OpenGL-tekstur for å påføres i det endelige bildet.

Sanntidssystemet opererer på en NVIDIA RTX 2080, og produserer en oppløsning på 1024×1024 piksler.

Siden hår-fargeverdier er fullstendig avkoblet i de endelige verdiene som er oppnådd av nettverket, er det en trivial oppgave å endre hårfargen, selv om effekter som graderinger og strimler forblir en fremtidig utfordring.

Forfatterne har utgitt koden som er brukt i papirets evalueringer på GitLab. Se på supplementær video for MVCGAN nedenfor.

Konklusjon

Navigering av latentrommet i en autoencoder eller GAN er fortsatt mer likt seiling enn presisjonskjøring. Først i denne meget nyeste perioden begynner vi å se troverdige resultater for posering-generering av “enklere” geometri som ansikter, i tilnærminger som NeRF, GANs og ikke-djupfalske (2017) autoencoder-rammer.

Den betydelige arkitektoniske kompleksiteten til menneskehår, kombinert med behovet for å inkorporere fysikkmodeller og andre trekk for hvilke nåværende bilde-syntese-tilnærminger ikke har noen bestemmelse, indikerer at hårsyntese er usannsynlig å forbli en integrert komponent i generell ansiktssyntese, men kommer til å kreve dedikerte og separate nettverk av en viss sofistikert – selv om slike nettverk kan bli inkorporert i videre og mer komplekse ansiktssyntese-rammer.

 

Først publisert 15. april 2022.

Forfatter innen maskinlæring, domenespesialist i menneskeskapesynthese. Tidligere sjef for forskningsinnhold i Metaphysic.ai, til det ble oppløst i DNEG's Brahma.ai.
Portfolio nettsted: martinanderson.ai
Kontakt: martin@martinanderson.ai