Articulo de referencia

Detección de bordes

La detección de bordes incluye diversos métodos matemáticos que buscan identificar bordes , definidos como curvas en una imagen digital donde el brillo cambia bruscamente o, más...

La detección de bordes incluye diversos métodos matemáticos que buscan identificar bordes , definidos como curvas en una imagen digital donde el brillo cambia bruscamente o, más formalmente, presentan discontinuidades . El mismo problema de encontrar discontinuidades en señales unidimensionales se conoce como detección de pasos , y el problema de encontrar discontinuidades de señales a lo largo del tiempo se conoce como detección de cambios . La detección de bordes es una herramienta fundamental en el procesamiento de imágenes , la visión artificial y la visión por computadora , particularmente en las áreas de detección y extracción de características . [ 1 ]

Motivaciones

Detección de bordes de Canny aplicada a una fotografía

El propósito de detectar cambios bruscos en el brillo de la imagen es capturar eventos importantes y cambios en las propiedades del mundo. Se puede demostrar que, bajo supuestos bastante generales para un modelo de formación de imágenes, es probable que las discontinuidades en el brillo de la imagen correspondan a: [ 2 ] [ 3 ]

  • discontinuidades en profundidad,
  • discontinuidades en la orientación de la superficie,
  • cambios en las propiedades del material y
  • variaciones en la iluminación de la escena.

En el caso ideal, el resultado de aplicar un detector de bordes a una imagen puede generar un conjunto de curvas conectadas que indican los límites de los objetos, los límites de las marcas superficiales y las discontinuidades en la orientación de la superficie. De este modo, aplicar un algoritmo de detección de bordes a una imagen puede reducir significativamente la cantidad de datos a procesar y, por lo tanto, filtrar la información que se considere menos relevante, preservando al mismo tiempo las propiedades estructurales importantes de la imagen. Si la detección de bordes es exitosa, la posterior tarea de interpretar el contenido informativo de la imagen original puede simplificarse sustancialmente. Sin embargo, no siempre es posible obtener bordes tan ideales a partir de imágenes reales de complejidad moderada.

Los bordes extraídos de imágenes no triviales a menudo se ven obstaculizados por la fragmentación , lo que significa que las curvas de los bordes no están conectadas, faltan segmentos de borde, así como bordes falsos que no corresponden a fenómenos interesantes en la imagen, lo que complica la tarea posterior de interpretar los datos de la imagen. [ 4 ]

La detección de bordes es uno de los pasos fundamentales en el procesamiento de imágenes, el análisis de imágenes , el reconocimiento de patrones de imágenes y las técnicas de visión por computadora.

Propiedades de borde

Los bordes extraídos de una imagen bidimensional de una escena tridimensional se pueden clasificar como dependientes o independientes del punto de vista. Un borde independiente del punto de vista suele reflejar propiedades inherentes de los objetos tridimensionales, como marcas y forma de la superficie. Un borde dependiente del punto de vista puede cambiar al cambiar el punto de vista y, por lo general, refleja la geometría de la escena, como la superposición de objetos.

Un borde típico podría ser, por ejemplo, el límite entre un bloque de color rojo y un bloque de color amarillo. En cambio, una línea (como la que puede extraer un detector de crestas ) puede ser un pequeño número de píxeles de un color diferente sobre un fondo que, por lo demás, permanece invariable. Por lo tanto, en una línea suele haber un borde a cada lado.

Un modelo de borde simple

Si bien cierta bibliografía ha considerado la detección de bordes de escalón ideales, los bordes obtenidos a partir de imágenes naturales generalmente no son bordes de escalón ideales. En cambio, suelen verse afectados por uno o varios de los siguientes efectos:

Varios investigadores han utilizado un borde escalonado suavizado gaussiano (una función de error ) como la extensión más simple del modelo de borde escalonado ideal para modelar los efectos del desenfoque de borde en aplicaciones prácticas. [ 4 ] [ 5 ] Por lo tanto, una imagen unidimensionalF{\displaystyle f}que tiene exactamente un borde colocado enincógnita=0{\displaystyle x=0}puede modelarse como:

F(incógnita)=IrI2(terreno(incógnita2σ)+1)+I.{\displaystyle f(x)={\frac {I_{r}-I_{\ell }}{2}}\left(\operatorname {erf} \left({\frac {x}{{\sqrt {2}}\sigma }}\right)+1\right)+I_{\ell }.}

En el lado izquierdo del borde, la intensidad esI=límiteincógnitaF(incógnita){\displaystyle I_{\ell }=\lim _{x\rightarrow -\infty }f(x)}y justo al borde está Ir=límiteincógnitaF(incógnita){\displaystyle I_{r}=\lim _{x\rightarrow \infty }f(x)}El parámetro de escalaσ{\displaystyle \sigma }Se denomina escala de desenfoque del borde. Idealmente, este parámetro de escala debería ajustarse en función de la calidad de la imagen para evitar que se pierdan los bordes reales de la misma.

