Banco de Dados Multimídia 5. Vídeo

Post on 16-Mar-2016

27 views 0 download

Tags:

description

Banco de Dados Multimídia 5. Vídeo. Prof. Cláudio Baptista. Video- Introdução. Porquê necessitamos de vídeo? Para representar movimento (motion) O que podemos fazer com dados de video? capturar, armazenar, apresentar, editar -- (sem considerar o conteúdo) - PowerPoint PPT Presentation

Transcript of Banco de Dados Multimídia 5. Vídeo

Banco de Dados Multimídia5. Vídeo

Prof. Cláudio Baptista

Video- IntroduçãoPorquê necessitamos de vídeo? Para representar movimento (motion)O que podemos fazer com dados de video?– capturar, armazenar, apresentar, editar -- (sem

considerar o conteúdo) – query, busca, indexação -- dependente de contexto

Video sequence = Video stream (physical, raw data) + Video information (meaning)

Video - Motivação– A grande quantidade de vídeos produzidos que necessitam

de recuperação por

– Ex.: Um ano de video da NBA mostrando os melhores eventos:Número total de jogos num ano: 29 * 82 / 2 + 91 = 1280 (jogos)Precisamos de 1280 * 3 = 3840 (horas) para navegar sequencialmente se usando um video player

– Uma facilidade de acesso randômico pode reduzir este tempo pode ser reduzido a poucos dias.

Video - Motivação

Porquê agora?

Porquê agora?

Imagem & Video An image is captured when a camera scans a scene

Colour => Red (R), Green (G) and Blue (B) array of digital samples Density of samples (pixels) gives resolution

A video is captured when a camera scans a scene at multiple time instants

Each sample is called a frame giving rise to a frame rate (frames/sec) measured in Hz

TV (full motion video) is 25HzMobile video telephony is 8-15 Hz

Video Data

Compressão

Compressão

Representação de VídeoAnalógico: convertido para digital usando uma placa de captura de vídeo (digitalização)Digital: AVI, MPEG-1,-2,-4

Representação de Vídeo

Representação de Vídeo

Level Granularity Descriptive features

Video meta concept, producer, director

Episode macro events description

Clip or Shot mini action, talk, goal

Frame micro object and its spatial relationship

Representação de Vídeo

Características de vídeo Comparação com dados alfanuméricos

Characteristic Video data Alphanumeric data

Symbol Set Inifinite Finite

Resolution High Low

Interpretation Ambiguity High Low

Interpretation Efforts High Low

Data Volume Large Small

Similarity Measure Ill difined Well Defined

BD VídeoTipos 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 elenunca viu antes

3. Usuário pode ter apenas uma vaga idéia do que ele está procurando.

BD VídeoMeta: 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 objetose descrevendo uma cadeia completa de ações.- Segmento: é um grupo de cenas, não necessariamenteadjacentes, ligados por uma linha comum de ações.

Categoria: NewsData: 10/12/96Duração: 15 minFonte: GloboNum. Estórias: MKeywords: C. Grande,Micarande, Turismo, festa ...

Segmento index: 1Título: Folia nos blocosNum. Shots: KFrame inicial: 00000Frame final: 02000Evento: narração, entrevistas, diálogos, ...

Shot index: 1Frame inicial: 00000Frame final: 00300Camera: stillNível de audio: médioNum. Pessoas: 10Keywords: dança, festaanimação, ...

clip

...Segmento 1 Segmento M

...Shot 1 Shot K

...Frame 00000 Frame 00300

BD Vídeo• Passo 2: semânticaUso 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.

Análise de Movimento O processo de análise de movimento é dividido

em 3 estágios:detecção de objetos em movimento

trajetória de objetos

análise final de movimento

Modelo de Informação de Video CBR em video usa:

anotação manual para descrever informação semântica (lento)representação icônica usando métodos automáticos para detecção de mudança de cena (cortes) (perde a propriedade de movimento)propriedades estáticas derivadas usando técnicas de análise de imagens (perde aspecto temporal do video)

Caracterização de 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 video em outro Extrair um video clip Extração de cortes Extrair uma imagem de um video

Operadores de atributos de video

v_length:Video -> Integer frame_rate: Video -> Integer size: Video -> Integer resolution: Video -> String compression: Video -> String

Video Segmentation

Segmentação de Vídeo: O que é importante?

Segmentação de Vídeo: O que é importante?

Problema Semântico

Video Segmentation

Video Segmentation

Video Segmentation

Semantic Indexing Overview

Projetos: Informedia

Projetos: IBM Marvel

ÁudioProf. Cláudio Baptista

Áudio Processamento de Fala

Reconhecimento de FalaSíntese de Fala

Reconhecimento de Música

Reconhecimento de Fala Motivação: •How can machines make sense of – and participate in

– human communication? recognizing, interpreting, understanding, generating

Underpins richer, human-centred approaches to computing perceptual computers that can interpret their environment technological enhancements to human-human communication

Características Ácústicas Process the speech waveform to obtain arepresentation that emphasizes those aspects of

the speech signal most relevant to ASR

