Publicado el 28 de Agosto del 2017
858 visualizaciones desde el 28 de Agosto del 2017
2,1 MB
37 paginas
Creado hace 12a (03/10/2012)
PROCESAMIENTO
DE IMAGENES
Programa de teoría
1. Adquisición y representación de imágenes.
2. Procesamiento global de imágenes.
3. Filtros y transformaciones locales.
4. Transformaciones geométricas.
5. Espacios de color y el dominio frecuencial.
6. Análisis de imágenes.
Procesamiento de Imágenes
(c) Ginés García Mateos, http://dis.um.es/profesores/ginesgm
Tema 6. Análisis de imágenes.
Dept. de Informática y Sistemas, Universidad de Murcia
1
Tema 6. Análisis de
imágenes.
6.1. Búsqueda de patrones.
6.2. Flujo óptico.
6.3. Integrales proyectivas.
6.4. Análisis del color.
A.6. Análisis de imágenes en OpenCV.
Procesamiento de Imágenes
Tema 6. Análisis de imágenes.
2
1
6. Análisis de imágenes.
• Análisis de imágenes: procesamiento “inteligente” de las
imágenes orientado a la extracción de información de tipo
cualitativo (qué hay en las imágenes) o cuantitativo
(posiciones, tamaños, distancias, tonos, etc.).
• Objetivos del análisis:
– Detección de objetos: encontrar en la imagen las instancias
de cierto tipo o clase de objetos.
– Reconocimiento de objetos: distinguir la identidad específica
de un objeto que se conoce que pertenece a cierta clase.
– Segmentación: separar los objetos de interés del fondo.
– Seguimiento y correspondencia: encontrar la equivalencia
de puntos entre dos imágenes (por ejemplo, imágenes en una
secuencia de vídeo o en un par estéreo).
– Reconstrucción 3D: extraer información 3D de la escena,
posiciones, ángulos, velocidades, etc.
Procesamiento de Imágenes
Tema 6. Análisis de imágenes.
3
6.1. Búsqueda de patrones.
• La búsqueda de patrones es una técnica de análisis que
se puede aplicar en detección de objetos, reconocimiento,
seguimiento y correspondencia.
•
Idea de la técnica: dada una imagen (un patrón o modelo)
encontrar sus apariciones dentro de otra imagen mayor.
• No se buscan sólo las apariciones “exactas”, sino
permitiendo cierto grado de variación respecto al patrón.
• Ejemplo. Buscar el
patrón:
en la imagen dada.
Resultado: nº de aparicio-
nes, localización de cada
una y “verosimilitud”
Procesamiento de Imágenes
Tema 6. Análisis de imágenes.
4
2
6.1. Búsqueda de patrones.
• El método más sencillo de búsqueda de patrones es el
template matching (comparación de plantillas).
• Template matching: sea A una imagen (de tamaño WxH),
y sea P un patrón (de wxh), el resultado es una imagen M
(de tamaño (W-w+1)x(H-h+1)), donde cada píxel M(x,y)
indica la “verosimilitud” (probabilidad) de que el rectángulo
[x,y] – [x+w-1, y+h-1] de A contenga el patrón P.
• La imagen M se define usando alguna función de diferencia
(o similitud) entre dos trozos de imagen.
M(x,y):= d({A(x,y),...,A(x+w-1,y+h-1)}, {P(0,0),..., P(w-1,h-1)})
• Ejemplo. Suma de diferencias al cuadrado:
M(x, y):= ∑ ∑ (P(a, b) - A(x+a, y+b))2
a= 0..w-1 b= 0..h-1
Es parecido a una
convolución (pasar
una máscara por
toda la imagen)
Procesamiento de Imágenes
Tema 6. Análisis de imágenes.
5
6.1. Búsqueda de patrones.
• Ejemplo. Template matching con suma de diferencias al
cuadrado.
Imagen de entrada A (239x156)
P - patrón a
buscar (68x37)
Mapa de
matching
M
6,58·106
125,3·106
Procesamiento de Imágenes
Tema 6. Análisis de imágenes.
Mapa superpuesto
6
3
6.1. Búsqueda de patrones.
• Los valores bajos (color oscuro) indican alta probabilidad
de que el patrón se encuentre en esa posición (esquina
superior izquierda).
• Los valores altos (color blanco) indican probabilidad baja.
• ¿Cuánto es alto o bajo? Normalizar el resultado.
• Normalización: dividir el resultado por:
sqrt( ∑ ∑ P(a, b)2 · ∑ ∑ A(x+a, y+b)2)
a= 0..w-1 b= 0..h-1
a= 0..w-1 b= 0..h-1
• Ejemplo. Diferencias
al cuadrado
normalizadas.
Mínimo:
0,119
Media:
2,5
Procesamiento de Imágenes
Tema 6. Análisis de imágenes.
7
6.1. Búsqueda de patrones.
• Se pueden usar también otras medidas de distancia.
• Ejemplo. Producto escalar de patrones “centrados”.
M(x, y):= ∑ ∑ (P’(a, b)·A’(x+a, y+b))
a= 0..w-1 b= 0..h-1
Esto es lo que
se llama la
correlación
donde P’(a,b):= P(a,b) - Media(P). Lo mismo para A’.
• El valor (normalizado) está entre -1 y +1. Cuanto mayor
(más próximo a +1) más probabilidad.
Imagen de entrada, A
Mapa de matching, M
Patrón, P
0,947
Procesamiento de Imágenes
Tema 6. Análisis de imágenes.
8
4
6.1. Búsqueda de patrones.
• Una de las principales aplicaciones del template matching
es la detección de objetos.
• Proceso de detección de objetos usando búsqueda de
patrones.
1) Conseguir un patrón, P, representativo de la clase de
objetos a buscar.
2) Aplicar el template matching a la imagen, obteniendo M.
3) Buscar los máximos (o mínimos) locales de M.
3.1) Buscar el máximo global, (lx, ly)= argmaxx, y M(x, y).
3.2) Si M(lx, ly) es menor que cierto umbral, acabar.
3.3) Añadir la posición (lx, ly) a una lista de localizaciones
resultantes del proceso.
3.4) Poner a cero en M el rectángulo [lx-w,ly-h]–[lx+w,ly+h].
3.5) Volver al paso 3.1.
Procesamiento de Imágenes
Tema 6. Análisis de imágenes.
9
6.1. Búsqueda de patrones.
• Ejemplo 1. Detección de objetos con template matching.
Imagen de entrada, A
Mapa de matching, M
Patrón, P
Resultados:
Posición (97, 87) con: 0.947
Posición (93, 10) con: 0.941
Posición (161, 47) con: 0.939
Posición (12, 24) con: 0.906
Posición (20, 121) con: 0.899
Posición (165, 9) con: 0.332
Procesamiento de Imágenes
Tema 6. Análisis de imágenes.
10
5
6.1. Búsqueda de patrones.
• Pero, normalmente, el problema no es tan sencillo. Las
clases de objetos presentan mayor variabilidad, y pueden
haber variaciones de tamaño y rotación.
• El umbral debe bajarse, produciendo falsos positivos.
• Ejemplo 2. Detección de caras humanas.
Imagen de entrada, A (640x480)
Patrón, P
(29x27)
Patrón
ampliado
Procesamiento de Imágenes
Tema 6. Análisis de imágenes.
11
6.1. Búsqueda de patrones.
• Ejemplo 2. Detección de caras humanas con template
matching.
Mapa de matching, M
Resultados de la detección
• Función: producto
vectorial.
• Umbral usado: 0,5
Falsos
positivos
Falsos
negativos
Procesamiento de Imágenes
Tema 6. Análisis de imágenes.
12
6
6.1. Búsqueda de patrones.
• Obviamente, la técnica es muy sensible a cambios de
escala, rotación o deformaciones 3D de los objetos.
• Ejemplo 1. Cambio de escala.
Imagen de entrada, A
Mapa de matching, M
63% 82% 100% 116% 143%
0,523 0,724 0,947 0,761 0,640
• Ejemplo 2. Cambio de rotación.
Imagen de entrada, A
Mapa de matching, M
20º 10º 0º 15º 25º
0,574 0,756 0,947 0,664 0,507
Procesamiento de Imágenes
Tema 6. Análisis de imágenes.
13
6.1. Búsqueda de patrones.
• Soluciones:
– Utilizar varios patrones, con distintos tamaños y rotaciones.
– Hacer una búsqueda multiescala. Aplicar el proceso
escalando la imagen a: 50%, 75%, 100%, 125%, ...
– Usar alguna técnica de atención selectiva. Por ejemplo, usar
color o bordes para centrar la atención en ciertas partes de la
imagen.
• Otra aplicación interesante del template matching es la
correspondencia: dado un par de imágenes de una misma
escena, encontrar los puntos equivalentes de ambas.
•
Idea: el patrón se extrae de una imagen y se aplica en la
otra. El máximo (o mínimo) matching indica la equivalencia
de puntos.
• Ejemplo: composición panorámica.
Procesamiento de Imágenes
Tema 6. Análisis de imágenes.
14
7
6.1. Búsqueda de patrones.
• Problema: dadas dos imágenes de sitios adyacentes,
obtener una composición panorámica de forma automática.
Imagen A (izquierda)
Imagen B (derecha)
• Como vimos en el tema 4, se usa una transf. geométrica.
• ¿Cómo obtener los parámetros de la transf.? Encontrar
puntos equivalentes entre ambas imágenes.
Procesamiento de Imágenes
Tema 6. Análisis de imágenes.
15
6.1. Búsqueda de patrones.
Proceso de composición panorámica:
•
1) Escoger dos trozos de la imagen A que se espera que
aparezcan en B. ¿Qué trozos?
1.1) Deben ser trozos en el solapamiento entre A y B. Si A es la
imagen izquierda, un trozo de la derecha.
1.2) El trozo debe tener elementos claramente definidos.
Imagen A (izquierda)
Este patrón no es
muy bueno, no es
nada significativo...
descartarlo
Este patrón
es OK
Este patrón también
parece OK, pero...
¿y la barandilla?
Procesamiento de Imágenes
Tema 6. Análisis de imágenes.
16
8
6.1. Búsqueda de patrones.
2) Para cada patrón escogido, buscarlo en la imagen B.
2.1) Aplicar template matching.
2.2) Quedarse con el máximo.
Mapa de matching
Patrón 1
Imagen B (derecha)
Localización resultante
Procesamiento de Imágenes
Tema 6. Análisis de imágenes.
17
6.1. Búsqueda de patrones.
2) Para cada patrón escogido, buscarlo en la imagen B.
Patrón 2
Mapa de matching
Imagen B (derecha)
Localizaciones resultantes
Aquí la cosa no está tan clara, pero
podríamos aplicar unas cuantas
heurísticas sencillas y descartar las
localizaciones inviables...
Procesamiento de Imágenes
Tema 6. Análisis de imágenes.
Comentarios de: TEMA 6. Análisis de Imágenes - Procesamiento de Imagenes (0)
No hay comentarios