26
Univerzitet u Sarajevu Elektrotehnički fakultet Sarajevo, šk. 2013/2014 a slikeStudenti: Gurbeta Lejla, Vardo Almir Using Robust Local Features on DSP- Based Embedded Systems Predmet: Prepoznavanje oblika i obrada slike

Using Robust Local Features on DSP2

Embed Size (px)

DESCRIPTION

Cilj seminarskog rada je razmotriti set jako efikasnih detektora i deskriptora lokalnih osobina korištenih u zadacima kompjuterske vizije. Biti će razmotrena prikladnost ovih metoda za implementaciju i primjenu na embedded sistemima, prije svega u zadacima kalibracije kamere i prepoznavanja oblika. Ukratko će biti opisane metode DoG (difference of Gaussians) i MSER (maximally stable extremal regions) detektor kao i PCA-SIFT deskriptor, te će biti razmotrena prikladnost njihove upotrebe u pametnim sistemima u zadacima kalibracije kamere i zadacima prepoznavanja.

Citation preview

Page 1: Using Robust Local Features on DSP2

Univerzitet u SarajevuElektrotehnički fakultet Sarajevo, šk. 2013/2014

a slikeStudenti: Gurbeta Lejla, Vardo Almir

Using Robust Local Features on DSP- Based

Embedded SystemsPredmet: Prepoznavanje oblika i obrada slike

Page 2: Using Robust Local Features on DSP2

Using Robust Local Features on DSP- Based Embedded Systems

Sadržaj

SAŽETAK.........................................................................2

UVOD.............................................................................3

ODABIR ALGORITMA......................................................4

Hardverska ograničenja i odabir kriterija...................4

DoG Keypoints..............................................................4

MSER............................................................................5

PCA-SIFT.......................................................................6

Descriptor Matching Podudaranje deskripotora.........6

Epipolar Geometry Epipolar Geometrija.....................7

Eksperimenti................................................................7

Podešavanje kamere.................................................8

Podešavanje sistema.................................................8

Rezultati podešavanja..............................................10

Rezultati podešavanja vremena..............................10

Prepoznavanje objekata..........................................11

Zaključak......................................................................17

Page 3: Using Robust Local Features on DSP2

Using Robust Local Features on DSP- Based Embedded Systems

SAŽETAK

Digitalna obrada signala je oblast koja se razvila u drugoj polovini dvadesetog vijeka. Razvoj digitalne obrade signala uvjetovan je razvojem računarskih i softverskih tehnologija. Oblasti primjene DSP-a su mnogobrojne: telekomunikacije, radar, obrada govora, audiotehnika, obrada slike, seizmologija, sonarna tehnika, robotika, kartografija i mnoge druge. U nastavku analiziran je jedan od načina digitalne obrade slike. Prije nego se detaljnije posvetimo temi seminarskog rada navest ćemo neke definicije embedded sistema

Definicija 1: Embedded sistemi su računarski sistemi sa jako izraženom integracijom hardvera i softvera, prije svega namijenjeni da obavljaju specifične funkcije.

Definicija 2: Embedded sistemi su računarsko bazirani sistemi ugrađeni u okviru drugog sistema, za koga obezbeđuju bolju funkcionalnost i performanse.

Definicija 3: Embedded sistemi su sistemi specijalne-namjene kod kojih je računar u potpunosti enkapsuliran od strane uređaja koga on kontroliše.

Nasuprot računaru opšte-namjene, kakav je personalni računar (PC), embedded sistem obavlja jedan ili veći broj unaprijed definisanih zadataka, obično sa veoma specifičnim zahtjevima. S obzirom da je embedded sistem namenjen da obavlja specifični zadatak, projektant može da ga optimizira sa aspekta performansi (brzina rada) a da pri tome redukuje gabarit, potrošnju energije, i cijenu proizvoda. Embedded sistemi su najčešće masovni proizvodi (digitalna kamera, disk plejer, mobilni telefon, i td.)

Posljednjih godina su razvijeni mnogi algoritmi, posebno oni bazirani na lokalnim osobinama, koji se primjenjuju u polju kompjuterske percepcije - kompjuterske vizije (computer vision), a koji su omogućili automatsko ili poluatomatsko rješavanje problema naprimjer kalibracija kamere, prepoznavanja oblika. Također došlo je do razvoja embedded vision platformi kao što su pametne kamere koje posjeduju dovoljno energije za decentraliziranu obradu slike u različitim zadacima, međutim imaju veliko ograničenje u pogledu memorije i sposobnosti računanja.

Cilj seminarskog rada je razmotriti set jako efikasnih detektora i deskriptora lokalnih

osobina korištenih u zadacima kompjuterske vizije. Biti će razmotrena prikladnost ovih metoda za implementaciju i primjenu na embedded sistemima, prije svega u zadacima kalibracije kamere i prepoznavanja oblika. Ukratko će biti opisane metode DoG (difference of Gaussians) i MSER (maximally stable extremal regions) detektor kao i PCA-SIFT deskriptor, te će biti razmotrena prikladnost njihove upotrebe u pametnim sistemima u zadacima kalibracije kamere i zadacima prepoznavanja.

Page 4: Using Robust Local Features on DSP2

Using Robust Local Features on DSP- Based Embedded Systems

UVOD

