trabalhos de laboratóriomandrade/tvd/2006/apresentac... · trabalho nº12 estratégias de pesquisa...
TRANSCRIPT
ano lectivo de 2006/2007 Televisão Digital
LEEC1
Trabalhos de laboratório
► Âmbito : manipulação e processamento de imagem e vídeo
► Objectivo:
• Não é possível perceber realmente processamento de imagem (ou
qualquer outro tópico de engenharia), sem aplicar na prática os
conceitos e verificar os resultados pessoalmente (“hands-on
approach”)
• aprofundar os conhecimentos teóricos e desenvolver uma
capacidade crítica em relação àquilo que pode ou não ser feito
► Grupos de 2 pessoas
ano lectivo de 2006/2007 Televisão Digital
LEEC2
Trabalhos de laboratório
► Tópicos abordados
• Manipulação de imagens com formatos e espaços de côr distintos
• Processamento de imagem nas frequências► Expansão/compressão da resolução espacial► Filtragens para melhoramento da imagem
• Segmentação de imagem ► Detecção de contornos e linhas► Separação de regiões
• Compactação utilizando transformadas
• Quantificação
• Codificação de entropia
• Compressão JPEG
• Segmentação de vídeo► Detecção de cortes de cena
• Detecção de movimento► Estratégias de pesquisa
ano lectivo de 2006/2007 Televisão Digital
LEEC3
Material, ferramentas de trabalho
► Todos os trabalhos consistem na implementação em
software de pequenos algoritmos
• A entrada/saída desses algoritmos são imagens (formato bmp, jpeg,
YUV, etc.) ou vídeo (YUV, MPEG-1, MPEG-2)
• Os algoritmos devem apresentar no ecrân as imagens original e
processada
• Podem ser desenvolvidos no MatLab ou com um compilador
C/C++
► Serão dispnibilizadas imagens e sequências na página da
disciplina (http://www.fe.up.pt/~mandrade/tvd).
ano lectivo de 2006/2007 Televisão Digital
LEEC4
Escolha e atribuição de trabalhos
► os alunos deverão organizar-se em grupos de dois antes de efectuar a escolha do trabalho
► Cada grupo deverá enviar até dia 28 de Setembro a indicação de três trabalhos da sua preferência, atribuíndo-lhes prioridades, para o endereço de email:
► A atríbuição dos trabalhos aos alunos, será comunicada até ao dia 29de Setembro
► A semana de 9 e 10 de Outubro é inteiramente dedicada aos trabalhospráticos
ano lectivo de 2006/2007 Televisão Digital
LEEC5
Relatório
► Deverá ser entregue um relatório breve sobre o trabalho realizado (não mais de 6
páginas), descrevendo sumáriamente o trabalho que foi realizado, fazendo
referência a:
• algoritmo desenvolvido;
• princípios muito gerais sobre o qual assenta o algoritmo (sem entrar em detalhes
teóricos);
• o ambiente de trabalho;
• aspectos mais salientes da implementação e que tenham levado à experimentação de
diferentes soluções;
• resultados obtidos executando o algoritmo desenvolvido sobre diferentes tipos de
imagens/sequências;
• análise crítica (e comparativa) dos resultados em relação aos diferentes tipos de
imagens.
ano lectivo de 2006/2007 Televisão Digital
LEEC6
Entrega dos trabalhos
► o relatório deverá ser entregue em formato pdf ou word;
► deve incluir todos os ficheiros referentes ao relatório e aos programas
desenvolvidos num único arquivo comprimido com a designação "TD-trab1-
grupoXX.zip";
► Deve ser também entregue uma apresentação em powerpoint ou equivalente
do trabalho. O ficheiro com essa apresentação deverá ser designado de "TD-
trab1-grupoXX.ppt";
► cada grupo deve enviar os dois ficheiros por email para [email protected]
indicando como assunto da mensagem "TD-trab1-grupoXX";
ano lectivo de 2006/2007 Televisão Digital
LEEC7
Apresentação dos trabalhos
► Apresentações de 10 minutos no máximo
► O software pode ser posto a correr durante a apresentação para visualisação
dos resultados
► Os programas desenvolvidos, juntamente com o relatório onde são
apresentados os resultados e uma análise crítica da trabalho e os slides da
apresentação, devem ser entregues 2 dias antes da apresentação
► Apresentação programada para a aula do dia 23 de Outubro.
ano lectivo de 2006/2007 Televisão Digital
LEEC8
Lista de trabalhos propostos► Filtragem espacial de imagem fixa e equalização de histogramas
► Filtragem no domínio das frequências
► Processamento de imagens a cores
► Influência do tamanho de bloco na DCT
► Avaliação da qualidade de compressão com base na DCT
► Segmentação de imagem fixa
• Detecção de pontos, linhas e contornos (fronteiras)
• Separação de regiões
► Aumento/redução de imagem no domínio das frequências
► Compressão de imagem
• Codificação de entropia – códigos de Huffman e codificação aritmética
• Codificação JPEG
► segmentação de vídeo
• detecção de cortes de cena
► Técnicas de detecção de movimento
ano lectivo de 2006/2007 Televisão Digital
LEEC9
Trabalho nº1
► Filtragem espacial e modificação de histogramas de imagem fixa
• Desenvolver um programa para realizar a filtragem de imagens e a manipulação de histogramas. A filtragem espacial deve contemplar os processos de correlação e convolução e permitir seleccionar diferentes dimensões das máscaras dos filtros e dar valor aos coeficientes.
• O programa deve gerar o histograma de uma imagem e pedir ao utilizador os parâmetros para modificar o histograma. Deve incluir funcionalidades para a geração e manipulação de histogramas de côr.
• A aplicação a desenvolver no MatLab, deverá incluir um ambiente gráfico e incorporar opçõespara utilização de imagens a côr, utilizando diferentes espaços de côr, seleccionar diferentestipos de filtros e variar parâmetros dos filtros. A aplicação deve apresentar no ecrân as imagensoriginal e filtrada
• Pretende-se realizar um vasto número de experiências com um grande número de imagens e efectuar uma análise crítica aos resultados. O trabalho tem por objectivo aprender a utilizar filtros espaciais e histogramas para melhorar imagens fotográficas deterioradas ou para outro tipo de manipulação de imagem.
ano lectivo de 2006/2007 Televisão Digital
LEEC10
Ambientes gráficos desenvolvido em anos anteriores
ano lectivo de 2006/2007 Televisão Digital
LEEC11
Histogramas -exemplo
ano lectivo de 2006/2007 Televisão Digital
LEEC12
Histogramas - equalização
ano lectivo de 2006/2007 Televisão Digital
LEEC13
Trabalho nº 2
► Filtragem no domínio das frequências• Desenvolver um programa para realizar a filtragem de imagens no
domínio das frequências.
• A aplicação a desenvolver no MatLab, deverá incluir um ambiente
gráfico e incorporar opções para utilização de imagens a côr,
seleccionar diferentes tipos de filtros já disponíveis no MatLab e
variar parâmetros dos filtros. A aplicação deve apresentar no ecrân
as imagens original e filtrada
• Pretende-se realizar um vasto número de experiências com um
grande número de imagens e efectuar uma análise crítica aos
resultados.
ano lectivo de 2006/2007 Televisão Digital
LEEC14
Trabalho nº 3
► Processamento de imagens a cores
• Neste trabalho deverá ser desenvolvido um programa que permita► Utilizar diferentes espaço de côr para representar imagens► Efectuar conversões de espaços de côr (RGB, YUV, YCrCb, etc)► Efectuar operações de processamento de imagens a côr em diferentes
domínios• Transformações de côr, processando os pixels de acordo com o seu valor
de côr (e não de acordo com a sua posição espacial)• Filtragens espaciais dos planos de côr• Processamento dos vectores de côr
• Pretende-se realizar um vasto número de experiências com um
grande número de imagens e efectuar uma análise crítica aos
resultados.
ano lectivo de 2006/2007 Televisão Digital
LEEC15
Trabalho nº 4
► Influência do tamanho de bloco da DCT
• Neste trabalho deverá ser efectuado um conjunto de experiências
variando o tamanho de bloco da DCT e medindo ganhos
associados. Para isso deverão ser aplicados os algoritmos DCT e
IDCT a várias imagens fixas, variando o tamanho de bloco (ex:
2x2, 4x4, 8x8, 16x16 e 32x32).
Nota: A utilização de um tamanho fixo de bloco para explorar a redundância espacial em vídeo tem
funcionado bem em esquemas de codificação que tratam o vídeo como informação de
dimensões espaciais fixas. No entanto, num esquema de codificação orientado aos objectos
como é o caso do MPEG4, a dimensão espacial da informação já não é fixa
ano lectivo de 2006/2007 Televisão Digital
LEEC16
Ambiente gráfico desenvolvido em anos anteriores
ano lectivo de 2006/2007 Televisão Digital
LEEC17
Trabalho nº 5
► Qualidade de compressão com base na DCT
• Com este trabalho pretende-se efectuar a avaliação de qualidade de
imagens usando métodos distintos e comparar os resultados:
► de uma avaliação de qualidade de imagem baseada na medida do erroquadrático médio (RMSE – Root Mean Square Error or PSNR – Peak Signal to Noise Ratio)
► com uma avaliação que explora as capacidades do sistema visual humano, usando os coeficientes DCT da imagem.
• A método de avaliação da qualidade de imagem usando medidas
objectivas é o mais utilizadao, embora esteja provado que muitas vezes
valores baixos de erro não correspondem a boas qualidades subjectivas
• Investigar a influência da quantização na qualidade.
ano lectivo de 2006/2007 Televisão Digital
LEEC18
Trabalho nº6
► Segmentação de imagem – detecção de pontos, linhas e
contornos
• Desenvolver um programa que implemente diferentes estratégias
de detecção e extracção de contornos em imagens fixas (por ex.,
utilizando filtros FIR passa-alto, filtros FIR implementando a
função Laplaciana ou estratégias espaciais recorrendo a templates
como por exemplo o operador Sobel).
• Efectuar um vasto número de experiências com diferentes tipos de
imagem utilizando os vários métodos e extrair conclusões.
ano lectivo de 2006/2007 Televisão Digital
LEEC19
Trabalho nº7
► Segmentação de imagem – separação de regiões
• Pretende-se desenvolver um programa que divida uma imagem em diferentes
regiões
• Para além de técnicas que fazem a detecção de contornos (trabalho anterior),
utilizar também técnicas que identificam directamente essas regiões.
• Experimentar diferentes abordagens tais como “crescimento de regiões” ou
“divisão e fusão de regiões”:► “crescimento de regiões” - começa-se o processo escolhendo um certo número de pixels
como sendo as “sementes” de regiões distintas. Vai-se analisando os pixels vizinhos e juntando à semente aqueles que exibem características semelhantes às da semente (por exemplo, intensidade luminosa)
• Experimentar diferentes alternativas para identificar as “sementes” iniciais
► “divisão e fusão de regiões” – faz-se inicialmente uma divisão “cega” da imagem em regiões e analisa-se cada regiões para determinar se os pixels circunscritos exibem as mesmas características. Se não exibirem, divide-se essa região em regiões mais pequenas e repete-se o processo para cada uma delas. Se pelo contrário apresentam características semelhantes então agrupam-se regiões e repete-se o processo para esse agrupamento.
• Experimentar diferentes características, isto é, diferentes critérios de semelhança
ano lectivo de 2006/2007 Televisão Digital
LEEC20
Trabalho nº7 (2)
► Segmentação de imagem – separação de regiões
• O programa deve extrair as regiões identificadas para ficheiros
distintos
• Deve apresentar no ecrã as diferentes imagens
• Deve ser efectuadas experiências com um nº apreciável de
imagens, exibindo conteúdos distintos e apresentar uma
comparação de resultados
► dos diferentes métodos utilizando os mesmos parâmetros (isto é, o mesmo critério de semelhança)
► Dentro do mesmo método mas com critérios de semelhança distintos
► Entre imagens com conteúdos muito distintos
ano lectivo de 2006/2007 Televisão Digital
LEEC21
Ambiente gráfico desenvolvido em anos anteriores
ano lectivo de 2006/2007 Televisão Digital
LEEC22
Trabalho nº8
► Expansão/redução de imagem no domínio das frequências
• Desenvolver um algoritmo que produza uma imagem digital de dimensões
a.N x a.M a partir de uma imagem de dimensão N xM pixels. As duas
imagens devem mostrar o mesmo conteúdo. Pretende-se adoptar
estratégias que trabalhem no domínio das frequências, tal como a
utilização da transformada FFT (Fast Fourier Transform), para modificar
as dimensões vertical e horizontal de uma imagem. Por exemplo para
duplicar as dimensões de uma imagem:
► obter a FFT de uma dada imagem de dimensões N x M. A origem do espectro de frequências encontrar-se-á no centro da matriz bi-dimensional da FFT;
► Aumentar a dimensão da matriz para 2N x 2M, acrescentando zeros em torno da matriz original de dimensões N x M (a qual se situa no centro da nova matriz de dimensões 2N x 2M);
► obter a transformada inversa FFT utilizando a matriz expandida
ano lectivo de 2006/2007 Televisão Digital
LEEC23
Ambiente gráfico desenvolvido em 2002/2003
ano lectivo de 2006/2007 Televisão Digital
LEEC24
Trabalho nº9
► Codificação de entropia – códigos de Huffman► desenvolver um programa que gere códigos de Huffman de imagens
às quais foi aplicada uma transformada seguida de quantificação e que descodifique o código gerado.
► Os código s de Huffman permitem explorar a redundância existente entre os símbolos quantificados, permitindo assim obter um grau de compressão adicional
► Faz um ordenamento dos símbolos de acordo com a sua probabilidade de ocorrência antes de proceder à codificação
► testar com diferentes tipos de imagens, utilizando diferentes matrizes de quantização de acordo com o conteúdo da imagens de teste
ano lectivo de 2006/2007 Televisão Digital
LEEC25
Trabalho nº10
► Compressão de imagens fotográficas ► desenvolver um ambiente gráfico de simulação que permita a
utilização sequencial dos blocos referentes a cada uma das operações do algoritmo JPEG;
► certificar-se de que existe a facilidade de escolher parâmetros (tais como tamanho de bloco ou matriz de quantificação);
► testar com diferentes tipos de imagens, utilizando diferentes matrizes de quantização de acordo com o conteúdo da imagens de teste;
► avaliar os resultados em termos de eficiência, efectuando uma análise crítica de acordo com o tipo de imagens utilizadas.
ano lectivo de 2006/2007 Televisão Digital
LEEC26
Sistema de compressão de imagem
DCTImagem
descomprimida Quantificação
Códigos Huffman
Coeficientes AC
Códigos Run-Length
Coeficientes DC
Imagem
comprimida
ano lectivo de 2006/2007 Televisão Digital
LEEC27
Trabalho nº11
► Segmentação de vídeo - detecção de cortes de cena
• Detecção de cenas numa sequência vídeo utilizando diferentes
técnicas:► Avaliar e experimentar diferentes métodos para medir a actividade de
imagem para imagem• Variância da imagem em termos de luminância• nº de contornos, • utilização de histogramas ou informação de côr para detectar alterações
bruscas de côr• Valores dos coeficientes DCT• medida do erro nas técnicas de detecção de vectores de movimento
► Experimentar as técnicas “Minimum Spanning Tree” (MST) e “Nearest Neighborhood Elimination” (NNE)
ano lectivo de 2006/2007 Televisão Digital
LEEC28
Trabalho nº12
► Estratégias de pesquisa na detecção de movimento
• Desenvolver algoritmos para efectuar detecção de movimento em sequência de imagens utilizandos blocos de 16 x 16 pixels. Pretende-se implementar e avaliar diferentes estratégias e efectuar uma análise crítica e selectiva aos resultados.
► imagens divididas em blocos de 16 x 16 pixels;► para cada bloco determinar o bloco que melhor o aproxima na imagem
anterior ("best- matching-block"), utilizando diferentes técnicas de pesquisa dos vectores de movimento (logarítmica, hierárquica, 3 passos, etc) e adoptando o critério do erro absoluto e/ou do erro quadrático médio;
► fazer a estimação de movimento utilizando a técnica de pesquisa total ("fullsearch") e utilizar estes resultados como referência;
► produzir e apresentar no ecrân, um diagrama que apresente os vectores de movimento;
► obter as previsões da frame actual utilisando os vectores de movimento calculados com as diferentes técnicas;
► compare a imagem original com aquela reconstruída nos vários casos. .
ano lectivo de 2006/2007 Televisão Digital
LEEC29
Alguns conceitos e exemplos
► O que é uma imagem
► Como se representa na forma digital
► O que é um histograma
► Como se realizam as operações com as imagens
► Alguns exemplos
ano lectivo de 2006/2007 Televisão Digital
LEEC30
A imagem
► É uma função contínua bi-dimensional de intensidade de
luz f(x,y) em que x e y são coordenadas espaciais e o valor
de f em (x,y) indica a intensidade luminosa da imagem
nesse ponto
► Uma imagem digital é a representação de uma imagem
contínua f(x,y) através de uma matriz bi-dimensional de
amostras discretas. A amplitude de cada amostra é
mapeada numa escala finita de valores – quantificação –
por forma a ser representada por um nº finito de bits
ano lectivo de 2006/2007 Televisão Digital
LEEC31
Representação da imagem digital
► Através de uma matriz bi-dimensional (2-D) 1
► Cada elemento da matriz 2-D é um valor discreto
quantificado e é designado de pixel (de “picture element”)
1: no caso de uma imagem a cores teremos três matrizes
f(x,y) =
f’(0,0)
f’(1,0)
f’(M-1,0)
f’(0,1)
f’(1,1)
f’(M-1,1)
f’(0,N-1)
f’(1,N-1)
f’(M-1,N-1)
ano lectivo de 2006/2007 Televisão Digital
LEEC32
Influência nº níveis
► O nº de níveis (nº de bits para representar cada amostra)
influencia a definição da imagem (efeito de “contouring”)
32 níveis
64 níveis
128 níveis
256 níveis
ano lectivo de 2006/2007 Televisão Digital
LEEC33
Tamanho da imagem e resolução
► Mesma dimensão espacial, menor resolução (nº de pixels)
→ pior qualidade
N x N pixels N/2 x N/2 pixels N/4 x N/4 pixels
ano lectivo de 2006/2007 Televisão Digital
LEEC34
Requisitos de armazenamento
► Imagem com L x N pixels, b bits por amostra (2b níveis de
cinzento), c componentes de côr:
R = L*N*b*c bits
ano lectivo de 2006/2007 Televisão Digital
LEEC35
Histogramas
► Registra o nº de ocorrências de cada nível (de cada
amplitude quantificada dos pixels) na imagem
► Pode ser visto como estimativa da função de densidade de
probabilidade (pdf) dum processo aleatório de geração da
imagem
► Para imagens com b bits:
• Inicializam-se a zero 2b contadores;
• Verifica-se um a um, o valor de cada pixel da imagem;
• Ao encontrar o nível com o valor i, incrementa-se o contador i
ano lectivo de 2006/2007 Televisão Digital
LEEC36
Histogramas - exemplo
ano lectivo de 2006/2007 Televisão Digital
LEEC37
Histogramas -exemplo
ano lectivo de 2006/2007 Televisão Digital
LEEC38
Histogramas - equalização
ano lectivo de 2006/2007 Televisão Digital
LEEC39
Histogramas -equalização
ano lectivo de 2006/2007 Televisão Digital
LEEC40
Representação da imagem digital
► Através de um vector - pode simplificar as operações matemáticas
f =
f’(0,0)
f’(1,0)
f’(M-1,0)
f’(0,1)
f’(1,1)
f’(M-1,1)
f’(0,N-1)
f’(1,N-1)
f’(M-1,N-1)
ano lectivo de 2006/2007 Televisão Digital
LEEC41
Operações genéricas lineares
► Podem ser descritas por uma equação vectorial
• H é uma matriz não necessariamente quadrada
• representa a imagem de saída
g = H x f
g
ano lectivo de 2006/2007 Televisão Digital
LEEC42
Exemplo – redução 2:1 da imagem
► Subamostragem 2:1 horizontal e vertical
► Imagem de entrada dimensão 8 x 8, imagem de saída 4 x 4
Hx = Hy =
0,5
0,5
0
0
0
0
0
0
0
0
0,5
0,5
0
0
0
0
0
0
0
0
0,5
0,5
0
0
0
0
0
0
0
0
0,5
0,5
g = Hy
Tx f x Hx
ano lectivo de 2006/2007 Televisão Digital
LEEC43
Exemplo - filtragens
► Cada pixel é substituído pela média pesada dos seus
vizinhos (horizontais e verticais)
Hx = Hy =
0,5
0,5
0
0
0
0
0
0
0
0,5
0,5
0
0
0
0
0
0
0
0,5
0,5
0
0
0
0
0
0
0
0,5
0,5
0
0
0
0
0
0
0
0,5
0,5
0
0
0
0
0
0
0
0,5
0,5
0
0
0
0
0
0
0
0,5
0,5
0
0
0
0
0
0
0
0,5
ano lectivo de 2006/2007 Televisão Digital
LEEC44
Filtragem - exemplo
original filtrada
ano lectivo de 2006/2007 Televisão Digital
LEEC45
Filtragem - exemplo
original filtrada