Álgebra Linear Aplicada à Compressão de Imagens. Universidade de Lisboa Instituto Superior Técnico. Mestrado em Engenharia Aeroespacial

Documentos relacionados
Transformada de Discreta de Co senos DCT

Mídias Discretas. Introdução à Ciência da Informação

Imagem ou Desenhos e Gráficos vetorial ou raster?

G3 de Álgebra Linear I

Imagem e Gráficos. vetorial ou raster?

Os computadores processam dados digitais ou discretos. Os dados são informação representada num sistema digital de símbolos.

Expansão/Redução de imagens no domínio das frequências

Processamento de Imagem. Compressão de Imagens Professora Sheila Cáceres

Representação da Informação Imagem e Vídeo

Processamento de imagem a cores

INTRODUÇÃO AO DESENVOLVIMENTO WEB. PROFª. M.Sc. JULIANA H Q BENACCHIO

Computação Gráfica. Engenharia de Computação. CEFET/RJ campus Petrópolis. Prof. Luis Retondaro. Aula 3. Transformações Geométricas

Processamento Digital de Imagem

Imagem digital. Elicardo Gonçalves

Parte 1 Questões Teóricas

Motivação Por que estudar?

2 Representação de Imagens em Arquivos Texto

Aula 5 - Produto Vetorial

Introdução ao Processamento de Imagens Digitais Aula 01

Álgebra Linear I - Aula Matriz de uma transformação linear em uma base. Exemplo e motivação

Binário Decimal

Processamento Digital de Imagens

Informática I. Aula Aula 22-12/11/2007 1

Mudanças de Coordenadas em Sistemas de Cores

Capítulo II Imagem Digital

Cores em Imagens e Vídeo

Computação Gráfica Aula 0. Alexandre de Barros Barreto - Ms

Processamento de Imagens

Tranformada de Fourier. Guillermo Cámara-Chávez

Aplicações Informáticas B 12º Ano

PEF 5743 Computação Gráfica Aplicada à Engenharia de Estruturas

Compressão de Imagens. Lilian Nogueira de Faria (Bolsista)...DPI/INPE Leila Maria Garcia Fonseca (Coordenadora)...DPI/INPE

Televisão Digital 5ºano 2006/2007. Compressão/Descompressão de Imagens JPEG. Trabalho realizado por: Carla Neves, nº

Visualização por Computador: Teoria, Prática e Aplicações

PSI2651 PROCESSAMENTO, ANÁLISE E SÍNTESE DE IMAGENS. 1 o período de 2005 LISTA DE EXERCÍCIOS

Álgebra Linear I - Aula 22

11 a EDIÇÃO SISTEMAS DIGITAIS

António Costa. Paulo Roma Cavalcanti

Televisão Digital. Codificação de Entropia Códigos de Huffman. Hélio Manuel Gonçalves Jaco

Protótipo de software para inserção e extração de mensagens em arquivo raster através de esteganografia

Compressão de Imagens Usando Wavelets: Uma Solução WEB para a Codificação EZW Utilizando JAVA. Utilizando JAVA. TCC - Monografia

Representação da Informação

Sistemas de Controle 1

Qualidade Radiométrica das Imagens Sensor ADS40

Álgebra Linear I - Aula Bases Ortonormais e Matrizes Ortogonais

étodos uméricos SISTEMAS DE EQUAÇÕES LINEARES (Continuação) Prof. Erivelton Geraldo Nepomuceno PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA

Compressão de Imagens: Padrão JPEG

PROCESSAMENTO DIGITAL DE IMAGENS (SERP11) TRANSFORMAÇÕES LINEARES: COMPONENTES PRINCIPAIS, TASSELED CAP, IHS. Daniel C. Zanotta

Álgebra Linear I - Aula 20

Códigos de bloco. Instituto Federal de Santa Catarina Curso superior de tecnologia em sistemas de telecomunicação Comunicações móveis 2

Modelo RGB - Aplicações

Computação Gráfica - 12

Álgebra Linear I - Lista 12. Matrizes semelhantes. Diagonalização. Respostas

Processamento Digital de Imagens. Cor

Estatística: Aplicação ao Sensoriamento Remoto SER ANO Componentes Principais

Capacidade de Armazenamento. Bit. Binário para Decimal. Decimal para Binário. Operações Aritméticas no Sistema binário.

Imagem bitmap. Gráfico vetorial. gráficos vetoriais

