En el procesamiento de imágenes , se utiliza un filtro Gabor , llamado así en honor a Dennis Gabor , quien lo propuso por primera vez como filtro 1D. [1]
El filtro Gabor fue generalizado por primera vez a 2D por Gösta Granlund, [2] agregando una dirección de referencia. El filtro Gabor es un filtro lineal utilizado para el análisis de textura , 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 . [3] Se ha descubierto 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 central gaussiana modulada por una onda plana sinusoidal (ver Transformada de Gabor ).
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 desplazamiento de fase, es la desviación sigma/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
Demostración de un filtro Gabor aplicado al OCR chino. Se muestran cuatro orientaciones a la derecha: 0°, 45°, 90° y 135°. La imagen del personaje original y la superposición de las cuatro orientaciones se muestran a la izquierda.
Los filtros de Gabor están directamente relacionados con las wavelets 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 biortogonales, lo que puede llevar mucho tiempo. Por lo tanto, normalmente se crea un banco de filtros que consta de filtros Gabor con varias escalas y rotaciones. Los filtros convolucionan con la señal, lo que da como resultado el llamado espacio de Gabor. Este proceso está estrechamente relacionado con los procesos de la corteza visual primaria . [8]
Jones y Palmer demostraron que la parte real de la compleja función de Gabor encaja bien con las funciones de peso del campo receptivo que se encuentran en las células simples de la corteza estriada de un gato. [9]
Análogo causal temporal del filtro Gabor.
Al procesar señales temporales, no se puede acceder a los datos del futuro, lo que genera problemas si se intenta utilizar las funciones de Gabor para procesar señales en tiempo real que dependen de la dimensión temporal. En [10] se ha desarrollado un análogo causal del tiempo del filtro de Gabor basado en la sustitución del núcleo gaussiano en la función de Gabor por un núcleo causal y recursivo en el tiempo denominado núcleo límite causal del tiempo. De este modo, el análisis tiempo-frecuencia basado en la extensión de valores complejos resultante del kernel límite causal-tiempo permite capturar transformaciones esencialmente similares de una señal temporal como puede hacerlo el filtro de Gabor y como puede ser descrito por el grupo de Heisenberg. , ver [10] para más detalles.
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. [11] En el dominio discreto, los filtros de Gabor bidimensionales vienen dados por,
donde B y C son factores de normalización por determinar.
Los filtros 2D Gabor tienen ricas aplicaciones en el procesamiento de imágenes, especialmente en la extracción de características para el análisis y la segmentación de texturas. [12] define la frecuencia que se busca en la textura. Al variar , podemos buscar textura orientada en una dirección particular. Al variar , cambiamos el soporte de la base o el tamaño de la región de la imagen que se analiza.
Aplicaciones de los filtros Gabor 2D en el procesamiento de imágenes.
En el procesamiento de imágenes de documentos, las funciones de Gabor son ideales para identificar la escritura de una palabra en un documento multilingüe. [13] Se han utilizado filtros Gabor con diferentes frecuencias y con orientaciones en diferentes direcciones para localizar y extraer regiones de solo texto de imágenes de documentos complejos (tanto grises como en color), ya que el texto es rico en componentes de alta frecuencia, mientras que las imágenes son relativamente suaves. en naturaleza. [14] [15] [16] También se ha aplicado para el reconocimiento de expresiones faciales. [17]
Los filtros 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 y poroso de la columna . [18] El espacio de Gabor es muy útil en aplicaciones de procesamiento de imágenes como el reconocimiento óptico de caracteres , el reconocimiento de 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.
Para una implementación en imágenes, consulte [1].
MATLAB
Este es un ejemplo de implementación en MATLAB / Octave :
función gb = gabor_fn ( sigma, theta, lambda, psi, gamma )sigma_x = sigma ; sigma_y = sigma / gamma ;% Cuadro delimitador nstds = 3 ; xmax = max ( abs ( nstds * sigma_x * cos ( theta )), abs ( nstds * sigma_y * sin ( theta ))); xmax = techo ( max ( 1 , xmax )); ymax = max ( abs ( nstds * sigma_x * sin ( theta )), abs ( nstds * sigma_y * cos ( theta ))); ymax = techo ( max ( 1 , ymax )); xmín = - xmáx ; ymín = - ymáx ; [ x , y ] = meshgrid ( xmin : xmax , ymin : ymax );% 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 );
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.
Haskell
Este es otro ejemplo de implementación en Haskell :
importar datos.Complex gabor λ θ ψ σ γ x y = exp ( - ( x' ^ 2 + γ ^ 2 * y' ^ 2 ) / ( 2 * σ ^ 2 )) * exp ( i * ( 2 * pi * x' / λ + ψ )) donde x' = x * cos θ + y * sin θ y' = - x * sin θ + y * cos θ i = 0 :+ 1
^ Gabor, D. (1946). "Teoría de la comunicación". J.Inst. eléctrico. Ing . 93 .
^ Granlund GH (1978). "En busca de un operador general de procesamiento de imágenes". Gráficos por computadora y procesamiento de imágenes . 8 (2): 155-173. doi :10.1016/0146-664X(78)90047-3. ISSN 0146-664X.
^ Olshausen, Licenciado en Letras y Field, DJ (1996). "Aparición de propiedades de campo receptivo de células simples mediante el aprendizaje de un código disperso para imágenes naturales". Naturaleza . 381 (6583): 607–609. Código Bib :1996Natur.381..607O. doi :10.1038/381607a0. PMID 8637596. S2CID 4358477.{{cite journal}}: CS1 maint: multiple names: authors list (link)
^ Marčelja, S. (1980). "Descripción matemática de las respuestas de las células corticales simples". Revista de la Sociedad Óptica de América . 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, frecuencia espacial y orientación optimizada por filtros corticales visuales bidimensionales". Revista de la Sociedad Óptica de América 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. S2CID 9271650.
^ Fogel, yo; Sagi, D. (junio de 1989). "Filtros Gabor como discriminador de texturas". Cibernética biológica . 61 (2): 103–113. 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 Gabor, Jesper Juul Henriksen, Universidad del Sur de Dinamarca, 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, Luisiana (1987). "Una evaluación del modelo de filtro Gabor bidimensional de campos receptivos simples en la corteza estriada del gato" (PDF) . J. Neurofisiol . 58 (6): 1233-1258. doi :10.1152/junio.1987.58.6.1233. PMID 3437332. S2CID 16809045. Archivado desde el original (PDF) el 28 de febrero de 2020.
^ ab Lindeberg, T. (23 de enero de 2023). "Una representación de espacio de escala covariante de escala causal y recursiva en el tiempo de señales temporales y tiempo pasado". Cibernética biológica . 117 (1–2): 21–59. doi : 10.1007/s00422-022-00953-6 . PMC 10160219 . PMID 36689001.
^ 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 sobre informática. vol. 8048, págs. 440–448. doi :10.1007/978-3-642-40246-3_55. ISBN978-3-642-40245-6.
^ Ramakrishnan, AG; Kumar Raja, S.; Raghu Ram, HV (2002). "Segmentación de texturas basada en redes neuronales utilizando funciones de Gabor" (PDF) . Actas del duodécimo taller del IEEE sobre redes neuronales para el procesamiento de señales . Martigny, Suiza: IEEE. págs. 365–374. doi :10.1109/NNSP.2002.1030048. ISBN978-0-7803-7616-8. OCLC 812617471. S2CID 10994982.
^ Pati, Peeta Basa; Ramakrishnan, AG (julio de 2008). "Identificación de escritura múltiple a nivel de palabra". Letras de reconocimiento de patrones . 29 (9): 1218-1229. Código Bib : 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 bloques basado en filtro Gabor para la extracción de texto a partir de imágenes de documentos digitales" (PDF) . Primer taller internacional sobre análisis de imágenes de documentos para bibliotecas, 2004. Actas . Palo Alto, California, Estados Unidos: IEEE. págs. 233–243. doi :10.1109/DIAL.2004.1263252. ISBN978-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 colores complejos". Avances en Computación Visual. Apuntes de conferencias sobre informática. vol. 3804, págs. 486–493. doi :10.1007/11595755_59. ISBN978-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 colores complejas”, Proc. Primera Conferencia Internacional sobre Avances en Computación Visual (ISVC05) , Nevada, EE. UU., LNCS 3804, Springer Verlag, 5 al 7 de diciembre de 2005, págs.
^ Lyon, M.; Akamatsu, S.; Kamachi, M.; Gyoba, J. (1998). "Codificación de expresiones faciales con ondas de Gabor". Actas de la Tercera Conferencia Internacional IEEE sobre Reconocimiento Automático de Caras y Gestos. págs. 200-205. doi :10.1109/AFGR.1998.670949. ISBN0-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-CT". Medición fisiológica . 35 (12): 2415–2428. Código Bib : 2014PhyM...35.2415G. doi :10.1088/0967-3334/35/12/2415. PMID 25391037. S2CID 206078730.
enlaces externos
Código MATLAB para filtros Gabor y extracción de características Gabor
Gabor 3D demostrado con Mathematica
Implementación en Python de log-Gabors para imágenes fijas
Filtro Gabor para procesamiento de imágenes y visión por computadora (demostración) Archivado el 29 de mayo de 2018 en Wayback Machine.
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 Aplicado y Numérico. 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 análisis y compresión de imágenes" (PDF) . Transacciones IEEE sobre acústica, voz 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 del filtro Gabor en línea". 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 .
Lagas, Ares; Lefebvre, Sylvain; Drettakis, George; Dutré, Felipe (2009). "Ruido procesal utilizando convolución dispersa de Gabor". Transacciones ACM sobre 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:
Página de Eero Simoncelli sobre pirámides orientables
Manduchi, R.; Perona, P.; Tímido, D. (abril de 1998). «Bancos de filtros deformables eficientes» (PDF) . Transacciones IEEE sobre procesamiento de señales . 46 (4): 1168-1173. Código Bib : 1998ITSP...46.1168M. doi : 10.1109/78.668570. ISSN 1053-587X. OCLC 926890247.(PDF Archivado el 12 de noviembre de 2021 en Wayback Machine ) (Código Archivado el 13 de junio de 2010 en Wayback Machine )
Fischer, Sylvain; Šroubek, Filip; Perrinet, Laurent; Redondo, Rafael; Cristóbal, Gabriel (2007). "Ondas Log-Gabor 2D autoinvertibles" (PDF) . Revista Internacional de Visión por Computadora . 75 (2): 231–246. CiteSeerX 10.1.1.329.6283 . doi :10.1007/s11263-006-0026-8. ISSN 0920-5691. S2CID 1452724.