• Ei tuloksia

Aktiviteetin tunnistus mobiililaitteiden kiihtyvyysantureilla

N/A
N/A
Info
Lataa
Protected

Academic year: 2022

Jaa "Aktiviteetin tunnistus mobiililaitteiden kiihtyvyysantureilla"

Copied!
59
0
0

Kokoteksti

(1)

SAMI KOSKIMÄKI

AKTIVITEETIN TUNNISTUS MOBIILILAITTEIDEN KIIHTYVYYSANTUREILLA

Diplomityö

Tarkastaja: tutkimusjohtaja Alpo Värri

Tarkastajat ja aihe hyväksytty Tek- nisten tieteiden tiedekuntaneuvoston kokouksessa 4. kesäkuuta 2014

(2)

TAMPEREEN TEKNILLINEN YLIOPISTO Automaatiotekniikan koulutusohjelma

KOSKIMÄKI, SAMI: Aktiviteetin tunnistus mobiililaitteiden kiihtyvyysantureilla

Diplomityö, 49 sivua Tammikuu 2015

Pääaine: Signaalinkäsittely

Tarkastajat: tutkimusjohtaja Alpo Värri

Avainsanat: aktiviteetin tunnistus, kiihtyvyysanturi, hahmontunnistus, älypuhelin

Tässä työssä luodaan järjestelmä, joka tunnistaa mobiililaitteen käyttäjän aktiviteetin kiihtyvyysanturin avulla. Tunnistettavat aktiviteetit ovat kävely, juoksu, pyöräily, pas- siivisuus ja muu liikunta. Tavoitteena on luoda järjestelmä, joka toimii huomaamatto- masti mobiililaitteessa ja kerää jatkuvasti tietoa käyttäjän arkipäiväisestä aktiivisuudes- ta.

Koska järjestelmän on tarkoitus toimia taustalla ilman, että käyttäjä erikseen ilmoittaa aktiviteetin alkaneen, on yksi suurimmista haasteista erottaa muut jokapäiväiset liikkeet ja toiminnot kuten mobiililaitteen normaali käyttö tunnistettavista aktiviteeteista. Työssä kiinnitetään erityistä huomiota myös järjestelmän resurssivaatimuksiin mobiililaitteen akkukulutuksen minimoimiseksi.

Toteutettu järjestelmä käsittelee mobiililaitteen tarjoamaa kolmiulotteista kiihtyvyysai- kasarjaa lyhyissä ikkunoissa. Ikkunasta irrotetaan joukko piirteitä, joiden avulla tilastol- linen luokitin tekee alustavan luokituksen aktiviteetista. Tätä tulosta jalostetaan jälkikä- sittelyalgoritmilla, joka ottaa huomioon useamman peräkkäisen luokituksen. Luokitti- men koulutusdatan keräämiseen kiinnitettiin erityistä huomiota.

Toteutettu järjestelmä asettaa kiihtyvyyssensorille erittäin vähän vaatimuksia. Järjestel- män vaatima 15 Hz:n näytteenottotaajuus on saatavilla lähes jokaisessa markkinoilla olevassa kiihtyvyysanturissa. Myös vaadittu ±2 g arvoalue on tarpeeksi pieni useimmil- le kiihtyvyysantureille. Toteutettu järjestelmä asettaa erittäin vähän vaatimuksia myös sensorin asennolle ja sijainnille käyttäjän vartalossa. Mobiililaitteen asennolla ei ole merkitystä, ja sen voi sijoittaa taskujen lisäksi jopa reppuun tai käsilaukkuun. Järjestel- män vaikutus akun kulutukseen on pieni. Lisäksi järjestelmä toteutettiin taustaprosessi- na, joka ei häiritse laitteen normaalia käyttöä millään tavalla.

Järjestelmä tunnistaa passiivisuuden, kävelyn ja juoksun tarkasti. Koulutettu luokitin saavuttaa näille luokille 99 prosentin tunnistustarkkuuden työssä kerätyllä datajoukolla, joka sisältää 12 tuntia kävelyä, 3 tuntia juoksua ja 4,5 tuntia pyöräilyä yhteensä kahdek-

(3)

salta eri henkilöltä. Myös pyöräilyn tunnistustarkkuus on hyvä, mutta asettaa mobiili- laitteen sijainnille erityisvaatimuksia. Nämä erityisvaatimukset huomioiden myös pyö- räilyn tunnistustarkkuus on lähes 98 prosenttia.

(4)

TAMPERE UNIVERSITY OF TECHNOLOGY

Master’s Degree Programme in Automation Technology

KOSKIMÄKI, SAMI: Activity detection using accelerometers in mobile devices

Master of Science Thesis, 49 pages January 2015

Major: Signal Processing

Examiners: Associate professor Alpo Värri

Keywords: activity detection, accelerometer, pattern recognition, smartphone

This thesis reports the creation of a system that uses accelerometer to recognize mobile device user’s activity. The recognized activities are walking, running, cycling, passive- ness and other physical exercise. The purpose of the system is to work unnoticed in a mobile device and collect information on user’s everyday activities.

As the system is meant to work in the background, without the user specifically indicat- ing that an activity has started, one of the greatest challenges in creating the system is to separate other ordinary motions and actions such as the normal usage of the mobile de- vice from the before mentioned physical activities. Special attention was paid to the sys- tem resource requirements to minimize its effect on the battery usage in the mobile de- vice.

The executed system processes the tridimensional acceleration time series retrieved from the mobile device in short time windows. From a time window, the system ex- tracts a group of characters that a statistical classifier then analyses to determine a pre- liminary classification for the activity. This result is further refined with a post pro- cessing algorithm that takes into account several consecutive classifications. The train- ing data for the classifier was gathered carefully in order to assure its comprehensive- ness.

The resulting system imposes very few requirements for an accelerometer. The system requires a sampling frequency of 15Hz which is available in almost every accelerometer in the market. The required value range of ±2g is sufficiently small for most of the ac- celerometers as well. The executed system also sets very little requirements for the posi- tion of the sensor and for its location on the user’s body. The position of the mobile de- vice is irrelevant and the users can place the device not only in their pockets but even in their backpacks or handbags. The system has only a small effect on the battery usage. In addition to this, the system was executed as a background process that does not affect the normal usage of the device in any way.

(5)

The system recognizes passiveness, walking and running precisely. The trained classifi- er achieves 99 percent recognition accuracy in these classes with the collected data set that includes 12 hours of walking, 3 hours of running and 4.5 hours of cycling in total from eight different people. It also recognizes cycling well but, unlike the other activi- ties, cycling posits requirements for the location of the mobile device during the activi- ty. When these requirements are met, the recognition accuracy in cycling is almost 98 percent.

(6)

ALKUSANAT

Työn tekninen toteutus tehtiin osana asiakasprojektia Vincit Oy:ssä vuosina 2011–2012.

Työn kirjallinen osuus valmistui hyvin hitaasti seuraavien kolmen vuoden aikana. Kiitos siitä, että työ yleensäkin valmistui, kuuluu tyttöystävälleni Merja Koski-Sipilälle ja työ- kaverilleni Juha Riipille, jotka potkivat minua eteenpäin tasaisin välein. Osa kiitoksesta kuuluu myös ahdistaville unilleni, jotka muistuttivat minua keskeneräisestä koulutuk- sestani.

Haluan kiittää myös työn ohjaajaa, tutkimusjohtaja Alpo Värriä. Hän oli tavoitettavissa aina kun tarvitsin neuvoja tai palautetta ja vastasi kysymyksiini nopeasti ja tarkasti.

Tampereella, 25.1.2015 Sami Koskimäki

(7)

SISÄLLYS

1 Johdanto ... 2

2 Teoreettinen tausta ... 4

Hahmontunnistusjärjestelmät ... 4

2.1 Kiihtyvyysanturit ... 5

2.2 2.2.1 Toimintaperiaate ... 6

2.2.2 Mobiililaitteiden kiihtyvyysanturit ... 6

Mittausdatan esikäsittely ... 7

2.3 2.3.1 Uudelleennäytteistys ... 8

2.3.2 Projektio orientaatioriippumattomaan avaruuteen ... 9

Piirteet ... 10

2.4 2.4.1 Aikatason piirteet ... 10

2.4.2 Taajuustason piirteet ... 11

Luokittimet ... 12

2.5 2.5.1 MLP-neuroverkko ... 13

2.5.2 Tukivektorikone ... 14

2.5.3 Binääripäätöspuu ... 15

3 Koulutusdata ... 17

Lähestymistapojen vertailua ... 17

3.1 Hyvä koulutusdata ... 19

3.2 Keräysjärjestelmä ... 20

3.3 Keräysjärjestelyt ... 21

3.4 Kerätty data ... 23

3.5 4 Toteutettu järjestelmä ... 26

Järjestelmän rakenne ... 26

4.1 Esikäsittely ... 27

4.2 4.2.1 Uudelleennäytteistys ... 27

4.2.2 Orientaatioriippuvuuden poisto ... 28

Piirteiden valinta ... 28

4.3 Luokitus ... 34

4.4 4.4.1 Tukivektorikone ... 34

4.4.2 MLP-neuroverkko ... 36

4.4.3 Binääripäätöspuu ... 36

4.4.4 Luokittimen valinta ... 37

Temporaalinen jälkikäsittely ... 37

4.5 Resurssien hallinta ... 39

4.6 5 Tulokset ja niiden tarkastelu ... 40

Tarkkuus arkipäiväisessä käytössä ... 40

5.1 5.1.1 Ensimmäisen koehenkilön tulokset ja analyysi... 40

5.1.2 Toisen koehenkilön tulokset ja analyysi ... 43

Akun kulutus arkipäiväisessä käytössä ... 46

5.2 6 Yhteenveto ... 48

(8)

Lähteet ... 50

(9)

LYHENTEET JA MERKINNÄT

Lyhenteet

DC engl. Direct Current, tasavirta

FFT engl. Fast Fourier Transform, nopea algoritmi diskreetin Fourier- muunnoksen laskemiseen

GPS engl. Global Positioning System, maailmanlaajuinen paikallistamisjärjestelmä

IIR engl. Infinite Impulse Response, suodatintyyppi, jonka impulssivaste on äärettömän pitkä

MCR engl. Medium Crossing Rate, taajuus jolla signaalin arvo siirtyy keskiarvon toiselle puolelle

MLP engl. Multilayer Perceptron, neuroverkkotyyppi, joka koostuu useasta tasosta neuroneita

RBF engl. Radial Basis Function, kantafunktio, jonka arvo riippuu etäisyydestä origoon

SVM engl. Support Vector Machine, tukivektorikone, lineaarinen luokitinmalli

WLAN engl. Wireless Local Area Network, langaton lähiverkkoteknologia ZCR engl. Zero Crossing Rate, taajuus jolla signaalin arvo siirtyy nollan

