PRACTICA 2


TÍTULO

Detección de bordes presentes en una imagen

OBJETIVO

El objetivo de la práctica es realizar un estudio comparativo de diversos algoritmos de detección de los bordes existentes en una imagen. Se mostrará la influencia del ruido presente en la imagen sobre la calidad de los bordes detectados, así como las ventajas e inconvenientes de cada método detector de bordes.

IMÁGENES  DE  PRUEBA

Todas las imágenes son en blanco y negro con 256 filas y 256 columnas. Se encuentran en el menú "Imágenes\CargarPrácticas\ImagenPráctica2" y son las siguientes:

    • INICIAL. Imagen sintética

    • BORDES. Imagen sintética de bordes correspondiente a la inicial

    • RUIDO_5. Imagen inicial corrupta con ruido Gaussiano de sigma baja y con ruido aleatorio en pocos pixeles

    • RUIDO_6. Imagen inicial corrupta con ruido Gaussiano de sigma alta y con ruido aleatorio en muchos pixeles

ALGORITMOS UTILIZADOS

Se emplean los siguientes algoritmos de detección de bordes:

    A) Detector de Sobel ("AlgoritmosBN\Bordes\Sobel"), con la opción "Suma de valores absolutos". La salida suministrada es una imagen en niveles de gris.

    B) Detector de NMS ("AlgoritmosBN\Bordes\NMS"). Este algoritmo necesita dos imágenes de entrada: la primera es la componente horizontal del gradiente y la segunda la componente vertical del gradiente. Para generar cada una se recomienda que se utilice el Detector de Sobel, con las opciones "Componente Horizontal" y "Componente Vertical". La salida suministrada es una imagen en niveles de gris.

    C) Detector Laplaciana Gaussiana ("Algoritmos\Bordes\LapGaussiana"), con una sigma determinada (la anchura de la ventana la fija automáticamente el algoritmo según la relación h=9·sigma). La salida suministrada es una imagen binaria, que recoge la posición de los "zero-crossing". Para que en un píxel se produzca un "zero-crossing" es necesario que la segunda derivada en la dirección del gradiante tenga un cambio de signo y además el módulo del gradiante supere un umbral que figura como parámetro.

Opcionalmente, y para completar los conocimientos, el alumno puede utilizar también los siguientes detectores:
  • Detector de bordes horizontal ("AlgoritmosBN\Bordes\Horizontal")
  • Detector de bordes vertical ("AlgoritmosBN\Bordes\Vertical")
  • Gradiante de Roberts ("AlgoritmosBN\Bordes\Roberts")
  • Detector Laplaciana ("AlgoritmosBN\Bordes\Laplaciana")
  • Detector de bordes diagonal ("AlgoritmosBN\Bordes\Diagonal")
  • Detector de Prewitt ("AlgoritmosBN\Bordes\Prewitt")
  • Gradiante morfológico: Dilatación - Erosión (ambos en "AlgoritmosBN\Morfología\...").
La acción de los detectores de bordes se debe previamente combinar con la de un adecuado filtrado del ruido existente en la imagen. A tal fin se emplea el siguiente algoritmo:
  • Mediana del entorno de vecindad ("AlgoritmosBN\Ruido\Reducción\ Mediana")
Opcionalmente, y para completar los conocimientos, el alumno puede utilizar también los siguientes filtros:
  • Media del entorno de vecindad ("AlgoritmosBN\Ruido\Reducción\ Media")
  • Mediana ponderada del entorno de vecindad ("AlgoritmosBN\Ruido\Reducción\MedianaPonderada")
  • Openig y Closing ("AlgoritmosBN\Morfológía\ Opening y Closing")

La determinación de los pixeles que forman parte de los bordes se realizará mediante una umbralización  ("AlgoritmosBN\Segmentación\Umbralización") con umbral variable.

A fin de evitar desbordamientos que produzcan una inevitable pérdida de precisión es necesario realizar una adaptación de las imágenes previas. Esta adaptación se suele concretar en un Factor de Escaladado: se divide la imagen por una constante ("AlgoritmosBN/UnaImagen/Aritmético"). La constante a dividir depende de las características de la imagen y de las del algoritmos de detección empleado, por lo que se suministrará a lo largo de la práctica.

