Animace tváře avatara na základě záběrů lidské tváře
Animation of Avatar Face Based on Human Face Video
Abstract
Táto bakálarska práca predstavuje aplikáciu pre animovanie 3D avatarov v reálnom čase, na základe záberov ľudskej tváre z jedinej kamery alebo videa. Výsledná aplikácia pozostáva z troch modulov -- snímanie tváre, animátor avatara a sever, ktorý prenáša dáta z modulu na snímane tváre. Modul snímania tváre vypočítava z ľudskej tváre nové dáta pre animáciu a využíva pritom Facmesh of Mediapipe pre určovanie obrysov a črtov tváre. Animátor avatara je webová aplikácia pre vykreslovanie a animovanie 3D avatarov, pomocou kostrových animácií, pričom využíva knižnicu Three.js. Obidva moduly využívajú výhody súvislej obojsmernej komunikácie protokolu websockets, pripojením na jediný server. Výkon modulu na snímanie tváre záleží od kamery a zariadenia, na ktorom beží, ale bežne dostupná web kamera obvykle postačuje pre rýchlosť snímania 30+ FPS a animovanie beží na 60+ FPS s viacerými avatarmi. Hlavným prínosom tejto práce sú (a) Počítanie dát z ľudskej tváre je vhodné pre kostrové animácie, ktoré sa väčšinou jednoduchšie na vytvorie a sú viac dostupné ako metóda splývania tvarov (angl. blend shapes). (b) Používanie snímania tváre a animátora avatara, ako nezávislých modulov spôsobuje to, že na základe jediného vstupu z kamery/videa je možné animovať viacerých avatarov na rôznych zariadeniach. This thesis presents an application for animating 3D avatar based on a single camera or video input of human face in real time. The resulting application consists of three modules -- face tracking, avatar animator, and a server for transferring face data. The face tracking module computes new transforms for the animation from human face and benefits from Mediapipe's Facemesh to estimate the current face geometry. Avatar animator module is a web-based application for rendering and animating 3D avatars through skeletal animations, based on the Three.js library. Both modules make use of the continuous bidirectional communication of websockets through the single server. Performance of the face tracking module depends on the camera and device on which it is running, but regular web camera is usually enough for speed of 30+ FPS and animation runs at the speed of 60+ FPS with multiple avatars. Main contributions of this project are (a) Calculating transforms from human face is suitable for the skeletal animations, which are usually easier to create and more accessible than blend shapes. (b) Using the face tracking and the avatar animator as independent modules causes that from the single camera/video input it is possible to animate multiple avatars on different devices.
Keywords
snímanie tváre, 3D avatar, animácia tváre, kostrové animácie, websockets, face tracking, 3D character, face animation, skeletal animation, websocketsLanguage
čeština (Czech)Study brunch
Informační technologieComposition of Committee
prof. Ing. Adam Herout, Ph.D. (předseda) doc. Ing. Zdeněk Vašíček, Ph.D. (místopředseda) Ing. Radek Kočí, Ph.D. (člen) Ing. Zbyněk Křivka, Ph.D. (člen) Ing. Michal Španěl, Ph.D. (člen)Date of defence
2022-06-15Process of defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B. Otázky u obhajoby: Kolik vědeckých článků, které jste v práci uvedl, jste skutečně přečetl? Jakým způsobem byste využil vícero bodů (landmarks), abyste zpřesnil výpočet výrazů obličeje? V sekci 3.1.1. je zmíněna rotační matice, odkud se bere? V sekci 3.1.1 zmiňujete, že je lepší počítat "roll" zvlášť, proč? Cílem bylo přenést animaci obličeje přímo do avatara ve hře, nebo spíše do nějaké demo aplikace? Měřil jste zpoždění celého systému?Result of the defence
práce byla úspěšně obhájenaPersistent identifier
http://hdl.handle.net/11012/207398Source
TAKÁCS, M. Animace tváře avatara na základě záběrů lidské tváře [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2022.Collections
- 2022 [309]