Object Tracking in Video Sequences
Rintala, Sebastian (2017)
Rintala, Sebastian
2017
Tietotekniikka
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2017-05-03
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201704201310
https://urn.fi/URN:NBN:fi:tty-201704201310
Tiivistelmä
Tässä diplomityössä vertaillaan konenäössä käytettyjen SIFT-, SURF- ja ORB-algoritmia objektin seurannassa. Tutkimuksen tavoitteena on tarkastella algoritmien soveltuvuutta erityyppisille videoille ja erilaisiin käyttötarkoituksiin, kuten reaaliaikaisiin järjestelmiin, mutta myös järjestelmiin, joissa reaaliaikaisuus ei ole vaatimuksena. Algoritmeja on aikaisemmissa tutkimuksissa vertailtu kuvaparien avulla, mutta tutkimuksia objektin seurannasta SIFT-, SURF- ja ORB-algoritmeja käyttäen ei löytynyt. SIFT- ja SURF-algoritmien vertailu niitä uudemman ORB-algormitmin kanssa tuo lisäksi uutta tietoa sen suorituskyvystä. Tutkimukset ovat olleet ORB:n osalta vielä vähäisiä.
Vertailu tehdään neljän eri testivideon avulla algoritmien vakioparametreilla ja optimoiduilla parametreilla. Vertailussa otetaan huomioon algoritmien tarkkuus, nopeus, sekä sietokyky skaalaus-, rotaatio- ja kuvakulmamuutoksille. Testiympäristössä käytettiin Python-ohjelmointikieltä ja konenäköön suunnattua OpenCV-kirjastoa.
Tuloksista selviää, että kaikki kolme algoritmia soveltuvat objektin seuraamiseen. Algoritmin valinta kuitenkin riippuu käyttökohteesta ja videon ominaisuuksista. Erityisesti ORB:n kohdalla tarkkuus parani merkittävästi optimoiduilla parametreilla. SIFT:n ja SURF:n tarkkuutta ei optimoinnilla juurikaan saatu parannettua, mutta niiden laskenta-aika lyheni. Algoritmeistä ORB oli jokaisessa videossa nopein ja SIFT keskiarvollisesti tarkin. Laskenta-ajallisesti SURF oli algoritmeista hitain, mikä voi rajottaa sen käyttöä. Tulosten perusteella ORB:n käyttöä voidaan suositella käytettäväksi reaaliaikaisissa järjestelmissä optimoiduilla parametreilla ja SIFT:n käyttöä puolestaan tarkempaan seurantaan. SURF:n tarkkuus oli paras tapauksissa, joissa videokuva oli heilahtanut, joten sen käyttöä voidaan suositella kyseisissä tilanteissa.
Vertailu tehdään neljän eri testivideon avulla algoritmien vakioparametreilla ja optimoiduilla parametreilla. Vertailussa otetaan huomioon algoritmien tarkkuus, nopeus, sekä sietokyky skaalaus-, rotaatio- ja kuvakulmamuutoksille. Testiympäristössä käytettiin Python-ohjelmointikieltä ja konenäköön suunnattua OpenCV-kirjastoa.
Tuloksista selviää, että kaikki kolme algoritmia soveltuvat objektin seuraamiseen. Algoritmin valinta kuitenkin riippuu käyttökohteesta ja videon ominaisuuksista. Erityisesti ORB:n kohdalla tarkkuus parani merkittävästi optimoiduilla parametreilla. SIFT:n ja SURF:n tarkkuutta ei optimoinnilla juurikaan saatu parannettua, mutta niiden laskenta-aika lyheni. Algoritmeistä ORB oli jokaisessa videossa nopein ja SIFT keskiarvollisesti tarkin. Laskenta-ajallisesti SURF oli algoritmeista hitain, mikä voi rajottaa sen käyttöä. Tulosten perusteella ORB:n käyttöä voidaan suositella käytettäväksi reaaliaikaisissa järjestelmissä optimoiduilla parametreilla ja SIFT:n käyttöä puolestaan tarkempaan seurantaan. SURF:n tarkkuus oli paras tapauksissa, joissa videokuva oli heilahtanut, joten sen käyttöä voidaan suositella kyseisissä tilanteissa.