U proteklih nekoliko godina, algoritmi kompjuterske vizije postali su jedan od moćnijih alata za primjenu u inžinjerstvu. Industrijski i komercijalni zahtjevi i dalje unaprjeđuju razvoj visoko performantnih algoritama računarske vizije rezultirajući efikasnim rješenjima postojećih problema kao i novim aplikacijama koje su danas sve više prisutne u svakodnevnom životu što je dovelo do razvijanja velikih mreža kamera i zahtjeva za lokalnom obradom podataka, naprimjer navigacija, aplikacija za pomoć ljudima s oštećenjem vida i drugo. U industrijskim aplikacijama, zadacima nadzora sistemi pametnih kamera su sve više prisutni zbog njihove fleksibilnosti, skalabilnosti kao i pasivnog djelovanja. Embedded vision sistemi su već prisutni u svakodnevnom životu. Gotovo svi mobiteli danas imaju kameru i zbog toga se mogu smatrati malim embedded vision sistemom.

Robusne lokalne značajke i deskriptori se već uspješno primjenjenjuju u zadacima koji se tiču kalibracije kamere ili prepoznavanja objekata. Dizajnirani su da budu otporni na promjene osvjetljenja, skaliranje i rotaciju slike međutim imaju velike zahtjeve po pitanju memorije i sposobnosti računanja, stoga sistemi koji koriste lokalne značajke i deskriptore u procesu kalibracije ili raspoznavanju se najčešće izbjegavaju u embedded sistemima sa ograničenim resursima. Ipak, neophodno je razviti određene algoritme za ove sisteme, posebno da bi se obavio neki specifičan zadatak iz oblasti nadzora, naprimjer, prepoznavanje je važan alat pri uočavanju sumnjivih vozila, osoba ili objekata koji su opasni po sigurnost ljudi. Ovo čini razvoj sposbnosti prepoznavanja na embedded paltformama neophodnim, čak iako uključuje neke računrski kompleksne algoritme.

Naprimjer, posljednjih godina, pametne kamere se sve više primjenjuju u nadzoru

saobraćaja, kućnoj njezi, prepoznavanju pokreta pa je rješavanje problema samolokalizacije i samokalibracije veoma važno za mreže kamera. Oba zadatka zahtjevaju korespodenciju i prema tome, lokalne značajke i deskriptore. Očito je da je efikasnost algoritama baziranih na tačkama korespodencije jako ovisna o kvaliteti procesa prepoznavanja i tipu korištenih deskriptora. Iako primjena lokalnih osobina i deskriptora nije ograničena samo na zadatke kalibracije oni nisu u širokoj upotrebi u embedded sistemima recimo za prepoznavanje oblika. Ne postoji embedded sistem koji koristi algoritam prepoznavanja oblika baziran na lokalnim regijama od značaja i deskriptorima. Što se tiče korištenja detektora i deskriptora za tačke od interesa to je još uvijek nedovoljno istraženo područje koje je fokus brojnih istraživanja.

IZBOR ALGORITMA

Hardverska ograničenja i odabir kriterija

Hardverska platforma za koju je izvršen opis algoritama u nastavku je tipična popularna platforma koja se koristi u brojnim uređajima. Stoga, svi algoritmi opisani u nastavku rade na Texas InstrumentsTM TMS320C6414 DSP - 600 Hz, 1MB interne memorije, 16MB eksterne memorije.

Page 5: Using Robust Local Features on DSP2

Using Robust Local Features on DSP- Based Embedded Systems

U ovisnosti od zadatka, izazov je odabrati najbolji trenutno dostupni algoritam za najefikasnije rješavanje problema kada se uzmu u obzir hardverska ograničenja. Izbor algoritma, očito mora biti urađen u skladu sa specijalnim kriterijem koji je ovisan o primjeni. Algoritam koji se smatra najboljim izborom mora rezultirati sistemom koji je optimiziran u više aspekata. Za primjene koje će biti opisane u nastavku, pri dizajnu mora se uzeti u obzir više od jednog faktora. Za prepoznavanje objekata, važno je da su performance prepoznavanja dobre ( biranje dobrog tipa objekata) čak i pri štetnim uslovima, dok se vrijeme neophodno za prepoznavanje treba minimizirati. U drugom slučaju, za kalibraciju kamere, troškovi komunikacije između pojedinačnih kamera trebaju biti minimizirani, ali ukupan broj ispravnih tačaka korespodencije ( performansa podudaranja ) treba biti održan na visokom nivou da bi se zagarantovala dobra kalibracija.

U nastavku je opisan algoritam za rješavanje prethodno definisanih zadataka prepoznavanja oblika i kalibracije kamere, karakteristika prihvatljivih namjeni, koji osigurava najefikasnije rješavanje zadataka.

DoG Keypoints

DoG detektor može biti korišten za dobijanje preciznih ključnih tačaka s visokom stopom ponavljanja. DoG detector je uglavnom baziran na filtriranju slike Gaussovim filterom i diferenciranu rezultujuće filtrirane slike. Diferenciranje može biti shvaćeno kao aproksimacije Laplasijana s normalizovanom skalom.

