Descargar

Búsqueda de patrones y flujo óptico

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red 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.

    edu.red 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”

    edu.red 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)

    edu.red Búsqueda de patrones. Ejemplo. Template matching con suma de diferencias al cuadrado. Imagen de entrada A (239×156) P – patrón a buscar (68×37) Mapa de matching M Mapa superpuesto 6,58·106 125,3·106

    edu.red 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. Diferenciasal cuadradonormalizadas. Mínimo: 0,119 Media: 2,5

    edu.red 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 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 Patrón, P Mapa de matching, M 0,947 Esto es lo que se llama la correlación

    edu.red 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.

    edu.red Búsqueda de patrones. Ejemplo 1. Detección de objetos con template matching. 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 Mapa de matching, M

    edu.red 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 (640×480) Patrón, P (29×27) Patrón ampliado

    edu.red 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

    Partes: 1, 2
    Página siguiente