Tutorial: Bases de Datos Multimedia
Transcripción
Tutorial: Bases de Datos Multimedia
Tutorial: Bases de Datos Multimedia Prof. Benjamin Bustos KDW+PRISMA Research Group Departamento de Ciencias de la Computación Universidad de Chile Motivación La modernización del Registro Civil contempló el registro computacional de la huella digital de cada chileno Problema: Determinar si una persona está registrada o no en el sistema usando su huella digital Se utilizará un lector de huellas digitales para escanear y digitalizar la huella (en una imagen). Las huellas digitales estarán almacenadas en una BD. 2 Motivación Dificultades: ¿Pueden ser dos lecturas de la huella digital (incluso de la misma persona) exactamente iguales? R: es improbable que suceda eso Sólo basta con que 1 bit de ambas imágenes sea distinto para que dejen de ser iguales Si la imagen ocupa n bits: Espacio total imágenes O(2n) Búsqueda exacta no es útil para resolver el problema Sin embargo, ambas huellas deberían ser parecidas… Búsqueda por similitud 3 1 Motivación Más dificultades ¿Cómo se pueden comparar dos huellas digitales? R: fijarse en características importantes de la huella Modelo de similitud (dependiente de la aplicación) 4 Motivación Aún más dificultades: ¿Cómo se pueden buscar las huellas digitales más parecidas en la BD? Solución ingenua: búsqueda secuencial Lector USB: 40.000 huellas/s Habitantes en Chile: ~17 millones Tiempo de búsqueda: más de 7 minutos, ¡muy lento! Suponer que el cliente no es Chile sino China… Algoritmos y estructuras de datos eficientes que apoyen la búsqueda por similitud 5 Motivación Temas de este curso tutorial: Conceptos básicos: búsqueda por similitud, formalización en espacios métricos y multidimensionales, tipos básicos de consulta Modelos de similitud: descriptores para imágenes y texto, medidas de evaluación de la eficacia Eficiencia: búsqueda en índice multidimensional, búsqueda basada en pivotes, algoritmos rangeoptimal Tópicos avanzados y conclusiones 6 2 Tutorial: Bases de Datos Multimedia CONCEPTOS BÁSICOS 7 Búsqueda por similitud Más del 95% del contenido Web son datos multimedia Imágenes, Video, Audio Cualquier dato digitalizado sin estructura Tendencia irreversible Aparatos de captura de bajo costo Internet de alta velocidad Actividad humana en Internet (redes sociales e industria) 8 Búsqueda por similitud Problemas principales Búsqueda Recuperación Problemas relacionados Administración de contenido multimedia Interacción con el usuario Redes sociales 9 3 Búsqueda por similitud Áreas de aplicación Bases de datos científicas Biometría Reconocimiento de patrones Industria manufacturera Etc. 10 Búsqueda por similitud Problema: encontrar objetos “parecidos” o “relevantes” Contexto vs. contenido Contenido Anotaciones manuales Anotaciones automáticas 11 Búsqueda por similitud Búsqueda textual: buscadores Web Ventajas Permite consultas semánticas de alto nivel “Fácil” de implementar Desventajas Requiere intervención humana Altamente subjetivo Incompleto 12 4 Búsqueda por similitud Modelo de búsqueda Extracción de características Descriptor (vector) Estructura del descriptor está oculta al usuario Función de similitud Permite comparar descriptores Debe “imitar” la similitud semántica de los objetos 13 Búsqueda por similitud Tipos de consulta Query-by-example Consulta por rango (encontrar los más parecidos – sobre 80%) k vecinos más cercanos (recupera los 3 más similares) 0.1 0.15 0.3 0.6 0.8 14 Espacios métricos, multidimensionales Modelos para definir objetivamente “similitud” Similitud basada en distancias: Una función de distancia mide la disimilitud entre objetos A mayor distancia, más disímiles los objetos Un objeto q tiene (por lo general) distancia 0 a sí mismo Se puede formalizar matemáticamente Espacios métricos Espacios vectoriales 15 5 Espacios métricos, multidimensionales Propiedades de funciones de disimilitud: No-negatividad: Reflexividad: Simetría: Desigualdad triangular: d ( x, y ) ≥ 0 d ( x, y ) = 0 ⇔ x = y d ( x, y ) = d ( y, x) d ( x , z ) ≤ d ( x, y ) + d ( y , z ) Una función que cumpla con estas cuatro propiedades se denomina métrica 16 Espacios métricos, multidimensionales Objetos se pueden representar como D Vectores multidimensionales: x ∈ ℜ D: dimensión del espacio Histogramas Normalizados Se manejan igual que los vectores Signatures Conjuntos de vectores con un peso asociado 17 Espacios métricos, multidimensionales Familia de distancias de Minkowski 1 D p d ( x, y ) = ∑ | xi − yi | p ,1 ≤ p ≤ ∞ i =1 Ejemplos D Manhattan (p=1): d ( x, y ) = ∑ | xi − yi | Euclidiana (p=2): d ( x, y) = i =1 D ∑| x − y | i 2 i i =1 Máximo (p=infinito): d ( x, y ) = max | xi − yi | 1≤ i ≤ D 18 6 Espacios métricos, multidimensionales Método de vectores característicos Búsqueda se reduce a buscar puntos cercanos en un espacio vectorial 19 Consultas por similitud Sea el conjunto de datos multimedia (BD) y δ la función de distancia Consulta por rango Objeto de consulta: q Radio de tolerancia: r Bola de consulta: subespacio definido por q y r 20 Consultas por similitud Ejemplo de consulta por rango en 21 7 Consultas por similitud Problema de la consulta por rango: ¿Qué valor debe tener el radio de tolerancia? Muy pequeño: no retorna nada Muy grande: retorna demasiado 22 Consultas por similitud Consulta por vecinos más cercanos (k-NN) Objeto de consulta: q Número de vecinos: k (entero) Retorna conjunto tal que 23 Consultas por similitud Ejemplo de consulta por 3-NN en 24 8 Tutorial: Bases de Datos Multimedia MODELOS DE SIMILITUD 25 Descriptores para imágenes Búsqueda por contenido de la imagen misma Contenido derivado de la representación interna de la imagen (píxeles) Evita los problemas de las anotaciones manuales Características a considerar Colores Histogramas de colores Texturas Estructuras de segmentos de imágenes (madera, piedra, etc.) Formas (contornos) Modelo de similitud basado en píxeles Modelo de similitud morfológico 26 Descriptores para imágenes Histogramas de colores Representación de la distribución de colores en una imagen Definición del histograma de colores Fijar el espacio de colores (e.g., RGB, HSV, CMY) Elegir representantes de dicho espacio (sample points) E.g., matriz en espacio de colores de 4x4x4=64 colores o 8x8x8=512 colores 27 9 Descriptores para imágenes Cálculo del histograma de colores Por cada píxel, aumentar el contador de su representante más cercano en uno Normalizar el histograma para hacerlo independiente del tamaño de la imagen Ejemplos (64 representantes) 28 Descriptores para imágenes Funciones de distancia Ejemplo distancia euclidiana: sean HP y HQ los histogramas de colores de las imágenes P y Q 29 Descriptores para imágenes Problemas de la distancia euclidiana En el ejemplo, todos los pares de imágenes tienen distancia No se tiene en cuenta el hecho que el rojo se parece más al rosado que al azul No se consideran las interrelaciones entre dimensiones 30 10 Descriptores para imágenes Forma cuadrática como función de distancia Definición: sea A una matriz de similitud. Se cumple que Los valor aij de la matriz A describen la similitud entre las dimensiones i y j de los vectores (bins i y j del histograma) Para el ejemplo, dada la matriz se obtienen las distancias 31 Descriptores para imágenes Ejemplos de matrices de similitud (dij es la distancia entre colores i y j) 32 Descriptores para imágenes Intensidad de un pixel (tonalidad gris) Para pasar de RGB a gris: 33 11 Descriptores para imágenes Histograma de intensidades 34 Descriptores para imágenes Ordinal Measurement Descriptor (OMD) 35 Descriptores para texto Modelo clásico en Information Retrieval (IR) Documento: párrafo, capítulo, página web, libro,… Término: palabra cuya semántica ayuda a recordar los tópicos principales de un documento Por lo general son sustantivos Tienen significado propio Su semántica es fácil de identificar Adjetivos, adverbios y conectores son menos útiles Se utilizan más como complementos 36 12 Descriptores para texto Dado un conjunto de términos, no todos tienen la misma utilidad para describir documentos Hay términos que son más vagos que otros No es fácil determinar la importancia de un término Ejemplo Término que aparece en todos los documentos no sirve para discriminar Término que aparece en unos pocos documentos es adecuado para discriminar 37 Descriptores para texto Relevancia de un término: pesos Sea ki un término, dj un documento y wij el peso asociado al par (ki, dj) Sea t el número de términos. El conjunto de todos los términos está dado por wij cuantifica la importancia del término para describir el contenido semántico del documento 38 Descriptores para texto A cada término ki del documento dj se le asocia un peso estrictamente positivo wij Si un término no aparece en un documento se le asocia un peso wij =0 Al documento dj se le asocia un vector representado por 39 13 Descriptores para texto Sea gi una función que retorna los pesos Se asume que los pesos de los términos son independientes Es una simplificación: ocurrencia de términos en un documento están correlacionadas Ejemplo: computer y network Simplifica la tarea de calcular los pesos y rankings de documentos 40 Descriptores para texto Modelo vectorial Asigna pesos no-binarios a los términos Estos pesos se utilizan para determinar el grado de similitud entre documentos El modelo vectorial también toma en consideración documentos que sólo tienen un match parcial con la consulta Ranking: los documentos se priorizan acorde a su similitud con la consulta 41 Descriptores para texto Definiciones Peso wij es positivo y no-binario Los términos que componen la consulta también tienen pesos wiq Dados t términos, los vectores para la consulta q y el documento dj se definen como 42 14 Descriptores para texto Medida de similitud Se evalúa como la correlación entre los vectores de la consulta y el documento Esta correlación se puede cuantificar, por ejemplo, como el coseno del ángulo entre los vectores 43 Descriptores para texto La función de similitud retorna un valor entre 0y1 Este valor sirve para determinar el grado de similitud entre documento y consulta Se puede definir una métrica a partir de sim 44 Descriptores para texto Cálculo de los pesos wij Idea basada en los principios de clustering Documentos: colección C de objetos Consulta: especificación vaga de un conjunto A de objetos Problema: determinar qué documentos caen dentro del conjunto A Similitud intra-cluster: qué características describen mejor a los objetos en A Disimilitud inter-cluster: qué características distinguen los objetos de A del resto de los objetos en C 45 15 Descriptores para texto Cálculo de los pesos wij Similitud intra-cluster se cuantifica midiendo la frecuencia de un término ki en un documento dj tf factor Disimilitud inter-cluster se cuantifica midiendo el inverso de la frecuencia del término ki entre los documentos de la colección idf factor Términos que aparecen en muchos documentos no son útiles para distinguir entre documentos relevantes y no relevantes 46 Descriptores para texto Definición Sea N el número de documentos, ni el número de documentos donde aparece el término ki, y freqij la frecuencia del término ki en el documento dj La frecuencia normalizada fij del término ki en el documento dj está dada por 47 Descriptores para texto Definición Si el término ki no aparece en dj, fij=0 Sea idfi la frecuencia de documento inversa para ki, definida como 48 16 Descriptores para texto Definición El mejor esquema conocido para términos con pesos está dado por Estas estrategias se denominan esquemas tf-idf 49 Descriptores para texto Para los pesos de la consulta se sugiere usar 50 Eficacia Definición Calidad de la respuesta retornada por el sistema Ejemplo en espacios vectoriales: función de transformación efectiva mapea dos objetos similares en puntos cercanos Descriptores finos se obtienen con resoluciones (dimensiones) altas No necesariamente implican mejor eficacia 51 17 Eficacia Evaluación de la eficacia de un sistema de búsqueda por similitud Medir su habilidad de recuperar objetos relevantes de la colección de datos y de evitar los objetos no relevantes Medidas de eficacia “Ground truth”: Colección de prueba Medida de evaluación: cuantifica similitud entre objetos recuperados y objetos relevantes 52 Eficacia Objetos relevantes vs. no relevantes Deseado No deseado Encontrado Positivo Falso positivo correcto (RP) (FP) No encontrado Falso negativo Negativo (FN) correcto (RN) 53 Eficacia Precision y recall Precision: ¿Cuántos de los objetos recuperados son relevantes? Recall: ¿Cúantos de los objetos relevantes fueron encontrados? 54 18 Eficacia Precision y recall 55 Eficacia Gráfico precision vs. recall Sistema A es más efectivo que el sistema B 56 Eficacia Medidas de un solo valor Mean Average Precision (MAP): Average Precision: promedio de la precisión de los documentos relevantes para una consulta dada MAP: promedio de los Average Precision para un conjunto de consultas Es una aproximación del promedio de las áreas bajo las curvas de Precision vs. Recall 57 19 Eficacia Medidas de un solo valor R-precision (“first tier”): precision calculada cuando Bull-Eye Percentage (“second tier”): recall calculado cuando 58 Eficacia Colección de referencia Colección de documentos usados para probar modelos de RI y algoritmos Usualmente incluye: Conjunto de objetos Conjunto de consultas Conjunto de objetos relevantes a cada consulta Son difíciles de construir 59 Eficacia TREC collection Text REtrieval Conference, empezó en 1992. Colección de documentos de TREC Varios gigabytes de datos Documentos provienen de fuentes diversas Conjunto de documentos relevantes se obtienen vía método de pooling. URL: http://trec.nist.gov/ 60 20 Eficacia Princeton Shape Benchmark Base de datos y herramientas para recuperación de objetos 3D 1,814 modelos 3D: Clasificación base para entrenamiento, 90 clases, 907 modelos Clasificación base para pruebas, 92 clases, 907 modelos URL: http://shape.cs.princeton.edu/benchmark/index.cgi 61 Eficacia CoPhIR (Content-based Photo Image Retrieval) Mayor colección de imágenes disponibles para investigación hasta el momento (106 millones) Se compone de: Imágenes Thumbnails XML con metadatos (uno por imagen) Descriptores para imágenes (MPEG-7) URL: http://cophir.isti.cnr.it/ 62 Tutorial: Bases de Datos Multimedia EFICIENCIA 63 21 Índices multidimensionales Principios generales En general son árboles balanceados Cada nodo corresponde a Una página de disco Una región del espacio Existen dos tipos de páginas (nodos) Páginas de datos: corresponden a las hojas y contienen puntos del espacio Páginas de directorio: son nodos internos y almacenan entradas de directorio Punteros a los hijos Describen la región espacial de los hijos 64 Índices multidimensionales Estructura básica 65 Índices multidimensionales Región espacial: garantizan que puntos cercanos se almacenarán en lo posible en la misma página de datos o subárbol Diferentes opciones para forma de la región Hiperesfera Hipercubo Cuboide multidimensional Cilindro multidimensional Combinación de los anteriores 66 22 Índices multidimensionales Regiones de páginas jerárquicamente organizadas siempre deben estar contenidas completamente en la región de su padre Condición para la rectitud del resultado (aproximación conservativa, e.g., propiedad de cota inferior) Índices multidimensionales son dinámicos Operaciones de inserción y borrado eficientes (O(log n)) 67 Índices multidimensionales Ejemplo: Índice: 68 Índices multidimensionales Procedimiento típico de inserción Buscar una página de datos adecuada para el objeto a insertar (se inserta donde debería encontrarse) Insertar el objeto Si se excede la capacidad de la página (overflow), dividir la página en dos (split) Modificar las representación de la región en el nodo padre Si el número de subárboles almacenados excede la capacidad de una página de directorio, dividir el nodo padre. Proceder recursivamente hacia arriba en el árbol Si la raíz se divide, el árbol crece en un nivel 69 23 Consulta por rango Características Usuario ingresa objeto de consulta q y radio de tolerancia ε Sistema retorna todos los objetos que se encuentren a distancia menor o igual que ε de q Definición formal ε q 70 Consulta por rango Algoritmo básico sin índice 71 Consulta por rango Algoritmo básico con índice multidimensional (búsqueda recursiva en profundidad) 72 24 Consulta por rango Ejemplo p21 p22 root q p2 p23 p11 p11 p13 p2 p1 p1 p12 p13 p21 p22 p23 p12 73 Consulta por rango Test de traslape entre la región definida por la consulta y la región de una página Distancia entre consulta y región es la mínima distancia entre consulta y algún punto de la región (MINDIST). Para la distancia euclidiana: qa qb ub1 qc lb 1 lb 0 ub0 qd 74 Consulta por vecino más cercano Características El resultado puede ser ambiguo Usuario ingresa objeto de consulta q Sistema retorna el objeto de la BD que se encuentren a menor distancia de q Existe más de una respuesta, o El resultado es no-determinístico Definición formal 75 25 Consulta por vecino más cercano Ejemplo de respuesta ambigua q” q’ a) q’ tiene un sólo NN b) q’’ tiene 2 NN 76 Consulta por vecino más cercano Variante no-determinística Algoritmo básico sin índice (nodeterminístico) 77 Consulta por vecino más cercano Algoritmo simple (búsqueda en profundidad) 78 26 Consulta por vecino más cercano Ejemplo 79 Consulta por vecino más cercano Búsqueda por prioridad de Hjaltason y Samet En vez de un recorrido recursivo del índice, el algoritmo mantiene explícitamente una lista de las páginas activas (Active Page List o APL) Definición: una página p es activa ssi p no ha sido accesada El padre de p fue accesado La APL se inicializa con la raíz del índice 80 Consulta por vecino más cercano Búsqueda por prioridad de Hjaltason y Samet El algoritmo saca de la APL la página con mayor prioridad (i.e., con MINDIST mínimo) Dicha página se procesa como sigue Páginas de datos se procesan como siempre Páginas de directorio: hijos con MINDIST menor o igual que pruningdist (distancia al candidato a vecino más cercano) son insertados en la APL Implementación de APL como cola de prioridad 81 27 Consulta por vecino más cercano Ejemplo p21 p2 p23 root st q p22 p11 1. 2. 3. 4. 5. p2 p1 p12 p13 APL: pru nin gdi p11 p12 p13 p21 p22 p23 p1 root p1 p2 p2 p12 p23 p22 p22 p12 p13 p12 p13 p11 p13 p11 p21 82 Consulta por vecino más cercano Observaciones Las páginas se acceden en orden creciente de distancia (círculos azules) pruningdist (círculos rojos) decrece al encontrarse puntos más cercanos El algoritmo se detiene cuando ambos círculos se encuentran 83 Consulta por vecino más cercano Algoritmo de Hjaltason y Samet 84 28 Consulta por vecino más cercano Optimalidad del algoritmo de Hjaltason y Samet El algoritmo es óptimo con respecto al número de páginas accesadas para un índice dado Demostración en tres partes Lema 1: algoritmo correcto accesa por lo menos a todas las páginas en la región definida por la consulta y su NN Lema 2: acceso a las páginas en orden de distancia creciente a la consulta Lema 3: ningún acceso a una página con MINDIST mayor que la distancia al NN Corolario: el algoritmo accesa un número óptimo de páginas 85 Consulta por vecino más cercano A esta propiedad se le conoce como “range-optimal” Es equivalente a Suponer que se conoce a priori la distancia al vecino más cercano, distNN* Se realiza una consulta por rango, con ε = distNN* Algoritmo range-optimal y consulta por rango usando distNN* revisan los mismos nodos del índice 86 Índices métricos Sólo se dispone de colección de datos C función de distancia δ Algoritmo simple: búsqueda secuencial En general, en espacios métricos se considera que la función de distancia es computacionalmente costosa de calcular Tiempo total para evaluar una consulta 87 29 Índices métricos Índices métricos tratan de minimizar el número de cómputos de distancia necesarios para responder búsquedas por similitud Otros componentes del costo pueden ser obviados (depende de la aplicación) Índice métrico particiona el espacio en clases de equivalencia Durante la búsqueda se descartan clases Clases no descartadas deben ser examinadas 88 Índices métricos Indexamiento y búsqueda 89 Índices métricos Un pivote es un objeto distinguido de la colección Puede ser utilizado para descartar objetos Dada una consulta por rango (q,r) y un pivote p, se tiene que Cota inferior para distancia entre q y u 90 30 Índices métricos Criterio de exclusión: Gráficamente 91 Índices métricos Algoritmo de búsqueda canónico basado en pivotes Elegir k pivotes entre los objetos de la BD Índice consiste en kn distancias precalculadas entre pivotes y objetos de la BD 92 Índices métricos Consultas por rango Calcular k distancias entre q y pivotes Descartar objetos usando el criterio de exclusión (basta que con un pivote se descarte un objeto) Lista de objetos candidatos (los que no se pudieron descartar) deben ser comparados directamente con q 93 31 Índices métricos Ejemplo Criterio de exclusión: 94 Índices métricos Algoritmo 1-NN range-optimal con pivotes Por cada objeto o en C Calcular cota inferior de distancia lb(q,o) = |δ(p,q)-δ(p,o)| Ordenar objetos por cota en forma ascendente NN = vacio; distNN = infinito Por cada objeto o en C (revisados en orden) Si lb(q,o) <= distNN Calcular δ(q,o) Si δ(q,o) < distNN NN = o distNN = δ(q,o) Retornar NN 95 Índices métricos ¿Cómo escoger los pivotes? SSS: Sparse Spatial Selection Selección dinámica de pivotes No requiere conocer elementos de la colección Agrega pivotes al índice a medida que encuentra “buenos” pivotes 96 32 Índices métricos Algoritmo: M: máxima distancia en el espacio α: factor (típicamente 0.4) 97 Tutorial: Bases de Datos Multimedia TÓPICOS AVANZADOS Y CONCLUSIONES 98 Combinación de descriptores Ejemplo 99 33 Búsqueda por similitud parcial Ejemplo: 100 Descriptores locales Muchos descriptores por objeto multimedia Gap semántico Combinar descriptores de bajo y alto nivel Alto nivel: conceptos Metadatos Título, tags, etc. Generados por usuario Clic-logs Contiene información semántica 34 Conclusiones Datos multimedia Información no estructurada Puede contener metadatos asociados Importancia de la búsqueda por similitud Modelo de similitud Define cómo comparar objetos Depende de la aplicación final 103 Conclusiones Eficacia Calidad de la respuesta obtenida Testing de algoritmos mediante colecciones de referencia Eficiencia Búsqueda secuencial puede resultar muy lenta Variadas estrategias Filtrar-y-refinar Índices multidimensionales y métricos 104 Conclusiones Búsqueda por similitud es herramienta básica para realizar tareas más complejas Minería de datos Reconocimiento de patrones Aprendizaje de máquina 105 35 Fin ¡Gracias por la atención! 106 36