A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Banco de Dados Multimídia Capítulo 4: BD Imagens UFCG/CEEI/COPIN Cláudio Baptista.

Apresentações semelhantes


Apresentação em tema: "Banco de Dados Multimídia Capítulo 4: BD Imagens UFCG/CEEI/COPIN Cláudio Baptista."— Transcrição da apresentação:

1 Banco de Dados Multimídia Capítulo 4: BD Imagens UFCG/CEEI/COPIN Cláudio Baptista

2 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

3 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

4 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.

5 BD Imagens Na figura acima os retângulos mostram a extração de formas do objeto avião. Nem sempre retângulos são suficientes, porquê? NY, NY  Cadê a torre?

6 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.

7 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)

8 BD Imagens Onde graylevel: graylevel(célula) =  XLB  i  XUB  YLB  j  YUB 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

9 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  1  i  n, p i+1 é um vizinho de p i, isto é, se p i = (x i,y i ) e p i+1 = (x i+1,y i+1 ), então (x i+1,y i+1 ) satisfaz uma das seguintes condições: (x i+1,y i+1 ) = ( x i + 1, y i ); (x i+1,y i+1 ) = ( x i - 1, y i ); (x i+1,y i+1 ) = ( x i, y i + 1); (x i+1,y i+1 ) = ( x i, y i - 1); (x i+1,y i+1 ) = ( x i + 1, y i +1); (x i+1,y i+1 ) = ( x i + 1, y i -1); (x i+1,y i+1 ) = ( x i - 1, y i + 1); (x i+1,y i+1 ) = ( x i - 1, y i - 1)

10 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)| XLB  x  XUB & YLB  y  YUB}

11 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

12 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)

13 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)

14 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) p 1 -1 p2-1 DFT(x,y) = 1/p1p2 *   (I(a,b) x e -j(2  xa/p1 + 2  yb/p2) a=0 b=0 onde j é o complexo (-1) 1/2 DFT é sem perda e preserva distância Euclidiana

15 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

16 Formatos de Imagens Não-comprimidas Pgm (portable gray map) ou ppm (portable pixel map – Unix BMP (gray e color) - Windows

17 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

18 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

19 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

20 Ex. Imagens comprimidas Bmp (57KB) jpg (6KB) png (15KB) gif (16KB)

21 Segmentação de Imagens

22 Busca em Imagens BD 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

23 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”.

24 MM queries - Características The indexing structure should be able to satisfy similarity-based queries for a wide range of similarity measures.

25 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.

26 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.

27 Busca em Imagens BD 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

28 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”.

29 MM queries - Características The indexing structure should be able to satisfy similarity-based queries for a wide range of similarity measures.

30 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.

31 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.

32 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

33 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, …

34 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)

35 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

36 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

37 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

38 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.

39 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.

40 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.

41 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.

42 Query Types r is large r is small range query => vague query => 3-nearest neighbor query Q Q.Q. r............ + + +

43 Indexing Multimedia Objects Can’t we index multiple features using a B + - tree ? B + -tree defines a linear order Similar objects (e.g., O 1 and O 2 ) 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., O 1 and O 2 )

44 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

45 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.

46 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.

47 CBIR – Features mais usadas Edge Region Color Shape Location Size Texture

48 CBIR – Edge detection lena.gif vertical edges horizontal edges norm of the gradient after thresholding after thinning

49 CIBR - Region

50 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.

51 CBIR- Shape Shape feature can be measured by properties: Circularity, major axis orientation, and Moment. –Circularity: r a a 2a a

52 CBIR - Shape –Major Axis Orientation: –Moment : the first and the second

53 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.

54 CBIR- Location 0 1 2 3 4 5 6 78 A 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.

55 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:

56 CBIR - Size S: object size A sub : size of the sub-area Group Number Size Range Notes: Only the regions more than one-fourth of the sub-area are registered.

57 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

58 CBIR - Texture Approach based on human perception: coarseness, contrast, directionality, line- likeness, regularity and roughness busyness, complexity and texture strength repetitiveness, orientation, and complexity

59 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”.

60 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)

61 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

62 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.

63 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

64 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’

65 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)

66 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.

67 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.

68 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!

69 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!

70 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.

71 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: D feature (F(O1), F(O2)  D(O1, O2) Em outras palavras o mapeamento dos objetos para F() deve fazer as coisas tornarem-se mais parecidas!

72 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.

73 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

74 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

75 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

76 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 é 2 24 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.

77 BD Imagens

78 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.

79 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: d 2 (x,y) = (x-y) t x A x (x -y) =  i,h  i,h a ij (x i - y i )(x j -y i ) Onde: t indica a matriz transposta Matriz A contém a similaridade entre cor i e cor j, com a ii = 1 para todo i

80 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: R avg = (1/P)  p =1, P R(p) G avg = (1/P)  p =1, P G(p) B avg = (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.

81 Bd Imagens Então a distância Euclidiana seria computada entre vetores de cores tri-dimensionais: d 2 avg (x,y) = (x-y) t X (x-y) =  i=1, 3 (x i - y i ) 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.

82 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 California at Berkeley


Carregar ppt "Banco de Dados Multimídia Capítulo 4: BD Imagens UFCG/CEEI/COPIN Cláudio Baptista."

Apresentações semelhantes


Anúncios Google