Operações com números binários

Álgebra Linear I - Aula Forma diagonal de uma matriz diagonalizável

Trabalho - Photochopp Divulgação: 06/09/2014 Atualizado em: 29/09/2014 Entrega: vide cronograma

Processamento digital de imagens

Sistemas de equações lineares

Aula 3: Manipulando Textos e Imagens

Classificação e Pesquisa de Dados. Aula 27 Compressão de Dados Multimídia: Compressão de Imagens

RECONHECIMENTO FACIAL UTILIZANDO EIGENFACES

MINERAÇÃO DE DADOS. Thiago Marzagão MINERAÇÃO DE TEXTOS. Thiago Marzagão (UnB) MINERAÇÃO DE DADOS 1/ / 25

Medidas de Semelhança

Considerando as cores como luz, a cor branca resulta da sobreposição de todas as cores, enquanto o preto é a ausência de luz. Uma luz branca pode ser

Instituto Superior de Engenharia de Lisboa Engenharia Informática e de Computadores

Padrões de Compressão de Imagens

DESENVOLVIMENTO DE PROGRAMA ANÁLISE DE TRELIÇAS ESPACIAIS

Matrizes e Determinantes

Universidade de Pernambuco Escola Politécnica de Pernambuco

Unidade III. Sistemas Numéricos e o Computador

Exercícios Práticos HTML5 + CSS3. Profa. Flávia Pereira de Carvalho

EXERCÍCIOS DE ÁLGEBRA LINEAR E GEOMETRIA ANALÍTICA (sistemas de equações lineares e outros exercícios)

Universidade do Estado de Minas Gerais Curso de Sistemas de Informações. Multimídia. A Imagem (Parte I)

Análise e Processamento de Bio-Sinais. Mestrado Integrado em Engenharia Biomédica. Sinais e Sistemas. Licenciatura em Engenharia Física

Pesquisa Operacional. Prof. José Luiz

Prof. Responsáveis Wagner Santos C. de Jesus

Processamento Digital de Imagens

Processamento Digital de Imagens

Processamento de Imagens

Processamento Digital de Imagens

Processamento Digital de Imagens

Processamento Digital de Imagens

Universidade Federal de Sergipe Departamento de Matemática. Imagem* Profª. Maria Andrade. *Parte desta apresentação foi do Prof. Thales Vieira.

Nota de aula: Transformações Lineares

Exemplos Práticos HTML5 + CSS3. Profa. Flávia Pereira de Carvalho

