Kuvan äänentaajuuteen yhdistävä neuroverkkosovellus
Lehtinen, Kauri (2018)
Lehtinen, Kauri
Metropolia Ammattikorkeakoulu
2018
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2018113019195
https://urn.fi/URN:NBN:fi:amk-2018113019195
Tiivistelmä
Insinöörityönä kehitettiin internetselaimessa toimiva sovellus, joka koneoppimista hyödyntäen assosioi kuvan tiettyyn äänentaajuuteen. Kuva- ja äänilähteenä sovellukselle toimivat kaikki kamerat ja mikrofonit, joihin internetselaimella on pääsy. Käyttäjä tuottaa haluamallaan tavalla erilaisia äänentaajuuksia, joihin sovellus yhdistää kuvan. Näin koneoppimismalli oppii yhdistämään tietyn asetelman kuvassa tiettyyn äänentaajuuteen.
Sovelluksessa käytettiin TensorFlow.js-Javascript-kirjastoa, joka mahdollistaa koneoppimismallien koulutuksen ja käytön internetselaimessa. Esikoulutettua MobileNet-mallia käytettiin esimerkkiaineiston esiprosessoinnissa, ja varsinainen ennustaminen toteutettiin omassa mallissaan. Äänen prosessoinnissa käytettiin Web Audio API -Javascript-rajapintaa. Insinöörityöraportissa selvitettiin koneoppisen teoriaa, sovelluksen kehityksessä käytettyjä menetelmiä ja sovelluksen toiminta.
Aineiston keräämisessä ilmenneen ongelman vuoksi sovellus jäi soveltuvuusselvitystasolle, minkä vuoksi suunniteltua koneoppimismallin optimointia ei voitu järkevästi toteuttaa. Sovellus kuitenkin osoittautui toimivan pienilläkin aineistomäärillä, kun koulutettavat luokat erosivat toisistaan riittävästi. Liian pienet eroavaisuudet kuvissa eri luokkien välillä olivat pienellä aineistomäärällä liian samankaltaisia, eikä malli kyennyt tuottamaan luotettavia ennusteita.
Riittävällä aineistomäärällä koulutettua optimoitua koneoppimismallia voitaisiin käyttää käyttöliittymänä esimerkiksi yksinkertaisissa web-peleissä tai soittamisen opetuksessa. Sovellus voisi verrata käyttäjän äänentuottamistekniikkaa hyvinä pidettyihin tekniikoihin ja ohjeistaa käyttäjää oikeaan suuntaan toiminnassa.
Sovelluksessa käytettiin TensorFlow.js-Javascript-kirjastoa, joka mahdollistaa koneoppimismallien koulutuksen ja käytön internetselaimessa. Esikoulutettua MobileNet-mallia käytettiin esimerkkiaineiston esiprosessoinnissa, ja varsinainen ennustaminen toteutettiin omassa mallissaan. Äänen prosessoinnissa käytettiin Web Audio API -Javascript-rajapintaa. Insinöörityöraportissa selvitettiin koneoppisen teoriaa, sovelluksen kehityksessä käytettyjä menetelmiä ja sovelluksen toiminta.
Aineiston keräämisessä ilmenneen ongelman vuoksi sovellus jäi soveltuvuusselvitystasolle, minkä vuoksi suunniteltua koneoppimismallin optimointia ei voitu järkevästi toteuttaa. Sovellus kuitenkin osoittautui toimivan pienilläkin aineistomäärillä, kun koulutettavat luokat erosivat toisistaan riittävästi. Liian pienet eroavaisuudet kuvissa eri luokkien välillä olivat pienellä aineistomäärällä liian samankaltaisia, eikä malli kyennyt tuottamaan luotettavia ennusteita.
Riittävällä aineistomäärällä koulutettua optimoitua koneoppimismallia voitaisiin käyttää käyttöliittymänä esimerkiksi yksinkertaisissa web-peleissä tai soittamisen opetuksessa. Sovellus voisi verrata käyttäjän äänentuottamistekniikkaa hyvinä pidettyihin tekniikoihin ja ohjeistaa käyttäjää oikeaan suuntaan toiminnassa.