En el procesamiento de imágenes , un filtro de Gabor , que lleva el nombre de Dennis Gabor , es un filtro lineal utilizado para el análisis de texturas , lo que esencialmente significa que analiza si hay algún contenido de frecuencia específico en la imagen en direcciones específicas en una región localizada alrededor del punto o región. de análisis. Muchos científicos de la visión contemporáneos afirman que las representaciones de frecuencia y orientación de los filtros de Gabor son similares a las del sistema visual humano . [1] Se ha encontrado que son particularmente apropiados para la representación y discriminación de texturas. En el dominio espacial, un filtro de Gabor 2D es una función de kernel gaussiana modulado por una onda plana sinusoidal (ver transformada de Gabor ).
Algunos autores afirman que las funciones de Gabor pueden modelar las células simples de la corteza visual de los cerebros de los mamíferos . [2] [3] Por lo tanto, algunos piensan que el análisis de imágenes con filtros de Gabor es similar a la percepción en el sistema visual humano .
Definición
Su respuesta de impulso se define por una onda sinusoidal (una onda plana para los filtros de Gabor 2D) multiplicada por una función gaussiana . [4] Debido a la propiedad de multiplicación-convolución ( teorema de convolución ), la transformada de Fourier de la respuesta al impulso de un filtro de Gabor es la convolución de la transformada de Fourier de la función armónica (función sinusoidal) y la transformada de Fourier de la función gaussiana. El filtro tiene un componente real e imaginario que representan direcciones ortogonales . [5] Los dos componentes pueden formarse en un número complejo o usarse individualmente.
Complejo
Verdadero
Imaginario
dónde
y
En esta ecuación, representa la longitud de onda del factor sinusoidal, representa la orientación de la normal a las franjas paralelas de una función de Gabor , es el desfase, es la sigma / desviación estándar de la envolvente gaussiana y es la relación de aspecto espacial y especifica la elipticidad del soporte de la función de Gabor.
Espacio wavelet
Los filtros de Gabor están directamente relacionados con las ondículas de Gabor , ya que pueden diseñarse para una serie de dilataciones y rotaciones. Sin embargo, en general, la expansión no se aplica a las ondas de Gabor, ya que esto requiere el cálculo de ondas bi-ortogonales, lo que puede llevar mucho tiempo. Por lo tanto, generalmente, se crea un banco de filtros que consta de filtros Gabor con varias escalas y rotaciones. Los filtros están convolucionados con la señal, lo que da como resultado un espacio llamado Gabor. Este proceso está estrechamente relacionado con los procesos de la corteza visual primaria . [6] Jones y Palmer demostraron que la parte real de la función compleja de Gabor se ajusta bien a las funciones de peso del campo receptivo que se encuentran en las células simples de la corteza estriada de un gato. [7]
Extracción de características de imágenes.
Un conjunto de filtros Gabor con diferentes frecuencias y orientaciones puede resultar útil para extraer características útiles de una imagen. [8] En el dominio discreto, los filtros de Gabor bidimensionales están dados por,
donde B y C son factores de normalización por determinar.
Los filtros 2-D Gabor tienen aplicaciones ricas en el procesamiento de imágenes, especialmente en la extracción de características para el análisis de texturas y la segmentación. [9] define la frecuencia que se busca en la textura. Variando, podemos buscar texturas orientadas en una dirección particular. Variando, cambiamos el soporte de la base o el tamaño de la región de la imagen que se analiza.
Aplicaciones de los filtros 2-D Gabor en el procesamiento de imágenes
En el procesamiento de imágenes de documentos, las funciones de Gabor son ideales para identificar el guión de una palabra en un documento multilingüe. [10] Los filtros de Gabor con diferentes frecuencias y con orientaciones en diferentes direcciones se han utilizado para localizar y extraer regiones de solo texto de imágenes de documentos complejas (tanto en gris como en color), ya que el texto es rico en componentes de alta frecuencia, mientras que las imágenes son relativamente suaves en naturaleza. [11] [12] [13] También se ha aplicado para el reconocimiento de expresiones faciales [14] Los filtros de Gabor también se han utilizado ampliamente en aplicaciones de análisis de patrones. Por ejemplo, se ha utilizado para estudiar la distribución de direccionalidad dentro del hueso trabecular esponjoso poroso de la columna . [15] El espacio de Gabor es muy útil en aplicaciones de procesamiento de imágenes como el reconocimiento óptico de caracteres , el reconocimiento del iris y el reconocimiento de huellas dactilares . Las relaciones entre activaciones para una ubicación espacial específica son muy distintivas entre los objetos de una imagen. Además, se pueden extraer activaciones importantes del espacio de Gabor para crear una representación de objeto dispersa.
Implementaciones de ejemplo
(El código para la extracción de características de Gabor a partir de imágenes en MATLAB se puede encontrar en http://www.mathworks.com/matlabcentral/fileexchange/44630 ).
Esta es una implementación de ejemplo en Python :
importar numpy como npdef gabor ( sigma , theta , Lambda , psi , gamma ): "" "Extracción de características de Gabor." "" sigma_x = sigma sigma_y = float ( sigma ) / gamma # Cuadro delimitador nstds = 3 # número de sigma la desviación estándar xmax = max ( abs ( nstds * sigma_x * np . Cos ( theta )), ABS ( nstds * sigma_y * np . Pecado ( theta ))) xmax = np . ceil ( max ( 1 , xmax )) ymax = max ( abs ( nstds * sigma_x * np . pecado ( 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 )) # Rotación x_theta = x * np . cos ( theta ) + y * np . sin ( theta ) y_theta = - x * np . pecado ( theta ) + y * np . cos ( theta ) gb = np . exp ( -. 5 * ( x_theta ** 2 / sigma_x ** 2 + y_theta ** 2 / sigma_y ** 2 )) * np . cos ( 2 * np . pi / Lambda * x_theta + psi ) return gb
Para una implementación en imágenes, consulte [1] .
Esta es una implementación de ejemplo en MATLAB / Octave :
función gb = gabor_fn ( sigma, theta, lambda, psi, gamma )sigma_x = sigma ; sigma_y = sigma / gamma ; % Cuadro delimitadornstds = 3 ; xmax = max ( abs ( nstds * sigma_x * cos ( theta )), ABS ( nstds * sigma_y * pecado ( theta ))); xmax = ceil ( max ( 1 , xmax )); ymax = max ( abs ( nstds * sigma_x * pecado ( theta )), ABS ( nstds * sigma_y * cos ( theta ))); ymax = ceil ( max ( 1 , ymax )); xmin = - xmax ; ymin = - ymax ; [ X , y ] = meshgrid ( xmin : xmax , ymin : ymax ); % De rotación 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 );
Esta es otra implementación de ejemplo en Haskell :
importar datos Complejo ( Complejo (( : + ))) gabor λ θ ψ σ γ x y = exp ( ( - 0.5 ) * (( x ' ^ 2 + γ ^ 2 * y' ^ 2 ) / ( σ ^ 2 )) : + 0 ) * exp ( 0 : + ( 2 * pi * x ' / λ + ψ ) ) donde x' = x * cos θ + y * sin θ y ' = - x * sin θ + y * cos θ
(Nota: a :+ b
debe leerse como)
Ver también
- Transformada de Gabor
- Onda de Gabor
- Átomo de Gabor
- Filtro Log Gabor
Referencias
- ^ Olshausen, BA y campo, DJ (1996). "Aparición de propiedades de campo receptivo de células simples mediante el aprendizaje de un código escaso para imágenes naturales". Naturaleza . 381 (6583): 607–609. Código Bibliográfico : 1996Natur.381..607O . doi : 10.1038 / 381607a0 . PMID 8637596 . S2CID 4358477 .CS1 maint: varios nombres: lista de autores ( enlace )
- ^ Marčelja, S. (1980). "Descripción matemática de las respuestas de las células corticales simples". Revista de la Optical Society of America . 70 (11): 1297-1300. Código bibliográfico : 1980JOSA ... 70.1297M . doi : 10.1364 / JOSA.70.001297 . PMID 7463179 .
- ^ Daugman, John G. (1 de julio de 1985). "Relación de incertidumbre para la resolución en el espacio, la frecuencia espacial y la orientación optimizada por filtros corticales visuales bidimensionales". Revista de la Sociedad Americana de Óptica A . 2 (7): 1160–9. Código Bibliográfico : 1985JOSAA ... 2.1160D . CiteSeerX 10.1.1.465.8506 . doi : 10.1364 / JOSAA.2.001160 . ISSN 1084-7529 . PMID 4020513 .
- ^ Fogel, I .; Sagi, D. (junio de 1989). "Filtros Gabor como discriminador de texturas". Cibernética biológica . 61 (2). CiteSeerX 10.1.1.367.2700 . doi : 10.1007 / BF00204594 . ISSN 0340-1200 . OCLC 895625214 . S2CID 14952808 .
- ^ Seguimiento y aproximación de superficies 3D mediante filtros de Gabor, Jesper Juul Henriksen, Universidad de Dinamarca del Sur, 28 de marzo de 2007
- ^ Daugman, JG (1980), "Análisis espectral bidimensional de perfiles de campo receptivo cortical", Vision Res. , 20 (10): 847–56, doi : 10.1016 / 0042-6989 (80) 90065-6 , PMID 7467139 , S2CID 40518532
- ^ Jones, JP; Palmer, LA (1987). "Una evaluación del modelo de filtro gabor bidimensional de campos receptivos simples en la corteza estriada del gato" (PDF) . J. Neurophysiol . 58 (6): 1233-1258. doi : 10.1152 / jn.1987.58.6.1233 . PMID 3437332 . S2CID 16809045 . Archivado desde el original (PDF) el 28 de febrero de 2020.
- ^ Haghighat, M .; Zonouz, S .; Abdel-Mottaleb, M. (2013). "Identificación mediante biometría cifrada". Análisis informático de imágenes y patrones . Apuntes de conferencias en Ciencias de la Computación. 8048 . pag. 440. doi : 10.1007 / 978-3-642-40246-3_55 . ISBN 978-3-642-40245-6.
- ^ Ramakrishnan, AG; Kumar Raja, S .; Raghu Ram, HV (2002). "Segmentación de texturas basada en redes neuronales utilizando características de Gabor" (PDF) . Actas del 12º Taller de IEEE sobre redes neuronales para el procesamiento de señales . Martigny, Suiza: IEEE: 365–374. doi : 10.1109 / NNSP.2002.1030048 . ISBN 978-0-7803-7616-8. OCLC 812617471 . S2CID 10994982 .
- ^ Pati, Peeta Basa; Ramakrishnan, AG (julio de 2008). "Identificación multi-script a nivel de palabra". Cartas de reconocimiento de patrones . 29 (9): 1218-1229. Código Bibliográfico : 2008PaReL..29.1218P . doi : 10.1016 / j.patrec.2008.01.027 . ISSN 0167-8655 .
- ^ Raju S, S .; Pati, PB; Ramakrishnan, AG (2004). "Análisis de energía de bloque basado en filtros de Gabor para la extracción de texto de imágenes de documentos digitales" (PDF) . Primer Taller Internacional sobre Análisis de Imágenes de Documentos para Bibliotecas, 2004. Actas . Palo Alto, CA, EE. UU.: IEEE: 233–243. doi : 10.1109 / DIAL.2004.1263252 . ISBN 978-0-7695-2088-9. LCCN 2003116308 . OL 8067708M . S2CID 21856192 .
- ^ Raju, S. Sabari; Pati, PB; Ramakrishnan, AG (2005). "Localización y extracción de texto a partir de imágenes en color complejas" . Apuntes de conferencias en informática . 3804 : 486–493. doi : 10.1007 / 11595755_59 . ISBN 978-3-540-30750-1. ISSN 0302-9743 . LCCN 2005936803 . OL 9056158M .
- ^ S Sabari Raju, PB Pati y AG Ramakrishnan, "Localización y extracción de texto a partir de imágenes en color complejas", Proc. Primera Conferencia Internacional sobre Avances en Computación Visual (ISVC05) , Nevada, EE. UU., LNCS 3804, Springer Verlag, 5-7 de diciembre de 2005, págs. 486-493.
- ^ Lyons, M .; Akamatsu, S .; Kamachi, M .; Gyoba, J. (1998). Codificación de expresiones faciales con ondas de Gabor . págs. 200–205. doi : 10.1109 / AFGR.1998.670949 . ISBN 0-8186-8344-9. OL 11390549M . S2CID 1586662 .
- ^ Gdyczynski, CM; Manbachi, A .; et al. (2014). "Sobre la estimación de la distribución de direccionalidad en el hueso trabecular pedicular a partir de imágenes de micro-TC". Medición fisiológica . 35 (12): 2415–2428. Código bibliográfico : 2014PhyM ... 35.2415G . doi : 10.1088 / 0967-3334 / 35/12/2415 . PMID 25391037 .
enlaces externos
- Código MATLAB para filtros de Gabor y extracción de características de Gabor
- 3D Gabor demostrado con Mathematica
- implementación de Python de log-Gabors para imágenes fijas
- Filtro Gabor para procesamiento de imágenes y visión por computadora (demostración)
Otras lecturas
- Feichtinger, Hans G .; Strohmer, Thomas, eds. (1998). Análisis y algoritmos de Gabor: teoría y aplicaciones . Boston: Birkhäuser. ISBN 0-8176-3959-4. LCCN 97032252 . OCLC 37761814 . OL 685385M .
- Gröchenig, Karlheinz (2001). Fundamentos del análisis tiempo-frecuencia: con 15 cifras . Análisis Armónico Numérico y Aplicado. Boston: Birkhäuser. doi : 10.1007 / 978-1-4612-0003-1 . ISBN 0-8176-4022-3. LCCN 00044508 . OCLC 44420790 . OL 8074618M .
- Daugman, JG (1988). "Transformaciones Gabor 2-D discretas completas mediante redes neuronales para el análisis y la compresión de imágenes" (PDF) . Transacciones IEEE sobre acústica, habla y procesamiento de señales . 36 (7): 1169-1179. CiteSeerX 10.1.1.371.5847 . doi : 10.1109 / 29.1644 . ISSN 0096-3518 .
- "Demostración en línea del filtro de Gabor" . Archivado desde el original el 15 de junio de 2009 . Consultado el 25 de mayo de 2009 .
- Movellan, Javier R. "Tutorial sobre filtros Gabor" (PDF) . Archivado desde el original (PDF) el 19 de abril de 2009 . Consultado el 14 de mayo de 2008 .
- Lagae, Ares; Lefebvre, Sylvain; Drettakis, George; Dutré, Philip (2009). "Ruido de procedimiento usando la circunvolución de Gabor dispersa" . Transacciones ACM en gráficos . 28 (3): 1. CiteSeerX 10.1.1.232.5566 . doi : 10.1145 / 1531326.1531360 . Consultado el 12 de septiembre de 2009 .
- Pirámides orientables:
- La página de Eero Simoncelli sobre pirámides orientables
- Manduchi, R .; Perona, P .; Shy, D. (abril de 1998). "Bancos de filtros deformables eficientes" (PDF) . Transacciones IEEE sobre procesamiento de señales . 46 (4): 1168-1173. Código bibliográfico : 1998ITSP ... 46.1168M . doi : 10.1109 / 78.668570 . ISSN 1053-587X . OCLC 926890247 .( PDF ) ( Código )
- Fischer, Sylvain; Šroubek, Filip; Perrinet, Laurent; Redondo, Rafael; Cristóbal, Gabriel (2007). "Ondas 2D Log-Gabor autoinvertibles" (PDF) . Revista Internacional de Visión por Computador . 75 (2): 231–246. CiteSeerX 10.1.1.329.6283 . doi : 10.1007 / s11263-006-0026-8 . ISSN 0920-5691 . S2CID 1452724 .