Objektitunnistimen kehitys (Konenäkö)
Koivunen, Valtteri-Oiva (2022)
Koivunen, Valtteri-Oiva
2022
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-202202032043
https://urn.fi/URN:NBN:fi:amk-202202032043
Tiivistelmä
Tässä opinnäytetyössä luodaan objektintunnistin, jonka toteutuksessa sovelletaan laajoja tietojoukkoja sekä koneoppiin perustuvia tekniikoita. Tarkoituksena on aikaansaada objektintunnistin, joka omaa matalan virhemarginaalin sekä kykenee havaitsemaan objekteja yli kymmenen metrin etäisyydeltä. Samalla tutkitaan kuinka koulutusparametrien muokkaaminen ja koulutusalgoritmin valinta vaikuttavat objektintunnistimen tarkkuuteen ja kantamaan.
Opinnäytetyön teoriaosuudessa perehdytään opinnäytetyön aiheeseen yleisesti, alaluvuissa selvitetään mitä konenäkö on. Perehtymisen yhteydessä tutustutaan lyhyesti konenäön historiaan tuomalla esille kuudenkymmenen vuoden aikana tapahtuneet merkitykselliset läpimurrot. Samalla selvitetään konenäön toimintaperiaate tutustumalla konenäön toiminnan kannalta oleellisiin pääkomponentteihin sekä objektintunnistus prosessiin. Edellä mainitun lisäksi teoriaosuudessa käsitellään konenäön ajankohtaisia käyttökohteita. Teoriaosuuden viimeisessä alaluvussa tutustutaan objektintunnistimen koulutukseen soveltuvien koulutusalgoritmien toimintaan.
Opinnäytetyön käytännönosiossa toteutettiin tutkimuksen toteutumisen kannalta oleelliset välivaiheet. Ensimmäisessä alaluvussa toteutettiin tietojoukon muodostukseen ja objektintunnistus luokittelijoiden visualisointiin soveltuvien ohjelmien vaatimusmäärittely. Vaatimusmäärittelyssä suunniteltiin ohjelmien päätoiminnallisuudet. Seuraavassa alaluvussa aloitettiin tietojoukon muodostukseen ja objektintunnistus luokittelijoiden visualisointiin soveltuvien ohjelmien toteutus. Ohjelmien koodauksessa hyödynnettiin python ohjelmointikieltä. Tässä asiayhteydessä pyrittiin implementoimaan mahdollisimman monta vaatimusmäärittelyssä ideoitua toiminnallisuutta. Tämän jälkeen aloitettiin tietojoukon muodostus soveltamalla tietojoukon muodostukseen luotua ohjelmaa. Lopuksi aikaansaatua tietojoukkoa käytettiin objektintunnistus luokittelijoiden koulutuksessa.
Opinnäytetyön lopussa vertaillaan eri koulutusalgoritmeilla ja vaihtelevilla koulutusparametreillä koulutettuja objektintunnistus luokittelijoita keskenään. Samalla analysoidaan kuinka koulutusalgoritminvalinta sekä koulutusparametrien vaihtelevat arvot vaikuttivat aikaansaannosten tarkkuuteen ja kantamaan. Kartutettua tietoa sovellettiin lopullisten objektintunnistus luokittelijoiden koulutuksessa. Tuotoksena syntyi kaksi objektintunnistinta, jotka olivat erittäin tarkkoja ja kykenivät havaitsemaan kohteen yli kymmenen metrin etäisyydeltä.
Opinnäytetyön teoriaosuudessa perehdytään opinnäytetyön aiheeseen yleisesti, alaluvuissa selvitetään mitä konenäkö on. Perehtymisen yhteydessä tutustutaan lyhyesti konenäön historiaan tuomalla esille kuudenkymmenen vuoden aikana tapahtuneet merkitykselliset läpimurrot. Samalla selvitetään konenäön toimintaperiaate tutustumalla konenäön toiminnan kannalta oleellisiin pääkomponentteihin sekä objektintunnistus prosessiin. Edellä mainitun lisäksi teoriaosuudessa käsitellään konenäön ajankohtaisia käyttökohteita. Teoriaosuuden viimeisessä alaluvussa tutustutaan objektintunnistimen koulutukseen soveltuvien koulutusalgoritmien toimintaan.
Opinnäytetyön käytännönosiossa toteutettiin tutkimuksen toteutumisen kannalta oleelliset välivaiheet. Ensimmäisessä alaluvussa toteutettiin tietojoukon muodostukseen ja objektintunnistus luokittelijoiden visualisointiin soveltuvien ohjelmien vaatimusmäärittely. Vaatimusmäärittelyssä suunniteltiin ohjelmien päätoiminnallisuudet. Seuraavassa alaluvussa aloitettiin tietojoukon muodostukseen ja objektintunnistus luokittelijoiden visualisointiin soveltuvien ohjelmien toteutus. Ohjelmien koodauksessa hyödynnettiin python ohjelmointikieltä. Tässä asiayhteydessä pyrittiin implementoimaan mahdollisimman monta vaatimusmäärittelyssä ideoitua toiminnallisuutta. Tämän jälkeen aloitettiin tietojoukon muodostus soveltamalla tietojoukon muodostukseen luotua ohjelmaa. Lopuksi aikaansaatua tietojoukkoa käytettiin objektintunnistus luokittelijoiden koulutuksessa.
Opinnäytetyön lopussa vertaillaan eri koulutusalgoritmeilla ja vaihtelevilla koulutusparametreillä koulutettuja objektintunnistus luokittelijoita keskenään. Samalla analysoidaan kuinka koulutusalgoritminvalinta sekä koulutusparametrien vaihtelevat arvot vaikuttivat aikaansaannosten tarkkuuteen ja kantamaan. Kartutettua tietoa sovellettiin lopullisten objektintunnistus luokittelijoiden koulutuksessa. Tuotoksena syntyi kaksi objektintunnistinta, jotka olivat erittäin tarkkoja ja kykenivät havaitsemaan kohteen yli kymmenen metrin etäisyydeltä.