Inteligență artificială
Abordarea ‘zilelor cu păr prost’ în sinteza imaginilor umane

De la epoca de aur a statuariei romane, reprezentarea părului uman a fost o provocare spinosă. Capul uman mediu conține 100.000 de fire, are indici de refracție variabili în funcție de culoare și, dincolo de o anumită lungime, se va mișca și reorganiza în moduri care pot fi simulate doar prin modele fizice complexe – până în prezent, aplicabile doar prin metodologii ‘tradiționale’ CGI.

Din cercetarea din 2017 a Disney, un model fizic încearcă să aplice mișcare realistă unui stil de păr fluid într-un flux de lucru CGI. Sursă: https://www.youtube.com/watch?v=-6iF3mufDW0
Problema este abordată în mod defectuos de metodele moderne de deepfakes. De câțiva ani, pachetul principal DeepFaceLab are un model ‘cap întreg’ care poate captura doar înfățișări rigide ale coafurilor scurte (de obicei masculine); și recent, DFL stablemate FaceSwap (ambele pachete sunt derivate din codul sursă DeepFakes controversat din 2017) a oferit o implementare a modelului BiseNet de segmentare semantică, permițând unui utilizator să includă urechi și păr în ieșirea deepfake.
Chiar și atunci când se reprezintă coafuri foarte scurte, rezultatele tind să fie foarte limitate în calitate, cu capete întregi care par suprapuse peste filmări, mai degrabă decât integrate în acestea.
Părul GAN
Cele două abordări majore concurente pentru simularea umană sunt Câmpuri de Radianță Neuronale (NeRF), care pot capta o scenă din multiple puncte de vedere și pot încapsula o reprezentare 3D a acestor puncte de vedere într-o rețea neurală explorabilă; și Rețele Adversative Generative (GANs), care sunt notabil mai avansate în ceea ce privește sinteza imaginilor umane (nu în ultimul rând pentru că NeRF a apărut abia în 2020).
Înțelegerea inferată a geometriei 3D de către NeRF îi permite să reproducă o scenă cu fidelitate și coerență mare, chiar dacă în prezent are puțin sau deloc spațiu pentru impunerea modelelor fizice – și, de fapt, are un spațiu relativ limitat pentru orice fel de transformare a datelor colectate care nu se referă la schimbarea punctului de vedere al camerei. În prezent, NeRF are capacități foarte limitate în ceea ce privește reproducerea mișcării părului uman.
Echivalentele GAN cu NeRF încep cu un dezavantaj aproape fatal, deoarece, spre deosebire de NeRF, spațiul latent al unui GAN nu incorporează în mod nativ o înțelegere a informațiilor 3D. Prin urmare, sinteza imaginilor faciale 3D bazată pe GAN a devenit o urmărire fierbinte în cercetarea generării de imagini în ultimii ani, cu InterFaceGAN din 2019 una dintre principalele descoperiri.
Cu toate acestea, chiar și rezultatele prezentate și selectate de InterFaceGAN demonstrează că consistența neurală a părului rămâne o provocare dificilă în ceea ce privește consistența temporală, pentru fluxurile de lucru potențiale VFX:

‘Părul care sizzle’ într-o transformare a poziției de la InterFaceGAN. Sursă: https://www.youtube.com/watch?v=uoftpl3Bj6w
Pe măsură ce devine mai evident că generarea consistentă a vederii prin manipularea spațiului latent singur poate fi o urmărire asemănătoare alchimiei, un număr tot mai mare de lucrări științifice apar care incorporează informații 3D bazate pe CGI într-un flux de lucru GAN ca o constrângere stabilizatoare și normalizatoare.
Elementul CGI poate fi reprezentat de primitive 3D intermediare, cum ar fi un Model liniar multi-persoană îmbrăcat (SMPL), sau prin adoptarea tehnicilor de inferență 3D într-un mod similar cu NeRF, unde geometria este evaluată din imagini sau videouri sursă.
Una dintre noile lucrări în acest sens, publicată săptămâna aceasta, este Rețele Adversative Generative Consistente cu Mai Multe Vederi pentru Sinteză de Imagini 3D (MVCGAN), o colaborare între ReLER, AAII, Universitatea Tehnologică din Sydney, Academia DAMO de la Alibaba Group și Universitatea Zhejiang.

Poze faciale noi plauzibile și robuste generate de MVCGAN pe imagini derivate din setul de date CELEBA-HQ. Sursă: https://arxiv.org/pdf/2204.06307.pdf
MVCGAN incorporează o rețea de radianță generativă (GRAF) capabilă să furnizeze constrângeri geometrice într-o Rețea Adversativă Generativă, realizând probabil unele dintre cele mai autentice capacități de pozare ale oricărei abordări similare bazate pe GAN.
Cu toate acestea, materialul suplimentar pentru MVCGAN arată că obținerea consistenței volumului, dispunerii, poziționării și comportamentului părului este o problemă care nu poate fi abordată ușor prin constrângeri bazate pe geometrie 3D externă.