Dificuldades no Reconhecimento da fala Speech recognition is difficult due to several sourcesv of

variationSize - number of words in the vocabulary, perpelexityStyle - continuous speech or isolated; planned or spontaneous;Speaker characteristics and accent - tuned for a single speaker, or speaker-independent?Acoustic environment - noise, competing speakers, channel conditions (microphone, phone line, ...)

Conhecimento linguístico One could construct a speech recognizer using

linguistic knowledgeAcoustic phonetic rules to relate spectrogram representations of sounds to phonemesBase pronunciations of words stored in a dictionaryMorphological rules to construct inflected formsGrammatical rules to model syntaxSemantic and pragmatic constraints

Very difficult to take account of the variability of spoken language with such approaches

Machine Learning Intense effort needed to derive and encode linguistic

rules that cover all the languageSpeech has a high degree of variability (speaker, pronunciation, spontaneity, ...)Difficult to write a grammar for spoken language - many people rarely speak grammaticallyData-driven approachConstruct simple models of speech which can be earned from large amounts of data (thousands of hours of speech recordings)

Solução: Métodos Estatísticos Redes Bayesianas Cadeias de Markov

Música O que é MIR?

Born ca. 1960’s in IR researchMajor recent growth precipitated by advent of networked digital music collectionsInformed by multiple disciplines andliteratures

DEfinindo MIR Music Information Retrieval (MIR) is the process of

searching for, and finding, music objects, or parts of music objects, via a query framed musically and/or in musical terms

Music Objects: Scores, Parts, Recordings (WAV, MP3, etc.), etc.

Musically framed query: Singing, Humming, Keyboard, Notation-based, MIDI file, Sound file, etc.

Musical terms: Genre, Style, Tempo, etc.

Porquê MIR é complexo?

Multifaceted

O que é Oracle interMedia Produto que estende o Oracle9i

Adiciona características multimídiaResponsável por gerenciar, armazenar e recuperar imagens, áudio, vídeo e textointerMedia Text– Serviço de procura em documentos

Oracle Visual Information Retrieval (VIR)– Recuperação baseada em conteúdo

O que é Oracle interMedia Tanto dados multimídia quanto dados

tradicionais são suportados pelo banco de dados Dados multimídia podem ser:

Compartilhados por múltiplas aplicaçõesGerenciados sob controle da tecnologia relacionalOferecidos em um servidor que suporta milhares de usuários

interMedia Áudio, Imagem e Vídeo O Oracle interMedia pode armazenar:

Binary Large Objects (BLOBs) – localmente no banco de dadosFile-Based Large objects (BFILEs) – arquivos do sistema operacional, externos ao BDURLs – armazenadas em um servidor HTTPDados de áudio e vídeo streaming – armazenados em servidores especializados

Orientado a Objetos 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

Extensível O interMedia foi programado para ser extensível Tipos de extensões possíveis:

Criar um novo tipo de objeto ou um tipo de objeto composto baseado nos tipos já oferecidosPlugins para outras fontes externas de mídiaRefazer métodos como o setProperties()Suportar novos formatos de áudio, vídeo e imagem

Conceitos de Áudio O objeto ORDAudio consiste do campo de

dados onde o áudio é armazenado, mais uma série de metadados

O interMedia pode armazenar e recuperar qualquer formato de áudio

Pode extrair automaticamente os metadados para uma série de formatos populares

Metadados de Áudio Exemplos de metadados para áudio:

FormatosTipos de compressãoNúmero de canaisTaxa de execuçãoTamanho de amostraDuração

Conceitos de Vídeo O objeto ORDVideo é semelhante ao ORDAudio

Mudanças apenas nos metadados e nos métodos de determinação automática

Assim como para áudio, o ORDVideo extrai metadados para os formatos mais populares

Armazena e recupera qualquer tipo de vídeo

Metadados de Vídeo Exemplos de metadados de vídeo:

FormatosTipos de compressãoTaxas de frameTamanho de frameResolução de frameTempo de duraçãoNúmero de coresTaxa de transferência

Oracle Visual Information Retrieval Extensão do Oracle8i destinada a fazer Content-

Based Retrieval e conversão de formatos de imagem

Consiste de um objeto que armazena ou referencia a imagem e métodos que gerenciam e fazem processamentos

As imagens possuem uma série de atributos específicos

Atributos de Imagem Largura Altura Tamanho Tipo ou formato do arquivo Tipo ou formato de compressão Tipo da imagem (monocromática, colorida, etc.) Tipo MIME

A classe ORDVir A classe ORDSYS.ORDVir é a base para as

funcionalidades do VIRCriação de índices para a coluna de imagens da tabelaRecuperação por conteúdo

Composta da imagem, atributos de imagem, métodos específicos e um atributo assinatura

Métodos do ORDVir Análise e Comparação

Analyse() – analisa a imagem e gera uma assinatura (atributo signature), usada para a realização de Content-Based RetrievalVIRScore() e VIRSimilar() – comparam assinaturas de duas imagens e determinam se elas são similares

Métodos do ORDVir Extração de Propriedades