Dificultad

Fuera de las imágenes con objetos simples o con iluminación bien controlada, la detección de bordes no es una tarea trivial, ya que puede ser difícil determinar qué umbral debe usarse para definir un borde entre dos píxeles. [ 4 ] Por ejemplo, en la siguiente señal unidimensional, la mayoría diría intuitivamente que hay un borde entre el 4.º y el 5.º píxel:

Sin embargo, si la diferencia de intensidad entre el cuarto y el quinto píxel fuera menor, no sería tan fácil afirmar que debería existir un borde en la región correspondiente. Del mismo modo, si las diferencias de intensidad entre los píxeles vecinos adyacentes fueran mayores, se podría argumentar que debería considerarse la existencia de más de un borde, o incluso de ninguno.

Aproches

Existen muchos métodos para la detección de bordes, pero la mayoría se pueden agrupar en dos categorías: basados ​​en búsqueda y basados ​​en cruces por cero . Los métodos basados ​​en búsqueda detectan bordes calculando primero una medida de la fuerza del borde, generalmente una expresión de derivada de primer orden como la magnitud del gradiente, y luego buscando máximos direccionales locales de la magnitud del gradiente utilizando una estimación calculada de la orientación local del borde, generalmente la dirección del gradiente. Los métodos basados ​​en cruces por cero buscan cruces por cero en una expresión de derivada de segundo orden calculada a partir de la imagen para encontrar bordes, generalmente los cruces por cero del laplaciano o los cruces por cero de una expresión diferencial no lineal. Como paso de preprocesamiento para la detección de bordes, casi siempre se aplica una etapa de suavizado, típicamente suavizado gaussiano (véase también reducción de ruido ).

Los métodos de detección de bordes publicados difieren principalmente en los tipos de filtros de suavizado que aplican y en la forma en que calculan la intensidad de los bordes. Dado que muchos métodos de detección de bordes se basan en el cálculo de gradientes de imagen, también difieren en los tipos de filtros que utilizan para calcular las estimaciones de gradiente en las direcciones x e y .

En (Ziou y Tabbone 1998) se puede encontrar un estudio de varios métodos diferentes de detección de bordes; [ 6 ] véanse también los artículos de enciclopedia sobre detección de bordes en la Enciclopedia de Matemáticas [ 3 ] y la Enciclopedia de Ciencias de la Computación e Ingeniería. [ 7 ]

Astuto

John Canny consideró el problema matemático de derivar un filtro de suavizado óptimo, dados los criterios de detección, localización y minimización de múltiples respuestas a un único borde. [ 8 ] Demostró que el filtro óptimo, dadas estas suposiciones, es una suma de cuatro términos exponenciales. También demostró que este filtro puede aproximarse bien mediante derivadas de primer orden de gaussianas. Canny también introdujo la noción de supresión de no máximos, lo que significa que, dados los filtros de pre-suavizado, los puntos de borde se definen como puntos donde la magnitud del gradiente alcanza un máximo local en la dirección del gradiente. La búsqueda del cruce por cero de la segunda derivada a lo largo de la dirección del gradiente fue propuesta por primera vez por Haralick . [ 9 ] Se tardó menos de dos décadas en encontrar un significado variacional geométrico moderno para ese operador, que lo vincula con el detector de bordes de Marr-Hildreth (cruce por cero del laplaciano). Esa observación fue presentada por Ron Kimmel y Alfred Bruckstein . [ 10 ]

Aunque su trabajo se realizó en los inicios de la visión por computadora, el detector de bordes de Canny (incluidas sus variantes) sigue siendo un detector de bordes de última generación. [ 11 ] Los detectores de bordes que superan al de Canny generalmente requieren tiempos de cálculo más largos o un mayor número de parámetros.

Kovalevsky

