Liikkuva-sovellusprojekti

Samankaltaiset tiedostot
Liikkuva-sovellusprojekti

Liikkuva-sovellusprojekti

Liikkuva-sovellusprojekti

Liikkuva-sovellusprojekti

Liikkuva-sovellusprojekti

Liikkuva-sovellusprojekti

Liikkuva-sovellusprojekti

Liikkuva-sovellusprojekti

Liikkuva-sovellusprojekti

Liikkuva-sovellusprojekti

Liikkuva-sovellusprojekti

Liikkuva-sovellusprojekti

Liikkuva-sovellusprojekti

Liikkuva-sovellusprojekti

Liikkuva-sovellusprojekti

UCOT-Sovellusprojekti. Testausraportti

Kuovi-Sovellusprojekti. Vaatimusmäärittely

Liikkuva-sovellusprojekti

Liikkuva-sovellusprojekti

Liikkuva-sovellusprojekti

UCOT-Sovellusprojekti. Vaatimusmäärittely

Liikkuva-sovellusprojekti

UCOT-Sovellusprojekti. Asennusohje

Vaatimusmäärittely Ohjelma-ajanvälitys komponentti

Koskelo-Sovellusprojekti. Vaatimusmäärittely

CONCEPT-Sovellusprojekti. Lisenssisopimus

Projektinhallintaa paikkatiedon avulla

T Testiraportti - järjestelmätestaus

Tietotekniikan Sovellusprojektit

UCOT-Sovellusprojekti. Vaatimusmäärittely

KIURU Tietotekniikan sovellusprojekti

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

MPCC-työkalua voidaan käyttää yhden laitteen valvontaan ja yhden tai useamman laitteen konfigurointiin (Modbus broadcast, osoite 0).

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

11. PALAVERIN PÖYTÄKIRJA. Jyväskylän Yliopisto Tietotekniikan laitos CONCEPT-projekti Paikka ja aika

Kuovi-projekti. Vaatimusmäärittely

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Koordinaattieditori

Nspire CAS - koulutus Ohjelmiston käytön alkeet Pekka Vienonen

Paatti-sovellusprojekti

Digi-tv vastaanottimella toteutetut interaktiiviset sovellukset

UCOT-Sovellusprojekti. Vaatimusmäärittely

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

UCOT-Sovellusprojekti. Vaatimusmäärittely

Ohjelmoinnin perusteet Y Python

NUUO ETÄOHJELMA PIKAOPAS. Maahantuoja Dasys Oy Kaivolahdenkatu HELSINKI helpdesk@dasys.fi

Hoksotin-sovellusprojekti

Ylläpitodokumentti. Boa Open Access. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

padvisor - pikaohje - työkalu SATRON Smart/Hart dp- ja painelähettimiä varten

JÄRJESTELMÄN TEKNINEN KÄYTTÖOHJE

EMVHost Online SUBJECT: EMVHOST ONLINE CLIENT - AUTOMAATTISIIRROT COMPANY: EMVHost Online Client sovelluksen käyttöohje AUTHOR: DATE:

Digi-tv vastaanottimella toteutettavat interaktiiviset sovellukset Käyttöohje

KÄYTTÖOHJE LÄMPÖTILA-ANEMOMETRI DT-619

Ksenos Prime Käyttäjän opas

Loppuraportti. Virtuaali-Frami, CAVE-ohjelmisto. Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu. Versio

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Xlet

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

LoggerPro pikaohje

T Testiraportti - integraatiotestaus

Aika: keskiviikkona klo 10: Paikka: sovellusprojektien kokoushuone Ag C226.2, Jyväskylän yliopisto

Maha Eurosystem jarrulaskentaohjelman asennusohje versio

Muita kuvankäsittelyohjelmia on mm. Paint Shop Pro, Photoshop Elements, Microsoft Office Picture Manager

Projektityö: Mobiiliajopäiväkirja. Mikko Suomalainen

KUVANKÄSITTELY THE GIMP FOR WINDOWS OHJELMASSA

Pikaopas 2.3. Pikaopas. Voyant Health, Ltd. 35 Efal Street Petach-Tikva, 49511, Israel

Joose-sovellusprojekti. Vaatimusmäärittely. Hannu Hautakangas Nikolai Koudelia Joel Lehtonen Johan Nysten. Versio Julkinen 26.1.

Testitapaukset. Hannu Hautakangas Nikolai Koudelia Joel Lehtonen Johan Nysten. Versio 0.1 Julkinen

Flow!Works Pikaohjeet

TUTKIMUSRAPORTTI VTT-R Menetelmäkuvaus tartuntavetotankojen

Käyttöliittymän muokkaus

Tallennuspalvelu Käyttöohjeet

1. Skannaus ja tekstintunnistus (OCR) verkkoskannerilta

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

ASENNUSOHJEET INTERNET-ASENNUS. Navita Yritysmalli. YHTEYSTIEDOT Visma Solutions Oy Mannerheiminkatu LAPPEENRANTA Puh.

Gimp JA MUUT KUVANKÄSITTELYOHJELMAT

HIBBO. Tietotekniikan sovellusprojekti. Matti Eskelinen Olli Karppinen Harri Kosunen Riikka Rikkola. Testaussuunnitelma Versio:

Videokuvan siirtäminen kamerasta tietokoneelle Windows Movie Maker -ohjelman avulla

ATK tähtitieteessä. Osa 5 - IDL datan sovitusta ja muita ominaisuuksia. 25. syyskuuta 2014

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Siirtoprotokolla

Maventa Connector Käyttöohje

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Rasterikarttojen ja liiteaineistojen päivitysohje SpatialWeb5 Karttapaikka

Dynamo-Sovellusprojekti. Testausraportti. Tero Hätinen Joni Purojärvi Antti Pyykkönen