Na ovaj način scale space1 se dijeli na više oktava i određuju se maksimum i minimum. Ovi ekstremi su ključne tačke koje indiciraju prisustvo struktura nalik grudvama u slikama. Dimenzija slike se dijeli sa 2 sa svakim duplanjem sigme kernela Gausovog filtera (nakon svake oktave) da bi se formirala početna slika za slijedeću oktavu. Za svaku ključnu tačku određuje se kružna regija čija veličina ovisi o faktoru skaliranja tokom prepoznavanja. Sumirajući gradijente na dijelu slike, određuje se smjer glavnog gradijenta i dodjeljuje kao orijentacija posmatranoj ključnoj tački.

Za DoG detektor može se reći da je zasnovana skoro samo na operaciji filtriranja slike i operaciji sabiranja/oduzimanja, što je jedna od njegovih prednosti. Efikasnost algoritmu u pogledu zahtjeva za memorijom daje pametan poredak filtriranja, a kako se embedded paltforme projektovane za operacije brzog filtriranja on je također veoma dobar za korištenje na DSP platformama.

Na posmatranom hardveru, zbog male vrijednosti interne memorije, filtirana i diferencirana slika se smjenjuju između ekstreme memorije i internog steka na DSP-u. Da bi se smanjio broj diferenciranih slika smještenih na stack-u tokom pretrage ekstrema, pretraga se obavlja na svakoj diferenciranoj slici nakon njenog kreiranja. Na ovaj način diferencirana slika može odmah biti odbačena a samo se informacije od značaja – vrijednost ekstrema zadržava. Za određivanje glavne orijentacije ključne tačke, posmatra se dio sa normalizovanom skalom oko ključne tačke na orginalnoj slici kojem je promjenjena dimenzija da bi odgovarao dužini trajanja koraka dodjeljivanja orijentacije. Nakon izračunavanja gradijenata na posmatranom dijelu određuje se orijentacija glavnog gradijenta

1 Scale space teorija je okvir za višedimeziono predstavljanje signala razvijeno za potrebe kompjuterske vizije,

obrade slike i signala. To je formalna teorija za rukovanje slikama na različitom nivou. Slike se predstavljaju

skupom slika nad kojima je izvršena smoothing operacija. Taj skup ima jedan parametar a to je scale parametar.

Page 6: Using Robust Local Features on DSP2

Using Robust Local Features on DSP- Based Embedded Systems

nalaženjem maksimuma histograma. Za sve lokalne vrhove koji imaju vrijednost bar 80% maksimuma kreira se nova ključna tačka sa istom vrijednosti i pozicijom ali drugačijom orijentacijom. Ovo značajno povećava stabilnost podudaranja ključnih tačaka u područjima s raznovrsnom teksturom s više dominantnih orijentacija.

MSER

MSER (maximally stable extremal regions – maksimalno stabilni vanjski regioni) je detektor regiona komplementaran DoG detektoru i baziran na traženju regiona koji posjeduju ekstremnu vrijednost funkcije intenziteta. Ukratko, MSER detektor traži regione koji su svijetliji ili tamniji od okoline i okružuje ih tamnijim odnosno svijetljijim pikselima (pozitivni i negativni regioni, respektivno).

Prije svega, pikseli se sortiraju u rastućem ili opadajućem nizu na osnovu vrijednosti intenziteta, u ovisnosti koji tip regiona će biti detektovan (pozitivan ili negativan). Niz piksela se sekvencijalno dodaje u union-find2 algoritam i stvara se struktura podataka u obliku drveta, gdje čvorovi sadrže informaciju o susjedstvu piksela kao i informaciju o vezama intenziteta. Na kraju, čvorovi koji zadovoljavaju set unaprijed postavljenih kriterija se izdvoje algoritmom koji u našem slučaju mora biti iterativni zbog strukturnih ograničenja hardvera.

Značajna osobina ovog algoritma je da ne zahtjeva nikakve aritmetičke operacije tipa floating point. Još jedna velika prednost je da je njegovo izvršavanje efikasno (bar na konvencionalnim desktop računarima) i da regioni koji trebaju biti izdvojeni nisu ograničeni u smislu oblika ili veličine, čak šta više moguće je izdvojiti regione i pri promjeni stanovišta zbog toga što su osobine ekstrema regiona u opštem slučaju robusne. Union-find algoritam kreira strukturu podataka oblika drvo i zbog toga rekurzivni algoritmi nisu pogodni na DSP platformama već se mora upotrijebiti interativni algoritam. Oblik drveta veoma zavisi od slike, zbog toga se vrijeme izvođenja algoritma ne može jednostavno procijeniti, štaviše potrebno je mnogo memorije za gradnju ovakve strukture podataka.

Postoji i drugi pristup za izračunavanje MSER koji se baziraju na više struktura podataka tipa drvo. Ovi algoritmi zahtjevaju mnogo instrukcija grananja koje također nisu baš pogodne za izvršavanje na DSP- Razlog zbog kojeg je MSER algoritam izabran da bude implementiran na DSP je njegova superiorna performanca za uočavanje prepoznatljivih regiona jednostavno nadjačava sve njegove nedostatke. Nedostatak ove metode je da se moraju računati dva deskriptora za svaki region, jedan za 0◦ i drugi za 180◦ zbog dvosmislne orijentacije elipse. Također kada vrijeme izvršavanja nije kritični faktor, MSER algoritam još uvijek može biti vrijedan izbor.

PCA-SIFT