Vladimir A. Kovalevsky [ 12 ] ha sugerido un enfoque bastante diferente. Utiliza un preprocesamiento de la imagen con el filtro Sigma [ 13 ] y con un filtro especial para la dilución de las rampas. Este método no utiliza el brillo de la imagen, sino solo las intensidades de los canales de color, lo cual es importante para detectar un borde entre dos píxeles adyacentes de igual brillo pero diferente color. El método escanea la imagen dos veces: primero a lo largo de las líneas horizontales y segundo a lo largo de las columnas verticales. En cada línea horizontal se consideran seis píxeles adyacentes consecutivos y se calculan cinco diferencias de color entre cada par de píxeles adyacentes. Cada diferencia de color es la suma de las diferencias absolutas de las intensidades de los canales de color Rojo, Verde y Azul de los píxeles adyacentes correspondientes. Si esta suma es mayor que un umbral dado, entonces el signo de la diferencia de color se establece igual al signo de la diferencia de las intensidades verdes. Si la diferencia verde es cero, entonces el signo de la diferencia de color se establece igual al signo de la diferencia de las intensidades rojas. Sin embargo, si las diferencias de verde y rojo son cero, el signo de la diferencia de color se iguala al signo de la diferencia de azul, que en este caso no puede ser cero ya que la suma es mayor que el umbral. Se especifican ciertas condiciones para los valores y signos de las cinco diferencias de color, de manera que si se cumplen las condiciones, se coloca un trazo vertical corto entre el tercero y el cuarto de los seis píxeles como etiqueta del borde. Se realizan cálculos similares para las columnas verticales. En este caso, se coloca un trazo horizontal corto entre el tercero y el cuarto de los seis píxeles subsiguientes. Los trazos verticales y horizontales (que son las celdas unidimensionales de un complejo celular abstracto correspondiente a la imagen) componen principalmente una secuencia conectada que representa el borde. Este método es robusto y muy rápido y, lo que es más importante, puede detectar bordes entre píxeles adyacentes de igual brillo si la diferencia de color entre estos píxeles es mayor que el umbral.

El detector Canny-Deriche se derivó de criterios matemáticos similares a los del detector de bordes Canny, aunque partiendo de un punto de vista discreto y luego conduciendo a un conjunto de filtros recursivos para suavizar la imagen en lugar de filtros exponenciales o filtros gaussianos. [ 14 ]

El detector de bordes diferencial que se describe a continuación puede considerarse una reformulación del método de Canny desde la perspectiva de los invariantes diferenciales calculados a partir de una representación en el espacio de escalas, lo que conlleva varias ventajas tanto en términos de análisis teórico como de implementación subpíxel. En este sentido, se ha demostrado que el filtro Log Gabor es una buena opción para extraer límites en escenas naturales. [ 15 ]

Otros métodos de primer orden

Se pueden aplicar diferentes operadores de gradiente para estimar los gradientes de la imagen a partir de la imagen de entrada o una versión suavizada de la misma. El enfoque más sencillo es utilizar diferencias centrales:

Lincógnita(incógnita,y)=12L(incógnita1,y)+0L(incógnita,y)+12L(incógnita+1,y)Ly(incógnita,y)=12L(incógnita,y1)+0L(incógnita,y)+12L(incógnita,y+1),{\displaystyle {\begin{aligned}L_{x}(x,y)&=-{\frac {1}{2}}L(x-1,y)+0\cdot L(x,y)+{\frac {1}{2}}\cdot L(x+1,y)\\[8pt]L_{y}(x,y)&=-{\frac {1}{2}}L(x,y-1)+0\cdot L(x,y)+{\frac {1}{2}}\cdot L(x,y+1),\end{aligned}}}

correspondiente a la aplicación de las siguientes máscaras de filtro a los datos de la imagen:

Ly=[+1/201/2]LyLincógnita=[+1/201/2]L.{\displaystyle L_{y}={\begin{bmatrix}+1/2&0&-1/2\end{bmatrix}}L\quad {\text{and}}\quad L_{x}={\begin{bmatrix}+1/2\\0\\-1/2\end{bmatrix}}L.}

El conocido operador Sobel, de generaciones anteriores , se basa en los siguientes filtros:

Ly=[+101+202+101]LyLincógnita=[+1+2+1000121]L.{\displaystyle L_{y}={\begin{bmatrix}+1&0&-1\\+2&0&-2\\+1&0&-1\end{bmatrix}}L\quad {\text{and}}\quad L_{x}={\begin{bmatrix}+1&+2&+1\\0&0&0\\-1&-2&-1\end{bmatrix}}L.}

Dadas dichas estimaciones de las derivadas de primer orden de la imagen , la magnitud del gradiente se calcula entonces como:

|L|=Lincógnita2+Ly2{\displaystyle |\nabla L|={\sqrt {L_{x}^{2}+L_{y}^{2}}}}

mientras que la orientación del gradiente se puede estimar como

θ=atan2(Ly,Lincógnita).{\displaystyle \theta =\operatorname {atan2} (L_{y},L_{x}).}

Se han propuesto otros operadores de diferencia de primer orden para estimar el gradiente de la imagen en el operador de Prewitt , la cruz de Roberts , el operador de Kayyali [ 16 ] y el operador de Frei-Chen .