toiselle puolelle

Muuttujat ja funktiot

( ) Muuttujien h ja v välinen korrelaatio ( ) Muuttujien h ja v välinen kovarianssi ( ) Signaalin S entropia

Muuttujan h keskihajonta Φ Kernelifunktio

̂ Arvioitu maan vetovoimavektori

Kiihtyvyyden vaakasuuntainen komponentti Kiihtyvyyden pystysuuntainen komponentti ( ) Aikasarjan n:s kiihtyvyysvektori

(10)

1 JOHDANTO

Mobiililaitteiden ja mobiilipalveluiden kontekstitietoisuus (engl. context awareness) on ajankohtainen aihealue, johon kehitetään jatkuvasti lisää sovelluksia. Kontekstilla tar- koitetaan tässä yhteydessä esimerkiksi käyttäjän aktiviteettia (mitä tekee), sijaintia, tun- netilaa tai ympäristöä. Kontekstitietoinen palvelu käyttää kontekstitietoa hyväkseen tar- jotakseen palvelun käyttäjälle tilanteeseen (kontekstiin) paremmin sopivaa tietoa. Mo- biililaitteen ja sen käyttäjän sijaintitiedon hyödyntäminen on hyvä esimerkki konteksti- tietoisesta sovelluksesta. Käyttäjän sijainnin automaattinen määrittäminen on helppoa mobiililaitteista nykyään lähes poikkeuksetta löytyvän GPS-anturin ansiosta.

Mobiililaitteissa on usein muitakin sensoreita, joita voidaan käyttää kontekstin havain- nointiin, kuten kiihtyvyysanturi, kompassi, mikrofoni, WLAN-adapteri ja bluetooth- adapteri. Esimerkiksi WLAN-yhteyden avulla voidaan yrittää päätellä, onko käyttäjä lähellä rakennusta vai ei, koska WLAN-yhteyksiä on yleensä vain rakennusten sisällä.

Mikrofonin tallentamasta äänisignaalista voidaan yrittää päätellä onko käyttäjä ihmis- joukossa vai yksin, koska ihmisjoukossa usein kuuluu monen ihmisen puhetta samaan aikaan. Käyttäjän aktiviteetin tunnistamiseen soveltuu parhaiten kiihtyvyysanturi, joka tallentaa hyvin yksityiskohtaista tietoa käyttäjän liikkeistä.

Käyttäjän aktiviteettia voidaan käyttää hyväksi monessa sovelluksessa. Yksinkertai- simmillaan sovellus voi pitää kirjaa käyttäjän aktiviteetista, jotta käyttäjä voi seurata liikuntansa määrää. Sovellus voi tarjota mahdollisuuden toimintojen automatisointiin aktiviteetin perusteella. Käyttäjä voi esimerkiksi valita, että laitteen musiikkisoitin me- nee automaattisesti päälle, kun käyttäjä lähtee lenkille ja alkaa juosta.

Tässä työssä keskitytään käyttäjän aktiviteetin tunnistamiseen kiihtyvyysanturin avulla.

Tunnistettavat aktiviteetit ovat kävely, juoksu, pyöräily, passiivisuus ja muu liikunta.

Nämä ovat yleisiä jokapäiväisiä aktiviteetteja, ja tavoitteena on luoda järjestelmä, joka toimii huomaamattomasti mobiililaitteessa, ja jatkuvasti kerää tietoa käyttäjän arkipäi- väisestä aktiivisuudesta.

Koska järjestelmän on tarkoitus toimia taustalla ilman, että käyttäjä erikseen ilmoittaa aktiviteetin alkaneen, on yksi suurimmista haasteista erottaa muut jokapäiväiset liikkeet ja toiminnot, kuten mobiililaitteen normaali käyttö, tunnistettavista aktiviteeteista.

Työssä kiinnitetään erityistä huomiota myös järjestelmän resurssivaatimuksiin mobiili-

(11)

laitteen akkukulutuksen minimoimiseksi ja täten järjestelmän huomaamattomuuden maksimoimiseksi.

Aktiviteetin tunnistusta kiihtyvyysanturin avulla on tutkittu laajasti. Useimmissa tutki- muksissa on kuitenkin käytetty montaa kiihtyvyysanturia, jotka on sijoitettu tiettyihin asentoihin eri puolille käyttäjän vartaloa. Tässä työssä luotava järjestelmä on riippuma- ton sensorin (eli mobiililaitteen) asennosta ja sijainnista vartalossa. Työn tuloksena luo- daan ohjelma, jota voidaan ajaa taustalla mobiililaitteissa jatkuvasti ilman merkittävää vaikutusta akun kulutukseen. Järjestelmä tunnistaa valitut aktiviteetit suurella tarkkuu- della ja osaa olla reagoimatta mobiililaitteen normaaliin käyttöön.

Tunnistusjärjestelmä toteutetaan yleiskäyttöisenä Java-kirjastona, joka ei tee oletuksia alla olevasta käyttöjärjestelmästä tai laitteistosta. Teoriassa järjestelmän voi integroida mihin tahansa laitteeseen, jolle on saatavilla Java 6 -yhteensopiva Java-virtuaalikone.

Työssä kuitenkin käytetään android-käyttöjärjestelmällä varustettuja mobiililaitteita nii- den helpon saatavuuden, halvan hinnan ja monimuotoisuuden vuoksi.

(12)

2 TEOREETTINEN TAUSTA

Hahmontunnistusjärjestelmät 2.1

Tässä työssä luotava järjestelmä on pohjimmiltaan hahmontunnistusjärjestelmä. Tässä luvussa käydään lyhyesti läpi hahmontunnistusjärjestelmien perusrakenne ja tärkeimmät osat. Seuraavat aliluvut keskittyvät tarkemmin tämän työn kannalta oleellisiin hahmon- tunnistusjärjestelmän osiin.

Hahmontunnistus on operaatio, jossa joukko kohteesta tehtyjä havaintoja sijoitetaan oi- keaan luokkaan. Tässä työssä havainnot ovat kiihtyvyysanturilta saatuja näytearvoja ja mahdolliset luokat ovat aktiviteetit kävely, juoksu, pyöräily, passivisuus, ja muu liikun- ta. Kuvassa 1 on esitetty hahmontunnistusjärjestelmän yksinkertaistettu rakenne.

Kuva 1. Hahmontunnistusjärjestemän rakenne Sensori

Esikäsittely

Piirteenirrotus

Luokitus

raakadata (havainnot)

esikäsitelty data

piirrevektori

luokitustulos Jälkikäsittely

lopullinen luokka

(13)

Sensori voi olla mikä tahansa laite, joka havainnoi kohdetta ja tarjoaa siitä mittauksia.

Sensori voi olla esimerkiksi kamera, jonka tarjoamat mittaukset ovat kuvia kohteesta.

Tämän työn tapauksessa sensori on mobiililaitteen kiihtyvyysanturi, joka tarjoaa havain- toja kiihtyvyysarvojen muodossa laitteen ja siten myös sen kantajan liikkeistä.

Esikäsittelyssä sensorin tarjoamaa mittausdataa käsitellään siten, että siitä on helpompi irrottaa kiinnostavia piirteitä. Kohinan suodatus ja segmentointi ovat yleisiä esikäsitte- lyoperaatioita. Segmentointi tarkoittaa luokiteltavan objektin erottamista muusta datas- ta. Jos esimerkiksi auton kuvasta on tarkoitus tunnistaa rekisterinumero, segmentointi etsii kuvasta rekisterikilven ja erottaa sen taustasta. Tässä työssä esikäsittely koostuu datan näytetaajuuden alentamisesta ja sensorin asennon vaikutusten poistamisesta. Mo- lemmissa operaatioissa poistetaan raakadatasta epäoleellista tietoa.

Piirteenirrotus (engl. feature extraction) on operaatio, jossa mittausdatasta irrotetaan piirteitä, jotka kuvaavat luokiteltavia objekteja mahdollisimman hyvin. Mittausdata on usein moniulotteista ja sisältää paljon sovelluksen kannalta ylimääräistä informaatiota.

Esimerkiksi kuva voi helposti sisältää miljoonia näytearvoja. Piirteenirrotuksen yksi päätarkoitus onkin alentaa mittausdatan dimensiota ja siten yksinkertaistaa mittausdataa.

Mittausdatasta muodostettua piirteiden joukkoa kutsutaan piirrevektoriksi. Itse piirteet ja niiden irrotusmenetelmät riippuvat paljon sovelluksesta ja käytettävästä luokittimesta.

Jos järjestelmän tarkoitus on esimerkiksi luokitella ihmisiä miehiksi ja naisiksi, hyviä piirteitä voisivat olla pituus, paino ja rinnanympärys. Yksinkertaistettuna tarkoitus on muokata mittausdata muotoon, joka tekee luokittimen työn mahdollisimman helpoksi.

Luokitin sijoittaa piirrevektorin todennäköisimpään luokkaan ja siten muodostaa alus- tavan arvion luokasta, johon sensorin tarjoamat havainnot kuuluvat. Luokitin ei yleensä ota huomioon kuin yhden piirrevektorin, eikä siksi usein pysty yksin muodostamaan optimaalista luokitustulosta.

Jälkikäsittelyssä voidaan ottaa huomioon useampi luokitustulos ja parantaa tarkkuutta ottamalla huomioon tulosten keskinäiset riippuvuussuhteet. Oletetaan esimerkiksi, että luokitin on tuottanut aktiviteettisekvenssin {P, J, P, J, P, J}, missä P trakoittaa pyöräi- lyä, J juoksua ja jokainen tapahtuma on viiden sekunnin mittainen. Voidaan helposti päätellä, että henkilö ei todennäköisesti ole juossut pyörän kanssa viiden sekunnin vä- lein, vaan kyseessä on luokitusvirhe. Kun luokittimen suorituskyvystä on hyvä käsitys, voidaan virhe yrittää korjata.

Kiihtyvyysanturit 2.2

Tässä työssä kehitettävän hahmontunnistusjärjestelmän sensorina toimii kiihtyvyysantu- ri. Kiihtyvyysanturi on laite, joka mittaa kappaleen kiihtyvyyttä eli nopeuden muutosta tietyssä ajassa. Tässä luvussa esitellään kiihtyvyysanturien toimintaperiaate ja perehdy-

(14)

tään mobiililaitteiden kiihtyvyysantureiden dataformaattiin, ominaisuuksiin ja rajoituk- siin.

2.2.1 Toimintaperiaate

Kiihtyvyysanturi mittaa niin sanottua oikeaa kiihtyvyyttä (engl. proper acceleration).

