Title: Banco de Dados Multim
1Banco de Dados Multimídia5. Vídeo
2Video- 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) - query, busca, indexação -- dependente de
contexto - Video sequence Video stream (physical, raw
data) Video information (meaning)
3Video - 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
eventosNú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.
4Video - Motivação
5Porquê agora?
6Porquê agora?
7Imagem Video
- An image is captured when a camera scans a scene
- Colour gt 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 25Hz
- Mobile video telephony is 8-15 Hz
8Video Data
9Compressão
10Compressão
11Representação de Vídeo
- Analógico convertido para digital usando uma
placa de captura de vídeo (digitalização) - Digital AVI, MPEG-1,-2,-4
12Representação de Vídeo
13Representação de Vídeo
14Representação de Vídeo
15Características de vídeo
- Comparação com dados alfanuméricos
16 BD Vídeo
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.
17 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.
18Categoria News Data 10/12/96 Duração 15
min Fonte Globo Num. Estórias M Keywords C.
Grande, Micarande, Turismo, festa ...
clip
Segmento index 1 Título Folia nos blocos Num.
Shots K Frame inicial 00000 Frame final
02000 Evento narração, entrevistas, diálogos,
...
...
Segmento 1
Segmento M
...
Shot index 1 Frame inicial 00000 Frame final
00300 Camera still Nível de audio médio Num.
Pessoas 10 Keywords dança, festa animação, ...
Shot 1
Shot K
...
Frame 00000
Frame 00300
19BD 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.
20Aná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
21Modelo 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)
22Caracterizaçã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
23Operadores 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
24Operadores de atributos de video
- v_lengthVideo -gt Integer
- frame_rate Video -gt Integer
- size Video -gt Integer
- resolution Video -gt String
- compression Video -gt String
25Video Segmentation
26Segmentação de Vídeo O que é importante?
27Segmentação de Vídeo O que é importante?
28Problema Semântico
29Video Segmentation
30Video Segmentation
31Video Segmentation
32Semantic Indexing Overview
33Projetos Informedia
34Projetos IBM Marvel
35Áudio
36Áudio
- Processamento de Fala
- Reconhecimento de Fala
- Síntese de Fala
- Reconhecimento de Música
37Reconhecimento 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
38Características Ácústicas
- Process the speech waveform to obtain a
- representation that emphasizes those aspects of
the speech signal most relevant to ASR
39Dificuldades no Reconhecimento da fala
- Speech recognition is difficult due to several
sourcesv of variation - Size - number of words in the vocabulary,
perpelexity - Style - 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, ...)
40Conhecimento linguístico
- One could construct a speech recognizer using
linguistic knowledge - Acoustic phonetic rules to relate spectrogram
representations of sounds to phonemes - Base pronunciations of words stored in a
dictionary - Morphological rules to construct inflected forms
- Grammatical rules to model syntax
- Semantic and pragmatic constraints
- Very difficult to take account of the variability
of spoken language with such approaches
41Machine Learning
- Intense effort needed to derive and encode
linguistic rules that cover all the language - Speech has a high degree of variability (speaker,
pronunciation, spontaneity, ...) - Difficult to write a grammar for spoken language
- many people rarely speak grammatically - Data-driven approach
- Construct simple models of speech which can be
earned from large amounts of data (thousands of
hours of speech recordings)
42Solução Métodos Estatísticos
- Redes Bayesianas
- Cadeias de Markov
43Música
- O que é MIR?
- Born ca. 1960s in IR research
- Major recent growth precipitated by advent of
networked digital music collections - Informed by multiple disciplines andliteratures
44DEfinindo 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.
45Porquê MIR é complexo?
46Multifaceted
47(No Transcript)
48(No Transcript)
49(No Transcript)
50(No Transcript)
51(No Transcript)
52(No Transcript)
53(No Transcript)
54(No Transcript)
55(No Transcript)
56(No Transcript)
57(No Transcript)
58(No Transcript)
59(No Transcript)
60(No Transcript)
61O que é Oracle interMedia
- Produto que estende o Oracle9i
- Adiciona características multimídia
- Responsável por gerenciar, armazenar e recuperar
imagens, áudio, vídeo e texto - interMedia Text
- Serviço de procura em documentos
- Oracle Visual Information Retrieval (VIR)
- Recuperação baseada em conteúdo
62O 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ções
- Gerenciados sob controle da tecnologia relacional
- Oferecidos em um servidor que suporta milhares de
usuários
63interMedia Áudio, Imagem e Vídeo
- 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
64Orientado 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
65Extensí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á oferecidos - Plugins para outras fontes externas de mídia
- Refazer métodos como o setProperties()
- Suportar novos formatos de áudio, vídeo e imagem
66Conceitos 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
67Metadados de Áudio
- Exemplos de metadados para áudio
- Formatos
- Tipos de compressão
- Número de canais
- Taxa de execução
- Tamanho de amostra
- Duração
68Conceitos 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
69Metadados de Vídeo
- Exemplos de metadados de vídeo
- Formatos
- Tipos de compressão
- Taxas de frame
- Tamanho de frame
- Resolução de frame
- Tempo de duração
- Número de cores
- Taxa de transferência
70Oracle 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
71Atributos 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
72A classe ORDVir
- 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
73Mé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 Retrieval - VIRScore() e VIRSimilar() comparam assinaturas
de duas imagens e determinam se elas são similares
74Métodos do ORDVir
- Extração de Propriedades
- setProperties() determina automaticamente as
propriedades características da imagem - Métodos get retornam alguns atributos
individualmente. Ex getHeight() e getWidth() - Verificação de Propriedades
- checkProperties() verifica se as propriedades
armazenadas conferem com a imagem
75Mé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ção
- copy() e processCopy() copiam imagens em outro
objeto ORDVir
76Métodos do ORDVir
- Movimentação (cont.)
- export(), import() e importFrom() usados para
mover imagens entre bancos de dados - setSource() ajusta ou altera informações sobre
imagens armazenadas externamente - Exclusão
- deleteContent() remove os dados do atributo BLOB
77Fundamentos de Content-Based Retrieval
- Solução para recuperação em grandes bancos de
dados de imagens - Podem 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
78Funcionamento 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
79Funcionamento 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 imagens
- Quanto menor o score, mais semelhantes as imagens
80Cor 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
81Cor Global e Cor Local
- Imagens semelhantes pela cor global (score 0)
- Imagens semelhantes pela cor local (score
0,02461)
82Textura e Estrutura
- Imagens semelhantes pela textura (score 4,1)
- Imagens semelhantes pela estrutura (score
0,61939)
83Funcionamento 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
84Funcionamento da Busca
- 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 - 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
85Exemplos 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)
86Carregando Imagens na Tabela
- DECLARE
- image ORDSYS.ORDVIR
- IdNum NUMBER
- ctx RAW(4000) NULL
- BEGIN
- IdNum 1
- INSERT INTO stockphotos VALUES (IdNum, Janice
Gray, - Beach scene, balls on water,
- ORDSYS.ORDVIR.init(FILE,ORDVIRDIR,virdemo1.da
t)) - 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
87Recuperação de uma Imagem
- DECLARE
- image ORDSYS.ORDVIR
- myid INTEGER 1
- BEGIN
- SELECT photo INTO image FROM stockphotos
- WHERE photo_id myid
- END
88Recuperação de Imagens Usando Imagem de
Comparação
- DECLARE
- threshold NUMBER
- compare_sig RAW(2000)
- compare_img ORDSYS.ORDVir
- photo_id NUMBER
- photographer VARCHAR2(64)
- annotation VARCHAR2(255)
- photo ORDSYS.ORDVIR
-
- CURSOR getphotos IS
- SELECT photo_id, photographer, annotation, photo
FROM stockphotos T - WHERE ORDSYS.VIRSimilar(T.photo.Signature,
compare_sig, - globalcolor"0.2" localcolor"0.3" texture"0.1"
- structure"0.4", threshold)1 AND photo_id ltgt 1
89Recuperação de Imagens Usando Imagem de Comparação
- BEGIN
- SELECT s.photo INTO compare_img FROM stockphotos
s - WHERE photo_id 1
- compare_img.Analyze
- compare_sig compare_img.signature
- threshold 25
- OPEN getphotos
- LOOP
- FETCH getphotos INTO photo_id, photographer,
annotation, photo - EXIT WHEN getphotosNOTFOUND
- -- Nesse ponto exibe-se ou armazena-se os
resultados - END LOOP
- CLOSE getphotos
- END
90Criação de um Índice
- CREATE INDEX imgindex ON stockphotos(photo.signatu
re) - INDEXTYPE IS ordsys.ordviridx
- PARAMETERS(ORDVIR_DATA_TABLESPACE
tbs_1,ORDVIR_INDEX_TABLESPACE tbs_2)