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:
Por esta razón, a este algoritmo se le suele llamar detector Canny-Deriche.
El detector de bordes Deriche, al igual que el detector de bordes Canny , consta de los siguientes 4 pasos:
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:
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:
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.
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 de derecha a izquierda según la fórmula:
El resultado del cálculo se almacena luego en una matriz bidimensional temporal:
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:
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.