Tekoälyn hyödyntäminen pelin liikeohjauksessa
Vähämäki, Tomi (2020)
Vähämäki, Tomi
2020
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202005138963
https://urn.fi/URN:NBN:fi:amk-202005138963
Tiivistelmä
Insinöörityön tarkoituksena oli tutkia erilaisia peleissä käytettyjä liikkeentunnistus- ja liikeohjaustekniikoita, perehtyä tarkemmin tekoälypohjaisiin menetelmiin ja toteuttaa tekoälypohjainen liikkeentunnistusjärjestelmä. Työssä tutkittiin liikeohjattavia pelejä ja niiden käyttämiä liikkeentunnistus- ja liikeohjaustekniikoita ensimmäisistä liikeohjattavista peleistä nykyaikaisiin ratkaisuihin asti. Lisäksi tutkittiin uusia tekoälytekniikoita, jotka mahdollistavat liikeohjauksen toteuttamisen peliin tavallisella kaksiulotteisella värikameralla.
Työssä toteutettiin konvoluutioneuroverkkoon perustuva asennontunnistusjärjestelmä ja liitettiin se peliin. Peliin toteutettiin tarvittavat komponentit asentojen käsittelyyn, eleiden tunnistamiseen ja pelihahmon ohjaamiseen. Asennontunnistusjärjestelmä toteutettiin käyttäen Python-ohjelmointikieltä, PyTorch-koneoppimisympäristöä ja PoseNet-asennontunnistusalgoritmia. Peli ja liikeohjauskomponentit toteutettiin Unity-pelimoottorilla ja C#-ohjelmointikielellä.
Työn lopputulos oli toimiva tekoälyyn perustuva liikkeentunnistusjärjestelmä, joka mahdol-listaa pelin liikeohjauksen web-kameralla. Järjestelmällä korvattiin aikaisemmin samassa pelissä käytetty Kinect-liikkeentunnistuskamera. Asennontunnistuksessa käytetty tekoäly vaatii pelikoneen tai muun tietokoneen, jossa on tehokas näytönohjain. Tarkkuudeltaan ja nopeudeltaan tekoälyyn perustuva liikkeentunnistusjärjestelmä ei ole aivan Kinect-laitteen tasoinen, mutta voi silti olla täysin riittävä moniin peleihin.
Työ osoitti, että liikeohjattava peli on mahdollista toteuttaa web-kameraa käyttäen, ilman erillisiä liikkeentunnistuslaitteita. Neuroverkot ja niiden suorittamiseen käytetyt komponentit kehittyvät tulevaisuudessa merkittävästi, joten neuroverkkoihin perustuvien liikkeentunnistustekniikoiden suorituskyky lähestyy erillisiä liikkeentunnistuslaitteita.
Työssä toteutettiin konvoluutioneuroverkkoon perustuva asennontunnistusjärjestelmä ja liitettiin se peliin. Peliin toteutettiin tarvittavat komponentit asentojen käsittelyyn, eleiden tunnistamiseen ja pelihahmon ohjaamiseen. Asennontunnistusjärjestelmä toteutettiin käyttäen Python-ohjelmointikieltä, PyTorch-koneoppimisympäristöä ja PoseNet-asennontunnistusalgoritmia. Peli ja liikeohjauskomponentit toteutettiin Unity-pelimoottorilla ja C#-ohjelmointikielellä.
Työn lopputulos oli toimiva tekoälyyn perustuva liikkeentunnistusjärjestelmä, joka mahdol-listaa pelin liikeohjauksen web-kameralla. Järjestelmällä korvattiin aikaisemmin samassa pelissä käytetty Kinect-liikkeentunnistuskamera. Asennontunnistuksessa käytetty tekoäly vaatii pelikoneen tai muun tietokoneen, jossa on tehokas näytönohjain. Tarkkuudeltaan ja nopeudeltaan tekoälyyn perustuva liikkeentunnistusjärjestelmä ei ole aivan Kinect-laitteen tasoinen, mutta voi silti olla täysin riittävä moniin peleihin.
Työ osoitti, että liikeohjattava peli on mahdollista toteuttaa web-kameraa käyttäen, ilman erillisiä liikkeentunnistuslaitteita. Neuroverkot ja niiden suorittamiseen käytetyt komponentit kehittyvät tulevaisuudessa merkittävästi, joten neuroverkkoihin perustuvien liikkeentunnistustekniikoiden suorituskyky lähestyy erillisiä liikkeentunnistuslaitteita.