Tekoälypohjainen liikkumisen analysoinnin teknologia tarjoaa lupaavia mahdollisuuksia objektiiviseen ja automaattisen toimintakyvyn arviointiin ja kuntoutustulosten seurantaan. Viime vuosien aikana konenäköön perustuvien ihmiskehon liikkeitä seuraavien mallien tarkkuus ja keveys ovat siirtyneet sellaiselle tasolle, että niitä voidaan käyttää kannettavilla tietokoneilla ja älypuhelimilla. Mallien pohjalta kehitettyjä sovelluksia voidaan jatkossa hyödyntää niin urheiluvalmennuksessa, kliinisessä työssä kuin tutkimuksessakin.
Tausta
Metropolia osallistui OKM-rahoitteiseen Verkostoyhteistyöllä vauhtia tekoälypohjaisten virtuaaliteknologioiden saavutettavuuteen kuntoutuksessa -hankkeeseen, jossa etsittiin ja kehitettiin sovelluksia hyödyntäen uusia teknologioita. Hankkeen tuotoksena Metropolia ammattikorkeakoulun asiantuntijat ja opiskelijat kehittivät yhteistyössä kaksi avoimen lähdekoodin tekoälypohjaista verkkosovellusta, joiden avulla voidaan:
- analysoida reaaliaikaisesti polven ja lantion asentoa yhden jalan kyykistysliikkeen aikana
- analysoida sivulta kuvatusta kävelyvideosta alaraajojen suurimpien nivelten kulmamuutoksia.
Asennon tunnistus ja seuranta
Ihmisen asentoestimointi (pose estimation) voi kuvailla kyvykkyydeksi tunnistaa ja seurata kehon osia kuvista ja videoista (Zhang et al., 2020). Liikekaappausta on tehty heijastavien, kehoon kiinnitettävien, markkeripallojen avulla jo useita vuosikymmeniä, mutta asentojen ja liikkeiden tarkkaan seuraamiseen on tarvittu laboratorioympäristö, kalliit erikoislaitteet ja koulutettu henkilöstö.
Laskentatehon kasvaminen ja konenäön kehittyminen ovat mahdollistaneet asentojen tunnistamisen yhä kevyemmillä välineillä. Markkeriton liikekaappaus, jossa kehon ihmiskehon tunnistaminen tapahtuu suoraan videokuvasta ilman kehon kiinnitettäviä mittalaitteita, perustuu syväopetettujen neuroverkkojen hyödyntämiseen. (Armitano-Lago et al., 2022).
Neuroverkkojen opettamiseen on käytetty suuri määrä kuvia ihmisistä ja heidän kehon osista, jotka laskentamalli on oppinut tunnistamaan. Kuva 1 esittää markkeripohjaisen ja markkerittoman liikekaappauksen eroja.

Kuva 1. Saman suorituksen vertailu kahdella eri menetelmällä. Vasemmalla markkeripohjainen 3D-malli ja vasemmalla videokuvasta markkerittomalla menetelmällä tunnistetut vasemman jalan nivelpisteet nilkasta, polvesta ja lonkasta. Kuva: Tom Thiel.
Erilaisia konenäköön perustuvia asennon tunnistus algoritmeja on ollut saatavilla jo vuosikymmenen. Vasta viime aikoina algoritmien nopeus, tarkkuus ja keveys on siirtynyt sellaiselle tasolle, että niitä voidaan hyödyntää tavanomaisilla laitteilla, kuten kannettavilla tietokoneilla ja älypuhelimilla. Raajojen asentojen ja liikkeiden lähes reaaliaikainen seuranta luo mahdollisuuden esimerkiksi objektiiviseen ja automaattisen toimintakyvyn arviointiin ja etäkuntoutukseen. (Cronin et al., 2023; Hellsten et al., 2021)
MediaPipe Pose
Google Mediapipe on kokoelma avoimen lähdekoodin paketteja, jotka mahdollistavat konenäköön pohjautuvien sovellusten kehittämisen ohjelmointikielillä kuten Pythonilla tai JavaScriptillä. MediaPipea voidaan hyödyntää esimerkiksi viittomakielen tunnistamiseen, ilmeiden tunnistamiseen ja asennon tunnistamiseen (Mediapipe.io)

