Segmentación de imágenes en color mediante umbralización automática. Aplicación a la inoculación de cultivos microbianos
OBJETIVO
El objetivo de la práctica es realizar un estudio comparativo de diversos algoritmos de umbralización automática en imágenes en color, trabajando sobre distintos espacios de color y distintos procesamiento de realce. Las imágenes de prueba son imágenes reales a las que se les añadirá ruido Gaussiano. El alumno deberá destacar el diferente comportamiento de los algoritmos, la robustez de los mismos ante el ruido, la influencia del espacio de color y del procesamiento de realce elegido.
IMÁGENES DE PRUEBA
Las imágenes utilizadas son reales, en color RGB24, de 384 columnas y 288 filas, y han sido almacenadas previamente en el sistema ("Imagenes/CargarPracticas/ImagenPractica7").
CULTIVO 1
CULTIVO 2
CULTIVO 3
CULTIVO 4
CULTIVO 5
CULTIVO 6
ALGORITMOS UTILIZADOS
Se emplean los siguientes algoritmos (para un repaso detallado, consultar el Tutorial de Visión Artificial), agrupados en los siguientes campos:
Generación y reducción del ruido
Generación de ruido aleatorio ("Algoritmos/Ruido/Generación/Aleatorio")
Mediana del entorno de vecindad ("Algoritmos/Ruido/Reducción/Mediana")
Media del entorno de vecindad ("Algoritmos/Ruido/Reducción/Media")
FiltroVectorial ("Color/FiltroVectorial")
MorfologiaVectorial ("Color/MorfologiaVectorial")
Tratamiento de imágenes en color
Conversión de una imagen de representación RGB a representación HSI ("Color/Conversión/RGBaHSI")
Conversión de una imagen de representación HSI a representación RGB ("Color/Conversión/HSIaRGB")
Conversión de una imagen de representación RGB a representación HSV ("Color/Conversión/RGBaHSV")
Conversión de una imagen de representación HSV a representación RGB ("Color/Conversión/HSVaRGB")
Conversión de una imagen de representación RGB a representación LAB ("Color/Conversión/RGBaLAB")
Conversión de una imagen de representación LAB a representación RGB ("Color/Conversión/LABaRGB")
Conversión de una imagen de representación RGB a representación LCrHue ("Color/Conversión/RGBaLCrHue")
Conversión de una imagen de representación LCrHue a representación RGB ("Color/Conversión/LCrHueaRGB")
Selección de un canal de una imagen en color ("Color/Canales")
Unión de los canales de una imagen en color ("Color/Canales/UneCanales")
La representación de las imágenes en color se realiza siempre con tres componenetes en el sistema TITERE. Los datos pueden ser:
Datos 0 a 255 (R, G, B, S, I, V, L, A, B, Cr)
Datos 0 a 255 circular (H, Hue)
Datos -127 a 128 (Ninguno. Las componentes A, B del espacio LAB normalmente se representa en este formato, pero en el TITERE se le suma 128 por facilidad de cálculo)
Generación de imágenes de referencia
Creación de una imagen constante circular ("Imágenes/CargarImagenes/ImagenCteCircular")
Selección de zonas de recogida con iluminación frontal ("Color/ProyectoSB/BlancoFrontal")
Selección de zonas de recogida con iluminación a contraluz ("Color/ProyectoSB/BlancoContraluz")
Procesamiento puntual de imágenes
Procesamiento de una imagen en color con una constante ("Color/AritmeticoCteColor")
AND de dos imágenes en color ("Color/DosImagenesColor/ANDColor")
OR de dos imágenes en color ("Color/DosImagenesColor/ORColor")
Inversa de una imagen en color ("Color/InversaColor")
Algoritmos de realce.
Ecualización el histograma de la imagen ("Algoritmos/Realce/TransfoHisto/EcualizaFactor")
Alarga el histograma de la imagen ("Algoritmos/Realce/TransfoHisto/AlargaFactor")
Algoritmos de segmentación
Proyección del histograma tridimensional sobre una recta ("Color/SegmentacionColor/ProyeccionRecta)
Para evaluar la bondad de los algoritmos de segmentación, y su justificación, se emplearán:
El histograma de una imagen ("Algoritmos/ Histograma")
El histograma bidimensional de una imagen ("Color/ColorScattergram")
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 ("Algoritmos/Manipulación/ Selección")
Guardar una imagen en un buffer de trabajo local ("Algoritmos/ Manipulación/GuardaEnBuff")
Leer una imagen de un buffer de trabajo local ("Algoritmos/Manipulación/ LeeDeBuff")
Diferencia entre dos imágenes ("Algoritmos/DosImágenes/Diferencia").
Para más información, consultar el Tutorial sobre Visión Artificial existente en el sistema.
DESCRIPCIÓN DE LA PRÁCTICA
El alumno debe de realizar un estudio comparativo de los algoritmos de segmentación para las siguientes imágenes de partida, todas ellas accesibles en "Imagenes/CargarPracticas/ImagenPractica7":
Cultivo1
Cultivo2
Cultivo3
Cultivo4
Cultivo5
Cultivo6
Los pasos a desarrollar en la práctica son las siguientes:
Lectura de la imagen de prueba
Generación de la imagen de referencia. La imagen de referencia marca la zona de interés dentro de la imagen. Su generación es imprescindible para el correcto funcionamiento de los algoritmos de realce y segmentación
CULTIVO 5
IMAGEN REFERENCIA CULTIVO 5
La base de la generación de la referencia es un círculo de 115 de radio con centro en X=175 , Y=139, en una imagen de 384 columnas y 288 filas.
A esta referencia hay que quitarla las zonas de inoculación previas, que se detectan con el algoritmo "BlancoFrontal".
Para una mejor definición de estas zonas de inoculación previas se recomienda una erosión vectorial de 1 iteración seguida de una dilatación vectorial de 6 iteraciones.
Estas operaciones de morfologia vectorial deben de realizarse con la opción "sin referencia", en cualquier canal.
Corromper la imagen a analizar con ruido gaussiano de sigma 5.0 El algoritmo de generación de ruido solo actua para imagenes con un solo canal, por lo que será necesario separar la imagen en canales, corromperlas y unir los canales.
Los tratamientos posteriores de realce y segmentación pueden realizarse en cualquier espacio de color.
A tal fin es necesario convertir la imagen a analizar al espacio de color deseado.
Se propone trabajar con los espacios de color: RGB, HSI, HSV, LAB, LcrHue.
CULTIVO 5 RGB
HISTOGRAMA CULTIVO 5 RGB
CULTIVO 5 LAB
HISTOGRAMA CULTIVO 5 LAB
CULTIVO 5 HSI
HISTOGRAMA CULTIVO 5 HSI
Procesar la imagen para su realce. Es necesario probar las siguientes opciones: No realzar la imagen, Ecualizar la imagen y Alargar la imagen.
La ecualización y el alargamiento del histograma se realiza siempre "con referencia", siendo la imagen de referencia la generada previamente.
Los factores pueden variar entre 0.5 y 1.0, salvo para los canales (H, Hue) que debe de permanecer a cero.
CULTIVO 5 RGB
CULTIVO 5 ALARGADO EN EL ESPACIO HSI
CULTIVO 5 ECUALIZADO EN EL ESPACIO HSI
Las imágenes previas se representan convertidas a RGB, tras el realce efectuado en el espacio HSI
Segmentar la imagen con el algoritmo de Proyección sobre una recta.
El método se basa en encontrar dos puntos dentro del espacio tridimensional,
sobre los que determinar una recta que sirva de base para proyectar el resto de los puntos.
Se distinguen las siguientes opciones en el algoritmo:
Selección de tipo de canal según el espacio de color:
1. Datos de 0 a 255 (todos menos H, Hue)
2. Datos de 0 a 255 circular (H, Hue)
3. Datos de -127 a 128
Referencia (siempre con imagen de referencia)
1. Sin imagen de referencia
2. Con imagen de referencia
Escala de trabajo: 4, 8, 16, 32. El espacio de trabajo tridimensional se compacta en función de la escala, para disminuir la dimensionalidad del problema
Selección de los extremos de la recta de proyección en el histograma 3D
1. Mayor peso: Se obtiene primero el valor del histograma con un mayor peso.
A continuación se calcula el valor del histograma que maximiza el producto de su peso por la distancia al de mayor peso.
2. Máxima distancia: Obtiene los valores extremos del histograma 3D. No se aplica en canales circulares
Cálculo del histograma sobre la recta
1. Acotado (solo entre máximos)
2. Extendido (prolongación de la recta mientras existan píxeles)
Algoritmo de umbralización
1. Otsu. Algoritmos tradicional
2. Concavidad del histograma. Estudia la concavidad del histograma, obteniendo el minimo en una zona restringida.
Maneja dos umbrales. El primero fija los extremos (en tanto por ciento) que no se consideran dentro de la zona de
análisis del histograma, y el segundo el número de zonas en que se divide el resto del histograma.
Solo se analizan las dos zonas centrales del histograma.
3. Mínimo del histograma en todo el histograma
Selección de la salida. Con la imagen dividida en dos zonas, el algoritmo deberá decidir que zona es la de
recogida (según la distribución perifércia y la tonalidad del agar). En la actualidad no esta implementada esta
opción por lo que se realiza de forma manual
1. Salida directa
2. Salida inversa
Ejemplo de segmentacion:
CULTIVO 6
ZONAS RECOGIDA ALGORITMO EN RGB (MAL)
ZONAS RECOGIDA ALGORITMO EN HSI (BIEN)
ZONAS RECOGIDA ALGORITMO EN HSI CON HISTOGRAMA ALARGADO (MEJOR)
PARAMETROS ALGORITMO SEGMENTACION
MÉTODO DE EVALUACIÓN
Los alumnos deberán de entregar un documento resumen del trabajo desarrollado, justificando los pasos seguidos y las conclusiones obtenidas.
El documento debe contener una tabla en la que se detalla los resultados con las siguientes opciones:
Pruebas para cada imagen de entrada
Pruebas con y sin ruido
Pruebas en cada espacio de trabajo
Pruebas sin realce, con ecualización del histograma y con alargamiento del histograma
Selección de los parámetros (Selección de los extremos de la recta, Cálculo del histograma, Umbralización) que producen un mejor resultado en el algoritmo de segmentación en color
El documento debe de contener igualmente un juicio comparativo de los resultados obtenidos
Los alumnos deberán de mandar al servidor de imágenes las áreas de trabajo generadas para la ejecución de la práctica (se recomienda trocearlas en varias áreas de trabajo). Por comodidad, si se emplea la versión local, se pueden traer en Diskette, o mandarlas por mail a
jsebas@etsii.upm.es