Ovaj deksriptor ima manje zajedničkih svojstava sa orginalnim SIFT deksriptorom nego što se na prvi pogled čini. Orginalni SIFT deskriptor je histogram orijentiranih gradijenata, koji se sumiraju sa 16 pravougaonih regija da bi dobili 128-dimenzioni deskriptor. Ke i Sukthankar su izračunali PCA eigenspace na gradijentu od reprezentativnih 20,000 slika da bi našli kompaktniji deksriptor koji bi sačuvao maksimalan broj informacija u svom sadržaju. Deskriptor dijela nove slike se kreira projektovanjem gradijenta dijela slike

2 Union-find algoritam je algoritam koji izvršava dvije korisne operacije nad strukturom podataka, kao što su: FIND - odredi u kojem je podskupu posmatrani element. Ovo može biti korišteno pri određivanju da li dva elementa pripadaju istom podskupu; UNION – Spoji dva podskupa u jedan;

Page 7: Using Robust Local Features on DSP2

Using Robust Local Features on DSP- Based Embedded Systems

preračunatog na eigenspace zadržavajući samo d najznačajnijih eigenvektora. Prvo, algoritam se uglavnom sastoji od opeacija množenja-sumiranja (MAC) koje veoma dobro odgovaraju osobinama embedded platforme. Drugo, deskriptor je mnogo kozistentniji zbog toga što su Ke i Sukthankar pokazali da d=36 dimenzionalni deskriptor pokazuje istu diskriminatornu snagu kao i 128 dimenzionalni SIFT deskriptor. Treća velika prednost je da je dalje smanjivanje d rezultira u samo malom gubitku diskriminatorne moći, samim tim čineći deskriptor također reduciranim za faktor od ≥ 4, zato što je manja količina memorije potrebna za pohranjivanje individualnih deksriptora. Na kraju, primjena u mreži pametnih kamera, korištenjem PCA-SIFT deskriptora prije nego SIFT deskriptora rezultira poželjnijim efektima prije svega zbog smanjenja troškova prenosa sirovih deskriptora za faktor≥ 4. U našem slučaju, dio slike s normalizovanom skalom, koji predstavlja istu dimenziju kao predloženi orginalni se estrahuje iz orginalne slike i rotira da odgovara specifičnoj orijentaciji. Dimenzija je izabrana da možemo koristiti iste koeficijente kao Ke and Sukthankar. Zatim se vrši konverzija njihove eigenspace matrice projekcije u fixed point verziju. Na ovaj način možemo koristiti prednosti računanja sa fixed point tipom na posmatranoj platformi.

Dimenzionalnost rezultirajućeg deskriptora d može biti prilagođena što ostavlja na izbor između diskriminatorne moći i krajnjih performansi prepoznavanja, ali također između većih ili manjih troškova računanja. Konačni deskriptor je d-dimenzinalni vektor elemenata veličine 1byte.

Descriptor Matching Podudaranje deskripotora

Važan dio većine sistema koji primjenjuju lokalna obilježja je proces podudaranja deskriptora. Obezbjeđivanje efikasnog podudaranja deskriptora je izazov za sebe i zahtjeva primjenu metrike udaljenosti. Posebno popularna metrika je Euklidska udaljenost, koja je definisana slijedećim izrazom:

gdje su X i Z vektori dužine N, xi, zi su i-ti elementi vektora X, Y respektivno. Podudaranje deksriptora je relativno skup proces. Jednostavna iscrpna pretraga je kompleksnosti reda O(nmd)

gdje je n broj deskriptora u memoriji, m broj desktriptora koji se trebaju podudariti i d dimenzija vektora deskriptora. Da bi se smanjilo opterećenje pri izračunavanju može se smanjiti veličina d koristeći kd-grane, a korištenje algoritma zasnovanog na aproksimaciji najbližim susjedom je drugi način. Iako linearna iscrpna pretraga može biti efikasno implementirana kada se uzmu u obzir svojstva embedded hardvera, računanje je to koje je skupo. Iscrpno podudaranje deskriptora u memoriji je nepraktično za memorije sa više od nekoliko stotina deskriptora.

Unatoč prihvatljivim prednostima drvolike strukture podataka za rješavanje zadatka, postoji jedan veliki problem njenog korištenja na embedded sistemima. Ovisnost podataka o kontroli protoka i upravljački kod koji sadži slučajne podatke o stanju je predominantan za implementaciju u ovom pristupu. Tada nema potrebe napomentu da ovaj mehanizam ne može efikasno biti izvršen na DSP-u.

Epipolar Geometry Epipolar Geometrija

Page 8: Using Robust Local Features on DSP2

Using Robust Local Features on DSP- Based Embedded Systems

Suštinska projektivna geometrija između dvije tačke naziva se epipolarna geometrija. Ovisi jedino o unutrašnjim parametrima kamere i relativnoj poziciji. Epipolarna geometrija je neovisna o strukturi scene i sadržana je u takozvanoj fundamentalnoj matrici F dimenzije 3x3 drugog reda.

