stringtranslate.com

Filtro Gabor

Ejemplo de un filtro Gabor bidimensional

En el procesamiento de imágenes , un filtro de Gabor , llamado así por Dennis Gabor , quien lo propuso por primera vez como un filtro 1D. [1] El filtro de Gabor fue generalizado por primera vez a 2D por Gösta Granlund, [2] al agregar una dirección de referencia. El filtro de 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 de núcleo gaussiano modulada por una onda plana sinusoidal (ver transformada de Gabor ).

Algunos autores afirman que las células simples de la corteza visual de los cerebros de los mamíferos pueden modelarse mediante funciones de Gabor. [4] [5] 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 al impulso se define por una onda sinusoidal (una onda plana para filtros Gabor 2D) multiplicada por una función gaussiana . [6] 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 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 y uno imaginario que representan direcciones ortogonales . [7] Los dos componentes pueden formarse en un número complejo o usarse individualmente.

Complejo

Real

Imaginario

donde 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 de fase, 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

Demostración de un filtro Gabor aplicado al reconocimiento óptico de caracteres chino. A la derecha se muestran cuatro orientaciones: 0°, 45°, 90° y 135°. A la izquierda se muestra la imagen original del carácter y la superposición de las cuatro orientaciones.

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 para las ondículas de Gabor, ya que esto requiere el cálculo de ondículas bi-ortogonales, lo que puede llevar mucho tiempo. Por lo tanto, normalmente, se crea un banco de filtros que consta de filtros de Gabor con varias escalas y rotaciones. Los filtros se convolucionan con la señal, lo que da como resultado un llamado espacio de Gabor. Este proceso está estrechamente relacionado con los procesos en la corteza visual primaria . [8] Jones y Palmer demostraron que la parte real de la función de Gabor compleja se ajusta bien a las funciones de peso del campo receptivo que se encuentran en células simples en la corteza estriada de un gato. [9]

Análogo causal temporal del filtro de Gabor

Al procesar señales temporales, no se puede acceder a datos del futuro, lo que genera problemas si se intentan utilizar 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 temporal del filtro de Gabor basado en la sustitución del núcleo gaussiano en la función de Gabor por un núcleo causal temporal y recursivo en el tiempo denominado núcleo límite causal temporal. De esta manera, el análisis de tiempo-frecuencia basado en la extensión de valor complejo resultante del núcleo límite causal temporal permite capturar transformaciones esencialmente similares de una señal temporal a las que puede capturar el filtro de Gabor, y como puede describir el grupo de Heisenberg; véase [10] para obtener más detalles.

Extracción de características de imágenes

Un conjunto de filtros Gabor con diferentes frecuencias y orientaciones puede ser útil para extraer características útiles de una imagen. [11] En el dominio discreto, los filtros Gabor bidimensionales están dados por,

donde B y C son factores normalizadores a determinar.

Los filtros Gabor 2D tienen abundantes aplicaciones en el procesamiento de imágenes, especialmente en la extracción de características para el análisis de texturas y la segmentación. [12] define la frecuencia que se busca en la textura. Al variar , podemos buscar texturas orientadas 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 está analizando.

Aplicaciones de los filtros Gabor 2D en el procesamiento de imágenes