Kuva 2. MediaPipen asentoestimontimalli perustuu 33 kehonpisteen eli maamerkin seurantaan.
Asentoestimointia MediaPipe Pose -paketissa on hyödynnetty kevyttä BlazePose -algoritmia (Bazarevsky et al., 2020). Se pystyy arvioimaan 33 kehon pisteen liikkeet yhdeltä henkilöltä, käytännössä mistä tahansa kuvasta tai videosta. Yhdistämällä pisteet toisiinsa, saadaan rakennettua henkilöstä kaksiulotteinen (2D) malli. Tämä malli on kehitetty erityisesti reaaliaikaista seurantaa varten ja sen tunnistuksen viive on vain muutamia kymmeniä millisekunteja. Laskentamallin tarkkuus on säädettävissä. Kevyemmillä asetuksilla mallin laskenta toimiin nopeammin, raskaammilla asetuksilla taas luotettavammin.
Mediapipen laskentamalleja on pyritty hyödyntämään esimerkiksi reaaliaikaisessa kuntoiluliikkeiden seurannassa (Chen et al., 2022), kaatumisen tunnistamisessa (Liu et al., 2022) sekä juoksun aika- ja matkamuuttujien mittaamisessa (Young et al., 2023)
Yhdellä kameralla toteutettu liikeanalyysi
Kun ihmisen liikettä kuvataan yhdellä kameralla, pysytään siitä analysoimaan tasossa tapahtuvia liikkeitä. Videopohjaisen 2D-analyysin on todettu olevan hyväksyttävä tapa seurata ihmisen liikkeitä frontaalitasossa eli edestä kuvattuna (Schurr et al., 2017; Werner et al., 2019) ja sagittaalitasossa eli sivulta kuvattuna (Ota et al., 2020).
Kiertoliikkeiden tulkinta sen sijaan on haastavaa eivätkä konenäköön perustuvat algoritmit ainakaan tällä hetkellä pysty mittaamaan kuvassa syvyyssunnassa tapahtuvia muutoksia luotettavasti. Tämän haasteen kiertämiseksi onkin kehitetty järjestelmiä, joissa useat synkronoidut ja kalibroidut videokamerat keräävät tietoa kolmiulotteiseen (3D) mallin luomiseksi. Vaikka näiden järjestelmien tarkkuus on todettu pääpiirteittäin luotettavaksi (Kanko et al., 2020; Lahkar et al., 2022), vaativat ne jälleen kalliita laitteita ja teknistä osaamista.
Yhtä kameraa hyödyntävien 2D-mallien tarkkuudesta on tehty paljon tutkimusta (Wade et al., 2022). Mallien luotettavuutta on testattu valikoiduissa toimintakyvyn arviointiin liittyvissä testeissä, kuten yhden ja kahden jalan kyykistyksessä (Ota et al., 2020), hyppysuorituksissa, kävelyssä ja juoksussa (Ota et al., 2021; Young et al., 2023) ja vesijuoksun aikana (Cronin et al., 2019).
Näillä testeillä on selkeitä käyttömahdollisuuksia toimintakyvyn arvioinnissa kuntoutuksessa. Esimerkiksi yhden jalan kyykistyksessä dynaaminen polven valgus voidaan tulkita epäsuotuisaksi liikemalliksi ja tunnistaa alaraajojen vammoihin liittyväksi riskitekijäksi (Mauntel et al., 2014; Räisänen et al., 2018). Toisaalta kävelystä tehtävä analyysi tuo monipuolisesti esiin mahdollisia liikkumisessa esiintyviä rajoitteita tai poikkeamia.
Verkostoyhteistyöhankkeen sovellukset
Verkostohankkeen aikana Metropolian asiantuntijat ja opiskelijat kehittivät yhteistyössä kaksi erilaista JavaScript -sovellusta liiketietojen objektiivisen analysointiin. Tavoitteena oli saavuttaa sovelluksista ensimmäinen toimiva kehitysversio, jonka avulla teknologian toimintaa voitiin arvioida. Sovellusten toimintaan liittyvää pilotointia tehtiin kehitystiimin kesken.
Kummankin sovelluksen MVP-toteutus (Minimum Viable Product) on siirretty verkkoon vapaasti saataville ja niiden käyttöönotto onnistuu ilman asennuksia. Sovellusten käyttöliittymät pyrittiin pitämään mahdollisimman yksinkertaisena siten, että jatkossa niistä on mahdollista jalostaa kevyitä ja käytännöllisiä työkaluja, jotka soveltuisivat niin kliinikoille, valmentajille kuin tutkijoillekin.
Yhden jalan kyykky -sovellus
Ensimmäinen sovelluksista analysoi yhden jalan kyykistysliikettä ja siinä mahdollisesti tapahtuvaa polven sivuttaissuuntaista siirtymää ja lantion kallistuskulmaa. Liikkeeksi valittiin yhden jalan kyykky, koska se on riittävän yksinkertainen suorittaa ja polven linjauksen analysointi edestä katsottuna on suoraviivaista. Lisäksi liikkeen silmämääräistä havainnointia opetetaan Metropolian fysioterapian ja jalkaterapian tutkinto-ohjelmissa osana toimintakyvyn arviointia, joten sovelluksen ajateltiin lisäävän opiskelijoiden ymmärrystä tekoälypohjaisesta tiedonkeruusta ja analysoinnista. Käyttökohteita tälle sovellukselle ovat esimerkiksi etäkuntoutus, liikehallinnan seulonta ja kyykistysliikkeen harjoittelu biopalautteella.