Levossa anturin antama lukema on noin 1 g eli noin 9,81 ylöspäin johtuen maan vetovoimasta. Anturit mittaavat kiihtyvyyttä yleensä kahden ( ) tai kolmen ( ) toisiaan vastaan kohtisuoran akselin suhteen omassa paikallisessa koordinaatistossaan.

Kiihtyvyysanturin voidaan ajatella koostuvan kitkavaimennetusta massasta, joka on kiinnitetty jousen päähän. Kun anturin runko liikkuu, jousi venyy. Mittaamalla jousen venymä saadaan laskettua massaan kohdistuva voima ja sen avulla kiihtyvyys. Käytän- nön antureissa käytetään pietsosähköisiä, pietsoresistiivisiä tai kapasitiivisia kom- ponentteja, jotka muuttavat mekaanisen liikkeen sähköiseksi signaaliksi.

Kiihtyvyysantureiden antamissa lukemissa on anturin laadusta riippuen eri määrä vir- hettä. Yleensä anturin jokaisella akselilla on sekä vääristymää (engl. bias) että skaala- virhettä (engl. scale error). Vääristymä on vakiosuuruinen virhe kiihtyvyyslukemassa ja skaalavirhe on suoraan verrannollinen kiihtyvyyteen.

2.2.2 Mobiililaitteiden kiihtyvyysanturit

Nykyaikaisista älypuhelimista löytyy lähes poikkeuksetta kiihtyvyysanturi. Älypuheli- mien kiihtyvyysanturit on tarkoitettu pääasiassa puhelimen asennon tunnistamiseen ja pelien ohjaamiseen, eikä tieteelliseen, tarkkuutta vaativaan käyttöön. Tämän vuoksi mit- tauksien laatu on usein heikko.

Mobiililaitteiden käyttöjärjestelmien ohjelmointirajapinnan kautta kiihtyvyysantureilta saatava mittaus on yleensä kolmiulotteinen reaalilukuvektori ( ). Käytännössä näytteiden arvoalueet ovat kuitenkin kvantisoituneet, koska anturin A/D-muunnin tuot- taa 8–24 bittisiä kokonaislukuja. Käytännön kokeilujen perusteella näytteiden bit- tisyvyys on useimmissa älypuhelimissa enintään 6–8 bittiä. Antureiden näytetaajuudet vaihtelevat paljon. Mobiililaitteesta ja käyttöjärjestelmästä riippuen käytössä olevat näy- tetaajuudet ovat väliltä 10–100 Hz. Myös kiihtyvyysantureiden arvo-alue on käytännös- sä aina rajoitettu välille ±2 g. Taulukossa 1 on listattu tässä työssä käytettyjen älypuhe- limien kiihtyvyysantureiden keskimääräiset näytetaajuudet, näytetaajuuksien keskiha- jonnat ja kiihtyvyysarvojen arvoalueet. Laitteille, jotka tarjosivat useamman näytetaa- juuden, suurin on esitetty.

(15)

Taulukko 1. Mobiililaitteiden näytetaajuudet ja niiden keskihajonnat Mobiililaite Näytetaajuuden

keskiarvo

Näytetaajuuden keskihajonta

Arvoalue

HTC Desire 49 Hz 8.4 Hz ±2 g

HTC Desire Z 60 Hz 2.9 Hz ±2 g

Samsung Galaxy Tab 113 Hz 9.3 Hz ±2 g

Google Nexus S 50 Hz 1.4 Hz ±2 g

ZTE Blade 12 Hz 4.2 Hz ±2 g

Taulukon 1 arvot saatiin tallentamalla jokaisen laitteen kiihtyvyyssignaalia 1000 näyt- teen mittainen pala ja laskemalla peräkkäisten näytteiden aika-arvojen erotuksien kään- teisarvojen (näytetaajuus) keskiarvo ja keskihajonta. Näytteen tallennuksen aikana lai- tetta ravistettiin voimakkaasti muutaman sekunnin ajan, jolloin kiihtyvyysarvot leik- kaantuivat ylä- ja alapäästä ja näin arvo-alue saatiin määritettyä. Kuvassa 2 on esitetty HTC Desire -laitteen näytetaajuushistogrammi.

Kuva 2. HTC Desire -laitteen näytetaajuushistogrammi

Mittausdatan esikäsittely 2.3

Kiihtyvyysdatan epätasavälisyys ja riippuvuus laitteen orientaatiosta ovat seikkoja, jot- ka vaikeuttavat datan analysoimista ja piirteiden irrotusta. Tässä luvussa esitellään me-

(16)

netelmät sekä näytetaajuuden tasoittamiseen eli uudelleennäytteistämiseen (engl. re- sampling) että orientaatioriippuvuuden poistamiseen.

2.3.1 Uudelleennäytteistys

Kuten taulukosta 1 ja kuvasta 2 nähdään, käytettävissä oleva kiihtyvyysdata saattaa lait- teesta riippuen olla hyvinkin epätasavälistä. Datan epätasavälisyys vaikeuttaa analysoin- tia ja aiheuttaa virhettä varsinkin taajuusspektrin estimointiin. Epätasavälisesti näytteis- tetylle datalle on kehitetty useita spektrin estimointimenetelmiä, mutta ne ovat lasken- nallisesti huomattavasti raskaampia kuin tasavälisen datan kanssa yleisesti käytetty no- pea Fourier-muunnos (FFT).

Yksinkertaisin ja laskentatehokkain tapa tasavälistää data on käyttää lineaarista interpo- lointia. Kuvassa 3 on esitetty lineaarista interpolointia käyttävän uudelleennäytteistäjän rakenne.

Kuva 3. Uudelleennäytteistyksen rakenne

Ensin sensorilta tuleva epätasavälinen näytedata tasavälistetään interpoloimalla lineaari- sesti. Tasavälisen datan näytetaajuus täytyy Nyquistin teoreeman nojalla olla vähintään kaksi kertaa suurempi kuin epätasavälisen datan suurin taajuus, jotta laskostumista (engl. aliasing) ei tapahtuisi. Tämä taajuus voidaan arvioida esimerkiksi koulutusdatas- ta. Koulutusdataa käsitellään myöhemmin luvussa 3. Lisäksi näytetaajuuden täytyy olla halutun ulostulonäytetaajuuden moninkerta N, jotta alinäytteistys olisi yksinkertaista.

Sensori

Interpolointi

Alipäästösuodatus

Alinäytteistys

epätasavälinen data

tasavälinen data

kaistarajoitettu data

data jatkokäsittelyyn

(17)

Näin saatu ylinäytteistetty tasavälinen data alipäästösuodatetaan, jotta laskostumista ei esiinny myöskään alinäytteistysvaiheessa. Alipäästösuodatus voidaan suorittaa esimer- kiksi toisen asteen IIR (Infinite Impulse Response) -suodattimella. IIR-suodattimet ovat yksinkertaisia toteuttaa ja hyvin laskentatehokkaita. Viimeisessä vaiheessa alipääs- tösuodatetusta datasta yksinkertaisesti valitaan joka N:s näyte.

2.3.2 Projektio orientaatioriippumattomaan avaruuteen

Suurin ongelma mobiililaitteen kiihtyvyysdatassa hahmontunnistuksen kannalta on da- tan riippuvuus laitteen orientaatiosta. Data ja siitä lasketut piirteet siis riippuvat laitteen asennosta. Tämä vaikeuttaa luokittimen koulutusta, koska koulutusdataa täytyisi kerätä erikseen laitteen kaikista orientaatioista. Suurimmassa osassa aikaisempia tutkimuksia tämä ongelma on kierretty kiinnittämällä sensori tiettyyn asentoon [1–9][12–13]. Yksi vaihtoehto on käyttää vain orientaatioriippumattomia piirteitä summaamalla data yksi- ulotteiseksi [10]. Poistamalla orientaatiotieto kokonaan menetetään kuitenkin paljon oleellista informaatiota.

Laitteen asento on mahdollista päätellä vetovoimavektorin suunnasta. Kiihtyvyysnäyt- teiden keskiarvo ajan yli antaa hyvän arvion vetovoiman suunnasta. Mizell esitteli me- netelmän, jolla kolmiulotteinen kiihtyvyysdata voidaan projisoida kaksiulotteiseen orientaatioriippumattomaan avaruuteen [14]. Yang et al. käyttivät tätä menetelmää on- nistuneesti töissään [10][11]. Projektion vaatimat matemaattiset operaatiot on esitetty kaavoissa (1)–(5).

̂ ∑ ( )

(1)

̂ ̂

‖ ̂‖ (2)

‖ ‖ 〈 ̂ ( )〉

(3) ‖ ‖ ‖ ( ) ̂

(4)

( ) [ ] (5)

Olkoon ( ) kolmiulotteinen kiihtyvyysvektori ajanhetkellä . Silloin arvioitu veto- voimavektori ajanhetkellä on ̂. Kokonaisluku N määrää liukuvan keskiarvotusikku- nan pituuden. Yang et al. käyttivät N:lle arvoa, joka vastasi neljää sekuntia [11]. Mitä pidempi N, sitä tarkempi arvio, mutta hitaampi reaktionopeus orientaation vaihteluihin.

Pystysuuntainen, eli vetovoimavektorin ̂ suuntainen, kiihtyvyyskomponentti saadaan

(18)

helposti kiihtyvyysvektorin ( ) ja vetovoimavektorin ̂ pistetulona. Vektorin ( ) vektoria vasten kohtisuora komponentti kuvaa vaakasuuntaista kiihtyvyyttä. Vektorin suuntaa vaakatasossa ei pystytä määrittämään, vaan on aina vektoreiden ̂ ja ( ) virittämällä tasolla. Vaakasuuntaiseksi kiihtyvyyskomponentiksi voidaan valita vektorin pituus . Orientaatioprojektion tuloksena on siis jokaiselle ajanhetkelle vektori . Tästä eteenpäin tässä työssä symbolilla ( ) viitataan kaavan (5) vektoriin.

Piirteet 2.4

Esikäsittelyvaiheesta saatava kaksiulotteinen orientaatioriippumaton kiihtyvyysdata si- sältää vielä suuren määrän informaatiota, josta osa on hyödytöntä kohinaa. Kiihtyvyys- datasta voidaan irrottaa suuri määrä erilaisia piirteitä. Monet piirteet kuvaavat kuitenkin samaa ilmiötä, osa on epäoleellista tässä työssä tunnistettavien luokkien kannalta ja osa on yksinkertaisesti liian raskaita laskettavaksi mobiililaitteessa. Oikein valitut piirteet ovat järjestelmän suorituskyvyn kannalta koulutusdatan jälkeen tärkein osa. Valtavasta potentiaalisesta piirrejoukosta parhaiden piirteiden valinta olisi todella hidas operaatio.

Onneksi potentiaalisten piirteiden rajaukseen saadaan apua aikaisemmista tutkimuksista.