Archive Player Divar Series. Käyttöopas

UCOT-Sovellusprojekti. Vaatimusmäärittely

Kepler-sovellusprojekti

Operatiiviset päivät Ohjeita luennoitsijoille AV-tekniikasta

erasmartcardkortinlukijaohjelmiston

IDL - datan sovitus. ATK tähtitieteessä. IDL - esimerkiksi linfit. IDL - esimerkiksi linfit

DIGIBONUSTEHTÄVÄ: MPKJ NCC INDUSTRY OY LOPPURAPORTTI

Ohjelmisto on selainpohjaisen käyttöliittymän tarjoava tietokantajärjestelmä merikotkien seurantaan WWF:n Merikotka-työryhmän tarpeisiin.

AV-muotojen migraatiotyöpaja - video. KDK-pitkäaikaissäilytys seminaari / Juha Lehtonen

ph-pikatestin käyttöohje

Kepler-sovellusprojekti

S11-04 Kompaktikamerat stereokamerajärjestelmässä. Projektisuunnitelma

OptiLift -Sovellusprojektin palaveri

Lohtu-projekti. Testaussuunnitelma

ATK tähtitieteessä. Osa 5 - IDL datan sovitusta ja muita ominaisuuksia. 25. syyskuuta 2014

HIPARI. --Projektisuunnitelma-- v.1.0. Mirva Paavola Kari Saari Jarkko Tulla Tero Tuovinen

NetMeetingiä voi käyttää esimerkiksi Internet puheluissa, kokouksissa, etätyössä, etäopiskelussa ja teknisessä tuessa.

Transkriptio:

Liikkuva-sovellusprojekti Joel Kivelä Erkki Koskenkorva Mika Lehtinen Oskari Leppäaho Petri Partanen Vaatimusmäärittely Julkinen Versio 00 3604 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä

