magistrsko delo
Ivan Gradečak (Author), Damjan Strnad (Mentor), Štefan Kohek (Co-mentor)

Abstract

Metode strojnega učenja so v zadnjem desetletju omogočile preboj v učinkovitosti računalnikov pri reševanju problemov, kot so prepoznavanje slik, klasifikacija besedila in podatkovno rudarjenje. Eden od najbolj uspešnih pristopov so rešitve z uporabo umetnih nevronskih mrež, ki se zgledujejo po bioloških nevronskih mrežah in zmožnostjo človeka, da opravlja kompleksne naloge. Da bi dosegle dobro zmogljivost, umetne nevronske mreže uporabljajo veliko medsebojno povezanih enostavnih celic, oziroma nevronov. Da lahko nevronska mreža učinkovito rešuje nek problem, jo je potrebno učiti. Učenje poteka s pomočjo učne množice vzorcev, ki za dane vhodne podatke vsebujejo tudi znane izhodne rezultate (npr. oznako razreda vhodnega vzorca). Na takšen način deluje nevronska mreža v tej magistrski nalogi za animiranje in krmiljenje računalniških likov. Animacije v filmih, simulacijah in video igrah zahtevajo sodobne pristope in pred kratkim predstavljena nevronska mreža z uporabo fazne funkcije (PFNN [8]), ki smo jo preučili v tem delu, zagotavlja enega od najbolj obetavnih pristopov. Vhodi mreže so podatki o položaju in hitrosti premikanja sklepov računalniškega lika, ter podatki o višinah terena v točkah trajektorije. Prav tako so vhodi v mrežo normalizirane vrednosti, ki povedo, ali računalniški lik stoji na mestu, hodi, beži, čepi, skače ali je naletel na steno in se mora ustaviti. Izhodi mreže za krmiljenje računalniških likov se računajo v vsakem okvirju animacije in predstavljajo trenutno stanje sklepov lika in predvideno usmeritev hoje v prihodnosti. Del izhodov nevronske mreže uporabimo v naslednjem okvirju kot vhode, ki jih zlijemo s krmilnimi podatki uporabnika. Učenje se izvaja na predhodno obdelanem naboru podatkov, ki so ga avtorji PFNN posneli z metodo zajemanja gibanja v studiu. Po snemanju so podatke razširili z zrcaljenjem in jih prenesli v virtualno okolje ter tako dobili večjo učno množico za uspešnejše učenje nevronske mreže. Arhitektura nevronske mreže s fazno funkcijo je triplastna mreža z veriženjem naprej, ki ima 342 vhodnih in 311 izhodnih spremenljivk. Vsaka skrita plast ima 512 nevronov, in na obeh skritih plasteh se uporablja eksponentna linearna (ELU) aktivacijska funkcija, ki omili nezaželen pojav izginjajočega gradienta med učenjem nevronske mreže. Mreža je izdelana v programskem jeziku Python z uporabo knjižnice TensorFlow. Pri učenju mreže se uporablja optimizacijski algoritem Adam s prilagodljivo hitrostjo učenja. Na vsaki plasti se uporablja regularizacijska tehnika odpovedovanja nevronov, ki omejuje prekomerno prilagajanje modelov učni množici. V primerjavi z običajnimi nevronskimi mrežami z veriženjem naprej, uporablja PFNN posebno fazno funkcijo, s pomočjo katere interpolira med štirimi nabori uteži nevronske mreže na podlagi vrednosti fazne spremenljivke. Ti nabori uteži se vzporedno optimizirajo med učenjem nevronske mreže. V vsakem ciklu hoje fazna spremenljivka teče od 0 do 2pi, torej od takrat, ko ima računalniški lik desno nogo v kontaktu s terenom in jo začne dvigati, do takrat, ko jo postavi nazaj na tla. Za interpolacijo med različnimi nabori uteži je bil uporabljen kubični Catmull-Romov zlepek. Izhodi nevronske mreže se med učenjem uporabijo za izračun napake in posodabljanje vseh štirih naborov uteži. Nevronsko mrežo lahko uporabimo v demonstraciji krmiljenja animiranega lika, tako da se izhodi nevronske mreže zlijejo z uporabnikovimi krmilnimi signali za določanje položaja in hitrosti sklepov v kinematični verigi. Zlivanje krmilimo s faktorjem mešanja, ki omogoča uravnotežanje med natančnostjo krmiljenja in naravnostjo animacije računalniškega lika.

Keywords

artificial neural network;motion capture;animation;phase function;character control;

Data

Language: English
Year of publishing:
Typology: 2.09 - Master's Thesis
Organization: UM FERI - Faculty of Electrical Engineering and Computer Science
Publisher: [I. Gradečak]
UDC: 004.855:004.328(043.2)
COBISS: 43384067 Link will open in a new window
Views: 470
Downloads: 42
Average score: 0 (0 votes)
Metadata: JSON JSON-RDF JSON-LD TURTLE N-TRIPLES XML RDFA MICRODATA DC-XML DC-RDF RDF

Other data

Secondary language: Slovenian
Secondary title: Nevronske mreže s fazno funkcijo za krmiljenje računalniških likov
Secondary abstract: Deep learning based on artificial neural networks is becoming an interesting tool for creating animations. In this thesis, a recently introduced type of artificial neural network, called phase-functioned neural network, is described and implemented. The network is used for animating humanoid characters in a virtual world. Along with joint positions, velocities, rotations, and trajectory terrain heights, the network takes input user controls for computing moving trajectory locations. The training is performed using an existing motion capture data set and implemented in Python programming language using the TensorFlow library. A practical demonstration of character control is created using the Unity game engine.
Secondary keywords: umetne nevronske mreže;zajem gibanja;animacija;fazna funkcija;krmiljenje likov;magistrske naloge;
Type (COBISS): Master's thesis/paper
Thesis comment: Univ. v Mariboru, Fak. za elektrotehniko, računalništvo in informatiko, Računalništvo in informacijske tehnologije
Pages: XI, 49 str.
ID: 11434518