Din materialul suplimentar care nu a fost lansat public la momentul scrierii, vedem că, în timp ce sinteza poziției faciale de la MVCGAN reprezintă o avansare notabilă a stadiului actual al tehnologiei, consistența temporală a părului rămâne o problemă.
Deoarece fluxurile de lucru CGI ‘directe’ încă găsesc reconstrucția temporală a părului o provocare atât de mare, nu există niciun motiv să credem că abordările convenționale bazate pe geometrie de acest fel vor aduce sinteza consistentă a părului în spațiul latent în orice moment curând.
Stabilizarea părului cu Rețele Neuronale Convolutive
Cu toate acestea, o lucrare științifică care urmează a fi publicată de trei cercetători de la Institutul de Tehnologie Chalmers din Suedia poate oferi o avansare suplimentară în simularea neurală a părului.

În stânga, reprezentarea părului stabilizată de CNN, în dreapta, adevărul. Vezi videoul încorporat la sfârșitul articolului pentru o rezoluție mai bună și exemple suplimentare. Sursă: https://www.youtube.com/watch?v=AvnJkwCmsT4
Titlul lucrării este Filtrarea părului în timp real cu Rețele Neuronale Convolutive, care va fi publicată pentru simpozionul i3D la începutul lunii mai.
Sistemul este compus dintr-o rețea bazată pe autoencoder capabilă să evalueze rezoluția părului, inclusiv auto-umbra și luând în considerare grosimea părului, în timp real, pe baza unui număr limitat de mostre stohastice inițializate de geometria OpenGL.
Abordarea renderizează un număr limitat de mostre cu transparență stohastică și apoi antrenează o U-net pentru a reconstrui imaginea originală.

Sub MVCGAN, un CNN filtrează factori de culoare mostrați stohastic, evidențieri, tangente, adâncime și alfa, asamblând rezultatele sintetizate într-o imagine compozită.
Rețeaua este antrenată pe PyTorch, convergând într-o perioadă de șase până la doisprezece ore, în funcție de volumul rețelei și de numărul de caracteristici de intrare. Parametrii antrenați (greutăți) sunt apoi utilizați în implementarea în timp real a sistemului.
Datele de antrenament sunt generate prin renderizarea a câteva sute de imagini pentru coafuri drepte și ondulate, utilizând distanțe și poziții aleatoare, precum și condiții de iluminare diverse.

Diverse exemple de intrare.
Translucența părului pe mostre este mediată din imagini renderizate cu transparență stohastică la rezoluție supersample. Datele originale de înaltă rezoluție sunt redimensionate pentru a se potrivi cu limitele rețelei și ale hardware-ului, și ulterior redimensionate, într-un flux de lucru tipic al autoencoder-ului.
Aplicația de inferență în timp real (software-ul ‘live’ care folosește algoritmul derivat din modelul antrenat) utilizează o combinație de NVIDIA CUDA cu cuDNN și OpenGL. Caracteristicile inițiale de intrare sunt dumpate în bufferele de culoare multisample OpenGL, și rezultatul este transferat în tensori cuDNN înainte de procesare în CNN. Acești tensori sunt apoi copiați înapoi într-o textură ‘live’ OpenGL pentru impunerea în imaginea finală.
Sistemul în timp real funcționează pe un NVIDIA RTX 2080, producând o rezoluție de 1024×1024 de pixeli.
Deoarece valorile culorii părului sunt complet dezlegate în valorile finale obținute de rețea, schimbarea culorii părului este o sarcină trivială, deși efectele cum ar fi gradientul și dungi rămân o provocare pentru viitor.

Autorii au lansat codul utilizat în evaluările lucrării pe GitLab. Vezi videoul suplimentar pentru MVCGAN mai jos.
Concluzie
Navigarea în spațiul latent al unui autoencoder sau GAN este încă mai mult similară navigării decât conducerea cu precizie. Abia în această perioadă recentă vedem rezultate credibile pentru generarea poziției feței, în abordări cum ar fi NeRF, GAN și cadre de autoencoder non-deepfake (2017).
Complexitatea arhitecturală semnificativă a părului uman, combinată cu nevoia de a incorpora modele fizice și alte trăsături pentru care abordările actuale de sinteză a imaginilor nu au nicio prevedere, indică faptul că sinteza părului este puțin probabil să rămână o componentă integrată în sinteza facială generală, ci va necesita rețele dedicate și separate de o anumită sofisticare – chiar dacă astfel de rețele pot fi eventual incorporate în cadre mai largi și mai complexe de sinteză facială.
Publicat pentru prima dată pe 15 aprilie 2022.