setProperties() – determina automaticamente as propriedades características da imagemMétodos “get” – retornam alguns atributos individualmente. Ex: getHeight() e getWidth()

Verificação de PropriedadescheckProperties() – verifica se as propriedades armazenadas conferem com a imagem

Métodos do ORDVir Modificação

process() e processCopy() – usados para conversão de formato, compressão e funções de manipulação, como corte da imagem e scaling

Movimentaçãocopy() e processCopy() – copiam imagens em outro objeto ORDVir

Métodos do ORDVir Movimentação (cont.)

export(), import() e importFrom() – usados para mover imagens entre bancos de dadossetSource() – ajusta ou altera informações sobre imagens armazenadas externamente

ExclusãodeleteContent() – remove os dados do atributo BLOB

Fundamentos de Content-Based Retrieval Solução para recuperação em grandes bancos

de dados de imagensPodem ser usados dados inseridos manualmente, mas com a adição e modificação de imagens em um grande banco, a entrada manual de atributos é ruim

Extração automática de características da imagem para procura por comparação

Funcionamento do Content-Based Retrieval Um sistema de Content-Based Retrieval

processa as informações contidas em uma imagem e cria uma abstração

Operações de consulta operam nessa abstração, ao invés de operar na imagem

No VIR, essa abstração é a assinatura, sendo armazenada em um vetor

Funcionamento do Content-Based Retrieval A assinatura contém informações a respeito dos

seguintes atributos visuais: cor global, cor local, textura e estrutura

As imagens do banco são recuperadas através de uma imagem de comparação

O score é a distância relativa entre as imagensQuanto menor o score, mais semelhantes as imagens

Cor Global e Cor Local 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:

Cor Global e Cor Local Imagens semelhantes pela cor global (score = 0)

Imagens semelhantes pela cor local (score = 0,02461)

Textura e Estrutura Imagens semelhantes pela textura (score = 4,1)

Imagens semelhantes pela estrutura (score = 0,61939)

Funcionamento da Busca 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

Funcionamento da Busca Exemplo: considerando-se os scores e pesos

Scores – cor global = 15, cor local = 90, textura = 5 e estrutura = 50Pesos - cor global = 0.1, cor local = 0.6, textura = 0.2 e estrutura = 0.1Score Global: (0,1 x 15 + 0,6 x 90 + 0,2 x 5 + 0,1 x 50) = 61,5

Invertendo-se os pesos de cor global e local:(0,6 x 15 + 0,1 x 90 + 0,2 x 5 + 0,1 x 50) = 24

Exemplos de Código usando Content-Based Retrieval Criação de uma tabela

CREATE TABLE stockphotos (photo_id NUMBER, photographer VARCHAR2(64), annotation VARCHAR2(255), photo ORDSYS.ORDVir);

Carregando Imagens na Tabela DECLAREimage ORDSYS.ORDVIR;IdNum NUMBER;ctx RAW(4000) :=NULL;BEGINIdNum := 1;INSERT INTO stockphotos VALUES (IdNum, ’Janice Gray’,’Beach scene, balls on water’,ORDSYS.ORDVIR.init(’FILE’,’ORDVIRDIR’,’virdemo1.dat’));SELECT photo INTO image FROM stockphotos WHERE photo_id = IdNum

FOR UPDATE;image.import(ctx);image.Analyze;UPDATE stockphotos SET photo = image WHERE photo_id = IdNum;COMMIT;END;

Recuperação de uma ImagemDECLAREimage ORDSYS.ORDVIR;myid INTEGER :=1;BEGINSELECT photo INTO image FROM stockphotos

WHERE photo_id = myid;END;

Recuperação de Imagens Usando Imagem de Comparação DECLAREthreshold NUMBER;compare_sig RAW(2000);compare_img ORDSYS.ORDVir;photo_id NUMBER;photographer VARCHAR2(64);annotation VARCHAR2(255);photo ORDSYS.ORDVIR; CURSOR getphotos ISSELECT photo_id, photographer, annotation, photo FROM

stockphotos TWHERE ORDSYS.VIRSimilar(T.photo.Signature, compare_sig,’globalcolor="0.2" localcolor="0.3" texture="0.1"structure="0.4"’, threshold)=1 AND photo_id <> 1;

Recuperação de Imagens Usando Imagem de ComparaçãoBEGINSELECT s.photo INTO compare_img FROM stockphotos sWHERE photo_id = 1;compare_img.Analyze;compare_sig:= compare_img.signature;threshold := 25;OPEN getphotos;LOOPFETCH getphotos INTO photo_id, photographer, annotation,

photo;EXIT WHEN getphotos%NOTFOUND;-- Nesse ponto exibe-se ou armazena-se os resultadosEND LOOP;CLOSE getphotos;END;

Criação de um ÍndiceCREATE INDEX imgindex ON stockphotos(photo.signature)

INDEXTYPE IS ordsys.ordviridxPARAMETERS(’ORDVIR_DATA_TABLESPACE =

tbs_1,ORDVIR_INDEX_TABLESPACE = tbs_2’);