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

Documentos relacionados