Gabor filter

Gabor-filtret  är ett linjärt elektroniskt filter vars impulssvar definieras som en harmonisk funktion multiplicerad med en Gauss . Vid digital bildbehandling används detta filter för att känna igen objektens gränser.

På grund av egenskapen att matcha tidsdomänfaltningen med frekvensdomänmultiplikationen är Fouriertransformen av Gabor-filtrets impulssvar faltningen av Fouriertransformerna av den harmoniska funktionen och Gaussian.

var

I denna ekvation representerar våglängden för cosinusmultiplikatorn, bestämmer orienteringen av normalen för de parallella remsorna i Gabor-funktionen i grader,  är fasförskjutningen i grader, och  är den kompressionsfaktor som kännetecknar Gabor-funktionens ellipticitet .

Gabor-filter är direkt relaterade till Gabor -vågor , eftersom de kan konstrueras genom en serie av kompressioner och rotationer. Gabor-utrymme (falsning av ett filter med en signal) används ofta i olika bildbehandlingstillämpningar , särskilt för irisigenkänning i biometriska säkerhetssystem och i automatiserade åtkomstkontrollsystem baserade på fingeravtrycksigenkänning.

Algoritm för att konstruera ett endimensionellt Gabor-filter

För att konstruera ett endimensionellt Gabor-filter används följande formel: ,

var:

Ju större , desto plattare blir funktionen. Ju mindre , desto skarpare blir toppen som ett resultat av att plotta funktionen.

Ovanstående exponentialfunktion har egenskaperna hos en normalfördelning av en slumpvariabel. Enligt tre sigma-regeln ligger nästan alla värden på exponenten i intervallet . För signalanalys beräknas funktionsvärden inom de angivna gränserna.

Bearbetning av en endimensionell signal av Gabor-filtret

Varje punkt i insignalen omvandlas till motsvarande punkt i utsignalen genom att medelvärdena för insignalens värde över området , med hänsyn till viktkoefficienterna för Gabor-formeln.


var:  är ingångsvärdet för signalen vid punkten ,  är utgångsvärdet för signalen vid punkten ,  är värdet på Gabor-funktionen, .

Algoritm för att konstruera ett tvådimensionellt Gabor-filter

För att konstruera ett tvådimensionellt Gabor-filter används följande formel:

var:  är standardavvikelserna för den Gaussiska kärnan, längs axlarna och , som bestämmer filtrets förlängning längs axlarna,  är filtrets frekvensmodulering,
 — Filtrets rumsliga orientering, som bestämmer dess orientering i förhållande till huvudaxlarna.

2D-bildbehandling av Gabor-filtret


Bildbehandling med Gabor-filtret uppnås genom att medelvärdena för den bearbetade bilden beräknas över ett visst område vid varje punkt. Följaktligen har inläggningen av Gabor-filtret på bilden formen: där:  är intensiteten för den ursprungliga bilden vid punkten ,  är intensiteten för den nya bilden vid punkten ,  är värdet på Gabor-funktionen, . Om vi ​​kasserar den sinusformade komponenten av funktionen i Gabor-filtret, kommer den att urarta till ett Gaussiskt oskärpafilter (Gaussiskt oskärpa) . Därför är det uppenbart att dessa två filter har nästan samma applikationsalgoritm, vilket skiljer sig åt i vissa detaljer. Det kan ses från Gabor-formeln att filtret beror på frekvensen och riktningen för bildens kvasi-periodiska struktur. Innan filtret appliceras är det därför nödvändigt att konstruera frekvens- och orienteringsfälten för den aktuella bilden. Vanligtvis, för att förenkla uppgiften, beräknas bildens genomsnittliga frekvens, som anses vara oförändrad vid varje punkt. För att konstruera riktningsfältet kan flera metoder användas, varav den snabbaste är differentialmetoden, som låter dig bygga ett fyrgradigt riktningsfält. Med en frekvens och 4 riktningar är 4 Gabor-filter förbyggda, ett för varje riktning. Därefter, vid varje punkt i bilden, viks filtret med bilden över ett visst område, vilket ger utdatavärdet för den nya bilden. Gabor-filtret är effektivt för att bearbeta bilder med strukturell redundans som har en kvasi-periodisk struktur. Dessa inkluderar fingeravtrycksbilder, bilder av kristallogram och interferrogram. I vilda djur finns en liknande färg ofta i zebror, olika kattdjur (tigrar, lodjur, rökiga katter), fåglar (orre), fiskar (randig leporinus) och andra representanter för flora och fauna.









Implementeringsexempel

Här är ett exempel på implementering av Gabor-filtret för Matlab -paketet :

funktion gb = gabor_fn ( sigma_x, theta, lambda, psi, gamma ) sz_x = fix ( 6 * sigma_x ); % baserat på värdet på sigma fick storleken på kärnan sz_x = sz_x - mod ( sz_x , 2 ) + 1 ; % om jämnt - gör det udda sz_y = fix ( 6 * sigma_x / gamma ); % baserat på värdet av sigma och koefficient. komprimering fick den andra kärnstorleken sz_y = sz_y - mod ( sz_y , 2 ) + 1 ; % om jämnt - gör det udda [ x y ] = meshgrid ( - fix ( sz_x / 2 ): fix ( sz_x / 2 ), fix ( - sz_y / 2 ): fix ( sz_y / 2 )); % omfattning % Rotera x_theta = x * cos ( theta ) + y * sin ( theta ); y_theta = - x * sin ( theta ) + y * cos ( theta ); gb = exp ( - .5 * ( x_theta .^ 2 / sigma_x ^ 2 + gamma ^ 2 * y_theta .^ 2 / sigma_x ^ 2 )) * cos ( 2 * pi * x_theta ./ lambda + psi ); % kärna

Se även

Litteratur

  • Soifer V.A. Metoder för datorbildbehandling . - Fizmatlit, 2003. - S.  459 .
  • Khramov, A. G. Metoder för att återställa interferrogram på en dator. - KuAI, 1988. - S. 88.