Original title:
Animace tváře avatara na základě záběrů lidské tváře
Translated title:
Animation of Avatar Face Based on Human Face Video
Authors:
Takács, Martin ; Milet, Tomáš (referee) ; Herout, Adam (advisor) Document type: Bachelor's theses
Year:
2022
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
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:
3D character; face animation; face tracking; skeletal animation; websockets; 3D avatar; animácia tváre; kostrové animácie; snímanie tváre; websockets
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/207398