Unghiul lui Anderson
Abordarea “zilelor proaste cu păr” în sinteza imaginilor umane

De la epoca de aur a statuilor 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 culoarea sa ș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 metodele tradiționale de CGI.

Din cercetarea din 2017 a Disney, un model bazat pe fizică încearcă să aplice mișcări realiste 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 complet” care poate capta doar înfățișări rigide ale coafurilor scurte (de obicei masculine); și recent, DFL stablemate FaceSwap (ambele pachete sunt derivate din codul sursă controversat DeepFakes din 2017) a oferit o implementare a modelului BiseNet de segmentare semantică, permițând unui utilizator să includă urechi și păr în ieșirile deepfake.
Chiar și atunci când se reprezintă coafuri foarte scurte, rezultatele tind să fie foarte limitate calitativ, cu capete complete care apar suprapuse peste filmări, mai degrabă decât integrate în acestea.
Părul generat de GAN
Cele două abordări majore concurente pentru simularea umană sunt Câmpurile de Radianță Neurală (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țelele Adversative Generative (GAN), 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 inferențială a geometriei 3D a lui NeRF îi permite să reproducă o scenă cu fidelitate și coerență mare, chiar dacă în prezent are puțin sau deloc scop pentru impunerea modelelor fizice – și, de fapt, are relativ puțină libertate pentru orice fel de transformare a datelor colectate care nu are legătură cu 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.
Ecivalentul GAN cu NeRF pornește de la o 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 de imagini faciale 3D conștientă de 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 părului neural rămâne o provocare dificilă în ceea ce privește consistența temporală, pentru fluxurile de lucru potențiale VFX:

Păr ‘sizzling’ într-o transformare a poziției din 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 articole emerg în care se 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 imaginile sau videourile sursă.
O nouă lucrare de-a lungul acestor linii, publicată săptămâna aceasta, este Rețele Generative Adversative Consistente cu Multi-Vedere 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 generativă de radianță (GRAF) capabilă să ofere constrângeri geometrice într-o Rețea Generativă Adversativă, 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 nu este o problemă care 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ă, deși sinteza poziției faciale din MVCGAN reprezintă o avansare notabilă față de stadiul actual al artei, consistența temporală a părului rămâne o problemă.
Deoarece fluxurile de lucru “directe” CGI î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 curând.
Stabilizarea părului cu Rețele Neurale Convolutive
Cu toate acestea, o lucrare 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
Articolul, intitulat Filtrarea în timp real a părului cu Rețele Neurale Convolutive, va fi publicat pentru simpozionul i3D la începutul lunii mai.
Sistemul este alcătuit dintr-o rețea bazată pe autoencoder capabilă să evalueze rezoluția părului, inclusiv auto-umbrarea și ținând cont de grosimea părului, în timp real, pe baza unui număr limitat de mostre stohastice inițializate de geometria OpenGL.
Aproachul 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țiază, tangente, adâncimi și alfa, asamblând rezultatele sintetizate într-o imagine compusă.
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.

Exemple diverse de intrare de antrenament.
Translucența părului în 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 apoi 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 de intrare inițiale sunt dumpate în buffer-e de culoare multisample OpenGL, și apoi deplasate către tensori cuDNN înainte de procesare în CNN. Acei 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 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 efecte precum gradientul și dungi rămân o provocare pentru viitor.

Autorii au lansat codul utilizat în evaluările articolului pe GitLab. Verificați videoul suplimentar pentru MVCGAN mai jos.
Concluzie
Navigarea în spațiul latent al unui autoencoder sau GAN este încă mai mult similară cu navigarea decât cu conducerea de precizie. Abia în această perioadă recentă începem să vedem rezultate credibile pentru generarea poziției “geometriilor mai simple” precum fețele, în abordări precum NeRF, GAN și cadre de autoencoder non-deepfake (2017).
Complexitatea arhitecturală semnificativă a părului uman, combinată cu necesitatea 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ă un 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.













