Banco de Dados Multimídia
Capítulo 4: BD ImagensUFCG/CEEI/COPIN
Cláudio Baptista
BD Imagens
Motivação Grande volume de imagens disponíveis Projeto NASA EOSDIS envia Petabytes de imagens
por ano! Cada cidadão norte-americanoque tiver tirado um
passaporte tem sua fotografia digital Hospitais estão armazenando imagens: raios-X,
Tomografia, Ressonância Magnética Museus e bibliotecas digitais multimídia têm usado
imagens digitais Usuários têm gerado fotografias digitais
BD Imagens Em SGBD convencionais (ex. relacional), estas
imagens são consultadas pelas anotações que são realizadas (metadados)
Existe a necessidade de se realizar consulta nas próprias imagens, usando metadados de baixo nível: cor, textura, forma.
Este é o propósito da técnica de Content-Based Retrieval - CBR
BD Imagens O conteúdo de uma imagem consiste de
todos os objetos visíveis a uma aplicação Este objetos têm as seguintes propriedades:
descritor de forma: forma/localização de objeto na imagem, em geral usam-se retângulos (bounding) que identificam (circundam) as formas.
descritor de propriedades: propriedades de pixels (ou grupo de pixels), ex. valores RGB ou tons-de-cinza.
BD Imagens
Na figura acima os retângulos mostram a extração de formasdo objeto avião. Nem sempre retângulos são suficientes, porquê?
NY, NYCadê a torre?
BD Imagens
Em geral, ao invés de trabalhar com cada pixel individualmente, agrupam-se estes em células.
Definição: Cada imagem I tem um par de inteiros positivos (m,n), chamado de grid de resolução da imagem. Isto divide a imagem em (m x n) células de tamanho igual.
Cada célula num dado grid consiste de uma coleção de pixels.
BD Imagens Definição: Uma propriedade de uma célula é uma
tripla (nome, valor, método), onde nome: denota o nome da propriedade valor: é um conjunto de valores que a propriedade pode
assumir método: é o algoritmo que computa a propriedade
Ex.: Imagem preto-e-branco e outra tons de cinza (graylevel), uma propriedade de uma célula seria
(bwcolor, {b,w}, bwalgo) (graylevel, [0,1], grayalgo)
BD Imagens
Onde graylevel: graylevel(célula) = XLBiXUBYLBjYUB
findgray(i,j)/ (XUB - XLB) x (YUB - YLB)
Onde XLB: (X Lower Bound) limite inferior X do retângulo que
contorna a célula XUB: (X Upper Bound) limite superior X do retângulo
que contorna a célula
BD Imagens Definição: Uma forma de um objeto é qualquer
conjunto de pontos P tais que se p,q P, então existe uma sequência de pontos p1, …, pn em P tais que:
p = p1 e q = pn 1in, p i+1 é um vizinho de pi , isto é, se pi = (xi,yi) e p i+1 =
(xi+1,yi+1), então (xi+1,yi+1) satisfaz uma das seguintes condições: (xi+1,yi+1) = ( xi + 1, yi); (xi+1,yi+1) = ( xi - 1, yi); (xi+1,yi+1) = ( xi, yi + 1); (xi+1,yi+1) = ( xi, yi - 1); (xi+1,yi+1) = ( xi + 1, yi+1);
(xi+1,yi+1) = ( xi + 1, yi-1); (xi+1,yi+1) = ( xi - 1, yi+ 1); (xi+1,yi+1) = ( xi - 1, yi - 1)
BD Imagens
Definição: um retângulo é uma forma de objeto P, tal que existe inteiros XLB,XUB, YLB, YUB tais que:
P = {(x,y)| XLBxXUB & YLByYUB}
BD Imagens
Imagens são representadas por bitmaps (raster images)
Um bitmap é uma matriz bidimensional formada por elementos chamados pixels Cada pixel tem um valor numérico chamado
aplitude O número de bits utilizado para um pixel é
chamado de pixel depth
BD Imagens
Um pixel depth pode representar: Um ponto preto ou branco Um nível de cinza (imagem monocromática) Atributos de cor (imagem colorida)
BD Imagens
Compressão de Imagens: em geral representar imagens com todos os seus pixels pode ser inviável dado que podemos ter grandes valores, (1024X1024). Portanto, usamos técnicas de compressão que transforma a imagem original numa versão comprimida (menor)
BD Imagens - Compressão A criação de uma imagem comprimida consiste em
duas partes: Seleção do tamanho Seleção do algoritmo de transformação (com perda e sem
perda) Transformada Discreta de Fourier (DFT)
p1-1 p2-1
DFT(x,y) = 1/p1p2 * (I(a,b) x e -j(2xa/p1 + 2yb/p2) a=0 b=0
onde j é o complexo (-1)1/2
DFT é sem perda e preserva distância Euclidiana
BD Imagens - Compressão
A Transformada Discreta do Cosseno (DCT)
DCT(i,j) = 2/(p1p2)1/2 (i) * (j) r=0, p1-1 s=0, p2-1 ( cos ( ((2r + 1) x i)/2r) * cos (((2s + 1) x j)/2s))
onde (i), (j) = 1/(2) 1/2 quando i, j = 0, ou 1 caso contrário
DCT é computado rapidamente DCT é sem perda
Formatos de Imagens
Não-comprimidas Pgm (portable gray map) ou ppm (portable
pixel map – Unix BMP (gray e color) - Windows
Formatos de Imagens
Comprimidas GIF(Graphics Interchange Format):
Usa algorítimo de compressão LZW (Lempel-Ziv-Welch)
Taxa de compresão média : 4:1 Pode ter animação
Formatos de Imagens
Comprimidas JPEG (Joint Photographics Expert Group)
Bom para fotos, não muito bom para pequenas imagens menores do que 100x100 pixels
Taxa de compressão 10:1 a 100:1
Formatos de Imagens
Comprimidas PNG (Portable Network Graphics)
Mais color depth (48bits) do que GIF(8bits) 10 a 30% menores do que LZW (Gif) Metadados textuais podem ser adicionados
Ex. Imagens comprimidas
Bmp (57KB) jpg (6KB)
png (15KB) gif (16KB)
Segmentação de Imagens
Busca em ImagensBD Tradicionais:
–Designed to manage one-dimensional datasets consisting of simple data types, such as strings and numbers
–Limited kinds of queries: exact match, partial match, and range queries
–Well-understood indexing methods: B-trees, hashing
MM queries - Características
We normally retrieve a few records from a traditional DBMS through the specification of exact queries based on the notions of “equality”.
The types of queries expected in an image/video DBMS are relatively vague or fuzzy, and are based on the notion of “similarity”.
MM queries - Características
The indexing structure should be able to satisfy similarity-based queries for a wide range of similarity measures.
CBR
It is necessary to extract the features which are characteristics of the image and index the image on these features.
Examples: Shape descriptions, texture
properties.
CBR
Typically there are a few different quantitative measures which describes the various aspect of each feature.
Example: The texture attribute of an image can be modeled as a 3-dimensional
vector with measures of directionality, contrast, and coarseness.
Busca em ImagensBD Tradicionais:
–Designed to manage one-dimensional datasets consisting of simple data types, such as strings and numbers
–Limited kinds of queries: exact match, partial match, and range queries
–Well-understood indexing methods: B-trees, hashing
MM queries - Características
We normally retrieve a few records from a traditional DBMS through the specification of exact queries based on the notions of “equality”.
The types of queries expected in an image/video DBMS are relatively vague or fuzzy, and are based on the notion of “similarity”.
MM queries - Características
The indexing structure should be able to satisfy similarity-based queries for a wide range of similarity measures.
CBR
It is necessary to extract the features which are characteristics of the image and index the image on these features.
Examples: Shape descriptions, texture
properties.
CBR
Typically there are a few different quantitative measures which describes the various aspect of each feature.
Example: The texture attribute of an image can be
modeled as a 3-dimensional vector with measures of directionality, contrast, and coarseness.
CBR
Multimedia require support of multi-dimensional datasets E.g., a 256 dimensional feature vector.
That implies Specialized kinds of queries New indexing approaches. Two choices:
Map n-dimensional data to a single dimension and use traditional indexing structures (B-trees)
Develop specialized indexing structures
Low-Dimensional Indexing Applications Spatial Databases (GIS, CAD/CAM)
Number of dimensions: 2-4 Spatial queries. For example:
Which objects intersect a given 2D or 3D rectangle Which objects intersect a given object
Specialized indexing structures quad-tree, BSP-tree, K-D-B-tree, R-tree, R+-tree,
R*-tree, X-tree, …
High-Dimensional (HD) Indexing Applications Multimedia databases (Images, Sounds,
Movies) Map multimedia object to a n-dimensional point called
feature vector Number of dimensions: typically 256 - 1000 Indexing:
Actually index only feature vectors Data structures used:
same as for spatial databases (R-Trees, X-trees) or, structures tailored to index specifically feature vectors
(TV-Tree)
HD Considerations (1) Main problem:
In general there is no total-ordering of d-dimensional objects that preserves spatial proximity
Data comes in two forms N-dimensional points N-dimensional objects extended in space
Objects can have rather complex shapes (extents) Typically abstract from the actual form and index some
simpler shapes, such as Minimum Bounding Boxes (MBB) or n-dimensional hyper spheres
HD Considerations (2) “Dimensionality curse”
As the number of dimensions increases performance tends to degrade (often
exponentially) Indexing structures become inefficient for certain
kinds of queries Performance is often CPU-bound, not just
I/O-bound as in traditional DBMS
HD Queries Overview No standard algebra or query language The set of operators strongly depends on
application domain Queries are usually expressed by an
extension of SQL (e.g. abstract data types)
Although there are no standards, some queries are common
Multiattribute and Spatial Indexing of Multimedia Objects
Spatial Databases: Queries involve regions that are represented as multidimensional objects.
Example: A rectangle in a 2-dimensional space involves four values: two points and two values for each point.
Access methods that index on multidimensional keys yield better performance for spatial queries.
Multiattribute and Spatial Indexing of Multimedia Objects
Multimedia Databases: Multimedia objects typically have several attributes that characterize them.
Example: Attributes of an image include coarseness, shape, color, etc.
Multimedia databases are also good candidates for multikey search structures.
Similarity Based on Weighted Euclidean Distance
A suitable measure of similarity between an image feature vector F and query vector Q is the weighted metric W:
where A is an nxn matrix which can be used to
specify suitable weighting measures.
W F Q A F QT ( ) ( ) ,
Query Types
Querying in image DBMS is envisioned to be iterative in nature:
Vague Queries: Queries at the earlier stage can be very “loose”.Retrieve images containing textures similar to this sample.
K-nearest-neighbor-queries: The user specifies the number of close matches to the given query point.
Retrieve 10 images containing textures directionally similar to this sample
Range queries: An interval is given for each dimension of the feature space and all the records which fall inside this hypercube are retrieved.
Query Types
r is large r is small range query=> vague query => 3-nearest neighbor query
Q Q .Q. r. .
.. . .
... . ..+ ++
Indexing Multimedia Objects Can’t we index multiple features using a B+-
tree ? B+-tree defines a linear order Similar objects (e.g., O1 and O2) can be far apart in
the indexing order Why multidimensional indexing ?
A multidimensional index defines a “spatial order” Conceptually similar objects are spatially near each
other in the indexing order (e.g., O1 and O2)
Some Multidimensional Search Structures
Space Filling Curves k-d Trees Multidimensional Tries Grid File Point-Quad Trees R Trees, R*, TV, SS D-Trees VA files
CBIR - Content-Based Image Indexing
Keyword Approach
Problem: there is no commonly agreed-upon vocabulary for describing image properties.
Computer Vision Techniques
Problem: General image understanding and object recognition is beyond the capability of current computer vision technology.
CBIR - Content-Based Image Indexing
Image Analysis Techniques
It is relatively easy to capture the primitive image properties such as
prominent regions,
their colors and shapes,
and related layout and location information within images.
These features can be used to index image data.
CBIR – Features mais usadas
Edge Region Color Shape Location Size Texture
CBIR – Edge detection
lena.gif vertical edges horizontal edges
norm of the gradient
after thresholding after thinning
CIBR - Region
CBIR - Cor
We can divide the color space into a small number of zones, each of which is clearly distinct with others for human eyes.
Each of the zones is assigned a sequence number beginning from zero.
CBIR- Shape
Shape feature can be measured by properties: Circularity, major axis orientation, and Moment.
– Circularity: 0 4 12
circularity areaperimeter
circularity rr
4 1
2 ( )
(2 )2r
circularity aa
4
4 4
2
2
( )( )
a
a
circularity aa
4 2
629
2
2
( )( )
2a
a
CBIR - Shape– Major Axis Orientation:
– Moment : the first and the second
420 oo 3500 norientatio
CBIR- Location
The image is divided into sub-areas.
Each sub-area is labeled with a number.
The region location is represented by the number of the sub-area in which the centroid (gravity center) of the region is contained.
CBIR- Location
0 1 2
3 4 5
6 7 8A
B• Location of A is 4
• Location of B is 1
Note: When a user queries the database by visual contents, approximate feature values are used.
It is meaningless to use absolute feature values as indices.
CBIR - Size
Total number of pixels occupied by the region The size range is divided into groups. A region’s size is represented by the
corresponding group number.Example:
CBIR - Size
123 24 2 35 3 46 4 57 5 68 6 79 7 810 8 9
14
12
12
A S AA S AA S AA S AA S AA S AA S AA S AA S AA S A
sub sub
sub sub
sub sub
sub sub
sub sub
sub sub
sub sub
sub sub
sub sub
sub sub
S: object size Asub: size of the sub-area
Group Number Size Range
Notes: Only the regions more than one-fourth of the sub-area are registered.
CBIR - Texture
Approach based on Statistics: angular second moment (energy,
homogeneity or uniformity), entropy, correlation, inverse difference moment, contrast (inertia), variance, sum average, sum variance, difference variance, difference entropy, information measure of correlation I, information measure of correlation II, and maximal correlation coefficient
CBIR - Texture
Approach based on human perception: coarseness, contrast, directionality, line-
likeness, regularity and roughness busyness, complexity and texture strength repetitiveness, orientation, and complexity
BD Imagens - CBR
Problema: projetar métodos de busca que possam localizar imagens que “casam” com uma dada imagem
Imagens podem ser: coloridas ou tons de cinza, em 2 dimensões ou 3 dimensões
Ex.: “Numa coleção de fotografias coloridas, encontre aquelas com a mesma distribuição de cores de uma fotografia do pôr-do-sol”.
BD Imagens
Primeiro passo: encontrar uma medida de distância entre dois objetos (imagens).
Confiamos a um expert no domínio a definição de tal função de distância D().
Definição: Dados dois objetos O1 e O2, a distância destes dois objetos é denotada por: D(O1, O2)
BD Imagens
A distância deve obedecer às propriedades:
d(x,y) = d(y,x) d(x,y) <= d(x,z) + d(z,y) d(x,x) = 0
BD Imagens
Consultas de similaridade podem ser classificadas em duas categorias: Associação-total (whole-match): dada uma
coleção de N objetos e uma query Q, queremos encontrar imagens que estão dentro de uma distância e de Q. Note que Q e os objetos são do mesmo tipo. Por exemplo, imagens tons de cinza 512 X 512.
BD Imagens
(continuação): Associação-sub-padrões(sub-pattern match):
a query Q especifica apenas parte do objeto. Queremos identificar as partes dos objetos que casam com a query, Exemplo: se tivermos um conjunto de imagens tons-de-cinza 512 x 512, podemos procurar a existência de um tumor 16 x 16
BD Imagens
Outros tipos de consulta incluem: Vizinhos mais próximos (nearest neighbors):
‘Encontre as 5 imagens mais similares a esta imagem’
Todos-os-pares (all pairs): ‘encontre todos os pares de imagens que estão dentro de uma distância d uma da outra’
BD Imagens
Requisitos para um bom algoritmo CBR: Rápido (linear scan é inaceitável) Correto: sem false dismissals embora false
alarms sejam aceitos pequeno overhead de espaço método dinâmico (fácil de inserir, remover,
atualizar objetos)
BD Imagens
Focaremos em Queries ‘whole-match’: temos uma coleção de N objetos a função de distância entre dois objetos O1 e O2 é
D(O1, O2) o usuário especifica uma query Q e uma tolerância
e. Meta: encontrar os objetos no BD que estão a
uma distância e do objeto da query.
BD Imagens
Busca sequencial pode ser lenta, pois: a função D() pode ser custosa para calcular o BD pode ser grande
Alternativamente podemos: usar um teste ‘rápido-e-sujo’ que descarta
rapidamente a grande maioria dos objetos não qualificados (permitindo alarmes falsos)
usar um método de acesso espacial (R-tree) para obter rápido acesso.
BD Imagens
Ex.: Considere um BD de séries temporais, representando os movimentos de preços de ações ao longo de um ano, com um preço por dia. Assuma que D() entre dois gráficos S e T é a distância Euclidiana:
D(S, T) = (i=1(S[i] - T[i])2)1/2, onde S[i] siginifica o valor da ação S no i-ésimo dia.
Claramente, a computação de D() envolve 365 subtrações e 365 quadrado. => ineficiente!
BD Imagens A técnica ‘rápido-e-sujo’ caracteriza uma sequência
com um único número, por exemplo a média do preço da ação no ano.
SE duas ações diferem de forma acentuada nas suas médias, é impossível que elas sejam similares.
O inverso não é verdadeiro (há alarme falsos) Números que contêm informação sobre um objeto
multimídia são chamados ‘features’. Usando um teste rápido tal como comparar as médias reduz
o conjunto resultado. Podem-se usar várias features diferentes!
BD Imagens Algoritmo: Busca Whole-match
Mapeie o objeto da query para um ponto F(Q) no espaço de feature
usando um método de acesso espacial, encontre todos os pontos dentro de uma desejada tolerância e de F(Q).
Recupere os objetos, compute suas distâncias com relação a Q e descarte os alarmes falsos.
BD Imagens Lemma Limite inferior: Para garantir que não
haja false dismissals para queries whole-match, a função de extração de features F() deve satisfazer a seguinte fórmula:
Dfeature(F(O1), F(O2) D(O1, O2) Em outras palavras o mapeamento dos objetos
para F() deve fazer as coisas tornarem-se mais parecidas!
BD Imagens Algoritmo GEMINI (Generic Multimedia object
INdexIng) Determine a função D() entre dois objetos Encontre uma ou mais funções extratoras F() Realize o teste ‘rápido-e-sujo’ Prove que a distância no espaço de features é
limite inferior da distância D() use um método de acesso espacial para
armazenar e recuperar k-d vetores de features.
BD Imagens
Séries temporais Ex.: “Mostre as ações que tiveram desempenho
semelhante ao da Petrobrás no ano de 2001” Segundo o algoritmo GEMINI:
Medida de dissimilaridade: distância Euclidiana escolha de features: valor do primeiro dia (má escolha),
todos os dias (baixa performance), média (boa feature) mostrar que a distância está correta usar um método espacial para indexar
BD Imagens
Imagens coloridas 2-D Abordagem semelhante ao QBE Image CBR foca em cor, textura, forma,
posição, etc. Cor normalmente é identificado pelo histograma Forma usa ângulo de rotação, momento de inércia e
spectro de padrões Textura usa direção, granularidade e contraste Posição usa o método 2D-Strings
BD Imagens
Image CBR herda as descobertas de duas áreas de conhecimento: visão computacional: qualidade de matching
de imagens Banco de dados: rápida busca de imagens
BD Imagens Função de distância: Cor
Cada pixel tem 3 componentes (ex. 1 byte para Red, 1 byte para Green e 1 byte para Blue)
Para cada imagem, computamos um histograma de h-elementos usando h cores. Típico valor de h é 224 cores
Na prática, agrupamos cores similares e escolhemos uma cor representativa para o agrupamento (color bin). Valores típicos de color bins são h=256 e h =64.
Cada componente no histograma representa o percentual de pixels que são mais similares àquela cor.
BD Imagens
Histogama• Gray-Level Histogram: It is a plot of the number of pixels that assume each discrete value that the quantized image intensity can take.
Image
Intensity
Gray-Level HistogramCo
unt
36
1810
white gray black
Bd Imagens
Uma vez os histogramas computados, um método de medir a distância entre dois histogramas (vetores h X 1) x e y é dado por:
d2(x,y) = (x-y)t x A x (x -y) = i,hi,h aij (xi - yi)(xj-yi)
Onde: t indica a matriz transposta Matriz A contém a similaridade entre cor i e
cor j, com aii = 1 para todo i
Bd Imagens A função de distância anterior pode ser cara de
executar (h=256 ou h-64). Podemos melhorar o algoritmo se usarmos a média
das cores da imagems ao invés de todas as cores: Ravg = (1/P) p =1, P R(p) Gavg = (1/P) p =1, P G(p) Bavg = (1/P) p =1, P B(p) Onde P é o número de pixels da imagem, R(p), G(p), e B(p)
são as intensidades das cores Red, Green, Blue (valores típicos 0-255) do pixel p, respectivamente.
Bd Imagens Então a distância Euclidiana seria computada
entre vetores de cores tri-dimensionais:
d2avg(x,y) = (x-y)t X (x-y) = i=1, 3 (xi - yi)2
Experimentos: num BD de 924 histogramas de imagens coloridas, cada com h=256 cores, o método acima requer de uma fração de segundo a 4 seg, enquanto que o primeiro método requer 10 sec.
Demo de CBR
Os principais produtos comerciais de CBR são: IBM QBIC VIRAGE RetrievalWare Outros protótipos incluem: Chabot, Blobword,
etc. Estudaremos o Blobword da University of
California at Berkeley
Top Related