Racunarski vid - Masina skripta Flashcards
(51 cards)
- Na koji način je moguće detektovati ivice na slici koja poseduje šum korišćenjem najmanje dva operatora?
- Zavisno od tipa šuma isčistiti sliku Gausom ili medijan filterom
- Zatim na isčišćenoj slici primeniti Sobel operator
- Sobel je izvod slike. Kombinovanjem vertikalnog i horizontalnog Sobela mogu da se dobiju sve ivice na slici. Sobel vraća rezultat u opsegu -255 do 255.
SLIKA
- Koja je razlika između Gausovog šuma i šuma „so i biber“ (eng. salt and pepper) i koji filtri se koriste za njihovo uklanjanje iz slika?
Gaus – šum koji prati normalnu (Gausovu raspodelu) u odnosu na čistu sliku. Manifestuje se kao visoke frekvencije. Uklanja se Gausovim filterom koji propušta samo niske frekvancije, dok visoke frekvencije eliminiše zamućenjem.
So-biber – šum koji predstavlja velike skokove u signalu. Manifestuje se crnim i belim pikselima na slici. Uklanja se medijan filterom. (Za određeni prozor vrednosti, te vrednosti sortira i uzima onu koja se nalazi na sredini sortiranog niza vrednosti – na taj način eliminiše skokovite promene.)
- Koji filter se koristi za pooštravanje (eng. sharpening) slika i da li je bitno da li se koristi konvolucija ili korelacija?
Konvolucija i korelacija su identične ukoliko je filter simetričan!
Koristi se filter sa slike. Najpre se poveća intenzitet slike, a zatim se od takve slike oduzme slika zamućena box filterom. Dobije se efekat akcentovanja razlika u odnosu na lokalu srednju vrednost.
SLIKA
- Na koji način se morfološke operacije otvaranja i zatvaranja definišu preko dilacije i erozije (grafički ilustrovati)?
Otvaranje – Najpre se vrši erozija radi izdvajanja elemenata, a zatim dilacija kako bi se održala originalna površina. Koristi se isti strukturni element za obe operacije. Otvaranje elementa A elementom B predstavlja uniju svih položaja B unutar A.
Zatvaranje – Najpre se vrši dilacija radi spajanja elemenata, a zatim erozija radi održanja originalne površine. Koristi se isti strukturni element. Zatvaranje elementa A elementom B predstavlja komplement unije svih translacija B, tako da se ne poklapa sa A.
SLIKA
Zatvaranje – Najpre se vrši dilacija radi spajanja elemenata, a zatim erozija radi održanja originalne površine. Koristi se isti strukturni element. Zatvaranje elementa A elementom B predstavlja komplement unije svih translacija B, tako da se ne poklapa sa A.
Korišćenjem većeg strukturnog elementa popuniće se i sve rupe i uglovi koji su veći od manjeg strukturnog elementa a manji ili jednaki većem strukturnom elementu. Tj. određeni skup rupa i uglova koji ne bi bio zahvaćen tj. popunjen (izravnat) korišćenjem manjeg strukturnog elementa, bio bi korišćenjem većeg.
- Kako izgleda izlaz Furijeove transformacije kada slika poseduje horizontalne sinusoidalne promene intenziteta (skicirati i objasniti)?
Izlaz Furijeove transformacije slike uvek sadrži 1 beli px u sredini slike, oko njega nalaze se simetrični parovi piksela, gde svaki par opisuje jednu sinusoidalnu komponentu. Za horizontalne sinusoidne promene intenziteta u slici, rezultujući par piksela nalazi se horizontalno raspoređen nakon Furijeove transformacije. Ukoliko su 2 px u paru bliža, to označava nižu frekvenciju, ukoliko su dalja to označava višu frekvenciju.
- Zbog čega konvolucija slike sa Gausovim filtrom smanjuje visoke frekvencije?
Konvolucija u prostornom domenu odgovara množenju u frekventnom domenu.
U frekventnom domenu, visoke frekvencije se nalaze na obodu slike, a niske bliže centru slike. Gausov filter u frekventnom domenu sadrži samo elemente bliske centru slike, pa množenjem sa njim dolazi samo do propuštanja elemenata iz tog dela slike, koji odgovaraju niskim frekvencijama, dok se visoke frekvencije elminišu.
SLIKA
- Kako se manifestuje „aliasing“ i šta ga uzrokuje (grafički ilustrovati)? Koja tehnika se primenjuje da bi se izbegao ovaj efekat?
Alijasing predstavlja promenu frekventne konstitucije slike pri sabsemplingu. Na slici se manifestuje iskrzanim ivicama, deformisanim teksturama, na videu može prouzrokovati prividno okretanje točka automobila u suprotnom smeru itd. Uzok alijasingu je diskretizacija ulaznog signala premalim skupom vrednosti, tako da rekonstrukcijom signala na osnovu tih vrednosti možemo da dobijemo signal koji ne liči ni približno na originalni.
Da bi se izbegao ovaj efekat koristi se Nikvist-Šenonova teorema koja nalaže da semplovanje signala mora da se vrši frekvencijom duplo većom od najveće frekvencije u signalu, kako bi se izbegao alijasing. Da bi se to postiglo povećava se frekvencija semplovanja tako da zadovoljava ovaj uslov, ukoliko je to moguće. Ili, ukoliko nije, vrši se odbacivanje frekvencija iz signala većih od polovine frekvencije semplovanja. Za slike, ovo se radi tako što se primeni zamućenje Gausovim filterom pre sabsemplinga. Ova metoda dovodi do gubitka određene količine informacija, ali je i dalje bolja opcija od pojave alijasinga koji rezultuje time da vidimo nešto što uopšte ne postoji.
SLIKA
- Opisati proces detekcije ivica korišćenjem Canny detektora?
- Na sliku se primenjuju izvodi Gausove funkcije za x i y
- Na osnovu njih se odrede jačina i orijentacija gradijenata
- Zatim se vrši potiskivanje ne-maksimuma (tanjenje - thinning) – Višepikselne ivice se tanje tako da budu debljine 1px. To se postiže tako što se proverava da li je piksel lokalni maksimum duž pravca gradijenta. Uzimaju se u obzir i intenzitet i orijentacija gradijenta. Za px se posmatraju njegovi susedi u pravcu gradijenta, ukoliko susedi imaju manje intenzitete, dati px se uzima da pripada ivici. Ukoliko neki od susednih piksela ima veći gradijent, taj px se uzima i poredi sa svojim susedima.
- Vrši se povezivanje i pragovanje – histerezis. Koriste se dva praga, niži i viši. Najpre se uzimaju samo pikseli koji prođu viši prag. Nakon toga se posmatraju pikseli koji prolaze niži prag, a nisu prošli viši. Ukoliko su takvi pikseli povezani sa ivicom koja je prošla viši prag, uzimaju se u obzir, ukoliko nisu, odbaicju se.
Veličinom Gausovog filtera u prvom koraku kontroliše se broj ivica koji će biti detektovan. Veći filter rezultuje uklanjanjem slabih i bliskih ivica.
- Koji filter, tj. funkciju je moguće iskoristi za izdvajanje ivica na slici?
Ivica na slici predstavlja mesto gde se dešava nagla promena u funkciji intenziteta slike. Tako da se ivice mogu detektovati kao ekstremi prvog izvoda slike.
Izvod slike može se dobiti zahvaljujući Sobel operatoru.
Kombinovanjem horizontalnog i vertikalnog rezultata, dobijamo Sobelov gradijent koji nam daje lokaciju svih ivica na slici
gde je gx odziv na Sx, a gy odziv na Sy
Međutim, kako je slika, pa i same ivice, šumovita, potrebno je pre izvoda slike, istu isčistiti primenom Gausove funkcije. Kako bi se izbegla dupla obrada iste slike, moguće je izvod primeniti nad Gausovom funkcijom, pa onda taj prvi izvod Gausove funkcije primeniti na sliku i dobiće se isti rezultat. Ovakvo rešenje daje pozitivne i negativne vrednosti za lokaciju ivice pa je potrebno pretražiti i jedne i druge. Ukoliko želimo uniformno ponašanje funkcije za svaku lokaciju ivice, možemo da koristimo drugi izvod Gausove funkcije, tj. Laplasijan Gausa koji nam omogućava da ivice uvek vidimo kao tačke preseka funkcije sa X osom.
SLIKE VISE KOMADA
- Standardna Hough-ova transformacija se zasniva na glasanju za određene parametarske oblike. Zbog čega se primenjuje ova tehnika i zašto daje rezultate?
Ova tehinika primenjuje se zato što je previše zahtevno proveriti sve moguće modele uparivanjem svakog modela sa svakim podskupom detektovanih fičera. Uz pomoć glasanja samo jednim prolaskom svi fičeri glasaju za modele kojima pripadaju, pa tresholdovanjem rezultata dobijamo sve detektovane modele odjednom. Ovaj metod daje dobre rezultate jer, iako i šum i klaterski fičeri učestvuju u glasanju, oni znatno manje doprinose finalnom skoru pa se njihov uticaj može zanemariti jer će „pravi“ fičeri dati mnogo veći broj glasova. Dodatno, nedostajući elementi modela ne prave problem jer to samo znači par glasova manje, dok će i dalje svi detektovani fičeri dati svoje glasove za pravi model pa će on svakako moći da bude detektovan tresholdovanjem.
- Ukoliko je potrebno da se nađu loptice za bilijar na slici bilijarskog stola, da li je prikladnije koristiti Hough-ovu transformaciju ili RANSAC algoritam? Obrazložiti odgovor.
Prikladnije je koristiti Hough-ovu transformaciju jer su bilijarske loptice fiksne veličine tj. sve imaju isti radijus pa se mogu predstaviti uniformnim 2D modelom u Hough-ovom prostoru. Poznavanje poluprečnika bilijarske loptice omogućava nam da samo na osnovu podataka koje vraća Canny edge detektor u jednom prolasku detektujemo sve instance modela. Ovo čini Hough-ovu transformaciju optimalnijim rešenjem u odnosu na RANSAC algoritam u ovom slučaju.
- Kada kažemo da deskriptori ključnih tačaka trebaju da budu i „invarijantni“ i „prepoznatljivi“, na šta se odnosi „invarijatnost“ i zašto je onda neophodna?
Invarijantnost se odnosi na to da fičer deskriptor treba da bude približno isti nezavisno od, odnosno da njegova prepoznatljivost ne zavisi od fotometrijskih transformacija kao što su promene u osvetljenju scene, niti od geometrijskih transformacija kao što su translacija, rotacija, skaliranje, smicanje… Invarijantnost je neophodna osobina za deskriptor jer nam omogućava da detektujemo isti fičer na više različitih slika, nezavisno od uslova u kojima su te slike slikane, odnosno od položaja fičera na slici i njegove osvetljenosti.
- Harisov detektor uglova koristi matricu momenta drugog reda. Grafički ilustrovati i objasniti kakve sopstvene vrednosti te matrice (λ1 i λ2) ukazuju na dobar fičer za praćenje.
Ukoliko su λ1 i λ2 sopstvene vrednosti matrice momenta drugog reda, možemo da kažemo da opisuju dobar fičer za praćenje ukoliko su obe vrednosti veće od određene donje granice i ukoliko su međusobno uporedive, odnosno ne važi da je jedna vrednost znatno veća od druge. Ukoliko λ1 i λ2 zadovoljvaju ove uslove, to znači da se patch koji opisuju razlikuje značajno od patch-eva susednih u svim pravcima na slici.
- Na koji način je moguće fičer detektor (npr. SIFT) učiniti invarijantnim na promene u osvetljenju?
Da bi fičer deskriptor bio invarijantan na osvetljenje neophodno je, nakon što smo ga učinili invarijantnim na geometrijske transformacije, da se izvrši normalizacija magnituda u deskriptoru na opseg 0-1. Nakon toga se vrši odsecanje svih magnituda većih od 0.2 kako bi se postigla robusnost na nelinearne efekte osvetljenja. Opseg 0-0.2 se zatim opet normalizuje na opseg 0-1.
- Da li su Harisovi uglovi invarijantni na rotaciju? Obrazložiti odgovor. Kakva je situacija po ovom pitanju kod SIFT-a?
Harisovi uglovi jesu invarijantni na rotaciju jer se pri rotaciji slike rotiraju i elipse matrice momenta drugog reda, čime se menja samo njihova orijentacija ali ne i oblik tj. sopstvene vrednosti na osnovu kojih se zapravo vrši opisivanje fičera. SIFT je takođe invarijantan na rotaciju jer se na nivou svakog fičera nalazi dominantan smer gradijenta i na osnovu njega određuje orijentacija čitavog fičera koji se shodno tome rotira. Rezultat toga je da imamo normalizovan fičer koji ne zavisi od orijentacije u kojoj je detektovan na samoj slici.
- Na koji način se vrši formiranje vektora koji predstavlja SIFT deskriptor fičera?
Oblast fičera se najpre normalizuje, vrši se njeno skaliranje shodno skali za koju je dobijen maksimalni odziv i njeno rotiranje zavisno od dominantnog smera gradijenta za tu oblast. Centar tako normalizovane oblasti je u samoj karakterističnoj tački. Na takvu oblast primenjuje se Gausov filter kojim se smanjuje uticaj gradijenata koji su udaljeniji od centra oblasti i povećava uticaj same karakteristične tačke i njoj bliskih piksela. Tako dobijena oblast deli se na matricu 4x4, čiji svaki element predstavlja podmatricu takođe dimenzija 4x4. Na nivou elemenata podmatrice, svih
16x16 elemenata ima svoj gradijent. Na nivou podmatrice (4x4) od 16 gradijenata formira se 8-elementni histogram tako što se za svaki od gradijenata proverava u koju od 8 raspoloživih oblasti spada i njegova amplituda se dodaje na tu vrednost u histogramu. Sada je čitava oblast opisana kao matrica 4x4 8-elementnih histograma. Linearizacijom tih vrednosti dobijamo 448 = 128 komponentni vektor. Tako dobijeni vektor normalizuje se na opseg 0-1, zatim se vrši odsecanje svih magnituda većih od 0.2 nakon čega se ponovo vrši normalizacija na opseg 0-1. Ove normalizacije vrše se u cilju postizanja invarijantnosti na fotometrijske transformacije.
SLIKA
- Na koji način se RANSAC algoritam koristi za spajanje slika u panoramu (skicirati i opisati postupak)?
Nakon što smo detektovali fičere na slikama koje želimo da spojimo i te fičere opisali odgovarajućim deskriptorom određujemo parove ekvivalentnih fičera na obe slike. Kao rezultat toga dobićemo veliki broj dobrih parova ali i određeni, značajan broj parova koji ne predstavljaju iste elemente. RANSAC algoritam nam pomaže da od detektovanih parova izdvojimo samo one koji na najbolji način opisuju preslikavanje između dveju slika, odnosno one koji zapravo predstavljaju iste elemente na obe slike kako bismo na osnovu njih mogli da odredimo adekvatnu transformaciju između slika. To se postiže tako što se nasumično bira skup od 4 parova, na osnovu njih se određuje homografija. Zatim se posmatraju svi parovi i broje se oni za koje važi da je srednje kvadratno rastojanje između 1. tačke u paru i tačke dobijene primenom homografije na 2. tačku u paru manje od nekog praga. Ukoliko je broj takvih tačaka veći od dosadašnjeg najvećeg broja, skup parova koji su zadovoljili uslov se čuva. Postupak se ponavalja određeni broj puta (fiksno ili adaptivno). Nakon toga se na osnovu validnih parova određuje homografija koja obezbeđuje najmanju srednju kvadratnu grešku pri preslikavanju svih parova iz skupa. Takva homografija primenjuje se na drugu sliku, čime se omogućuje njeno spajanje sa prvom slikom u panoramu.
SLIKA
- Pri redukciji dimenzija korišćenjem PCA, prvo se vrši oduzimanje srednje vrednosti tačaka. Objasniti zašto?
Cilj korišćenja PCA je smanjenje dimenzionalnosti prostora u kojem možemo da prikažemo određeni skup tačaka. Sa ciljem što efikasnijeg modelovanja tog skupa tačaka najpre se oduzima srednja vrednost (koja će da se koristi kasnije pri rekonstrukciji vrednosti), kako bi se modelovala samo odstupanja od standarda, a ne i sam standard. Na taj način se potpomaže ideja pojednostavljenja prikaza skupa vrednosti. Srednja vrednost uzima se kao koordinatni početak u novom, manjedimenzionom prostoru, a položaj tačke u odnosu na taj početak definiše se skupom koordinata koje opisuju pomeraj tačke po pravcima najveće varijanse. Pri čemu je broj koordinata koji se koristi znatno manji od broja dimenzija originalnog prostora u kojem su se nalazile tačke.
- Na koji način je moguće iskoristiti PCA za detekciju lica na slici?
- Pretpostavka je da se većina slika lica nalazi u niskodimenzionom prostoru određenom pomoću prvih k pravaca maksimalne varijanse (pri čemu je k mnogo manje od inicijalne dimenzionalnosti prostora slika lica). Tada PCA može da se iskoristi kako bi se našli eigenfaces u1, …, uk koji opisuju taj podprostor. Onda se sve moguće slike lica iz baze mogu predstaviti kao linearna kombinacija eingeface-ova.
- Postupak korišćenja PCA za prepoznavanje je sledeći:
o Najpre se obrađuje skup trening slika. Nalazi se srednja vrednost i matrica kovarijanse. Zatim se nalazi k glavnih komponenti (eigenvektora) matrice kovarijanse – u1, …, uk. Skup trening slika se onda projektuje na k-dimenzioni prostor, gde se svaka od slika opisuje težinama kojima se množi odgovarajući eigenvector i razlika originalne slike i izračunate srednje slike.
o Kada se analizira nova slika, od nje se oduzima srednja slika pa se projektuje na poznati k-dimenzioni prostor eigenvectora, prevođenjem u težine (kao u poslednjem koraku sa trening slikama). Ukoliko nam je cilj da zaključimo da li je na slici uopšte bilo lice ili ne, onda iz k-dimenzionog vektora rekonstruišemo sliku i poredimo rekonstrukciju sa originalnom slikom. Ukoliko je razlika prevelika, znači da na ulazu nije bila slika lica. Ukoliko je cilj odrediti koja je osoba na slici (od poznatih osoba iz trening skupa), onda dobijeni k-dimenzioni vektor poredimo sa vektorima dobijenim prevođenjem trening slika i u sličaju bliskog poklapanja možemo da tvrdimo da je u pitanju ista osoba.
- Objasniti razliku između generativnih i diskriminacionih metoda za klasifikaciju?
Generativni pristup podrazumeva korišćenje trening podataka kako bi se izgradili reprezentativni modeli verovatnoća za svaku klasu ponaosob. Dok diskriminativni pristup, sa druge strane, umesto nezavisnih modela klasa, modeluje granicu odluke između klasa. Prednost generativnog pristupa je to što ima dobru osnovu u teoriji verovatnoće i može dobro da se modeluje Gausovim funkcijama. Omogućava dodavanje novih klasa na postojeći model i dobro radi za veliki broj različitih klasa. Međutim ne radi dobro za visokodimenzionalne podatke, u tom slučaju diskriminacioni metodi imaju prednost jer ne pokušavaju da modeluju same klase već samo granične slučajeve koji su problematični za donošenje odluka. Diskriminacioni metodi stoga predstavljaju bolje rešenje u slučaju kada imamo fiksni broj klasa i kada je bitno samo klasifikovati objekat. Dodatno, diskriminacioni modeli najčešće samostalno određuju fičere po kojima vrše klasifikaciju pa predstavljaju pogodno rešenje u slučajevima kada nismo sigurni koji su fičeri ključni za razlikovanje pripadnika klasa.
- Opisati na koji način se vrši detekcija objekata na slici metodom klizajućeg prozora?
Detekcija objekata na slici metodom klizajućeg prozora vrši se u 2 koraka – obučavanje i eksploatacija. U koraku obučavanja najpre se svaka slika iz trening skupa prevodi u odgovarajući niz fičera koji je opisuje. Zahvaljujući činjici da je trening skup slika anotiran, tj. da se zna kojoj klasi koja slika pripada, vrši se obučavanje klasifikatora koji na osnovu fičera koji se nalaze na slici treba da zaključi pripadnost klasi. U fazi eksploatacije potrebno je da za neku novu ulaznu sliku klasifikator zaključi da li se na njoj nalaze objekti neke klase. Kako bi se obezbedila detekcija objekata svih veličina i tako da mogu da se nađu bilo gde na slici, iz slike se izdvajaju prozori fiksne veličine od gornjeg levog do donjeg desnog ugla sa određenim pomerajem. Nakon što se „obiđe“ cela slika, vrši se smanjivanje slike za određeni faktor i ponavalja se prolazak, postupak se ponavalja sve dok veličina slike ne spadne na veličinu prozora po makar jednoj dimenziji. Svaki tako izdvojen nezavisan prozor prolazi kroz kalsifikaciju zasebno, iz njega se izvlače fičeri i na osnovu njih klasifikator zaključuje da li se u tom prozoru nalazi neki objekat i koja je klasa tog objekta. Ovakav pristup nam omogućuje detekciju i lokalizaciju objekata na slici.
- Na koji način se kaskadni klasifikator koristi za detekciju lica na slici? Koja je njegova glavna prednost?
Za detekciju lica na slici koristi se kaskadni klasifikator tako što se u kaskadu vezuju slabi klasifikatori koji u svakom koraku sa malom greškom obezbeđuju odbacivanje primeraka koji ne sadrže lice. U svakom koraku se donosi odluka da li nešto nije lice, i ukoliko nije, slika se odmah odbacuje, a ukoliko možda jeste, slika mora da prođe kroz sve klasifikatore u kaskadi da bi se potvrdilo prisustvo lica na slici. Upravo to je i glavna prednost kaskadnog klasifikatora jer velika većina prozora koji uđu u kaskadu ne sadrže lice i dobija se znatno na brzini ukoliko se takvi prozori odmah odbace. Za slučaj da prozor sadrži lice, prihvatljivo je utrošiti neko dodatno vreme da bismo to potvrdili. SLIKA
- Šta predstavljaju integralne slike i na koji način se one koriste kod detekcije lica na slici?
Integralne slike predstavljaju slike kod kojih svaki px ima vrednost koja odgovara zbiru vrednosti svih piksela koji se nalaze u prozoru koji je omeđen tim pikselom i gornjim levim pikselom slike. One se koriste u Viola-Jones metodu za detekciju lica na slici. Kod ovog metoda koriste se fičeri i slabi klasifikatori koji predstavljaju pravougaonike sa pravougaonim crnim i belim delovima. Izlaz za ovakve filtere se računa tako što se saberu svi pikseli u belom delu i od njih oduzme zbir piksela u crnom delu. Integralne slike su izuzetno pogodne za ovakva izračunavanja jer se zbir u bilo kom pravougaoniku na slici može dobiti uz samo 3 sabiranja/oduzimanja.