Piirteet voidaan jakaa karkeasti aikatason ja taajuustason piirteisiin. Aikatason piirteet irrotetaan suoraan kiihtyvyysdatasta, ja ne ovat usein yksinkertaisesti laskettavissa. Taa- juustason piirteet vaativat kiihtyvyysdatan muuntamista taajuustasoon FFT:n avulla.

Seuraavissa aliluvuissa esitellään kirjallisuudessa hyödyllisiksi todetut piirteet. Useim- mat esiteltävät piirteet voidaan laskea molemmille kiihtyvyyskomponenteille ( ja ) erikseen, osaan taas tarvitaan molemmat komponentit.

Esiteltäväksi on valittu piirteet, jotka ovat aikaisemmissa tutkimuksissa yleisimmin käy- tettyjä. Usein valittu piirrejoukko on ollut hyvin samantyylinen. Poikkeuksina tästä pää- säännöstä Maurer et al. keskittyivät erityisesti aikatason piirteisiin [7]. Lester et al. tut- kivat tavallista laajempaa joukkoa taajuustason piirteitä. Piirrejoukko sisälsi muun mu- assa kepstri (engl. cepstrum) -komponentteja ja kaistapäästösuodattimien ulostulotehoja.

[6] Taajuustason piirteet on yleensä laskettu FFT:n avulla, mutta Mäntyjärvi et al. käyt- tivät työssään [5] poikkeuksellisesti wavelet-muunnosta.

2.4.1 Aikatason piirteet

Keskiarvo eli näyteikkunan DC-komponentti on yksinkertaisin ja käytetyin piirre. Kes- kiarvon voidaan ajatella esittävän myös näyteikkunan histogrammin sijaintia. Keskiar- vopiirrettä on käytetty monissa aikaisemmissa tutkimuksissa [1–4][5–13].

Varianssi kuvaa liikkeen intensiteettiä ja on hyödyllinen erottamaan kevyet aktiviteetit, kuten kävely, intensiivisistä, kuten juoksu. Varianssi on myös näyteikkunan histogram- min leveyden mitta. Myös varianssia on hyödynnetty useissa aikaisemmissa tutkimuk-

(19)

sissa [2][6-9][11][13]. Monesti on käytetty keskihajontaa, joka kuvaa samaa piirrettä, ja on itse asiassa varianssin neliöjuuri [1][3][10–12].

Vinous (engl. skewness) on histogrammin muotoa kuvaava käsite. Vinous on suuri, jos suuri osa arvoista on joko keskiarvoa suurempia tai pienempiä. Vinoutta on käytetty usein tutkimuksissa, joissa yksi tunnistettavista luokista on portaissa kävely, koska se aiheuttaa pystysuuntaisen kiihtyvyyden histogrammiin vinoutta. [1][2][9]

Huipukkuus (engl. kurtosis) on vinouden tavoin histogrammin muotoa kuvaava piirre.

Terävähuippuinen histogrammi antaa positiivisen huipukkuusarvon ja litteähuippuinen negatiivisen. Huipukkuutta on käytetty usein samoissa tutkimuksissa kuin vinoutta.

[1][2][9]

Persentiili (engl. percentile) on histogrammista laskettava piirre, joka kuvaa arvojen kertymää tietyn arvon alapuolelle. Esimerkiksi 5. persentiili on sellainen arvo että sitä pienempiä arvoja on histogrammissa 5 %. Tunnetuin on 50. persentiili, eli mediaani.

Käyttämällä useampaa persentiiliä saadaan histogrammin muoto kuvattua halutulla tarkkuudella. Persentiilejä on käytetty onnistuneesti piirteinä muutamissa tutkimuksissa [2][9]. Kwapisz et al. käyttivät välille [0, 1] skaalattuja persentiilejä, jotka kuvaavat vain histogrammin muodon eivätkä lainkaan sijaintia tai skaalaa [12].

Nollan ylitystaajuus (ZCR) ja keskiarvon ylitystaajuus (MCR) ovat yksinkertaisia aikatason signaalista helposti laskettavia piirteitä, jotka riippuvat kuitenkin vahvasti sig- naalin taajuussisällöstä. ZCR on taajuus, jolla signaalin arvo muuttuu negatiivisesta po- sitiiviseksi tai positiivisesta negatiiviseksi. MCR puolestaan on taajuus, jolla signaalin arvo siirtyy keskiarvon toiselta puolelta toiselle. MCR:ää ja ZCR:ää on käytetty joissain töissä taajuuspiirteiden laskentatehokkaina vaihtoehtoina [7][10][11].

Korrelaatio erisuuntaisten kiihtyvyyskomponenttien välillä auttaa tunnistamaan aktivi- teetit, jotka sisältävät liikettä useammassa suunnassa. Bao ja Intille käyttivät korrelaatio- ta erottamaan normaalin kävelyn portaissa kävelystä [3]. Korrelaatio voidaan määritellä kovarianssin avulla kaavassa (6) esitetyllä tavalla. [3][4][10][11]

( ) ( )

(6)

2.4.2 Taajuustason piirteet

Spektrin piikkitaajuus eli se taajuus, jota näyteikkuna sisältää eniten, on hyödyllinen piirre, joka auttaa erottamaan toisistaan jaksollisia aktiviteetteja, kuten kävely ja juoksu.

Kävelyn piikkitaajuus on yleensä pienempi kuin juoksun. Spektrin piikkitaajuus voi-

(20)

daan arvioida helposti ja laskennallisesti suhteellisen tehokkaasti FFT:n avulla. Spektrin piikkitaajuutta on käytetty yllättävän vähän, vaikka se on intuitiivisesti erinomainen piirre [2][8][11]. Pärkkä et al. käyttivät piirteenä myös spektrin piikkitehoa, joka on spektrin piikkitaajuuden teho [2].

Spektrin energiat eri taajuuskaistoilla on yksi eniten käytetyistä piirteistä. Ihmisen luonnolliset aktiviteetit sijoittuvat taajuuskaistan alapäähän (alle 4 Hz). Korkeataajuiset komponentit, kuten ajoneuvon tärinä, sijoittuvat spektrin yläpäähän ja voidaan helposti erottaa ihmisen liikkeistä [11]. Lisäksi eri aktiviteetit sijaitsevat usein omilla toisistaan erotettavilla kaistoilla. Spektrin energia-arvot voidaan laskea FFT:n neliöityjen kompo- nenttien summana halutulla taajuuskaistalla. [2][6][9][11][13]

Spektrin energiasuhdeluvut ovat spektrin energioiden suhteita toisiinsa. Usein ei ole kiinnostavaa tietää taajuuskaistan absoluuttista energiaa, vaan kaistan energian suhde johonkin toiseen kaistaan riittää. Esimerkiksi matalien (alle 4 Hz) taajuuksien suhde korkeisiin (yli 4 Hz) voi olla hyvä piirre erottamaan ihmisen aktiviteetit ajoneuvossa istumisesta. Lisäksi energiasuhdelukuja käyttämällä piirrevektorin pituutta voidaan usein lyhentää, joka puolestaan vähentää luokittimen työtä. [11]

Spektrin entropia kuvaa spektrin taajuuksien hajontaa. Spektri, jonka entropia on pie- ni, sisältää paljon muutamaa taajuutta. Jos spektrin entropia on suuri, spektri sisältää useita merkittäviä komponentteja eri taajuuksilla. Entropian avulla voidaan erottaa sa- malla taajuuskaistalla olevia aktiviteetteja toisistaan. Esimerkiksi pyöräily saattaa tuot- taa hyvin siniaaltomaisen pystysuuntaisen taajuuskomponentin ja siten pienen entropi- an. Pyöräily voidaan mahdollisesti erottaa samantaajuisesta kävelystä, koska kävely tuottaa harmonisia taajuuskomponentteja myös muille taajuuksille, ja täten nostaa en- tropiaa. Spektrin entropia on todettu hyödylliseksi useissa aikaisemmissa tutkimuksissa.

Spektrin entropia on määritelty signaalin tehospektrin funktiona kaavassa (7) esitetyl- lä tavalla. [4][6][8][9][11]

( ) ∑ ( ) ( ( ))

( ) (7)

Luokittimet 2.5

Kun piirrevektori on luotu, se syötetään luokittimelle, joka päättää joidenkin kriteerien perusteella, mihin luokkaan vektori kuuluu. Yleensä mallinnettava ilmiö on monimut- kainen ja mitään intuitiivista ja yksinkertaista kuvausta piirreavaruudesta luokkajouk- koon ei ole olemassa. Tällaisten ongelmien ratkaisemiseen on kehitetty useita erilaisia luokittimia, jotka pystyvät esimerkkien avulla luokittamaan piirrevektorin todennäköi- seen luokkaansa. Luokittimille annetaan tavalla tai toisella käyttöön joukko esimerkki-

(21)

piirrevektoreita, joiden oikea luokka tiedetään. Luokitin osaa sijoittaa uudet, ennestään tuntemattomat piirrevektorit luokkaan, jonka esimerkkivektorit muistuttavat eniten uutta vektoria. Esimerkkien antamista luokittimelle kutsutaan luokittimen kouluttamiseksi ja tällaista koulutusprosessia ohjatuksi oppimiseksi.

Koulutuksen yksityiskohdat riippuvat luokittimesta, mutta prosessi on pääpiirteittäin samanlainen. Ensin täytyy kerätä koulutusdata, joka sisältää esimerkkejä kaikista tun- nistettavista luokista. Lisäksi tarvitaan erillinen testidata, jolla luokittimen suoritusky- kyä voidaan mitata. Testidata täytyy valita siten, että sillä on mahdollisimman vähän riippuvuuksia koulutusdataan. Oletetaan esimerkiksi, että piirrevektori sisältää jotain mittauksia ihmisestä. Jotta luokitin toimisi henkilöstä riippumatta, koulutusdataa täytyy kerätä usealta henkilöltä. Nyt testidata voitaisiin valita siten, että jokaiselta koulutus- henkilöltä valitaan satunnaisesti osa näytteistä testidataan. Paljon parempi testi saadaan kuitenkin aikaan poistamalla yksi henkilö koulutusdatasta ja käyttämällä tämän henki- lön mittauksia testidatana. Tällöin testi kuvaa paremmin todellista käyttötilannetta. Se kuinka monta koulutusnäytettä luokitin tarvitsee toimiakseen hyvin, riippuu luokittimes- ta ja koulutusalgoritmista.

Yksi suurimmista haasteista luokitinta koulutettaessa on ylioppimisen välttäminen.

Luokittimen ylioppiminen viittaa tilanteeseen, jossa luokitin sovittuu esimerkkeihin lii- an tarkasti ja tunnistaa luokkaan vain vektoreita, jotka ovat lähes identtisiä esimerkkien kanssa. Ylioppimista voidaan välttää tarpeeksi kattavalla koulutusdatalla ja valitsemalla luokittimen parametrit oikein.

