Gabor-Filter

Ein Gabor-Filter ist ein in der Bildverarbeitung und der Signalverarbeitung benutzter Filter. Er ist nach Dennis Gabor benannt, der ihn als 1D-Filter für die Signalverarbeitung vorschlug.[1] Das Gabor-Filter wurde von Gösta Granlund auf die Anwendung für 2D-Bilder verallgemeinert.[2] Das Gabor-Filter ist ein linearer Filter und wird vielfach als Vorverarbeitung zur Extraktion von Kanten und Linen in der Bildanalyse verwendet.[3]

In neurophysiologischen Untersuchungen konnte gezeigt werden, dass das Übertragungsverhalten des visuellen Systems höherer Lebewesen in einer bestimmten Verarbeitungsstufe, im Bereich der sogenannten einfachen Zellen, erstaunlich genau durch Gaborfunktionen modelliert werden kann.[4][5][6] Die zwei existierenden Theorien über das visuelle System, auf der einen Seite das Modell der lokalen rezeptiven Felder von Hubel und Wiesel[7] und auf der anderen Seite das visuelle System als Fourieranalysator[8] konnten durch dieses Modell erweitert und in gewisser Weise vereint werden.

Eine weitere wesentliche Eigenschaft der Gabor-Filter ergibt sich durch die spezielle Form der Filterfunktion. Gabor[1] konnte zeigen, dass die nach ihm benannten Elementarsignale die Unschärferelation der Informationstheorie durch ihr minimales „Zeit-Bandbreite-Produkt“ an der unteren Grenze erfüllen. Für die Bildverarbeitung ergibt sich hieraus die Möglichkeit, Bilder frequenzselektiv bei optimaler Auflösung im Orts- und Ortsfrequenzbereich zu filtern. Wird der Filter so eingestellt, dass die Filterübertragungsfunktion keinen Gleichanteil aufweist und für negative Frequenzen verschwindet, spricht man von einem Quadraturverhalten. Diesen Filtern kommt in der Stereobildverarbeitung eine besondere Rolle zu, da sich die lokalen Bildverschiebungen (Disparitäten), die zur Tiefenrekonstruktion verwendet werden, aus der Phaseninformation der Filterantworten ermitteln lässt.[9]

Definition

Die Impulsantwort des Filters wird durch die Multiplikation eines Sinusoids und einer Gauß-Funktion bestimmt.[11]

Der Filter hat einen realen und einen imaginären Anteil, welche orthogonal zueinander stehen.[12] Dies erlaubt die Nutzung als komplexe Zahl oder in zerlegte reale und imaginäre Komponenten.

Komplex:

Real:

Imaginär:

mit und .

Hierbei ist die Wellenlänge des Sinus, ist die Orientierung der Gabor-Funktion zur Normalen. ist die Phasenverschiebung, ist die Standardabweichung der umhüllenden Gauß-Verteilung und ist das Seitenverhältnis des Kernels und bestimmt die Exzentrizität der Kernel-Funktion.

Feature Extraktion aus Bildern

Eine Filterbank aus mehreren Gabor-Filtern mit unterschiedlichen Frequenzen und Orientierungen kann benutzt werden, um verschiedene Merkmale (Features) in einem Bild zu erkennen.[13]

Werden die Filter dabei in Oktaven mit logarithmisch zunehmender Bandbreite eingeteilt, ergibt sich eine Auflösungspyramide mit der sich Grob-Feinstrategien in der Bildverarbeitung realisieren lassen. Hierbei können die Filterergebnisse bei Einhaltung des Shannon-Abtasttheorems entsprechend komprimiert werden, um den Berechnungsaufwand der nachfolgenden Verarbeitungsschritte zu reduzieren.[10][3]

In der Stereobildverarbeitung bieten orientierungsselektive Gaborfilter die Möglichkeit, gerichtete Intensitätsändeungen (z. B. Kanten- oder Linienstrukturen) othogonal zur Stereobasis (im Stereonormalfall) aus den Bilddaten herauszufiltern, um die Robustheit bei der Zuordnung orrenpondierender Bildbereiche zur erhöhen (siehe Korrespondenzproblem).[14]

In der Texterkennung sind Gabor-Filter geeignet, um Schriftzeichen in mehrsprachigen Dokumenten zu erkennen.[15] Gabor-Filter mit verschiedenen Frequenzen und Orientierungen können benutzt werden, um Textfelder aus komplexen ein- und mehrfarbigen Dokumenten-Scans zu extrahieren, da Text im Vergleich zu Bildern oder Zeichnungen mehr hochfrequente Anteile besitzt.[16][17] Weitere Anwendungen besitzt der Filter in der Emotionserkennung[18] und der Mustererkennung in der Medizin.[19] Weitere Anwendungsbereiche im Bereich Bilderkennung sind die Iris-Erkennung, die Erkennung von Fingerabdrücken und Landnutzungsklassifizierung von Satellitendaten.[20]

Beispiel Implementationen

Dies ist eine Beispiel-Implementierung in Python:

import numpy as np


