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.<ref name=":0">Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung2 </ref> Das Gabor-Filter wurde von Gösta Granlund auf die Anwendung für 2D-Bilder verallgemeinert.<ref>Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung2</ref> Das Gabor-Filter ist ein linearer Filter und wird vielfach als Vorverarbeitung zur Extraktion von Kanten und Linien in der Bildanalyse verwendet.<ref name=":2" />
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.<ref>Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung2</ref><ref>Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung2</ref><ref>Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung2</ref> Die zwei existierenden Theorien über das visuelle System, auf der einen Seite das Modell der lokalen rezeptiven Felder von Hubel und Wiesel<ref>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.</ref> und auf der anderen Seite das visuelle System als Fourieranalysator<ref>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.</ref> 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<ref name=":0" /> 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.<ref>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.</ref>
Definition
In der Signalverarbeitung kommen in Wesentlichen 1D und wie im Bereich der Bildsignalverarbeitung 2D Filter zum Einsatz. 2D-Garborfilter lassen sich wie folgt beschreiben: Wenn x=[x1 x2]T die Bildkoordinaten sind, dann ergibt sich die Impulsantwort g(x) eines Gabor-Filters in exponentieller Schreibweise zu:
- <math>g_{m,n}(x) = \frac{1}{2 \pi a_{n} b_{n}} e^{-\frac{1}{2} x^TA_{mn} x}e^{jk_{0mn}^Tx}</math>
Die Matrix A beschreibt hierbei die Form der Gauß'schen Einhüllenden des Filters.
- <math>A_{mn} = \begin{bmatrix} \cos\phi_{m} & -\sin\phi_{m} \\ \sin\phi_{m} & \cos\phi_{m} \end{bmatrix}\begin{bmatrix} a_n^{-2} & 0 \\ 0 & b_n^{-2} \end{bmatrix}\begin{bmatrix} \cos\phi_{m} & \sin\phi_{m} \\ -\sin\phi_{m} & \cos\phi_{m} \end{bmatrix}</math>
Der Vektor k0 bestimmt die Bandbreite und die Orientierung des Filters in der Bildebene. Wird der Filter derart eingestellt, dass die Modulationsrichtung in eine der Achsen der Gauß'schen Einhüllenden (Matrix A) zeigt, mit:
- <math>k_{0mn}= k_{0n} \begin{pmatrix} \cos\phi_m\\ \sin\phi_m \end{pmatrix} </math>
ergibt sich eine Impulsantwort des Filters wie sie in der Abbildung dargestellt ist.<ref name=":1" />
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.<ref>Vorlage:Cite book/URLVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>
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.<ref name=":1" /><ref name=":2" />
Die Übertragungsfunktion G(k) eines Gabor-Filters im (Orts-)Frequenzbereich (Fouriertransformation der Impulsantwort g(x)) ist definiert durch:
- <math>G_{m,n}(k) = e^{-\frac{1}{2}(k-k_{0mn})^T (A_{mn}^{-1})^T (k-k_{0mn})}</math>
wobei k=[k1 k2]T der räumliche Frequenzvektor bzw. der Ortsfrequenzvektor ist. Soll nun das Eingangsbild mit N Filtern unterschiedlicher Auflösung in Form einer Oktavbandeinteilung gefiltert werden, können die Modulationsfrequenzen k0n wie folgt gewählt werden:
- <math>k_{0n}=\frac{\pi}{2^{n+1}}</math> ; <math>n\in[0..N-1]</math>
Die Filterergebnisse können anschließend mit dem Faktor 2n ohne Informationsverlust komprimiert werden.
Um gerichtete Informationen, wie Linien- oder Kantenverläufe aus Bilddaten zu extrahieren, können M 2D-Garbor-Filter mit unterschiedlichen Orientierungen und Modulationsfrequenzvektoren verwendet werden.
- <math>\phi_m=m\Delta\phi</math> ; <math>m\in[0..M-1]</math>
In der Stereobildverarbeitung bieten orientierungsselektive Gabor-Filter die Möglichkeit, gerichtete Intensitätsänderungen (z. B. Kanten- oder Linienstrukturen) orthogonal zur Stereobasis (im Stereonormalfall) aus den Bilddaten herauszufiltern, um die Robustheit bei der Zuordnung korrespondierender Bildbereiche zu erhöhen (siehe Korrespondenzproblem).<ref>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.</ref>
In der Texterkennung sind Gabor-Filter geeignet, um Schriftzeichen in mehrsprachigen Dokumenten zu erkennen.<ref>Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung2</ref> 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.<ref>Vorlage:Cite book/URLVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref><ref>Vorlage:Cite book/URLVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Weitere Anwendungen besitzt der Filter in der Emotionserkennung<ref>Vorlage:Cite book/URLVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> und der Mustererkennung in der Medizin.<ref>Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung2</ref> Weitere Anwendungsbereiche im Bereich Bilderkennung sind die Iris-Erkennung, die Erkennung von Fingerabdrücken und Landnutzungsklassifizierung von Satellitendaten.<ref>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.</ref>
Siehe auch
Einzelnachweise
<references />
Weblinks
- MATLAB code for Gabor filters and Gabor feature extraction
- 3D Gabor demonstrated with Mathematica
- python implementation of log-Gabors for still images
- <templatestyles src="Webarchiv/styles.css" />Gabor filter for image processing and computer vision ( vom 29. Mai 2018 im Internet Archive) (demonstration)
Weiterführende Literatur
- Vorlage:Cite book/URLVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung
- Vorlage:Cite book/URLVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung
- Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung2
- Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung2