6
Implementacija Gaborovog filtra na FPGA za detekciju oštećenja na asfaltu Sažetak-Cilj ovoga projekta je razviti jeftino rješenje koje će omogućiti prepoznavanje rupa i oštećenja na cesti korištenjem FPGA (eng. Field Programmable Gate Arrays). Ovo rješenje može poslužiti prilikom realizacije sistema za asistenciju vozačima u cilju izbjegavanja oštećenja na cesti. Problemi koji se javljaju prilikom detekcije oštećenja na industrijskim materijalima su obično vrlo složeni i zahtijevaju integrirana rješenja koja mogu biti realizirana u stvarnom vremenu korištenjem 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 poređenju sa konvencionalnim metodama detekcije je predstavljen u nastavku rada. Ključne riječi: FPGA, Gabor filter, oštećenja. I. UVOD Prepoznavanje rupa je slično prepoznavanju prepreka koji se mogu naći na putu, s tim da su oštećenja u obliku rupa češća od prepreka. Pristup koji je korišten prilikom rješavanja ovog problema je različita vizuelna predstava rupe u odnosu na njezinu okolinu. Osnovna ideja ovoga sistema jeste upozorenje vozačima prilikom nailaska na oštećenja na putu, kako bi prilagodili brzinu uslovima na cesti te da bi ih eventualno mogli izbjeći i obavjestiti lokalne službe za održavanje cesta o njihovom postojanju. Razlike srednje vrijednosti sive boje na malom prostoru nisu uvijek dovoljne za detekciju oštećenja. Umjesto toga mora se oslanjati na vrijednosti sive boje u susjednim pikselima. Izdvajanje oštećenja podrazumjeva identifikaciju područja sa ravnomjernom teksturom na slici. Regija na slici ima stalnu teksturu ako skup lokalnog učinka ili drugih lokalnih osobina teksture su konstantni, sporo se mjenjaju ili su približno periodične. [1] Različiti pristupi za otkrivanje ostećenja 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 oštećenjem. Glavni doprinos rada je : Pravilo kombinovanja koje predlažee da se integriraju informacije iz različitih kanala. Ovaj pristup nudi visok stepen detekcije i nizak stepen lažnih alarma. Uvođenje „varijable osjetljivosti“ poboljšava performanse razvijenog algoritma Visoka osjetljivost i mala konvoluciona maska čini ovaj algoritam računski isplativ, a time povećava i real-time performanse. Predstavljena je detekcija oštećenja pomoću Gaborovog filtera. Faruk Zaimović, student, Univerzitet u Sarajevu, Elektrotehnički fakultet, [email protected] Sadžid Smajkić, student, Univerzitet u Sarajevu, Elektrotehnički fakultet, [email protected] Adnan Mehremić, student, Univerzitet u Sarajevu, Elektrotehnički fakultet, [email protected]

Implementacija Gaborovg Filtra Na FPGA Za Detekciju Oštećenja Na Asfaltu

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.