Banco de Dados Multimídia 5. Vídeo

90
Banco de Dados Multimídia 5. Vídeo Prof. Cláudio Baptista

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

Page 1: Banco de Dados Multimídia 5. Vídeo

Banco de Dados Multimídia5. Vídeo

Prof. Cláudio Baptista

Page 2: Banco de Dados Multimídia 5. Vídeo

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)

Page 3: Banco de Dados Multimídia 5. Vídeo

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.

Page 4: Banco de Dados Multimídia 5. Vídeo

Video - Motivação

Page 5: Banco de Dados Multimídia 5. Vídeo

Porquê agora?

Page 6: Banco de Dados Multimídia 5. Vídeo

Porquê agora?

Page 7: Banco de Dados Multimídia 5. Vídeo

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

Page 8: Banco de Dados Multimídia 5. Vídeo

Video Data

Page 9: Banco de Dados Multimídia 5. Vídeo

Compressão

Page 10: Banco de Dados Multimídia 5. Vídeo

Compressão

Page 11: Banco de Dados Multimídia 5. Vídeo

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

Page 12: Banco de Dados Multimídia 5. Vídeo

Representação de Vídeo

Page 13: Banco de Dados Multimídia 5. 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

Page 14: Banco de Dados Multimídia 5. Vídeo

Representação de Vídeo

Page 15: Banco de Dados Multimídia 5. 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

Page 16: Banco de Dados Multimídia 5. Vídeo

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.

Page 17: Banco de Dados Multimídia 5. Vídeo

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.

Page 18: Banco de Dados Multimídia 5. Vídeo

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

Page 19: Banco de Dados Multimídia 5. Vídeo

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.

Page 20: Banco de Dados Multimídia 5. Vídeo

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

Page 21: Banco de Dados Multimídia 5. Vídeo

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)

Page 22: Banco de Dados Multimídia 5. Vídeo

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

Page 23: Banco de Dados Multimídia 5. Vídeo

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

Page 24: Banco de Dados Multimídia 5. Vídeo

Operadores de atributos de video

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

Page 25: Banco de Dados Multimídia 5. Vídeo

Video Segmentation

Page 26: Banco de Dados Multimídia 5. Vídeo

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

Page 27: Banco de Dados Multimídia 5. Vídeo

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

Page 28: Banco de Dados Multimídia 5. Vídeo

Problema Semântico

Page 29: Banco de Dados Multimídia 5. Vídeo

Video Segmentation

Page 30: Banco de Dados Multimídia 5. Vídeo

Video Segmentation

Page 31: Banco de Dados Multimídia 5. Vídeo

Video Segmentation

Page 32: Banco de Dados Multimídia 5. Vídeo

Semantic Indexing Overview

Page 33: Banco de Dados Multimídia 5. Vídeo

Projetos: Informedia

Page 34: Banco de Dados Multimídia 5. Vídeo

Projetos: IBM Marvel

Page 35: Banco de Dados Multimídia 5. Vídeo

ÁudioProf. Cláudio Baptista

Page 36: Banco de Dados Multimídia 5. Vídeo

Áudio Processamento de Fala

Reconhecimento de FalaSíntese de Fala

Reconhecimento de Música

Page 37: Banco de Dados Multimídia 5. Vídeo

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

Page 38: Banco de Dados Multimídia 5. Vídeo

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

the speech signal most relevant to ASR

Page 39: Banco de Dados Multimídia 5. Vídeo

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

Page 40: Banco de Dados Multimídia 5. Vídeo

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

Page 41: Banco de Dados Multimídia 5. Vídeo

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)

Page 42: Banco de Dados Multimídia 5. Vídeo

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

Page 43: Banco de Dados Multimídia 5. Vídeo

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

Page 44: Banco de Dados Multimídia 5. Vídeo

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.

Page 45: Banco de Dados Multimídia 5. Vídeo

Porquê MIR é complexo?

Page 46: Banco de Dados Multimídia 5. Vídeo

Multifaceted

Page 47: Banco de Dados Multimídia 5. Vídeo
Page 48: Banco de Dados Multimídia 5. Vídeo
Page 49: Banco de Dados Multimídia 5. Vídeo
Page 50: Banco de Dados Multimídia 5. Vídeo
Page 51: Banco de Dados Multimídia 5. Vídeo
Page 52: Banco de Dados Multimídia 5. Vídeo
Page 53: Banco de Dados Multimídia 5. Vídeo
Page 54: Banco de Dados Multimídia 5. Vídeo
Page 55: Banco de Dados Multimídia 5. Vídeo
Page 56: Banco de Dados Multimídia 5. Vídeo
Page 57: Banco de Dados Multimídia 5. Vídeo
Page 58: Banco de Dados Multimídia 5. Vídeo
Page 59: Banco de Dados Multimídia 5. Vídeo
Page 60: Banco de Dados Multimídia 5. Vídeo
Page 61: Banco de Dados Multimídia 5. Vídeo

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

Page 62: Banco de Dados Multimídia 5. Vídeo

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

Page 63: Banco de Dados Multimídia 5. Vídeo

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

Page 64: Banco de Dados Multimídia 5. Vídeo

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

Page 65: Banco de Dados Multimídia 5. Vídeo

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

Page 66: Banco de Dados Multimídia 5. Vídeo

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

Page 67: Banco de Dados Multimídia 5. Vídeo

Metadados de Áudio Exemplos de metadados para áudio:

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

Page 68: Banco de Dados Multimídia 5. Vídeo

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

Page 69: Banco de Dados Multimídia 5. 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

Page 70: Banco de Dados Multimídia 5. Vídeo

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

Page 71: Banco de Dados Multimídia 5. Vídeo

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

Page 72: Banco de Dados Multimídia 5. Vídeo

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

Page 73: Banco de Dados Multimídia 5. Vídeo

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

Page 74: Banco de Dados Multimídia 5. Vídeo

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

Page 75: Banco de Dados Multimídia 5. Vídeo

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

Page 76: Banco de Dados Multimídia 5. Vídeo

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

Page 77: Banco de Dados Multimídia 5. Vídeo

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

Page 78: Banco de Dados Multimídia 5. Vídeo

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

Page 79: Banco de Dados Multimídia 5. Vídeo

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

Page 80: Banco de Dados Multimídia 5. Vídeo

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:

Page 81: Banco de Dados Multimídia 5. Vídeo

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

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

Page 82: Banco de Dados Multimídia 5. Vídeo

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

Imagens semelhantes pela estrutura (score = 0,61939)

Page 83: Banco de Dados Multimídia 5. Vídeo

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

Page 84: Banco de Dados Multimídia 5. Vídeo

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

Page 85: Banco de Dados Multimídia 5. Vídeo

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

Page 86: Banco de Dados Multimídia 5. Vídeo

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;

Page 87: Banco de Dados Multimídia 5. Vídeo

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

WHERE photo_id = myid;END;

Page 88: Banco de Dados Multimídia 5. Vídeo

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;

Page 89: Banco de Dados Multimídia 5. Vídeo

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;

Page 90: Banco de Dados Multimídia 5. Vídeo

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