Za računanje epipolarne geometrije između para slika moraju se uspostaviti tačke korespodencije između dvije slike. Nakon odabira dovoljno robusnih tačaka korespodencije moguće je izračunati unutrašnje parametre kamere i procijeniti fundamentalnu matricu F gdje je (x,)T Fx = 0 i x, i x su korespodentna obilježja na prvoj i drugoj slici respektivno. Da bi se postigla visoka podudarnost, tačke korespodencije u opštem slučaju trebaju biti uniformno raspodjeljenje. Za mala preklapanja, moraju se koristiti druge metode. Ipak za većinu slučajeva jedan od najjednostavnijih a ipak najefikasnijih načina za procjenu F je normalizirani 8-point algoritam. S ciljem rukovanja s mnogo mogućih odstupanja u iterativnom postupku koristi se RANSAC metoda (RANdom SAmple Concensus). Za n iteracija RANSAC nasumice uzima 8 tačaka i izračunava fundamentalnu matricu koristeći 8-point algoritam. Nakon toga se računa udaljenost d za svaku navodnu korespodenciju. Potom se određuje broj mogućih odstupanja u skladu s F. Konačno, bira se F s najvećim brojem odstupanja. Iz razloga što je računanje fundamentalne matrice jako osjetljivo za odstupanja, potreban je robusni algoritam za detekciju odstupanja. Dobre osobine algoritma za detekciju odstupanja baziranog na RANSAC metodi je ta što nije računski skup i ne zahtjeva mnogo memorije za pohranu podataka.

EKSPERIMENTI

U nastavku će biti izvršena procjena algoritma na dva izazovna zadatka, kalibracija kamere i prepoznavanje objekata. Prvo će biti opisan set podataka i probnih postavki, zatim će biti predstavljen proračun vremena za svaki odvojeni modul na embedded (ugradivoj) platformi te će biti prodiskutovani rezultati algoritama.

Podešavanje kamere

Podešavanje kamere se se obično mora uraditi jednom tokom razvoja. Vrijeme podešavanja nije bitan faktor, ,nogo je bitnije da je broj tačaka sličnosti dovoljno velik, i da glavni iznos tačaka sličnosti tačan. Povrh svega, u mreži kamera veoma je bitno minimizirati ukupan broj podataka koji se prenose.

Podešavanje sistema

Otkako je dokazano da je MSER detektor dobar izbor za zadatke podešavanja velikog broja postavki kamere, u ovom seminarskom radu odabran je zadatak kalibracije kamere kako bi ispitali njegove mogućnosti zajedno sa PCA-SIFT deskriptorom na posmatranoj platformi. Ograničavajući factor ovog zadatka je veličina i rezolucija slike.

U jednu ruku teško je podešavati pomoću niske rezolucije slike a u drugu ruku, korištenje slika velike rezolucije rezultuje veću potrošnju memorije, što je bitno na ugradivim sistemima, prema tome smo odlučili da razdvojimo slike rezolucije 680×510 koje su prikazane na slici 4.1. na 4 pločice svaka veličine 352×288 sa malom površinom preklapanja.

Page 9: Using Robust Local Features on DSP2

Using Robust Local Features on DSP- Based Embedded Systems

Slike su razdvojene pod uglom gledanja od otprilike 30°. Mioramo biti svjesni da ovo podešavanje nije široko niti pruža dobar model za dokazivanje snage MSER algoritma detekcije zajedno sa robusnim (snažnim) algoritmom za podešavanje. U svakom slučaju demonstriramo pristup pa zato nismo izabrali složeniji opis. Osim toga uobičajeno je razdvajiti slike na manje dijelove ako je memorija i resursi računara ograničeni, pa prema tome ovakvo podešavanje omogućava obradu i pokretanje našeg framework (strukture) bez mnogo dodatnih programiranja.

Slika 4.1. Smanjene slike u prvom redu. Preklopljenje elipse za detektovanje MSER regiona u drugom i trećem redu za pozitivne i negativne regione, respektivno.

Slike su razdvojene pod uglom gledanja od otprilike 30°.

Ovdje će biti obrađena oba seta slika sekvencijalno na jednoj instance platform. Nakon računanja pozitivnih i negativnih MSER-ova, računamo PCA-SIFT deskriptore na iskrivljenim dijelovima za oba tipa regiona posebno. Također je urađeno naknadno prilagođavanje deskriptora za svaki tip posebno kako bi se izbjeglo dodatno pogrešno podudaranje. Deskriptori su usklađeni korištenjem iscrpnih pretraživanja i uspostavljene su tačke navodnog podudaranja (korespodencije). Algoritam računanja RANSAC, zasnovan na osnovnoj matrici, konačno je korišten za otklanjanje outlier-a i računanje epipolar geometrije na paru slika, slika 4.2.

Slika 4.2. Scenario podešavanja na kojem smo proračunali osnovnu matricu i tri odgovarajuće epipolar linije.

Page 10: Using Robust Local Features on DSP2

Using Robust Local Features on DSP- Based Embedded Systems

Rezultati podešavanja

Na slici 4.1. rezultati MSER detekcije na dva uzorka pločica para slike za pozitivne i negativne regione su prikazani razdvojeno. Algoritam za detekciju je nabrojao iste dijelove na obe slike kao zanimljive regione. U eksperimentu koji opisujemo algoritam je detektovao 951 regiona na prvoj slici i 976 regiona na drugoj slici, respektivno. Na slici 4.2. tri odgovarajuće epipolar linije su preklopljene na slikama za testiranje podešavanja. Prosječna ponovljivost grešaka je u opsegu od nekoliko piksela.

Rezultati podešavanja vremena

