710 likes | 916 Views
Govorne in slikovne tehnologije. Področja uporabe Prof. dr. France Mihelič Doc. dr. Vitomir Štruc. prosojnice pripravila: as.dr. Vitomir Štruc, prof.dr.France Mihelič. Vsebina. Področja uporabe Šivanje slik SIFT SURF Detekcija objektov Viola-Jones Drugi detektorji.
E N D
Govorne in slikovne tehnologije Področja uporabe Prof. dr. France Mihelič Doc. dr. Vitomir Štruc prosojnice pripravila: as.dr. Vitomir Štruc, prof.dr.France Mihelič
Vsebina • Področja uporabe • Šivanje slik • SIFT • SURF • Detekcija objektov • Viola-Jones • Drugi detektorji Vir slik: http://www.vrmag.org/issue28/ADVANCED_PANORAMIC_STITCHING_-_A_REASONED_APPROACH.html, http://people.kyb.tuebingen.mpg.de/kienzle/fdlib/fdlib.htm
Področja uporabe • Primeri, ki si jih bomo ogledali: • Šivanje slik (Laboratorijska vaja 2) • Detekcija objektov • Razpoznavanje objektov • Segmentacija Janez
Šivanje slik • S postopkom šivanja slik (angl. imagestitching) želimo sestaviti večjo sliko (mozaik) iz množice manjših slik iste scene Vir slik: http://graphics.cs.cmu.edu/courses/15-463/2005_fall/www/463.html
Šivanje slik • Omogoča prikaz večjega področja določene scene • Primeri: • Komercialne kamere, vidno polje = 50 x 35° Vir slik: http://graphics.cs.cmu.edu/courses/15-463/2005_fall/www/463.html
Šivanje slik • Omogoča prikaz večjega področja določene scene • Primeri: • Komercialne kamere, vidno polje = 50 x 35° • Človeško vidno polje = 200x135° Vir slik: http://graphics.cs.cmu.edu/courses/15-463/2005_fall/www/463.html
Šivanje slik • Omogoča prikaz večjega področja določene scene • Primeri: • Komercialne kamere, vidno polje = 50 x 35° • Človeško vidno polje = 200 x 135° • Mozaik = 360 x 180° Vir slik: http://graphics.cs.cmu.edu/courses/15-463/2005_fall/www/463.html
Šivanje slik • Osnovni pristop • Zajemi slike določene scene z istega položaja • Izračunaj transformacijo med drugo in prvo sliko tako, da enaki objekti na obeh slikah sovpadajo • Preslikaj drugi sliko z izračunano transformacijo (poravnava) • Združi obe sliki v skupni mozaik • Ponovi, dokler ne uporabiš vseh slik Ravnina zajema slike Ravnina mozaika Vir slik: http://graphics.cs.cmu.edu/courses/15-463/2005_fall/www/463.html
Šivanje slik • Pri sestavljanju mozaika posamezne slike preslikamo na skupno ravnino • Mozaik tvorimo na tej ravnini • Mozaik „predstavlja“ sintetično široko-kotno kamero Projekcijska ravnina Vir slik: http://graphics.cs.cmu.edu/courses/15-463/2005_fall/www/463.html
Šivanje slik • Zahteva samodejne algoritme za: • Iskanje ujemanja objektov na parih slik, npr. • Z lokalnimi deskriptorji • SIFT (angl. ScaleInvariantFeatureTransform) • SURF (angl. Speeded Up RobustFeature) • Izračun transformacijske matrike • RANSAC
Šivanje slik • Zahteva samodejne algoritme za: • Iskanje ujemanja objektov na parih slik, npr. • Z lokalnimi deskriptorji • SIFT (angl. ScaleInvariantFeatureTransform) • SURF (angl. Speeded Up RobustFeature) • Izračun transformacijske matrike • RANSAC
Šivanje slik • Iskanje ujemanja objektov na parih slik • Postopek: • Detektiraj značilne točke slike v vsaki od slik • Poišči ujemajoče pare • Problem 1: • Kako poiskati enake značilne točke v vsaki od slik? Ujemanja ni Potrebujemo učinkovit in ponovljiv postopek detekcije značilnih točk slike Vir slik: http://people.csail.mit.edu/torralba/courses/6.869/6.869.computervision.htm
Šivanje slik • Problem 2: • Kako poiskati ujemanje med detektiranimi značilnimi točkami slik? ? Potrebujemo zanesljiv in diskriminatoren opis detektirane značilne točke (deskriptor, vektor značilk, …) Vir slik: http://people.csail.mit.edu/torralba/courses/6.869/6.869.computervision.htm
Šivanje slik • Lokalni deskriptorji - osnove • Problem iskanja ujemanja pogosto rešujemo s pomočjo lokalnih deskriptorjev (SIFT, SURF, …) • Postopki za izračun lokalnih deskriptorjev obsegajo postopke za: • Detekcijo značilnih točk v slikah (angl. keypointdetector) • Izračun dejanskega deskriptorja (vektorja značilk) • Določitev ujemanja med pari deskriptorjev • Lokalni deskriptorji se uporabljajo za: • Poravnavo slik • 3D rekonstrukcijo • Sledenje objektov v videu • Razpoznavanje objektov • Navigacijo robotov • … Vir slik: http://adrian-primeproject2011.blogspot.com/2011_07_01_archive.html
Šivanje slik • Lokalni deskriptorji - SIFT • SIFT1 (angl. ScaleInvariantFeatureTrasform) deskriptorji spadajo med pogosteje uporabljene lokalne deskriptorje, ki se uporabljajo za določanje ujemanja objektov slik • SIFT deskriptorji so invariantni na različne spremembe v sliki, npr.: • Translacijo, • Rotacijo, • Velikost, • Perspektivo (delno), • … • SIFT zaščiten s patentom • SIFT v praksi: v digitalnih fotoaparatih pri sestavljanju panoramskih slik • V primerjavi z drugimi lokalnimi deskriptorji so SIFTi pogosto učinovitejši (večja diskriminatornost, boljša ponovljivost, …) Vir slik: http://people.csail.mit.edu/torralba/courses/6.869/6.869.computervision.htm • 1David Lowe (1999): "Object recognition from local scale-invariant features"
Šivanje slik • Lokalni deskriptorji - SIFT • Postopek izračuna: • Detekcija značilnih točk slike • Iskanje ekstremov v prostoru ločljivosti • Lokalizacija značilnih točk • Določitev orientacije značilne točke • Izračun deskriptorja Vir slik: http://people.csail.mit.edu/torralba/courses/6.869/6.869.computervision.htm
Šivanje slik • Lokalni deskriptorji - SIFT • Detekcija značilnih točk slike • Postopek detekcije značilnih točk mora na sliki poiskati enake značilne točke ne glede na velikost objektov na sliki • Poiskati moramo torej značilno ločljivost oz. velikost okolice značilne točke Realni primer Ilustrativno Značilne točke slike Vir slik: mis.hevra.haifa.ac.il/~ishimshoni/MVG/SIFT_KA.ppt, www.cs.cmu.edu/~efros/courses/.../0319.SIFT.ppt
Šivanje slik • Lokalni deskriptorji - SIFT • Detekcija značilnih točk slike • Za ilustracijo predpostavimo različna (krožna) področja v okolici izbrane točke • Področja bodo po izgledu enaka ob pravilni izbiri velikosti okolice Vir: http://people.csail.mit.edu/torralba/courses/6.869/6.869.computervision.htm
Šivanje slik • Lokalni deskriptorji - SIFT • Detekcija značilnih točk slike • Težava: kako določiti velikost področij (neodvisno) v vsaki sliki posebej Vir: http://people.csail.mit.edu/torralba/courses/6.869/6.869.computervision.htm
skaliranje= 1/2 Slika 1 f f Slika 2 Velikost področja Velikost področja Šivanje slik • Lokalni deskriptorji - SIFT • Detekcija značilnih točk slike • Rešitev: načrtamo funkcijo na področju v okolici izbrane točke, ki je neodvisna od velikosti okolice • Primer: POVPREČNA SVETILNOST slikovnih elementov področja • Za izbrano točko v sliki, lahko povprečje svetilnosti področja prikažemo kot funkcijo velikosti področja Vir: http://people.csail.mit.edu/torralba/courses/6.869/6.869.computervision.htm
skaliranje= 1/2 Slika 1 f f Slika 2 s1 s2 Velikost področja Velikost področja Šivanje slik • Lokalni deskriptorji - SIFT • Detekcija značilnih točk slike • Klasični postopek: poišči lokalni maksimum izračunane funkcije • Velikost področja, pri kateri se pojavi maksimum je neodvisna od velikosti slike (angl. scaleinvariant) • Pomembno: od velikosti neodvisna velikost krožnega področja se poišče v vsaki sliki posebej (neodvisno) Vir: http://people.csail.mit.edu/torralba/courses/6.869/6.869.computervision.htm
Šivanje slik • Lokalni deskriptorji - SIFT • Detekcija značilnih točk slike • V praksi so „dobri“ kandidatke za izbiro funkcije f tiste funkcije, ki se odzivajo na kontrast slike • Primer: f = jedro*slika • Jedro (kernel, filter, maska): • Laplace • DoG • Oba jedra sta invariantna na: • velikost (angl. scale) • rotacijo Vir: http://people.csail.mit.edu/torralba/courses/6.869/6.869.computervision.htm
Šivanje slik • Lokalni deskriptorji - SIFT • Detekcija značilnih točk slike • Detekcija značilnih točk postopka SIFT zato išče ekstreme v prostoru ločljivosti (velikosti) – angl. scale-space G1 Primer Gaussovega prostora ločljivosti (velikosti) , za s korakom 0.6 G5 Vir slik: mis.hevra.haifa.ac.il/~ishimshoni/MVG/SIFT_KA.ppt
scale DoG y x DoG Šivanje slik • Lokalni deskriptorji - SIFT • Detekcija značilnih točk slike • Za detekcijo značilnih točk se uporablja DoG1 prostor ločljivosti (velikosti) Iščemo ekstreme 3D prostora ločljivosti Podvzorčenje Glajenje z Gaussov prostor ločljivosti (velikosti) DoG prostor ločljivosti (velikosti) Vir slik: mis.hevra.haifa.ac.il/~ishimshoni/MVG/SIFT_KA.ppt • 1DoG – angl. DifferenceofGaussians
Šivanje slik • Lokalni deskriptorji - SIFT • Detekcija značilnih točk slike • Za detekcijo značilnih točk se uporablja DoG1 prostor ločljivosti (velikosti) • Opazovano točko izberemo kot značilno točko slike, če je večja ali manjša od vseh 26 sosedov (elementov v okolici 3x3x3) Vir slik: mis.hevra.haifa.ac.il/~ishimshoni/MVG/SIFT_KA.ppt
Šivanje slik • Lokalni deskriptorji - SIFT • Detekcija značilnih točk slike • Primer detektiranih po detekciji ekstremov v DoGprostou ločljivosti: • Predstavljeni postopek na slikah najde veliko število značilnih točk, med katerimi so nekatere „nestabilne (neponovljive)“ zaradi: • nizkega kontrasta (občutljivost na šum), • lege na robovih slike (težko določiti kje na robu se nahajamo) • Zgoraj opisane točke je potrebno odstraniti Slika z 233x189 piksli Število detektiranih DoG ekstremov: 832 Vir slik: mis.hevra.haifa.ac.il/~ishimshoni/MVG/SIFT_KA.ppt
Šivanje slik • Lokalni deskriptorji - SIFT • Detekcija značilnih točk slike • Izločanje značilnih točk z nizkim kontrastom; postopek: • Aproksimiraj okolico značilne točke s kvadratno Taylor-jevo vrsto DoG prostora ločljivosti • Določi lokalni maksimum prilegane funkcije in s tem nov, natančnejši položaj značilne točke • Izloči značilno točko (oz. ), če je <0.03 Viri: mis.hevra.haifa.ac.il/~ishimshoni/MVG/SIFT_KA.ppt, www.cs.cmu.edu/~efros/courses/.../0319.SIFT.ppt
Šivanje slik • Lokalni deskriptorji - SIFT • Detekcija značilnih točk slike • Izločanje značilnih točk z nizkim kontrastom; rezultat: 729 od 832 značilnih točk ostane Viri: mis.hevra.haifa.ac.il/~ishimshoni/MVG/SIFT_KA.ppt, www.cs.cmu.edu/~efros/courses/.../0319.SIFT.ppt
Šivanje slik • Lokalni deskriptorji - SIFT • Detekcija značilnih točk slike • Izločanje značilnih točk na robnih slikovnih elementih slike; postopek: • Izračunaj matriko Hessovo matriko parcialnih odvodov okolice dane značilne točke • Zavrzi vse značilne točke, ki ustrezajo robnim slikovnim elementom in hkrati ne predstavljajo oglišč (ekvivalentno formulaciji Harissovega detektorja oglišč) slike r = 10 za SIFT Viri: mis.hevra.haifa.ac.il/~ishimshoni/MVG/SIFT_KA.ppt,
Šivanje slik • Lokalni deskriptorji - SIFT • Detekcija značilnih točk slike • Izločanje značilnih točk na robnih slikovnih elementih slike; utemeljitev: • Predpostavimo pravokotno področje slike (u,v), ki ga prestavimo za (x,y). Uteženo vsoto razlik kvadratov med premaknjenim in originalnim področjem lahko zapišemo kot: • Zapišimo Taylerjovo vrsto: • in dobimo: • Strukturni tenzor: Viri: mis.hevra.haifa.ac.il/~ishimshoni/MVG/SIFT_KA.ppt,
Šivanje slik • Lokalni deskriptorji - SIFT • Detekcija značilnih točk slike • Oglišče v sliki je karakterizirano z velikimi vrednostmi S v vseh smereh vektorja [x, y] • Analiza lastnih vrednosti A pokaže: • slikovni element (x, y) ni zanimiv • zavzame veliko pozitivno vrednost – rob • zavzameta veliko pozitivno vrednost – oglišče • Pri SIFT-ih ne iščemo izključno oglišč ampak (računamo H) zahtevamo, da je ukrivljenost vzdolž roba veliko manjša kot ukrivljenosti prečno na potek roba v dani točki Viri: mis.hevra.haifa.ac.il/~ishimshoni/MVG/SIFT_KA.ppt,
Šivanje slik • Lokalni deskriptorji - SIFT • Detekcija značilnih točk slike • Izločanje značilnih točk na robnih slikovnih elementih slike; rezultat: 536 od 729 značilnih točk ostane Viri: mis.hevra.haifa.ac.il/~ishimshoni/MVG/SIFT_KA.ppt,
Šivanje slik • Lokalni deskriptorji - SIFT • Določitev orientacije značilnih točk • Ker želimo, da so deskriptorjiinvariantni na rotacije objektov na sliki, za vsako značilno točko • določimo orientacijo lokalnih gradientov in • normiramo podatke v skladu z določeno orientacijo Viri: mis.hevra.haifa.ac.il/~ishimshoni/MVG/SIFT_KA.ppt,
Šivanje slik • Lokalni deskriptorji - SIFT • Določitev orientacije značilnih točk • Postopek: • Za glajeno sliko , kjer ustreza ločljivosti dane značilne točke, se izračuna smer in amplituda gradienta • Na podlagi smeri gradientov v okolici značilne točke se določi histogram • Značilni točki se pripiše orientacija, ki ustreza maksimumu glajenega histograma Viri: mis.hevra.haifa.ac.il/~ishimshoni/MVG/SIFT_KA.ppt,
Šivanje slik • Lokalni deskriptorji - SIFT • Določitev deskriptorja • Za vsako značilno točko poznamo njen položaj, ločljivost in orientacijo • Določeni podatki zagotavljajo invariantnost na translacije, velikost in rotacije objektov na slikah • V zadnjem koraku želimo določiti deskriptor, ki zagotavlja še invariantnost na: • Svetlobne razmere in • 3D perspektivo na objekte slike Viri: mis.hevra.haifa.ac.il/~ishimshoni/MVG/SIFT_KA.ppt,
Šivanje slik • Lokalni deskriptorji - SIFT • Določitev deskriptorja: • Okolico značilne točke velikosti 16x16 slikovnih elementov razdelimo v 4 pod-področja velikosti 4x4 slikovne elemente • Za vsako pod-področje določimo histogram orientacij gradienta z 8 kvantizacijskimi nivoji • Orientacije normiramo glede na orientacijo značilne točke. • Tako dosežemo invariantnost glede na rotacijo slike • Deskriptor sestavimo iz 128 relativnih frekvenc vseh 16 histogramov (8 kvantizacijskih nivojev x 4x4 pod-področij) Viri: mis.hevra.haifa.ac.il/~ishimshoni/MVG/SIFT_KA.ppt,
Šivanje slik • Lokalni deskriptorji - SIFT • Določitev deskriptorja • Deskriptor normiramo na dolžino ena, kar izloči vpliv kontrasta na vrednosti deskriptorja • Pomembno: Orientacija gradienta je manj občutljiva na spremembe v svetlobnih razmerah kot amplituda gradienta Viri: mis.hevra.haifa.ac.il/~ishimshoni/MVG/SIFT_KA.ppt,
Šivanje slik • Lokalni deskriptorji - SIFT • Iskanje ujemajočih parov • Za iskanje ujemajočih parov se pogosto uporablja postopek najbližjega soseda z Evklidovo razdaljo (Evklidova razdalja služi kot mera različnosti – večja kot je manj sta si deskriptorja podobna) • SIFT deskriptor is slike A se ujema z deskriptorjem iz slike B, če je naslednje razmerje manjše od določenega praga: Viri: mis.hevra.haifa.ac.il/~ishimshoni/MVG/SIFT_KA.ppt,
Šivanje slik • Zahteva samodejne algoritme za: • Iskanje ujemanja objektov na parih slik, npr. • Z lokalnimi deskriptorji • SIFT (angl. ScaleInvariantFeatureTransform) • SURF (angl. Speeded Up RobustFeature) • Izračun transformacijske matrike • RANSAC
Šivanje slik • Izračun transformacijske matrike • S pomočjo SIFT algoritma na paru slik določimo ujemajoče značilne točke • Rezultat predstavlja seznam ujemajočih parov značilnih točk, ki služi kot vhod v RANSAC • Z algoritmom RANSAC nato določimo parametre projektivne transformacije (homografije): Viri: mis.hevra.haifa.ac.il/~ishimshoni/MVG/SIFT_KA.ppt,
Šivanje slik • Povzetek • Na vhodnih slikah, ki ju želimo združiti, izvedemo detekcijo in izračun SIFT deskriptorjev ter določitev ujemajočih parov • S pomočjo RANSAC-a določimo transformacijsko matriko in preslikamo drugo sliko v ravnino prve • Sliki združimo in popravimo barve
Šivanje slik • Opomba • Pri šivanju slik, se namesto deskriptorjev SIFT pogosto uporabljajo lokalni deskriptorji SURF (angl. Speeded Up RobustFeature) • Deskriptorji SURF se odlikujejo s podobnimi lastnostmi kot deskriptorji SIFT, a je njihov izračun bistveno hitrejši Viri: http://rtcmagazine.com/articles/view/102184, http://scien.stanford.edu/pages/labsite/2008/psych221/projects/08/DavidChen/index.html
Detekcija objektov • S postopki detekcije objektov želimo poiskati vse objekte določene vrste na sliki • Primeri: Poišči vse steklenice Poišči vse obraze Poišči vse avtomobile Vir slik: http://weblogs.baltimoresun.com/news/technology/2010/05/crowdsourcing_new_name.html/, http://www.avto-prodaja.si/, http://people.csail.mit.edu/torralba/courses/6.869/6.869.computervision.htm
Detekcija objektov • Postopek (splošno): • Zgradi/nauči model objekta, ki ga želimo poiskati • Iz slike, na kateri želiš detektirati želene objekte, generiraj množico kandidatov objekta • Vsakega kandidata ovrednoti in razvrsti bodisi v razred iskanih objektov bodisi v razred drugih objektov Vir: http://people.csail.mit.edu/torralba/courses/6.869/6.869.computervision.htm
Detekcija objektov • Popularno rešitev problema detekcije objektov predstavljajo postopki, ki temeljijo na razvrščanju pod-oken slike (npr. Viola-Jones) • Osnovna ideja (primer detekcije obrazov): • Pregledamo celotno sliko pri začetni velikosti pod-okna
Detekcija objektov • Popularno rešitev problema detekcije objektov predstavljajo postopki, ki temeljijo na razvrščanju pod-oken slike (npr. Viola-Jones) • Osnovna ideja (primer detekcije obrazov): • Pregledamo celotno sliko pri začetni velikosti pod-okna Dvo-razredni razvrščevalnik Obraz/drugo
Detekcija objektov • Popularno rešitev problema detekcije objektov predstavljajo postopki, ki temeljijo na razvrščanju pod-oken slike (npr. Viola-Jones) • Osnovna ideja (primer detekcije obrazov): • Pregledamo celotno sliko pri začetni velikosti pod-okna Dvo-razredni razvrščevalnik Obraz/drugo
Detekcija objektov • Popularno rešitev problema detekcije objektov predstavljajo postopki, ki temeljijo na razvrščanju pod-oken slike (npr. Viola-Jones) • Osnovna ideja (primer detekcije obrazov): • Pregledamo celotno sliko pri začetni velikosti pod-okna Dvo-razredni razvrščevalnik Obraz/drugo
Detekcija objektov • Popularno rešitev problema detekcije objektov predstavljajo postopki, ki temeljijo na razvrščanju pod-oken slike (npr. Viola-Jones) • Osnovna ideja (primer detekcije obrazov): • Pregledamo celotno sliko pri začetni velikosti pod-okna Dvo-razredni razvrščevalnik Obraz/drugo
Detekcija objektov • Popularno rešitev problema detekcije objektov predstavljajo postopki, ki temeljijo na razvrščanju pod-oken slike (npr. Viola-Jones) • Osnovna ideja (primer detekcije obrazov): • Ko pregledamo celotno sliko, povečamo pod-okno Dvo-razredni razvrščevalnik Obraz/drugo