Hyväksyjä Päivämäärä Allekirjoitus Nimenselvennys Projektipäällikkö 04 Tilaaja 04 Ohjaaja 04

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen Tietoa dokumentista Tekijät: Joel Kivelä (JK) Erkki Koskenkorva (EK) Mika Lehtinen () Oskari Leppäaho (OL) Petri Partanen (PP) joelakivela@studentjyufi erkkikoskenkorva@studentjyufi mikaklehtinen@studentjyufi oskarihleppaaho@studentjyufi petrimpartanen@studentjyufi Dokumentin nimi: Liikkuva-projekti, Vaatimusmäärittely Sivumäärä: 9 Tiivistelmä: Liikkuva-projekti kehitti Jyväskylän yliopiston liikuntakasvatuksen laitokselle käyttöliittymän konenäköpohjaiselle liikemittarille Dokumentissa kuvataan Liikkuva-projektissa toteutetun sovelluksen toiminnalliset ja tekniset vaatimukset sekä rajoitteet Lisäksi kuvataan vaatimusten prioriteetit ja tilat projektin päättyessä Avainsanat: Aktiivisuustaso, CAVAPA, käyttöliittymä, liikemittari, liikemäärä, rajoitteet, sovelluksen kokonaisrakenne, tekniset vaatimukset, toiminnalliset vaatimukset i

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen Muutoshistoria Versio Päivämäärä Muutokset Tekijät 00 604 Vaatimusmäärittelyn laatiminen aloitettiin 00 704 Aloitettiin luku Vaatimukset ja sen alaluvut 003 004 Lisättiin prioriteettien ja tilojen pikkukuvat Lisättiin muutoshistoriasivu ja alustavat vaati- mukset 004 04 Lisättiin alustavat tekniset vaatimukset Muokattiin listojen sisennyksiä 005 04 Muunnettiin toiminnalliset vaatimukset kokonaisiksi virkkeiksi Lisättiin vaatimus liikemää- räkäyrän tallentamisesta 00 304 Lisättiin johdanto 0 704 Päivitettiin määritelmiä Jaettiin videon käsittely kahdeksi kategoriaksi Lisättiin kolme vaatimusta tulosten näyttämiseen liittyen 00 804 Päivitettiin määritelmiä Lisättiin määritelmät CAVAPA-algoritmi ja Tynnyrivääristymä Parannettiin kieliasua 0 404 Päivitettiin vaatimuskokonaisuuksia Lisättiin teknisiä vaatimuksia formaattien osalta Parannettiin kieliasua 0 504 Vaatimukset numeroitiin Jaettiin luku Vaatimukset kolmeen lukuun 03 604 Aloitettiin luku Sovelluksen kokonaisrakenne 04 704 Tarkennettiin sovelluksen rakennetta 030 804 Tarkennettiin vaatimuksia metatietojen syöttämiseen liittyen Lisättiin alaluku Tekniset termit 03 4304 Parannettiin kieliasua Tietojärjestelmää kuvaavia ja teknisiä termejä lisättiin 03 7304 Lisättiin CAVAPA-ohjelman rajapinnan kuvaus Päivitettiin vaatimuksia 040 0304 Lisättiin yhteenveto ja alaluku Rajoitteet Päivitettiin vaatimusten tiloja ii

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen Versio Päivämäärä Muutokset Tekijät 04 304 Lisättiin termit Aktiivisuusdata ja CSV Korjattiin kieliasua Lisättiin kaksi rajoitetta Jaettiin vaatimuskokonaisuus Mittauksen aloitus ja seuranta kahtia 04 7304 Tarkennettiin havainnon ja kohteen määritelmiä Lisättiin tekniset termit FPS ja X Lisättiin rajoite FPS:ään liittyen Lisättiin OpenGL käytettyihin kirjastoihin Lisättiin vaatimuskokonaisuudet Yleiset asetukset ja Aiemman mittauksen käsittely Päivitettiin vaatimuksia 050 0304 Tarkennettiin rajoitteita Tarkennettiin konenäkövaatimusta Lisättiin vaatimus viimeksi käy- tetyistä videolähteistä Päivitettiin vaatimusten prioriteetteja ja tiloja 05 6304 Päivitettiin vaatimusten tiloja 05 8304 Parannettiin kieliasua Lisättiin termi Raakaformaatti 053 4404 Päivitettiin vaatimusten tiloja Lisättiin kolme vaatimusta 060 7404 Lisättiin termi Moduuli Vaihdettiin termi komponentti termiin moduuli sovelluksen rakenteen ku- vauksessa Parannettiin listojen muotoilua Lisättiin vaatimus mittauksen aloitukseen liittyvien tietojen tallentamisesta 06 404 Päivitettiin vaatimusten tiloja 06 4404 Lisättiin termit Asetustiedosto ja Metatiedosto Tarkennettiin joitakin vaatimuksia Parannettiin kieliasua 070 3404 Päivitettiin vaatimusten tiloja Tarkennettiin konenäkövaatimusta 07 9404 Päivitettiin vaatimusten tiloja Parannettiin kieliasua Päivitettiin projektisuunnitelman URL- osoite 080 4504 Päivitettiin vaatimusten tiloja Lisättiin Hanna Toivonen tilaajan edustajiin iii

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen Versio Päivämäärä Muutokset Tekijät 08 9504 Muutettiin projektia kuvaavat virkkeet menneeseen muotoon Lisättiin johdantoon viittauk- set muihin olennaisiin dokumentteihin sekä kuvaukset lukujen sisällöstä 090 504 Tarkennettiin joitakin termejä Päivitettiin onnistuneesti testattujen vaatimusten tila testatuik- si Täydennettiin yhteenvetoa Päivitettiin sovelluksen kokonaisrakenteen moduulien nimet Lisättiin selitykset osittain toteutettuihin vaatimuksiin liittyen 09 5504 Muutettiin osittain toteutettuja vaatimuksia kuvaavat tekstikappaleet kokonaisiksi virkkeiksi Lisättiin yhteenvedon taulukkoon yhteensä-rivi sekä erotettiin testatut ja toteutetut vaatimukset omiksi sarakkeikseen Lisättiin viittaus toiseen testausraporttiin 000 7504 Parannettiin kieliasua 00 3604 Päivitettiin vaatimusten tiloja Lisättiin yhteenvetoon huomioita testauksen tuloksista iv

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen Tietoa projektista Liikkuva-sovellusprojekti kehitti Jyväskylän yliopiston liikuntakasvatuksen laitokselle käyttöliittymän konenäköpohjaiselle liikemittarille, jolla voidaan visualisoida videokuvasta mitattua ihmisjoukon aktiivisuustasoa sekä suorittaa mittauksessa tarvittava kalibrointi Tekijät: Joel Kivelä (JK) Erkki Koskenkorva (EK) Mika Lehtinen () Oskari Leppäaho (OL) Petri Partanen (PP) joelakivela@studentjyufi erkkikoskenkorva@studentjyufi mikaklehtinen@studentjyufi oskarihleppaaho@studentjyufi petrimpartanen@studentjyufi Tilaaja: Taru Lintunen Heidi Pasi Kimmo Suomi Ville Tirronen Hanna Toivonen tarulintunen@jyufi heidipasi@jyufi kimmosuomi@jyufi villeettirronen@jyufi toivonenhanna@yahoocom Ohjaajat: Jukka-Pekka Santanen Jarkko Vilhunen santanen@mitjyufi jarkkosvilhunen@studentjyufi Yhteystiedot: Sähköpostilistat: Sähköpostiarkistot: liikkuva@korppijyufi, liikkuva_opetus@korppijyufi https://korppijyufi/list-archive/liikkuva/, https://korppijyufi/list-archive/ liikkuva_opetus/ v

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen vi

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen Sisältö Johdanto Termit Aihealueen termit Tietojärjestelmän termit 3 3 Tekniset termit 4 3 Sovelluksen kokonaisrakenne 5 3 Käytetyt kirjastot 5 3 CAVAPA-ohjelma 5 33 Kokonaisrakenne 6 4 Vaatimusten prioriteetit ja tilat 8 5 Toiminnalliset vaatimukset 9 5 Yleiset asetukset 9 5 Aiemman mittauksen käsittely 9 53 Videolähteiden valinta 9 54 Mittauksen tietojen määrittäminen 0 55 Kalibrointi 0 56 Mittauksen aloitus 57 Mittauksen seuranta 58 Tulosten näyttäminen ja käsittely 59 Konenäkö 3 50 WWW-käyttöliittymä 3 6 Tekniset vaatimukset ja rajoitteet 5 6 Käyttöjärjestelmät 5 6 Videon tallennusformaatit 5 63 Videon lukuformaatit 5 64 Liikemääräkäyrän tallennusformaatit 5 65 Metatiedon tallennusformaatit 6 66 Rajoitteet 6 7 Yhteenveto 7 vii

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen 8 Lähteet 8 viii

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen Johdanto Ryhmäliikunnan tutkimuksessa liikemäärän selvittämiseksi käytetään tavallisesti henkilöihin kiinnitettäviä laitteita tai tutkijoiden silmämääräistä arviointia Nämä menetelmät voivat kuitenkin olla kalliita ja/tai aikaavieviä, sekä etenkin pidemmän aikavälin liikemäärän seuranta on hankalaa Liikuntakasvatuksen laitos ja tietotekniikan laitos ovat yhteistyössä kehittäneet ohjelmiston, joka mahdollistaa ihmisjoukon liikemäärän mittaamisen videokuvasta Kyseisen ohjelmiston käyttäminen on kuitenkin vaativaa, koska sillä ei ole kunnollista käyttöliittymää Liikkuva-projekti kehitti käyttöliittymän kyseiselle konenäköpohjaiselle liikemittarille, jolla voidaan visualisoida videokuvasta mitattua ihmisjoukon aktiivisuustasoa sekä suorittaa mittauksessa tarvittava kalibrointi Sovellusprojektissa kehitetty sovellus mahdollistaa liikemittarin helpon käytön liikuntakasvatuksen laitoksen tutkijoille ja opiskelijoille Vaatimusmäärittely kuvaa Liikkuva-projektissa toteutetun sovelluksen toiminnalliset ja tekniset vaatimukset sekä kokonaisrakenteen Dokumenttiin päivitettiin myös vaatimusten prioriteetit ja niiden toteutumisen tilat projektin päättyessä Projektin taustoja, tarpeita ja tavoitteita sekä kehitetyllä tietojärjestelmällä tuettavaa prosessia kuvataan tarkemmin projektiraportissa [7] Sovellusraporttissa [8] kuvataan toteutetun sovelluksen käyttöliittymä, toteutusratkaisut sekä havaitut ongelmat ja jatkokehitysideat Luokkadokumentaatiossa [] kuvataan sovelluksen luokkajako ja luokkien metodien kuvaukset Testaussuunnitelmassa [6] kuvataan sovelluksen systemaattinen järjestelmätestaus, ja testausraporteissa [], [3], [4] ja [5] kuvataan testausten tulokset Luvussa kuvataan projektissa käytettäviä aihealueen, tietojärjestelmän ja toteutustekniikoiden termejä Luvussa 3 kuvataan kehitettävän sovelluksen moduulit ja niiden suhteet toisiinsa sekä sovelluksen käyttämät aliohjelmakirjastot Luvussa 4 kuvataan kehitettävän sovelluksen vaatimusten mahdolliset prioriteetit ja tilat Luvussa 5 kuvataan sovelluksen toiminnalliset vaatimukset Luvussa 6 kuvataan sovelluksen tekniset vaatimukset ja rajoitteet (9)

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen Termit Luvussa kuvataan projektissa käytettäviä aihealueen, tietojärjestelmän ja toteutustekniikoiden termejä Aihealueen termit Projektin aihealueen termejä ovat seuraavat: Aktiivisuusdata Aktiivisuustaso CAVAPA CAVAPA-algoritmi Kalibrointi Liikemäärä Linssivääristymä Perspektiivin korjaus tarkoittaa CAVAPA-algoritmin vasteita Näitä ovat liikemäärä ja havaittujen kohteiden tiedot videokuvassa on videokuvan tiettyyn aikaväliin liittyvä numeerinen arvo välillä [0, ], joka on kyseisellä aikavälillä havaitun liikemäärän ja sillä hetkellä tunnetun maksimiliikemäärän suhde on Jyväskylän yliopiston liikuntakasvatuksen ja tietotekniikan laitoksen kehittämä ryhmätason fyysistä aktiivisuutta mittaava tietokoneavusteinen menetelmä Se on lyhenne sanoista Computer Assisted Video Analysis of Physical Activity on group level on menetelmä, joka laskee yhden tai useamman videolähteen ja tarvittavien parametrien perusteella aktiivisuusdatan sisältää ne toimenpiteet, joilla varmistetaan aktiivisuusdata mitattavan videokuvasta yhdenmukaisesti on fysikaalinen suure, joka on suoraan verrannollinen aktiivisuustasoon on optiikan ilmiö, jossa todellisen maailman suorat viivat näyttävät kameran kuvassa vinoutuneilta tarkoittaa CAVAPA-algoritmin alustamista sellaisilla parametreilla, että se saa käsityksen oikeasta kuva- (9)

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen kulmasta Käytännössä tämä tarkoittaa kaksiulotteisen ruudukon sovittamista videokuvan päälle Tynnyrivääristymä on erikoistapaus linssivääristymästä Se aiheuttaa suorien viivojen kaartumisen ulospäin Tietojärjestelmän termit Tietojärjestelmän osia ja ominaisuuksia kuvaavia käsitteitä ovat luvussa kuvattujen ohella seuraavat: Analyysi Asetustiedosto CAVAPA-ohjelma CAVAPA-GUI Havainto Kohde Kohteen korostus Liikemääräkäyrä Lämpökuva Metatiedosto Mittaus Moduuli Ryhmä tarkoittaa aktiivisuusdatan muodostamista videokuvan perusteella on tiedosto, johon tallennetaan käyttäjäkohtaiset asetukset (engl Cavapa program) on toteutus CAVAPA-algoritmista on Liikkuva-projektissa toteutetun ohjelmiston työnimi (engl sighting) on CAVAPA-algoritmin havaitsema kohde on videokuvassa esiintyvä liikkuva hahmo tarkoittaa suorakulmion piirtämistä videokuvaan kyseisen kohteen reunoille on kaksiulotteinen kuvaaja, joka kuvaa liikemäärän ajan funktiona on kaksiulotteinen kuva, joka kuvaa väreillä ne alueet, joilla videokuvassa aktiivisuutta esiintyi määritellyllä aikavälillä on tiedosto, johon tallennetaan mittausta kuvaavat metatiedot on prosessi, jossa CAVAPA-algoritmille syötetään videolähteistä saatavaa videokuvaa on sovelluksen osa, jolla on jokin selkeä vastuualue on ihmisjoukko, jonka aktiivisuutta videokuvasta mitataan 3(9)

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen Videolähde on joko videotiedosto tai videokamera 3 Tekniset termit Vaatimusmäärittelyssä esiintyviä tiedostoformaatteihin ja toteutustekniikoihin liittyviä termejä ovat seuraavat: CSV FPS JPEG MJPEG MPEG-4 PNG Raakaformaatti SVG X on tiedostomuoto, jolla tallennetaan taulukkomuotoista tietoa tekstitiedostoon on lukuarvo, joka kertoo, montako kuvapäivitystä videolähteestä otetaan yhden sekunnin aikana eli JPG on häviöllinen kuvatiedostoformaatti eli MJPG on videokuvan pakkaustekniikka, jossa jokainen videon ruutu pakataan JPG-kuvana on MJPG:tä edistyneempi videokuvan pakkaustekniikka on häviötön kuvatiedostoformaatti on sovelluksen käyttämä oma tiedostomuoto, jossa aktiivisuusdata on pakattu tiiviiseen muotoon on vektorikuvaformaatti on tekstimuotoinen merkintäkieli, jolla tiedon merkitys voidaan kuvata tiedon yhteyteen 4(9)

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen 3 Sovelluksen kokonaisrakenne Luvussa kuvataan Liikkuva-projektissa kehitetyn CAVAPA-GUI-sovelluksen moduulit ja niiden suhteet toisiinsa sekä sovelluksen käyttämät aliohjelmakirjastot Koko tietojärjestelmä koostuu CAVAPA-GUI:sta, CAVAPA-ohjelmasta, videokameroista ja mahdollisista muista laitteista 3 Käytetyt kirjastot CAVAPA-GUI käyttää seuraavia kirjastoja: OpenCV OpenGL Qt (Open Source Computer Vision Library) on avoimen lähdekoodin konenäkökirjasto CAVAPA-GUI käyttää sitä videotiedostojen ja kameran lukemiseen sekä kameralta tulevan kuvan tallentamiseen (Open Graphics Library) on laitteistoriippumaton grafiikkakirjasto CAVAPA-GUI käyttää sitä videokuvan ja siihen liittyvän kalibrointigrafiikan esittämiseen on avoimen lähdekoodin käyttöliittymä- ja sovelluskehys CAVAPA- GUI käyttää sitä graafisen käyttöliittymän esittämisessä 3 CAVAPA-ohjelma Luvussa 3 mainittujen kirjastojen lisäksi CAVAPA-GUI käyttää tilaajan kehittämää analyysiohjelmaa, joka laskee annetun videokuvan perusteella siihen liittyvän aktiivisuusdatan Liikkuva-projekti ei tee muutoksia CAVAPA-ohjelmaan, vaan tarvittaessa muutokset tekee ohjelman kehittänyt Jarkko Vilhunen CAVAPA-ohjelman tarjoama rajapinta muodostuu yksittäisestä luokasta Detector Se tarvitsee tiedot kameroista ja vapaaehtoisesti listan kalibraatiopisteistä, joiden avulla useamman kameran sijainnin määrittäminen tarkentuu Yksittäisen kameran tietoja ovat seuraavat: kamerakuvan resoluutio, kameran sijainti, 5(9)

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen kameran kuvaussuunta, näkökentän leveys ja tynnyrivääristymän voimakkuus Videokuvan analysointia varten Detector-luokassa on metodi compute, joka ottaa vastaan yksittäisen kuvaruudun kustakin videolähteestä ja palauttaa jokaista videolähdettä kohti joukon havaintoja (Sighting) Yksittäinen havainto muodostuu seuraavista tiedoista: kohteen tunniste, kohteen vasemman yläkulman koordinaatti videokuvassa, kohteen oikean alanurkan koordinaatti videokuvassa, kalibroinnin pohjalta tehty arvio kohteen sijainnista maailmassa ja arvioitu havainnon luotettavuus 33 Kokonaisrakenne Sovelluksen kokonaisrakenne on esitetty kuvassa 3 Moduuli AnalysisController vastaanottaa videokuvaa yhdestä tai useammasta videolähteestä ja lähettää sitä eteenpäin analyysiohjelmalle Cavapa program Tämä puolestaan laskee videokuvan perusteella aktiivisuusdatan, jonka tallentaminen on Results-moduulin vastuulla Moduuli Camera toteuttaa videokameran käsittelyn, VideoFile videotiedoston käsittelyn ja VideoSource yleisen videolähteen käsittelyn Moduuli Controller tallentaa, lukee ja välittää sovelluksen tarvitsemia asetuksia Settingsmoduulin avustuksella, vastaanottaa komentoja käyttöliittymärajapinnasta UserInterface ja lähettää niitä eteenpäin AnalysisController-moduulille sekä ottaa vastaan laskentatietoa AnalysisController-moduulilta ja välittää sitä käyttöliittymälle Käyttöliittymärajapinnan toteuttava moduuli GUI on työpöytäkäyttöliittymä, joka huolehtii videoiden ja laskentatiedon esityksestä käyttäjälle sekä ottaa vastaan käyttäjän syötteitä ja komentoja Käyttöliittymärajapinta mahdollistaa myös muunlais- 6(9)

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen ten käyttöliittymien liittämisen sovellukseen Yksi mahdollinen tällainen on palvelinmoduuli Server, jonka kautta sovellusta voisi käyttää WWW-käyttöliittymän kautta Moduulia Server ei projektissa toteutettu Cavapa program Camera VideoFile Results AnalysisController VideoSource Settings Controller UserInterface GUI Server Kuva 3: CAVAPA-GUI-sovelluksen kokonaisrakenne 7(9)

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen 4 Vaatimusten prioriteetit ja tilat Luvussa kuvataan toteutettavan sovelluksen vaatimusten mahdolliset prioriteetit ja tilat Vaatimukset on priorisoitu asteikolla 5 seuraavasti: Pakollinen Tärkeä 3 Mahdollinen 4 Idea 5 Ei toteuteta Vaatimusten tilat esitetään seuraavasti: Ulkopuolinen moduuli Hyväksytty Testattu Toteutettu! Osittain toteutettu Toteuttamatta 8(9)

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen 5 Toiminnalliset vaatimukset 5 Yleiset asetukset 5 Käyttäjä voi valita liikemääräkäyrän värit 5 53 Käyttäjä voi valita oletushakemiston, jonne analyysien tulokset tallennetaan Käyttäjä voi valita kohteen korostuksen värin 54 Käyttäjä voi määrittää videolähteiden FPS:n 55 Käyttäjä voi määrittää, miten pitkiin osiin video pilkotaan kamerakuvaa tallennettaessa 5 Aiemman mittauksen käsittely 5 Käyttäjä voi avata aiemman mittauksen tiedot tarkasteltaviksi 5 Käyttäjä voi suorittaa analyysin uudelleen 4 53 Käyttäjä voi poistaa mittaukseen liittyvät tulokset 53 Videolähteiden valinta 53 Mittauksen videolähteeksi voi valita työasemalla olevan videotiedoston 53 533 Mittauksen videolähteeksi voi valita työasemaan yhteydessä olevan videokameran Mittaukseen liittyviä videolähteitä voi valita useamman kuin yhden! 534 Käyttäjä voi valita videolähteen viimeksi käytettyjen videolähteiden listalta Vaatimuksen 534 osalta sovellus tallentaa ainoastaan viimeksi käytettyjen verkkovideokameroiden osoitteet Viimeksi käytettyjä videotiedostoja ei tallenneta 9(9)

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen 54 Mittauksen tietojen määrittäminen 54 Sovellus asettaa automaattisesti mittauksen ajankohdan (päivämäärän ja kellonajan) metatiedostoon 54 Sovellus asettaa automaattisesti mittauksen tekijän nimen työaseman käyttäjänimen perusteella 543 Käyttäjä voi muokata mittauksen tekijän nimeä 4 544 Käyttäjä voi muokata mittauksen ajankohtaa 545 Käyttäjä voi syöttää mittauksen nimen 546 Käyttäjä voi syöttää mitattavan ryhmän nimen 547 Käyttäjä voi syöttää mittauksen paikan 548 Käyttäjä voi syöttää mittaukseen liittyviä lisätietoja 549 Käyttäjä voi määrittää mittaukseen liittyvien tiedostojen tallennushakemiston 3 540 Käyttäjä voi määrittää vuorokaudesta aikavälit, jolloin mittaus on käynnissä 3 54 Käyttäjä voi määrittää ne viikonpäivät, joina mittaus on käynnissä 54 Käyttäjä voi tallentaa valitut videolähteet ja syötetyt tiedot metatiedostoon 55 Kalibrointi 55 Kameran katsomissuunnan ja korkeuden voi määrittää sovittamalla kaksiulotteisen ruudukon videokuvan päälle 55 Näkökentän leveyden voi määrittää 553 Useamman kameran suhteellisen sijainnin voi määrittää asettamalla videokuvien päälle yhteisiä pisteitä 3 554 Kameran tynnyrivääristymän voi määrittää suoristamalla videokuvassa näkyvän neliön muotoisen esineen ääriviivat 0(9)

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen 555 Sovellus asettaa automaattisesti videolähteen nimen perusteella videolähteen kalibrointitiedot, jos ne on aiemmin tallennettu 3 556 Käyttäjä voi halutessaan valita videolähteen kalibrointitiedot aiemmin tallennetuista tiedoista! 557 Sovellus tallentaa videolähteen kalibrointitiedot automaattisesti asetustiedostoon Vaatimuksen 557 osalta sovellus ei tallenna videolähteen kalibrointipisteitä asetustiedostoon 56 Mittauksen aloitus 56 56 563 564 Käyttäjä voi käynnistää mittauksen Käyttäjä voi valita, tallennetaanko aktiivisuusdataa levylle Videokameran ollessa videolähteenä käyttäjä voi valita, tallennetaanko videokuva levylle Käyttäjä voi asettaa mittauksen enimmäispituuden 3 3! 565 Käyttäjä voi rajata videokuvasta analysoitavaa aluetta piirtämällä suorakulmion videokuvan päälle 566 Videotiedoston ollessa videolähteenä käyttäjä voi valita tarkasteltavan aikavälin 567 Useamman videotiedoston ollessa lähteenä käyttäjä voi synkronoida ne ajan suhteen etsimällä videoista yhteisen ajanhetken 568 Mittauksen aloitukseen liittyvät tiedot tallennetaan metatiedostoon Vaatimuksen 565 osalta videokuvan rajaus on toteutettu AnalysisControllermoduulissa, mutta käyttöliittymä ei tarjoa käyttäjälle kyseistä toimintoa 57 Mittauksen seuranta 57 Käyttäjä voi peruuttaa mittauksen, jolloin videokuvaa ja aktiivisuusdataa ei tallenneta (9)

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen 57 573 Valituista videolähteistä tulevat kuvat näytetään mittauksen aikana samassa ikkunassa Käyttäjä voi päättää mittauksen, jolloin kaikki mittaukseen liittyvät tulokset tallennetaan 3! 574 Käyttäjä voi pysäyttää mittauksen ja jatkaa sitä myöhemmin 3 575 Asetuksen ollessa valittuna sovellus pysäyttää videon tallennuksen automaattisesti, jos kamerakuvasta ei havaita aktiivisuutta käyttäjän määrittämän ajan kuluessa 576 577 578 Liikemääräkäyrästä voi valita aiemman aikavälin tarkasteltavaksi mittauksen aikana Käyttäjä voi määrittää, minkä pituinen aikaväli näytetään nykyhetkestä taaksepäin Videokameran ollessa videolähteenä ja asetuksen ollessa valittuna videokuva tallennetaan levylle 3 579 Videokameran ollessa videolähteenä ja asetuksen ollessa valittuna videokuva tallennetaan tilatallennusjärjestelmään 570 57 Jos levytila on loppumassa, sovellus ilmoittaa tästä ja pysäyttää mittauksen Sovellus pilkkoo tallennettavan videon automaattisesti useammaksi käyttäjän määrittelemän pituiseksi tiedostoksi Vaatimuksen 574 osalta käyttäjä voi pysäyttää mittauksen ainoastaan silloin, kun kaikki videolähteet ovat videotiedostoja 58 Tulosten näyttäminen ja käsittely 58 58 583 Asetuksen ollessa valittuna videokuvan päällä näytetään havaitut liikkuvat kohteet laatikoituina Liikemääräkäyrä näytetään käyttäjän määrittämältä aikaväliltä Liikemääräkäyrässä näytetään vaaka-akselilla aika sekä pystyakselilla liikemäärä ja havaintojen lukumäärä (9)

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen 584 585 586 587 588 Liikemääräkäyrään voi nimetä ajanhetkiä kaksoisnapsauttamalla haluttua ajanhetkeä käyrältä ja kirjoittamalla ajanhetken nimen Liikemääräkäyrään nimetyt ajanhetket tallennetaan metatiedostoon Käyttäjä voi määrittää, kuinka tiheästi aktiivisuusdataa tallennetaan Liikemääräkäyrän datan voi tallentaa datatiedostoksi käyttäjän määrittämältä aikaväliltä Tallennettaessa liikemääräkäyrän data käyttäjä voi määrittää aikaleiman muunnoksen 4 589 Asetuksen ollessa valittuna datatiedostoon tallennetaan havaintojen koordinaatit 580 Näkyvillä olevan liikemääräkäyrän voi tallentaa kuvatiedostona 58 Käyttäjä voi avata näkymän, jossa havaituista kohteista näytetään Dlämpökuva käyttäjän määrittämältä aikaväliltä 58 Käyttäjä voi määrittää, mistä kamerasta katsottuna lämpökuva näytetään 3 583 Lämpökuva voidaan käyttäjän halutessa näyttää todellisesta maailmasta ylhäältä päin katsottuna 3 584 Asetuksen ollessa valittuna havaittujen kohteiden lukumäärää kuvaava käyrä näytetään liikemääräkäyrän kanssa samassa graafissa 3 585 Videokuvasta voi valita ne kohteet, joita ei oteta huomioon aktiivisuustasoa laskettaessa 59 Konenäkö 3 59 Sovellus osaa laskea kahdesta kuvakulmasta havaittujen kohteiden todellisen maailman koordinaatit 50 WWW-käyttöliittymä 4 50 WWW-käyttöliittymässä näytetään meneillään olevan mittauksen liikemääräkäyrä 3(9)

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen 4 50 WWW-käyttöliittymässä näytetään mittauksen metatiedot 4(9)

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen 6 Tekniset vaatimukset ja rajoitteet 6 Käyttöjärjestelmät 6 Sovellus toimii Windows 7 -käyttöjärjestelmässä 3 6 Sovellus toimii Windows 8 -käyttöjärjestelmässä 3 63 Sovellus toimii Windows Vista -käyttöjärjestelmässä 5 64 Sovellus toimii Windows XP -käyttöjärjestelmässä! 65 Sovellus toimii Linux-pohjaisissa käyttöjärjestelmissä 3 66 Sovellus toimii OS X -käyttöjärjestelmässä Vaatimuksen 65 osalta seuraavat virheet havaittiin käytettäessä sovellusta Fedora-käyttöjärjestelmässä: värivalintadialogi ei toisinaan tule näkyviin (vaatimukset 5 ja 53) sekä kameroiden päivitystoiminto (Refresh cameras) ei toimi 6 Videon tallennusformaatit 6 Sovellus tukee MPEG-4-videomuotoa tallennuksessa 5 6 Sovellus tukee MJPEG-videomuotoa tallennuksessa 63 Videon lukuformaatit 63 63 Sovellus voi lukea MJPEG-muodossa olevia videotiedostoja Sovellus voi lukea MPEG-4-muodossa olevia videotiedostoja 64 Liikemääräkäyrän tallennusformaatit 5 64 Liikemääräkäyrän voi tallentaa PNG-kuvana 64 Liikemääräkäyrän voi tallentaa SVG-kuvana 5(9)

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen 5 643 Liikemääräkäyrän voi tallentaa JPG-kuvana 644 645 Liikemääräkäyrän datan voi tallentaa CSV-formaatissa Liikemääräkäyrän datan voi tallentaa raakaformaatissa 65 Metatiedon tallennusformaatit 65 Mittauksen metatiedot tallennetaan X-formaatissa 66 Rajoitteet 66 Videokameran lukemista varten mahdolliset siihen liittyvät ajurit on oltava asennettuina työasemalla 66 Videokameran lukeminen ei ole mahdollista, jos OpenCV-kirjasto ei tue kameran rajapintaa 663 Videoita voi tallentaa työasemalle korkeintaan niin paljon kuin siinä on levytilaa 664 Sovelluksessa voi esiintyä hitautta riippuen työaseman tehoista, videolähteiden määrästä ja niiden kuvan tarkkuudesta 665 Videokameran tyyppi määrää videokuvan enimmäistarkkuuden 666 Sovelluksen riittää toimia Linux-pohjaisista käyttöjärjestelmistä vain Fedoralla (versio 8) ja Ubuntulla (versio 404) 667 Sovellus voi hidastua, jos käytettävä FPS asetetaan liian suureksi 668 Mittaustulokset voivat olla epätarkkoja, jos käytettävä FPS on liian pieni tai liian suuri 669 Samannimisiä kameroita käytettäessä niiden kalibrointitiedot eivät lataudu oikein 6(9)

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen 7 Yhteenveto Liikkuva-sovellusprojekti kehitti Jyväskylän yliopiston liikuntakasvatuksen laitokselle käyttöliittymän konenäköpohjaiselle liikemittarille Toteutetulla sovelluksella voidaan visualisoida videokuvasta mitattua ihmisjoukon aktiivisuustasoa sekä suorittaa mittauksessa tarvittava kalibrointi Toteutettu sovellus on prototyyppi, eli se ei sovellu tuotantokäyttöön, sillä analyysiohjelma ei anna videokuvasta luotettavaa aktiivisuusdataa Vaatimusten toteutuminen prioriteeteittäin ja tiloittain on esitetty taulukossa 7 Prioriteetti Testatut Toteutetut Osittain Toteuttamattomat toteutetut Yhteensä 3 0 0 33 0 6 3 6 4 0 0 0 5 5 5 0 0 0 4 4 Yhteensä 55 5 3 84 Taulukko 7: Vaatimusten toteutuminen prioriteeteittäin ja tiloittain Suurin osa vaatimuksista saatiin projektin aikana toteutettua Useimmista vaatimuskokonaisuuksista jäi toteuttamatta vaatimusta Eniten puutteita on vaatimuskokonaisuudessa Tulosten näyttäminen ja käsittely, jossa viisi vaatimusta jäi kokonaan toteuttamatta Regressiotestauksessa vaatimuksien 5, 56, 566, 57, 576, 58, 584 ja 644 osalta tehtiin huomioita, jotka liittyivät sovelluksen lievään virheelliseen tai epäloogiseen käyttäytymiseen Huomioiden tarkempi sisältö on kuvattu regressiotestausraporteissa [4] ja [5] Vaatimus 567 jäi tilaan Toteutettu, koska sitä ei ollut muistettu huomioida testauksessa 7(9)

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen 8 Lähteet [] Kivelä Joel, Koskenkorva Erkki, Lehtinen Mika, Leppäaho Oskari ja Partanen Petri, Liikkuva-projekti, CAVAPA-GUI-sovelluksen luokkadokumentaatio, saatavilla HT-muodossa <URL: http://sovellusprojektitit jyufi/liikkuva/luokkadokumentit/html/>, Jyväskylän yliopisto, tietotekniikan laitos, 04 [] Kivelä Joel, Koskenkorva Erkki, Lehtinen Mika, Leppäaho Oskari ja Partanen Petri, Liikkuva-projekti, Järjestelmätestausraportti, saatavilla PDF-muodossa <URL: http: //sovellusprojektititjyufi/liikkuva/testaus/ testausraportit/liikkuva-jarjestelmatestaus-raportti pdf>, Jyväskylän yliopisto, tietotekniikan laitos, 04 [3] Kivelä Joel, Koskenkorva Erkki, Lehtinen Mika, Leppäaho Oskari ja Partanen Petri, Liikkuva-projekti, Järjestelmätestausraportti, saatavilla PDF-muodossa <URL: http: //sovellusprojektititjyufi/liikkuva/testaus/ testausraportit/liikkuva-jarjestelmatestaus-raportti pdf>, Jyväskylän yliopisto, tietotekniikan laitos, 04 [4] Kivelä Joel, Koskenkorva Erkki, Lehtinen Mika, Leppäaho Oskari ja Partanen Petri, Liikkuva-projekti, Regressiotestausraportti, saatavilla PDF-muodossa <URL: http://sovellusprojektit itjyufi/liikkuva/testaus/testausraportit/ liikkuva-jarjestelmatestaus-regressioraporttipdf>, Jyväskylän yliopisto, tietotekniikan laitos, 04 [5] Kivelä Joel, Koskenkorva Erkki, Lehtinen Mika, Leppäaho Oskari ja Partanen Petri, Liikkuva-projekti, Regressiotestausraportti, saatavilla PDF-muodossa <URL: http://sovellusprojektit itjyufi/liikkuva/testaus/testausraportit/ liikkuva-jarjestelmatestaus-regressioraporttipdf>, Jyväskylän yliopisto, tietotekniikan laitos, 04 [6] Kivelä Joel, Koskenkorva Erkki, Lehtinen Mika, Leppäaho Oskari ja Partanen Petri, Liikkuva-projekti, Järjestelmätestaussuunnitelma, saatavilla PDF-muodossa <URL: http://sovellusprojektit 8(9)

Liikkuva-projekti Vaatimusmäärittely 00 Julkinen itjyufi/liikkuva/testaus/testaussuunnitelmat/ liikkuva-jarjestelmatestaussuunnitelmapdf>, Jyväskylän yliopisto, tietotekniikan laitos, 04 [7] Kivelä Joel, Koskenkorva Erkki, Lehtinen Mika, Leppäaho Oskari ja Partanen Petri, Liikkuva-projekti, Projektiraportti, saatavilla PDF-muodossa <URL: http://sovellusprojektititjyufi/liikkuva/dokumentit/ projektiraportti/liikkuva_projektiraportti_00pdf>, Jyväskylän yliopisto, tietotekniikan laitos, 04 [8] Kivelä Joel, Koskenkorva Erkki, Lehtinen Mika, Leppäaho Oskari ja Partanen Petri, Liikkuva-projekti, Sovellusraportti, saatavilla PDF-muodossa <URL: http://sovellusprojektititjyufi/liikkuva/dokumentit/ sovellusraportti/liikkuva_sovellusraportti_00pdf>, Jyväskylän yliopisto, tietotekniikan laitos, 04 9(9)