You are on page 1of 14

Sadržaj

Uvod..................................................................................................................................................................................................................................................... 2
Teoretske osnove ............................................................................................................................................................................................................................. 3
CBIR- Content based image retrieval ........................................................................................................................................................................................... 3
RGB I HSV model .......................................................................................................................................................................................................................... 4
Histogram i gradijent ................................................................................................................................................................................................................... 5
Hough-ova transformacija ........................................................................................................................................................................................................... 6

Realizacija pretraživača (CBIR) ............................................................................................................................................................................................................ 8


Pretraživaje pomoću histograma ..................................................................................................................................................................................................... 8
Pretraživaje pomoću Hough-ove transformacije ........................................................................................................................................................................... 10
Matlab kod ..................................................................................................................................................................................................................................... 11
Analiza ............................................................................................................................................................................................................................................... 14
Zaključak ............................................................................................................................................................................................................................................ 17

1
Široka primena kompjuterske vizije može se opisati prostim primerom
analiza fotografija flaša u proizvodnji piva, gde je cilj da svaki kupac bude
Sa razvojem modernih računarskih sistema i mogućnosti brze zadovoljan punom flašom. Kao i, primenom na izradu naočari po uzoru na
i efikasne obrade podataka, razvila se najpre potreba za naučno fantastične filmove, koje nam mogu u realnom vremenu učitavati
implementacijom rešenja za interpretiranje slika na računaru a zatim podatke o objektima koje gledamo, bilo da je to lista sa cenama artikla na
njihovim razumevanjem i analizom. ebay-u ili facebook profil simpatične prolaznice. Tipični zadaci kompjuterske
vizije mogu se podeliti u sledeće oblasti:
Kompjuterska vizija obuhvata metode za prikupljanje , obradu
Prepoznavanje : prepoznavanje oblika, identifikacija, detekcija, CBIR,
, analizu i razumevanje slike. Odnosno osnovni cilj je analiza visoko -
procena pozicije, OCR, 2D dekodiranje i detekcija lica.
dimenzionih podataka iz stvarnog sveta kako bismo dobili numeričke
Detekcija pokreta : praćenje promena položaja objekata u slici.
ili simboličke informacije razumljive mašini. Svakako da veliki izazov
Restauracija slike : obrada slike raznim metodama bilo sa ciljem
predstavlja sama kompjuterska predstava prirodnih veličina poput
poboljšavanja kvaliteta ini pripreme za dalju obradu
boje, tonaliteta i slično te je tema u razvoju ove oblasti unapređivanje
Rekonstrukcija scene
mogućnosti ljudske vizije elektronskim sagledavanjem i poimanjem
slike. Ova slika kompjuterskog razumevanja (vizije) može se
U ovom radu bavićemo se primenom i rešenjima iz oblasti Content
posmatrati kao razmršavanje simboličke informacije iz slikovnih
Based Image Retreival o čemu će biti reč u nastavku
podataka, pomoću modela izgrađenih uz pomoć geometrije , fizike ,
statistike i slično. Kompjuterska percepcija slike omogućava nam
brzu, automatizovanu i u nekim slučajevima pouzdaniju analizu slike
od ljudskog oka. Uzmimo za primer da je primećivanje detalja i
prepoznavanje oblika oblast u kojoj računari zaostaju za ljudskim
okom, dok je zadatak prebrojavanja objekata bolje prepustiti
programiranoj mašini.

Kao naučna disciplina, kompjuterska vizija se bavi teorijom koja stoji


iza veštačkih sistema koji preuzimaju informacije iz slika. Vrste
podataka iz kojih se uzimaju podaci pored slike mogu biti, video
sekvence, prikazi sa više kamera ili multi dimenzioni podaci sa
medicinskih skenera. Ova oblast usko je povezana sa drugim
oblastima iz obrade podataka, te se u istoj podrazumeva primena
metoda digitalne obrade signala, prepoznavanja oblika, spektralne
analize...
2
Pretraživanje slika na osnovu sadržaja predstavlja najadekvatniji prevod
ove široke pod oblasti kompjuterske vizije. Bavi se problemom pronalaženja
slika „sličnih“ uzorku u velikoj bazi podataka. Problem kojim se ova oblast bavi
je upravo ta sličnost i način na koji ćemo je definisati. Pojam content-based se

