stringtranslate.com

filtro gabor

Ejemplo de un filtro Gabor bidimensional

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 ).

Algunos autores afirman que las células simples de la corteza visual del cerebro 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 Gabor es similar a la percepción en el sistema visual humano .

Definición

Su respuesta al impulso está definida 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 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 y otro imaginario que representan direcciones ortogonales . [7] Los dos componentes pueden formarse en un número complejo o usarse individualmente.

Complejo

Real

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 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.

Implementaciones de ejemplo

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 . techo ( 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 . pecado ( theta )  y_theta  =  - x  *  np . pecado ( theta )  +  y  *  np . porque ( 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 )  devuelve  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 = 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                                                  

Ver también

Referencias

  1. ^ Gabor, D. (1946). "Teoría de la comunicación". J.Inst. eléctrico. Ing . 93 .
  2. ^ 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.
  3. ^ 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)
  4. ^ 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.
  5. ^ 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. 
  6. ^ 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. 
  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 perfiles de 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, 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.
  10. ^ 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.  
  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 conferencias sobre 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 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. ISBN 978-0-7803-7616-8. OCLC  812617471. S2CID  10994982.
  13. ^ 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.
  14. ^ 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. 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 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. 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 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.
  17. ^ 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. 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 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

Otras lecturas