Luokittimia on tutkittu vuosikymmeniä ja useita erilaisia luokittimia on kehitetty. Tässä luvussa tutustutaan lyhyesti muutamaan yleisimmistä luokittimista. Esiteltävät luokitti- met on aikaisemmissa tutkimuksissa todettu parhaiksi [7][10][12].

2.5.1 MLP-neuroverkko

Neuroverkko on abstrakti laskentamalli, joka matkii aivojen tapaa käsitellä tietoa. Kuten aivoissa, neuroverkossa on neuroneita, joiden välillä on yhteyksiä eli synapseja. Neuro- nit kommunikoivat toisilleen lähettämällä signaaleja yhteyksiä pitkin. Neuroverkon

”muisti” tallentuu aivojen tapaan yhteyksien vahvuuksina.

Tunnetuin neuroverkkotyyppi on niin sanottu monitasoinen perceptron -neuroverkko (MLP). Yksinkertaisimmillaan MLP-neuroverkko koostuu kolmesta tasosta neuroneita, jotka ovat sisääntulotaso (engl. input layer), piilotaso (engl. hidden layer) ja ulostulota- so (engl. output layer). Jokaisen tason neuronit on yhdistetty jokaiseen seuraavan tason neuroniin.

(22)

Sisääntulotasossa on neuroni jokaiselle piirrevektorin alkiolle. Sisääntuloneuroneiden ulostulo on sama kuin niiden sisääntulo. Jokaisen sisääntuloneuronin ulostulo syötetään jokaiselle piilotason neuronille kerrottuna yhteyden painoarvolla . Lisäksi jokaiselle piilotason neuronille syötetään sisääntulotasosta riippumaton vakioarvo (engl. bias). Pii- lotason neuronit summaavat sisääntulonsa, syöttävät summan aktivaatiofunktiolle ja an- tavat funktion arvon ulostulonaan. Ulostulotason neuronit toimivat samalla tavalla kuin piilotason neuronit ja näin saadaan ulostulona arvo jokaiselta ulostulotason neuronilta.

Neuroverkko koulutetaan niin, että yksi ulostuloista aktivoituu (antaa suuren arvon) kul- lekin luokalle. Koulutus muuttaa kertoimia ja kunnes tarpeeksi moni koulutus- näyte luokitetaan oikein tai suorituskyky ei enää parane.

Kwapisz et al. vertailivat useampaa luokitinta aktiviteetin tunnistussovelluksessa ja to- tesivat MLP-neuroverkon suorituskyvyn parhaaksi [12]. Myös Baek et al. ja Mäntyjärvi et al. käyttivät MLP-neuroverkkoja onnistuneesti [1][5].

2.5.2 Tukivektorikone

Tukivektorikone (engl. support vector machine) määrittää luokkien välille hypertason, joka on mahdollisimman kaukana molempien luokkien koulutusnäytteistä. Luokitus ta- pahtuu määrittämällä, kummalle puolelle tätä tasoa tuntematon näyte kuuluu. Perintei- sessä muodossaan tukivektorikone on siis lineaarinen luokitin. Tukivektorikone saadaan muodostamaan epälineaarisia päätöspintoja kuvaamalla näyteavaruus niin sanotulla kernelifunktiolla epälineaarisesti korkeampiulotteiseksi avaruudeksi, jossa luokat ovat lineaarisesti erotettavissa. Kuva 4 havainnollistaa tukivektorikoneen toimintaa kaksi- ulotteisessa piirreavaruudessa.

Kuva 4. Tukivektorikoneen muodostama päätöspinta kahden luokan välillä. Vasem- manpuoleisessa kuvassa alkuperäinen piirreavaruus ja oikeanpuoleisessa kuvassa piir- reavaruus kuvattuna kernelifunktion ϕ läpi

(23)

Tukivektorikoneen etuja MLP-neuroverkkoon nähden on sen parempi yleistämiskyky.

Toisin sanoen tukivektorikone ei yliopi ongelmaa yhtä helposti. Lisäksi tukivektoriko- neen kouluttaminen on huomattavasti nopeampaa kuin MLP:n, koska koulutus voidaan esittää neliöllisenä optimointiongelmana, jolle on olemassa tehokkaita ratkaisualgorit- meja. Tukivektorikone on kuitenkin rakenteeltaan huomattavasti monimutkaisempi kuin MLP ja tukivektorikoneen koulutusalgoritmit päätyvät usein ratkaisuun, joka tekee luo- kituksesta laskennallisesti raskaan operaation.

Bao ja Intille sekä Yang et al. tutkivat tukivektorikoneen suorituskykyä aktiviteetin tun- nistuksessa. Kaikissa näissä tutkimuksissa tukivektorikone oli luokitustarkkuudeltaan yksi parhaista luokittimista [4][10][11].

2.5.3 Binääripäätöspuu

Binääripäätöspuu on puurakenne, jossa jokaisella solmulla on joko kaksi tai ei yhtään lasta. Jokaisessa solmussa jonkin piirteen arvoa verrataan tiettyyn kynnysarvoon. Jos piirteen arvo on pienempi kuin kynnysarvo, siirrytään vasempaan lapsisolmuun, muuten oikeaan. Tätä prosessia jatketaan kunnes on saavutettu lehtisolmu eli solmu, jolla ei ole lapsia. Lehtisolmut on sidottu tiettyyn luokkaan ja luokittimen ulostulo on sen lehden luokka, johon vertailulla päädyttiin. Kuvassa 5 on esitetty päätöspuu, joka on koulutettu MATLAB-ohjelmiston tutulla fisheriris-datajoukolla.

Kuva 5. Binääripäätöspuu joka on koulutettu MATLAB-ohjelmiston fisheriris- datajoukolle

(24)

Binääripuun koulutusalgoritmit muodostavat puun ja määrittävät kynnysarvot koulutus- datan avulla. Binääripäätöspuu pystyy muodostamaan epälineaarisia päätöspintoja luok- kien välille, esittämällä ne ”sahalaitatasoina”. Epälineaarisuudet kuitenkin kasvattavat puun kokoa nopeasti. Algoritmien luomaa puuta täytyykin usein karsia (engl. prune) poistamalla solmut, jotka eivät paranna luokitustarkkuutta merkittävästi. Koulutusalgo- ritmit, kuten C4.5, luovat puun siten, että parhaiten piirreavaruutta jakavat piirteet ovat puussa ylimpänä. Puun rakenteesta voidaan siis vetää johtopäätöksiä piirteiden hyvyy- destä, eli kyvystä erottaa luokat toisistaan.

Binääripäätöspuut muodostavat selkeitä päätösketjuja, joita ihmisen on helppo ymmär- tää ja tulkita. Tämän vuoksi ne ovat saaneet paljon huomiota aikaisemmissa tutkimuk- sissa [2-4][6-12]. Usein binääripäätöspuut on myös todettu luokitustarkkuudeltaan erin- omaisiksi, kun niitä on verrattu muihin luokittimiin [7][10][11]. Binääripäätöspuiden kiehtovuutta lisää niille kehitetyt todella nopeat koulutusalgoritmit ja puun evaluoinnin laskentatehokkuus.

(25)

3 KOULUTUSDATA

Koulutusdata on joukko piirrevektoreita, joiden oikea luokka tiedetään ja joiden avulla luokitin koulutetaan. Tarpeeksi kattava koulutusdata on järjestelmän suorituskyvyn kannalta tärkein osa. Luokitusdatan monipuolisuus määrittää luokittimen kyvyn tunnis- taa uusia tuntemattomia piirrevektoreita. Monipuolisuuden lisäksi on erittäin tärkeää, että koulutusdata ei sisällä virheellisiä näytteitä. Näytteet, joiden luokka on merkitty virheellisesti, heikentävät nopeasti luokittimen suorituskykyä.

Tässä luvussa tutustutaan ensin aikaisempien tutkimusten koulutusdatoihin ja määritel- lään tämän avulla hyvä koulutusdata. Aliluvussa 3.3 esitellään laitteisto ja ohjelmisto, joiden avulla keräys suoritettiin. Lopuksi listataan kerätty koulutusdata.

Lähestymistapojen vertailua 3.1

Aikaisemmat tutkimukset voidaan jakaa karkeasti kolmeen ryhmään sen perusteella mi- ten koulutusdata on niissä kerätty ja miten koulutusdatan tärkeyteen on suhtauduttu.

1. Ensimmäinen ryhmä ei keskittynyt koulutusdataan vaan työ painottui algo- ritmeihin. Näissä töissä koulutusdataa kerättiin epäluonnollisissa ja tarkasti valvotuissa koeolosuhteissa yhdeltä tai muutamalta henkilöltä. Usein keräys suoritettiin samana päivänä ja samassa paikassa. [1][5][8][10][13]

2. Toisen ryhmän töissä kritisoitiin ensimmäisen ryhmän töitä ja otettiin usein täysin vastakkainen lähestymistapa. Koulutusdatan luonnollisuutta korostet- tiin ja data kerättiin täysin valvomattomissa olosuhteissa siten, että koehenki- lö merkitsi itse mitä milloinkin oli tekemässä. Koehenkilöiden annettiin usein vapaasti valita missä ja miten he suorittivat tarvittavat kokeet. Näissä tutkimuksissa koulutusdataa kertyi usein runsaasti. [2][3][4][6][9]

3. Kolmas ryhmä valitsi kultaisen keskitien. Koulutusdataa kerättiin luonnolli- sissa olosuhteissa siten, että kokeen järjestäjä oli valvomassa suorituksia.

Näissä, kuten ryhmän 2 töissä, tiedostettiin koulutusdatan tärkeys ja dataa kerättiin useilta erityyppisiltä koehenkilöiltä useissa eri tilanteissa.

[4][7][9][11][12]

Ensimmäisen ryhmän töiden tuloksista nähdään, että kattava koulutusdata on tärkeää.

Esimerkiksi Baek et al. keräsivät koulutusdatan yhdessä paikassa, yhtenä päivänä ja yh- deltä henkilöltä [1]. Kun tämän datan perusteella koulutetulla luokittimella myöhemmin

(26)

luokiteltiin saman koehenkilön aktiviteetteja, tulokset olivat huonot. Työn tekijät ar- vioivat syyksi sen, että koehenkilö liikkui nopeammin jälkimmäisen kokeen aikana. Il- man tällaisia todisteitakin on loogista päätellä, että koulutusdatan täytyy olla kattava, koska luokitin toimii täysin näiden esimerkkien varassa.