odnosi na činjenicu da će se za formulisanje sličnosti koristiti isključivo sadržaj

slike (boja, oblici, teksture) za razliku od concept-based pretraživanja koje


koristi ključne reči, tekst u slici i slično (npr. google image search koji pretražuje

na osnovu metadata). metodu koja obuhvata i analizu boja i prostorne raspodele.


Nakon što čovek jednom nauči šta je i kako izgleda drvo, vrlo mu je Ovaj rad baziraće se na analizi boja preko histograma i analizi
prostorne raspodele preko Hough-ove transformacije. U nastavku će biti
jednostavno da intuitivno u kategoriju drvo klasifikuje brezu, topolu i jelku.
opisane same metode kao i njihove primene odnosno prednosti i mane.
Potrebno je da izaberemo neke parametre na osnovu kojih ćemo računar
naučiti da radi isto što i mi. Implementacija CBIR algoritma počinje analizom

slike na osnovu koje vršimo pretragu baze. Postoji više tehnika za poređenje
sadržaja i formiranje kriterijuma pretrage i one se mogu podeliti u tri grupe:

Boja: Računanje mere sličnosti analizom histograma

Tekstura: Posmatra se prostoru raspodelu i tako formira kriterijum


Oblici: Porede se određeni delovi slike i detektuju specifični oblici

Jasno je da ni jedna od ovih metoda nije dovoljna sama sebi i da je


potrebno implementirati kombinaciju dva ili više algoritma. Npr. ako na osnovu
slike crvenog cveta metodom analize boja formiramo kriterijum, pronaći ćemo

u bazi slike cveta sličnih boja ali u koliko u b cvet recimo ljubičast histogram

nam neće pomoći da takvu sliku pronađemo. Zato koristimo kombinovanu


3
Osnovni problem kompjuterske vizije predstavlja sama reprezentacija slike

u računaru. Načina na koji ćemo na računaru interpretirati sliku može biti mnogo i

oni zavise od primene, a kako se oblast obrade slike razvija paralelno sa prvim

računarskim platformama metoda za predstavljanje slike ima mnogo.

RGB model : Predstavlja aditivni model boja u kom crvena, zelena i plava

svojim mešanjem na različite načine reprodukuju veliki broj boja. RGB model je

jedan od privih razvijenih i pored kompjuterske vizije koristi se u TV tehnici kao i

fotografiji. Geometrijska predstava RGB modela zasniva se kocki na čijim se

ivicama nalaze vrednosti od 0 do 1, nijanse zelene, crvene i plave raspoređene su

duž ivica koje kreću iz koordinatnog početka. Svaka tačka u kocki predstavlja