Para evaluar la bondad de los detectores de borde, se compara la imagen umbralizada y la imagen teórica de BORDES con el algoritmo Comparar Bordes ("AlgoritmosBN\Características\CompararBordes"). Este algoritmo posee dos entradas. La primera es la imagen umbralizada y la segunda es la imagen teórica. El algoritmo genera los siguientes criterios:

  • Evaluación cuantitativa de los pixeles de borde. Con el número de pixeles existentes tanto en la imagen sintética de bordes como en la imagen resultante de cada algoritmo, se determina:
    • Porcentaje de pixeles de borde correctamente detectados (número de pixeles correctamente detectados en la imagen resultante del algoritmo dividido por el número de pixeles totales de la imagen resultante).
    • Porcentaje de pixeles de borde incorrectamente detectados (número de pixeles no detectados en la imagen resultante del algoritmo dividido por el número de pixeles totales de la imagen resultante).
    • Relación ruido-señal (número de pixeles incorrectamente detectados en la imagen resultante del algoritmo dividido por el número de pixeles correctamente detectados).

  • Evaluacion cualitativa de los pixeles del borde.Con la imagen resultante del algoritmo de detección de bordes y con la imagen sintética de bordes, se determina:
    • Número de pixeles ruidosos presentes en la imagen resultante del algoritmo.
    • Número de píxeles activos presentes en la imagen resultante del algoritmo.
    • Número de pixeles gruesos presente en la imagen resultante del algoritmo.
    • Pérdidas de conectividad existentes en la imagen resultante del algoritmo.
    • Píxeles ausentes. Píxeles que están en la imagen sintética pero no están en la imagen resultante del algoritmo.
    • Píxeles sobrantes. Píxeles que no están en la imagen sintética pero están en la imagen resultante del algoritmo.
    • Distancia entre la imagen resultante del algoritmo sin píxeles ruidosos y la imagen sintética de bordes.