Es posible ampliar la dimensión de los filtros para evitar problemas al reconocer bordes en imágenes con baja relación señal/ruido . El inconveniente de esta operación es la pérdida de resolución. Un ejemplo es el filtro Prewitt extendido de 7×7.

Umbralización y vinculación

Una vez calculada la intensidad de los bordes (normalmente la magnitud del gradiente), el siguiente paso es aplicar un umbral para determinar si hay bordes presentes en un punto de la imagen. Cuanto menor sea el umbral, más bordes se detectarán, pero el resultado será más susceptible al ruido y a la detección de bordes de elementos irrelevantes en la imagen. Por el contrario, un umbral alto puede pasar por alto bordes sutiles o generar bordes fragmentados.

Si el borde se aplica únicamente a la imagen de magnitud del gradiente, los bordes resultantes serán generalmente gruesos y será necesario algún tipo de posprocesamiento para adelgazarlos. Sin embargo, para los bordes detectados con supresión no máxima, las curvas de borde son delgadas por definición y los píxeles de borde se pueden enlazar en un polígono de borde mediante un procedimiento de enlace de bordes (seguimiento de bordes). En una cuadrícula discreta, la etapa de supresión no máxima se puede implementar estimando la dirección del gradiente mediante derivadas de primer orden, redondeando la dirección del gradiente a múltiplos de 45 grados y, finalmente, comparando los valores de la magnitud del gradiente en la dirección del gradiente estimada.

Un método comúnmente utilizado para abordar el problema de los umbrales adecuados para la umbralización es la umbralización con histéresis . Este método utiliza múltiples umbrales para encontrar bordes. Comenzamos utilizando el umbral superior para encontrar el inicio de un borde. Una vez que tenemos un punto de inicio, trazamos la trayectoria del borde a través de la imagen píxel a píxel, marcando un borde cada vez que superamos el umbral inferior. Dejamos de marcar el borde solo cuando el valor cae por debajo de nuestro umbral inferior. Este método parte de la suposición de que los bordes probablemente se encuentren en curvas continuas y nos permite seguir una sección tenue de un borde que hemos visto previamente, sin que esto signifique que cada píxel ruidoso de la imagen se marque como un borde. Sin embargo, aún tenemos el problema de elegir parámetros de umbralización adecuados, y los valores de umbralización apropiados pueden variar a lo largo de la imagen.

Conectividad de gradientes sin utilizar umbrales de magnitud (alta)

Este método encuentra conjuntos conectados de píxeles con una magnitud de derivada direccional mayor que un umbral bastante pequeño. [ 17 ] Considera únicamente la presencia de gradientes en lugar de su intensidad. Tras aplicar un umbral extremadamente pequeño (es decir, 5), se obtiene una imagen binaria. Se aplican las operaciones de apertura y cierre morfológico a la imagen binaria para cerrar los huecos. A continuación, se aplica la transformación de distancia a la imagen binaria para eliminar los píxeles alejados del fondo, de modo que las formas con aspecto de manchas u otras regiones con etiquetas falsas se eliminan del mapa de bordes.

Adelgazamiento de los bordes

El adelgazamiento de bordes es una técnica que se utiliza para eliminar los puntos espurios no deseados en los bordes de una imagen. Esta técnica se emplea después de filtrar la imagen para eliminar el ruido (mediante filtros de mediana, gaussianos, etc.), aplicar un operador de detección de bordes (como los descritos anteriormente, Canny o Sobel) y suavizar los bordes con un umbral adecuado. Esto elimina todos los puntos no deseados y, si se aplica con cuidado, da como resultado bordes de un píxel de grosor.

Ventajas:

  1. Los bordes afilados y delgados permiten una mayor eficiencia en el reconocimiento de objetos .
  2. Si se utilizan transformadas de Hough para detectar líneas y elipses, el adelgazamiento podría dar resultados mucho mejores.
  3. Si el borde resulta ser el límite de una región, entonces el adelgazamiento podría proporcionar fácilmente parámetros de imagen como el perímetro sin mucho álgebra.

Existen muchos algoritmos populares que se utilizan para ello; uno de ellos se describe a continuación:

  1. Elige un tipo de conectividad , como 8, 6 o 4.
  2. Se prefiere la conectividad 8 , donde se consideran todos los píxeles inmediatos que rodean a un píxel en particular.
  3. Retirar puntos del norte, sur, este y oeste.
  4. Haz esto en varias pasadas, es decir, después de la pasada por el norte, usa la misma imagen semiprocesada en las demás pasadas, y así sucesivamente.
  5. Elimine un punto si: El punto no tiene vecinos en el norte (si se encuentra en el paso norte, y en las direcciones respectivas para otros pasos). El punto no es el final de una línea. El punto está aislado. Eliminar los puntos no provocará la desconexión de sus vecinos.
  6. De lo contrario, mantén el punto.

