1 Distintas técnicas para la segmentación retinalÁlvaro Gala Guzmán
2 OBJETIVO: SEGMENTAR AUTOMÁTICAMENTE LA RETINA MEDIANTE TRATAMIENTO DIGITALSegmentar los vasos sanguíneos Segmentar el disco óptico Segmentar exudaciones Utilidad: Detección y prevención de transtornos en la visión
3 IMÁGENES UTILIZADAS: RETINOGRAFÍASEscala de grises con vasos sanguíneos en oscuro Escala de grises con vasos sanguíneos en claro Color RGB HLS
4 TÉCNICAS UTILIZADAS Operadores morfológicos (erosiones, dilataciones, aperturas, cierres, top-hats, gradientes…) Reconstrucciones geodésicas Reconstrucción por dilatación Reconstrucción por erosión d j ( J ) = ( J B) I Dilatación geodésica gS(J) = d j ( J ) Reconstrucción Hasta estabilidad j ( J ) = ( J ⊝ B) I Erosión geodésica S(J) = j ( J ) Reconstrucción Hasta estabilidad
5 TÉCNICAS UTILIZADAS Filtros espaciales Filtro LoG Filtro ASFLaplacian (Gaussian =1.75,with=7 px (Img)) Filtro ASF ASF(Img)= f(nB)(…(g(2B)( (f(B)(g(B)(Img))))...) Variación local de nivel gris V(x)= [1/(N-1)]Sxe W(x) (Img(x) - mimg(x))2
6 TRANSFORMACIÓN WATERSHEDSegmenta la imagen de manera “demasiado” efectiva Idea: Tomar la imagen como una superficie montañosa en la que el valor de gris de cada píxel denota la altitud en ese punto. Imagen original Detección de bordes (gradiente morfológico: G(img)=(img b) – (img b)) El gradiente es interpretado como un relieve
7 TRANSFORMACIÓN WATERSHEDVicent y Soille (1991): Simular un proceso de inundación Problemas: - Tiempo de ejecución alto - No segmenta completamente “Agujerear” mínimos Inundar: empezando por los mínimos de más baja altitud, el agua irá rellenando las cuencas, convirtiéndolas en lagos. En los puntos donde el agua viene de diferentes mínimos se construye una “presa”. (Regiones Watershed asociada a cada mínimo)
8 TRANSFORMACIÓN WATERSHED BASADA EN CÓDIGOS DE CADENASimular un proceso de lluvia: Cuando cae una gota de lluvia, ésta fluye ladera abajo hacia su correspondiente mínimo, desplazándose a traves de píxeles conexos mínimos, cumpliéndose: camino L =pl pl-1,…, p1 p0 , donde gris(pl)>=…>= gris(pi)>= gris(pi-1) >=…>= gris(p0) - Todas las rutas Li que terminen en el mismo mínimo (sumidero) formarán la cuenca asociada a él.
9 TRANSFORMACIÓN WATERSHED BASADA EN CÓDIGOS DE CADENAImplementación: Códigos point-out y point-in Etiquetar regiones (cuencas) siguiendo los point-in desde cada sumidero Etiquetar point-out y point-in de los píxeles con vecinos más bajos Propagar etiquetas a través de colas fifo por las mesetas - Tiempo de ejecución muy bajo - Segmenta completamente (en exceso) 4 regiones
10 SOLVENTAR LA SOBRESEGMENTACIÓN: MEZCLA DE REGIONESWatershed demasiado eficiente Sobresegmentación (~10134 regiones) Original Solución: Mezclar regiones hasta obtener una segmentación aceptable
11 MEZCLA DE REGIONES Mezclar en cada paso las dos regiones adyacentes con menor valor d(,) Crear grafo no dirigido RAG (Region Adyacency raph) a e b d c ab 1 2 3 4 5 6 Mezclar regiones con proceso iterativo siguiendo el valor de desimilitud: En cada paso: - Encontrar los dos nodos con menor valor de d Eliminamos dichos nodos Añadimos uno nuevo mezcla de los dos Recalculamos área, intensidad media, regiones adyacentes, nuevos d Área de la región Posibles condiciones de parada: - Alcanzar un valor umbral de d - Llegar a un número determinado de regiones con: Intensidad media de gris en la región
12 Imagen sobresegmentada por el WatershedMEZCLA DE REGIONES Imagen sobresegmentada por el Watershed
13 SEGMENTANDO VASOS SANGUÍNEOSPreprocesamiento Reducción de ruido Evaluación de curvatura Filtros lineales Binarización o Watershed
14 SEGMENTANDO VASOS SANGUÍNEOS: PREPOCESAMIENTORedimensionar a 512 píxeles de ancho Invertir Extraer canal verde + Invertir
15 SEGMENTANDO VASOS SANGUÍNEOS: REDUCCIÓN DE RUIDO BLANCOMaxi=1..12{gLi(Img)} Máximo de las 12 aperturas con los elementos estructurales: 15º 15x1 píxeles
16 SEGMENTANDO VASOS SANGUÍNEOS: REDUCCIÓN DE RUIDO BLANCORec.Geodésica del max. aperturas Eliminamos ruido blanco, dejando intactos los vasos sanguíneos.
17 SEGMENTANDO VASOS SANGUÍNEOS: REDUCCIÓN DE RUIDO BLANCOSumatorio de top-hats i=1..12 {Imgant - gLi(Img)} Reduce ruido blanco y mejora el contraste de las partes lineales. En este momento, podríamos obtener una primera segmentación de los vasos realizando una binarización, pero continuaremos nuestro algoritmo realizando un estudio de la curvatura.
18 SEGMENTANDO VASOS SANGUÍNEOS: EVALUACIÓN DE CURVATURA Y FILTROS LINEALESNueva recons. geodésica por dilatación sobre el máx. de las 12 aperturas seguida de recons. geodésica por erosión sobre el mínimo de los doce cierres Gaussiano Laplaciano Laplacian[Gaussian=1.75,with=7 px (Imgant)]
19 SEGMENTANDO VASOS SANGUÍNEOS: BINARIZACIÓN O WATERSHED¿Qué elegir? Dependerá de la imagen y de la información que nos sea más útil.
20 SEGMENTANDO EL DISCO ÓPTICOPreprocesamiento y espacios de color Localizar el disco Encontrar los contornos usando Watershed
21 SEGMENTANDO EL DISCO ÓPTICO: PREPROCESAMIENTO Y ESPACIOS DE COLORCanal L (Luminancia en HLS) Localización Disco zona muy brillante Canal R (Red en RGB) Imagen original a color redimensionada Detectar contornos Contornos del disco mejor contrastados
22 SEGMENTANDO EL DISCO ÓPTICO: LOCALIZAR EL DISCOUsaremos la Variación Local de gris para encontrar el disco. ¿ Es el disco la región con mayor variación de gris? Si no existen exudaciones => SÍ Canal L Solución: “Difuminar” variaciones del fondo mediante shade-correction: s-c=CanalL – ASF(CanalL) + K, ASF(Img)= f(nB)(…(g(2B)( (f(B)(g(B)(Img))))...) Shade-corrected
23 SEGMENTANDO EL DISCO ÓPTICO: LOCALIZAR EL DISCOAhora sí: Variación Local V(x)= [1/(N-1)]Sxe W(x) (Img(x) - mimg(x))2 Con N ~ 1/7 del tamaño de la imagen (Tamaño del disco óptico) Centroide
24 SEGMENTANDO EL DISCO ÓPTICO: ENCONTRAR CONTORNOS DEL DISCOEliminamos picos blancos y reconstruimos Eliminamos vasos Canal R Cierre Apertura y Reconstrucción geodésica
25 SEGMENTANDO EL DISCO ÓPTICO: ENCONTRAR CONTORNOS DEL DISCOAplicamos WATERSHED acotándolo con marcas para segmentar el contorno: marca interna: centroide ; marca externa: circunferencia Gradiente(Imgant) si x e {centroide}U Circunferencia Valor_max e.o.c. M(x)= Watershed [ Recons_erosión Gradiente(Imgant) (M) ] Watershed sobre el gradiente Watershed acotado con marcas
26
27 SEGMENTANDO EXUDACIONESPreprocesamiento y espacios de color Encontrar regiones candidatas Encontrar los contornos
28 SEGMENTANDO EXUDACIONES: PREPROCESAMIENTO Y ESPACIO DE COLORExudaciones: Depósitos intrarrenales que aparecen como formas brillantes. Están bien contrastadas con respecto al fondo que las rodea. Mejor contraste de las exudaciones. Problemas: El disco puede confundirse con una exudación - Las regiones más claras entre vasos sanguíneos (oscuros) producen también un alto contraste local Redimensionar Canal verde (G, RGB)
29 SEGMENTANDO EXUDACIONES: ENCONTRAR REGIONES CANDIDATASAplicamos cierre para eliminar vasos Variación local V(x)= [1/(N-1)]Sxe W(x) (Img(x) - mimg(x))2 Dilatamos y rellenamos agujeros mediante reconstrucción por erosión Binarización a1
30 SEGMENTANDO EXUDACIONES: ENCONTRAR REGIONES CANDIDATASBorramos de la imagen una versión dilatada del disco óptico
31 SEGMENTANDO EXUDACIONES: ENCONTRAR REGIONES CANDIDATASCanal verde Regiones candidatas a exudaciones
32 SEGMENTANDO EXUDACIONES: ENCONTRAR LOS CONTORNOS- Img= Recons_dilatación Canal_verde (Imgant) - Resultado= Binarización a2 [ Canal_verde – Img ] Algoritmo de detección de componentes conexas Contabilizar exudaciones y calcular sus áreas
33
34 ¿Preguntas?