Por comodidad en el desarrollo de la práctica, se recomienda también el uso de los siguientes algoritmos:

  • Selección entre varias imágenes de entrada ("Imágenes/Manipulación/Selección")
  • Guardar una imagen en un buffer de trabajo local ("Imágenes/GuardaEnBuff")
  • Leer una imagen de un buffer de trabajo local ("Imágenes/LeeDeBuff")
  • Diferencia entre dos imágenes ("AlgoritmosBN/DosImágenes/Diferencia")
  • .


    DESCRIPCIÓN  DE  LA  PRÁCTICA

    El alumno deberá probar para las imágenes INICIAL, RUIDO_5, RUIDO_6 los algoritmos de detección de bordes anteriormente descritos, a partir de ahora referenciados como A,B y C. Para cada caso y una vez leídas las imágenes se recomienda la realización de las siguientes etapas:

    • Algoritmo A: Sobel. El flujo de operaciones es el siguiente:
      • Filtrado del ruido: el algoritmo seleccionado es el de la mediana.
      • Factor de Escalado de la imagen, para evitar desbordamiento en la aplicación del algoritmo Sobel. Se recomienda dividir por 3 la imagen filtrada.
      • Algoritmo de detección de bordes Sobel. Para generar la imagen de salida, se recomienda seleccionar el parámetro de "Suma valores absolutos".
      • Umbralización de la imagen de bordes. Se recomienda utilizar un umbral de 128

    • Algoritmo B: NMS (Supresión de No Máximos de las componentes del gradiente). Para generar las componentes del gradiente se empleará el algoritmo Sobel. El flujo de operaciones es el siguiente:
      • Filtrado del ruido: el algoritmo seleccionado es el de la mediana.
      • Factor de Escalado de la imagen, para evitar desbordamiento en la aplicación del algoritmo Sobel. Se recomienda dividir por 3 la imagen filtrada.
      • Se generará las componentes del gradiente, aplicando por separado el algoritmo Sobel, con las opciones de "Sólo componente horizontal" y "Sólo componente vertical".
      • Algoritmo NMS. Este algoritmo calcula con las componentes horizontales y verticales del gradiente la imagen de bordes resultantes.
      • Umbralización de la imagen de bordes. Se recomienda utilizar un umbral de 128

    • Algoritmo C: Laplaciano Gaussiano. El flujo de operaciones es el siguiente:
      • Filtrado del ruido. El algoritmo seleccionado es el de la mediana para filtrar el ruido aleatorio.
      • Factor de Escalado de la imagen, para evitar desbordamiento en la aplicación del algoritmo. Se recomienda dividir por 2 la imagen.
      • Algoritmo Laplaciano Gaussiano. Se recomienda seleccionar como parámetros una sigma de 0.5 y un umbral de 128. La salida del algoritmo son los puntos de paso por cero ("zero-crossing"). El algoritmo realiza también u n filtrado, según el valor del sigma.

    La imagen de bordes proporcionada por cada algoritmo será comparada con la imagen sintética de bordes (BORDES), mediante el algoritmo "Comparar Bordes".


    MÉTODO DE EVALUACIÓN

    El alumno deberá contestar a las siguientes preguntas, relacionadas con los resultado del algoritmo "Comparar Bordes" así como con el aspecto visual de las imágenes resultantes de aplicar los algoritmos de detección de bordes sobre las distintas imágenes de prueba (INICIAL, RUIDO_5, RUIDO_6). Las respuestas deben de ser genéricas para el conjunto de las imágenes y no sólo para una de ellas. Las preguntas son independientes entre sí; en cada una de ellas se parte de las condiciones señaladas en la descripción de la práctica, variándose sólo las condiciones expresamente mencionadas. Cada pregunta suele necesitar más de una respuesta válida (que se marcará cuando la afirmación sea cierta).

    1. ¿Si se elimina el proceso de filtrado en el algoritmo A?
    Disminuye el numero de pixeles detectados como ruidosos
    Aumenta el numero de pixeles detectados como ruidosos
    Aumenta el grosor de los bordes detectados
    Aumenta el numero de puntos con perdidas de conectividad
    Se deterioran los detalles de forma
    Aumenta la distancia entre las imagenes de borde hallada y sintetica

    2. ¿Si se aumenta el factor de escalado de 3 a 5 en el algoritmo A?
    Disminuye el numero de pixeles detectados como ruidosos
    Aumenta el numero de pixeles detectados como ruidosos
    Aumenta el grosor de los bordes detectados
    Aumenta el numero de puntos con perdidas de conectividad
    Se deterioran los detalles de forma
    Aumenta la distancia entre las imagenes de borde hallada y sintetica

    3. ¿Si se disminuye el factor de escalado de 3 a 1.5 en el algoritmo A?
    Disminuye el numero de pixeles detectados como ruidosos
    Aumenta el numero de pixeles detectados como ruidosos
    Aumenta el grosor de los bordes detectados
    Aumenta el numero de puntos con perdidas de conectividad
    Se deterioran los detalles de forma
    Aumenta la distancia entre las imagenes de borde hallada y sintetica

    4. ¿Si se disminuye el nivel de umbralizacion de 128 a 64 en el algoritmo A?
    Disminuye el numero de pixeles detectados como ruidosos
    Aumenta el numero de pixeles detectados como ruidosos
    Aumenta el grosor de los bordes detectados
    Aumenta el numero de puntos con perdidas de conectividad
    Se deterioran los detalles de forma
    Aumenta la distancia entre las imagenes de borde hallada y sintetica

    5. ¿Si se elimina el proceso de filtrado en el algoritmo B?
    Disminuye el numero de pixeles detectados como ruidosos
    Aumenta el numero de pixeles detectados como ruidosos
    Aumenta el grosor de los bordes detectados
    Aumenta el numero de puntos con perdidas de conectividad
    Se deterioran los detalles de forma
    Aumenta la distancia entre las imagenes de borde hallada y sintetica

    6. ¿Si se aumenta el factor de escalado de 3 a 5 en el algoritmo B?
    Disminuye el numero de pixeles detectados como ruidosos
    Aumenta el numero de pixeles detectados como ruidosos
    Aumenta el grosor de los bordes detectados
    Aumenta el numero de puntos con perdidas de conectividad
    Se deterioran los detalles de forma
    Aumenta la distancia entre las imagenes de borde hallada y sintetica

    7. ¿Si se disminuye el factor de escalado de 3 a 1.5 en el algoritmo B?
    Disminuye el numero de pixeles detectados como ruidosos
    Aumenta el numero de pixeles detectados como ruidosos
    Aumenta el grosor de los bordes detectados
    Aumenta el numero de puntos con perdidas de conectividad
    Se deterioran los detalles de forma
    Aumenta la distancia entre las imagenes de borde hallada y sintetica

    8. ¿Si se aumenta el factor de escalado de 2 a 4 en el algoritmo C?
    Disminuye el numero de pixeles detectados como ruidosos
    Aumenta el numero de pixeles detectados como ruidosos
    Aumenta el grosor de los bordes detectados
    Aumenta el numero de puntos con perdidas de conectividad
    Se deterioran los detalles de forma
    Aumenta la distancia entre las imagenes de borde hallada y sintetica

    9. ¿Si se disminuye el factor de escalado de 2 a 1 en el algoritmo C?
    Disminuye el numero de pixeles detectados como ruidosos
    Aumenta el numero de pixeles detectados como ruidosos
    Aumenta el grosor de los bordes detectados
    Aumenta el numero de puntos con perdidas de conectividad
    Se deterioran los detalles de forma
    Aumenta la distancia entre las imagenes de borde hallada y sintetica

    10. ¿Si se aumenta la desviacion tipica de la Laplaciana Gaussiana de 0.5 a 0.8 en el algoritmo C?
    Disminuye el numero de pixeles detectados como ruidosos
    Aumenta el numero de pixeles detectados como ruidosos
    Aumenta el grosor de los bordes detectados
    Aumenta el numero de puntos con perdidas de conectividad
    Se deterioran los detalles de forma
    Aumenta la distancia entre las imagenes de borde hallada y sintetica

    11. ¿Si se disminuye la desviacion tipica de la Laplaciana Gaussiana de 0.5 a 0.3 en el algoritmo C?
    Disminuye el numero de pixeles detectados como ruidosos
    Aumenta el numero de pixeles detectados como ruidosos
    Aumenta el grosor de los bordes detectados
    Aumenta el numero de puntos con perdidas de conectividad
    Se deterioran los detalles de forma
    Aumenta la distancia entre las imagenes de borde hallada y sintetica

    12. Comparativa entre el detector del algoritmo A frente al algoritmo B. ¿Al sustituir el algoritmo A por el B?
    Disminuye el numero de pixeles detectados como ruidosos
    Aumenta el numero de pixeles detectados como ruidosos
    Aumenta el grosor de los bordes detectados
    Aumenta el numero de puntos con perdidas de conectividad
    Se deterioran los detalles de forma
    Aumenta la distancia entre las imagenes de borde hallada y sintetica


    IDENTIFICADOR
    PASSWORD

    Menu principal
    Menu practicas
    Para cualquier consulta: jsebas@etsii.upm.es