Banco de Dados Multimídia: Introdução a Banco de Dados Multimídia Alunos: Eduardo Machado Carboni Luís Fernando Custódio Pedro da Silveira Grandi
Banco de Dados Multimídia: Introdução Multimídia: Vídeo, Áudio, Imagem. Necessidades; Dificuldades; Soluções; Consumidores; Ferramentas;
Video- Introdução Porquê necessitamos de vídeo? Para representar movimento . O que podemos fazer com dados de video? Capturar, armazenar, apresentar, editar -- sem considerar o conteúdo Buscar, indexar -- dependente de contexto Sequence de Vídeo = stream (físico, dados) + informação do vídeo (significado)
Video - Motivação Há uma grande quantidade de vídeos produzidos que necessitam de recuperação Ex: Um ano de vídeo do campeonato brasileiro mostrando os melhores eventos: Número total de jogos num ano: 38 * 20 = 760 (jogos) Precisamos de 760 * 1,5 = 1140 (horas) para navegar sequencialmente se usando um player de vídeo Uma facilidade de acesso randômico pode reduzir este tempo pode ser reduzido a poucos dias.
Porquê agora?
Imagem e Vídeo Uma imagem é capturada quando uma camera escaneia uma cena Cores => Vermelho (R), Verde (G) e Azul (B) lista de telas digitais A densidade das telas (pixels) dão a resolução. Cada tela é chamada de quadro, e essa sequencia de quados (frames/sec) é medido em Hz TV tem em média 25Hz Camera de celular tem em média 8-15 Hz
Armazenagem de Vídeo Vídeos devem ser comprimidos ou codificados para poderem ser transmitidos. Essa compressão gera vários formados de condificação e decodificação, os chamados Codec’s. Um banco multimidia precisa trabalhar com vários formatos de mídia para ser útil.
BD Vídeo Tipos de consulta: -como usuário pode querer interagir? Tipos de consulta: 1. Usuário pode ter visto uma cena de um video e deseja recuperá-la 2. Usuário pode estar procurando por um vídeo que ele nunca viu antes 3. Usuário pode ter apenas uma vaga idéia do que ele está procurando.
BD Vídeo Meta: determinar a sintaxe e semântica de um video. Passo 1: identificar a sintaxe: Um filme é composto por segmentos, cenas e tomadas. - Quadro (Frame): uma imagem do vídeo - Tomadas (shots): sequência contínua de frames de uma câmera com início e fim bem definidos. - Cena (Episode): coleção de shots adjacentes focando os mesmos objetos e descrevendo uma cadeia completa de ações. - Segmento: é um grupo de cenas, não necessariamente adjacentes, ligados por uma linha comum de ações.
BD Vídeo Passo 2: semântica Uso de metadata para especificar a semântica do video. Através de anotações, capturas de texto, e algoritmos de segmentação de imagem (similar a proc. de imagens). BD Video pode ser indexado por: - dados bibliográficos: título, abstract, assunto, gênero - dados estruturados: segmento, cena e tomada - dados de conteúdo: uso de keyframes e keywords.
Informação de Video Tipos de informações físicas associados com video: Objeto -- video stream atributos (length, size, frame numbering) informação (format resolution headers, frame rate) O que pode ser derivado de um video? O -- conjunto de objetos presentes num video M -- conjunto de representações de movimento Features, spatial relationships, derivados de O Spatiotemporal info derivada de O e M juntos Spatiotempotal info fornecida pelo designer Temporal relationships inferidos de M Image information
Operadores de Video Além dos clássicos: FF, play, record, Rewind, stop e pause Inserir um vídeo em outro Extrair um video clip Extração de cortes Extrair uma imagem de um video
Atributos de vídeo v_length:Video -> Integer frame_rate: Video -> Integer size: Video -> Integer resolution: Video -> String compression: Video -> String
Indexação por Semântica É o processo de detectar automaticamente a presença de um objeto semantico num stream de vídeo AVIÃO
Segmentação de Vídeo Considerar nas imagens - Cor - Textura Aparencia, consistência da superfície - Distribuição pela imagem - Por partes específicas da imagem ou sobre objetos presentes Cortar objetos / partes importantes
Problema Semântico Quebrando a imagem em segmentos mais significativos - Teoricamente objetos devem vir do mundo “real” O que constitui um objeto? - Dependendo da aplicação, precisa interação ou conhecimento prévio
Banco de Dados Multimídia: Áudio
Banco de Dados Multimídia: Reconhecimento de Fala Interação das pessoas com os computadores. O que é preciso para esta comunicação?
Banco de Dados Multimídia: Reconhecimento de Fala Dificuldades: Número de palavras e combinações; Sotaque e acentuação; Ruídos;
Banco de Dados Multimídia: Reconhecimento de Fala Possíveis soluções: Gerar um dicionário com pronunciações; Utilizar regras morfológicas.
Banco de Dados Multimídia: Recuperação de áudio Consultas para encontrar objetos. Conteúdo das consultas: Por metadados: Gênero, Estilo, Título, Compositor; Por Comparação: Timbre, Frequência, Rítmo;
Banco de Dados Multimídia: Exemplos: Reconhecimento de fala no Windows Vista; Treinar do Windows. Reconhecimento de voz no celular; Reconhecimento de fala no Youtube: Busca por conteúdo falado.
Banco de Dados Multimídia: Oracle Visual Information Retrieval (VIR) Extensão do Oracle com o objetivo de gerenciar e manipular imagens através de seus atributos: Largura; Altura; Tamanho; Tipo/Formato do Arquivo ou Compressão; Tipo da Imagem(Monocromática, Colorida,...);
Banco de Dados Multimídia: Oracle Visual Information Retrieval (VIR) A classe ORDSYS.ORDVir é a base para as funcionalidades do VIR: Criação de índices para a coluna de imagens da tabela; Recuperação por conteúdo. Composta da imagem, atributos de imagem, métodos específicos e um atributo assinatura.
Banco de Dados Multimídia: Oracle Visual Information Retrieval (VIR) Utiliza métodos para fazer comparações entre imagens, como: Analyse() – analisa a imagem e gera uma assinatura . VIRScore() e VIRSimilar() – comparam assinaturas de duas imagens e determina se são similares. setProperties() – Determina propriedades das imagens. get() – Retorna atributos específicos das imagens: getHeight(), getWidth(), ...
Banco de Dados Multimídia: Oracle Visual Information Retrieval (VIR) A Assinatura dada à imagem contém informações dos atributos visuais da imagem. Através das assinaturas são possíveis alocar scores que referenciam a distância de uma imagem à outra, quanto menor o score mais semelhantes as imagens são.
Banco de Dados Multimídia: Oracle Visual Information Retrieval (VIR) Cor global refere-se à distribuição de cores em toda a imagem, enquanto cor local considera a distribuição de cores e a localização. Comparativo:
Banco de Dados Multimídia: Oracle Visual Information Retrieval (VIR) Imagens semelhantes pela cor global (score = 0) Imagens semelhantes pela cor local (score = 0,02461)
Banco de Dados Multimídia: Oracle Visual Information Retrieval (VIR) Imagens semelhantes pela textura (score = 4,1) Imagens semelhantes pela estrutura (score = 0,61939)
Banco de Dados Multimídia: Oracle Visual Information Retrieval (VIR) Para a realização de consultas, atribui-se pesos para cada um dos atributos visuais citados. Scores são calculados para cada atributo, então calcula-se a média ponderada. Um limite (threshold) é atribuído Imagens com score global abaixo do limite são retornadas como semelhantes
Banco de Dados Multimídia: Oracle Visual Information Retrieval (VIR) Exemplo: considerando-se os scores e pesos Scores – cor global = 15, cor local = 90, textura = 5 e estrutura = 50 Pesos - cor global = 0.1, cor local = 0.6, textura = 0.2 e estrutura = 0.1 Score Global: (0,1 x 15 + 0,6 x 90 + 0,2 x 5 + 0,1 x 50) = 61,5 Logo, se o threshold fosse maior que 61,5 o banco consideraria imagens semelhantes.
Banco de Dados Multimídia: Oracle Intermidia: Produto que estende o Oracle 9i Adiciona características multimídia; Responsável por gerenciar, armazenar e recuperar imagens, áudio, vídeo e texto;
Banco de Dados Multimídia: O Oracle interMedia pode armazenar: Binary Large Objects (BLOBs) – localmente no banco de dados; File-Based Large objects (BFILEs) – arquivos do sistema operacional, externos ao BD; URLs – armazenadas em um servidor HTTP; Dados de áudio e vídeo streaming – armazenados em servidores especializados;
Banco de Dados Multimídia: O interMedia usa tipos de objeto semelhantes a classes Java e C++: ORDAudio, ORDImage, ORDVideo. Instâncias dos objetos são compostas dos dados da mídia e de metadados. São exemplos desses metadados: Tamanho, duração, formato ou tipo de compressão. Objetos incluem métodos específicos da mídia.
Banco de Dados Multimídia: Banco Físico Multimídia: create table image_table (id number primary key, image ordsys.ordimage); create or replace directory imagedir as 'c:\quickstart'; create or replace procedure image_import(dest_id number, filename varchar2) is img ordsys.ordimage; ctx raw(64) := null; begin delete from image_table where id = dest_id; insert into image_table (id,image) values (dest_id, ordsys.ordimage.init()) returning image into img; img.importFrom(ctx, 'file', 'IMAGEDIR', filename); update image_table set image=img where id=dest_id; end;
Banco de Dados Multimídia: Banco Físico Multimídia: create or replace procedure image_processCopy(source_id number, dest_id number, verb varchar2) is imgSrc ordsys.ordimage; imgDst ordsys.ordimage; begin delete from image_table where id = dest_id; insert into image_table (id,image) values (dest_id, ordsys.ordimage.init()); select image into imgSrc from image_table where id = source_id; select image into imgDst from image_table where id = dest_id for update; imgSrc.processCopy(verb, imgDst); update image_table set image = imgDst where id = dest_id; end;
Banco de Dados Multimídia: Banco Físico Multimídia: create or replace procedure image_export (source_id number, filename varchar2) as imgSrc ordsys.ordimage; ctx raw(64) := null; begin select image into imgSrc from image_table where id = source_id; imgSrc.export(ctx, 'FILE', 'IMAGEDIR', filename); end;
Banco de Dados Multimídia: Referências bibliográficas: http://conection-wi.blogspot.com/2009/01/banco-de-dados-multimidia.html http://www.oracle-base.com/articles/8i/InterMedia-Import-ExportOfImages.php http://www.oracle.com/technology/products/intermedia/htdocs/intermedia_quickstar t/iNtermedia_quickstart.html http://alipr.com/ http://celebrity.myheritage.com/celebrity-face-recognition