Kuva 3. Kuva polven kulman mittauksesta kyykistysliikkeen aikana. Vasemmalla hyvä liikehallinta, oikealla heikentynyt liikehallinta. Kuva: Tom Thiel.
Polven valgus-liike tapahtuu kolmiulotteisesti ja siihen liittyy sekä polven sisäkiertoa että abduktiota. Toisaalta on todettu, että pelkkää polven sivuttaissiirtymästä (Kuva 1) mitattua dynaamista valguskulmaa voidaan käyttää luotettavana indikaattorina yhden jalan kyykistysliikkeessä (Mauntel et al., 2014; Oldfather et al., 2020). Niinpä sovellukseen polven frontaalitason kulma määritettiin lonkan ja nilkan nivelpisteiden väliin käyttämällä vektoreiden skalaarituloa (Kaava 1). Kaavaa voidaan käyttää esimerkiksi kolmen pisteen välisen kulman laskemiseen.

Vektoreiden skalaaritulo, jossa pisteet A, B ja C edustavat lonkan, polven ja nilkan nivelpisteitä.
Sovelluksen kehitys lähti liikkeelle kyykkysuorituksia sisältävien YouTube -videoiden analysoinnista. Tämän jälkeen kehitys jatkui Metropolian innovaatioprojektissa, jossa ohjelmistokehityksen opiskelijat rakensivat käyttöliittymän, tietokannan ja raportointityökalun. Opiskelijat Risto-Matti Leivo ja Samuel Ahjoniemi jatkoivat hankkeessa projektiassistentteina siirtäen sovelluksen kokeiluversion verkkoon kaikkien saataville osoitteeseen https://web-sls-test-tool.rahtiapp.fi FUNETin palvelimet tarjosivat tietoturvallisen ja luotettavan ratkaisun ohjelmistokontin säilytykseen.
Sovelluksessa käyttöliittymästä voidaan valita mitattava polvi (vasen / oikea) ja sen jälkeen määritetään haluttu toistojen määrä. Itse mittauksen aikana 2D-malli skaalautuu henkilön koon mukaan ja antaa sekä visuaalisen että auditiivisen palautteen, kun kyykistyminen on riittävän syvä. Toistot lasketaan lonkkanivelen ja nilkkanivelen suhteellisen etäisyyden muutoksista.
Mittauksen aikana suoritettujen toistojen määrä näkyy näytöllä. Raportoinnissa (Kuva 2) toistot on interpoloitu 101 (0–100) datapisteeseen. Toistoja voidaan tarkastella graafisesti raportilta ja verrata niiden yhdenmukaisuutta. Käyttöliittymän kautta suoritusta voi toistaa myös videotallenteena. Tietosuojasyistä tunnisteellinen videoaineisto tuhotaan session päätyttyä. Mallista tallennetut koordinaattitiedot sen sijaan säilyvät tietokannassa, ja ne voidaan tuoda CSV-muodossa tutkimuskäyttöä varten.