Ihmiset liikkuvat kukin hieman eri tavalla. Lisäksi liikkumistyyli riippuu tilanteesta (kii- re, väsymys, liukas tie). On siis tärkeää, että valitut koehenkilöt edustavat erilaisia lii- kuntatyylejä ja kerääminen suoritetaan erilaisissa tilanteissa ja paikoissa. Liikkuminen epäluonnollisissa laboratorio-olosuhteissa saattaa poiketa todellisesta liikuntatyylistä voimakkaasti. Usein koehenkilö on lisäksi ollut joku tutkimusryhmän jäsen. Näissä ta- pauksissa liikkeisiin on saattanut vaikuttaa tutkijan tieto siitä minkä perusteella liike tunnistetaan, joka on saattanut aiheuttaa näiden piirteiden korostamista.

Toisen ryhmän töissä koulutusdatan kattavuus ei ole ongelma. Esimerkiksi Ermes ja Pärkkä keräsivät yhteensä 47 tuntia dataa 12 henkilöltä [9]. Koulutusdata sisälsi näyttei- tä kattavasti kaikista tunnistettavista aktiviteeteista. Koehenkilöt valitsivat itse paikan, ajan ja tyylin, jolla he suorittivat kokeet. Koehenkilöä pyydettiin esimerkiksi pyöräile- mään puoli tuntia, ja koehenkilö sai itse päättää missä, millä pyörällä ja milloin koe suo- ritettiin. Koehenkilöt merkitsivät itse kämmentietokoneen avulla kokeiden alun ja lo- pun. Tällä lähestymistavalla saavutetaan luonnollinen ja kattava koulutusdatajoukko, kunhan koehenkilöt on valittu siten, että he edustavat erilaisia liikuntatyylejä.

Toisen ryhmän lähestymistavassa suurin ongelma on virheellisesti merkityt näytteet.

Vaikka koehenkilöille painotettaisiin, että aktiviteetit tulee merkitä tarkasti, ei tarvitta- vaa tarkkuutta usein saavuteta. Koehenkilöt eivät yleensä ole kiinnostuneita tutkimuk- sen tuloksista kuten tutkimuksen tekijät, ja aktiviteettien merkintä on usein epätarkkaa.

Vaikka koehenkilö olisi kuinka tarkka, unohduksia ja vahinkoja sattuu, ja virheellisiä merkintöjä on lähes mahdotonta huomata jälkikäteen. Esimerkiksi Pärkkä et al. mainit- sivat heikkojen tulosten todennäköiseksi syyksi virheelliset merkinnät koulutusdatassa [2].

Jos koehenkilö esimerkiksi pyöräilee, hän saattaa merkitä pyöräilyksi koko lenkin, vaikka se sisältäisi liikennevaloissa seisoskelua ja jopa kävelyn kodista polkupyörälle.

Vaikka tällaiset tauot merkittäisiinkin, polkupyörän päällä polkematta istuminen, kuten alamäen laskeminen tulisi melko varmasti merkittyä pyöräilyksi. Jos koehenkilö merkit- sisi aktiviteetit tarpeeksi tarkasti ottaen huomioon kaikki edellä mainitut tilanteet, lähtisi toiminnasta se luonnollisuus, joka oli toisen ryhmän lähestymistavan tarkoitus.

Kolmas ryhmä tiedosti kahden ensimmäisen ryhmän lähestymistapojen rajoitteet. Koeti- lanteet olivat luonnollisia, mutta niitä valvottiin tarkemmin ja suoritusten merkintään oli kiinnitetty erityistä huomiota. Yang et al. käyttivät datankeräysjärjestelmää, jossa dataa kerääviä laitteita oli samanaikaisesti useampia koehenkilön vartalossa [11]. Kaikkia lait-

(27)

teita ohjattiin langattomasti ohjauslaitteella. Näin datan keräystä valvova henkilö saattoi merkitä dataan sekunnin kymmenyksen tarkkuudella aktiviteettien alku- ja loppuhetket.

Viitaten aikaisempaan pyöräilijäesimerkkiin, tällaisella järjestelmällä valvoja voi vaivat- tomasti merkitä hetket, jolloin koehenkilö ei polje pyörää.

Hyvä koulutusdata 3.2

Edellisen aliluvun perusteella on selvää, että koulutusdatan keräämisen täytyy olla val- vottua tarpeeksi tarkkojen merkintöjen varmistamiseksi. Valvonta ei saa kuitenkaan häi- ritä koehenkilöiden suorituksia. Koehenkilöiden täytyy saada valita miten ja missä he suorittavat keräyksen, jotta taataan mahdollisimman luonnolliset tulokset. Koetta valvo- van henkilön täytyy varoa, ettei hänen oma liikuntansa vaikuta koehenkilön liikuntaan.

Kokeen aikana täytyy edetä koehenkilön tahtia. Jotta tällainen häiritsemätön toiminta olisi mahdollista, on koehenkilöiden pystyttävä olemaan rentoja koetilanteissa. Yksi vaihtoehto on valita valvojalle tuttuja henkilöitä. Tässä tapauksessa ei saa kuitenkaan tinkiä koehenkilöiden erilaisuudesta. Esimerkiksi sisarukset saattavat liikkua liian sa- mankaltaisesti.

Eri aktiviteetit asettavat erilaisia vaatimuksia koehenkilöille ja keräystilanteelle. Nämä erikoisvaatimukset täytyy ottaa huomioon datan keräystä suunnitellessa ja myös itse ke- räystilanteessa. Seuraavissa kappaleissa määritellään ”hyvä koulutusdata” jokaiselle tunnistettavalle aktiviteetille erikseen.

Kävelydata riippuu paljon henkilöstä. Kävelyä täytyy kerätä tarpeeksi kattavalta jou- kolta erilaisia kävelytyylejä edustavia henkilöitä. Kävelytyyli muuttuu iän myötä ja sii- hen vaikuttaa pituus, paino ja sukupuoli. Tyyliin vaikuttaa oleellisesti myös keli. Esi- merkiksi jäisellä asfaltilla kävely poikkeaa kesällä kävelystä. Jopa kenkä saattaa vaikut- taa tuloksiin. Lisäksi suurin osa ihmisen jokapäiväisestä liikunnasta on kävelyä, joten kävelyn tunnistamiseen tulee kiinnittää erityistä huomiota.

Juoksutyylejä on yhtä paljon kuin kävelytyylejä ja tyyli riippuu samoista seikoista kuin kävely. Kaikissa aikaisemmissa tutkimuksissa juoksun tunnistaminen on kuitenkin toi- minut erinomaisesti riippumatta koehenkilöiden tai koulutusdatan määrästä. Tämä joh- tuu siitä, että juoksu aiheuttaa kiihtyvyyteen todella selkeitä piirteitä. Juoksudatan ke- rääminen voidaan siis jättää pienemmälle huomiolle. Jokaiselta kävelijältä kannattaa silti ottaa samalla pieni juoksunäyte, koska se ei vaadi erityisjärjestelyitä.

Pyöräilyä kerättäessä koehenkilöiden määrällä ei ole niin suurta merkitystä. Polkupyö- rän rakenne määrittää hyvin pitkälti henkilön raajojen liikeradan. Tärkeämpiä seikkoja ovat polkupyörien erilaisuus (paksu/ohut kumi, jousitus jne.), alusta, jolla poljetaan ja polkunopeus. Polkupyörällä poljettaessa dataa saa tallentaa vain silloin kun koehenkilö polkee. Ei ole järkevää yrittää tunnistaa polkupyöräilyksi satulan päällä paikallaan istu-

(28)

mista, joka alustasta riippuen näkyy datassa vain tärinän aiheuttamana kohinana. Kun polkujaksot luokitetaan oikein, voidaan tauot tarvittaessa luokittaa pyöräilyksi jälkikä- sittelyssä. Luokittimen olisi lähes mahdoton erottaa polkupyörän päällä istumisen aihe- uttamaa tärinää esimerkiksi autossa istumisen aiheuttamasta tärinästä.

Passiivisuuden tunnistaminen on erityisen tärkeää, koska tässä työssä luotavan järjes- telmän on tarkoitus toimia mobiililaitteissa ja luokittaa jatkuvasti käyttäjän liikkeitä.

Aktiviteettien tunnistuksen kanssa yhtä tärkeää on se, että muut liikkeet eivät tunnistu virheellisesti joksikin aktiviteetiksi. Esimerkiksi puhelimen normaali käyttö aiheuttaa kiihtyvyyttä, mutta sen täytyy tunnistua passiivisuudeksi, jos käyttäjä on muuten paikal- laan. Samoin autossa istuminen aiheuttaa välillä kovaakin tärinää, mutta käyttäjä on silti passiivinen. Monimutkaisempia tilanteita ovat esimerkiksi hermostunut jalan pomput- taminen, joka saattaa puhelimen ollessa taskussa tunnistua pyöräilyksi samankaltaisen liikkeen vuoksi. Vastaavia virhetilanteita on lukemattomia, ja niihin kaikkiin ei voi va- rautua etukäteen. Hyvä lähestymistapa onkin kerätä passiivisuusdataa yleisimmistä ti- lanteista, kuten autossa tai bussissa istumisesta ja puhelimen normaalista näpyttelystä.

Erityistapaukset, kuten jalan pomputtelu, voidaan opettaa myöhemmin, jos ja kun niitä kokeissa havaitaan.

Keräysjärjestelmä 3.3

Jotta koulutusdatan kerääminen olisi mahdollisimman nopeaa, täytyy keräysjärjestel- mään kiinnittää huomiota. Koetilanteessa mikään ei ole koehenkilön (tai valvojan) kan- nalta turhauttavampaa kuin tekniset ongelmat. Tässä työssä suunniteltiin ja ohjelmoitiin järjestelmä, joka toimii android-mobiilikäyttöjärjestelmässä. Android valittiin alustaksi siksi, että se mahdollistaa aitojen taustaprosessien toteuttamisen. Erilaisia androidia käyttäviä mobiililaitteita on satoja. Tämä mahdollistaa sen, että datan keräämiseen voi- daan valita laitteita, joilla on eri valmistajien kiihtyvyysantureita. Järjestelmä koostuu kahdesta ohjelmasta: ohjaimesta ja datan kerääjästä.

Ohjain on yhteydessä kerääjiin langattomasti bluetoothin avulla. Teoriassa ohjain voi ohjata rajatonta määrää kerääjiä samanaikaisesti, mutta käytännössä vain kolme kerää- jää saatiin vakaasti kommunikoimaan ohjaimen kanssa. Ohjaimen tarkoitus on lähettää kerääjille tieto nykyisestä aktiviteetista eli merkitä koulutusdataa. Lisäksi ohjain näyttää käyttäjälle kerääjien lähettämää tilannetietoa.

