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
LEEC
1
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
►
►
•
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
►
•
Expansão/compressão da resolução espacial
Filtragens para melhoramento da imagem
Detecção de cortes de cena
Detecção de movimento
►
Estratégias de pesquisa
ano lectivo de 2006/2007
Televisão Digital
LEEC
2
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
LEEC
3
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:
[email protected]
►
A atríbuição dos trabalhos aos alunos, será comunicada até ao dia 29
de Setembro
►
A semana de 9 e 10 de Outubro é inteiramente dedicada aos trabalhos
práticos
ano lectivo de 2006/2007
Televisão Digital
LEEC
4
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
LEEC
5
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-trab1grupoXX.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 "TDtrab1-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
LEEC
6
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
LEEC
7
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 JPEG
segmentação de vídeo
•
►
Codificação de entropia – códigos de Huffman e codificação aritmética
detecção de cortes de cena
Técnicas de detecção de movimento
ano lectivo de 2006/2007
Televisão Digital
LEEC
8
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ções
para utilização de imagens a côr, utilizando diferentes espaços de côr, seleccionar diferentes
tipos de filtros 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. 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
LEEC
9
Ambientes gráficos desenvolvido em anos
anteriores
ano lectivo de 2006/2007
Televisão Digital
LEEC
10
Histogramas -exemplo
ano lectivo de 2006/2007
Televisão Digital
LEEC
11
Histogramas - equalização
ano lectivo de 2006/2007
Televisão Digital
LEEC
12
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
LEEC
13
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
LEEC
14
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
LEEC
15
Ambiente gráfico desenvolvido em anos
anteriores
ano lectivo de 2006/2007
Televisão Digital
LEEC
16
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 erro
quadrático médio (RMSE – Root Mean Square Error or PSNR – Picture 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
LEEC
17
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
LEEC
18
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.
•
ano lectivo de 2006/2007
Experimentar diferentes características, isto é, diferentes critérios de semelhança
Televisão Digital
LEEC
19
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
LEEC
20
Ambiente gráfico desenvolvido em anos
anteriores
ano lectivo de 2006/2007
Televisão Digital
LEEC
21
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 x M 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
LEEC
22
Ambiente gráfico desenvolvido em
2002/2003
ano lectivo de 2006/2007
Televisão Digital
LEEC
23
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
LEEC
24
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
LEEC
25
Sistema de compressão de imagem
Códigos Huffman
Coeficientes AC
Imagem
descomprimida
DCT
Imagem
Quantificação
comprimida
Códigos Run-Length
Coeficientes DC
ano lectivo de 2006/2007
Televisão Digital
LEEC
26
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
LEEC
27
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 ("full
search") 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
LEEC
28
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
LEEC
29
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
LEEC
30
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”)
f’(0,0)
f’(0,1)
f’(0,N-1)
f’(1,0)
f’(1,1)
f’(1,N-1)
f’(M-1,0)
f’(M-1,1)
f’(M-1,N-1)
f(x,y) =
1: no caso de uma imagem a cores teremos três matrizes
ano lectivo de 2006/2007
Televisão Digital
LEEC
31
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
LEEC
32
Tamanho da imagem e resolução
►
Mesma dimensão espacial, menor resolução (nº de pixels)
→ pior qualidade
N x N pixels
ano lectivo de 2006/2007
N/2 x N/2 pixels
Televisão Digital
LEEC
N/4 x N/4 pixels
33
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
LEEC
34
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
LEEC
35
Histogramas - exemplo
ano lectivo de 2006/2007
Televisão Digital
LEEC
36
Histogramas -exemplo
ano lectivo de 2006/2007
Televisão Digital
LEEC
37
Histogramas - equalização
ano lectivo de 2006/2007
Televisão Digital
LEEC
38
Histogramas -equalização
ano lectivo de 2006/2007
Televisão Digital
LEEC
39
Representação da imagem digital
►
Através de um vector - pode simplificar as operações matemáticas
f’(0,0)
f’(0,1)
f’(0,N-1)
f’(1,0)
f’(1,1)
f=
f’(1,N-1)
f’(M-1,0)
f’(M-1,1)
f’(M-1,N-1)
ano lectivo de 2006/2007
Televisão Digital
LEEC
40
Operações genéricas lineares
►
Podem ser descritas por uma equação vectorial
g=Hx f
•
•
H é uma matriz não necessariamente quadrada
g representa a imagem de saída
ano lectivo de 2006/2007
Televisão Digital
LEEC
41
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 =
ano lectivo de 2006/2007
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
Televisão Digital
LEEC
g = HyT x f
x
Hx
42
Exemplo - filtragens
►
Cada pixel é substituído pela média pesada dos seus
vizinhos (horizontais e verticais)
Hx = Hy =
ano lectivo de 2006/2007
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
Televisão Digital
LEEC
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
43
Filtragem - exemplo
filtrada
original
ano lectivo de 2006/2007
Televisão Digital
LEEC
44
Filtragem - exemplo
filtrada
original
ano lectivo de 2006/2007
Televisão Digital
LEEC
45
Download

Slides da aula de apresentação dos trabalhos de laboratorio