Kuva 4. Kyykkysovelluksen esimerkkiraportti viiden toiston suorituksesta vasemmalla jalalla. Toistoista neljässä ensimmäisessä liikehallinta on ollut hyväksyttävällä tasolla, mutta viidennessä polven kulma on kääntynyt yli 20 astetta valgus-asentoon.
Kokonaisuudessaan kyykkysovelluksen käyttö on tehty hyvin yksinkertaiseksi ja se mahdollistaa nopeat kokeilut. Käyttöliittymän ja raportoinnin jatkokehitystä tullaan tekemään asiantuntijapalautteen perusteella.
Kävelysovellus
Toinen hankkeessa kehitetty sovellus pyrkii analysoimaan sivulta kuvatusta kävelystä alaraajojen suurimmat nivelkulmamuutokset ojennus- ja koukistussuunnassa. Näitä tietoja voidaan hyödyntää esimerkiksi kävelyn aikaisten puolierojen arviointiin. Sovellus analysoi ennalta kuvattuja videoita. Se käy kuva kerrallaan läpi valikoidun videon, kerää talteen maamerkkien koordinaatit, tunnistaa niistä automaattisesti kävelysuunnan, laskee nivelten väliset kulmat, jaksottaa kulmamuutokset askelsykleihin ja tuottaa aineistosta raportin. Käsittely kestää tavanomaisella tietokoneella (i5-1145, 16 GB) noin kaksikymmentä sekuntia.
Analysointi tehdään paikallisesti eli videota ei lähetä verkon yli. Tämä nopeuttaa sovelluksen toimintaa ja parantaa sen tietoturvaa. Analysoinnin nopeutta voidaan lisätä käyttämällä tietokonetta, jossa on erillinen grafiikkasuoritin. Sovellusta pääsee kokeilemaan osoitteessa https://s-gait.rahtiapp.fi/

Kuva 5. Askellussovelluksen tietojen käsittely. Kuva: Tom Thiel.
Mielenkiintoinen vaihe sovelluksen kehityksessä liittyi askelsyklin automaattiseen tunnistukseen. Askelsykli mitataan kahden identtisen tapahtuman, esimerkiksi kantakosketuksen, väliltä. Sovelluksessa käytettiin askeltapahtumien määrittämiseen lonkka-, varvas- ja nilkkanivelten siirtymiä eteen-taakse suunnassa eli kuvakoordinaatiston x-akselilla. Tukivaiheen alku määritettiin hetkestä, jolloin lonkan ja kantapään etäisyys ovat maksimissa vartalon etupuolella. Tukivaiheen päättymien puolestaan määritettiin hetkestä, jolloin varpaiden ja lonkan pisteiden etäisyys ovat maksimissa vartalon takana. Tällaisen menetelmän on todettu tunnistavan kriittiset askellustapahtumat yhden ruudun tarkkuudella 94 % tapauksista. (Zeni et al., 2008)