Datan kerääjä on taustaprosessi, joka pyörii laitteessa huomaamattomasti taustalla ja tallentaa kiihtyvyyssensorin dataa tiedostoon. Tiedostoon merkitään myös jokaisen ak- tiviteetin alku- ja loppuhetket, kun ohjain lähettää niistä merkin. Lisäksi kerääjässä voi- daan ajaa reaaliajassa työssä luotavia luokitusalgoritmeja ja luokitustulos voidaan lähet- tää ohjaimelle, joka näyttää tuloksen ohjaimen käyttäjälle. Tällä tavoin voidaan reaaliai- kaisesti seurata millainen liike tunnistuu virheellisesti nykyisellä luokittimella ja keskit-

(29)

tyä sen keräämiseen. Luokittimen virheitä voidaan paikata keräämällä vain luokitusda- taa, joka tuo lisäarvoa luokittimelle. Kuvassa 6 on kuvankaappaus ohjaimesta, kun sii- hen on liitetty kaksi kerääjää.

Kuva 6. Datankeräysjärjestemän ohjain. Viimeiset kaksi tekstiriviä listaavat liitetyt ke- rääjät, niiden tunnistaman aktiviteetin ja yhteyden tilan. Isoilla napeilla lähetetään ke- rääjille tieto nykyisestä oikeasta aktiviteetista.

Keräysjärjestelyt 3.4

Koulutusdataa kerättäessä koehenkilöllä oli mukanaan kaksi tai kolme Android-laitetta, joissa ajettiin datan kerääjäohjelmaa. Laitteet valittiin taulukossa 1 listatuista laitteista siten, että jokaista käytettiin mahdollisimman paljon. Laitteet sijoitettiin paikkoihin jois- sa ihmiset useimmiten kantavat matkapuhelintaan kyseisen liikunnan aikana. Taulukos- sa 2 on listattu laitteiden sijainnit kullekin aktiviteetille.

(30)

Taulukko 2. Mobiililaitteiden sijainnit koehenkilöiden vartalossa.

Aktiviteetti Sijainnit miehillä Sijainnit naisilla

Kävely housun etutasku

takin rintatasku takin alatasku vyö

käsilaukku kädessä käsilaukku olalla laukku selässä housun etutasku takin alatasku

Juoksu housun etutasku housun etutasku

takin rintatasku takin alatasku vyö

takin rintatasku takin alatasku vyö

Pyöräily housun etutasku housun etutasku

takin alatasku vyö

takin alatasku vyö

Naisille ja miehille valittiin eri sijainnit, koska naiset kantavat matkapuhelintaan useimmiten käsilaukussa, joka taas voi olla sijoitettuna monella eri tavalla, joista kukin aiheuttaa erilaisen kiihtyvyyssignaalin. Harva kantaa käsilaukkua juostessaan, joten juoksua ei tallennettu laitteen ollessa käsilaukussa. Myöhemmin tässä työssä todetaan, että pyöräilyn robustiin tunnistamiseen tarvitaan jalan liikkeen aiheuttama kiihtyvyys.

Tämä kävi selväksi jo datan keräämisen alkuvaiheessa ja sijainnit, joihin polkuliike ei vaikuta, jätettiin pois. Passiivisuudeksi tunnistettavissa tilanteissa laitteen sijainnilla ei ole merkitystä (autossa istuminen) tai laitteen sijainti on suoraan sidottu tilanteeseen (jalan pomputus, puhelimen käyttö). Näistä syistä passiivisuus on jätetty pois taulukosta 2.

Koehenkilö sai valita itse ajan ja paikan, jossa keräys suoritettiin. Osa kävely- ja juoksu- reiteistä oli tasaista asfalttia ja osa hiekkatietä, jossa oli ylä- ja alamäkiä. Polkupyöräilyn tapauksessa alusta, jolla poljetaan, on oleellinen. Sora- ja hiekkatiellä poljettaessa kiih- tyvyyssignaali sisältää huomattavasti enemmän kohinaa kuin tasaisella asfaltilla. Tästä syystä johtuen pidettiin huolta siitä, että keräystä suoritettiin erilaisilla alustoilla.

Tämän työn kirjoittaja oli mukana valvojan roolissa jokaisessa keräyssessiossa. Session alussa koehenkilöä ohjeistettiin liikkumaan mahdollisimman luonnollisesti ja määrää- mään tahdin. Pyöräilyä kerättäessä koehenkilöä jouduttiin kuitenkin pyytämään välttä- mään polkemisen lopettamista yllättäen, jotta ohjaaja ehtisi merkitsemään polkematto- mat jaksot.

Koulutusdata kerättiin kahdessa vaiheessa, joista ensimmäisessä kerättiin jokaiselta koehenkilöltä kutakin liikuntatyyppiä noin viisitoista minuuttia. Luokitin koulutettiin tämän pohjadatan avulla, ja luokitin asennettiin datan kerääjiin. Tämän jälkeen siirryt- tiin toiseen vaiheeseen, jossa vältettiin keräämästä koulutusdataa, jonka luokitin jo luo-

(31)

kitti oikein. Luokitin koulutettiin uudelleen jokaisen session jälkeen, ja kerääjät päivitet- tiin. Samalla siirryttiin myös hieman epäluonnollisempaan keräysprosessiin. Jos esi- merkiksi koehenkilön kävely tunnistui ilman ongelmia, häntä pyydettiin hidastamaan tai nopeuttamaan tahtia, kunnes kävely ei enää tunnistunut. Koska toisessa vaiheessa pyrit- tiin löytämään liikuntatyylejä, joita algoritmit eivät tunnista, koehenkilöiden luontaisilla erilaisuuksilla ei ollut enää niin suurta merkitystä. Tästä syystä ja käytännöllisistä syistä johtuen toisen vaiheen datasta suurin osa kerättiin tämän työn kirjoittajalta ja hänen tyt- töystävältään.

Myös passiivisuuden koulutusdata kerättiin työn kirjoittajalta ja hänen tyttöystävältään.

Ensin kerättiin dataa muutamista yleisimmistä tilanteista, kuten erilaisissa ajoneuvoissa istumisesta (henkilöauto, juna, bussi) ja puhelimen normaalista käytöstä (tekstiviestin kirjoittaminen, soittaminen). Datajoukkoa laajennettiin sitä mukaa, kun virheellisiä tun- nistuksia huomattiin jokapäiväisessä käytössä. Työn kirjoittaja ajoi datan kerääjää puhe- limessaan jatkuvasti. Kun huomattiin, että järjestelmä tunnisti virheellisesti passiivisuu- deksi luokiteltavan tilanteen, tilanteesta kerätty data lisättiin passiivisuuden koulutusda- taan. Usein tarkkaa ajankohtaa oli vaikea rajata, joten tilanne pyrittiin uusimaan ja mer- kitsemään tarkasti. Seuraavissa kappaleissa on esitelty muutamia tällaisia tilanteita.

Moni ihminen, työn kirjoittaja mukaan lukien, pomputtaa jalkaansa istuessaan. Pompu- tus on jaksollista liikettä, joka tunnistui aluksi pyöräilyksi. Tästä johtuen jalan pompu- tuksen aiheuttamaa dataa lisättiin passiivisuuden koulutusdataan. Keräyslaite oli pom- putuksen aikana housujen taskussa tai vyöllä.

Usein pakkasessa seisoessaan ihmiset lämmittelevät heiluttelemalla raajojaan, hyppi- mällä tai muuten paikallaan heilumalla. Myös tällaiset tilanteet tunnistettiin aluksi vir- heellisesti. Myös muissa tilanteissa ihmiset usein paikallaan seisoessaan liikehtivät jol- lain tavalla. Vaatteiden selaaminen vaatekaupassa ja käsilaukun heiluttaminen ovat esi- merkkejä tällaisesta liikehtimisestä. Tästä johtuen kyseisistä tilanteista tallennettiin kat- tava joukko koulutusdataa passiivisuudelle.

Kerätty data 3.5

Dataa kerättiin yhteensä kahdeksalta henkilöltä työn kirjoittaja mukaan lukien. Koehen- kilöistä viisi oli naisia ja kolme oli miehiä. Koehenkilöt valittiin käytännön syistä työn kirjoittajan lähipiiristä. Koehenkilöt pyrittiin kuitenkin valitsemaan mahdollisimman monipuolisesti.

Dataa kerättiin yhteensä viidellä eri laitteella, jotka on esitelty taulukossa 1. Myös lait- teet valittiin mahdollisimman monipuolisesti saatavilla olevasta rajoitetusta joukosta.

Taulukoissa 3, 4 ja 5 on listattu tilastoja kerätystä koulutusdatasta. Jokaiselle aktiviteet- tiluokalle paitsi passiivisuudelle on oma taulukkonsa. Ensimmäinen sarake ilmaisee

(32)

missä kohdassa koehenkilöä laite on ollut. Toinen sarake kertoo, kuinka paljon dataa kerättiin. Kolmas sarake kertoo, kuinka monelta koehenkilöltä dataa kerättiin. Viimei- nen sarake kertoo, kuinka montaa eri laitetta keräykseen käytettiin. Taulukossa 6 on lis- tattu koehenkilöiden sukupuolet, iät, painot ja kerätyt datamäärät.

Taulukko 3. Kerätty kävelydata

Sijainti Aika Koehenkilöitä Laitteita

housun etutasku 04:56:01 8 2

takin rintatasku 01:41:52 3 2

takin alatasku 02:41:22 6 3

vyö 00:22:35 3 1

käsilaukku kädessä 02:39:35 4 3

käsilaukku olalla 01:30:03 2 2

laukku selässä 02:37:35 4 2

käsi 00:15:02 1 1

korva 00:13:19 1 1

Yhteensä 11:53:22 8 5

Taulukko 4. Kerätty juoksudata

Sijainti Aika Koehenkilöitä Laitteita

housun etutasku 01:22:06 8 2

takin rintatasku 01:30:02 3 2

takin alatasku 01:47:30 6 3

Vyö 00:14:12 3 1

Käsi 00:12:02 1 1

Yhteensä 03:05:52 8 5

Taulukko 5. Kerätty pyöräilydata

Sijainti Aika Koehenkilöitä Laitteita

housun etutasku 02:19:49 8 2

takin alatasku 00:23:31 6 3

vyö 01:57:40 3 1

Yhteensä 04:38:60 8 5

Taulukko 6. Koehenkilöiden tiedot ja kerätyn datan määrä

Koehenkilö Sukupuoli Ikä Paino Aika

Henkilö 1 nainen 55 v 85 kg 02:21:17

Henkilö 2 nainen 50 v 64 kg 01:27:24

Henkilö 3 nainen 24 v 67 kg 00:14:24

Henkilö 4 nainen 28 v 76 kg 03:23:09

(33)

Henkilö 5 nainen 29 v 73 kg 02:28:09

Henkilö 6 mies 58 v 65 kg 02:10:34

Henkilö 7 mies 29 v 100 kg 01:12:40

Sami Koskimäki mies 26 v 75 kg 07:30:23

