Tietokonenäön käyttö jongleerauksen analysoinnissa

04.12.2023

Teknologian nopean kehityksen myötä tietokonenäön käyttö maailmalla on yleistynyt viime vuosikymmenten aikana. Tietokonenäkö tarkoittaa tietokoneen kykyä kerätä tietoa digitaalisista kuvista tai videoista, ja sitä käytetään esimerkiksi itseajavissa autoissa, laadunvarmistuksessa ja syövän havaitsemisessa. (Babich, 2020.) Opinnäytetyössä kokeiltiin tietokonenäön käyttöä jongleerauksen analysoinnissa.

Jongleeraus on vanha taiteen ja viihteen muoto, jossa esineitä heitellään ilmaan ja otetaan kiinni. Jongleerauksessa on paljon yksityiskohtia, joita on vaikea arvioida tai laskea heitellessä, esimerkiksi heittojen korkeudet, heittorytmi ja kiinniottojen määrä. Tästä syystä opinnäytetyössä kokeiltiin jongleerauksen analysointia tietokonenäköä hyödyntämällä.

Työn tavoitteet

Opinnäytetyön aikana kehitettiin ohjelma laskemaan heittokorkeuksia ja kiinniottoja. Näiden toimintojen testaamista varten analysointi suoritettiin videoilta, joiden olosuhteet oli rajattu helpottamaan pallojen tunnistusta. Ohjelma kehitettiin Python-ohjelmointikielellä, ja hyödyntää OpenCV:n ja MediaPipen Python-rajapintoja tiedon keräämiseen kuvista.

Jongleerauksessa on usein tavoitteena pitää heitot saman korkuisina, jolloin heitellessä on sama aika reagoida jokaiseen kiinniottoon ja heittoon. Erikorkuiset heitot aiheuttavat helposti lisää epävakaita heittoja, ja usein myös esineiden törmäyksen ilmassa. Opinnäytetyössä kehitettiin toiminto, jolla voidaan laskea heittojen korkeuksia ja niiden keskipoikkeamaa.

Kiinniottojen laskenta on tapa, jolla lasketaan suoritusta virallisissa kilpailuissa ja maailmanennätysyrityksissä (Juggle Wiki). Kiinniottojen määrä on myös hyvä tapa seurata omaa kehitystä uusien kuvioiden harjoittelussa. Laskemisen helpottamiseksi opinnäytetyön aikana tehtiin toiminto, joka laskee kiinniottoja videoilta. Kiinniottolaskurin tarkkuus oli kolmen pallon testeissä yli 95 % ja neljän pallon testeissä 84 %.

Ohjelman kokeilu harjoittelukäytössä

Kehitystyön jälkeen ohjelman eri toimintoja kokeiltiin puoli tuntia kestäneellä jongleeraussessiolla. Testikäytössä laskettiin heittokorkeuksia kahdella eri tavalla sekä kiinniottoja. Session aikana heiteltiin kolmella ja neljällä pallolla erilaisia kuvioita. Heitellessä ei osattu arvioida kiinniottojen määrää, tai sitä, vaihteliko heittokorkeus korkeilla heitoilla enemmän, kuin matalilla.

Kiinniottolaskuri laski sessiolta 3063 kiinniottoa, joiden laskeminen ilman ohjelman tukea olisi ollut todella haastavaa heitellessä, tai suuri työ videoilta. Laskuri voisi olla hyvä tapa seurata omaa ennätystä uutta kuviota harjoitellessa, tai seurata kiinniottojen määrää esimerkiksi viikon aikana. Heittokorkeuksien tuloksista huomasi myös, että korkeammilla heitoilla heittokorkeus vaihtelee enemmän. Lisäksi näki selvästi, miten heittojen korkeudet vaihtelivat enemmän vaikeammalla kuviolla. Tätä toimintoa voisi hyvin soveltaa heittokorkeusharjoittelun seurantaan, tai esimerkiksi pohjana kalorilaskurille.

Ohjelman jatkokehitys

Ohjelman lupaavan testikäytön jälkeen todettiin, että ohjelmalla on hyvä pohja jatkokehitykselle. Mikäli rajatuista kuvausolosuhteista voidaan luopua, ja analysointi voidaan suorittaa suoratoistona, esimerkiksi webbikamerasta, ohjelma voisi toimia hyvänä työkaluna harjoittelun tukena.

Käyttöolosuhderajausten poistaminen vaatii kuitenkin toisen tavan pallontunnistukseen, joka opinnäytetyön aikana perustui pallojen väriin. Pallot pitäisi voida tunnistaa esimeriksi reunojen perusteella pallon väristä tai kuvioinnista riippumatta.

Opinnäytetyön aikana ohjelmaan ei sisällytetty erillistä käyttöliittymää, vaan keskityttiin ohjelman eri osiin. Käyttöliittymä kuitenkin helpottaisi ohjelman käyttöä, kehitystä sekä esittelyä. Lisäksi työn aikana kehitetyt visualisointityökalut tarvitsevat parantelua, kuten edestakaisen navigoinnin videoilla ja muuttujien paremman tarkastelun.

Lähteet

Heinonen, J. 2023. Jongleeraus ja tietokonenäkö. Opinnäytetyö, Tieto- ja viestintätekniikka 2023, Turun ammattikorkeakoulu.

Babich, Nick 2020. What Is Computer Vision & How Does it Work? An Introduciton. Viitattu 30.3.2023. https://xd.adobe.com/ideas/principles/emerging-technology/what-is-computer-vision-how-does-it-work/

Juggle Wiki. Kotisivu. Viitattu 18.10.2023. https://juggle.fandom.com/wiki/Juggle_Wiki