450 likes | 571 Views
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 ”)
E N D
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 Televisão Digital LEEC
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 Televisão Digital LEEC
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). Televisão Digital LEEC
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: teresa.andrade@inescporto.pt • 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 Televisão Digital LEEC
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. Televisão Digital LEEC
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 mandrade@fe.up.pt indicando como assunto da mensagem "TD-trab1-grupoXX"; Televisão Digital LEEC
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. Televisão Digital LEEC
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 Televisão Digital LEEC
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. Televisão Digital LEEC
Ambientes gráficos desenvolvido em anos anteriores Televisão Digital LEEC
Histogramas -exemplo Televisão Digital LEEC
Histogramas - equalização Televisão Digital LEEC
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. Televisão Digital LEEC
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. Televisão Digital LEEC
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 Televisão Digital LEEC
Ambiente gráfico desenvolvido em anos anteriores Televisão Digital LEEC
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. Televisão Digital LEEC
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. Televisão Digital LEEC
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 Televisão Digital LEEC
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 Televisão Digital LEEC
Ambiente gráfico desenvolvido em anos anteriores Televisão Digital LEEC
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.Nx a.Ma partir de uma imagem de dimensão NxM 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 Televisão Digital LEEC
Ambiente gráfico desenvolvido em 2002/2003 Televisão Digital LEEC
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 Televisão Digital LEEC
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. Televisão Digital LEEC
Sistema de compressão de imagem Códigos Huffman Coeficientes AC Imagem descomprimida Imagem comprimida DCT Quantificação Códigos Run-Length Coeficientes DC Televisão Digital LEEC
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) Televisão Digital LEEC
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. . Televisão Digital LEEC
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 Televisão Digital LEEC
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 Televisão Digital LEEC
f’(0,N-1) f’(0,1) f’(0,0) f’(1,N-1) f’(1,1) f’(1,0) f(x,y) = f’(M-1,N-1) f’(M-1,1) f’(M-1,0) 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 Televisão Digital LEEC
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 Televisão Digital LEEC
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 Televisão Digital LEEC
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 Televisão Digital LEEC
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 Televisão Digital LEEC
Histogramas - exemplo Televisão Digital LEEC
Histogramas -exemplo Televisão Digital LEEC
Histogramas - equalização Televisão Digital LEEC
Histogramas -equalização Televisão Digital LEEC
f’(0,0) f’(0,1) f’(0,N-1) f’(1,0) f’(1,1) f’(1,N-1) f = f’(M-1,0) f’(M-1,1) f’(M-1,N-1) Representação da imagem digital • Através de um vector - pode simplificar as operações matemáticas Televisão Digital LEEC
g = H x f g 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 Televisão Digital LEEC
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 Hx = Hy = Exemplo – redução 2:1 da imagem • Subamostragem 2:1 horizontal e vertical • Imagem de entrada dimensão 8x8, imagem de saída 4x4 g = HyTx f x Hx Televisão Digital LEEC
Exemplo - filtragens • Cada pixel é substituído pela média pesada dos seus vizinhos (horizontais e verticais) 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,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 Hx = Hy = Televisão Digital LEEC
Filtragem - exemplo filtrada original Televisão Digital LEEC
Filtragem - exemplo filtrada original Televisão Digital LEEC