Realistic facial animation is an important component in creating believable characters in digital media. Facial performance capture attempts to solve this need by recording actor performances and reproducing them digitally. One approach in performance capture is the use of differentiable rendering: an analysis-by-synthesis approach where candidate images are rendered and compared against reference material to optimize scene parameters such as geometry and texture in order to match the reference as closely as possible. A differentiable renderer makes this possible by computing the gradient of an objective function over the scene parameters.
This Thesis aims to explore differentiable rendering for inferring facial animation from markerless multi-view reference video footage. This has been done before, but the approaches have not been directly applicable in the video game industry where head stabilization data and a semantically meaningful animation basis is crucial for further processing. To obtain these advantages we leverage a highly tailored facial rig as prior data: a facial model based on blendshapes, parametrized as a linear combination of meshes representing a range of facial expressions, common in the industry to control character animation. We design and implement a facial performance capture pipeline for Remedy Entertainment as an open-source contribution and infer animation with varying configurations. The underlying optimization architecture is built on Nvidia's nvdiffrast-library, a Python- and PyTorch-based differentiable rendering framework that utilizes highly-optimized graphics pipelines on GPUs to accelerate performance.
Experiments with the implemented pipeline show that staying completely on-model with a blendshape-based facial rig as prior data provides both advantages and disadvantages. Although we propose numerous improvements, the animation quality is of insufficient cinematic quality, particularly with more extreme facial expressions. However, we benefit from shape constraints set by our rig prior and see computation simplicity by only learning per-frame shape activations, instead of the shapes themselves, as done in previous works. Moreover, we obtain head stabilization data that is important to have down the line in video game production, and the use of blendshapes as the basis of our resulting animation enables semantically meaningful editing after inference.
Realistisk ansiktsanimation är viktigt för att skapa trovärdiga karaktärer i digital media. Vid animering av ansikten används ofta digital ansiktsrekonstruktion: processen av att filma skådespelare och återskapa dem i digitalt format. En metod i digital i ansiktsrekonstruktion baserar sig på differentierbar rendering. I processen genereras kandidatbilder som sedan jämförs med referensbilder för att optimera scenparametrar, så som geometri och textur, för att motsvara videodata så nära som möjligt. En differentierbar renderare möjliggör detta genom att beräkna gradienten av en målfunktion med avseende på scenparametrarna.
Syftet med detta arbete är att utforska differentierbar rendering för skapandet av ansiktsanimation från videodata utan markers, med flera kameravinklar. Även om detta gjorts förut, har resultaten inte varit direkt applicerbara i spelindustrin där stabilisering av huvudrörelser samt semantiskt betydelsefulla kontroller är centrala för vidare behandling. För att nå dessa fördelar använder vi en ansiktsrig som baserar sig på blendshapes, alltså en datormodell av ett ansikte som genererar utseenden genom linjära kombinationer av tredimensionella modeller, som representerar olika ansiktsuttryck. Dessa modeller är vanliga inom spelindustrin för att kontrollera ansiktsanimation. Vi utvecklar ett digitalt ansiktsrekonstruktionssystem som öppen källkod för Remedy Entertainment och skapar ansiktsanimation med ett antal olika konfigurationer. Den underliggande programarkitekturen baserar sig på Nvidias Nvdiffrast-programvarubibliotek: en Python- och PyTorch-baserad differentierbar renderare som räknar högt optimerade grafikoperationer på grafikkort.
Experiment med det utvecklade systemet avslöjar att användningen av en rig i ansiktsrekonstruktion för med sig såväl fördelar som nackdelar. Trots ett stort antal förbättringsförslag är kvalitén på vår ansiktsanimation inte tillräckligt hög för att möta kraven i realistiska videospel, speciellt då skådespelaren gör överdrivna ansiktsuttryck. Däremot förenklar ansiktsrigen beräkningarna och förhindrar animationen från att producera anatomiskt inkorrekta uttryck. Detta görs genom att optimera enbart aktiveringarna av blendshape-komponenter för varje bild i filmsekvensen, istället för att ytterligare skapa själva uttrycken, så som gjorts i tidigare forskning. Samtidigt får vi stabilisering av huvudrörelser samt semantiskt betydelsefulla animationskontroller som animerare kan använda för vidarebehandling av animationen.