View
234
Download
0
Category
Preview:
Citation preview
1
Tutorial:Bases de Datos Multimedia
Prof. Benjamin Bustos
KDW+PRISMA Research Group
Departamento de Ciencias de la Computación
Universidad de Chile
2
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 digitalespara escanear y digitalizar la huella (en unaimagen). Las huellas digitales estaránalmacenadas en una BD.
3
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
2
4
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)
5
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
6
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 range-optimal
� Tópicos avanzados y conclusiones
3
CONCEPTOS BÁSICOS
Tutorial: Bases de Datos Multimedia
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
4
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: encontrarobjetos “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
5
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
0.10.15 0.3 0.6
0.8
k vecinos más cercanos(recupera los 3 más similares)
Consulta por rango(encontrar los más parecidos – sobre 80%)
14
15
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
6
Espacios métricos, multidimensionales
� Propiedades de funciones de disimilitud:� No-negatividad:
� Reflexividad:� Simetría:� Desigualdad triangular:
� Una función que cumpla con estas cuatro propiedades se denomina métrica
16
yxyxd =⇔= 0),(
),(),( xydyxd =
),(),(),( zydyxdzxd +≤
0),( ≥yxd
Espacios métricos, multidimensionales
� Objetos se pueden representar como� Vectores multidimensionales:
� D: dimensión del espacio
� Histogramas� Normalizados
� Se manejan igual que los vectores
� Signatures� Conjuntos de vectores con un peso asociado
17
Dx ℜ∈
Espacios métricos, multidimensionales
� Familia de distancias de Minkowski
� Ejemplos� Manhattan (p=1):
� Euclidiana (p=2):
� Máximo (p=infinito):
18
∞≤≤
−= ∑
=
pyxyxdpD
i
p
ii 1,||),(
1
1
∑=
−=
D
i
ii yxyxd1
||),(
∑=
−=
D
i
ii yxyxd1
2||),(
||max),(1
iiDi
yxyxd −=≤≤
7
19
Espacios métricos, multidimensionales
� Método de vectores característicos
� Búsqueda se reduce a buscar puntos cercanos en un espacio vectorial
20
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
21
Consultas por similitud
� Ejemplo de consulta por rango en
8
22
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
23
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
24
Consultas por similitud
� Ejemplo de consulta por 3-NN en
9
MODELOS DE SIMILITUD
Tutorial: Bases de Datos Multimedia
25
26
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
27
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
10
28
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)
29
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
30
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
11
31
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
32
Descriptores para imágenes
� Ejemplos de matrices de similitud (dij es la distancia entre colores i y j)
�
�
33
Descriptores para imágenes
� Intensidad de un pixel (tonalidad gris)� Para pasar de RGB a gris:
12
34
Descriptores para imágenes
� Histograma de intensidades
35
Descriptores para imágenes
� Ordinal Measurement Descriptor (OMD)
36
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
13
37
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
38
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
39
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
14
40
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
41
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
42
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 qy el documento dj se definen como
15
43
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
44
Descriptores para texto
� La función de similitud retorna un valor entre 0 y 1
� Este valor sirve para determinar el grado de similitud entre documento y consulta
� Se puede definir una métrica a partir de sim
45
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
16
46
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
47
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
48
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
17
49
Descriptores para texto
� Definición� El mejor esquema conocido para términos con
pesos está dado por
� Estas estrategias se denominan esquemas tf-idf
50
Descriptores para texto
� Para los pesos de la consulta se sugiere usar
51
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
18
52
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
53
� Objetos relevantes vs. no relevantes
Deseado No deseado
Encontrado Positivo correcto (RP)
Falso positivo (FP)
No encontrado Falso negativo (FN)
Negativo correcto (RN)
Eficacia
54
Eficacia
� Precision y recall� Precision: ¿Cuántos de los objetos recuperados
son relevantes?
� Recall: ¿Cúantos de los objetos relevantes fueron encontrados?
19
55
Eficacia
� Precision y recall
56
Eficacia
� Gráfico precision vs. recall
Sistema A es másefectivo que elsistema B
57
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 áreasbajo las curvas de Precision vs. Recall
20
58
Eficacia
� Medidas de un solo valor� R-precision (“first tier”): precision calculada
cuando
� Bull-Eye Percentage (“second tier”): recall calculado cuando
59
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
60
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íamétodo de pooling.
� URL: http://trec.nist.gov/
21
61
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
62
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/
EFICIENCIA
Tutorial: Bases de Datos Multimedia
63
22
64
Í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
65
Índices multidimensionales
� Estructura básica
66
Í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
23
67
Í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))
68
Índices multidimensionales
� Ejemplo:
Índice:
69
Í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
24
70
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ε
71
Consulta por rango
� Algoritmo básico sin índice
72
Consulta por rango
� Algoritmo básico con índice multidimensional (búsqueda recursiva en profundidad)
25
73
Consulta por rango
� Ejemplo
p1p2
p21p22
p23
q
p11
p12p13
root
p2p1
p11 p12 p13 p21 p22 p23
74
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:
qc
qd
qa qb
lb1
ub1
lb0 ub0
75
Consulta por vecino más cercano
� Características� Usuario ingresa objeto de consulta q� Sistema retorna el objeto de la BD que se
encuentren a menor distancia de q
� El resultado puede ser ambiguo� Existe más de una respuesta, o� El resultado es no-determinístico
� Definición formal
26
76
Consulta por vecino más cercano
� Ejemplo de respuesta ambigua
q’ q”
a) q’ tiene un sólo NN b) q’’ tiene 2 NN
77
Consulta por vecino más cercano
� Variante no-determinística
� Algoritmo básico sin índice (no-determinístico)
78
Consulta por vecino más cercano
� Algoritmo simple (búsqueda en profundidad)
27
79
Consulta por vecino más cercano
� Ejemplo
80
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
81
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
28
82
Consulta por vecino más cercano
� Ejemplo
p1
p2
p21 p23
p22q
p12
p11p13
root
p2p1
p11 p12 p13 p21 p22 p23
pruningdist
1.
2.
3.
root
p2p1
p2 p11p12 p13
p21p22p23 p11p12 p13
p22 p12 p13
4.
5.
APL:
83
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
84
Consulta por vecino más cercano
� Algoritmo de Hjaltason y Samet
29
85
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
86
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
87
Í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
30
88
Í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
89
Índices métricos
� Indexamiento y búsqueda
90
Í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
31
91
Índices métricos
� Criterio de exclusión:
� Gráficamente
92
Í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
93
Í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
32
94
Índices métricos
� Ejemplo
Criterio de exclusión:
95
Í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
96
Í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
33
97
Índices métricos
� Algoritmo:� M: máxima distancia en el espacio
� α: factor (típicamente 0.4)
TÓPICOS AVANZADOS Y
CONCLUSIONES
Tutorial: Bases de Datos Multimedia
98
99
Combinación de descriptores
� Ejemplo
34
100
Búsqueda por similitud parcial
� Ejemplo:
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
35
103
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
104
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
105
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
Recommended