UNIMINAS Só é necessário o armazenamento de: Sinal da mantissa: - (menos). Valor da mantissa: Sinal do expoente: -(na realidade, háh

Codecs de Imagem SMU

Realimentação de Relevância

Lista de exercícios 9 Mudanças de Bases

Computação Gráfica. Prof. MSc André Yoshimi Kusumoto

2 Conceitos Básicos Sísmica

Universidade Federal de Alagoas Instituto de Matemática. Imagem. Prof. Thales Vieira

Tratamento da Imagem Transformações (cont.)

Processamento digital de imagens

Transcrição:

Álgebra Linear Aplicada à Compressão de Imagens Universidade de Lisboa Instituto Superior Técnico Uma Breve Introdução Mestrado em Engenharia Aeroespacial Marília Matos Nº 80889 2014/2015 - Professor Paulo Pinto O uso generalizado de câmaras digitais, telemóveis com a possibilidade de gravação de imagens cada vez com maior resolução, exige uma maior capacidade de armazenamento. Um método chave para reduzir essa exigência é conhecido como compressão de imagem. Este projeto irá explicar esse mesmo método, descrevendo um processo para tal, chamado A Transformação de Haar Wavelet. O que é uma imagem? Uma imagem é um conjunto de pontos discretos chamados de píxeis. O método de compressão de imagens JPEG vê qualquer imagem como uma matriz m x n em que cada entrada da matriz determina a cor de um pixel na imagem. Cada entrada, no entanto, é representada por um dado número de bits. Se cada pixel fosse representado apenas por um bit, apenas duas cores diferentes poderiam aparecer, uma vez que um computador, funcionando com o sistema binário, poderia usar o valor 0 ou 1. Se dois bits fossem usados para representar cada pixel, duas cores poderiam ser representadas (2 x 2 = 4). E por aí em diante. Em suma, o número de cores possíveis de serem representadas é dada pela expressão 2 n, em que o n representa o número de bits por pixel. As imagens mais comuns são as de 8 bits por pixel (um byte) ou 24 bits por pixel (três bytes). Três tipos diferentes de imagens bitmap são, geralmente, usadas. O primeiro tipo são imagens de intensidade (na escala de cinzentos), onde cada entrada da matriz corresponde a um valor entre 0 e 1, em que o 0 corresponde ao branco

puro e 1 ao preto completo. A seguir temos as imagens de 256 cores, onde cada entrada da matriz corresponde a um número entre 0 e 255 que, por sua vez, corresponde a uma cor distinta. Neste, cada pixel requer 8 bits, ou 1 byte de memória. No terceiro tipo de imagem são usadas três matrizes: uma para a escala de vermelho, outra para a escala de verde e a terceira para a escala de azul. Este tipo é também conhecido como RGB (Red, Green, Blue). O processo de compressão de imagens utilizado pela JPEG é denominada pela Transformação Discreta do Cosseno. No entanto existem outros processos de compressão de imagens, entre os quais a Transformação Discreta de Wavelet, que tem muitas mais aplicações na vida real. A primeira Transformação Discreta de Wavelet foi inventada pelo Matemático Húngaro Alfréd Haar e, por isso mesmo, denomina-se de Transformação Haar Wavelet que irá ser apresentada neste projeto. Quando recuperadas da Internet, as imagens digitais demoram uma quantidade considerável de tempo para serem descarregadas e fazem uso de uma grande quantidade de espaço. A transformação Haar Wavelet combateu essa tendência comprimindo, então, as imagens digitais de forma a que ocupassem menos espaço quando armazenadas e transmitidas. A ideia principal por detrás deste método de compressão é a de tratar a imagem digital como um conjunto de números i.e., uma matriz. Cada imagem, como descrito anteriormente, corresponde a um conjunto de píxeis. A matriz correspondente a uma certa imagem contém um número inteiro para cada pixel. A técnica de compressão JPEG divide uma imagem em blocos 8x8, e cada bloco contém uma matriz. Esta técnica utiliza ferramentas de Álgebra Linear para maximizar a compressão e manter um nível elevado e detalhe.

Transformação de vetores usando Haar Wavelets Antes de exemplificar a transformação de matrizes, é necessário verificar como é feita a transformação de vetores (linhas de matrizes). Utilizando, por exemplo, o vetor: v = [420 680 448 708 1260 1420 1600 1600] que é uma linha da matriz 8x8 da imagem. No geral, se o vetor tem 2 k elementos, então o processo de transformação, precedente da compressão, realiza-se em k passos. No caso acima, em 3 passos, uma vez que 8=2 3.

Tem de se efetuar as seguintes operações nas entradas do vetor v: - Dividir as entradas de v em quatro pares: (420, 680), (448, 708), (1260, 1410), (1600, 1600). - Calcular a média de cada par: Os valores formarão as primeiras quatro entradas do novo vetor v1. - Subtrair cada um dos valores calculados nas médias à primeira entrada de cada par e daí resultam os seguintes números: -130, -130, -75, 0, que formarão as quatro últimas entradas do vetor v1. - Formação do novo vetor: v1 = [550 578 1340 1600-130 -130-80 0].

É preciso notar que o vetor v1 pode ser obtido a partir do vetor v, multiplicando este à direita pela seguinte matriz: Os primeiros quatro coeficientes de v1 são chamados de coeficientes de aproximação e as últimas quatro entradas são chamadas de coeficientes de detalhe. O próximo passo é voltar a agrupar as entradas do vetor v1, mas desta vez só se agrupa as primeiras quatro entradas, formando dois grupos com dois elementos cada. Desta operação resulta estas duas entradas: 564 e 1470 do novo vetor v2. Estes são os novos coeficientes de aproximação. O terceiro e o quarto elemento de v2 são obtidos pela subtração das médias 564 e 1470 aos primeiros elementos de cada par correspondente. Isto resulta nos novos coeficientes de detalhe: -14 e -130. As últimas quatro entradas de v2 são os coeficientes de detalhe de v1, e assim tem-se: v2 = [564 1470-14 -130-130 -130-80 0], o segundo vetor da transformação, que por sua vez pode ser obtido do vetor v1 pela multiplicação à direita pela matriz:

O último passo consiste, mais uma vez, em calcular a média das primeiras duas entradas do vetor v2 e, como anteriormente, subtrair o resultado à primeira entrada do par. Isto resulta no seguinte vetor: v3 = [1017-453 -14-130 -130-130 -80 0] Como anteriormente, o vetor v3 pode ser obtido por de v1, multiplicando v2 à direita pela matriz:

Como consequência, v3 resulta imediatamente de v através da seguinte expressão: Seja: v3 = v x W1 x W2 x W3 Observações: - As colunas da matriz W1 formam uma base ortogonal de R 8. Como consequência, W1 é invertível. O mesmo acontece com a matriz W2 e W3. - Como produto de matrizes invertíveis, W é também invertível e as suas colunas formam uma base ortogonal de R 8. A inversa de W é dada pela expressão: Supondo que a matriz A é a matriz que corresponde a uma certa imagem, a transformação de Haar processa-se realizando as operações anteriormente descritas em cada uma das linhas da matriz A, e depois repetindo as mesmas operações nas colunas da matriz resultante. A matriz transformada é AW. A transformação das colunas de AW é obtida através da multiplicação deaw pela matriz W T, a transposta de W, à esquerda. Em suma, a transformação de Haar

modifica a matriz A e calcula a matriz W T AW. Nomeando esta nova matriz de S, temos então: Usando as propriedades da matriz inversa, pode-se obter de novo a matriz original, através da expressão: Isto permite-nos ver a imagem original. Exemplo: Supondo que uma imagem 8x8 é representada pela matriz:

Ao transformarmos as linhas da matriz A obtemos: Transformando, por fim, as colunas da matriz L, é obtida a seguinte matriz:

O objetivo de proceder à transformação de Haar wavelet é que entradas da matriz original que contêm pequenas variações acabarão com o valor zero na matriz transformada. A matriz é considerada esparsa se tiver uma grande quantidade de entradas iguais a zero. Este tipo de matriz demora muito menos espaço no seu armazenamento. Uma vez que não se pode esperar que todas as matrizes tenham a maior parte das suas entradas iguais a zero, decidiu-se definir uma valor conhecido por vizinhança, ε, e assim, todas as entradas da matriz que tenham valor inferior a ε passam a ter o valor de 0. Se ε for zero, nenhum dos elementos da matriz é modificado. Sempre que pretendemos descarregar uma imagem da Internet, o computador de origem usa a matriz transformada de Haar na sua memória. Primeiramente envia os valores dos coeficientes de aproximação e os de detalhe maiores e, só mais tarde, os coeficientes de detalhe com valores inferiores. Assim, o computador recebe a informação, começa o processo de reconstrução progressivamente até ao maior detalhe, até que a imagem original seja completamente reconstruída. Álgebra Linear consegue tornar o processo de compressão muito mais rápido e muito mais eficiente. Em primeiro lugar é necessário referir que uma matriz A nxn, diz-se ortogonal se as suas colunas formam uma base ortonormada de R n, isto é, as colunas de A são ortogonais duas a duas e o comprimento de cada vetor coluna é igual a 1. Da mesma forma que A é ortogonal se a sua inversa é igual à sua transposta. Esta última propriedade faz com que a imagem seja recuperada através da equação: que torna o processo mais rápido.

Uma outra propriedade bastante importante referente às matrizes ortogonais é a da preservação da sua norma. Por outras palavras, se v é um vetor de R n e A uma matriz ortogonal, então Av = v, pois: Além disso, o ângulo é preservado quando é feita a transformação através de matrizes ortogonais. Relembrando que o coseno de um ângulo entre dois vetores u e v é dado por: então, se A é uma matriz ortogonal, ψ o ângulo entre os dois vetores Au e Av, temos:

Uma vez que a norma e o ângulo é preservado, há uma muito menor distorção produzida na reconstrução da imagem quando é usada uma matriz ortogonal. W é o produto de três outras matrizes e, por isso mesmo, podemos normalizar W, normalizando cada uma das outras três matrizes. A versão normalizada de W será: Podemos notar também, que a matriz W não é mais do que uma matriz mudança de base de R 8. Por outras palavras, as colunas de W formam uma nova base de R 8. Por isso mesmo, quando multiplicamos um vetor v, escrito nas coordenadas da base canónica de R 8, por W, obtêm-se as coordenadas de v na nova base. Algumas coordenadas vão ser negligenciadas no processo de transformação da matriz numa matriz esparsa, o que fará com que o processamento e transmissão da imagem se dê muito mais rapidamente.