Upload
faruk1991
View
25
Download
2
Embed Size (px)
DESCRIPTION
Implementation of Gabor Filter on FPGA
Citation preview
Implementacija Gaborovog filtra na FPGA za
detekciju oteenja na asfaltu
Saetak-Cilj ovoga projekta je razviti jeftino
rjeenje koje e omoguiti prepoznavanje
rupa i oteenja na cesti koritenjem FPGA
(eng. Field Programmable Gate Arrays). Ovo
rjeenje moe posluiti prilikom realizacije
sistema za asistenciju vozaima u cilju
izbjegavanja oteenja na cesti. Problemi
koji se javljaju prilikom detekcije oteenja
na industrijskim materijalima su obino vrlo
sloeni i zahtijevaju integrirana rjeenja
koja mogu biti realizirana u stvarnom
vremenu koritenjem FPGA sistema.
Detaljan opis sistema koji je baziran na
procesiranju slika, razvijen u cilju
analiziranja podataka snimljenih kamerom,
koji daje bolju efikasnost i preciznost u
poreenju sa konvencionalnim metodama
detekcije je predstavljen u nastavku rada.
Kljune rijei: FPGA, Gabor filter,
oteenja.
I. UVOD
Prepoznavanje rupa je slino prepoznavanju
prepreka koji se mogu nai na putu, s tim da su
oteenja u obliku rupa ea od prepreka.
Pristup koji je koriten prilikom rjeavanja ovog
problema je razliita vizuelna predstava rupe u
odnosu na njezinu okolinu. Osnovna ideja
ovoga sistema jeste upozorenje vozaima
prilikom nailaska na oteenja na putu, kako bi
prilagodili brzinu uslovima na cesti te da bi ih
eventualno mogli izbjei i obavjestiti lokalne
slube za odravanje cesta o njihovom
postojanju.
Razlike srednje vrijednosti sive boje na malom
prostoru nisu uvijek dovoljne za detekciju
oteenja. Umjesto toga mora se oslanjati na
vrijednosti sive boje u susjednim pikselima.
Izdvajanje oteenja podrazumjeva
identifikaciju podruja sa ravnomjernom
teksturom na slici. Regija na slici ima stalnu
teksturu ako skup lokalnog uinka ili drugih
lokalnih osobina teksture su konstantni, sporo
se mjenjaju ili su priblino periodine. [1]
Razliiti pristupi za otkrivanje osteenja na
putu (asfaltu) se temelje na izdvajanju osobina
u prostornoj domeni. U osnovi adaptivnog
wavelet-a ima veliku osjetljivost na nagle
promjene u strukturi uzrokovane oteenjem.
Glavni doprinos rada je :
Pravilo kombinovanja koje predlaee
da se integriraju informacije iz
razliitih kanala. Ovaj pristup nudi
visok stepen detekcije i nizak stepen
lanih alarma.
Uvoenje varijable osjetljivosti
poboljava performanse razvijenog
algoritma
Visoka osjetljivost i mala konvoluciona maska ini ovaj algoritam raunski isplativ, a time poveava i real-time performanse.
Predstavljena je detekcija oteenja pomou Gaborovog filtera.
Faruk Zaimovi, student,
Univerzitet u Sarajevu,
Elektrotehniki fakultet, [email protected]
Sadid Smajki, student,
Univerzitet u Sarajevu, Elektrotehniki fakultet, [email protected]
Adnan Mehremi, student,
Univerzitet u Sarajevu, Elektrotehniki fakultet, [email protected]
II. GABOR FILTER
Gabor filer je linearni filter koji se koristi za
detekciju ivice u obradi slike, a ime je dobio po Dennisu Gaboru. Orijentacije i frekvencije
Gabor filtera su sline frekvencijama i orijentacijama za ljudski vizuelni sistem za
predstavljanje teksture i razlikovanje tekstura. Sinusoidalna ravan je modulisana 2D
Gaborovim filterom ije jezgro je Gaussova funkcija u prostornom domenu. Od jednog wavelet roditelja svi Gabor filteri mogu nastati dilatacijom i rotacijom pa su tako Gabor
filtri slini jedni drugima. Harmonijska funkcija pomnoena sa Gaussovom funkcijom daje impulsni odziv Gaborovog filtra. Konvolucija
Fourierove transformacije Gaussove funkcije i
Fourierova transformacija harmonijske funkcija je Fourierova transformacija impulsnog odziva.
Ortogonalni pravci su predstavljeni
imaginarnim i realnim dijelom filtra. Ove dvije komponente se mogu spojiti u kompleksni oblik
ili koristiti odvojeno. U principu,
dvodimenzionalna Gaborova funkcija je
izraena kao [2]:
(, ) =1
2
[12
(2
2 +
2
2) ]
(20) (1)
Gdje uo predstavlja frekvenciju Gaborove funkcije. Konstante x i y predstavljaju duinu Gaussove ovojnice du x i y-ose. Koristei (1) kao matricu gabor wavelet-a moemo dobiti odgovarajuu banku filtera pomou odgovarajue dilatacije i rotacije funkcije f(x,y) kroz generiku funkciju: (, ) =
( , ) (2)
= ( + ) (3)
= ( + ) > 1; = 1,2, , ; = 1,2, , (4)
Parametri p i q predstavljaju indekse skala
(dilatacija) i orijentacija, respektivno. S je ukupan broj skala, a L je ukupan broj
orijentacija. Za svaku orijentaciju q ugao q je dat kao:
=( 1)
(5)
Vana osobina Gaborovog filtera je mogunost postizanja maksimalne lokalizacije ili
rezolucije u prostornom i u prostorno-
frekventnom domenu. Jedan od nedostataka je injenica da filteri nisu ortogonalni ali su kompletni za prikazivanje vizuelnih
informacija. Gabor filter svoju osobinu
izdvajanja osobina duguje mogunosti podeavanje orijentacije filtera za svaku odabranu frekvenciju, koja zavisi od broja
skala.
III. IZDVAJANJE OBILJEJA
Karakteristike slike se dobiju filtriranjem
(konvolucijom) slike sa svakim od filtera iz
banke filtera. Dobijanje svakog filtera pojedinano objanjeno je u prethodnom poglavlju. Ukupan broj filtera u banci je SL (broj skalabroj orjentacija). Konvolucija se vri konvolucionom maskom dimenzija 3x3 piksela. Maska veih dimenzija daje bolje rezultate ali je vrijeme izvrenja due, tako da se trai kompromis izmeu vremena izvrnja i veliine maske.
IV. DETEKCIJA OTEENJA
Jedna od prednosti ovog filtera to detekciju oteenja vrimo direktno koristei vektor obiljeja dobijen na nain objanjen u prethodnom poglavlju. Iz tog vektora obiljeja izdvajamo SL slika koje nam slue da dobijemo konanu sliku prema algoritmu (6):
Dpq(x, y) = {Rpq(x, y), |Rpq(x, y) pq| K v
0, inae
Gdje Dpq predstavlja sliku dobijenu obradom algoritma, Rpq sliku dobijenu konvolucijom
filtera p-skale i q-orijentacije sa slikom koju
obraujemo, pq predstavlja srednju vrijednost Rpq slike i srednja vrijednost svih srednjih vrijednosti konvoluiranih slika. K predstavlja
koeficijent osjetljivou kojim ustvari odreujemo da li je na tom pikselu oteenje asfalta.
V. SJEDINJENJE SLIKA
Zadatak modula stapanja slika je kombinovanje svih piksela koji imaju veliku vjerovatnou da budu oteene u jednu sliku. Algoritam sjedinjuje (sabire) sve slike koje su ujedno prole dio za detekciju oteenja. Na kraju se tako dobijena slika podijeli sa ukupnim brojem
slika kako bi se dobila slika-Z koja je srednja
vrijednost svih slika Gaborovog filtera.
Z =1
p q Di
pq
i=1
(7)
VI. REZULTATI
Implementaciju algoritma smo radili na
FPGA(eng. Field Programmable Gate Arrays)
kola. Prvo to je bilo potrebno jeste odrediti broj skala i broj orijentacija. Broj skala u principu predstavlja broj nivao intenziteta sive na slici
koja se uzorkuje dok broj orijentacija moemo povezati sa brojem orijentacija koje mi prividno moemo uoiti na slici. To odreujemo individualno i u kombinaciji sa slikama koje
dobijemo filtriranjem. Uzastopnim mijenjanjem broja skala i orijentacija moemo dobiti odline parametre za odreenu sliku, meutim cilj ovog rada je implementacija Gabor filtra na FPGA te
pokazati na primjeru detekciju rupa (oteenja) asfalta.
Jo jedan bitan dio je da li koristiti realni dio dobijenih slika ili amplitudni dio. U ovom radu
mi smo koristili realni dio, samo zato da bi dali
primjer primjene, na analogan nain kako je raeno za realni dio tako se moe odraditi i amplitudni.
Kroz filtriranje vie slika eljeli smo pokazati kako se filtiranje odraava na razliita oteenja, i takoer da na filtiranje odnosno detekciju oteenja itekako utjee prag, odnosno koficijent K koji je objanjen ranije (6). Takoer, smo pokazali da sa poveenjam broja skala i orijentacija poveava se i kvalitet filtiranja odnosno preciznije se dobija povr oteenja. Mi smo kao primjer uzeli 1x1 (skala x orijentacija) i 2x2 (skala i orijentacija), i mogu
se primjetiti razlike u filtiranju kako vizuelno tako i kroz vrijednosti MSE (eng. mean squared
error) i PSNR (eng. peak signal to noise ratio) koje su navedene u tabli 1 i tabeli 2 za primjere
slika koje smo obraivali. Na sljedeim slikama moemo vidjeti rezultat proputanja slika kroz implementirani Gaborov filter, pri tome koristei 4 filtra i 1 filter. Na izlazima iz filtra se jasno vidi detekcija oteenja, to je i bio cilj ovog rada.
Slika 1. Koritenjem 4 filtra
Slika 2. Koritenjem 4 filtra
Slika 3. Koritenjem 4 filtra
Slika 4. Koritenjem 4 filtra
Slika 5. Koritenjem 1 filtra
Slika 6. Koritenjem 1 filtra
Slika 7. Koritenjem 1 filtra
Slika 8. Koritenjem 1 filtra
Takoer, jako je bitno naglasiti da se vrijednost
detekcije oteenja moe mijenjati za razliite
vrijednosti parametara koji su definisani u
formuli za raunanje odziva filtera, zbog
veliine rada a i vremena mi smo se ograniili
na jedne parametre. A vrijeme izvrenja
filtiranja direktno zavisi od broja skala i
orijentacija, tako da se trai kompromis izmeu
vremena izvrenja i preciznosti detekcija. Na
ovom primjeru moe se primjetiti detekcija ak
i najsitnijih detalja na slici.
Ovo predstavlja matricu piksela slike koje
uzimamo da moemo vriti konvoluciju sa (i, j)
Gaborovim filterom, sa oznakama koje su
koriene na pravom modelu.
(1_2 1_1 12_2 2_1 23_2 3_1 3
) (8)
U nastavku je Matlab kod za raunanje matrice
Gaborovih filtera, za vrijednosti parametara
koje smo koristili u naem radu. I kroz ovaj kod
nam i ukazuje na primjer kako Gabor filter u
principu radi.
u=2;
v=2;
m=3;
n=3;
fmax = 0.125;
gama = 0.8;
eta =0.8;
for i = 1:u
fu = fmax/((sqrt(2))^(i-1));
alpha = fu/gama;
beta = fu/eta;
for j = 1:v
tetav = ((j-1)/8)*pi;
gFilter = zeros(m,n);
for x = 1:m
for y = 1:n
xprime = (x-
((m+1)/2))*cos(tetav)+(y-
((n+1)/2))*sin(tetav);
yprime = -(x-
((m+1)/2))*sin(tetav)+(y-
((n+1)/2))*cos(tetav);
gFilter(x,y) =
(fu^2/(pi*gama*eta))*exp(-
((alpha^2)*(xprime^2)+(beta^2)*(ypri
me^2)))*exp(1i*2*pi*fu*xprime);
end
end
gFilter
end
end
Formule koritene za raunanje MSE (9) i
PSNR:
= ( (( )
2))
255 255
= 10 10 (1
) (10)
Tabela 1. Vrijednosti MSE i PSNR-a pri
koritenju 4 filtra
Slika 1 Slika 2 Slika 3 Slika 4
MSE 0.2954 0.3586 0.3453 0.3080
PSNR 5.2965 4.4537 4.6174 5.1151
Tabela 2. Vrijednosti MSE i PSNR-a pri
koritenju 1-nog filtra
Slika 1 Slika 2 Slika 3 Slika 4
MSE 0.3102 0.3727 0.3614 0.3225
PSNR 5.0833 4.2868 4.4198 4.9149
VII. PRIJEDLOG ZA BUDUI RAD
Za budui rad na ovom ili slinom modelu,
predlaemo da se uradi za velik broj skala i
orijetacija npr. 39x39 te vriti testiranja na
razliitu veliinu odnosno uzimati dosta veu
veliinu (i, j) Gaborovog filtera od one koja je
koritena u ovom radu. Takoer, model se
moe prilagoditi i za detekciju drugih oteenja
kako npr. oteenje platna, a to zavisi od broja
skala i orijentacija i od koeficijenta K koji jako
utjee na preciznost detekcije. Isto tako moe se
raditi i detekcija u videu, jer video se sastoji od
niza slika, gdje bi svaku sliku zasebno
analizirali kao jednu sliku. Izmeu ostalog
moe pokuati uraditi i za razliite oblasti
analize slike, te pokuati nai optimalno K koje
e podrati te modele.
VIII. ZAKLJUAK
U ovom radu je opisan postupak podeavanja
Gaborovog filtera za prepoznavanje oteenja
na asfaltu koji je impelmentiran na FPGA. Kroz
cijeli postupak implementacije/podeavanja su
izvueni zakljuci koji mogu posluiti prilikom
odreivanja parametara za drugi tip greke ili za
podeavanje Gabor filtera za detekciju obiljeja
na bilo kojim drugim slikama. Moe se
zakljuiti da koritenjem veeg broja filtera,
poveava se preciznost detekcije oteenja, a
samim tim poveava se kompleksnost i vrijeme
izravanja. Na osnovu svega izneenog u radu,
jasno je da su mogunosti primjene Gaborovog
filtra mnogobrojne.
Reference:
[1] Ajay Kumar, Grantham Pang, Defect detection in textured materials using Gabor filters, Industrial
Automation Research Laboratory, The University of
Hong Kong, 2000
[2] Ajay Kumar, Grantham K. H. Pang,, Defect Detection in Textured Materials Using Gabor Filters,
IEEE transactions on Industry aplications, vol. 38, no. 2,
March/April 2002.