You are on page 1of 6

Implementacija Gaborovog filtra na FPGA za

detekciju oteenja na asfaltu


Faruk Zaimovi, student,

Sadid Smajki, student,

Adnan Mehremi, student,

Univerzitet u Sarajevu,
Elektrotehniki fakultet,
fzaimovic1@gmail.com

Univerzitet u Sarajevu,
Elektrotehniki fakultet,
ssmajkic1@etf.unsa.ba

Univerzitet u Sarajevu,
Elektrotehniki fakultet,
mehremic.a@gmail.com

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.

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
poboljava
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.

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.

varijable osjetljivosti
performanse razvijenog

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]:
2

[ ( 2 + 2 ) ]
1
(, ) =
2 (20)
2

(5)

Vana osobina Gaborovog filtera je mogunost


postizanja
maksimalne
lokalizacije
ili
rezolucije u prostornom i u prostornofrekventnom 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.

(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:
(, ) = ( , )
= ( + )
= ( + )
> 1; = 1,2, , ; = 1,2, ,

( 1)

(2)
(3)
(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:

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):
R (x, y), |R pq (x, y) pq | K v
Dpq (x, y) = { pq
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.

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.

pq

1
Di
Z=
pq

(7)

i=1

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 1. Koritenjem 4 filtra

Slika 2. Koritenjem 4 filtra

Slika 3. Koritenjem 4 filtra

Slika 4. Koritenjem 4 filtra

Slika 7. Koritenjem 1 filtra

Slika 5. 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.
Slika 6. Koritenjem 1 filtra

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
(2 _2
3 _2

1 _1
2 _1
3 _1

1
2 )
3

Formule koritene za raunanje MSE (9) i


PSNR:
2

( (( ) ))
255 255

(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

= 10 10 (

1
)

(10)

Tabela 1. Vrijednosti MSE i PSNR-a pri


koritenju 4 filtra
MSE
PSNR

Slika 1
0.2954
5.2965

Slika 2
0.3586
4.4537

Slika 3
0.3453
4.6174

Slika 4
0.3080
5.1151

Tabela 2. Vrijednosti MSE i PSNR-a pri


koritenju 1-nog filtra
MSE
PSNR

Slika 1
0.3102
5.0833

Slika 2
0.3727
4.2868

Slika 3
0.3614
4.4198

Slika 4
0.3225
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.

You might also like