Segmentación - parte 1 - Departamento de Ingeniería de Sistemas

Transcripción

Segmentación - parte 1 - Departamento de Ingeniería de Sistemas
Segmentación de Imágenes
Parte 1
Visión Artificial
Andrea Rueda
Pontificia Universidad Javeriana
Departamento de Ingeniería de Sistemas
Introducción
Introducción
●
Segmentación de imágenes:
Partición de la imagen de una manera
semánticamente significativa.
http://kasanpro.com/p/matlab/license-plate-character-recognition-system-neural-network
Introducción
●
Segmentación de imágenes:
Partición de la imagen de una manera
semánticamente significativa.
http://21stcenturywire.com/2015/01/29/revealed-the-tsas-new-computerized-facial-andemotional-recognition-system/
Introducción
●
Segmentación de imágenes:
Partición de la imagen de una manera
semánticamente significativa.
https://raweb.inria.fr/rapportsactivite/RA2013/morpheo/uid30.html
Introducción
●
Segmentación de imágenes:
Partición de la imagen de una manera
semánticamente significativa.
http://www.tnt.uni-hannover.de/staff/leal/
Introducción
●
Segmentación de imágenes:
Encontrar un objeto en una imagen.
(particionar en clases: objeto(s) y fondo)
http://computerblindness.blogspot.com/2010/06/object-detection-vs-semantic.html
Introducción
●
Segmentación de imágenes:
Encontrar un objeto en una imagen.
(particionar en clases: objeto(s) y fondo)
http://computerblindness.blogspot.com/2010/06/object-detection-vs-semantic.html
Introducción
●
Segmentación de imágenes (médicas):
Particionar la imagen en regiones (clases,
subconjuntos) homogéneos con respecto a una
o más características.
http://www.unc.edu/~fengs/research.html
Segmentación
●
Dadas las diferentes características de las
imágenes y los elementos a segmentar...
... no existe un método estándar de
segmentación que produzca buenos resultados
para cualquier imagen.
●
Eso implica que existen diferentes métodos de
segmentación, cada uno válido para un
contexto diferente.
Segmentación
●
Se buscan soluciones “correctas”:
- Regiones uniformes y homogéneas.
- Interiores simples y con un mínimo de
“huecos”.
- Regiones adyacentes deben tener atributos
“suficientemente” diferentes.
- Fronteras entre regiones deben ser “simples”,
“iguales” y “espacialmente acertadas”.
Haralick, R.M., and Shapiro, L.G. "Image segmentation techniques." Technical Symposium
East. International Society for Optics and Photonics, 1985.
Segmentación
●
¿Cómo evaluar una buena segmentación?
- Independencia de la inicialización:
Intravariabilidad (reproductibilidad).
- Comparación con el “experto” humano:
Sensibilidad (verdaderos positivos).
Especificidad (verdaderos negativos).
Métodos de segmentación
●
Basados en umbrales.
●
Basados en bordes.
●
Basados en regiones.
Métodos de segmentación
●
Basados en umbrales:
Utilización de uno o varios umbrales de
acuerdo a la distribución de intensidades en el
histograma.
- Umbralización y binarización.
- Umbrales múltiples.
- Umbrales automáticos.
Usados en forma directa, o en combinación con
otras tareas de pre- y post-procesamiento.
Métodos basados en umbrales
●
Umbralización o binarización:
Extraer los objetos comparando su valor de
intensidad con un valor de referencia (umbral).
I. Bankman. Handbook of Medical Image Processing and Analysis, 2ed. Academic Press, 2009.
Métodos basados en umbrales
●
Umbralización o binarización:
Extraer los objetos comparando su valor de
intensidad con un valor de referencia (umbral).
I. Bankman. Handbook of Medical Image Processing and Analysis, 2ed. Academic Press, 2009.
Métodos basados en umbrales
●
Método de Otsu:
Asume que la imagen contiene dos clases de
pixeles (histograma bimodal).
Calcula el umbral óptimo que minimiza la
varianza intra-clase y maximiza la varianza
inter-clase.
Calcula probabilidades de cada posible clase, y
comprueba las varianzas hasta que encuentra
la mínima dentro de las clases y/o la máxima
entre las clases.
Métodos basados en umbrales
●
Método de Otsu:
http://www.labbookpages.co.uk/software/imgProc/otsuThreshold.html
Métodos basados en umbrales
●
Agrupamiento K-means:
Método de clasificación, que asigna puntos
dados a K diferentes segmentos.
En el caso de las imágenes, asigna cada pixel
a una de las K regiones de acuerdo a su valor
de intensidad.
Es necesario saber de antemano el valor de K.
Métodos basados en umbrales
●
Agrupamiento K-means:
Algoritmo:
1. Definir K-1 umbrales, y distribuírlos uniformemente
sobre el histograma. Particionar la imagen de acuerdo
a los umbrales.
2. Calcular la intensidad promedio en cada segmento.
3. Redefinir los umbrales como el punto medio entre
las intensidades promedio de los segmentos.
Reparticionar la imagen con los nuevos umbrales.
4. Repetir pasos 2 y 3 hasta que no se encuentren
diferencias significativas.
Métodos basados en umbrales
●
Agrupamiento K-means:
Métodos basados en umbrales
●
Agrupamiento K-means:
3 regiones
4 regiones
Iteración 1
6 regiones
Métodos basados en umbrales
●
Agrupamiento K-means:
3 regiones
4 regiones
Iteración 2
6 regiones
Métodos basados en umbrales
●
Agrupamiento K-means:
3 regiones
4 regiones
Iteración 5
6 regiones
Métodos basados en umbrales
●
Agrupamiento K-means:
3 regiones
4 regiones
Iteración 10
6 regiones
Métodos basados en umbrales
●
Agrupamiento K-means:
3 regiones
4 regiones
Iteración 20
6 regiones
Métodos basados en umbrales
●
Agrupamiento K-means:
3 regiones
4 regiones
Iteración 30
6 regiones
Métodos basados en umbrales
●
Umbralización óptima:
Basada en la forma del histograma. Asumir el
histograma como suma de distribuciones.
http://dbm.neuro.uni-jena.de/vbm/segmentation/
Métodos de segmentación
●
Basados en bordes:
Identificación de los objetos puede obtenerse
también encontrando los bordes que lo definen.
Borde: frontera entre dos regiones con
propiedades de intensidad relativamente
distintas.
Detectar el borde: encontrar lugares en la
imagen donde la intensidad cambia
“abruptamente”.
Métodos basados en bordes
●
Perfil del borde
●
Primera derivada
●
Segunda derivada
http://mipav.cit.nih.gov/pubwiki/index.php/Edge_Detection:_Zero_X_Laplacian
Métodos basados en bordes
●
Detección de bordes:
∂ I ( x)
G x=
∂ x1
∂ I (x)
G y=
∂ x2
∇ I =|G x|+|G y|
Métodos basados en bordes
●
Gradiente morfológico: diferencia entre la
dilatación y la erosión de la imagen con el
mismo elemento estructural.
-
=
-
=
Métodos basados en bordes
●
Detección de bordes:
La derivada o gradiente puede estimarse con
convoluciones de la imagen con kernels o
filtros específicos:
∂ I ( x)
G x=
∂ x1
∂ I (x)
G y=
∂ x2
correlación con
[−0.5 0 0.5]
correlación con
[ ]
−0.5
0
0.5
Métodos basados en bordes
●
Detección de bordes con filtros:
Diferencia de pixeles.
Métodos basados en bordes
●
Detección de bordes con filtros:
Diferencia de pixeles.
Métodos basados en bordes
●
Detección de bordes con filtros:
Diferencia separada de pixeles.
Métodos basados en bordes
●
Detección de bordes con filtros:
Diferencia separada de pixeles.
Métodos basados en bordes
●
Detección de bordes con filtros:
Operador de Roberts.
Métodos basados en bordes
●
Detección de bordes con filtros:
Operador de Roberts.
Métodos basados en bordes
●
Detección de bordes con filtros:
Operador de Prewitt.
Métodos basados en bordes
●
Detección de bordes con filtros:
Operador de Prewitt.
Métodos basados en bordes
●
Detección de bordes con filtros:
Operador de Sobel.
Métodos basados en bordes
●
Detección de bordes con filtros:
Operador de Sobel.
Métodos basados en bordes
●
Detección de bordes con filtros:
Operador Gaussiano.
Implica suavizar la imagen con un kernel
Gaussiano y luego calcular el gradiente por
diferencia de pixeles.
σ=1
Métodos basados en bordes
●
Detección de bordes con filtros:
Operador Gaussiano.
Implica suavizar la imagen con un kernel
Gaussiano y luego calcular el gradiente por
diferencia de pixeles.
σ=1
Métodos basados en bordes
●
Detección de bordes con filtros:
Operador Gaussiano.
Implica suavizar la imagen con un kernel
Gaussiano y luego calcular el gradiente por
diferencia de pixeles.
σ=5
Métodos basados en bordes
●
Detección de bordes con filtros:
Operador Gaussiano.
Implica suavizar la imagen con un kernel
Gaussiano y luego calcular el gradiente por
diferencia de pixeles.
σ=5
Métodos basados en bordes
●
Detección de bordes con filtros:
Operador Gaussiano.
Implica suavizar la imagen con un kernel
Gaussiano y luego calcular el gradiente por
diferencia de pixeles.
σ = 10
Métodos basados en bordes
●
Detección de bordes con filtros:
Operador Gaussiano.
Implica suavizar la imagen con un kernel
Gaussiano y luego calcular el gradiente por
diferencia de pixeles.
σ = 10
Métodos basados en bordes
●
Detección de bordes:
Operador de Canny.
Técnica formulada con tres objetivos:
1. detección óptima, para reducir la respuesta
al ruido.
2. buena localización, con distancia mínima
entre el borde original y el estimado.
3. respuesta única, para eliminar múltiples
respuestas a un único borde.
Métodos basados en bordes
●
Detección de bordes:
Operador de Canny.
Algoritmo de aproximación:
1. suavizar la imagen con un filtro Gaussiano.
2. encontrar la dirección del gradiente con el
operador de Sobel.
3. usar supresión no-maximal, que retiene sólo
aquellos puntos en el pico del borde.
4. binarizar manteniendo los bordes conectados.
Métodos basados en bordes
●
Detección de bordes:
Operador de Canny.
M. Nixon & A. Aguado.
Feature Extraction &
Image Processing for
Computer Vision, 3ed.
Academic Press, 2012.
Métodos basados en bordes
●
Detección de bordes:
Operador de Canny.
Sobel
Canny
Métodos basados en bordes
●
Detección de bordes:
Operador de Canny.
Sobel
Canny
Métodos basados en bordes
●
RATS (Robust Automatic Threshold Selection):
Permite definir automáticamente umbrales de
segmentación a partir de la información del
gradiente (bordes).
∑x∈ Ω I (x)|∇ I (x)|
t=
∑x∈Ω |∇ I (x)|
Su éxito depende del filtro de gradiente usado.
Métodos basados en bordes
●
RATS (Robust Automatic Threshold Selection):
σ=1
σ=5
t = 115
t = 118
Ejercicios
Ejercicio OpenCV
●
●
●
Análisis de histogramas:
http://docs.opencv.org/2.4/doc/tutorials/imgpro
c/histograms/back_projection/back_projection.ht
ml
Operador de Sobel:
http://docs.opencv.org/2.4/doc/tutorials/imgproc
/imgtrans/sobel_derivatives/sobel_derivatives.ht
ml
Operador de Canny:
http://docs.opencv.org/2.4/doc/tutorials/imgpro
c/imgtrans/canny_detector/canny_detector.html
Referencias
●
●
●
●
●
R.C. González, R.E. Woods. Digital Image Processing,
3rd edition. Pearson Prentice Hall, 2008.
I. Bankman. Handbook of Medical Image Processing
and Analysis, second edition. Academic Press, 2009.
M. Nixon & A. Aguado. Feature Extraction & Image
Processing for Computer Vision, third edition.
Academic Press, 2012.
http://www.bioss.ac.uk/people/chris/ch4.pdf
http://www.cs.uu.nl/docs/vakken/ibv/reader/chapter10.
pdf

Documentos relacionados