En el procesamiento de imágenes de documentos, las características de Gabor son ideales para identificar la escritura de una palabra en un documento multilingüe. [13] 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 complejos (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 por naturaleza. [14] [15] [16] También se ha aplicado para el reconocimiento de expresiones faciales . [17] 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 en la columna vertebral . [18] 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 las 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.

Ejemplos de implementación

Pitón

Este es un ejemplo de implementación 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 desviación estándar 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 . malla ( np.arange ( ymin , ymax + 1 ) , np.arange ( xmin , xmax + 1 ) )        # Rotación  x_theta  =  x  *  np . cos ( theta )  +  y  *  np . sen ( theta )  y_theta  =  - x  *  np . sen ( 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 )  devolver  gb

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 = 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 );                                      % Rotación x_theta = x * cos ( theta ) + y * sen ( theta ); y_theta = - x * sen ( 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 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                                                  

Véase también

Referencias

  1. ^ Gabor, D. (1946). "Teoría de la comunicación". J. Inst. Electr. Eng . 93 .
  2. ^ Granlund GH (1978). "En busca de un operador general de procesamiento de imágenes". Procesamiento de imágenes y gráficos por computadora . 8 (2): 155–173. doi :10.1016/0146-664X(78)90047-3. ISSN  0146-664X.
  3. ^ Olshausen, BA y Field, DJ (1996). "Aparición de propiedades de campos receptivos de células simples mediante el aprendizaje de un código disperso para imágenes naturales". Nature . 381 (6583): 607–609. Bibcode :1996Natur.381..607O. doi :10.1038/381607a0. PMID  8637596. S2CID  4358477.{{cite journal}}: CS1 maint: multiple names: authors list (link)
  4. ^ Marčelja, S. (1980). "Descripción matemática de las respuestas de células corticales simples". Revista de la Sociedad Óptica de América . 70 (11): 1297–1300. Bibcode :1980JOSA...70.1297M. doi :10.1364/JOSA.70.001297. PMID  7463179.
  5. ^ 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". Journal of the Optical Society of America A . 2 (7): 1160–9. Bibcode :1985JOSAA...2.1160D. CiteSeerX 10.1.1.465.8506 . doi :10.1364/JOSAA.2.001160. ISSN  1084-7529. PMID  4020513. S2CID  9271650. 
  6. ^ Fogel, I.; Sagi, D. (junio de 1989). "Filtros Gabor como discriminadores de textura". 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. 
  7. ^ Seguimiento y aproximación de superficies 3D mediante filtros Gabor, Jesper Juul Henriksen, Universidad del Sur de Dinamarca, 28 de marzo de 2007
  8. ^ Daugman, JG (1980), "Análisis espectral bidimensional de los perfiles del campo receptivo cortical", Vision Res. , 20 (10): 847–56, doi :10.1016/0042-6989(80)90065-6, PMID  7467139, S2CID  40518532
  9. ^ 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.
  10. ^ ab Lindeberg, T. (23 de enero de 2023). "Una representación de escala-espacio covariante, recursiva en el tiempo y causal 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.  
  11. ^ 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 clase en informática. Vol. 8048. págs. 440–448. doi :10.1007/978-3-642-40246-3_55. ISBN 978-3-642-40245-6.
  12. ^ 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 IEEE sobre redes neuronales para procesamiento de señales . Martigny, Suiza: IEEE. pp. 365–374. doi :10.1109/NNSP.2002.1030048. ISBN. 978-0-7803-7616-8. OCLC  812617471. S2CID  10994982.
  13. ^ Pati, Peeta Basa; Ramakrishnan, AG (julio de 2008). "Identificación de múltiples escrituras a nivel de palabra". Pattern Recognition Letters . 29 (9): 1218–1229. Bibcode :2008PaReL..29.1218P. doi :10.1016/j.patrec.2008.01.027. ISSN  0167-8655.
  14. ^ Raju S, S.; Pati, PB; Ramakrishnan, AG (2004). "Análisis de energía de bloque basado en filtro Gabor para 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. págs. 233–243. doi :10.1109/DIAL.2004.1263252. ISBN. 978-0-7695-2088-9. LCCN  2003116308. OL  8067708M. S2CID  21856192.
  15. ^ Raju, S. Sabari; Pati, PB; Ramakrishnan, AG (2005). "Localización y extracción de texto de imágenes de color complejas". Avances en computación visual. Apuntes de clase en informática. Vol. 3804. págs. 486–493. doi :10.1007/11595755_59. ISBN 978-3-540-30750-1. ISSN  0302-9743. LCCN  2005936803. OL  9056158M.
  16. ^ 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.
  17. ^ Lyons, M.; Akamatsu, S.; Kamachi, M.; Gyoba, J. (1998). "Codificación de expresiones faciales con wavelets de Gabor". Actas de la Tercera Conferencia Internacional IEEE sobre Reconocimiento Automático de Rostros y Gestos. págs. 200–205. doi :10.1109/AFGR.1998.670949. ISBN 0-8186-8344-9. OL  11390549M. S2CID  1586662.
  18. ^ Gdyczynski, CM; Manbachi, A.; et al. (2014). "Sobre la estimación de la distribución de la direccionalidad en el hueso trabecular peduncular a partir de imágenes de micro-TC". Medición fisiológica . 35 (12): 2415–2428. Bibcode :2014PhyM...35.2415G. doi :10.1088/0967-3334/35/12/2415. PMID  25391037. S2CID  206078730.

Enlaces externos

Lectura adicional