Publicado el 28 de Agosto del 2017
1.214 visualizaciones desde el 28 de Agosto del 2017
2,9 MB
13 paginas
Creado hace 15a (18/05/2010)
PROCESAMIENTO
AUDIOVISUAL
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.
7. Vídeo y sonido digital.
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.
(c) Ginés García Mateos, http://dis.um.es/profesores/ginesgm
Procesamiento Audiovisual
Tema 6. Análisis de imágenes.
Dept. de Informática y Sistemas, Universidad de Murcia
1
Procesamiento Audiovisual
Tema 6. Análisis de imágenes.
2
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.
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 Audiovisual
Tema 6. Análisis de imágenes.
3
Procesamiento Audiovisual
Tema 6. Análisis de imágenes.
4
• El método más sencillo de búsqueda de patrones es el
6.1. Búsqueda de patrones.
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
Procesamiento Audiovisual
Tema 6. Análisis de imágenes.
Es parecido a una
convolución (pasar
una máscara por
toda la imagen)
5
6.1. Búsqueda de patrones.
• Ejemplo. Template matching con suma de diferencias al
Imagen de entrada A (239x156)
cuadrado.
P - patrón a
buscar (68x37)
Mapa de
matching
M
6,58·106
125,3·106
Procesamiento Audiovisual
Tema 6. Análisis de imágenes.
Mapa superpuesto
6
1
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
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))
donde P’(a,b):= P(a,b) - Media(P). Lo mismo para A’.
a= 0..w-1 b= 0..h-1
Esto es lo que
se llama la
correlación
• 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
• Ejemplo. Diferencias
al cuadrado
normalizadas.
Procesamiento Audiovisual
Tema 6. Análisis de imágenes.
Patrón, P
Mínimo:
0,119
Media:
2,5
7
Procesamiento Audiovisual
Tema 6. Análisis de imágenes.
0,947
8
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)= argmax∀x, 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 Audiovisual
Tema 6. Análisis de imágenes.
9
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
• Ejemplo 1. Detección de objetos con template matching.
Mapa de matching, M
6.1. Búsqueda de patrones.
Imagen de entrada, A
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
10
Procesamiento Audiovisual
Tema 6. Análisis de imágenes.
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
Procesamiento Audiovisual
Tema 6. Análisis de imágenes.
11
Procesamiento Audiovisual
Tema 6. Análisis de imágenes.
12
• Función: producto
vectorial.
• Umbral usado: 0,5
Falsos
positivos
Falsos
negativos
2
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
•
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.
Procesamiento Audiovisual
Tema 6. Análisis de imágenes.
13
• Ejemplo: composición panorámica.
Procesamiento Audiovisual
Tema 6. Análisis de imágenes.
14
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)
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)
• 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 Audiovisual
Tema 6. Análisis de imágenes.
15
Procesamiento Audiovisual
Tema 6. Análisis de imágenes.
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?
16
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
6.1. Búsqueda de patrones.
2) Para cada patrón escogido, buscarlo en la imagen B.
Patrón 2
Mapa de matching
Patrón 1
Imagen B (derecha)
Imagen B (derecha)
Localización resultante
Localizaciones resultantes
Aquí la cosa no está tan clara, pero
heurísticas sencillas y descartar las
podríamos aplicar unas cuantas
localizaciones inviables...
Procesamiento Audiovisual
Tema 6. Análisis de imágenes.
17
Procesamiento Audiovisual
Tema 6. Análisis de imágenes.
18
3
6.1. Búsqueda de patrones.
3) Con las localizaciones equivalentes, calcular los
parámetros de la transf. geométrica.
4) Aplicar la transformación y componer las dos imágenes.
6.1. Búsqueda de patrones.
• Otra aplicación es el seguimiento de objetos: localizar la
posición de un objeto a lo largo de una secuencia de vídeo.
• En un vídeo se espera que haya cierta “continuidad
temporal”, los elementos de la escena varían lentamente.
Idea: aplicar template matching, usando como patrón el ROI
del objeto en el instante t, aplicado sobre la imagen en t+1.
• Ejemplo. Seguimiento de caras. Suponemos una detección
•
inicial.
Imagen en t = 0
Patrón de cara,
P0
Procesamiento Audiovisual
Tema 6. Análisis de imágenes.
19
Procesamiento Audiovisual
Tema 6. Análisis de imágenes.
20
6.1. Búsqueda de patrones.
Proceso de seguimiento usando template matching:
•
1) Detectar la posición inicial del objeto, R0.
2) Repetir para cada
Comentarios de: TEMA 6. Análisis de Imágenes - Procesamiento audiovisual (0)
No hay comentarios