El número de pasadas en ambas direcciones debe elegirse en función del nivel de precisión deseado.

Enfoques de segundo orden

Algunos operadores de detección de bordes se basan en derivadas de segundo orden de la intensidad. Esto permite capturar la tasa de cambio del gradiente de intensidad. Por lo tanto, en el caso continuo ideal, la detección de cruces por cero en la segunda derivada permite identificar máximos locales en el gradiente.

El operador de Marr-Hildreth original se basa en la detección de cruces por cero del operador laplaciano aplicado a una imagen suavizada con una función gaussiana. Sin embargo, se puede demostrar que este operador también devuelve bordes falsos correspondientes a mínimos locales de la magnitud del gradiente. Además, este operador proporciona una localización deficiente en bordes curvos. Por lo tanto, hoy en día este operador tiene principalmente interés histórico.

Diferencial

Un método de detección de bordes de segundo orden más refinado, que detecta automáticamente los bordes con precisión subpíxel, utiliza el siguiente método diferencial para detectar los cruces por cero de la derivada direccional de segundo orden en la dirección del gradiente:

Siguiendo la forma geométrica diferencial de expresar el requisito de supresión no máxima propuesta por Lindeberg, [ 4 ] [ 18 ] introduzcamos en cada punto de la imagen un sistema de coordenadas local.(,v){\displaystyle (u,v)}, con elv{\displaystyle v}-dirección paralela a la dirección del gradiente. Suponiendo que la imagen ha sido previamente suavizada mediante suavizado gaussiano y una representación en el espacio de escalas.L(incógnita,y;t){\displaystyle L(x,y;t)}a escalat{\displaystyle t}Una vez calculado, podemos exigir que la magnitud del gradiente de la representación del espacio de escalas , que es igual a la derivada direccional de primer orden en elv{\displaystyle v}-direcciónLv{\displaystyle L_{v}}, debería tener su derivada direccional de primer orden en elv{\displaystyle v}-dirección igual a cero

v(Lv)=0{\displaystyle \partial _{v}(L_{v})=0}

mientras que la derivada direccional de segundo orden en elv{\displaystyle v}-dirección deLv{\displaystyle L_{v}}debe ser negativo, es decir,

vv(Lv)0.{\displaystyle \partial _{vv}(L_{v})\leq 0.}

Escrito como una expresión explícita en términos de derivadas parciales locales.Lincógnita,Ly,,Lyyy{\displaystyle L_{x},L_{y},\ldots ,L_{yyy}}, esta definición de borde se puede expresar como las curvas de cruce por cero del invariante diferencial

Lv2Lvv=Lincógnita2Lincógnitaincógnita+2LincógnitaLyLincógnitay+Ly2Lyy=0,{\displaystyle L_{v}^{2}L_{vv}=L_{x}^{2}\,L_{xx}+2\,L_{x}\,L_{y}\,L_{xy}+L_{y}^{2}\,L_{yy}=0,}

que satisface una condición de signo en el siguiente invariante diferencial

Lv3Lvvv=Lincógnita3Lincógnitaincógnitaincógnita+3Lincógnita2LyLincógnitaincógnitay+3LincógnitaLy2Lincógnitayy+Ly3Lyyy0{\displaystyle L_{v}^{3}L_{vvv}=L_{x}^{3}\,L_{xxx}+3\,L_{x}^{2}\,L_{y}\,L_{xxy}+3\,L_{x}\,L_{y}^{2}\,L_{xyy}+L_{y}^{3}\,L_{yyy}\leq 0}

dóndeLincógnita,Ly,,Lyyy{\displaystyle L_{x},L_{y},\ldots ,L_{yyy}}denotan derivadas parciales calculadas a partir de una representación en el espacio de escalasL{\displaystyle L}Se obtiene suavizando la imagen original con un núcleo gaussiano . De esta forma, los bordes se obtienen automáticamente como curvas continuas con precisión subpíxel. También se puede aplicar un umbral de histéresis a estos segmentos de borde diferenciales y subpíxel.

En la práctica, las aproximaciones de derivadas de primer orden se pueden calcular mediante diferencias centrales como se describió anteriormente, mientras que las derivadas de segundo orden se pueden calcular a partir de la representación del espacio de escalas.L{\displaystyle L}de acuerdo a:

Lincógnitaincógnita(incógnita,y)=L(incógnita1,y)2L(incógnita,y)+L(incógnita+1,y),Lincógnitay(incógnita,y)=14(L(incógnita1,y1)L(incógnita1,y+1)L(incógnita+1,y1)+L(incógnita+1,y+1)),Lyy(incógnita,y)=L(incógnita,y1)2L(incógnita,y)+L(incógnita,y+1).{\displaystyle {\begin{aligned}L_{xx}(x,y)&=L(x-1,y)-2L(x,y)+L(x+1,y),\\[6pt]L_{xy}(x,y)&={\frac {1}{4}}(L(x-1,y-1)-L(x-1,y+1)-L(x+1,y-1)+L(x+1,y+1)),\\[6pt]L_{yy}(x,y)&=L(x,y-1)-2L(x,y)+L(x,y+1).\end{aligned}}}

correspondientes a las siguientes máscaras de filtro:

Lincógnitaincógnita=[121]LyLincógnitay=[1/401/40001/401/4]LyLyy=[121]L.{\displaystyle L_{xx}={\begin{bmatrix}1&-2&1\end{bmatrix}}L\quad {\text{and}}\quad L_{xy}={\begin{bmatrix}-1/4&0&1/4\\0&0&0\\1/4&0&-1/4\end{bmatrix}}L\quad {\text{and}}\quad L_{yy}={\begin{bmatrix}1\\-2\\1\end{bmatrix}}L.}

Las derivadas de orden superior para la condición de signo de tercer orden se pueden obtener de manera análoga.

Congruencia de fase basada

Un desarrollo reciente en técnicas de detección de bordes adopta un enfoque en el dominio de la frecuencia para encontrar ubicaciones de bordes. Los métodos de congruencia de fase (también conocida como coherencia de fase) intentan encontrar ubicaciones en una imagen donde todas las sinusoides en el dominio de la frecuencia estén en fase. Estas ubicaciones generalmente corresponderán a la ubicación de un borde percibido, independientemente de si el borde está representado por un gran cambio de intensidad en el dominio espacial. Una ventaja clave de esta técnica es que responde fuertemente a las bandas de Mach y evita los falsos positivos que suelen encontrarse alrededor de los bordes de los tejados . Un borde de tejado es una discontinuidad en la derivada de primer orden de un perfil de nivel de gris. [ 19 ]

Transformación de estiramiento de fase (PST)

Mejora de características en una imagen ( Catedral de San Pablo , Londres) mediante la Transformación de Estiramiento de Fase (PST). El panel izquierdo muestra la imagen original y el panel derecho muestra las características detectadas mediante PST.

La transformada de estiramiento de fase o PST es un enfoque computacional inspirado en la física para el procesamiento de señales e imágenes. Una de sus utilidades es la detección y clasificación de características. [ 20 ] [ 21 ] PST es un derivado de la investigación sobre la transformada de Fourier dispersiva de estiramiento temporal . PST transforma la imagen emulando la propagación a través de un medio difractivo con una propiedad dispersiva 3D diseñada (índice de refracción). La operación se basa en la simetría del perfil de dispersión y puede entenderse en términos de funciones propias dispersivas o modos de estiramiento. [ 22 ] PST realiza una funcionalidad similar a la microscopía de contraste de fase, pero en imágenes digitales. PST también es aplicable a imágenes digitales, así como a datos temporales y series temporales.

Subpíxel

Para aumentar la precisión de la detección de bordes, se han propuesto varias técnicas de subpíxeles, incluyendo métodos de ajuste de curvas, basados ​​en momentos, [ 23 ] [ 24 ] reconstructivos y de efecto de área parcial. [ 25 ] Estos métodos tienen características diferentes. Los métodos de ajuste de curvas son computacionalmente simples, pero se ven fácilmente afectados por el ruido. Los métodos basados ​​en momentos utilizan un enfoque basado en integrales para reducir el efecto del ruido, pero pueden requerir más cálculos en algunos casos. Los métodos reconstructivos utilizan gradientes horizontales o verticales para construir una curva y encontrar el pico de la curva como el borde de subpíxel. Los métodos de efecto de área parcial se basan en la hipótesis de que el valor de cada píxel depende del área a ambos lados del borde dentro de ese píxel, produciendo una estimación individual precisa para cada píxel de borde. Se ha demostrado que ciertas variantes de la técnica basada en momentos son las más precisas para bordes aislados. [ 24 ]

Detección de bordes en una imagen angiográfica . A la izquierda, la detección de bordes se realiza a nivel de píxel. A la derecha, la detección de bordes subpíxel localiza el borde con precisión dentro del píxel.

El detector de bordes Marr-Hildreth