U tabeli 4.1. su prikazani rezultati podešavanja vremena za eksperimentalnu implementaciju detektora. Algoritam prepoznavanja na slikama daje rezultate koji su bazirani na prosječnoj detekciji od 358 regiona po slici i 597 deskriptora3. Ukupno vrijeme potrebno za podešavanje para slika sa kompletnim okvirom za kalibraciju nije prikazano a razlog tome je da potreban raspon vremena u velikoj mjeri zavisi o podacima slike, a to je broj deskriptora koji se podudaraju i posebno broj RANSAC iteracija potrebnih za snažnu identifikaciju i odbacivanje outlier-a. Za posmatrani scenario kalibrisanja, eksperimentalni sistem manje od minute da proračuna epipolarnu geometriju.

Vrijeme izvršavanja svih dijelova MSER algoritma detekcije u mnogome zavisi od podataka slike, štaviše nešto je sporije nego DoG detektor, zbog svog toka rada algoritma. Slučajni pristup memoriji, neophodan za povezane liste, i drvo kao oblik strukture podataka razjedinjuje prednosti arhitekture platform i algoritma. Pored toga, MSER je jedan od najpopularnijih pristupa i pokazano je da se vrlo dobro izvršava za ovaj zadatak. S obzirom na činjenicu da je podešavanje kamere obavljeno samo jednom tokom podešavanja, vrijeme potrebno za detekciju nije kritično i prema tome algoritam može biti korišten za ovu namjenu.

Tabela 4.1. Rezultati podešavanja vremena za MSER algoritam detekcije.

Rezultati su dobijeni detektovanjem pozitivnih ili negativnih regiona odvojeno za otprilike 358 (pozitivnih ili negativnih) regiona i prosječan broj deskriptora 597.

3 Deskriptori se računaju samo na regionima za koje je izdvojeni dio slike potpuno leži na originalnoj slici. Prema tome prosječan broj deskriptora nije veći od duplog broja pronađenih regiona.

Page 11: Using Robust Local Features on DSP2

Using Robust Local Features on DSP- Based Embedded Systems

Prepoznavanje objekata

U ovoj aplikaciji razvijena je baza podataka srednje veličine za ugradivi sistem. Baza podataka slike je dio javno dostupne ALOI (Amsterdam Library of Object Images) baze podataka iz Geusebroek-a (Slika 4.3. prikazuje neke uzorke slika). Izabrali smo 250 objekata od 1000 koji imaju najveći broj DoG tačaka. Glavni razlog za to je razvijanje baze podataka objekata srednje veličine na posmatranom sistemu što je izazov ali u većoj mjeri zato što baza podataka sadrži puno objekata koji ne mogu biti dovoljno zastupljeni koristeći DoG zasebne tačke. Da bi se prevazišao ovaj problem može se koristiti više različitih detektora, ali za sada ovo pitanje ostaje otvoreno.

Sve slike objekata su smanjene na CIF rezoluciju (352×288), za obuku, kao i za ocjenjivanje rada našeg sistema. Za korištenje baze koristili smo sve deskriptore sa korakom od 15°, dok smo računali rezultate sa srednjim korakom od 5°. Obuka sistema za prepoznavanje objekata je izvršena na standardnom desktop računaru koristeći programski paket MATLAB. Poslije izgradnje vocabulary tree učitali smo platformu pametne kamere, gdje se izvode sve daljnje procjene. Riječnik i struktura drveta su prikazani kao sirovi objekti podataka u memoriji koji su dostupni pokazivačima za prevođenje za binarno izvršavanje na platformi. Binarni program za prepoznavanje objekata je napravljen koristeći Code Composer Studio 3.2 Texas Instruments i učitan zajedno sa svim neophodnim buffer-ima podataka koristeći JTAG emulator uređaja. Tokom procjene, slike su predstavljene algoritmu, koji izdvaja lokalne karakteristike, izračunava deskriptore i traži sličnosti u vokabularu drveta, i konačno vraća ID najbolje podudarenog objekta.

Slika 4.3. Podskup od 250 objekata u bazi podataka iz ALOI (Amsterdam Library Object Images) gledano od 0°.

Za stablo riječi, za sve eksperimente k je odabrano da bude 2, što znači da je svako stablo vokabulara sa binarnim odlučivanjem. Bez gubitka općenitosti k može biti proizvoljno da razmjenjuje stablo riječi u praksi protiv troškova proračuna i preciznosti. Iako su Nister and Stewenius pokazali da veliko k je bolje za performance prepoznavanja, izbor od k=2 je inspirisan implementacijom vocabulary tree i susjednog upita. Ako je k=2, upit o stazi deskriptora na stablu riječi može biti implementiran jednostavnim if −then−else iskazima. Odabirom većeg k bi rezultovalo složenijom strukturom upravljanja.

U ovom pristupu izračunali smo udaljenosti u funkciju prostora koristeći sumu kvadrata udaljenosti (SSD). Pri tome parcijalna određivanja elemenata se ne mijenju (što u suštini znači da se ne utječe na rezultat glasanja), međutim, možemo izostaviti računanje kvadratnih korijena koji je računarski skup zadatak na našem ugradivom sistemu.Zbog ograničenja memorije smo dalje pretpostavili da je kritična granica za našu bazu podataka koja je smještena u eksternoj memoriji platforme iznosi 12.5 MB, kao što nam treba dio memorije za smještanje ostalih buffer-a podataka.

Page 12: Using Robust Local Features on DSP2

Using Robust Local Features on DSP- Based Embedded Systems

Kreiranje i upravljanje stablom riječi