Kuva 6. Kaksi ruudunkaappausta kävelysovelluksen käyttöliittymästä. Vasemmalla kuvassa näkyy videon valinta ja asetustyökalut. Oikealla kuvassa on analysointi käynnissä. Kuva: Tom Thiel.
Sovellus analysoi molempien alaraajojen suurimpia nivelkulmia sagittaalitasossa. Mittausta varten polven kulma määritettiin samalla tavalla kuin kyykkysovelluksessa. Lonkan ja nilkan osalta kulmien määrittäminen oli haastavampaa, sillä MediaPipen -mallista puuttui oleellisia maamerkkejä tyypillisten kliinisten nivelkulmalaskelmien tekemiseksi. Nilkan ojennus ja koukistuskulmat määriteltiin vertaamalla sääriluun asentoa varpaiden ja kannan väliseen linjaan.
Lonkan nivelkulma määriteltiin polven, lonkan ja hartian välille. Sovelluksen toimintaa pilotointiin eri ympäristöissä, eri laatuisilla videoilla, eri kävelynopeuksilla ja muutamilla eri koehenkilöillä. Pilotoinnin yhteydessä huomattiin, että mallia kannattaa ajaa sen raskaimmilla asetuksilla, koska se lisää huomattavasti maamerkkien tunnistamisen ja seurannan luotettavuutta. Toisaalta raskaampi laskentamalli ei hidasta juuri lainakan käsittelyaikaa.
Pilotoinnin tuloksena voidaan todeta, että polven osalta sovelluksen mittausta voidaan pitää jokseenkin luotettavana ja tulokset eri kävelynopeuksilla ja ympäristöissä antavat kohtuullisen toistettavia arvoja. Vastaavaan tulokseen on päädytty myös toisessa tutkimuksessa, jossa MediaPipe -mallia on hyödynnetty juoksumatolla (Young et al., 2023). Lonkan osalta mittauksen tuottama käyrä on normaalin muotoista, mutta astelukemat poikkeavat huomattavasti kävelymatolla mitatuista normaaliarvoista (Fukuchi et al., 2018).
Nilkan osalta mittaus niin ikään näyttää tyypillisen muotoiselta, mutta vaihteluväli on kaksinkertainen verrattuna normaaliin (Fukuchi et al., 2018). Jotta lonkan mittaus saataisiin luotettavammaksi, täytyisi alaselästä löytyä seurattava maamerkki. Nilkan epätarkkuuteen vaikuttaa puolestaan eniten se, että maamerkkien seuranta ei pysy vakaana. Toinen huomionarvoinen tekijä nilkan seurannassa on, että kannan ja varpaiden välille asetettava suora linja ei lähtökohtaisesti tunnista varpaiden ojentumista päätöstukivaiheessa. Parempi seurattava maamerkki kävelyn kannalta olisikin 2. metatarsaalipää.
Lopuksi
Verkostohankkeessa kehitettiin kaksi sovellusta, jotka hyödynsivät avoimen MediaPipen Pose -mallia. Ensimmäinen sovelluksista mittasi polven dynaamista valgus-kulmaa. Toinen analysoi kävelyä sivulta.
Pilotoinnin tuloksena todettiin, että polven dynaamisen valgus-kulman mittaus MediaPipen avulla on lupaava tapa seurata kyykistysliikkeen laatua ja antaa siitä objektiivista palautetta. Sen sijaan kävelyyn liittyen MediaPipen seurantatarkkuus ja maamerkkien sijainti eivät olleet optimaalisia. Tämä saattaa johtua siitä, että avoimen lähdekoodin mallit eivät ole alun perin suunniteltu biomekaniikkasovelluksiin, joten datasetit ja nivelkeskipisteiden sijainnit, joilla ne on koulutettu, ovat epätarkkoja ja antavat epäjohdonmukaisia tuloksia (Wade et al., 2022).
Tästä huolimatta markkeritonta liikekaappausta voidaan pitää lupaavana teknologiana, jonka avulla pystytään jatkossa siirtämään mittauksia laboratorion ulkopuolelle. MediaPipen mallia onkin onnistuneesti hyödynnetty juoksussa aika- ja matkamuuttujien seurantaan hyvällä tarkkuudella (Young et al., 2023).
Työ markkerittoman liikekaappauksen luotettavuuden ja tekoälypohjaisten liikeanalyysisovellusten kehittämisen parissa jatkuu Metropolian liikelaboratoriossa Kuntoutus- ja tutkiminen -osaamisalueen rahoittamana.
Ensinnäkin vuoden 2023 aikana selvitetään tämän hankkeen sovelluksien taustalla toimivan BlazePose -algoritmin toistettavuutta ja luotettavuutta 3D-liikeanalyysijärjestelmää vasten. Toiseksi saksalainen Contemplas on kehittänyt nimenomaan kävelyyn ja juoksuun soveltuvan 2D-mallin, jonka suorituskykyä tullaan testaamaan. Kolmanneksi Hytke-hankkeeseen (https://hytke.metropolia.fi/) liittyen kyykkysovelluksen jatkokehitystä varten tullaan keräämään asiantuntijalausuntoja kliinikoilta, valmentajilta ja tutkijoilta. Jatkokehityksessä keskitytään sovellusten käyttöliittymien ja käytettävyyden parantamiseen.
Tekninen sanasto
Termi | Selite |
Konenäkö | Automaattiseen kuvankäsittelyyn perustuva tietokoneohjelma, joka tulkitsee kuvavirtaa ja pyrkii tunnistamaan siitä itselleen tuttuja piirteitä, kuten esimerkiksi ihmiskehon, kasvot ja raajat. Käsittelyn aikana kuvavirta muutetaan numeeriseen muotoon, jota voidaan hyödyntää analyyseihin ja päätöksentekoon. |
Asentoestimointi | Konenäköön pohjautuvat tekniikka, joka pyrkii ennustamaan ja seuraamaan ihmisen tai esineen asentoja ja sijaintia. Ihmisen asentoestimoinnissa konenäkömalli pyrkii yhdistämään eri osista (esim. käsistä ja jaloista) saatavia tietoja ja rakentamaan niistä yhtenäisen mallin. |
Markkeripohjainen liikekaappaus | Ihmisen kehon liikkeiden objektiivista seurantaa ja tallentamista. Menetelmä perustuu heijastavien markkeripallojen seuraamiseen. Pallot on kiinnitetty ihon pintaan kaksipuoleisella teipillä. Menetelmää käytetään niin biomekaaniseen mallintamiseen, mutta myös liikkeen tuottamiseen peli- ja elokuvahahmoille. Tuloksena saadaan kolmiulotteista tietoa kehon osien koordinaateista, joita voidaan hyödyntää asentojen tunnistamisessa ja liikkeen seuraamisessa. |
Markkeriton liikekaappaus | Konenäköön pohjautuva menetelmä, jossa yhdestä tai useammasta videokuvasta tunnistetaan ihmishahmo ja seurataan sen liikkeitä objektiivisesti. |
MediaPipe | Googlen julkaisema paketti avoimen lähdekoodin tekoälymalleja. MediaPipe helpottaa valmiiden tekoälymallien käyttöönottoa ja niiden intergrointia sovelluksiin. Paketti sisältää malleja mm. kehon liikkeiden seurantaa tai tarkemmin jonkin kehon osan, kuten vaikkapa sormien nivelten tai silmien liikkeiden seurantaan. |
BlazePose | BlazePose on Googlen kehittämä koko kehon asentojen tunnistusalgoritmi, joka pystyy havaitsemaan ihmisen kehosta 33 eri kohdan sijainnit kuvassa tai videossa. BlazePose on yksi osa MediaPipe -pakettia. |
Ohjelmistokontti | Ohjelmistokontit ovat standardoitu tapa pakata ohjelmisto siten, että sitä voidaan siirtää paikasta toiseen ilman, että ohjelmistoa tarvitsee muokata. Koodi on usein riippuvainen erilaisista kirjastoista, lisäosista ja asetuksista. Konttiin pakattuna kaikki osat matkustavat käyttövalmiina.
|
FUNET | Funet (Finnish University and Research Network) on Suomen korkeakoulujen, tutkimuksen ja opetuksen tietoverkko. Funetissa on noin 80 tutkimusorganisaatiota ja noin 370 000 käyttäjää. Se tarjoaa käyttäjilleen nopeat ja tietoturvalliset palvelut esimerkiksi tiedostojen ja ohjelmistojen säilytykseen. |
Kirjoittajat:
Tom Thiel, laboratorioinsinööri, Metropolia AMK
Anu Valtonen, yliopettaja, Metropolia AMK
Lähteet
Schurr, S. A., Marshall, A. N., Resch, J. E., & Saliba, S. A. (2017). TWO-DIMENSIONAL VIDEO ANALYSIS IS COMPARABLE TO 3D MOTION CAPTURE IN LOWER EXTREMITY MOVEMENT ASSESSMENT. International Journal of Sports Physical Therapy, 12(2), 163–172.
Ei kommentteja