650 likes | 824 Views
Govorne in slikovne tehnologije. Področja uporabe Prof. dr. France Mihelič. 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č 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 • 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
Š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 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 • 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
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): • Postopek ponavljamo, dokler ne dosežemo maks. velikosti 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): • Rezultat: Množica oken v razredu obrazov → upragovljanje Če je oken več kot N, potem gre za obraz
Avto/drugo Razvrščevalnik Detekcija objektov • Zahteve: • Potrebno izbrati predstavitev pod-oken (značilke) • Potrebno izbrati in naučiti razvrščevalnik • Potreba po učnih podatkih (primeri in proti-primeri) • Različne izbire dajo različne postopke detekcije z različnimi lastnostmi – primer Viola-Jones (Haarov razvrščevalnik) Učni podatki • Učenje: • 1. Zberi učne podatke • 2. Izberi predstavitev • 3. Določi razvrščevalnik • Za novo sliko: • 1. Preglej vsa pod-okna • 2. Ovrednoti z razvrščevalnikom Ilustracija učenja in uporabe detektorja avtomobilov Izpeljava značilk Vir: http://www.cs.brown.edu/courses/cs143/
Detekcija objektov • Postopek Viola-e in Jones-a: • Sposoben delovanja v realnem času • Časovna zahtevnost narašča s številom različnih velikosti pod-oken, ki jih razvrščamo • Temelji na Haarovihznačilkah in večkratnem učenju z uteževanjem učnih primerov (angl. AdaBoost) • Primer uporabe: avtofokus ob zaznavi obraza Vir: http://people.csail.mit.edu/torralba/courses/6.869/6.869.computervision.htm
Detekcija objektov • Viola-Jones detektor: • Predstavitev pod-oken (značilke) • Vsako pod-okno predstavimo z množico Haarovih značilk (aproksimacijo) • Haarove značilke so izbrane zato, ker je vrednost posamezne značilke za pod-okno poljubne velikosti mogoče izračunati v konstantnem času Vsako pod-okno predstavimo z množico Haarovih značilk -+- Vrednost značilke, ki ustreza trenutnemu pravokotnemu filtru izračunamo kot razliko med vsotami svetilnosti slikovnih elementov pod črnim in belim področjem filtra
Detekcija objektov • Viola-Jones detektor: • Predstavitev pod-oken (značilke) • Izračun značilk poteka preko integralne predstavitve slike • Izračun vsote slikovnih elementov (potrebne za izračun vrednosti značilk) znotraj danega področja vhodne slike lahko zato izvedemo s tremi operacijami v integralni sliki neodvisno od velikosti področja • Vrednost slikovnega elementa na koordinatah (x,y) predstavlja vsoto svetilnosti slikovnih elementov originalne slike nad in levo od (x,y) Integralna slika B D Integralna slika Vhodna slika C A • Vsota slikovnih elementov je A-B-C+D
Detekcija objektov • Viola-Jones detektor: • Predstavitev pod-oken (značilke) • Če upoštevamo vse možne parametre filtrov za izračun Haarovih značilk (položaj, velikost in oblika), dobimo za pod-okno 24x24 180.000 različnih značilk – podmnožico določimo s postopkom večkratnega učenja z uteževanjem učnih primerov (angl. AdaBoost) Vir: http://people.csail.mit.edu/torralba/courses/6.869/6.869.computervision.htm