def gabor(sigma, theta, Lambda, psi, gamma):
    """Gabor Feature extraktion."""
    sigma_x = sigma
    sigma_y = float(sigma) / gamma

    # Bounding box
    nstds = 3  # Anzahl der Standardabweichung sigma
    xmax = max(
        abs(nstds * sigma_x * np.cos(theta)), abs(nstds * sigma_y * np.sin(theta))
    )
    xmax = np.ceil(max(1, xmax))
    ymax = max(
        abs(nstds * sigma_x * np.sin(theta)), abs(nstds * sigma_y * np.cos(theta))
    )
    ymax = np.ceil(max(1, ymax))
    xmin = -xmax
    ymin = -ymax
    (y, x) = np.meshgrid(np.arange(ymin, ymax + 1), np.arange(xmin, xmax + 1))

    # Rotation
    x_theta = x * np.cos(theta) + y * np.sin(theta)
    y_theta = -x * np.sin(theta) + y * np.cos(theta)

    gb = np.exp(
        -0.5 * (x_theta**2 / sigma_x**2 + y_theta**2 / sigma_y**2)
    ) * np.cos(2 * np.pi / Lambda * x_theta + psi)
    return gb

Für eine Anwendung in der Bildverarbeitung.[21]

Ein MATLAB/Octave Beispiel:

function gb=gabor_fn(sigma, theta, lambda, psi, gamma)

sigma_x = sigma;
sigma_y = sigma / gamma;

% Bounding box
nstds = 3;
xmax = max(abs(nstds * sigma_x * cos(theta)), abs(nstds * sigma_y * sin(theta)));
xmax = ceil(max(1, xmax));
ymax = max(abs(nstds * sigma_x * sin(theta)), abs(nstds * sigma_y * cos(theta)));
ymax = ceil(max(1, ymax));
xmin = -xmax; ymin = -ymax;
[x,y] = meshgrid(xmin:xmax, ymin:ymax);

% Rotation
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+y_theta.^2/sigma_y^2)).*cos(2*pi/lambda*x_theta+psi);

Code für Gabor Feature Extraction aus Bildern in MATLAB:[22]

Ein Beispiel in Haskell:

import Data.Complex
gabor λ θ ψ σ γ x y = exp(-(x'^2 + γ^2 * y'^2) / (2*σ^2)) * exp(i * (2*pi*x'/λ + ψ))
    where x' =  x * cos θ + y * sin θ
          y' = -x * sin θ + y * cos θ
          i  = 0 :+ 1

Siehe auch

Einzelnachweise

  1. a b Gabor, D.: Theory of communication. In: J. Inst. Electr. Eng. 93. Jahrgang, 1946 (englisch).
  2. Granlund G. H.: In Search of a General Picture Processing Operator. In: Computer Graphics and Image Processing. 8. Jahrgang, Nr. 2, 1978, ISSN 0146-664X, S. 155–173, doi:10.1016/0146-664X(78)90047-3 (englisch).
  3. a b c d Ulrich Büker, Siegbert Drüe, Nicolai Götze, Georg Hartmann, Björn Kalkreuter, Ralf Stemmer, Ralph Trapp: Vision based Control of an autonomous Disassembly Station. In: Robotics and Autonomous Systems. Band 35. North-Holland, Juni 2001, ISSN 0921-8890, S. 179–189, doi:10.1016/S0921-8890(01)00121-X.
  4. Olshausen, B. A. & Field, D. J.: Emergence of simple-cell receptive-field properties by learning a sparse code for natural images. In: Nature. 381. Jahrgang, Nr. 6583, 1996, S. 607–609, doi:10.1038/381607a0, PMID 8637596, bibcode:1996Natur.381..607O (englisch).
  5. S. Marčelja: Mathematical description of the responses of simple cortical cells. In: Journal of the Optical Society of America. 70. Jahrgang, Nr. 11, 1980, S. 1297–1300, doi:10.1364/JOSA.70.001297, PMID 7463179, bibcode:1980JOSA...70.1297M (englisch).
  6. John G. Daugman: Uncertainty relation for resolution in space, spatial frequency, and orientation optimized by two-dimensional visual cortical filters. In: Journal of the Optical Society of America A. 2. Jahrgang, Nr. 7, 1. Juli 1985, ISSN 1084-7529, S. 1160–9, doi:10.1364/JOSAA.2.001160, PMID 4020513, bibcode:1985JOSAA...2.1160D (englisch).
  7. D. H. Hubel, T. N. Wiesel: Receptive fields, binocular interaction and functional architecture in the cat‘s visual cortex. In: Journal of Physiology. Band 160. London 1962, S. 106–154.
  8. F. W. Campbell, J. G. Robson,: Applications of Fourier analysis to the visibility of gratings. In: Journal of Physiology. Band 197. London 1968, S. 551–556.
  9. C. Westelius, H. Knutson, J. Wiklund, C. Westin: Phase-based Disparity Estimation. In: L. Crowley, H. I. Christensen (Hrsg.): Vision as Process: Basic Research on Computer Vision Systems. Springer-Verlag, 1994, ISBN 978-3-540-58143-7, S. 157–178.
  10. a b c d Ralph Trapp: Stereoskopische Korrespondenzbestimmung mit impliziter Detektion von Okklusionen. Hrsg.: Georg Hartmann: HNI-Verlagsschriftenreihe. Band 43, 1998, ISBN 3-931466-42-6, urn:nbn:de:hbz:466:2-27002.
  11. I. Fogel, D. Sagi: Gabor filters as texture discriminator. In: Biological Cybernetics. 61. Jahrgang, Nr. 2, Juni 1989, ISSN 0340-1200, OCLC 895625214, S. 103–113, doi:10.1007/BF00204594 (englisch).
  12. 3D surface tracking and approximation using Gabor filters, Jesper Juul Henriksen, South Denmark University, March 28, 2007
  13. M. Haghighat, S. Zonouz, M. Abdel-Mottaleb: Computer Analysis of Images and Patterns (= Lecture Notes in Computer Science. Band 8048). 2013, ISBN 978-3-642-40245-6, Identification Using Encrypted Biometrics, S. 440–448, doi:10.1007/978-3-642-40246-3_55 (englisch).
  14. Ralph Trapp, Siegbert Drüe, Georg Hartmann: Stereo Matching with Implicit Detection of Occlusions. In: Hans Burkhardt, Bernd Neumann (Hrsg.): ECCV 1998: Computer Vision — ECCV’98. Band 1407. Springer, Berlin / Heidelberg / New York 1998, ISBN 3-540-64613-2, S. 17–33, doi:10.1007/BFb0054731.
  15. Peeta Basa Pati, A.G. Ramakrishnan: Word level multi-script identification. In: Pattern Recognition Letters. 29. Jahrgang, Nr. 9, Juli 2008, ISSN 0167-8655, S. 1218–1229, doi:10.1016/j.patrec.2008.01.027, bibcode:2008PaReL..29.1218P (englisch).
  16. S. Raju S, P.B. Pati, A.G. Ramakrishnan: First International Workshop on Document Image Analysis for Libraries, 2004. Proceedings. IEEE, Palo Alto, CA, USA 2004, ISBN 978-0-7695-2088-9, Gabor filter based block energy analysis for text extraction from digital document images, S. 233–243, doi:10.1109/DIAL.2004.1263252 (englisch, iisc.ac.in [PDF]).
  17. S. Sabari Raju, P. B. Pati, A. G. Ramakrishnan: Advances in Visual Computing (= Lecture Notes in Computer Science. Band 3804). 2005, ISBN 978-3-540-30750-1, Text Localization and Extraction from Complex Color Images, S. 486–493, doi:10.1007/11595755_59 (englisch, archive.org).
  18. M. Lyons, S. Akamatsu, M. Kamachi, J. Gyoba: Proceedings Third IEEE International Conference on Automatic Face and Gesture Recognition. 1998, ISBN 0-8186-8344-9, Coding facial expressions with Gabor wavelets, S. 200–205, doi:10.1109/AFGR.1998.670949 (englisch, zenodo.org).
  19. C.M. Gdyczynski, A. Manbachi: On estimating the directionality distribution in pedicle trabecular bone from micro-CT images. In: Physiological Measurement. 35. Jahrgang, Nr. 12, 2014, S. 2415–2428, doi:10.1088/0967-3334/35/12/2415, PMID 25391037, bibcode:2014PhyM...35.2415G (englisch).
  20. C. Chen, L. Zhou, J. Guo, W. Li, H. Su and F. Guo, "Gabor-Filtering-Based Completed Local Binary Patterns for Land-Use Scene Classification," 2015 IEEE International Conference on Multimedia Big Data, Beijing, China, 2015, pp. 324–329, doi:10.1109/BigMM.2015.23.
  21. LogGabor user guide, auf pythonhosted.org
  22. Gabor Feature Extraction, auf mathworks.com

Weiterführende Literatur

  • Feichtinger, Hans G. (Hrsg.): Gabor analysis and algorithms : theory and applications. Birkhäuser, Boston 1998, ISBN 0-8176-3959-4 (englisch).
  • Gröchenig, Karlheinz: Foundations of time-frequency analysis : with 15 figures (= Applied and Numerical Harmonic Analysis). Birkhäuser, Boston 2001, ISBN 0-8176-4022-3, doi:10.1007/978-1-4612-0003-1 (englisch).
  • J.G. Daugman: Complete discrete 2-D Gabor transforms by neural networks for image analysis and compression. In: IEEE Transactions on Acoustics, Speech, and Signal Processing. 36. Jahrgang, Nr. 7, 1988, ISSN 0096-3518, S. 1169–1179, doi:10.1109/29.1644 (englisch, gmu.edu [PDF]).
  • Sylvain Fischer, Filip Šroubek, Laurent Perrinet, Rafael Redondo, Gabriel Cristóbal: Self-Invertible 2D Log-Gabor Wavelets. In: International Journal of Computer Vision. 75. Jahrgang, Nr. 2, 2007, ISSN 0920-5691, S. 231–246, doi:10.1007/s11263-006-0026-8 (englisch, cas.cz [PDF]).