El detector de bordes de Marr-Hildreth [ 26 ] se distingue por el uso del operador Laplaciano de Gauss (LoG) para la detección de bordes en imágenes digitales. A diferencia de otros métodos de detección de bordes, el enfoque LoG combina el suavizado gaussiano con operaciones de segunda derivada, lo que permite la reducción de ruido y la mejora de bordes simultáneas. La principal ventaja de este método radica en su capacidad para detectar bordes a diversas escalas ajustando la desviación estándar del núcleo gaussiano, lo que permite la detección de detalles finos y transiciones más amplias. Además, la técnica aprovecha la detección de cruces por cero en la respuesta LoG para localizar bordes con precisión, ofreciendo robustez frente al ruido y manteniendo la continuidad de los bordes. Este enfoque es particularmente eficaz para detectar bordes con límites definidos en imágenes, minimizando los falsos positivos debidos al ruido, lo que lo convierte en una herramienta valiosa en aplicaciones de visión artificial donde la localización precisa de bordes es crucial.

Código para la detección de bordes utilizando los operadores de Prewitt, Scharr y Sobel.

Fuente: [ 27 ]

Detección de bordes mediante el operador de Prewitt

% Código MATLAB para prewitt% detección de borde del operadork = imread ( "logo.png" );k = rgb2gray ( k );k1 = doble ( k );p_msk = [ -1 0 1 ;- 1 0 1 ; - 1 0 1 ];kx = conv2 ( k1 , p_msk , 'igual' );ky = conv2 ( k1 , p_msk ' , 'same' );ked = raíz cuadrada ( kx .^ 2 + ky .^ 2 );% mostrar las imágenes.imtool ( k ,[]);% muestra la detección de bordes a lo largo del eje x.imtool ( abs ( kx ), []);% muestra la detección de bordes a lo largo del eje y.imtool ( abs ( ky ),[]);% muestra la detección de bordes completa.imtool ( abs ( ked ),[]);

Detección de bordes mediante el operador de Scharr

% Operador de Scharr -> detección de bordesk = imread ( "logo.png" );k = rgb2gray ( k );k1 = doble ( k );s_msk = [ -3 0 3 ;- 10 0 10 ; - 3 0 3 ];kx = conv2 ( k1 , s_msk , 'igual' );ky = conv2 ( k1 , s_msk ' , 'same' );ked = raíz cuadrada ( kx .^ 2 + ky .^ 2 );% mostrar las imágenes.imtool ( k ,[]);% muestra la detección de bordes a lo largo del eje x.imtool ( abs ( kx ), []);% muestra la detección de bordes a lo largo del eje y.imtool ( abs ( ky ), []);% muestra la detección de bordes completa.imtool ( abs ( ked ), []);

Detección de bordes mediante el operador Sobel

% Código MATLAB para el operador Sobel% detección de bordesk = imread ( "logo.png" );k = rgb2gray ( k );k1 = doble ( k );s_msk = [ -1 0 1 ;- 2 0 2 ; - 1 0 1 ];kx = conv2 ( k1 , s_msk , 'igual' );ky = conv2 ( k1 , s_msk ' , 'same' );ked = raíz cuadrada ( kx .^ 2 + ky .^ 2 );% mostrar las imágenes.imtool ( k ,[]);% muestra la detección de bordes a lo largo del eje x.imtool ( abs ( kx ), []);% muestra la detección de bordes a lo largo del eje y.imtool ( abs ( ky ), []);% muestra la detección de bordes completa.imtool ( abs ( ked ), []);

Véase también

Referencias

  1. Umbaugh, Scott E (2010). Procesamiento y análisis de imágenes digitales  : aplicaciones de visión humana y computacional con CVIPtools (2.ª  ed.). Boca Raton, FL: CRC Press. ISBN 978-1-4398-0205-2.
  2. HG Barrow y JM Tenenbaum (1981) "Interpretación de dibujos lineales como superficies tridimensionales", Inteligencia Artificial, vol. 17, números 1–3, páginas 75–116.
  3. 1 2 Lindeberg, Tony (2001) [1994], "Detección de bordes" , Enciclopedia de Matemáticas , EMS Press
  4. 1 2 3 4 T. Lindeberg (1998) "Detección de bordes y detección de crestas con selección automática de escala", International Journal of Computer Vision, 30, 2, páginas 117–154.
  5. W. Zhang y F. Bergholm (1997) " Estimación de desenfoque multiescala y clasificación de tipo de borde para análisis de escenas ", International Journal of Computer Vision, vol. 24, número 3, páginas: 219–250.
  6. D. Ziou y S. Tabbone (1998) " Técnicas de detección de bordes: una visión general ", International Journal of Pattern Recognition and Image Analysis, 8(4):537–559, 1998
  7. JM Park y Y. Lu (2008) "Detección de bordes en imágenes en escala de grises, color y rango", en BW Wah (editor) Enciclopedia de Ciencias de la Computación e Ingeniería, doi 10.1002/9780470050118.ecse603
  8. J. Canny (1986) " Un enfoque computacional para la detección de bordes ", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 8, páginas 679–714.
  9. R. Haralick, (1984) " Bordes de pasos digitales a partir del cruce por cero de las segundas derivadas direccionales ", IEEE Transactions on Pattern Analysis and Machine Intelligence, 6(1):58–68.
  10. "R. Kimmel y AM Bruckstein (2003) "Sobre cruces por cero laplacianos regularizados y otros integradores de borde óptimos", International Journal of Computer Vision , 53(3) páginas 225–243" (PDF) . Archivado del original (PDF) el 8 de marzo de 2021. Recuperado el 15 de septiembre de 2019 .
  11. Shapiro LG y Stockman GC (2001) Visión por computadora. Londres, etc.: Prentice Hall, página 326.
  12. Kovalevsky, V., Procesamiento de imágenes con topología celular, Springer 2021, ISBN 978-981-16-5771-9, págs. 113-138
  13. Lee, J.-S., Suavizado de imágenes digitales y el filtro sigma. Computer Vision, Graphics, and Information Processing. 1983, 24(2): 255-69
  14. R. Deriche (1987) Uso de los criterios de Canny para derivar un detector de bordes óptimo implementado recursivamente , Int. J. Computer Vision, vol 1, páginas 167–187.
  15. Sylvain Fischer, Rafael Redondo, Laurent Perrinet, Gabriel Cristobal. Aproximación dispersa de imágenes inspirada en la arquitectura funcional de las áreas visuales primarias . EURASIP Journal on Advances in Signal Processing, número especial sobre percepción de imágenes, 2007.
  16. Dim, Jules R.; Takamura, Tamio (11 de diciembre de 2013). "Enfoque alternativo para la clasificación de nubes por satélite: aplicación del gradiente de borde" . Avances en meteorología . 2013 (1): 1–8 . Bibcode : 2013AdMet201384816D . doi : 10.1155/2013/584816 . ISSN 1687-9309 . 
  17. Pak, Mesut; Bayazit, Ulug (2020-07-01). "Asignación regional de bits con atención visual y sensibilidad a la distorsión" . Multimedia Tools and Applications . 79 (27): 19239– 19263. doi : 10.1007/s11042-020-08686-z . ISSN 1573-7721 . 
  18. T. Lindeberg (1993) "Aproximaciones de derivadas discretas con propiedades de espacio de escala: una base para la extracción de características de bajo nivel", J. of Mathematical Imaging and Vision, 3(4), páginas 349–376.
  19. T. Pajdla y V. Hlavac (1993) " Discontinuidades de superficie en imágenes de rango ", en Proc IEEE 4th Int. Conf. Comput. Vision, pp. 524–528.
  20. MH Asghari y B. Jalali, "Detección de bordes en imágenes digitales mediante estiramiento de fase dispersiva", International Journal of Biomedical Imaging, vol. 2015, artículo ID 687819, págs. 1–6 (2015).
  21. MH Asghari y B. Jalali, " Detección de bordes de imágenes inspirada en la física ", Simposio Global de Procesamiento de Señales e Información del IEEE (GlobalSIP 2014), artículo: WdBD-L.1, Atlanta, diciembre de 2014.
  22. B. Jalali y A. Mahjoubfar, " Adaptación de señales de banda ancha con un acelerador de hardware fotónico ", Actas del IEEE, vol. 103, n.º 7, págs. 1071–1086 (2015).
  23. Ghosal, S.; Mehrota, R (1993-01-01). "Operadores de momentos ortogonales para la detección de bordes subpíxel". Pattern Recognition . 26 (2): 295– 306. Bibcode : 1993PatRe..26..295G . doi : 10.1016/0031-3203(93)90038-X .
  24. 1 2 Christian, John (2017-01-01). "Localización precisa del limbo planetario para la navegación de naves espaciales basada en imágenes". Journal of Spacecraft and Rockets . 54 (3): 708– 730. Bibcode : 2017JSpRo..54..708C . doi : 10.2514/1.A33692 .
  25. Trujillo-Pino, Agustín; Krissian, Karl; Alemán-Flores, Miguel; Santana-Cedrés, Daniel (1 de enero de 2013). "Ubicación precisa del borde del subpíxel basada en el efecto de área parcial". Computación de Imagen y Visión . 31 (1): 72– 90. doi : 10.1016/j.imavis.2012.10.005 . hdl : 10553/43474 .
  26. González, Rafael (2018). Procesamiento de imágenes digitales (4.ª ed.). Pearson Education. ISBN  978-0-13-335672-4.
  27. "Detección de bordes usando el operador de Prewitt, Scharr y Sobel" . GeeksforGeeks . 11 de octubre de 2021. Consultado el 8 de mayo de 2024 .

Lecturas adicionales