Stablo riječi dobijeno procedurom opisanom iznad sadrži veliku količinu informacija, ali je preveliko da zadovolji naša memorijska ograničenja. Zbog robusnosti pristupa lokalnih karakteristika bazi dosta suvišnih informacija može biti otklonjeno. Najefikasniji način da se ovo postigne je da se drvo ‘’okreše’’ i zamjenom pojedinačnih glasova sa ‘’okresanim listovima’’. Drugim riječima ako listovi stabla ispunjavaju dati kriterij padaju u pojedinačne koji sudjeluju za nekoliko objekata. Imajte na umu da postoji jaka veza stabla odlučivanja u mašinskom učenju, gdje se ‘’kresanje’’ koristi za dobijanje bolje generalizacije. Mi koristimo strategiju da su sva podstabla sa već određenim brojem i unutrašnjih čvorova ‘’okresana’’ (uproštena). Ovu metodu oslovljavamo kao skraćivanje osnovnog nivoa. Primjer ove ideje je prikazan na slici 4.4.

Na slici 4.5. je prikazan uticaj metode skraćivanja osnovnog nivoa i rezultirajući nivo performansi. Na slici 4.6. je prikazana veličina rezultujućih baza podataka. Kao što se može vidjeti, skraćivanje osnovnog nivoa samo malo utječe na prepoznavanje performansi, ali ima glavni utjecaj na veličinu baze podataka. Za slijedeće eksperimente smo odabrali deskriptore veličine 28 i metodu skraćivanja osnovnog nivoa nivoa 2. Na taj način smo generisali bazu podataka sa oko 12.1 MB, dalje zadržavajući prosjek prepoznavanja na oko 90,6%. Ovo podešenje je korišteno za generisanje slijedećih rezultata.

Identifikacija performansi

Da bi pokazali snagu metode skraćivanja osnovog pristupa stablu riječi, procjenjena je identifikacija performansi našeg sistema za različite dimenzije PCA-SIFT deskriptora bez pozadinskog šuma. Rezultati su prikazani na slici 4.7.

Performanse blago opadaju sa smanjenjem broja dimezija. Da bi simulirali pozadinski šum projicirali smo slike objekata na različitim slikama pozadine, koje su prikazane na slici 4.9. Neki rezultati uzoraka projekcije su prikazani na slici 4.10. Kao što se može lako vidjeti, neki objekti su veoma mali pa tako zauzimaju manje od 20% ukupne površine slike. Na slici 4.8. je identifikacija performansi za četiri različite sliek pozadine odabrano podešenje (PCA-SIFT veličine 28, skraćivanje nivo 2). Lako je vidjeti da je pristup performansama najbolji na slici mora kaoi većini dijelova slike sa niskom strukturom. Na svim ostalim slikama, ovaj pristup se obavlja skoro jedano dobro, sa prosječnom nivoom prepoznavanja od otprilike 68% preko cijelog opsega gledišta.

Rezultati podešavanja vremena i profil memorije

Da bi testirali konačne performance algoritma na posmatranoj platformi izmjerili smo prosječno vrijeme potrošnje svakog koraka i procjenili količinu memorije za svaki pojedinačni zadatak. Pristup smo podijelili na nekoliko poglavlja koji su prikazani u tabeli 2.

Razmjena prostora za generisanje koraka koji se sastoji od filtriranja slike i umanjivanja slike, zauzima konačan iznos kompjuterskog vremena zato što ne postoji zavisnost o podacima koje procesira. Svi ostali koraci pristupanja zavise o broju DoG tačaka pronađenih u minimalnom/maksimalnom traženju i učitanih u orijentacioni korak zadatka (orientation assignment step). Rezultati podešavanja vremena za računanje deskriptora (descriptor calculation) i koraka pitanja stabla riječi (vocabulary tree query) su zasnovani na

Page 13: Using Robust Local Features on DSP2

Using Robust Local Features on DSP- Based Embedded Systems

računanjima potrebnih za 100 DoG tačaka. Imajte na umu da je razuman opseg 50-200 tačaka. Visoka standardna devijacija u orjentacionoj dodjeli (orientation assignment) je zbog mogućnosti da bi mogli kreairati više ključnih tačaka ili ih odbaciti in a taj način vrijeme za dodjelu orjentacije varira drastično.

Slika 4.4 Skraćivanje osnovnog nivoa sa sa predefinisanim brojem i nivoa

Slika 4.5 Uticaj metode skraćivanja osnovnog nivoa i rezultirajući nivo performansi za različite parameter podešavanja

Slika 4.6 Veličina baze podataka za strategija potkresivanja viših nivoa. Granična veličina je prikazana kao ploha

Page 14: Using Robust Local Features on DSP2

Using Robust Local Features on DSP- Based Embedded Systems

Slika 4.7 Prepoznavanje performansi za različite veličine PCASIFT deskritptora. Performanse blago opadaju sa smanjivanjem broja dimenzija.

Tabela 4.3. Potrošnja memorije za svaki poseban korak algoritma.

