Articulo de referencia

Detector de bordes Deriche

El detector de bordes de Deriche es un operador de detección de bordes desarrollado por Rachid Deriche en 1987. Es un algoritmo de varios pasos que se utiliza para obtener un re...

El detector de bordes de Deriche es un operador de detección de bordes desarrollado por Rachid Deriche en 1987. Es un algoritmo de varios pasos que se utiliza para obtener un resultado óptimo de detección de bordes en una imagen bidimensional discreta. Este algoritmo se basa en el trabajo de John F. Canny relacionado con la detección de bordes ( Canny's edge detector ) y sus criterios para la detección óptima de bordes:

  • Calidad de detección : todos los bordes existentes deben estar marcados y no debe producirse ninguna detección falsa.
  • Precisión : los bordes marcados deben estar lo más cerca posible de los bordes de la imagen real.
  • Sin ambigüedad : cada borde de la imagen solo debe marcarse una vez. No deben producirse respuestas múltiples a un borde de la imagen real.

Por esta razón, a este algoritmo se le suele llamar detector Canny-Deriche.

Diferencias entre el detector de bordes Canny y Deriche

El detector de bordes Deriche, al igual que el detector de bordes Canny , consta de los siguientes 4 pasos:

  1. Suavizado
  2. Cálculo de magnitud y dirección del gradiente
  3. Supresión no máxima
  4. Umbral de histéresis (utilizando dos umbrales)

La diferencia esencial está en la implementación de los dos primeros pasos del algoritmo. A diferencia del detector de bordes Canny, el detector de bordes Deriche utiliza el filtro IIR en la forma:

F ( incógnita ) = S ω mi alfa | incógnita | pecado ω incógnita {\displaystyle f(x)={\frac {S}{\omega }}e^{-\alpha |x|}\sin \omega x}

El filtro optimiza los criterios de Canny. Como se desprende de la fórmula anterior, el filtro más eficaz se obtiene cuando el valor de se acerca a 0. Dicho filtro utiliza entonces la fórmula: ω {\estilo de visualización \omega}

F ( incógnita ) = S incógnita mi alfa | incógnita | {\displaystyle f(x)=Sxe^{-\alpha |x|}}

La ventaja de este tipo de filtro es que se puede adaptar a las características de la imagen procesada utilizando un solo parámetro. Si el valor de α es pequeño (normalmente entre 0,25 y 0,5), se consigue una mejor detección. Por otro lado, se consigue una mejor localización cuando el parámetro tiene un valor más alto (en torno a 2 o 3). Para la mayoría de los casos normales se recomienda un valor del parámetro de alrededor de 1.

El uso del filtro IIR tiene sentido especialmente en casos en los que la imagen procesada es ruidosa o se requiere una gran cantidad de suavizado (lo que genera un núcleo de convolución grande para el filtro FIR). En estos casos, el detector Deriche tiene una ventaja considerable sobre el detector Canny, porque es capaz de procesar imágenes en un tiempo constante corto independientemente de la cantidad de suavizado deseada.

Implementación del detector Deriche

Es posible dividir el proceso de obtención del valor de un filtro Deriche bidimensional en dos partes. En la primera parte, se pasa la matriz de imágenes en dirección horizontal de izquierda a derecha según la siguiente fórmula:

y i yo 1 = a 1 incógnita i yo + a 2 incógnita i yo 1 + b 1 y i yo 1 1 + b 2 y i yo 2 1 {\displaystyle y_{ij}^{1}=a_{1}x_{ij}+a_{2}x_{ij-1}+b_{1}y_{ij-1}^{1}+b_{2 }y_ {ij-2}^{1}}

y de derecha a izquierda según la fórmula:

y i yo 2 = a 3 incógnita i yo + 1 + a 4 incógnita i yo + 2 + b 1 y i yo + 1 2 + b 2 y i yo + 2 2 {\displaystyle y_{ij}^{2}=a_{3}x_{ij+1}+a_{4}x_{ij+2}+b_{1}y_{ij+1}^{2}+b_ {2}y_{ij+2}^{2}}

El resultado del cálculo se almacena luego en una matriz bidimensional temporal:

θ i yo = do 1 ( y i yo 1 + y i yo 2 ) {\displaystyle \theta _{ij}=c_{1}(y_{ij}^{1}+y_{ij}^{2})}

El segundo paso del algoritmo es muy similar al primero. Se utiliza como entrada la matriz bidimensional del paso anterior. A continuación, se pasa en dirección vertical de arriba a abajo y de abajo a arriba según las siguientes fórmulas:

y i yo 1 = a 5 θ i yo + a 6 θ i 1 yo + b 1 y i 1 yo 1 + b 2 y i 2 yo 1 {\displaystyle y_{ij}^{1}=a_{5}\theta _{ij}+a_{6}\theta _{i-1j}+b_{1}y_{i-1j}^{1} +b_{2}y_{i-2j}^{1}}
y i yo 2 = a 7 θ i + 1 yo + a 8 θ i + 2 yo + b 1 y i + 1 yo 2 + b 2 y i + 2 yo 2 {\displaystyle y_{ij}^{2}=a_{7}\theta_{i+1j}+a_{8}\theta_{i+2j}+b_{1}y_{i+1j}^{2}+b_{2}y_{i+2j}^{2}}
O i yo = do 2 ( y i yo 1 + y i yo 2 ) {\displaystyle \Theta _{ij}=c_{2}(y_{ij}^{1}+y_{ij}^{2})}

La descripción del algoritmo implica que las filas y columnas procesadas son independientes entre sí. Como resultado, la solución basada en el filtro IIR se emplea a menudo en sistemas integrados y arquitecturas que admiten un alto nivel de paralelización .

Las propiedades matemáticas del algoritmo se utilizan a menudo en la implementación práctica del detector de Deriche. Es suficiente implementar solo una parte del algoritmo, que luego se llama dos veces, mientras se realiza una transposición de la matriz resultante.

Véase también

Lectura adicional

  • R. Deriche, Uso de los criterios de Canny para derivar un detector de bordes óptimo implementado recursivamente , Int. J. Computer Vision, Vol. 1, págs. 167–187, abril de 1987.
  • R. Sirdey, Una introducción sencilla al detector de bordes óptimos de Deriche , Éditions des Nik's news, 1998.
  • J. Canny, Un enfoque computacional para la detección de bordes , IEEE Transactions on Pattern Analysis and Machine Intelligence, 8(6):679–698, 1986.
  • Página personal de Rachid Deriche
  • Conferencia de Diane Lingrand sobre detectores de bordes
  • Página personal de John Canny
Retrieved from "https://en.wikipedia.org/w/index.php?title=Deriche_edge_detector&oldid=1165475535"