Person counter using real-time object detection and a small neural network
Jokela, Jussi (2018)
Jokela, Jussi
Turun ammattikorkeakoulu
2018
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2018102216155
https://urn.fi/URN:NBN:fi:amk-2018102216155
Tiivistelmä
Koneoppiminen on yksi tekoälyn suuntauksista, ja syväoppiminen on yksi koneoppimisen osa-alueista. Koneoppiminen tarkoittaa, että kone oppii itsenäisesti suorittamaan monimutkaiset tehtävät ja kehittämään itseänsä koko ajan. Syväoppiminen taas pohjautuu lähinnä samaan tapaan, miten ihminen oppii asioita, ja sen takia se onkin paljon monimutkaisempi, mutta tehokkaampi oppimistapa.
Tämän opinnäytetyön tarkoituksena oli tutustua syväoppimiseen ja sen eri kehitysympäristöihin, ja sen jälkeen luoda henkilölaskuri, joka hyödyntäisi syväoppimista ja neuroverkkoja henkilön tunnistukseen. Työn vaatimuksiin kuului myös, että laskuri toimisi mahdollisimman halvalla tietokoneella.
Ohjelmoinnin aikana kokeiltiin monia eri syväoppimisen kehitysympäristöjä, oman tunnistusmallin opettamista ja objektin seurantaa. Testauksen aikana ainoa saatavilla oleva testikone Intel NUC pystyi suorittamaan testiohjelmaa seuranta päällä noin 4 – 6 ruutua sekunnissa, kun taas ilman seurantaa noin 6 – 8 ruutua sekunnissa. Nämä nopeudet eivät juurikaan riitä reaaliaikaiseen laskentaan, joten ohjelma vaatisi lisää optimointia tai sitten hieman tehokkaamman tietokoneen.
Työn lopputuloksena oli toimiva ohjelma, joka hyödyntää syväoppimista ja neuroverkkoja henkilölaskentaan. Optimoinnilla voitaisiin saada parempi ruudunpäivitys ja laskentatarkkuus.
Tämän opinnäytetyön tarkoituksena oli tutustua syväoppimiseen ja sen eri kehitysympäristöihin, ja sen jälkeen luoda henkilölaskuri, joka hyödyntäisi syväoppimista ja neuroverkkoja henkilön tunnistukseen. Työn vaatimuksiin kuului myös, että laskuri toimisi mahdollisimman halvalla tietokoneella.
Ohjelmoinnin aikana kokeiltiin monia eri syväoppimisen kehitysympäristöjä, oman tunnistusmallin opettamista ja objektin seurantaa. Testauksen aikana ainoa saatavilla oleva testikone Intel NUC pystyi suorittamaan testiohjelmaa seuranta päällä noin 4 – 6 ruutua sekunnissa, kun taas ilman seurantaa noin 6 – 8 ruutua sekunnissa. Nämä nopeudet eivät juurikaan riitä reaaliaikaiseen laskentaan, joten ohjelma vaatisi lisää optimointia tai sitten hieman tehokkaamman tietokoneen.
Työn lopputuloksena oli toimiva ohjelma, joka hyödyntää syväoppimista ja neuroverkkoja henkilölaskentaan. Optimoinnilla voitaisiin saada parempi ruudunpäivitys ja laskentatarkkuus.