Veličina bafera podatka drži završni deskriptor koji se temelji na 28-dimenzionalnom deskriptoru korištenom u našem podešavanju i brzinu detekcije od 100 deskriptora. U tabeli 4.3. je prikazana pojedinačna veličina baffer-a podataka. Zbog fiksnog razmaka u razmjeri i fiksnog broja oktava, “scale space” zauzima fiksnu vrijednost od 1386 kB. Veličina bafera podataka koji sadrži matricu transformacije za PCA-SIFT deskriptore iznosi oko 219 kB. Ukupna količina memorije potrebna za smještanje deskriptora linearno raste sa njihovim brojem. Veličina bafera podatka koja sadrži stablo riječi je određena parametrima odabranih tokom konstrukcije stabla. Veličina bafera podatka za naše stablo je oko 12.1 MB. Implementirali smo gotovo sve dijelove pristupa kao fiksne tačke jer je to u osnovi potrebno za algoritme da se izvode u prihvatljivom vremenu na našoj platformi.

Slika 4.9 Četiri različite slike pozadine na osnovu kojih smo projicirali objekte za dalji izazov našem sistemu za prepoznavanje

Page 15: Using Robust Local Features on DSP2

Using Robust Local Features on DSP- Based Embedded Systems

Slika 4.10 Rezultati projekcije. Ukupan iznos pozadinskog šuma je velik. Neki objekti sami zauzimaju manje od 20% površine slike (352×288 piksela).

Page 16: Using Robust Local Features on DSP2

Using Robust Local Features on DSP- Based Embedded Systems

Zaključak

U ovom seminarskom radu prikazano je ispitivanje seta lokalnih karakteristika i njihove pogodnosti za ugradive sisteme. Koristili smo “state-of-the-art” (savršene) detektore, MSER i DoG, za odabir interesatnih regiona, i kombinirajući ih sa jednim od najviše obećavajućih deskriptora, PCA-SIFT deskriptora. Svi algoritmi su u potpunosti implementirani i testirani na pojedinačnom čipu koji čini osnovu ugradive platforme i njihove pogodnosti su prikazane na popularnim zadacima podešavanja kamere i prepoznavanje objekata.

Time se dodatno sužava procjep između visokog nivoa savršenstva (“state of tha art”) i ugradivih sistema sa ograničenim resursima. Eksperiment koji je opisan preuzet je iz knjige Springer Embedded Computer Vision, poglavlje 4.

Kako je primjena pametnih kamera sve više prisutna u svakodnevnom životu mnogo pitanja iz ove oblasti i dalje stoji neodgovoreno te rezultiraju brojnim istraživanjima koja će iznjedriti ne samo boljim algoritmima za postojeće primjene već otvoriti put novim aplikacijama. Cilj ke iskoristiti bolje deskriptore regiona kao što su lokalni afini okviri kako bi se omogućilo širokopojasno kalibrisanje i lokalizacija. U smislu prepoznavanja objekata cilj je algoritme probati na mobilnim uređajima kao štu su PDA uređaji i kamere na mobilnim telefonima. Da bi algoritmi za prepoznavanje oblika postali alat za svakodnevnu upotrebu potrebno je da su algoritmi barem djelomično korisni na već postojećim uređajima.

Primjer

1. DoG – Difference of Gaussians

M- file koji smo koristili za 2 Gaussian filtera:

k = 10;sigma1 = 0.5 ; //default vrijednostsigma2 = sigma1*k; hsize = [3,3]; //default vrijednost h1 = fspecial('gaussian', hsize, sigma1);h2 = fspecial('gaussian', hsize, sigma2); gauss1 = imfilter(I_GS,h1,'replicate');gauss2 = imfilter(I_GS,h2,'replicate'); dogImg = gauss1 - gauss2;

h = fspecial('gaussian', hsize, sigma) – vraća simetrični Gaussianov filter veličine hsize sa standardnom devijacijom sigma. Hsize može biti vektor koji određuje broj redova i kolona, ili može biti skalar, u tom slučaju h je simetrična matrica Default vrijednost hsize je [3,3] , default vrijednost za sigmu je 0.5.

Page 17: Using Robust Local Features on DSP2

Using Robust Local Features on DSP- Based Embedded Systems

fspecial vraća h kao korelacioni kernel što je odgovarajući oblik za korištenje sa imfilter-om.

B = imfilter(A,h) – filtrira višedimenzionalni niz A sa višedimenzionalnim filterom h. Niz A može biti logički ili ne numerički čiji redovi mogu biti bilo koje klase ili dimenzije. Rezultat B je iste veličine i klase kao i A.

U primjeru smo koristili vrijednost hsize = [7,7]; i dodatni kod crtaj.m :

I=imread('kuca.jpg');

Im=rgb2gray(I);

D=255-dogImg;

imshow(D)

i dobili smo slijedeće :

Slika 1. RGB slika

Slika 2. Grayscale slika

Slika 3. Difference of Gaussians

Page 18: Using Robust Local Features on DSP2

Using Robust Local Features on DSP- Based Embedded Systems

2. MSER regions

REGIONS = detectMSERFeatures(I); - vraća MSER regije objekta. REGIONS sadrži informacije o MSER osobinama detektovanim na 2-D grayscale slici I. Ovaj objekat koristi Maximally Stable Extremal Regions (MSER) algoritam da nađe regije.

REGIONS = detectMSERFeatures(D);

plot(REGIONS)

Slika 4. MSER regije

imshow(I) hold onplot(REGIONS)

-200 0 200 400 600 800 1000-100

0

100

200

300

400

500

600

700

800

Page 19: Using Robust Local Features on DSP2

Using Robust Local Features on DSP- Based Embedded Systems

Slika 5. RGB slika sa označenim MSER regijama