kombinaciju te tri boje tako što reprezentuje boju koja se dobija ortogonalnom
HSV (Hue Saturation Value) model : uz HSL(Hue Saturation Lightness)
projekcijom osnovih(RGB). Koordinatni početak predstavlja belu a tačka (1,1,1)
model predstavlja dve najuobičajenije cilindrične predstave tačaka RGB
crnu boju.
James Clerk Maxwell(1831–1879) modela(postoji i HSI model (H S Intensity). Ovakav vid predstave zasniva se na
http://en.wikipedia.org/wiki/Color_triangle
preuređivanju RGB modela sa ciljem da postane intuitivniji i da za razliku
“Virtual image, a point or system of points,
modela kocke poboljša percepciju u skladu sa ljudskim rezonovanjem. Ovaj
on one side of a mirror or lens, which, if it
model razvijen je 1970e godine za potrebe računarske grafike, i reprezentuje se
existed, would emit the system of rays which
na način da vrednost ugla oko cilindra označava hue (nijansu), udaljenost od
actually exists on the other side of the mirror
osa zasićenje(saturation) dok treću komponentu čini udaljenost duž osa
or lens.”
(lightness brightness ili value) .

4
Histogram boja (slike): predstavlja grafički reprezent rasporeda boja u
digitalnoj slici(fotografiji), koji se dobija prebrojavanjem broja piksela za svaku vredost
boje zastupljene u slici. Histogram predstavlja dobar alat za popravljanje kvaliteta
fotografije a fotografi ga mogu koristiti u realnom vremenu, te na taj način mogu biti
sigurni da će u fotografiji biti obuhvaćeni sve željene boje. Bitno je naglasiti da se
histogra može formirati po komponenti, bilo da to bilo po npr. intenzitetima crvene
boje u RGB ili po zasićenu u HSV modelu.

Gradijent slike : predstavlja promenu intenziteta boje u određenom smeru.

Najpre je bitno fotografiju koja je recimo u HSV formatu konvertovati u intenzitet.


Intenzitet slike predstavlja matrica čije su dimenzije širina i visina slike, a čiji elementi

predstavljaju intenzitete konvertovane u nijanse jedne boje (monohromatske

nijanse). Zatim se formira matrica gradijenata tako što se računaju izvodi intenziteta po

svim pravcima, i tako u svakoj tački dobijamo vektor koji označava u kom pravcu
postoji najveća promena intenziteta. Što je veći intenzitet elementa matrice gradijenta
to je veća promena u toj tački, a praktično se gradijent slike dobija konvolucijom sa

odgovarajućim filtrom. Najveća primena gradijenta je u svrhu detekcije ivica, tako što u
formiranoj gradijent slici pikseli sa najvećim intenzitetom predstavljaju moguće ivice.
Canny edge detektor predstavlja jedan od načina za detekciju ivica.
(http://en.wikipedia.org/wiki/Canny_edge_detector). Navešćemo samo stadijume
ovog algoritma: Smanjivanje šuma, Pronalaženje gradijenta intenziteta slike, Detekcija

tačnih lokalnih maksimuma gradijenta, Detekcija ivica preko histerezisnog praga(visok i


nizak prag), Unapređivanje algoritma primena drugih formula za računanje izvoda po
pravcima (Linderberg 1998 i Haralick-Canny edge detektor) .

5
Hough-ova transformacija Primena
Algoritam linearne Hough-ove transformacije koristi dvodimenzionalni niz, znan
Uvod
kao akumulator, kako bi detektovao postojanje linije opisanu kao 𝜌 = 𝑥 cos 𝜃 +
Hough-ova transformacija je tehnika koja se može iskoristiti za izolovanje
𝑦 sin 𝜃. Dimenzija dvodimenzionalnog niza odgovara broju nepoznatih vrednosti
karakteristika određenog oblika u okviru slike. Kako se zahteva da se željene
parametara (𝜌, 𝜃). Za svaki pixel (x,y) i njegovu okolinu, Hough-ova transformacija
karakteristike predstave u nekoj parametarskoj formi, najčešće korišćena metoda
odlučuje da li postoje dokazi za postojanje prave linije u tom pixelu. Ako postoji,
koja taj proces radi naziva se ’’ klasična ’’ Hough-ova transformacija. Ova
računaju se parametri (𝜌, 𝜃) te linije, i tada se gleda ona pozicija u
transformacija najviše se koristi za detekciju regularnih krivina, kao što su linije,
dvodimenzionalnom nizu, gde parametri upadaju i to mesto se inkrementira.
krugovi, elipse itd... ’’Generalizovana ’’ Hough-ova transformacija može se
Pronalaženjem mesta sa najvećom vrednošću, nalaženjem lokalnih maksimuma u
upotrebiti u primeni gde proste analitičke osobine oblika i nisu moguće. Uprkos
nizu, linija sa najvećom verovatnoćom se može povući, a njegova geometrijska
komplikovanom izračunavanju ’’ generalizovanom’’ Hough-ovom algoritmu, mi
definicija pročitati.
ćemo se držati ’’ klasičnim’’ Hough-ovim metodom. Glavna prednost Hough-ove
metode leži u tome da na nju ne može da utiče šum slike, i to da je totalno Krajnji rezultat linearne Hough-ove transformacije je dvodimenzionalni niz,
tolerantna na rupe u opisima graničnih karakteristika. matrica.
Teorija
Najobičniji slučaj Hough-ovog transformacije je linearna transformacija za Jedna dimenzija ove matrice je kvantizacioni ugao 𝜃 a druga kvantizaciono
detektovanje pravih linija. U prostoru slike, prave linije se mogu napisati u obliku rastojanje 𝜌. Svaki element matrice ima vrednosti jednaku broju tačaka ili piksela
y=mx+b, gde je parametar m nagib linije, a b ona tačka gde linija seče y-osu. U koji su pozicionirani na liniji koju određuju kvatizacioni parametri (𝜌, 𝜃) .Tako
Hough-ovoj transformaciji, glavna ideja je da se karakteristike linije ne smatraju element sa najvećom vrednošću određuje pravu liniju koja je najviše zastupljena u
kao diskretne vrednosti, tj. tačke (x1,y1), (x2,y2).. već da se posmatraju kao ulaznoj slici.
parametri (m,b) - modela. U suštini, prava linija y=mx+b se može predstaviti u
parametarskom smislu kao (m,b). Ali, vertikalne linije predstavljaju problem. Zato
se zbog tehničkih razloga koriste druga dva parametra (𝜌, 𝜃). Ova dva parametra,
predstavljaju polarne koordinate.

Parametar 𝜌 predstavlja rastojanje između


koordinatnog početka i linije, dok je 𝜃 ugao između
koordinatnog početka i linije koja spaja tačku na liniji
koja je najbliža istom. Korišćenjem ovih parametara,
dobijamo sledeću jednačinu :

cos 𝜃 𝑟
𝑦 = (− )𝑥 + ( )
sin 𝜃 sin 𝜃

što se može napisati i kao 𝜌 = 𝑥 cos 𝜃 + 𝑦 sin 𝜃.

6
Pretraživanje pomoću histograma

Pristupićemo detaljnom opisu samog algoritma za formiranje mehanizma za pretraživanje Osnovna ideja je da za slike kažemo da su iste u koliko

baze, pri tom osvrćući se na različite fotografije koje formiraju bazu, prednosti metoda kao i njihove su im histogrami slični odnosno u koliko su iste boje podjednako

mane. Rešavanje svakog problema kompjuterske vizije počinje pred obradom slike, koja može da zastupljene u slici. Faze u formiranju CBIR na osnovu histograma

uključuje skaliranje dimenzija, obradu boje kroz histogram i slično. Pred obrada slika efikasno je su sledeće: Izbor modela boja, Računanje Histograma,

obavljena u Adobe Photoshop-u gde mogućnost automatizacija ovih procesa omogućava elegantno i Računanje razlika između histograma, identifikacija (formiranje

kvalitetno rešenje. baze, odnosno kakve slike je čine). Svaki od ovih koraka je

podjednako važan za pravilno funkcionisanje i bitno je da se sa


Kao što je ranije navedeno za kvalitetan CBIR algoritam potrebno je uzeti u obzir boje kao i
pažnjom izaberu parametri i konstruiše svaki od navedenih
prostornu raspodelu elemenata slike. Algoritam koji ćemo opisati za analizu boja koristi procenu
koraka.
histograma a za prostoru raspodelu Hough transformaciju.

Izbor modela boja:

RGB model nije percepcijski uniforman i da bi se

postigla dobra predstava boje potrebno je uzeti male nivoe

kvantizacije da bi se različite boje predstavile zasebnim bitom a

to povećava vreme za izračunavanje i posebno za velike

histograme ovo računanje postaje nemoguće. Zato koristimo

HSV model, čijom analizom izbegavamo predstavljanje različitih

boja u histogramu istim bitom čime je lakše samo predstavljanje

boja a računanje postaje mnogo lakše.

7
Računanje histograma:

Za računanje histograma zaključili smo da je najbolje primeniti HSV model

i nakon konverzije iz RGB pristupamo brojanju komponenata po Hue, Saturation i

Value. Formiramo vektor čije koordinate predstavljaju vrednosti po H, S odnosno

V a vrednost samu akumulaciju broja tačaka sa istom kombinacijom H,S V,

odnosno sam histogram. Histogram ćemo i normalizovati, odnosno podeliti ih sa

dimenzijom slike kako bi vrednosti bile od 0 do 1. Za kvantizacioni nivo

histograma izabrali smo vrednost 0,1 a zatim kako bismo formirali kontinualnu 3d

funkciju vršimo interpolaciju tako dobijenih funkcija uzimajući duplo više tačaka

radi veće preciznosti.

Računanje razlika između histograma-mera sličnosti

Na kraju, došli smo i do faze gde se vrši upoređivanja histograma između

slika iz baze i one slike koje ubacujemo u pretraživač. Za svaku od slika unutar

baze računamo koeficijent sličnosti sa onom koja je u pretraživaču. To radimo

preko formule napisane u kodu, koja je uzeta iz literature koju smo koristili tokom

izrade ovog projekta, kao veoma tačna sa jednim našim dodatkom u vidu dizanja

brojioca na drugi stepen. Kao što se može primetiti, formulu smo usavršili, i željeni

rezultati su u velikoj meri zastupljeni. Postoji veliki broj metoda koje smo pokušali

da iskoristimo, poput sume kvadrata ili kosinusnog koeficijenta ali nam je ova

metoda pokazala najbolje rezultate.

8
Pretraživanje pomoću Hough-ove transformacije

Kao što smo ranije naglasili ova metoda omogućava nam

rešavanja problema pretraživanja baze u potrazi za sličnim slikama kada

se informacija o sličnosti krije u prostornoj raspodeli. Iz teorije smo videli

način formiranja Houghove matrice koju možemo intuitivno opisati kao

ekvivalentnu histogramu samo što u sebe uvrštava prebrojavanje linija na

slici. Dakle upoređivanjem prebrojanih linija za svako ρ i ϴ u matrici

Hough-ove transformacije dobijamo meru sličnosti prostorne raspode le

linija između dve slike, odnosno oblika. Postupci ovakvog algoritma

uključuju sledeći korake: Skaliranje slika, Konvertovanje slike u intenzitet,

Pronalaženje ivica, Hough transformacija, Računanje sličnosti.


Konvertovanje slike u intenzitet, Pronalaženje ivica, Hough transformacija: Sve
Skaliranje slika Dimenzije slike direktno utiču na velicinu matrice ove korake smo detaljno opisali u okviru poglavlja teorijske osnove a matlab u sebi ima
Hough transformacije i zato je potrebno da ili sve slike u bazi budu iste ugrađene funkcije koje implementiraju ove algoritme.
veličine ili da vršimo skaliranje. Jako je nezahvalno formirati bazu sa Računanje sličnosti: Samo polje Houghovog prostora predstavlja specifičan
slikama istih dimenzija iz prostog razloga što je sa aspekta primene prostor koji je moguće analizirati na različite načine, sa više ili manje uspeha u analizi kako
poželjno da algoritam ne bude osetljiv na sadržaj i vrstu slika iz baze. percepcije tako i izvlačenja obeležja. Od ključne važnosti je način na koji ćemo sliku
Potrebno je naravno imati na umu da skaliranje može uticati na tumačiti preko Houghove transformacije, i upravo od ovog koraka najviše zavisi uspešnost
prostornu raspodelu i taj problem se može rešiti pred obradom slika u algoritma. Način na koji ćemo formirati sličnost zavisi isključivo od problema koji želimo da
Adobe Photoshopu, a način da skaliranjem ne izgubimo tačnu prostornu rešimo, odnosno za kakve slike tražimo pretraživanje , no o tome će biti reči nešto kasnije.
raspodelu sadržaja slike. Bitno je naglasiti da smo za korak ugla u okviru Hough-ove transformacije izabrani 1 stepen

jer se to rešenje pokazalo kao optimalno sa stanovišta robusnosti.

9
oblik, cvetove drugih boja. Formiranjem jednostavnog kombinovanog
U okviru ovog poglavnja bavićemo se analizom rezultata algoritma.
pretraživača dobijamo kombinovano rešenje koje uzima prednosti a izbegava
Obuhvatićemo analizu pretrage na bazi boje za različite baze slika, analizirati
mane obe metode.
rezultate za pretragu po boji i po oblicima, analizirati prednosti i mane jednog

odnosno drugog, formirati zajedničko pretraživanje i doneti ocenu kvaliteta

pretraživača.

Najpre ćemo formirati pretragu na istoj bazi slika i uporediti dobijene

rezultate za pretragu po boji i po obliku, tako što za sliku kojoj tražimo slične

uzmemo istu za obe metode. Baza podataka se sastoji iz različitih slika koje

obuhvataju najrazličitije boje, složnosti slike i dr.

Jasno se vide prednosti i mane jednog i drugog metoda. Analizom

histograma crveni cvet će prepoznati kao sličan cvet iste boje a različitog oblika.

Dok će kod sličnosti formirane Houghovom transformacijom uspeti da prepoznaju

13
Mana pretrage preko Hough-ove transformacije je
u činjenici da za složenije objekte ona postaje
nepouzdanija kao što se vidi na slici. U zavisnosti od
konkretnog zadatka možemo povećati uspešnost
pretrage na uštrb robusnosti. Tada problem postaje
konkretizovaniji za prepoznavanje određenih objekata, za
koje posebno računamo optimalne parametre poput
pragova sličnosti ugla Hough transformacije i slično.
Houghova transformacija izrazito dobre osobine pokazuje
kada su objekti na slici jednostavni, i to ćemo ilustrovati
kroz 4 primera na bazi slika(dole) sa jednostavnim
oblicima(uspešno pronalaženje). Ovde se ilustrativno vide
sve prednosti Hough trasformacije odnosno pronalaženja
na osnovu sličnosti objekata na slici.

14
Metoda pretrage preko histograma kao mane
ima jednostavno prepoznavanje recimo cvetova koji
uključuju potpuno različite tonalne intenzitete. Ovaj
način pretrage dobar je kada je u pitanju pretraga slika
sa sličnim tonovima, a najbolji primer za to su slike
prirode.

15
Mogućnosti poboljšavanja performansi
algoritma najpre smo uvideli u smanjivanju vremena
za računanje, na način da jednom izračunamo sve
potrebne transformacije za odgovarajuću bazu a
onda da te podatke pozivamo tokom pretrage. Time
ne bismo morali da u svakom koraku vršimo
izračunavanje.

Kroz opisane metode prošli smo kroz osnovne


probleme pretraživanja baza slika odnosno CBIR-a,
dali neka rešenja i analizirali prednosti i mane dve
metode. Bitno je naglasiti da za složene probleme
CBIR-a formiraju programski algoritmi koji se
analiziraju mesecima, pa i godinama. Takvi veliki
sistemi uključuju veliki broj dostupnih detektora
obeležja slika i pomoću adaptivnih klasifikatora
pretraživanje vrši na način da za svaku sliku vrši
najpre pred analizu kojom određuje najbolji metod za
konkretnu query sliku. Jedan od najboljih primera
ovakvog složenog algoritma je Google-ov image
pretraživač .

http://www.youtube.com/watch?feature=player_embedded&v=t99BfDnBZcI

16

You might also like