Trabalhos de laboratório
description
Transcript of Trabalhos de laboratório
ano lectivo de 2006/2007 Televisão DigitalLEEC
1
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 DigitalLEEC
2
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 DigitalLEEC
3
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 DigitalLEEC
4
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 29 de Setembro
► A semana de 9 e 10 de Outubro é inteiramente dedicada aos trabalhos práticos
ano lectivo de 2006/2007 Televisão DigitalLEEC
5
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 DigitalLEEC
6
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 DigitalLEEC
7
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 DigitalLEEC
8
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 DigitalLEEC
9
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 DigitalLEEC
10
Ambientes gráficos desenvolvido em anos anteriores
ano lectivo de 2006/2007 Televisão DigitalLEEC
13
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 DigitalLEEC
14
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 DigitalLEEC
15
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 DigitalLEEC
17
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 DigitalLEEC
18
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 DigitalLEEC
19
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 DigitalLEEC
20
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 DigitalLEEC
22
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 DigitalLEEC
24
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 DigitalLEEC
25
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 DigitalLEEC
26
Sistema de compressão de imagem
DCT Imagem
descomprimida Quantificação
Códigos HuffmanCoeficientes AC
Códigos Run-LengthCoeficientes DC
Imagem
comprimida
ano lectivo de 2006/2007 Televisão DigitalLEEC
27
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 DigitalLEEC
28
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 DigitalLEEC
29
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 DigitalLEEC
30
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 DigitalLEEC
31
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 DigitalLEEC
32
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 DigitalLEEC
33
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 DigitalLEEC
34
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 DigitalLEEC
35
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 DigitalLEEC
40
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 DigitalLEEC
41
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 DigitalLEEC
42
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,50,5000000
000,50,50000
00000,50,5 00
000000 0,50,5
g = HyT x f x Hx
ano lectivo de 2006/2007 Televisão DigitalLEEC
43
Exemplo - filtragens
► Cada pixel é substituído pela média pesada dos seus vizinhos (horizontais e verticais)
Hx = Hy =
0,50,5000000
00,50,500000
000,50,5 0000
0000,50,5 000
00000,50,500
000000,50,50
000000 0,50,5
000000 00,5