Yhteensä 5 naista, 3 miestä 20:46:59

(34)

4 TOTEUTETTU JÄRJESTELMÄ

Järjestelmän rakenne 4.1

Toteutetun järjestelmän rakenne noudattaa luvussa 2.1 esiteltyä. Kuvassa 7 on esitelty toteutetun järjestelmän rakenne korkealla tasolla. Kiihtyvyysanturilta saatavat näytteet käsitellään viiden sekunnin mittaisissa ikkunoissa siten, että peräkkäiset ikkunat ovat puoliksi limittäin. Seuraavissa aliluvuissa on selitetty kuvan 7 vaiheiden toteutus.

Kuva 7. Toteutetun aktiviteetintunnistusjärjestelmän rakenne Kiihtyvyyssensori

Uudelleennäytteistys

Piirteenirrotus

MLP-luokitin

kiihtyvyysnäytteet

uudelleennäytteistetyt näytteet

piirrevektori

aktiviteetti Temporaalinen jälkikäsittely

suodatettu aktiviteetti Orientaatioriippuvuuden poisto

orientaatioriippumattomat näytteet

(35)

Esikäsittely 4.2

Esikäsittelyssä kiihtyvyyssignaali muutetaan tasaväliseksi ja datan riippuvuus laitteen asennosta eli orientaatiosta poistetaan. Molempien operaatioiden teoria on esitelty lu- vuissa 2.3.1 ja 2.3.2. Seuraavissa aliluvuissa esitetään operaatioiden toteutuksessa teh- dyt valinnat.

4.2.1 Uudelleennäytteistys

Kiihtyvyyssignaali uudelleennäytteistetään mahdollisimman matalalle näytetaajuudelle kahdesta syystä: matala näytetaajuus pienentää järjestelmän laskentavaatimuksia ja laa- jentaa laitejoukkoa, jolla järjestelmää voidaan käyttää. Näytetaajuuden valinta tehtiin vasta viimeisenä laskemalla näytetaajuutta, kunnes tulokset alkoivat heikentyä. Tämä voitiin tehdä, koska koulutusdata tallennettiin suurimmalla mahdollisella näytetaajuu- della ja järjestelmä suunniteltiin niin, että näytetaajuutta voitiin vaihtaa yhtä vakioarvoa muuttamalla. Näytetaajuudeksi valikoitui tällä menetelmällä 15 Hz.

Kuten luvussa 2.3.1 kerrottiin, epätasavälinen kiihtyvyyssignaali muutetaan uudelleen- näytteistysprosessin alussa tasaväliseksi lineaarisella interpolaatiolla. Interpoloinnin tuottama välinäytetaajuus täytyy olla ulostulonäytetaajuuden (15 Hz) monikerta ja tar- peeksi korkea, että epätasavälisessä signaalissa olevat taajuudet eivät laskostu. Välinäy- tetaajuudeksi valittiin 30 Hz. Valinta tehtiin tarkastelemalla koko koulutusdatajoukon spektriä. Spektrissä on hyvin vähän komponentteja yli 15 Hz taajuuksilla, kuten kuvasta 8 nähdään.

Kuva 8. Koko koulutusdatasta lasketun spektrin magnitudi

(36)

Valittu näytetaajuus on tarpeeksi matala, että useimmat mobiililaitteet pystyvät tuotta- maan kiihtyvyyssignaalia tällä taajuudella. Työn kirjoituksen aikana onnistuttiin löytä- mään ainoastaan yksi laite (ZTE Blade) joka ei pystynyt tuottamaan tarvittavaa näyte- taajuutta. Näin matalalla näytetaajuudella tehtävät signaalinkäsittelyoperaatiot eivät vaadi laitteistolta paljoa. Kaikki mobiililaitteet pystyvät esimerkiksi helposti ja resursse- ja kuluttamatta taajuuskorjaamaan äänisignaalia, jonka näytetaajuus on yleensä yli 40 kHz.

4.2.2 Orientaatioriippuvuuden poisto

Luvussa 2.3.2 esitetyissä kaavoissa valittavaksi jää ainoastaan muuttuja N eli keskiar- voikkunan pituus. Tämä pituus valittiin samalla menetelmällä kuin näytetaajuus, eli ti- puttamalla ikkunan pituutta, kunnes luokitustulos alkoi heikentyä. Parhaat tulokset saa- tiin ikkunanpituudella 3 sekuntia.

Piirteiden valinta 4.3

Alustava piirrejoukko valittiin kirjallisuuden perusteella. Tähän joukkoon kuului kes- kiarvo, varianssi, spektrin piikkitaajuus ja spektrin entropia. Tällä joukolla päästiin erinomaisiin tuloksiin alkuvaiheiden koulutusdatalla. Kun koulutusdata lisääntyi, alkoi luokittimen suorituskyky heikentyä. Piirrejoukkoa täydennettiin piirteillä, jotka auttoi- vat tunnistamaan laajentuneen näytejoukon. Varsinkin passiivisuuden monimutkainen koulutusdata vaati uusien piirteiden lisäämistä ja piirrejoukon optimointia.

Piirrejoukkoa ei missään vaiheessa pyritty minimoimaan, vaan pyrittiin löytämään joukko, jolla tunnistus oli mahdollisimman tarkka. Vasta kun tällainen joukko löytyi, tarkistettiin piirteiden laskentavaatimuksien vaikutus järjestelmän resurssivaatimuksiin.

Kuten myöhemmin työssä todetaan, piirteiden laskenta ei ole merkittävä tekijä järjes- telmän virrankulutuksen kannalta ja siksi piirrejoukko jätettiin melko suureksi.

Seuraavissa kappaleissa esitellään valitut piirteet ja perustellaan niiden valinta. Kaikki piirteet laskettiin sekä pysty- että vaakasuuntaiselle kiihtyvyyskomponentille, paitsi per- sentiilit, jotka laskettiin vain pystysuuntaiselle kiihtyvyyskomponentille.

Keskiarvo on valituista piirteistä yksinkertaisin. Se kuvaa yhdessä varianssin kanssa näyteikkunan histogrammin sijainnin ja leveyden. Juoksua lukuun ottamatta kaikkien aktiviteettien pystysuuntaisen komponentin keskiarvo on lähellä maan putoamiskiihty- vyyttä 9,8 m/s2. Pystysuuntainen keskiarvo onkin hyvä piirre erottamaan juoksun muista aktiviteeteista. Kuvaajasta 9 on esitetty koulutusnäytteiden pystysuuntaiset varianssit ja keskiarvot. Kuvaajasta nähdään, miten juoksun keskiarvo on muita luokkia pienempi.

(37)

Kuva 9. Koulutusdatan aktiviteettien jakauma pystysuuntaisen varianssin ja pystysuun- taisen keskiarvon funktiona

Varianssi on erinomainen piirre kuvaamaan aktiviteetin intensiivisyyttä ja erottaakin parhaiten juoksun muista aktiviteeteista. Kuten kuvasta 9 nähdään, pelkästään varians- sin avulla voitaisiin erottaa juoksu muista aktiviteeteista suhteellisen suurella todennä- köisyydellä.

Spektrin energiat laskettiin neljälle eri kaistalle, jotka ovat 0 Hz–1,2 Hz; 1,2 Hz–2 Hz;

2 Hz–3Hz ja 3 Hz–7.5Hz. Kaistat valittiin siten, että aktiviteetit jakautuivat mahdolli- simman hyvin eri kaistoille. Pyöräilyn aiheuttamat taajuudet sijoittuvat pääasiassa alimmalle 0 Hz–1,2 Hz kaistalle. Kävely aiheuttaa taajuuksia, jotka osuvat pääasiassa 1,2 Hz–2 Hz kaistalle. Juoksu puolestaan aiheuttaa piikkejä kaistalle 2 Hz–3 Hz. Ihmi- sen liikkeistä aiheutuvat taajuudet sijoittuvat pääasiassa alle 4 Hz taajuuksille. Esimer- kiksi ajoneuvossa istuminen (tärinä) aiheuttaa korkeataajuista kiihtyvyyttä. Ylin kaista onkin hyvä piirre erottamaan tiettyjä passiivisuuden alalajeja muista aktiviteeteista. Ku- vasta 10 nähdään, miten pyöräily ja kävely painottuvat alimmalle kahdelle taajuuskais- talle. Kuvasta 11 taas nähdään miten osa passiivisuudesta on painottunut ylimmälle taa- juuskaistalle. Taajuuskaistojen energiat skaalattiin energioiden summalla, joka selittää kuvien 10 ja 11 arvot. Spektrin energiat lasketaan summaamalla näyteikkunan Fourier- muunnoksen itseisarvon neliöitä halutulta taajuuskaistalta.

(38)

Kuva 10. Kävelyn ja pyöräilyn jakauma spektrin alimpien energiakaistojen funktiona

Kuva 11. Koulutusdatan aktiviteettien jakauma pystysuuntaisen varianssin ja spektrin ylimmän energiakaistan funktiona. Spektrin energia on esitetty logaritmisella asteikolla.

Viittaukset

LIITTYVÄT TIEDOSTOT

DIGIDIM 312 multisensori on valoanturin, pas- siivisen infrapunaliiketunnistimen (PIR) sekä infrapunavastaanottimen sisältävä DALI- järjestelmän sensori. Sensori on

Verkostolla on yhteinen laajennettu digitaalinen muisti ja ver- kosto voi olla yhteydessä sekä viestittyjen ajatusten että entistä enemmän myös erityyppisten sensori-

Moniääninen vakuuttelu tuo kir- jaan uskottavuutta mutta myös jon- kin verran toistoa, koska asiantun- tijat ovat monesta asiasta jokseen- kin samaa mieltä.. Minulle olisi

Tähtien sisuksissa tapahtuvat fuusioreaktiot ovat maailmankaikkeuden energiatalouden perusta.. Oma aurinkomme toimii fuusiolla ja ylläpitää

Sitä ei ehkä tarvitsekaan käsittää erikseen opetelluksi, ihmisluonnolle vastakkaiseksi elementiksi.” Ja sama asia hieman myöhemmin toisin sanoin: ”Mikäli kädellisillä,

Ihmisruumis ja maa-alue ovat molemmat sekä sosiaalisen että uskonnollisen metaforakielen peruskategorioita, joihin perustuvat paitsi ihmisen sensori-motoriset kyvyt, myös

Uudessa kirjassaan Bullshit Jobs – A Theory (Simon Schüster 2018) Graeber väittää, että suuri osa työstä on merkityksetöntä ja hyödytön- tä, ellei jopa

Otsikon ydintermin recon- figuring voisi leikillään kääntää yritykseksi hahmottaa paitsi uudelleen myös yhdessä: yhteisyys ja yhdistelmät ovat kirjan avainsanoja, kuten