banco de dados multimídia 5. vídeo
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 PresentationTRANSCRIPT
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’);