PI - Toda a Materia

  • Uploaded by: Matheus Estevão
  • Size: 44.8 MB
  • Type: PDF
  • Words: 72,884
  • Pages: 820
Report this file Bookmark

* The preview only shows a few pages of manuals at random. You can get the complete content by filling out the form below.

The preview is currently being created... Please pause for a moment!

Description

Processamento de Imagens

Propriedades de Ondas e a Luz Prof. Marcelo Bernardes Vieira

Bibliografia e fontes

Essa aula foi construída a partir de anotações do professor, imagens da internet, e partes do capítulo 6 do livro “Digital Image Processing”, de Rafael C.

Gonzalez e Richard E. Woods, 4a edição, Editora Pearson, 2018.

Sinopse Tópicos desta aula Introdução

Fundamentos de ondas Física da luz Combinação de cores Distribuição de cor

Padrão CIE e CIE-XYZ

Ondas Fundamentos básicos

Definição básica Uma onda é uma perturbação que carrega energia de um lugar a outro.

Uma onda não carrega matéria consigo! Uma onda apenas move a matéria enquanto passa por ela. Ondas mecânicas precisam de um meio para se mover. Algumas ondas não precisam de matéria para se mover. Elas são chamadas ondas eletromagnéticas.

Ondas transversais O meio se move perpendicularmente à direção da onda

Estrutura da onda transversal É mais fácil entender a propagação de energia oscilatória com ondas transversais.

O pico é o ponto mais alto da onda e o vale é o ponto mais baixo. O comprimento de onda é dado pela distância entre dois picos ou dois vales. A amplitude é a distância máxima da onda da sua posição de repouso. A frequência é dada por quantas ondas passam por um ponto em um segundo (hertz).

Ondas longitudinais O meio se move na mesma direção da onda

Estrutura da onda longitudinal Também chamada de onda de compressão. Uma região de compressão é onde as partículas se concentram. Uma região de rarefação é onde as partículas se afastam O comprimento de onda é dado pela distância entre duas compressões ou duas rarefações de mesma intensidade.

A amplitude é dada pela quantidade máxima/mínima de compressão/rarefação.

Amplitude e energia A energia depende da amplitude

Energia de uma onda A energia de uma onda é dada por E = CA 2 onde C é uma constante que depende do meio e A é a amplitude. A energia é proporcional ao quadrado da amplitude. Quando a amplitude é dobrada, a energia é quadruplicada. Quando a amplitude é 10 vezes maior, a energia é 100 vezes maior.

Velocidade de uma onda: depende do meio. Varia substancialmente entre meios sólidos, líquidos e gasosos. Velocidade da onda = comprimento de onda (m) x frequência (Hz)

Direção da onda Ondas podem mudar de direção ao interagir com superfícies

Um reflexão ocorre quando uma onda se encontra com uma superfície. Uma refração ocorre quando uma onda muda de meio com variação de velocidade. Na difração, uma onda se deforma contornando um objeto. A quantidade de deformação depende do tamanho do obstáculo em relação ao comprimento de onda. Maior difração = maior capacidade de contornar. Grande obstáculo e pequeno comprimento de onda = baixa difração Pequeno obstáculo e grande comprimento de onda = alta difração

Ondas eletromagnéticas O fóton e o efeito fotoelétrico

Ondas eletromagnéticas Fóton é um tipo de partícula elementar. Possui a quantidade de energia mínima da radiação eletromagnética em uma dada frequência.

A energia de um fóton é diretamente proporcional a sua frequência E = hf onde h é a constante de Planck (6.62606957 × 10−34 (m2kgs-1)) e f é a frequência. Um fóton a 1 Hz tem energia = 6.62606957 × 10−34 Joules. Todas as fontes de energia eletromagnética emitem fótons.

Fundamentos de cor Física da cor A percepção de cor é um processo psicofísico que não é bem entendido Mas a física da cor é bem conhecida e pode ser definida formalmente Em 1666, Isaac Newton descobriu que a luz do sol se descompõe ao passar por um prisma em um espectro contínuo de cores indo do vermelho até o violeta

O espectro de cor pode ser dividido em seis bandas violeta (380 a 440nm), azul (440 a 490nm), verde (490 a 565nm), amarelo (565 a 590nm), laranja (590 a 630nm) e vermelho (630 a 780nm) Um corpo que reflete a luz de forma balanceada parece branco para um observador. Mas um corpo que favorece a reflectância de forma diferenciada apresentará tons de cores Um objeto verde reflete luz com comprimentos de onda principalmente no intervalo de 490 a 565nm enquanto absorve os outros comprimentos de onda

Fundamentos de cor Física da cor A luz visível é composta de uma banda relativamente estreita de frequências no espectro eletromagnético Se a luz é acromática, seu único atributo é a intensidade. Luz cromática se espalha pelo intervalo de 400 a 700nm e há três grandezas para descrevê-la: 1) radiância que é a quantidade de energia (watts) da fonte 2) luminância que é a quantidade de energia percebida (lumens) 3) brilho que indica a noção acromática de intensidade

Fundamentos de cor Luz branca

Distribuição de cor

E

100

50

Uma cor é a percepção de uma distribuição espectral de luz 0 400

500

600

700

l (mm)

Luz colorida 100

E

comprimento de onda dominante define a matiz (hue)

50

0 400

500

600

700

l (mm)

Fundamentos de cor E

comprimento de onda dominante define a matiz (hue)

Componentes de uma cor Podemos distinguir uma cor de outra através de três atributos 1) matiz (hue): associada com o comprimento de onda dominante na distribuição de cor 2) brilho (brightness): indica a intensidade da luz 3) saturação (saturation): indica a pureza, ou a quantidade de luz branca misturada com o matiz

400

500

600

700

l (mm)

matiz (hue)

a concentração no comprimento de onda dominante define a saturação ou pureza

Cores como o rosa (vermelho mais branco) são menos saturadas O par matiz e saturação é chamado de cromaticidade Portanto, uma cor é caracterizada pela sua cromaticidade e brilho

500

saturação

400

intensidade define o brilho (brightness)

500

600

brilho (brightness)

E

400

E

600

700

l (mm)

700

l (mm)

Fundamentos de cor Combinação aditiva de primárias Cores primárias podem ser adicionadas para produzir cores secundárias: magenta (R+B), ciano (G+B), e amarelo (R+G) Adicionar a cor secundária à primária correspondente gera a cor branca Dispositivos que usam adição de primárias: monitores LCD, monitores de plasma, monitores CRT, painéis de led

Fundamentos de cor Combinação subtrativa de secundárias Temos que diferenciar entre as cores primarias de luz e as cores primárias de corantes ou pigmentos Uma cor primária de corante ou pigmento é aquela que subtrai ou absorve uma cor primária de luz, e reflete ou transmite as outras duas Exemplo de primárias de pigmentos são o ciano (C), o magenta (M) e o amarelo (Y). O vermelho, verde e azul são as secundárias. A combinação de primárias e secundárias geram o preto Dispositivos que usam subtração de secundárias: impressoras, misturadores de tintas

Fundamentos de cor Sensores e emissores de luz Um sistema físico de amostragem de cor é composto por um ou mais sensores de luz

Um sistema físico de reconstrução de cor é composto por um ou mais emissores de luz

Cada sensor possui uma curva de resposta espectral

Cada emissor gera uma cor com distribuição espectral

Então a cor resultante do sensoriamento é formada pelos coeficientes

O conjunto de primárias um espaço de cor

O sistema de amostragem define uma transformação linear

Um processo aditivo de reconstrução de cor é

Metamerismo:

formal uma base de

Fundamentos de cor O olho humano Cones são os sensores no olho responsáveis pela percepção de cor Há cerca de 6 a 7 milhões de cones em um olho, entre os quais 65% são sensíveis ao verde, 33% são sensíveis ao vermelho e 2% são sensíveis ao azul. Os cones azuis são individualmente mais sensíveis que os outros Assim, o olho humano capta cores como uma combinação do que se denomina cores primárias: vermelho (R), verde (G) e azul (B)

Fundamentos de cor Padrão CIE Para o propósito de padronização, a CIE (Comission Internationale de l’Eclairage) designou em 1931, os comprimentos de onda para três cores primárias: azul = 435.8 nm, verde = 546.1 nm, e vermelho = 700 nm

Luz branca:

Luz de teste: Anteparos

Utilizando esses cores primárias puras, uma lista de cores cujas distribuições são conhecidas tiveram suas coordenadas determinadas experimentalmente O resultado é o padrão CIE-RGB que, após alguns ajustes forma o padrão CIE-XYZ

Luzes primárias:

Fundamentos de cor Valores triestímulo As quantidades de vermelho, verde e azul para formar qualquer cor em particular são chamadas valores triestímulo, denotados X, Y e Z

Uma cor é especificada pelos seus coeficientes tricromáticos

que é uma projeção no plano de Maxwell de tal forma que

Fundamentos de cor Especificação de cor CIE-XYZ O padrão CIE-XYZ projetado no plano de Maxwell forma todas as cores que podem ser geradas com as primárias CIE Podemos usar o diagrama para especificar uma cor, dada sua coordenada triestímulo. O ponto “verde” na imagem tem aproximadamente 62% de verde e 25% de vermelho. Logo, essa cor tem 13% de azul Qualquer linha reta que liga dois pontos no diagrama define todas as varações de cores possíveis pela combinação aditiva das duas cores correspondentes Note a linha de radiação de corpo escuro.

Fundamentos de cor Gamute de cores Podemos determinar as cores que podem ser obtidas a partir de quaisquer três cores no diagrama cromático A combinação linear de três cores formam um triângulo cujos vértices são as cores geradoras A área do triângulo forma o gamute de cores Monitores RGB tem seu gamute caracterizado por triângulos O gamute de uma impressora geralmente é mais complexo, gerando uma região irregular

Endereço

Obrigado e até à próxima aula!

Universidade Federal de Juiz de Fora, Instituto de Ciências Exatas, Edifício do Departamento de Ciência da Computação, 4º andar, sala 415

Telefone (32) 2102-3387 ramal 4045

E-mail [email protected]

Processamento de Imagens

Imagem digital Prof. Marcelo Bernardes Vieira

Bibliografia e fontes

Essa aula foi construída a partir das seções 2.3, 2.4, 2.5 e 2.6 do livro “Digital Image Processing”, de Rafael C. Gonzalez e Richard E. Woods, 4a edição, Editora

Pearson, 2018.

Sinopse Tópicos desta aula Aquisição de imagens

Amostragem e quantização Relação entre pixels Operações básicas com imagens

Aquisição por um sensor Aquisição de um ponto Projetado para detector luz em uma área fixa Pode ser combinado em arranjos mais complexos Filtragem da luz de entrada é importante

Combinação de sensores em faixas Faixas de sensores: Podem ser combinadas com outros dispositivos mecânicos Exemplo: scanners de mesa

Combinação de sensores em arranjos Arranjos de sensores: Sensor típico é chamado de CCD (charge-coupled device)

Arranjos matriciais são os mais comuns Há interferência entre os sensores Múltiplos canais podem coexistir em um mesma célula

Formação da imagem A imagem é uma função f(x, y) É caracterizada pela (1) quantidade de luz incidente na cena (2) quantidade e luz refletida pelos objetos na cena A intensidade (tom de cinza) de uma imagem monocromática nas coordenadas (x,y) é denotada por l = f(x, y)

Esse intervalo é chamado de escala de cinza da imagem

Amostragem e quantização

Representação de imagens

Convenção de coordenadas A origem está no canto superior esquerdo. No cálculo do centro, a função piso (floor) é necessária pois as coordenadas são inteiras

Número de bits Uma imagem tem dimensões M e N. Cada ponto é quantizado entre [0, L - 1] níveis de cinza. Uma imagem digital tem L = 2k. O número de bits para codificar uma imagem é b=M*N*k

Saturação e ruído Dynamic range: razão entre a intensidade máxima detectável e a intensidade minima detectável A saturação é definida pelo limite superior de quantização Lmax O ruído de fundo é definido pelo limite inferior de quantização Lmin

Contraste da imagem: diferença entre sua maior intensidade e sua menor intensidade Razão de contraste: razão entre sua maior intensidade e sua menor intensidade

Indexação linear É uma cadeia 1d de inteiros não negativos baseados em offsets a partir da origem da imagem (0, 0)

Coordenadas da imagem

Coordenadas lineares

Efeito de se reduzir a resolução espacial. As imagens foram amostradas com resolução de 930 dpi, 300 dpi, 150 dpi, 72 dpi

Efeito de se reduzir a resolução tonal. A imagem no topo à esquerda foi amostrada com 640 x 774 e 8 bits (256 tons de cinza). Os tons de cinza foram reduzidos para 128 (7 bits), 64 (6 bits) e 32 (5 bits).

Continuação: os tons de cinza foram reduzidos para 16 (4 bits), 8 (3 bits), 4 (2 bits) e 2 (1 bits).

Imagem reduzida de 2136 x 2140 para 165 x 166 pixels. Reconstrução usando interpolação do vizinho mais próximo, bilinear, e bicúbica.

Interpolação Reconstrução de valores entre pixels

Três algoritmos são mais usados Vizinho mais próximo (Nearest neighbor) Interpolação bilinear Interpolação bicúbica

Vizinhos de um pixel p = f(x, y) Vizinhos mais próximos Horizontal e vertical

Diagonal

Formam a 4-vizinhança de p

Junto com os mais próximos formam a 8- vizinhança de p

4-adjacência Dois pixels p e q com valores em V são 4-adjacentes se q está na 4-vizinhança de p

Adjacência Considere v como o conjunto de intensidades que definem adjacência.

8-adjacência Dois pixels p e q com valores em V são 8-adjacentes se q está na 8-vizinhança de p

m -adjacência Dois pixels p e q com valores em V são m-adjacentes (ou adjacência misturada) se (a) q está na 4-vizinhança de p, ou (b) q é um vizinho diagonal de p e a interseção entre os vizinhos de p e q não possuem valores em V

Caminho digital e conectividade Dados dois pixels p = ( x 0, y 0) e q = ( x n, y n) Um caminho digital é a sequência de pixels distintos adjacentes para

no qual os pontos ( x i, y i) e ( x i-1 , y i-1 ) são

Se p = q então o caminho digital é fechado. Seja S um subconjunto de pixels de uma imagem. Dois pixels p e q são ditos conectados em S se existe um caminho entre eles totalmente dentro de S. Para todo ponto em S , o conjunto de pixels que é conectado a ele é chamado de componente conexo de S.

Regiões Seja R um conjunto de pixels de uma imagem Chamamos R de região se R é um conjunto conexo. Um conjunto conexo possui apenas um conjunto conectado, ou seja, existe ao menos um caminho digital entre todos os seus pontos. Duas regiões são chamadas adjacentes se sua união forma um conjunto conexo. Regiões que não são adjacente são chamadas disjuntas. Considera-se apenas 4 e 8-adjacências para definir regiões.

Primeiro plano, fundo e borda Suponha que uma imagem possua múltiplas regiões disjuntas Assuma que nenhuma dessas regiões toque os limites da imagem Seja Ru a união de todas as regiões e Rc o seu complemento (pontos que não estão em Ru). Chamamos Ru de primeiro plano (foreground ) e Rc de fundo da imagem (background). Um contorno (ou borda) de uma região R é o conjunto de pixels em R que são adjacentes aos pixels no complemento de R. O contorno são os pontos de R que são adjacentes ao fundo. O termo contorno é global e define todo o limite de uma região. Já o termo bordo (edge) se refere a um ponto local que define o limite de uma região. Usamos borda para se referir a esse termo também.

Medidas de distância

Euclidiana

Distância do tabuleiro de xadrez

Distância de Manhattan

Operações básicas Definições gerais

Operações por elemento

Operação linear

Multiplicação entre duas imagens tem a forma

Linearidade é importante para processamento de sinais

Adição

Subtração

Multiplicação

Divisão

Operações aritméticas Considere duas imagens f(x, y) e g(x, y)

Modelo de ruído aditivo Exemplo da operação de adição: suponha que uma imagem f ( x , y ) é corrompida pela adição de um ruído não correlacionado

Ruído aditivo não correlacionado

Estatisticamente temos que

Podemos calcular a média de várias imagens corrompidas

Imagens com ruído gaussiano

Comparando imagens pela subtração Imagens do infravermelho de Washington

Comparando imagens pela subtração

Imagens de angiografia

Multiplicação de imagens a) Imagem dentária. b) mascara da ROI. c) multiplicação das duas imagens.

Divisão de imagens

a) Imagem de xadrez com sombreamento. b) estimativa do sombreamento. c) imagem original dividida pelo sombreamento estimado.

Complemento Imagem negativa

Operações com conjuntos Processamento dos tons da imagem

Diferença

União

Complemento e união

a) Imagem original. b) imagem negativa. c) união da imagem original com uma imagem constante.

Operações lógicas Aplicável a imagens binárias Podem ser aplicadas em imagens com 1 bit (imagens binárias) Ou aplicadas em planos de bits em imagens em tons de cinza

Operações espaciais

São aquelas realizadas diretamente nos pixels da imagem Podem ser operações pontuais (sobre um pixel único), de vizinhança (vários pixels em uma mesma região), ou de transformações geométricas

Operações sobre um único pixel É a mais simples:

Operações espaciais

Operações de vizinhança Vários pixels na vizinhança são usados no cálculo

Operações espaciais

Operações de vizinhança Considere a seguinte operação centrada em (x, y) e que usa m x n vizinhos

Operações espaciais

Operação de transformação geométrica Modificam o arranjo espacial dos pixels. Se baseiam em 1) transformação de coordenadas espaciais,

2)

interpolação de intensidades para atribuir intensidades para os pixels transformados

Operações espaciais

Operação de transformação geométrica

Registro de imagens Importante aplicação de processamento de imagens

Visa alinhas duas imagens

Requer análise quantitativa

Uma imagem de referência é usada para alinhar uma imagem de entrada.

Deve-se comparar as duas imagens para compensar distorções geométricas, diferenças entre ângulo, distância, orientação, resolução do sensor, deslocamentos de objetos, entre outros fatores.

Assume-se que as imagens foram obtidas em momentos diferentes, com parâmetros de aquisição diferentes, em posições diferentes

Se baseia no uso de pontos de controle como marcas fiduciais, pontos salientes e conhecimento do problema.

Registro de imagens

Operações vetoriais e matriciais Imagens multiespectrais Imagens coloridas (RGB por exemplo )

ou com mais canais

formam espaços vetoriais (espaços de cor) que podem ser processados através de álgebra linear A própria imagem pode ser tratada como uma matriz

Todas as abordagens de processamento até agora operam diretamente nos pixels das imagens de entrada.

Transformadas de imagem

Outra importante tarefa é a de transformada que leva uma imagem a outro domínio no qual novas operações são possíveis. Transformadas lineares 2D têm a forma direta

E a forma inversa

Transformada de Fourier A base é formada por senoides complexas: geram o domínio da frequência

Transformada de Fourier direta

Transformada de Fourier inversa

Transformada de Fourier Imagem corrompida por interferência senoidal

Endereço

Obrigado e até à próxima aula!

Universidade Federal de Juiz de Fora, Instituto de Ciências Exatas, Edifício do Departamento de Ciência da Computação, 4º andar, sala 415

Telefone (32) 2102-3387 ramal 4045

E-mail [email protected]

Processamento de Imagens

Transformações de intensidade Prof. Marcelo Bernardes Vieira

Bibliografia e fontes

Essa aula foi construída a partir das seções 3.1, 3.2, e 3.3 do livro “Digital Image Processing”, de Rafael C. Gonzalez e Richard E. Woods, 4a edição, Editora

Pearson, 2018.

Sinopse Tópicos desta aula Conceitos básicos de transformações de intensidade

Transformações básicas Transformações por histograma

Transformações de intensidade e filtragem espacial Processamento no domínio espacial Nesta parte do curso, estamos interessados em expressões do tipo: Em que a transformação T opera sobre a vizinhança de um ponto em f(x,y)

Função de transformação de intensidade Mapeamento de tons de cinza: A transformação mais simples é aquela em que a vizinhança é 1 x 1

Também chamada de processamento de ponto ou processamento pontual Expansão de contraste (contrast stretching)

Limiarização

Realce de imagens

Os processamentos apresentados nessa aula podem ser chamados de Realce. É o processo de manipular uma imagem de forma que ela se torne mais adequada do que a original para uma determinada aplicação

Transformações básicas de intensidade Arranjos de sensores: Imagem negativa

Transformações log Transformação de potência (gama) Transformação exponencial

Imagem negativa

Transformação log

a) Magnitude do espectro de Fourier em tons de cinza. b) transformação log com c = 1.

Transformação gama

Correção gama de uma imagem de rampa de intensidades para visualização em um monitor CRT

Transformação gama

Melhoria de contraste em imagem de ressonância magnética com c = 1. Gamas: 0.6, 0.4, e 0.3

Transformação gama

Melhoria de contraste em imagem aérea com c = 1. Gamas: 3.0, 4.0, e 5.0

Transformações lineares por partes Maior flexibilidade na definição da curva

Expansão de contraste

Fatiamento no nível de intensidade

Expansão de contraste

Original

Contraste expandido

Limiarização

Fatiamento de nível de intensidade

Angiograma da aorta

Intervalo perto do branco

Intervalo perto do preto

Fatiamento por plano de bits Uma imagem com 256 tons de cinza é composta por 8 imagens binárias, uma para cada bit das intensidades

Imagem de 8 bits por pixel com tamanho 550 x 1192. Planos de bits de 8 ao 1. O bit 1 é o menos significativo

Imagem reconstruída pelos planos de bits: a) 8 e 7. b) 8, 7 e 6. c) 8,7, 6 e 5.

Histograma não normalizado Seja rk as intensidades de uma imagem digital f(x, y) com L tons de cinza, para k = 0, 1, 2, ..., L-1. Um histograma não normalizado de f é

onde nk onde é a quantidade de pixels em f com intensidade rk . As subdivisões da escala de intensidades são chamados bins.

Histograma

Histograma normalizado

Equalização de histograma Transformação de intensidade Seja r a intensidade de uma imagem que varia entre 0 e L – 1. Se r = 0, o tom é preto. Se r = L-1 o tom é branco.

Assumimos que a) T(r) é uma função de aumento monótono no intervalo entre 0 e L – 1 b) T(r) gera valores entre 0 e L – 1

Estamos interessados em mapeamentos de intensidade do tipo

Em algumas formulações, é usada a transformação inversa para a qual a função T(r) é estritamente monótona.

Equalização de histograma Função de distribuição de probabilidade A intensidade de uma imagem pode ser vista como uma variável aleatória independente no intervalo [0, L – 1]

Uma transformação de particular interesse é

Sejam e as PDF das intensidades r e s em duas imagens diferentes

em que a integral no lado direito é a função de distribuição acumulada (CDF) da variável aleatória r.

Se T(r) e são conhecidas e T(r) é contínua e diferenciável sobre os valores de interesse, então a PDF da variável transformada s pode ser obtida por

Sabemos que:

Logo:

Equalização de histograma Caso discreto A probabilidade de ocorrência de uma intensidade rk em uma imagem é aproximada por

A equalização de histograma discreta é dada por

e a sua inversa é

Equalização de histograma

Especificação de histograma É útil especificar a forma do histograma em algumas aplicações

Seja s uma variável aleatória com a propriedade

Como satisfazer a condição

então z deve

Agora defina uma função G ( z ) com a propriedade

A transformação T ( r ) pode ser obtida com estimado da imagem de entrada Da mesma forma, a transformação de saída pode ser estimada porque é especificada

Especificação de histograma Passos para obter uma imagem com PDF especificado

1) Obtenha 2) Use a PDF

da imagem de entrada para obter

3) Calcule a transformação inversa 4) Obtenha a imagem de saída primeiramente equalizando a imagem de entrada. Depois, para cada pixel s na imagem equalizada, aplique o mapeamento para obter o pixel na imagem de saída

Especificação de histograma Caso discreto

Seja sk uma variável com seguinte propriedade

Agora defina a transformação G ( zq) para um valor de q tal que

onde é o i -ésimo do histograma especificado. Obtermos o valor desejado zq da transformação inversa

que possui a distribuição do histograma especificado

Especificação de histograma Exemplo

Histograma da imagem de entrada

Histograma especificado

Especificação de histograma Exemplo

O primeiro passo é obter o histograma equalizado

Agora temos que calcular os valores de G ( zq) usando os valores especificados na equação

Arredondando para inteiros no intervalo [0, 7]

Comparação entre equalização e especificação de histogramas Imagem original

Equalização do histograma

Especificação do histograma

Processamento local de histogramas Os processamentos sobre histogramas até agora foram globais Mas é possível aplicar transformações de histograma localmente

Imagem original

Equalização global do histograma

Equalização local 3 x 3

Estatísticas para realce de imagem Seja (x, y) as coordenadas de qualquer pixel de uma imagem e Sxy uma vizinhança de um tamanho específico, centrada em (x, y). O valor médio dos pixels nessa vizinhança é dado pela expressão

onde é o histograma dos pixels na região Sxy . A variância dos pixels na vizinhança é

Para se saber se um ponto (x, y) é relativamente claro ou escuro, pode-se comparar o seu valor médio local com a intensidade média global (da imagem inteira). Podemos considerar um pixel em (x, y) como um candidato para processamento se onde ko e k1 são constantes não-negativas e ko < k1 . Queremos melhorar áreas de baixo contraste. Nesse caso, um pixel em (x, y) é um candidato para realce se onde é o desvio-padrão global. O processamento pode ser o seguinte

Podemos comparar essas estimativas locais com as estimativas globais para realçar as características de uma imagem.

Endereço

Obrigado e até à próxima aula!

Universidade Federal de Juiz de Fora, Instituto de Ciências Exatas, Edifício do Departamento de Ciência da Computação, 4º andar, sala 415

Telefone (32) 2102-3387 ramal 4045

E-mail [email protected]

Processamento de Imagens

Quantização

Prof. Marcelo Bernardes Vieira

Bibliografia e fontes

Essa aula foi construída a partir do material extra escrito pelo professor, baseado em diversos livros e fontes.

Sinopse Tópicos desta aula Conversor analógico digital

Método geral de quantização Quantização uniforme Métodos adaptativo de quantização Métodos de otimização em quantização

Contornos de quantização A medida relativa decibel (dB)

Quantização É o processo de discretização da grandeza que varia em um sinal

É uma transformação sobrejetiva que transforma um valor do espaço para um outro valor no espaço Cada valor em C possui valores de C ’ possuem

bits e os bits

Assume-se que É possível que m e l sejam quantidades fracionadas de bits

Quantizar uma imagem consiste em quantizar o seu gamute, que é o conjunto de todas as cores que seus pixels assumem. Se o espaço C é unidimensional, a quantização é chamada quantização unidimensional ou quantização escalar Senão, é chamada quantização vetorial, quantização multicanal ou quantização multidimensional Exemplo simples de quantização: binarização por limiarização

Conversor analógico-digital Converte um sinal analógico em uma sequência de bits (ADC), e vice-versa (DAC) Um exemplo é a “interface de áudio” para processamento acústico Interfaces de áudio semiprofissionais capturam ou reconstroem o áudio com uma taxa de 192 kHz e 24 bits por amostra.

Método geral de quantização Consiste de três etapas:

Célula de quantização

Definição de células de quantização: conjunto de cores que devem ser mapeadas em um mesmo nível de quantização

Células de quantização são subconjuntos que formam uma partição do espaço tonal C.

Definição dos níveis de quantização: são as cores que os pixels da imagem de saída poderão ter

Substituição das cores originais pelos novos níveis de quantização.

Cada célula de quantização é associada a um nível de quantização de tal forma que

Erro de quantização A determinação ótima das células de quantização e seus níveis depende do critério para medir o erro de quantização

O erro de quantização é dado por

onde é o erro introduzido pela quantização.

A medida de distorção do sinal pela quantização é o erro quadrático médio

onde é a função de distribuição de probabilidade (PDF) do valor c no espaço de cores de um sinal. Em sinais conhecidos, estimado pelo histograma

pode ser

Quantização uniforme A quantização é uniforme quando o espaço da grandeza é dividido em células congruentes e, em cada célula, é tomado o seu centro como nível de quantização

Espaços multidimensionais Na quantização unidimensional, as células de quantização são intervalos de igual comprimento e o nível de quantização é

Em espaços de cor multidimensionais, fazemos a quantização uniforme separadamente em cada eixo As células são paralelepípedos no espaço de cor e seu valor é a cor de seu centroide

Quantização uniforme não provê bons resultados

Métodos adaptativos de quantização Um método de quantização é não-uniforme quando o particionamento não cria células congruentes Uma quantização adaptativa ocorre quando as características do sinal são usadas para guiar a quantização

Métodos adaptativos Primeiramente, faz uma estimativa das propriedades estatísticas da imagem Em seguida, aplica-se o método de quantização ao particionar o espaço da grandeza do sinal com base nos dados obtidos.

Método da populosidade

Métodos por seleção direta

Define os L níveis de quantização como sendo as cores mais frequentes do gamute do sinal. Utiliza o histograma Define uma distância entre as cores c presentes no sinal e as L cores mais frequentes

São métodos que escolhem os níveis de quantização a serem utilizados e só depois definem as células de quantização

As L células de quantização são formadas pelas cores vizinhas mais próximas de cada nível de quantização

Métodos adaptativos de quantização

Para cada cor original c , se houver mais de um nível de quantização com a mesma distância, pode-se usar algum de seu vizinho para escolher um deles

Método do corte mediano

Métodos de divisão recursiva São métodos que primeiro calculam as células de quantização para em seguida determinar seus níveis de quantização.

É um método que garante que cada nível de quantização tenha o mesmo número de amostras O resultado é um sinal com histograma equalizado Usa a mediana como medida estatística para realizar a subdivisão recursivamente:

Métodos adaptativos de quantização

1) O algoritmo inicia com um paralelepípedo que envolve todas as cores originais 2) O eixo mais longo é escolhido para ser subdividido (que tem a maior diferença entre o menor e maior tom) 3) Calcula-se a mediana de todos os tons do eixo 4) O volume é dividido no eixo exatamente sobre a mediana calculada 5) O processo continua até que as L células tenham sido obtidas, ou até não haver mais regiões para ser subdivididas 6) Os níveis de quantização são a média dos valores de cada célula

Comparação entre o método uniforme e os métodos adaptativos

Quantização ótima unidimensional No caso unidimensional, existe uma interdependência entre a célula e seu nível de quantização.

Derivando em relação a

e

obtemos

A distorção é As células de quantização são intervalos assumem o nível de quantização

que

1)

cada extremo de uma célula de quantização é o ponto médio entre dois níveis de quantização consecutivos

2)

O valor de quantização é o centroide da distribuição de probabilidade no intervalo

O modelo geral é então

Percepção e quantização Contornos de quantização

Deve-se considerar os sensores humanos para processar sinais que visam estimulá-los O olho humano é muito sensível a variações de intensidade de luz Em geral, 8 bits por ponto são suficientes em uma imagem monocromática para satisfazer a capacidade humana de percepção de brilho A quantização de imagens e sons pode gerar artefatos com efeitos perceptíveis

Considere um sinal quantizado com L células que determinam uma partição do domínio do sinal Se tivermos um número pequeno de níveis de quantização, teremos um número pequeno de regiões com a mesma cor Contorno de quantização: a curva das fronteiras das regiões na imagem pode ser visível, dependendo do valor de suas cores

Bandas de Mach

O olho humano é atraído pela forte mudança entre faixas vizinhas e percebe claramente suas fronteiras. O mesmo não ocorre quando as faixas são separadas.

Percepção de contornos de quantização

Reduzindo contornos de quantização

A forte correlação entre pixels vizinhos faz com que a fronteira entre duas regiões forme uma curva Uma das formas de se reduzir a percepção do contorno de quantização é justamente reduzir essa correlação tonal entre pixels vizinhos

Dithering Busca difundir o erro de quantização entre vizinhos

Filtragem que procura evitar que a fronteira entre duas regiões seja contínua Métodos dispersivos usam padrões para espalhar o erro local em uma área. São úteis em dispositivos capazes de definir bem a posição de um pixel (monitores, impressoras). Ex.: padrão de Bayer Métodos aglomerativos usam padrões para aglomerar a intensidade média em uma área. São úteis em dispositivos que não podem localizar bem um pixel (impressoras de jornais, e-paper). Ex.: padrão diagonal Troca resolução espacial por resolução tonal Método de Floyd-Steinberg

Dithering

Método de Floyd-Steinberg

A medida relativa decibel (dB) O decibel (dB) é uma unidade logarítmica que indica a proporção de uma quantidade física em relação a um nível de referência Um decibel representa um décimo de bel, unidade pouco usada mas que tem relações com outras escalas logarítmicas, como a Richter

Sempre compara unidades de potência. Unidades de amplitude devem ser elevadas ao quadrado no cálculo de decibéis

Uma intensidade ou potência com um valor de referência

é comparada pela relação

Já uma amplitude é comparada com um valor de referência pela relação

Comparação de potência se se se se se se se

pdb é 3 dB, então a potência p é o dobro de p0 pdb é 10 dB, então a potência p é 10 vezes maior que p0 pdb é -10 dB, então a potência p é 10 vezes menor que p0 pdb é 20 dB, então a potência p é 100 vezes maior que p0 pdb é -20 dB, então a potência p é 100 vezes menor que p0 pdb é 40 dB, então a potência p é 1000 vezes maior que p0 pdb é -40 dB, então a potência p é 1000 vezes menor que p0

Algumas grandezas têm uma relação quadrática com a energia ou potência associada

De fato, amplitudes como pressão do ar, radiância e tensão têm uma relação quadrática com a energia ou potência do sistema. Exemplo de comparação entre amplitudes: a razão entre 31,62 V e 1 V

Exemplo de comparação entre potências : a razão entre 1 kW e 1 W

Comparação de amplitude se se se se se se se

pdb é 6 dB, então a potência p é o dobro de p0 pdb é 20 dB, então a potência p é 10 vezes maior que p0 pdb é -20 dB, então a potência p é 10 vezes menor que p0 pdb é 40 dB, então a potência p é 100 vezes maior que p0 pdb é -40 dB, então a potência p é 100 vezes menor que p0 pdb é 60 dB, então a potência p é 1000 vezes maior que p0 pdb é -60 dB, então a potência p é 1000 vezes menor que p0

Comparação entre razões de amplitude e de potência

Vantagens do uso do decibel Um amplo intervalo de razões, com grandes variações de valores, podem ser representadas por um número fácil de interprestar

Em acústica, o decibel é utilizado para quantificar níveis de som relativos a uma referência de 0 dB que foi definida como 0,0002 microbar ou 20 micropascals (newton/m2)

O ganho total de um sistema multicomponente (como amplificadores consecutivos) pode ser calculado pela soma dos ganhos em decibel dos componentes individuais

O ouvido humano tem um alta faixa dinâmica {high dynamic range} na percepção de áudio. A razão entre a menor intensidade que um humano pode ouvir e o som que causa surdez fica em torno de 1 trilhão.

A percepção humana da intensidade de luz ou som é mais proporcional ao logaritmo da intensidade do que a própria intensidade. Por exemplo, um humano percebe um aumento de 90 dB para 96 dB como sendo o mesmo de 10 dB para 16 dB.

Como o logaritmo de 1 trilhão é 12, temos uma razão de 120 dB entre o som que provoca danos permanentes e o menor som audível.

Razão sinal-ruído Signal-to-Noise Error (SNR) Compara o nível do sinal ao nível de ruído de fundo

onde ps é a potência média do sinal, pr é a potência média do ruído, vs é a amplitude média do sinal, e vr é a amplitude média do ruído. Geralmente, quantidades como faixa dinâmica (dynamic range) e razão sinal-ruído são especificados em decibels

Um SNR de 40 dB representa uma razão de 100:1 entre potência do sinal e a potência do ruído (e não 1000:1) A convenção de prevalece na física ótica e na física do som pois se lida com grandezas reais Valores quantizados em processamento de sinais (imagens e sons) são amplitudes e, portanto, devem ser comparados com

Endereço

Obrigado e até à próxima aula!

Universidade Federal de Juiz de Fora, Instituto de Ciências Exatas, Edifício do Departamento de Ciência da Computação, 4º andar, sala 415

Telefone (32) 2102-3387 ramal 4045

E-mail [email protected]

Processamento de Imagens

Fundamentos de filtragem espacial Prof. Marcelo Bernardes Vieira

Bibliografia e fontes

Essa aula foi construída a partir das seções 3.4, 3.5, 3.6 e 3.7 e 3.8 do livro “Digital Image Processing”, de Rafael C. Gonzalez e Richard E. Woods, 4a edição,

Editora Pearson, 2018.

Sinopse Tópicos desta aula Conceitos básicos

Convolução e correlação Filtros lineares Filtros estatísticos Filtros derivativos

Realce espacial

Filtros Operação de filtragem Se refere a deixar passar, modificar ou descartar certas informações A informação alvo é referida no domínio da frequência Se um filtro é chamado “passa-baixa”, isso quer dizer que ele deixa passar baixas frequências. Posto de outra forma, ele rejeita altas frequências

Mas podemos fazer a mesma suavização diretamente na imagem, ou formalmente, no domínio espacial

Se um filtro faz uma operação linear com a imagem, então ele é dito filtro linear De outra forma, é chamado filtro não-linear

Filtros lineares Núcleo de um filtro: Um filtro linear espacial faz uma soma de produtos entre uma imagem f e um núcleo de filtro w O núcleo é um arranjo cujo tamanho define uma vizinhança de operação, e cujos coeficientes determinam a natureza do filtro Outros termos usados para se referir ao núcleo do filtro: máscara do filtro, janela do filtro, e template do filtro

Filtros lineares Núcleo de um filtro: Observe que o coeficiente central do núcleo se alinha com o pixel na posição (x, y) Para um núcleo de m x n, assume-se que m = 2a + 1 e n = 2b + 1, onde a e b são números não-negativos Isso significa que os núcleos tratados nessa aula têm dimensões ímpares Dada uma imagem de tamanho M x N, e um núcleo de tamanho m x n, a operação de filtragem tem a seguinte forma:

Correlação Consiste em mover o centro do núcleo do filtro sobre uma imagem e calcular a soma dos produtos em cada posição

Convolução

Correlação espacial e convolução

É calculado da mesma forma que a correlação mas o núcleo é rotacionado em 180 graus

Quando o núcleo do filtro é simétrico, as duas operações dão o mesmo resultado

Correlação e convolução Exemplo em 1D A filtragem espacial unidimensional é dada por

O núcleo w tem tamanho 1 x 5, então a = 2 e b = 0 Note que w fica fora de f. Uma solução é a extensão do sinal (padding) com zeros em ambos os lados. Se o núcleo tem tamanho 1 x m, são necessários (m-1)/2 zeros Note que f é um pulso discreto unitário : veremos que esse sinal é importante

Correlação e convolução Exemplo em 2D Operação de correlação em 2D

Operação de convolução em 2D

A operação de convolução efetivamente é o que denominamos filtragem linear espacial Convolução e filtragem linear são sinônimos Usamos os termos filtro de convolução e máscara de convolução

Propriedades Correlação e convolução

Convolução Pelas propriedade da convolução, podemos usar apenas um filtro para determinar uma sequência de filtragens

Se todos os núcleos individuais têm tamanho m x n, então w terá os tamanhos

Filtros separáveis Núcleos separáveis Uma função bidimensional G(x, y) é dito separável se ele pode ser escrito como o produto de duas funções 1D G1(x) e G 2 ( y)

Por exemplo, o núcleo 2D

Ou seja,

Um núcleo separável de tamanho m x n pode ser expressado pelo produto externo de dois vetores v e w

onde v e w são vetores de tamanho m x 1 e n x 1 é separável porque pode ser expressado pelo produto externo entre os vetores

O produto de um vetor coluna com um vetor linha dá o mesmo resultado de sua convolução

Filtros separáveis Vantagens Filtros separáveis são mais eficientes computacionalmente

Se temos um núcleo que pode ser decomposto na forma então pelas propriedades de comutatividade e associatividade temos

A convolução de uma imagem de tamanho M x N com um núcleo de m x n requer MNmn multiplicações e adições Mas se o núcleo é separável, então são necessárias

multiplicações e adições que significa que convoluir um núcleo separável com uma imagem f é o mesmo que convoluir w1 com f, e então convoluir o resultado com w2

Para uma máscara de 11 x 11, a redução no número de operações é de 5,2 Para determinar se um filtro é separável, basta verificar se seu posto é um (produto externo entre dois vetores)

Filtragem no domínio do espaço e da frequência

Núcleo do filtro

Função de transferência

A ligação entre o domínio do espaço e o domínio da frequência é a transformada de Fourier Há duas propriedades fundamentais entre os dois domínios: 1) Uma convolução no domínio espacial é equivalente a uma multiplicação no domínio da frequência, vice-versa 2) Um impulso de amplitude A no domínio do espaço é uma função constante A no domínio da frequência, e vice-versa

Filtros de suavização São filtros chamados de filtros passa-baixa ou filtros de médias ponderadas

Reduzem transições bruscas de intensidade Como ruído aleatório consiste de variações bruscas de intensidade, uma aplicação desses filtros é redução de ruído Convoluir um núcleo de filtro suavizador com uma imagem implica em seu borramento ( blur )

O nível de borramento depende do tamanho do núcleo Além de serem úteis em diversas aplicações, filtros passa-baixa podem ser usados para derivar outros tipos de filtros como de passa-alta (agudização ou sharpening ), passa-banda, rejeita banda Os passa-baixa mais usados são o filtro box e o filtro gaussiano

Filtro box É o filtro que resulta na média aritmética dos vizinhos do pixel

É o filtro mais simples Um filtro box de tamanho m x n é um arranho de m x n uns multiplicados por um fator de normalização 1/ mn

O fator de normalização garante que a convolução não mude a média de brilho da imagem (não introduza viés na operação) Filtros box são separáveis

Imagem original

Filtro box

1024 x 1024

3x3

Filtro box

Filtro box

Filtro box

11 x 11

21 x 21

Filtro gaussiano O limite da aplicação do filtro box

O filtro box tem muitos problemas e o mais evidente é que ele tende a ter resposta diferente sobre os eixos (em relação ao que está fora dos eixos) Na maioria das aplicações, é importante utilizar núcleos que são circularmente simétricos ou isotrópicos Filtros gaussianos têm a forma

e são os únicos filtros isotrópicos que são também separáveis Filtros gaussianos têm as mesmas vantagens computacionais do filtro box, mas com o extra de ser mais adequado para processamento de imagens As variáveis s e t são números reais e, através da relação o filtro gaussiano pode ser escrito como

Filtro gaussiano Utilizando a distância ao centro, podemos gerar uma gaussiana com dispersão e amplitude K Uma amostragem pontual é suficiente para gerar a máscara Os valores devem ser normalizados para introduzir viés na filtragem

K=1

Separabilidade é uma propriedade importante de filtros gaussianos A distância acima de pode ser ignorada. Então se usamos um núcleo de dimensões é como se tivéssemos uma máscara de tamanho infinito

Podemos usar o menor inteiro que satisfaz essa condição, por exemplo, 43 x 43 para

Filtro gaussiano Imagem original 1024 x 1024

Filtro gaussiano

Filtro gaussiano

21 x 21

43 x 43

Relação de separabilidade

Filtro gaussiano 187 x 187 com

Filtro gaussiano com extensão de borda Extensão com zero

Extensão simétrica

Extensão vizinho mais próximo

Extensão simétrica

Filtro gaussiano e o efeito do tamanho

Imagem com 4096 x 4096

Filtro gaussiano

Filtro gaussiano

187 x 187 com

745 x 745 com

Filtro box e filtro gaussiano Retângulo de tamanho 768 x 128

Filtro box

Filtro gaussiano

71 x 71

151 x 151

Aplicação de filtro passa-baixa Segmentação com suavização e limiarização

Imagem original 2566 x 2758

Filtro gaussiano 151 x 151

Binarização com limiar 0.4

Aplicação de filtro passa-baixa Correção de sombreamento ( shading correction )

Imagem original 2048 x 2048

Filtro gaussiano 512 x 512

Divisão pontual entre as duas imagens

Filtros estatísticos São filtros espaciais não-lineares cuja resposta é baseada na ordenação dos pixels dentro da janela

Suavização é obtida pela substituição do valor do pixel central pelo valor determinado pela ordenação

O filtro desse tipo mais conhecido é o filtro da mediana . Nele, o pixel central é substituído pela mediana entre todos os pixels da vizinhança dada pela janela Filtros da mediana provêm uma excelente redução de ruído para alguns tipos de ruído aleatório. É particularmente efetivo para ruído de impulso (ruído sal e pimenta)

Imagem original (raio X)

Redução de ruído com

Redução de ruído com

corrompida com ruído sal e

filtro Gaussiano de 7 x 7

filtro da mediana em

pimenta

com sigma = 3

uma janela de 7 x 7

Filtros passa-alta (agudização) Destacam transições e variações de intensidade

Suavização é obtida pela média de intensidades em uma vizinhança Como suavização é análoga a integração, pode-se concluir que um agudização é obtida pela diferenciação no espaço Há várias formas de definir e implementar operadores passa-alta por diferenciação

A magnitude da resposta de um filtro passa-alta é proporcional à variação local de intensidade (descontinuidade no local no qual o operador é aplicado)

Diferenciação de imagens realça bordas ( edges ) e outras descontinuidades (como ruído) e retira ênfase em regiões com pouca variação de brilho

Filtros derivativos Precisamos entender o conceito de derivadas em sinais discretos

Nesse ponto do curso, estamos interessados em descontinuidades do tipo rampa e do tipo passo

Esses tipos de descontinuidades podem ser usados para modelar pontos de ruído, retas e bordas em uma imagem. O cálculo da 1ª derivada em um sinal discreto precisa atender o seguintes critérios: 1) Deve ser zero em áreas de intensidade constante 2) Deve ser não zero em uma região de passo ou rampa 3) Deve ser não zero sobre rampas

Filtros derivativos O passa-alta mais simples vem do cálculo da primeira derivada da imagem

O cálculo da 1ª derivada em um sinal discreto precisa atender o seguintes critérios: 1) Deve ser zero em áreas de intensidade constante 2) Deve ser não zero em uma região de passo ou rampa 3) Deve ser não zero sobre rampas Uma definição básica da derivada de 1ª ordem de uma função unidimensional f ( x ) é a diferença

O cálculo da 2ª derivada de um sinal discreto precisa atender os seguintes critérios 1) Deve ser zero em áreas de intensidade constante 2) Deve ser não zero na região de passo ou rampa e no fim de um passo ou rampa 3) Deve ser zero sobre rampas Definimos a 2ª derivada de f ( x ) pela diferença

Filtros derivativos 1ª derivada 1) Tem resposta alta ao longo de uma borda de rampa e de passo

2ª derivada

1) Detecta passagens por zero em bordas de passo 2) Tem resposta alta no início e no fim de bordas de rampa 3) Mais sensível a ruído

Filtro Laplaciano Extensão do filtro de 2ª ordem para 2D

É o filtro derivativo isotrópico mais simples.

Na forma discreta, temos que

O Laplaciano de uma função de duas variáveis f ( x , y ) é definido por

Como a derivada de qualquer ordem é uma operação linear, o Laplaciano também é uma operação linear

então, o Laplaciano de duas variáveis é

Realce com filtro Laplaciano

Sem escalamento

C = -1

Realce com filtro Laplaciano

Com escalamento

entre [0, 255] com zero em 128

C = -1

Unsharp masking Processo de se subtrair uma imagem suavizada da imagem original

O processo de mascaramento por suavização é:

1) Suavize a imagem original 2) Subtraia a imagem suavizada da original (essa diferença é chamada máscara)

3) Adicione a máscara à imagem original

Unsharp masking e

Imagem original 600 x 259

Suavização com filtro

Subtração das duas = máscara

gaussiano de 31 x 31

Highboost filtering Unsharp masking com k = 1

Highboost filtering com k = 4.5

O gradiente de uma imagem A primeira derivada de uma imagem são implementadas pela magnitude do gradiente O gradiente de uma imagem f nas coordenadas ( x , y ) é definido pelo vetor coluna bidimensional

que aponta na direção de maior variação de brilho em ( x , y ) Sua magnitude é

Filtros de Roberts:

Filtros de Sobel:

Realce da borda com gradiente

Imagem de uma lente

Magnitude do gradiente com filtros Sobel

Filtros passa-baixa para determinar bandas Podemos projetar filtros passa-alta, rejeita-banda e passa-banda a partir de filtros passa-baixa

Exemplo de imagem com variação suave de brilho e um filtro passa-baixa

Núcleo 1D com 128 elementos

Filtro 2D correspondente (1D rotacionado no centro)

Filtro 1D aplicado em X e em Y Mas esse filtro não é isotrópico por separabilidade!

Filtro 2D aplicado diretamente

Passa-baixa

Passa-alta

Passa-alta com intensidades escaladas

Passa-banda

Passa-banda com intensidades escaladas

Exemplo de passa-alta, passa-banda, rejeita-banda

Rejeita banda

Combinando múltiplos métodos de realce Vários métodos podem ser combinados para obter um resultado adequado Na imagem do corpo humano ao lado, queremos obter o máximo de detalhe do esqueleto O objetivo é realçar essa imagem usando agudização para extrair mais informação do esqueleto

Combinando múltiplos métodos de filtragem

Imagem original

Filtro Laplaciano

Soma das duas imagens

Combinando múltiplos métodos de filtragem

Filtro Sobel sobre

Resultado do filtro Sobel

Produto do resultado do filtro

a imagem original

suavizado com um filtro box 5 x 5

Laplaciano com o resultado do filtro Sobel suavizado

Combinando múltiplos métodos de filtragem

Imagem original adicionada ao produto do

Resultado anterior com uma

resultado do filtro Laplaciano com o

transformação pontual de potência

resultado do filtro Sobel suavizado

Endereço

Obrigado e até à próxima aula!

Universidade Federal de Juiz de Fora, Instituto de Ciências Exatas, Edifício do Departamento de Ciência da Computação, 4º andar, sala 415

Telefone (32) 2102-3387 ramal 4045

E-mail [email protected]

Processamento de Imagens

Análise espaço frequência Prof. Marcelo Bernardes Vieira

Bibliografia e fontes

Essa aula foi construída principalmente a partir do material extra construído pelo professor, baseado em diversos livros e fontes.

Sinopse Tópicos desta aula Modelo funcional de sinais

Espaços de sinais Operações lineares com sinais Números complexos e senoides complexas Série de Fourier

Análise de funções periódicas

Representação de sinais Paradigma de representação Consiste na conversão entre sinais contínuo, sinais discretos e sinais codificados Cada nível corresponde a uma descrição do sinal que é conveniente para a formulação e solução dos diversos problemas da área

Operações entre sinais

Operações que permitem mudança entre representações Discretização e Reconstrução Codificação e Decodificação

Modelo funcional de sinais Sinais no mundo real

Modelo funcional

Um sinal se manifesta através da variação de uma determinada grandeza física em função do espaço e/ou do tempo

No modelo funcional, uma função é chamada de sinal contínuo

Em geral, utilizamos um modelo funcional, se a variação é determinista Se a variação não é determinista, em geral se utilizam modelos estocásticos

Neste curso, tratamos de sinais com variação determinista utilizando modelos funcionais para sua representação

Podemos generalizar o conceito de sinal no modelo funcional para múltiplas dimensões A diferença dos diversos modelos funcionais está na interpretação das grandezas no domínio e no contradomínio de f Utilizaremos dois modelos funcionais de sinais: o modelo espacial e o modelo espectral

Modelo espacial Espaço e tempo No modelo espacial, o subconjunto representa a região no espaço, e/ou tempo na qual varia a grandeza física Em imagens, faz sentido usar o termo domínio do espaço para esse modelo. Mas em sons faz sentido usar domínio do tempo Neste curso, usaremos o termo domínio do espaço ou domínio do tempo como sinônimos Dada a função , m determina a dimensão do sinal. Já n determina o número de canais do sinal Sinais no domínio do espaço são mais fáceis de se entender

Modelo espectral Domínio da frequência

Exemplo

No modelo espectral, o subconjunto representa o conjunto de frequências cujas senoides combinadas formam o sinal

Considere o sinal periódico

É mais difícil de se compreender

que é constituído por uma única componente de frequência amplitude e fase

O sistema perceptual visual e auditivo decompõem o sinal de entrada em suas frequências antes de interpretá-los Considere um sinal contínuo (no domínio do espaço) definido pela senoide onde a é a amplitude e é a fase Para caracterizar um sinal através de seus componentes de frequência, associamos um e um para cada frequência do domínio

O espectro desse sinal, denotado por

é

de

Números complexos No modelo espectral, cada frequência s é associada a um par ( a , θ ). Esse vetor bidimensional se relaciona diretamente com números complexos. Se temos dois números complexos com

com as operações aritméticas aparecem naturalmente

Números complexos O conjugado complexo O conjugado complexo de um número

Então podemos escrever

é definido por

da mesma forma que calculamos a norma de um vetor Podemos então realizar a divisão

Com o conjugado complexo há um fato crucial:

Números complexos É útil entender um número complexo como um vetor bidimensional O comprimento do vetor é e o ângulo do vetor em relação ao eixo x (eixo dos números reais) é

Ao multiplicar dois números complexos, suas magnitudes são multiplicadas e seus ângulos são somados

o inverso ocorre com a divisão A partir daí temos a relação

Espaço de sinais Dimensão infinita

Espaço de produto interno

Definimos um espaço de sinais S como um espaço vetorial de dimensão infinita tal que o sinal é um vetor nesse espaço

É crucial que um espaço de sinais S tenha um produto interno porque isso permite:

Precisamos definir que tipo de espaço vetorial é adequado para o processamento de sinais

1) 2) 3) 4)

uma métrica para sinais projeções entre sinais uma sequência ortonormal de sinais operadores lineares que levam elementos de um espaço de sinais em outro

Espaço de produto interno

Métrica

Um espaço métrico pode não ser um espaço de produto interno Veremos que um espaço de produto interno S possui uma norma natural, induza pelo produto interno

Desigualdade de Bessel

Desigualdade de Cauchy-Schwarz

Espaço normado Esse teorema mostra que um espaço de produto interno S possui uma métrica natural dada por

para Portanto, S é um espaço métrico dada essa distância natural

Espaço métrico

Espaços de energia finita Energia finita Podemos agora estabelecer propriedades adequadas para um espaço de sinais

Funções absolutamente integráveis

Primeiramente, para que seja possível representá-la, o sinal f precisa ter energia finita

Funções de quadrado integrável

Há dois importantes espaços de sinais S de energia finita, utilizando integrais de Lebesgue (que é o motivo do uso da letra L para denominar esses espaços)

Nesse curso, assumiremos que todo sinal contínuo f pertence a ou

Espaços de energia finita

Propriedades O fato de que um sinal é condição suficiente para a existência da transformada contínua de Fourier

Além disso, a norma de uma função f , induzida pelo produto interno é

O espaço é um espaço de Hilbert, dado o seguinte produto interno

O espaço tem energia finita mas remete ao espaço euclidiano: 1) a representação de sinais se dá pela sua projeção em bases geradoras de um espaço de sinal 2) sinais de um espaço de sinais S podem ser mapeados em outro espaço de sinais S’ através de transformadas 3) sinais de um mesmo espaço podem ser representados em relação a outra base

Operações lineares com sinais Operação com sinais Uma operação em um espaço de sinais é uma aplicação onde S é um espaço de sinais, são os p parâmetros escalares da operação, e w é o número de sinais de entrada. Soma: Produto por escalar:

Produto de Hadamard:

Representação linear Representação por amostragem A amostragem consiste na discretização do domínio de f na qual queremos obter representações de f adequadas aos objetivos do processamento tais como: 1) 2) 3)

4)

obter coeficientes com mesma energia do sinal original (energia finita) possibilitar a reconstrução exata do sinal original possibilitar a transformação entre diversas representações permitir a combinação linear entre múltiplas representações

Considere quadrado somável

uma sequência de tal que

O espaço que contém todas as sequências de quadrado somável é um espaço de Hilbert, munido do produto interno

onde

Representação linear Representação linear Uma representação linear de um espaço de sinais é um operador contínuo

Um exemplo de representação linear é a amostragem pontual no domínio do espaço.

Em geral, trabalhamos com

Dado um espaço de sinais fixamos um número finito de k pontos

que mapeia sinais contínuos de quadrado somável e com

em sequências de

A aplicação

definida por

é uma amostragem pontual finita de S. que mapeia sinais contínuos de quadrado somável

em sequências de Sinais periódicos admitem uma representação linear dada pela série de Fourier do sinal no domínio da frequência

Representação linear Representação linear Se a representação linear, como a amostragem, não for exata, temos perda de informação no processo de representação

A operação de quantização consiste na aplicação de

nas amostras quantizados

gerando os valores

que são números naturais de um conjunto enumerável, limitado superiormente e inferiormente A quantização é geralmente uma função sobrejetora

Reconstrução do sinal digital Reconstrução Consiste em interpolar os valores de modo a obter a função f ou uma aproximação dela

Filtragem no domínio do espaço e da frequência

Transformadas São transformações lineares entre dois modelos funcionais distintos 1) Mapeia representações de um mesmo sinal 2) Algumas transformadas são invertíveis: transformada de Fourier, discreta do cosseno 3) Outras não: transformada de Hough

Função pulso e função impulso Impulso físico Alguns sinais do mundo físico são complicados de ser representados por modelos matemáticos Um exemplo é o impulso físico que consiste na variação instantânea de alguma grandeza com grande intensidade em um ponto na forma

e com energia finita

Considere a função pulso

Função pulso e função impulso Impulso físico A função impulso, também chamada delta de Dirac, é definido pelo limite

que possui energia finita pela integral

Seu análogo discreto é o delta de Kronecker

Produto de convolução Operação linear O produto de convolução ente dois sinais definido por

Propriedades 1) comutatividade 2) associatividade 3) distributividade 4) associatividade com multiplicação escalar

é

O produto de convolução é essencial para a análise e o processamento de sinais Uma propriedade importante concerne a relação entre o produto de convolução nos domínios do espaço e da frequência De fato, uma convolução no domínio do espaço equivale a uma multiplicação ponto a ponto no domínio da frequência

Fonte das imagens: mathworld.wolfram.com

Produto de convolução Exemplo Dizemos que um sistema é o meio que opera sobre sinais, produzindo outros sinais Ex.: um ambiente no qual o som se propaga, que pode gerar diversos efeitos como atenuação, reverberação, ecos, etc. É possível modelar fenômenos de propagação de som nesse ambiente através da convolução Imagine que Alice queira se comunicar com Bob no interior de um ambiente fechado (e.g. igreja, teatro)

Produto de convolução Exemplo Qual a descrição deste sistema? 1) o sistema tem memória: Bob ouve várias vezes o que Alice disse uma vez 2) o sistema atenua o sinal (o eco é mais fraco ao passar do tempo) Podemos modelar o sistema pelos deltas de Dirac escalados conforme ilustrado na figura O resultado do eco é a convolução do sinal f(t) (voz de Alice) com a função do sistema g(u) Bob ouve o resultado de f(t) * g(t)

Exponencial complexo É um número complexo e também uma potência Obedece as regras algébricas de potência

Note a semelhança com a relação de ângulos na multiplicação entre números complexos.

E o ângulo no plano complexo é o próprio

que é o que chamamos de exponencial complexo. Essa relação é chamada de identidade de Euler.

Fórmula de Euler: Se pegarmos o número conjugado complexo

e multiplicarmos por seu

concluímos que z é um vetor unitário.

, ou seja

Exponencial complexo Identidade de Euler A partir da identidade de Euler é possível isolar o cosseno e o seno

Senoides complexas O exponencial complexo provê uma nova forma de se escrever senoides As funções seno e cosseno podem ser obtidas pelo exponencial complexo Uma senoide complexa no domínio do espaço t tem a forma

onde ou

é a frequência em ciclos/unidade,

onde é a frequência em radianos/unidade

Uma senoide complexa associa um exponencial complexo (número complexo unitário) para cada valor de t São fáceis de se manipular e úteis para analisar e representar sinais

Senoides complexas Componentes em fase e em quadratura Uma senoide complexa associa um exponencial complexo (número complexo unitário) para cada valor de t

Senoides complexas são formadas por dois componentes senoidais 1) Uma senoide em fase (parte imaginária) 2) Uma senoide em quadratura (parte real)

Senoides complexas Funções seno e cosseno No domínio do espaço, senos podem ser definidos pela soma de duas componentes simétricas e

E cossenos podem ser definidos por

Série de Fourier Funções periódicas Uma função se

Assumimos que qualquer intervalo

é dita p-periódica,

Um sinal periódico possui as múltiplas frequências de uma frequência fundamental e somente elas

é contínua para

1) f(t) é uma função periódica contínua

Exemplos óbvios são as funções seno e cosseno

2) 3)

Joseph Fourier (no século XIX ) demonstrou que qualquer sinal periódico com período p pode ser decomposto em um conjunto de senoides com frequências múltiplas de uma frequência fundamental

4) 5)

6)

é a frequência fundamental (ciclos/unidade) é a frequência angular (radianos/unidade) k indica a k-ésima senoide, é o coeficiente da k-ésima senoide. Se f(t) é real, então o coeficiente é um número complexo. p é o período fundamental

Série de Fourier Exemplo: função dente de serra Considere a função em que o k-ésimo harmônico tem como coeficiente Esse sinal é o dente de serra e seus coeficientes utilizam apenas o seno da senoide complexa Usando a frequência fundamental de 2 ciclos/unidade, a função possui frequências 2, 4, 6, ... e somente elas

Série de Fourier: função dente de serra

Série de Fourier Exemplo: função onda quadrada Considere a função em que o k-ésimo harmônico tem como coeficiente Ou seja, o coeficiente é 0 para k par. Esse sinal é a onda quadrada Usando a frequência fundamental de 10 ciclos/unidade, a função possui frequências 10, 20, 30, ... e somente elas

Série de Fourier: função onda quadrada

Base de Fourier As senoides complexas da série de Fourier formam uma base para um espaço de funções de dimensão infinita

Para análise de sinais periódicos arbitrários, utilizaremos ou seja funções 2π-periódicas

cuja expansão na série de Fourier é

onde o fator normaliza as senoides complexas no intervalo

A escolha de 2π é apenas uma conveniência. Diferentes períodos podem ser reduzidos a este caso por escalamento da variável independente

Base de Fourier Funções periódicas de quadrado integrável

Seja um espaço formado por todas as funções periódicas de quadrado integrável

O espaço é um espaço de Hilbert, munido do produto interno

Base de Fourier

Base de Fourier

Base de Fourier Funções 2π-periódicas

Qualquer função pode ser representada por uma série de Fourier como

onde a igualdade significa convergência das somas parciais em relação à norma

Pela ortonormalidade da base de Fourier, os coeficientes que formam o espectro de f são dados pelas projeções

Base de Fourier

A identidade de Parseval indica que uma função periódica no domínio do espaço tem a mesma energia de seu espectro A Transformada Periódica de Fourier é unitária O mesmo é verdade para a Transformada Contínua de Fourier para sinais não periódicos

Base de Fourier

O Teorema da Convolução prova que uma convolução entre duas funções periódicas f e g no domínio do espaço equivale à multiplicação ponto a ponto de seus espectros e

Análise de funções periódicas Séries p -periódicas O uso de período 2π foi útil para facilitar algumas contas Versões da série de Fourier para períodos p arbitrários podem ser obtidas por

que mapeia harmônicas em números complexos. A reconstrução da função f (t) é

Identidade de Parseval:

Teorema da convolução:

Exemplo com p = 1:

espaço de funções

com produto interno:

Análise de funções periódicas Componentes do número complexo O número complexo

Os parâmetros da senoide podem ser decodificados pelas suas coordenadas polares:

é o coeficiente da senoide com frequência que compõe o sinal periódico e carrega sua informação de magnitude e fase. Suas coordenadas retangulares definem a relação de seus componentes em fase e em quadratura 1) a parte real x indica o quanto de um cosseno a frequência precisa 2) a parte imaginária y indica o quanto de um seno a frequência precisa

Assim, podemos analisar funções periódicas contínuas pelo cálculo de sua função magnitude e função fase

Análise de funções periódicas Exemplo: sequência de pulsos Considere a função sequência de pulsos unitários com período p

É geralmente indicado por uma porcentagem que indica a carga, dada por 1/p nessa formulação com p > 1 Sua expansão na série de Fourier é

É conhecida como duty cycle , ou ciclo de operação, porque os pulsos indicam quando um atuador está ligado.

Análise de funções periódicas Exemplo: sequência de pulsos A função sequência de pulsos é par , o que leva a todos os coeficiente da série de Fourier serem reais A medida que o período p aumenta, a densidade de harmônicos para representar f(t) aumenta Se p tende ao infinito, f (t) se torna a função pulso unitário

cujo espectro é a função Sinc

Análise de funções periódicas Exemplo: sequência de pulsos Na sequência de pulsos é muito fácil observar o fenômeno de Gibbs Se f (t ) é apenas contínua por partes, a convergência pontual permanece verdadeira com aumento de elementos na série Mas a uniformidade da convergência falha perto das descontinuidades tanto de f (t ) quanto de f ´(t ) O resultado é o surgimento de oscilações que formam artefatos São necessárias altíssimas frequências para produzir cantos

Análise de funções periódicas Exemplo: série finita Considere o sinal periódico formado pela série finita no tempo

Calcularemos a série de Fourier projetando f(t) diretamente nas senoides complexas que formam a função

A melhor maneira de fazer esse cálculo é obtendo uma versão de f(t) composta por senoides complexas ao invés de funções trigonométricas Mas vamos fazer o cálculo diretamente para fins de análise dos coeficientes obtidos

Análise de funções periódicas Exemplo: série finita Para projetar f(t) nas componentes

Para projetar f(t) nas componentes

com as integrais

com as integrais

Logo,

Logo,

Transformada Contínua de Fourier Funções não periódicas

Agora podemos entender o que ocorre com sinais contínuos não periódicos Na função sequência de pulsos, por exemplo, os pontos do espectro são separados pela frequência fundamental que é 1/ p Nesse caso o sinal é composto por todas as frequências reais de –infinito a infinito

Em termos de análise, se um sinal é periódico podemos utilizar séries de Fourier Se um sinal é não periódico, é necessário utilizar a Transformada Contínua de Fourier para converter a representação desses sinais do domínio do espaço para o domínio da frequência e vice-versa.

Transformada Contínua de Fourier Funções não periódicas

A Transformada Contínua de Fourier direta é definida por

A transformada inversa de Fourier é definida por

que captura a ressonância, ou a coincidência, do sinal f ( t ) com a senoide de frequência real s

que obtém f ( t ) como uma combinação linear de infinitas senoides de frequência real s ponderadas pela energia

Transformada Contínua de Fourier Funções não periódicas

Computacionalmente,, é conveniente escrever a transformada de Fourier utilizando a identidade de Euler

Analogamente, a transformada inversa de Fourier é definida por

Sendo f uma função de quadrado integrável, podemos usar o produto interno

Transformada Contínua de Fourier Espectro da função pulso

Considere a função pulso de largura w e amplitude a , centrada na origem

Endereço

Obrigado e até à próxima aula!

Universidade Federal de Juiz de Fora, Instituto de Ciências Exatas, Edifício do Departamento de Ciência da Computação, 4º andar, sala 415

Telefone (32) 2102-3387 ramal 4045

E-mail [email protected]

Processamento de Imagens

Teorema da amostragem Prof. Marcelo Bernardes Vieira

Bibliografia e fontes

Essa aula foi construída principalmente a partir do material extra escrito pelo professor, baseado em diversos livros e fontes.

Sinopse Tópicos desta aula Filtros e filtragem

Resposta de impulso Teorema da amostragem Reconstrução de sinais Aproximação de sinais

Filtros e filtragem Operador unário Dado um espaço de sinais S, um operador unário na forma

Um filtro espacialmente invariante satisfaz

é chamado de filtro. Um filtro linear satisfaz

Exemplo de filtro não linear Exemplo de filtro espacialmente variante:

Filtros lineares espacialmente invariantes Filtro LEI Um filtro que satisfaz as duas condições é chamado de filtro linear espacialmente invariante (LEI)

Estamos interessados em entender como um filtro modifica o espectro de um sinal

Vimos que eles podem ser expressados pelo produto de convolução

Em temos gerais, é comum dividir o domínio da frequência em regiões de baixa frequência e regiões de alta frequência

Eles têm a propriedade de não criar novas frequências no sinal filtrado, o que simplifica o seu projeto e análise

Esses conceitos dependem da aplicação e da largura adequada das regiões

Filtros lineares espacialmente invariantes Bandas de interesse O espectro também pode ser dividido em bandas de interesse

1) L é passa-alta se subtrai baixas frequências 2) L é passa-baixa se subtrai altas frequências 3) L é passa-banda se elimina frequências em intervalos

O suporte supp(f) de um sinal f é o conjunto de pontos do seu domínio onde f não se anula Dado um filtro com núcleo h, podemos classificá-lo pelo seu suporte como

específicos 1) Banda limitada: 2) FIR (finite impulse response): necessariamente compacto 3) IIR (infinite impulse response):

e é compacto é finito mas não é infinito

Resposta de impulso Fato importante

Resposta de impulso

Todo sinal pode ser escrito como uma soma infinita de impulsos devidamente transladados e modulados pelo sinal

É o resultado da filtragem do sinal impulso pelo filtro:

Representa o espalhamento do impulso após a aplicação da filtragem que é simplesmente uma convolução de f com o delta de Dirac. Se conhecemos a resposta de impulso h(t) de um filtro LEI, podemos afirmar que

Resposta de impulso Filtros LEI Conclui-se que todo filtro linear espacialmente invariante L é determinado pela sua função resposta de impulso

Para todo sinal

Pelo teorema da convolução

tem-se que

A função resposta de impulso é também chamada de núcleo do filtro L

A aplicação de um filtro linear espacialmente invariante de núcleo h no domínio do espaço corresponde a um produto dos respectivos espectros no domínio da frequência. O espectro do núcleo

é chamado de função de transferência

Impulso na origem A transformada de Fourier da função delta de Dirac é

Em ambos os casos a magnitude do espectro é constante

O posicionamento da função impulso é definido por uma senoide complexa de frequência t0 que varia em função de s

Impulso transladado

Espectro da função impulso

A transformada de Fourier da função delta de Dirac transladada para um ponto é

Função pente unidimensional Função pente unidimensional É formada por infinitos impulsos espaçados por

A função pente é periódica e sua série de Fourier é

Logo, espectro de uma função pente é outra função pente, escalada por O período da função pente do domínio da frequência é o recíproco do domínio do espaço

Teorema da amostragem Amostragem pontual Seja um sinal e um subconjunto enumerável de U Uma amostragem pontual é a sequência

O número de amostras de pontos por unidade é chamada de taxa de amostragem

Em um espaço multidimensional, atribuímos para cada eixo um segmento não nulo

A função pente n-dimensional é a combinação do reticulado com o delta de Kronecker

Um reticulado é o conjunto de pontos definidos por

na qual todos os pontos do reticulado são um impulso unitário

Teorema da amostragem Amostragem pontual uniforme A amostragem pontual uniforme de um sinal f no reticulado é dada pelo produto

Teorema da amostragem Análise espectral O espectro da função pente n-dimensional é

Então o espectro de uma função amostrada uniformemente e pontualmente é

Dado que Ou seja, o espectro de f é transladado para os vértices do reticulado do espectro da função pente e somada No domínio do espaço, a amostragem corresponde ao produto do sinal com a função pente No domínio da frequência, a amostragem corresponde à convolução do espectro do sinal com a série de Fourier da função pente

Teorema da amostragem

O modelo espectral de um sinal amostrado em um reticulado é formado a partir do modelo espectral do sinal original transladado por intervalos de comprimento

Teorema da amostragem Banda limitada Se há sobreposição de frequências, as altas frequências do sinal original aparecem como baixas frequências no sinal amostrado

Se frequências

Nesse caso, as frequências na interseção são perdidas e a função f não pode ser reconstruída

Nesse caso, a função original poderá ser reconstruída com um filtropassa-baixa de ganho unitário cuja função de transferência é a função pulso

Mas considere um sinal f com banda limitada no domínio da frequência

ou seja,

não haverá sobreposição de

A função f é obtida pela transformada de Fourier do resultado

Teorema da amostragem Teorema da amostragem Teorema 1 (Teorema da amostragem de Shannon-Whitaker).

Sejam f um sinal de banda limitada e o menor valor de frequência tal que O sinal f pode ser reconstruído de forma exata a partir de amostras se

O limite de frequência de amostragem de Nyquist.

é conhecido como limite

Quanto maior é a presença de altas frequências na imagem, maior deve ser a frequência de amostragem. O limite de Nyquist indica que é preciso uma frequência de amostragem estritamente superior a duas vezes à maior frequência presente no sinal

Senoides discretas Ciclos por amostra Uma senoide discreta pode ser expressada por

onde é uma variável inteira, chamada número de amostra, F é a frequência em ciclos por amostra e é a fase

F = 1/12 ciclos por amostra, Sinal com

e a = 0.8 radianos por amostra

Senoides discretas Senoide complexa A amostragem de uma senoide complexa tem a forma

e implica na amostragem da parte real e da parte imaginária

Senoides discretas Sinal discreto periódico Um sinal discreto é chamado periódico com período N > 0 , se e somente se para todo n O menor valor de N que satisfaz essa relação se chama período fundamental Para uma senoide discreta com frequência periódica, é preciso que

ser

Essa relação só é verdadeira se há um inteiro k tal que

Ou seja, uma senoide discreta só é periódica se sua frequência é um número racional Observe que todas as sequências senoidais cujas frequências são separadas por múltiplos de são idênticas (as amostras são as mesmas)

são idênticas para todo

Senoides discretas Sinal discreto periódico Então, qualquer sequência resultante de uma senoide com frequência ou

O processo de aliasing é o mapeamento de altas frequências em baixas frequências durante a amostragem

é idêntica a alguma sequência obtida de uma senoide com

Em sinais discretos são consideradas apenas as frequências no intervalo ou

Por causa dessa similaridade, chamamos a senoide de alta frequência de alias da senoide correspondente com baixa frequência

A maior taxa de oscilação é alcançada quando Essa é outra indicação do limite de Nyquist

Senoides discretas Senoides discretas amostradas com 20 amostras no intervalo [-10, 9]

Reconstrução de sinais Banda limitada Só faz sentido amostrar um sinal se for necessário reconstruí-lo em algum momento No caso de sinais com banda limitada, como podemos reconstruir o sinal original exatamente? Um sinal f com banda limitada amostrado uniformemente e pontualmente com tem espectro

Pode-se obter as frequências do sinal original aplicando um filtro passa-baixa com função de transferência

Reconstrução de sinais Banda limitada Para obter o sinal original, basta calcular a transformada de Fourier inversa desse espectro

A transformada de um pulso unitário de largura do domínio da frequência para o domínio do espaço é

Temos , logo temos a reconstrução exata de f a partir de suas amostrar por

O conjunto funções

forma uma base para funções de banda limitada chamada de base de Shannon

Reconstrução de sinais Teorema da reconstrução ideal Teorema 2 (Teorema da reconstrução ideal): Se um sinal f tem banda limitada ef é amostrada pontualmente dentro do limite de Nyquist, então a sequência de amostras é uma representação exata de f . O sinal f pode ser reconstruído no domínio do espaço a partir de suas amostras usando a base de Shannon.

A reconstrução exata do sinal ocorre pelo escalamento e translação de funções sinc

Elas têm suporte infinito, portanto, todas as amostras contribuem para reconstruir um ponto f(t)

Amostragem e reconstrução n-dimensional Banda limitada A transformada de Fourier se estende naturalmente para o reticulado em

onde

e a função sinc é definida por separabilidade O limite de Nyquist deve ser satisfeito para cada eixo Se um sinal m possui banda limitada e suas frequências de amostragem obedecem o limite de Nyquist, então f fica completamente determinada por suas amostras

Aproximação de sinais Aliasing

Aliasing é o fenômeno de aparecimento de componentes de baixas frequências relacionadas às altas frequências

Nesse caso a reconstrução usando a base de Shannon não funciona porque as altas frequências são perdidas e as baixas frequências são corrompidas

Há dois casos em que ocorre aliasing

1) o sinal f não possui banda limitada 2) quando f possui banda limitada, mas a frequência de amostragem é menor do que a frequência de Nyquist

O erro de aliasing é dado por Senoide com F = 0.9 amostrado com F = 1 ciclo por amostra Aparece uma senoide (em vermelho) com F = 1/10

Aproximação de sinais Aliasing

Sendo f um sinal arbitrário cujas propriedades não são conhecidas, podemos resolver ou amenizar o problema de duas formas 1) reduzir o valor de = aumentar a frequência de amostragem F 2) reduzir o valor de = reduzir a presença de altas frequências através de filtragem

Um aumento na resolução pode impactar o tamanho do sinal A redução de altas frequências é feita através de filtros passa-baixa Para reduzir a ocorrência de aliasing, geralmente se faz uma amostragem por área A média local equivale à realização de filtragem passa-baixa seguida de amostragem pontual

Aproximação de sinais Convolução discreta Dados dois sinais f e g e suas sequências discretas o produto de convolução é o sinal discreto

Outra operação importante é a convolução de um sinal discreto com uma função contínua

que pode nos fornecer uma interpolação das amostras de f

As funções contínuas interpolante

são chamadas de base

Reconstruir significa obter um sinal contínuo a partir de suas amostras Sendo f o sinal contínuo, o sinal discreto, e reconstruído, desejamos minimizar o erro

o

Aproximação de sinais Reconstrução por convolução Na prática, a reconstrução exata é impossível de ser obtida devido aos seguintes problemas 1)

2)

os elementos da base de reconstrução podem não ter suporte compacto. Isso pode levar a um truncamento da série pode não existir uma representação linear exata

Quando temos uma amostragem pontual, uma aproximação pode ser obtida mediante convolução com uma função contínua chamada núcleo de reconstrução

Nesse caso, a reconstrução pode ser vista como um processo de filtragem utilizando um filtro linear espacialmente invariante com núcleo h

Aproximação de sinais A função pulso Considere um núcleo cuja função é um pulso de largura Esse filtro é chamado box ou retangular, e o sinal aproximado

tem a característica de ser constante por partes

Cada ponto reconstruído no domínio t depende de apenas uma amostra Gera descontinuidades, introduzindo altas frequências indesejáveis. No domínio da frequência, o espectro do sinal reconstruído é o produto do sinal discreto pela função de transferência do filtro retangular Só resulta em reconstrução exata se o sinal original é constante por partes

Aproximação de sinais Filtros polinomiais Problemas na reconstrução se manifestam de diversas maneiras

Podemos obter filtros com maior grau através de convoluções sucessivas com o próprio filtro retangular

No monitor de vídeo, essas frequências são responsáveis pela ocorrência do aspecto serrilhado

Logo, a função de transferência desses filtros é obtida pelo produto sucessivo da função sinc

Podemos amenizar o problema mudando o filtro de reconstrução , com decaimento mais rápido no infinito

1) 2) 3)

O filtro retangular é o mais simples de uma família de filtros chamados polinomiais (tem grau zero)

Filtro linear ou triangular (box * box) = Filtro quadrático (box * box * box) = ...

Maior o grau, maior a diferenciabilidade da função reconstruída = maior suavidade. Também são necessárias mais amostras para solucionar os polinômios = mais caro

Aproximação de sinais Filtro triangular A convolução do filtro box com ele mesmo gera o filtro triangular Como núcleo de reconstrução, resulta em uma interpolação linear por partes = usa polinômios de grau 1

Usa o valor de duas amostras para calcular um ponto f(t)

A convolução do filtro triangular com o filtro box gera o filtro quadrático (usa 3 amostras por ponto reconstruído) cuja função de transferência é

Sua função de transferência equivale a multiplicar o espectro do sinal discreto pela função sinc por duas vezes

Esse processo pode ser repetido indefinidamente

Aproximação de sinais Filtro gaussiano Pelo teorema do limite central, o processo de convoluções sucessivas do filtro retangular converge para a função gaussiana

Ao se fazer convoluções com o filtro retangular, tendendo ao infinito, o resultado é o mesmo de se realizar uma convolução com um filtro gaussiano Esse filtro é infinitamente diferenciável, resultando em uma aproximação bastante suave

cuja função de transferência é também uma gaussiana Mas tem suporte infinito, que pode gerar problemas de truncamento

Endereço

Obrigado e até à próxima aula!

Universidade Federal de Juiz de Fora, Instituto de Ciências Exatas, Edifício do Departamento de Ciência da Computação, 4º andar, sala 415

Telefone (32) 2102-3387 ramal 4045

E-mail [email protected]

Processamento de Imagens

Transformada discreta de Fourier Prof. Marcelo Bernardes Vieira

Bibliografia e fontes

Essa aula foi construída a partir das seções 4.4, 4.5, e 4.6 do livro “Digital Image Processing”, de Rafael C. Gonzalez e Richard E. Woods, 4a edição, Editora

Pearson, 2018.

Sinopse Tópicos desta aula Transformada discreta de Fourier

Transformada contínua de Fourier 2D Transformada discreta de Fourier 2D Aliasing em imagens Simetria

Propriedades da transformada de Fourier

Transformada discreta de Fourier Transformada de uma função amostrada

Usando a função pente, chegamos a

Queremos derivar a transformada de um número finito de amostras Até agora, as equações provêm a transformada de Fourier de uma função amostrada em termos da função contínua original Mas queremos a transformada diretamente da função amostrada na forma

onde

é uma função discreta no domínio do espaço

Mas sua transformada de Fourier Infinitamente periódica com período

é contínua e

Transformada discreta de Fourier Transformada de uma função amostrada

Substituindo essas amostras por

temos

O que precisamos fazer então é amostrar apenas um período de do espectro Suponha que queremos M amostras igualmente espaçadas de obtidas no intervalo entre a frequência 0 e a frequência Isso é obtido pelas amostras nas seguintes frequências

que denota a transformada discreta de Fourier unidimensional Dado um conjunto de M amostras de resulta em um conjunto de M números complexos correspondentes à transformada discreta de Fourier do conjunto de entrada

Transformada discreta de Fourier Transformada de uma função amostrada

No caso de x, o par da transformada é denotado por

Analogamente, dadas as amostras no domínio da frequência Podemos recuperar o conjunto de amostras pela transformada discreta de Fourier inversa

de onde se vê que No caso de imagens, serão usadas as coordenadas x e y no domínio do espaço e u e v no domínio da frequência

e

É importante notar que (M é o período fundamental discreto)

Transformada discreta de Fourier Transformada de uma função amostrada Se f(x) consiste de M amostras de uma função f(t) obtidas a cada unidades, o comprimento das amostras do conjunto é O espaçamento correspondente no domínio da frequência é

e o intervalo de frequências coberto pelos M componentes da DFT é

Considere a seguinte função e suas amostras uniformemente distribuídas

Transformada discreta de Fourier Exemplo unidimensional Os valores de x são 0, 1, 2, e 3 que são os índices das amostras O primeiro coeficiente da transformada de Fourier é

Observe que todos os valores de coeficiente

são usados no cálculo de cada

O primeiro valor da transformada inversa é

o segundo coeficiente é

Note que a divisão por 1/M é feita na transformada inversa (mas poderia ser feita na direta também) de forma análoga, os outros dois coeficientes são

A função impulso 2D As características do impulso em 2D são importantes para entender a transformada discreta de Fourier bidimensional

O impulso de duas variáveis contínuas t e z é definido por

Para variáveis discretas x e y , o impulso 2D discreto é

sendo

sendo

e

Transformada contínua de Fourier 2D Transformada contínua Seja f (t, z) uma função de duas variáveis contínuas. A transformada contínua de Fourier 2D é dada pelas expressões

A transformada de Fourier da função pulso 2D é

Amostragem 2D Em 2D, a amostragem também pode ser modelada pelo uso da função pente A função pente 2D é

onde e são as separações entre amostras nos eixos t e z da função contínua Amostragem pontual uniforme 2D: é obtida pela multiplicação da função contínua pelo pente 2D

Uma função tem banda limitada se sua transformada de Fourier é nula, no domínio da frequência, além do retângulo formado pelos intervalos e , ou seja

O teorema da amostragem 2D diz que uma função de banda limitada pode ser reconstruída sem erros a partir de suas amostras se a amostragem satisfaz

Aliasing em imagens Aliasing espacial O mapeamento de altas frequências em baixas frequências introduz irregularidades em características lineares, objetos espúrios e o aparecimento de padrões oscilatórios que não havia na imagem original

Aliasing em imagens Aliasing espacial

16 x 16 pixels

6 x 6 pixels

0.95 x 0.95 pixels

0.48 x 0.48 pixels

Considere um sistema de aquisição perfeito capaz de obter uma imagem de 96 x 96 pixels sem nenhum ruído. Seus pixels são quadrados perfeitos de área 1. Se colocarmos esse sistema para digitalizar tabuleiros de xadrez de diferentes tamanhos, podemos perceber os efeitos do aliasing No canto inferior direito, o padrão obtido parece válido mas na verdade não é. Note como a frequência mais alta (quadrados de 0.48 x 0.48 pixels) foi mapeada em uma baixa frequência (quadrados de 12 x 12 pixels)

Aliasing em imagens Imagem real Redução na resolução de uma imagem pode introduzir artefatos por aliasing Uma estratégia que pode reduzir o problema é usar um filtro passa-baixa antes de fazer a amostragem

Imagem original 772 x 548

Redução para 33% de seu tamanho original por amostragem pontual, seguido de reconstrução por vizinho mais próximo

Mesmo processo mas antes filtrando a imagem com um filtro passa-baixa retangular de 5 x 5

Aliasing em imagens Padrão de Moiré

Grade

É um fenômeno secundário pela superposição de dois padrões em grade de espaçamentos aproximadamente iguais É muito comum de se observar Superpor os padrões é análogo a multiplicá-los

Digitalização de um jornal

Pontos

Transformada discreta de Fourier 2D Transformada discreta A transformada discreta de Fourier 2D (DFT) de uma imagem digital f (x, y) de tamanho M x N é

Dada a imagem transformada F(u, v), a transformada discreta de Fourier 2D inversa (IDFT) é

que deve ser avaliada por valores das variáveis discretas u e v nos intervalos u = 0, 1, 2,..., M-1 e v = 0, 1, 2,..., N-1

para x = 0, 1, 2,..., M-1 e y = 0, 1, 2,..., N-1 Seja e as separações entre amostras no domínio do espaço. As separações entre as amostras no domínio da frequência são

Transformada discreta de Fourier 2D Translação e rotação Em relação à translação de uma imagem, a transformada discreta de Fourier tem a seguinte propriedade

Usando as coordenadas polares

resulta na transformação e

Ou seja, multiplicar f(x, y) pelo exponencial complexo tem o efeito de deslocar a origem da DFT para e, de forma análoga, multiplicar F(u, v) pelo conjugado do mesmo exponencial complexo desloca a origem de f(x, y) para

que indica que rotacionar f(x, y) por um ângulo F(u, v) pelo mesmo ângulo, e vice-versa.

, rotaciona

Transformada discreta de Fourier 2D Periodicidade A transformada de Fourier 2D e sua inversa são infinitamente periódicas

O espectro 1-D no intervalo de 0 até M-1 consiste de dois meioperíodos que se encontram no ponto M/2

Pela propriedade da translação, temos que onde

e

são inteiros

A periodicidade da transformada deve ser levada em consideração em algoritmos baseados em DFT

Então, para centralizar o espectro temos que fazer e o termo exponencial se torna que é igual a

Ou seja, multiplicar f(x) por desloca os dados de forma que F(u) é centralizada no intervalo [0. M -1]

Transformada discreta de Fourier 2D Periodicidade Em 2D, há quatro quarto-períodos que se encontram no ponto (M/2, N/2) Queremos deslocar a imagem de forma que F(0, 0) esteja em (M/2, N/2) Fazendo translação, temos

usando a propriedade de

que implica que F(0, 0) é movida para o centro do retângulo de frequências [0, M-1] x [0, N-1]

Simetria em 1D Funções pares e ímpares

Caso discreto

Qualquer função real ou complexa pode ser escrita como a soma de duas funções

Algum cuidado deve ser tomado com sequências de amostras Uma sequência par é dada por

onde as funções par e ímpar são dadas por

E uma sequência ímpar é definida por

O produto de funções pares e ímpares segue a lógica da aritmética de inteiros pares e ímpares Pode-se verificar que

Um importante fato é que

e para qualquer função par e ímpar

Simetria em 1D Exemplo: sequência par

Exemplo: sequência ímpar

Considere a sequência

Toda sequência ímpar tem o primeiro ponto igual a zero já que

Como M=4, temos que testar a condição para paridade

Considere a sequência Temos que verificar a condição

Para f(0), o valor f(4) está fora do intervalo e isso significa que ele pode ser arbitrário. Como os outros pontos satisfazem à condição, a sequência é par Quando M é um número par, os pontos nas posições 0 e M/2 são arbitrários. Quando M é ímpar, apenas o primeiro ponto é arbitrário

Primeiramente, verificamos se g(0) = 0. Como o restante dos pontos satisfazem a condição, essa sequência é ímpar Quando M é um número par, uma sequência ímpar tem os pontos das posições 0 e M/2 zeradas. Quando M é ímpar, apenas o primeiro ponto é zero

Simetria em 2D Imagem discreta

Propriedades da transformada de Fourier

Interpretar se uma imagem é par ou ímpar faz diferença para se aplicar várias propriedades da transformada de Fourier

A transformada de Fourier de uma função real f (x,y) é conjugada simétrica

A seguinte matriz tem o centro destacado em negrito

e forma uma sequência ímpar Se adicionarmos uma linha ou coluna de zeros, a função não é ímpar nem par

Se f(x,y) é imaginária, a transformada de Fourier é conjugada antisimétrica

Transformada de Fourier e simetria

Exemplos

Espectro de Fourier e ângulo de fase Transformada complexa Como a transformada é complexa, em geral, ela pode ser expressada na forma polar

onde é a magnitude, espectro de Fourier, ou espectro de frequência. O ângulo dado por

O espectro de potência ou espectro de energia é

Lembrando que a transformada de Fourier de uma função real é conjugada simétrica em relação à origem. Então sua magnitude é par

e sua fase é impar é o ângulo de fase, ou espectro de fase

Espectro de Fourier e ângulo de fase Transformada complexa A componente de frequência zero é

Como a constante MN é grande, é geralmente o maior componente do espectro por um fato que pode ser várias ordens de magnitude maior do que os outros componentes

que é proporcional à média de f(x,y) Como as frequências u e v são zero na origem F(0,0) é chamada de componente DC da transformada (direct current ou corrente contínua) porque sua oscilação é nula então

Espectro de Fourier e ângulo de fase

Após multiplicar a imagem por

Espectro de Fourier e ângulo de fase

Espectro de fase

Espectro de Fourier e ângulo de fase Ângulo de fase Exemplos de reconstrução

Apenas com a fase

Imagem original

Retângulo reconstruído com sua fase e o espectro da imagem

Apenas com a magnitude

Fase da imagem, magnitude do retângulo

Teorema da convolução 2D Convolução circular A convolução circular 2D é definida por

que utiliza um período de uma sequência 2D periódica

Esse é um fato fundamental para filtragem linear no domínio da frequência Precisamos entender a equivalência entre convolução no domínio do espaço e uma multiplicação no domínio da frequência com sequências discretas

O teorema da convolução 2D resulta em

O nosso problema é periodicidade das duas representações e

Queremos saber em quais condições, na prática, uma convolução em um domínio dá o mesmo resultado de uma multiplicação no outro

Teorema da convolução 2D Exemplo em 1D Considere a convolução 1D dada por

e as funções f e h ao lado O que se espera da convolução é mostrado na figura à direita No domínio da frequência, porém, tanto f quanto h são periódicas

Teorema da convolução 2D Exemplo em 1D A periodicidade não foi considerada na convolução. A multiplicação dos espectros provê um resultado diferente da convolução realizada Esse erro é chamado de erro de recobrimento Se as funções f e h tem tamanho A e B, então a solução para esse tipo de erro é estender (com zeros ) para o tamanho Conclui-se que para implementar o teorema da convolução, é necessário estender as funções originais com zero padding

Teorema da convolução 2D Extensão em 2D Sejam f(x,y) e h(x,y) dois arranjos de tamanhos A x B e C x D pixels

As duas imagens estendidas têm tamanho P x Q

O erro de recobrimento pode ser evitado pela extensão por zeros na seguinte forma

Se as duas imagens têm o mesmo tamanho, então

E

com

Se uma imagem não tem borda zero, então uma descontinuidade será criada com a extensão. É análogo à multiplicação do espectro com filtro box (convolução com a função sinc no domínio do espaço) Isso pode criar o vazamento de frequência (frequency leakage) causada pela função sinc Esse problema pode ser reduzido com amortecimento na transição para zero nos limites da imagem

Sumário de definições da DFT

Propriedades da transformada de Fourier

Sumário de pares de transformação DFT

Propriedades da transformada de Fourier

Endereço

Obrigado e até à próxima aula!

Universidade Federal de Juiz de Fora, Instituto de Ciências Exatas, Edifício do Departamento de Ciência da Computação, 4º andar, sala 415

Telefone (32) 2102-3387 ramal 4045

E-mail [email protected]

Processamento de Imagens

Filtragem no domínio da frequência Prof. Marcelo Bernardes Vieira

Bibliografia e fontes

Essa aula foi construída a partir das seções 4.7, 4.8, 4.9 e 4.10 do livro “Digital Image Processing”, de Rafael C. Gonzalez e Richard E. Woods, 4a edição, Editora

Pearson, 2018.

Sinopse Tópicos desta aula Filtragem no domínio da frequência

Função de transferência Especificação de filtros lineares Suavização no domínio da frequência Filtros passa-alta no domínio da frequência

Filtros de banda no domínio da frequência

Filtragem no domínio da frequência Análise do espectro Métodos de filtragem no domínio da frequência se baseiam em modificar a transformada de Fourier para obter um objetivo específico e então computar a transformada DFT inversa para levar o resultado para o domínio do espaço O espectro provê informações úteis da imagem transformada, como a energia relacionada a suas frequências

A imagem acima, obtida de um microscópio de elétrons , é de um circuito integrado ampliado 2500 vezes

A imagem tem bordas orientadas em mais ou menos 45 graus, e duas protrusões brancas resultantes de falha

A espectro de magnitude mostra componentes proeminentes em 45 graus Observando no eixo vertical, podemos ver um componente vertical que está fora do eixo, um pouco para a esquerda Esses componentes foram causados pela protrusão

Filtragem no domínio da frequência Filtragem Dada uma imagem digital estendida f(x,y) de tamanho P x Q a equação básica de filtragem que estamos interessados tem a forma

Um dos filtros mais simples que podemos fazer é construir uma função de transferência H(u,v) que é zero no centro e um no restante

Esse filtro rejeita o componente DC e fará a média da imagem ir para zero, resultando em uma imagem escurecida Valores negativos aparecem na imagem

Filtragem no domínio da frequência Filtro passa-baixa e passaalta têm altura 1.0 O terceiro filtro foi deslocado

para cima em a = 0.85

Filtragem no domínio da frequência Imagem original

Filtro gaussiano sem

Filtro gaussiano com

extensão do espectro

extensão do espectro

Filtragem no domínio da frequência Efeito da extensão do espectro No exemplo anterior, podemos ver uma diferença entre o resultado com e sem extensão do espectro O motivo do resultado pode ser entendido pela observação da periodicidade dos dois casos Note que a região preta coincide com as bordas escurecidas nos resultados

O uso de padding no domínio da frequência é importante para mitigar problemas de periodicidade

Extensão da função de transferência Exemplo em 1D Até agora discutimos como estender a imagem f(x, y) para acomodar a filtragem no domínio da frequência Mas o mesmo não pode ser feito com núcleos de filtragem Considere a função de transferência passa-baixa ideal 1D que é um pulso A sua transformada de Fourier é uma função sinc que tem suporte infinito. Se for feita uma extensão com zero da função sinc no domínio do espaço, uma descontinuidade será introduzida O filtro resultante terá oscilações espúrias

Solução: projetar o filtro diretamente no domínio da frequência

Função de transferência e ângulo de fase Função de transferência real Podemos expressar a DFT em termos de sua parte real e imaginária

A filtragem com uma função de transferência real então é Fase multiplicada

Como o ângulo de fase é o arco tangente da divisão entre a parte imaginária e a parte real, funções de transferência reais não alteram a fase do sinal

por -1.0

Fase multiplicada por 0.25

Filtros com essa propriedade são chamados zero-phase-shift

Vimos que a espectro de fase de um sinal é extremamente característico

São os únicos tipos de filtro considerados nesta aula

Mudanças na fase pode levar a resultados drásticos e indesejados

Passos para filtrar no domínio da frequência

Filtragem no domínio da frequência

1)

Dada uma imagem de entrada f(x,y) de tamanho M x N , calcule os tamanhos para extensão P e Q como P = 2M e Q = 2N

2)

Forme uma imagem estendida de tamanho P e Q usando extensão por zero, extensão periódica, ou extensão simétrica Multiplique por para centralizar a transformada de Fourier no retângulo de frequência P x Q Construa uma função de transferência simétrica e real H(u,v) de tamanho P x Q com centro em (P/2, Q/2) Calcule com multiplicação pixel a pixel Obtenha a imagem filtrada de tamanho P x Q calculando a IDFT de G(u,v)

3)

4) 5) 6)

7)

Obtenha o resultado final g(x,y) do mesmo tamanho da imagem original, extraindo a região M x N do quadrante superior esquerdo de

Filtragem no domínio da frequência

Domínio do espaço vs. domínio da frequência Revisão

Custo computacional

A ligação entre filtragem no domínio do espaço e filtragem no domínio da frequência é o teorema da convolução

Filtragem no domínio do espaço pode tirar vantagem de arquiteturas modernas que possuem instruções vetoriais e do tipo SIMD

Sabemos que podemos caracterizar um filtro linear pela transformada de Fourier de seu núcleo (que chamamos de resposta de impulso)

Mas isso só é verdade para núcleos de filtro de tamanho pequeno

Os filtros aplicados até agora são finitos e então são chamamos de filtros de resposta finita (FIR). Eles são os únicos considerados no livro

Pode ser vantajoso aplicar uma FFT (Fast Fourier Transform) que é O(n log n) no sinal, filtrar no domínio da frequência e depois aplicar a transformada inversa

Temos que lembrar também que lidamos com funções periódicas . Esse tipo de convolução correspondente é chamada de convolução circular

Esse procedimento se refere aos filtros lineares

Especificação de filtros lineares Visão geral

A função gaussiana em 1D

Uma forma de tirar vantagem das propriedades dos dois domínios é especificar um filtro em um domínio em que esse processo é mais fácil

Filtros baseados na função gaussiana são de particular interesse porque suas transformadas de Fourier direta e inversa são também funções gaussianas

Podemos especificar um filtro no domínio da frequência que obtém o resultado desejado. Ao calcular sua IDFT, podemos usar o núcleo do filtro no domínio espacial para projetar núcleos de tamanho adequado para convolução, por exemplo

Seja H(u) a função de transferência gaussiana 1D

O núcleo no domínio do espaço é a IDFT de H(u)

Por outro lado, podemos obter um núcleo de filtro no domínio do espaço, aplicar a DFT e então analisar o seu efeito no domínio da frequência Ambas as funções são reais (evita números complexos) e são recíprocas (a largura de uma é o inverso da largura da outra)

Especificação de um filtro linear no domínio da frequência Diferença de Gaussianas Vimos anteriormente que subtrair uma a imagem original de sua versão filtrada por uma gaussiana tem como resultado uma filtragem passa-alta. Isso equivale a subtrair o núcleo gaussiano de uma função constante Podemos ter mais controle com filtros chamados Diferença de Gaussianas (DoG) que envolvem dois filtros passa-baixa. No domínio da frequência, temos com

e

No domínio do espaço equivale a

Gaussiana

DoG

Especificação de um filtro linear no domínio do espaço O filtro derivativo Sobel 2D Queremos aplicar um filtro derivativo Sobel (derivada em x) de máscara 3 x 3 em uma imagem de 600 x 600 pixels, no domínio da frequência Note que a máscara parece ser uma sequência ímpar. Mas a primeira linha e a primeira coluna não são zeros (característica obrigatória em sequências ímpares) Tornamos a máscara ímpar apenas adicionando uma linha e uma coluna extra somente com zeros. A máscara resultante tem 4 x 4 elementos A extensão por zeros dessa máscara de tamanho par, deve gerar uma nova imagem de tamanho par para manter a função ímpar. A vantagem é que todos os coeficientes da sua transformada serão puramente imaginários

Se a simetria ímpar não for preservada, a filtragem no domínio na frequência terá resultado diferente da convolução no domínio do espaço

Especificação de um filtro linear no domínio do espaço O filtro derivativo Sobel 2D A imagem original tem 600 x 600 pixels O filtro Sobel foi estendido mantendo a simetria ímpar para 600 x 600

Imagem original

Espectro de magnitude

Convolução no domínio do espaço Multiplicação no domínio da frequência

Suavização no domínio da frequência Filtro passa-baixa ideal Um filtro passa-baixa ideal 2D deixa passar sem qualquer atenuação todas as frequências dentro de um círculo a partir da origem O filtro corta todas as frequências fora do círculo

onde

O ponto de transição entre H(u,v) = 0.0 e H(u,v) = 1.0 é chamado de frequência de corte

Suavização no domínio da frequência Frequência de corte Filtros passa-baixa podem ser comparados em relação a uma mesma frequência de corte Podemos comparar filtros com a porcentagem de energia atenuada em relação à energia total da imagem

Imagem original 688 x 688

Espectro com raios 10, 30, 60, 160 e 460 pixels que envolvem 86.9, 92.8,

95.1, 97.6 e 99.4% da energia

O círculo de raio centralizado no espectro envolve uma percentagem da potência Onde

é o espectro de potência

Suavização no domínio da frequência Raio 10 (-13.1%) Os resultados de até 160 apresentam repiques oscilatórios (ringing) Imagem original 688 x 688

Raio 30 (-7.2%)

Raio 60 (-4.9%) Raio 460 (-0.6%)

Raio 160 (-2.4%)

Suavização no domínio da frequência Repique oscilatório O repique oscilatório torna o uso do filtro ideal impraticável O repique pode ser explicado pelo teorema da convolução A medida que o raio aumenta, a função sinc se alarga e não se observa repique O objetivo de passa-baixa é obter a filtragem sem nenhum artefato

Círculo de raio 15 em uma

imagem de 1000 x 1000

Suavização com filtro gaussiano Gaussiana no domínio da frequência Um filtro gaussiano no domínio da frequência tem a forma

onde D(u,v) é a distância ao centro do retângulo de frequência P x Q Se fizermos podemos expressar a gaussiana com a mesma notação do filtro ideal

onde é a frequência de corte. Quando transferência é 0.607

função de

Suavização com filtro gaussiano Raio 10

Imagem original 688 x 688

Raio 30

Raio 60

Raio 460

Extensão periódica da imagem original Raio 160

Suavização com filtro Butterworth Função no domínio da frequência Um filtro Butterworth no domínio da frequência de ordem n , com frequência de corte em uma distância do centro do retângulo de frequências é

O filtro Butterworth pode ser controlado para ter características do filtro passa-baixa ideal , com valores altos da ordem n

O ajuste de n provê um controle para se obter filtros com características de corte como o do filtro passa-baixa ideal mas com menor efeito de

E pode ser ajustado para ter características do filtro gaussiano, com valores baixos de n

repique

Suavização com filtro Butterworth Raio 10

Imagem original 688 x 688

Resultados com n = 2.25

Raio 30

Raio 60

Raio 460

Extensão periódica da imagem original

Raio 160

Suavização com filtro Butterworth n =1 Filtro Butterworth no domínio espacial com frequência de corte = 5 Imagens com 1000 x 1000

n =2

n =5

n = 20

Exemplos de suavização Texto em baixa resolução Imagem original com 808 x 754 Filtro gaussiano com

Exemplos de suavização Fotografia Imagem original com 785 x 732 Filtro gaussiano

Exemplos de suavização Imagem de satélite Imagem original com 808 x 754 Filtro gaussiano

Filtros passa-alta Agudização de imagens no domínio da frequência

Podemos construir filtros passa-alta subtraindo um filtro passa-baixa de uma função constante

O filtro passa-alta gaussiano é

e o filtro Butterworth passa-alta é

A função de transferência do filtro passaalta ideal é

No domínio do espaço, o núcleo do filtro é dado por

Filtros passaalta no domínio da frequência

Passa-alta ideal

Passa-alta gaussiano

Núcleos dos filtros passaalta

Perfis horizontais no centro

Frequência de corte 15 em imagens de 1000 x 1000

Passa-alta Butterworth n = 2

Passa-alta ideal

Passa-alta gaussiano

Exemplo de filtragem passa-alta

Imagens de 688 x 688. Valores negativos forçados para zero.

Passa-alta Butterworth n = 2

Passa-alta ideal

Passa-alta gaussiano

Exemplo de filtragem passa-alta

Imagens de 688 x 688. Escalamento para ver valores positivos e negativos

Passa-alta Butterworth n = 2

Imagem original

Filtro passa-alta

Exemplo de filtragem passa-alta

Imagem de impressão de digital de 962 x 1026

Filtro passa-alta Butterworth de ordem 4 com frequência de corte = 50 Limiarização com 0 para valores negativos e 1 para valores positivos

Binarização

Laplaciano do domínio da frequência Filtro laplaciano O filtro Laplaciano pode ser implementado no domínio da frequência como

O processo de realce de imagem é implementado pela equação

ou, em relação ao centro do retângulo de frequências

cuja versão no domínio da frequência é

Com essa função de transferência, o Laplaciano de uma imagem f(x,y) é obtido por

onde F(u,v) é a DFT de f(x,y)

Porém, a versão no domínio do espaço é preferível. A função f(x,y) é facilmente normalizada entre [0, 1] antes do cálculo do Laplaciano e, consequentemente, o Laplaciano da imagem fica entre [-1, 1]

Laplaciano do domínio da frequência Imagem original Realce da Imagem de lua com c = -1 O realce no domínio da frequência é mais eficaz no realce comparado com o resultado no domínio do espaço Isso porque o núcleo Laplaciano é

definido em uma pequena vizinhança enquanto no domínio da frequência o filtro usa toda a imagem

Realce no domínio da frequência

Realce no domínio do espaço

Mascaramento por suavização Máscara A máscara no domínio do espaço usada para realce de imagens tem a forma

Com k > 1, o filtro é chamado de high-boost

A equação em termos do domínio da frequência é sendo que a imagem suavizada pode ser definida no domínio da frequência como Utilizando um filtro passa-alta diretamente, temos

O mascaramento de suavização (unsharp masking) é calculado por

com k = 1

chamado de filtro de ênfase de altas frequências cuja versão mais flexível é

Mascaramento por suavização Exemplo Imagem de uma radiografia de 503 x 720

Resultado do filtro passa-alta gaussiano no domínio da frequência com Resultado da filtragem de ênfase de alta frequência usando o resultado do passa-baixa com e Resultado após equalização de histograma

Filtragem homomórfica Definição Uma imagem pode ser representada preço produto de sua iluminação i(x, y) e os componentes de reflectância r(x,y)

Podemos filtrar Z(u,v) com uma função de transferência H(u,v)

Esse produto seria uma convolução no domínio da frequência, mas se definirmos

e a imagem filtrada no domínio do espaço é

Definindo então então

ou

Filtragem homomórfica Definição Como z(x,y) é formada pelo logaritmo natural da imagem de entrada, o processo reverso é calcular o exponencial da saída filtrada

onde

são os componentes de iluminação e reflectância da saída

Esse método é baseado em um caso especial de uma classe de sistemas chamados sistemas homomórficos. Nessa aplicação particular, a chave é a separação dos componentes de iluminação da reflectância Uma função de transferência homomófica H(u,v) pode operar nos dois componentes separadamente e com maior controle Esse controle requer a especificação de uma função de transferência que afeta as baixas e altas frequências da transformada de Fourier de forma distinta

Filtragem homomórfica Exemplo de função homomórfica Uma função homomórfica pode ser obtida com o filtro passa-alta gaussiano

A função tenderá a atenuar a contribuição de baixas frequências (mais ligadas à iluminação) e amplificar a contribuição feita por altas frequências (mais relacionadas à reflectância)

no qual os parâmetros e

O resultado é uma compressão do intervalo dinâmico (dynamic range) (passa-baixa) e uma dilatação de contraste (passa-alta)

e

são escolhidos de forma que

Filtragem homomórfica Exemplo de um escaneamento PET do corpo humano de tamanho 1162 x 746 Filtragem com o filtro homomórfico de parâmetros

O filtro reduziu o efeito dos pontos dominantes, tornando possível tons mais baixos visíveis

Filtros de banda Passa-banda e rejeita-banda Filtros passa-banda e rejeita-banda no domínio da frequência podem ser construídos pela combinação de funções de transferência passa-baixa e passa-alta Ou seja, filtros passa-baixa são a base para derivar filtros passa-alta, passa-banda e rejeita-banda Também, filtros passa-banda e rejeita-banda podem ser obtidos um do outro

Os parâmetros de funções de transferência de filtros de banda são a largura W e o centro da banda

Uma função de transferência passa-banda tem os requisitos 1) Os valores da função devem estar no intervalo [0, 1] 2) O valor da função deve ser zero a uma distância da origem 3) Deve-se ser possível definir uma largura W

A função de transferência de um filtro rejeita-banda ideal consiste de um passa-baixa ideal e de um passa-alta ideal com diferentes frequências de corte

Filtros de banda Filtro gaussiano e Butterworth A adição de filtros passa-baixa e passa-banda para formar um filtro rejeita-banda pode apresentar dificuldades

A solução é modificar as expressões para atender aos requisitos de filtros de banda Um filtro gaussiano rejeita-banda pode ser expressado por

que atende a todos os requisitos de filtros de banda

A adição de duas funções gaussianas passa-baixa e passaalta leva a um resultado que não é zero em e a largura é difícil de se controlar

Filtros de banda Funções com 512 x 512 e

Rejeita-banda ideal

Rejeita-banda gaussiano

Rejeita-banda Butterworth n = 1

Filtros notch Rejeita-banda São os mais úteis dos filtros seletivos de banda Um filtro notch rejeita ou aceita frequências em uma vizinhança pré-determinada do retângulo de frequências

onde e são as funções de transferência passaalta cujos centros estão em e A função de transferência de um filtro notch Butterworth rejeita banda de ordem n com três pares notch é

Como filtros com zero deslocamento de fase precisam ser simétricos, um filtro notch com centro em deve ter um notch correspondente em onde Filtros notch são construídos como o produto de funções de transferência de filtros passa-alta cujos centros foram transladados para o centros dos notches

e a constante

pode ser diferente para cada par

Uma função de transferência passa-banda notch pode ser obtida de um rejeita-banda notch da seguinte forma

Filtros notch Filtros rejeita banda são úteis quando podemos identificar frequências indesejáveis no espectro. Filtragem com um filtro notch Butterworth com e n = 4 para todos os pares

Filtros notch Filtragem de interferência periódica em uma imagem dos anéis Saturno

A função de transferência notch rejeita-banda com um padrão vertical

Endereço

Obrigado e até à próxima aula!

Universidade Federal de Juiz de Fora, Instituto de Ciências Exatas, Edifício do Departamento de Ciência da Computação, 4º andar, sala 415

Telefone (32) 2102-3387 ramal 4045

E-mail [email protected]

Processamento de Imagens

Restauração de imagens Prof. Marcelo Bernardes Vieira

Bibliografia e fontes

Essa aula foi construída a partir das seções 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7 e 5.8 do livro “Digital Image Processing”, de Rafael C. Gonzalez e Richard E. Woods, 4a

edição, Editora Pearson, 2018.

Sinopse Tópicos desta aula Modelos de degradação e ruído

Estimativa de ruído Restauração de imagens com ruído Degradação linear espacialmente invariante Estimativa de degradação

Restauração de imagens degradadas

Modelo de degradação Modelo de restauração Modelamos a degradação de imagens como um operador que, juntamente com um termo de ruído aditivo, opera em uma imagem f(x,y) para produzir uma imagem degradada g(x,y)

No domínio da frequência, esse operador tem a forma

Se o operador é linear espacialmente invariante, no domínio do espaço ele tem a forma

O objetivo dessa aula é apresentar métodos para recuperar g(x,y) na presença de e

onde h(x,y) é a representação espacial da função de degradação e é um termo de ruído aditivo

Modelos de ruído Visão geral A principal fonte de ruído em imagens digitais ocorre durante sua aquisição ou transmissão

Assumimos que o ruído é independente de coordenadas espaciais e é descorrelacionado da imagem

Precisamos conhecer os parâmetros que definem as características espaciais do ruído, e se ele é correlacionado com a imagem

Ou seja, não há correlação entre os valores dos pixels e os valores do componentes de ruído

Propriedades de frequência do ruído se referem ao seu conteúdo no domínio da frequência

Lidar com ruído correlacionado exige abordagem além do escopo dessa aula

Um exemplo é o ruído branco que tem espectro de Fourier constante

Vamos assumir que o ruído é uma variável aleatória e caracterizá-lo por funções de densidade de probabilidade (PDF)

Ruído gaussiano Modelo gaussiano Por causa de sua tratabilidade no domínio do espaço e da frequência, modelos de ruído gaussiano são frequentemente usados A PDF de uma variável aleatória gaussiana z é

onde z representa intensidade, é o desvio-padrão

é a média de z, e

Sabemos que a probabilidade de z estar no intervalo é aproximadamente 0.68. A probabilidade de z estar entre é 0.95

Ruído Rayleigh Modelo Rayleigh A PDF do ruído Rayleigh é

A média é dada por

e a variância por

A forma da curva é enviesada para a direita e isso torna esse PDF adequado para modelar histogramas enviesados

Ruído Erlang Modelo Erlang A PDF do ruído Erlang é

no qual os parâmetros são tais que a > b, b é um inteiro positivo A média é dada por

e a variância por

Ruído exponencial Modelo exponencial A PDF do ruído exponencial é

onde a > 0

A média é dada por

e a variância por

Essa distribuição é um caso especial do ruído Erlang com b = 1

Ruído uniforme Modelo uniforme A PDF do ruído uniforme é

A média é dada por

e a variância por

Ruído sal e pimenta Modelo sal e pimenta Se k representa o número de bits para representar um valor de intensidade, então o intervalo de valores possíveis é

Uma imagem f(x,y) de mesmo tamanho que é corrompida com ruído sal e pimenta atribuindo 0 a todos as posições em que zero ocorre em ,e nas posições em que esse valor ocorre em

A PDF do ruído sal e pimenta é Todos os locais em que V ocorre em mantidos

onde V é um valor inteiro no intervalo

são

Se nem é zero, ou se os dois são iguais, aparecerão pixels brancos e pretos na imagem A média é e a variância é

Ruído aditivo

Ruído aditivo Imagem original 1024 x 1024

Parâmetros ajustados para cada ruído para que as três modas se fundissem no histograma

Gaussiano

Rayleigh

Erlang

Ruído aditivo Imagem original 1024 x 1024

Parâmetros ajustados para cada ruído para que as três modas se fundissem no histograma

Exponencial

Uniforme

Sal e pimenta

Ruído periódico Domínio da frequência Ruído periódico tipicamente aparece devido a interferência elétrica ou eletromecânica durante a aquisição Ruído periódico pode ser reduzido significativamente por filtragem no domínio da frequência

Um exemplo é dado por picos de senoides no domínio da frequência

Estimativa de parâmetros de ruído Parâmetros de ruído periódico são estimados pela inspeção do espectro de Fourier. Esse tipo de ruído tende a produzir picos de frequência detectáveis por análise visual Já os parâmetros de PDFs de ruído podem ser conhecidos parcialmente pela especificação dos sensores Eventualmente é necessário estimá-los para alguma aplicação. Se o sistema de aquisição está disponível, uma forma de fazer isso é adquirir imagens constantes

Mas se apenas algumas imagens são conhecidas, é possível estimar o PDF do ruído em regiões com intensidade de fundo constante Dada uma subimagem S e sendo as estimativas de probabilidade, podemos começar estimando a média

e a variância

A forma da curva pode ser usada para encontrar o PDF mais próximo a partir dos parâmetros

Estimativa de parâmetros de ruído Gaussiano Histogramas calculados

a partir das faixas de intensidade constante A partir da média e variância, os parâmetros de cada PDF podem ser

obtidos. O PDF estimado vem da forma que melhor casar com o histograma

Rayleigh

Uniforme

Restauração de imagens com ruído aditivo Filtragem espacial Uma imagem degradada apenas por ruído aditivo tem a forma

O ruído aditivo pode ser atenuado através dos métodos de filtragem espacial vistos até agora

e no domínio da frequência

Nessa aula, serão apresentados novos filtros de média, filtros estatísticos e filtros adaptativos

nas quais o ruído tem características desconhecidas Filtragem espacial é o método geralmente escolhido para estimar f ( x , y ) em situações em que há somente ruído aditivo

Filtros de média Filtragem espacial A média aritmética é a mais simples para filtragem, conforme vimos com o filtro retangular ( box )

Um filtro de média harmônica é dado por

Dada uma vizinhança , um filtro de média geométrica é definido por

e funciona bem com ruído do tipo sal (pontos claros) mas falha com ruído do tipo pimenta (pontos escuros)

em que o pixel restaurado é o produto de todos os pixels da vizinhança elevado a 1/ mn O filtro de média geométrica tem desempenho comparável ao filtro da média mas tende a perder menos detalhes da imagem

Um filtro de média contra-harmônica tem a forma

onde Q é chamado de ordem do filtro. Valores negativos eliminam ruído tipo sal, valores positivos eliminam ruído tipo pimenta. Q = 0 é o filtro aritmético e Q = -1 é o harmônico

Filtros de média Exemplo

Imagem

Imagem com

de raio X

ruído gaussiano

original

de média 0 e variância 400

Média

Média

aritmética com

geométrica

janela 3 x 3

com janela 3 x 3

Filtros de média Exemplo

Imagem com ruído

Imagem com ruído

pimenta com

sal com

probabilidade 0.1

probabilidade 0.1

Filtragem com os sinais invertidos Filtragem com média

Filtragem com média

contra harmônica

contra harmônica

com Q = 1.5

com Q = -1.5

Filtros estatísticos Ordenação O mais utilizado é o filtro da mediana

que, dependendo do ruído, provê uma excelente redução de ruído mantendo detalhes da imagem. O filtro da media representa o 50º percentil Podemos usar outros percentis como o 100º percentil, chamado filtro do máximo

e o zero percentil, chamado filtro do mínimo

O filtro do ponto médio é definido pela média dos pontos máximo e mínimo

e funciona bem com ruído uniforme e ruído gaussiano Suponha que nós eliminamos os d/2 pontos com menores valores e os d/2 pontos com maiores valores de g(r,c) na vizinhança . Seja os mn – d valores restantes. Um filtro formado pela média desses valores é chamado filtro de média aparada Com d = 0 temos o filtro da média e com d = mn - 1 temos o filtro da mediana

Filtros estatísticos Imagem com ruído

Filtro da mediana de

sal e pimenta com

3x3 (uma passada)

probabilidade 0.1

Filtro da mediana de

Filtro da mediana de

3x3 (duas passadas)

3x3 (três passadas)

Filtros estatísticos Imagem com ruído pimenta com probabilidade 0.1

Filtro do máximo de 3 x 3

Filtro do mínimo sobre o filtro do máximo de 3 x 3

Filtros estatísticos Imagem com ruído uniforme de média zero e variância 800 mais ruído sal e pimenta com probabilidade = 0.1

Filtro aritmético

Filtro geométrico

de 5 x 5

de 5 x 5

Filtro da média aparada de 5 x 5 Filtro da mediana de 5 x 5

com d = 6

Filtros adaptativos O comportamento muda de acordo com características estatísticas locais da imagem

Filtro de redução de ruído local As medidas mais simples de uma variável aleatória são sua média (brilho médio) e variância (medida de contraste)

O filtro de redução de ruído local opera em uma vizinhança centrado nas coordenadas (x,y) e sua resposta é baseada em 1) g(x,y) o valor da imagem com ruído em (x,y) 2) a variância global do ruído 3) A média local de intensidades 4) E a variância local das intensidades

O filtro é calculado da seguinte forma 1) Se é zero, o filtro deve retornar o valor de g(x,y) 2) Se a variância local é alta em comparação com , o filtro deve retornar um valor próximo a g(x,y). Isso porque grande variância local está ligada à bordas da imagem que devem ser preservadas 3) Se as duas variâncias são iguais, o filtro retorna a média aritmética dos pixels da vizinhança

Uma expressão para um filtro de redução de ruído local é

assumindo

ou truncando a divisão em 1.0 (não linear)

Filtros adaptativos Exemplo do filtro de redução de ruído local

Imagem com ruído gaussiano

Filtro da média

de média zero e

aritmética de 7 x 7

variância 1000

Filtro da média

Filtro adaptativo

geométrica de 7 x 7

7 x 7 com A imagem é bem

mais nítida

Filtros adaptativos A mediana tem bom desempenho com ruído sal e pimenta e sua versão adaptativa preserva mais detalhes da imagem Filtro da mediana adaptativo O filtro da mediana adaptativo modifica o tamanho da vizinhança ao longo da filtragem. Mas a vizinhança é sempre centralizada no pixel de referência (x,y) A seguinte notação é usada 1) é a intensidade mínima na vizinhança 2) é a intensidade máxima na vizinhança 3) é a mediana das intensidades na vizinhança 4) é a intensidade nas coordenadas (x,y) 5) o maior tamanho válido para a janela

O algoritmo do filtro da mediana adaptativo tem dois níveis

onde

e

são números inteiros ímpares maiores que 1

Esse algoritmo tem como objetivos: remover ruído sal e pimenta, suavizar o ruído que não é impulsivo, e reduzir distorção como afinar ou espessar bordas

Filtros adaptativos Exemplo do filtro da mediana adaptativo

Imagem com ruído sal e pimenta com probabilidade 0.25

Filtro da mediana de 7 x 7

Filtro da mediana adaptativo com

Redução de ruído periódico Filtros notch Os filtros notch apresentados no curso são adequados para remoção de ruído periódico no domínio da frequência Podem ser construídos a partir do filtro passa-alta ideal, filtro passa-alta gaussiano e filtro passa-alta Butterworth Mas filtros mais específicos podem ser construídos Um filtro notch Butterworth com 3 pares de ordem n é dado por

Redução de ruído periódico Exemplo com filtro notch Imagem original com ruído periódico

Espectro de magnitude com dois

picos referentes ao ruído

Padrão removido

Resultado da Filtro notch de raio 2

filtragem

Redução de ruído periódico Exemplo com filtro notch

Padrão removido

Imagem original com

Espectro de

ruído periódico

magnitude

Filtro notch rejeita-

Resultado da

banda vertical

filtragem

Filtro notch ótimo Filtro notch e otimalidade Nos exemplos anteriores, o ruído periódico tem padrões fáceis de se identificar Quando vários componentes de ruído estão presentes, encontrar padrões se torna difícil. E, em geral, os componentes de interferência não formam picos no domínio da frequência

O primeiro passo é extrair os componentes principais do padrão de interferência com um filtro notch

O filtro notch que será apresentado é ótimo no sentido de que ele minimiza a variância local da imagem restaurada

Mas especificar requer uma grande capacidade de decidir o que é um pico de interferência ou não. Em geral, isso é feito interativamente observando o espectro G(u,v) em um monitor. Uma vez construído, o padrão de ruído no domínio do espaço é obtido com

O procedimento consiste em isolar as contribuições do padrão de interferências e então subtrair uma porção ponderada desse padrão da imagem corrompida

O problema é que esse processo provê apenas uma aproximação do ruído aditivo

Filtro notch ótimo Filtro notch e otimalidade Os efeitos dos componentes que não estão na estimativa de podem ser minimizados subtraindo de g(x,y) uma porção ponderada de para obter uma estimativa de f(x,,y)

Considere uma vizinhança de tamanho ímpar m x n centrada em (x,y). A variância local na imagem restaurada é

onde onde os pesos w(x,y) precisam ser estimados A função w(x,y) se chama função de modulação e o objetivo é selecioná-la de forma que o resultado é ótimo em algum aspecto Podemos determinar w(x,y) que minimiza a variância de em uma vizinhança

é a média na vizinhança. Podemos reescrever como

Onde e produto

denotam os valores médios de g e do na vizinhança

Filtro notch ótimo Filtro notch e otimalidade Se assumirmos que o peso w é aproximadamente constante em , podemos substituir w(r,c) pelo valor no centro da vizinhança

A solução da equação diferencial é

e, da mesma forma,

Para obter o valor da imagem restaurada no ponto (x,y), usamos essa equação para calcular w(x,y) e então substituímos em

o que implica em

Com isso, a variância local na imagem restaurada se torna O procedimento é feito para todos os pontos da imagem com ruído g(x,y) Para minimizar solucionar

em relação a w(x,y), temos que

Filtro notch ótimo Exemplo

Imagem original

Espectro de Fourier com picos de interferência

Filtro notch ótimo Exemplo Espectro estimado do ruído

Imagem restaurada com filtro notch ótimo

Ruído estimado no domínio do espaço

Degradação linear espacialmente invariante Modelo de degradação Vimos que um modelo de degradação pode ser definido por

Logo,

Se assumirmos que não há ruído aditivo, temos

Como o operador é linear, temos que

Nessa etapa, assumimos que o operador de degradação é linear e espacialmente invariante Como

é independente de x e y ,

Podemos escrever f(x,y) como no qual o termo

é a resposta de impulso do operador

Degradação linear espacialmente invariante Modelo de degradação A partir da resposta de impulso do operador, obtemos

Assim a equação pode ser escrita como

que é chamado de integral de superposição (Fredholm) de primeiro tipo. Isso basicamente mostra que um sistema linear é completamente caracterizado pela sua resposta de impulso

que é a integral de convolução estendida para 2D

Se

Na presença de ruído aditivo, o modelo de degradação é

é espacialmente invariante, então e como

ou

é espacialmente invariante

Estimativa de degradação O modelo de degradação pode ser obtido por observação

Estimativa por observação da imagem Dada uma imagem sem nenhum conhecimento sobre o operador de degradação , podemos estimá-lo assumindo que ele é linear e espacialmente invariante

Assumindo que o efeito do ruído é negligível, temos que

Se uma imagem é borrada, por exemplo, devemos procurar uma região com presença de objeto e de fundo com alto contraste

que pode ser a base para determinar a função completa de degradação , já que o modelo é espacialmente invariante

O próximo passo é processar essa região imagem menos borrada possível

Claramente esse processo é complexo e só faz sentido em situações específicas como restaurar uma fotografia de valor histórico

para obter uma

Estimativa de degradação Se o aparelho usado na aquisição está disponível, ele pode ser usado para determinar o modelo de degradação Estimativa por experimentação Imagens similares à imagem degradada podem ser adquiridas com várias configurações de sistema até que o resultado esteja degradado o mais próximo possível da imagem a ser restaurada Então, a ideia é obter a resposta de impulso da degradação ao adquirir um impulso (ou pequena luz pontual) utilizando as mesmas configurações do sistema Isso porque um operador ou filtro linear espacialmente invariante é completamente caracterizado pela resposta de impulso

O efeito do ruído pode ser reduzido com um ponto de luz o mais brilhante possível Como a magnitude da transformada de Fourier de um impulso é uma constante, temos que

onde G(u,v) é a transformada de Fourier da imagem do impulso e A é uma constante que descreve a intensidade do impulso

Estimativa de degradação Pode-se modelar o operador de degradação a partir de condições físicas conhecidas que a causam Estimativa por modelagem Condições de ambiente podem ser conhecidas e viabilizar um modelo de degradação. Um exemplo é o modelo de Hufnagel e Stanley (1964) que é baseado em características de turbulência atmosférica. Esse modelo tem a forma

onde k é uma constante que depende da natureza da turbulência. Com exceção da potência 5/6, a equação tem a mesma forma de uma gaussiana.

Imagem

Turbulência

original

severa

480 x 480

k = 0.0025

Turbulência

Turbulência

leve

baixa

K = 0.001

K = 0.00025

Estimativa de degradação Pode-se modelar o operador de degradação a partir de condições físicas conhecidas que a causam Estimativa por modelagem Outra abordagem é derivar um modelo matemático assumindo algum processo físico

Assumindo que o obturador abre e fecha instantaneamente e que o aparato ótico é perfeito, podemos isolar os efeitos devido ao movimento

Considere o caso em que uma imagem é borrada por um movimento linear entre a imagem e o sensor durante a aquisição

Se T é a duração da exposição, então

Suponha que a imagem f(x,y) sofre movimento planar e que e são os componentes do movimento (posições) na direção x e y em função do tempo

onde g(x,y) é a imagem borrada. Sabemos que sua transformada de Fourier é

Obtemos a exposição total pela integração da exposição instantânea sobre o tempo em que o obturador da câmera está aberto

Logo,

Estimativa de degradação Pode-se modelar o operador de degradação a partir de condições físicas conhecidas que a causam Estimativa por modelagem Revertendo a ordem da integração obtemos

Por exemplo, suponha que a imagem sofre movimento uniforme na direção x, a uma taxa . Quando t = T , a imagem se deslocou por uma distância a. Com temos

e o termo entre colchetes é a transformada de Fourier da função deslocada . Utilizando a propriedade de translação da transformada de Fourier, obtemos

de onde tiramos

Se as funções de movimento e são conhecidas, a função de transferência H(u,v) pode ser obtida diretamente por essa equação

Agora, se a imagem se move na direção y a uma taxa a função de degradação se torna

Estimativa de degradação Pode-se modelar o operador de degradação a partir de condições físicas conhecidas que a causam Exemplo

Obter a imagem original a partir da imagem borrada apresenta muitos desafios Um método que pode recuperar essa

imagem é o filtro de Wiener (filtragem do mínimo erro quadrático médio)

Imagem original 688 x 688

Imagem borrada com a = b = 0.1 e T = 1

Filtragem inversa Restauração de imagens A abordagem mais simples para restaurar imagens é a filtragem inversa, na qual computamos uma estimativa do espectro da imagem original pela divisão ponto a ponto

Essa expressão implica que mesmo quando sabemos qual é a função de degradação, não podemos recuperar f(x,y) porque o espectro do ruído não é conhecido Outro problema é que a divisão dominar o termo

pode

Como o modelo de degradação é

Para evitar o denominador próximo de zero, uma abordagem é aplicar a restauração apenas perto da origem a filtragem inversa pode ser escrita como

Filtragem inversa Desborramento de imagem Considere a imagem de 480 x 480 borrada com o modelo de degradação de turbulência atmosférica

com k = 0.0025 Sabemos que essa função de transferência não tem zeros e a divisão pode ser feita em todo o espectro

Filtragem inversa Desborramento de imagem Filtro inverso em

Filtro inverso com

todo o espectro

corte de raio 40

Filtro inverso com corte de raio 70

O filtro inverso não tem bom desempenho. A partir

de um certo raio, o ruído domina a imagem

Filtro inverso com

corte de raio 85

Filtro de Wiener Filtragem do mínimo erro quadrático médio Uso de características estatísticas O filtro inverso não leva em consideração o ruído O filtro de Wiener incorpora a função de degradação e as características estatísticas de ruído no processo de restauração O objetivo é achar uma estimativa da imagem corrompida f tal que o erro quadrático médio entre elas é minimizado

Assume-se que o ruído e a imagem não têm correlação, que um ou outro tem média zero, e que os níveis de intensidade na estimativa são uma função linear dos níveis da imagem degradada

Dadas essas suposições, o mínimo da função de erro no domínio da frequência é

cuja derivação está fora do escopo desta aula, e os termos são 1) transformada de Fourier da estimativa de imagem não degradada 2) transformada de Fourier da imagem degradada 3) função de transferência de degradação 4) 5) espectro de potência do ruído 6) espectro de potência da imagem original

Filtro de Wiener Filtragem do mínimo erro quadrático médio Uso de características estatísticas Mas raramente se conhece o espectro de potência da imagem original nem o espectro do ruído aditivo Quando não é possível usar estimativas para esses termos, o filtro de Wiener é aproximado pela expressão

onde K é uma constante que é somada a todos os termos de

No exemplo, H(u,v) é o modelo de degradação de turbulência atmosférica

Filtro inverso com corte de raio 70

Filtro de Wiener com K empírico

Filtragem inversa Imagem corrompida com

borramento de movimento linear e ruído gaussiano

Filtro de Wiener

de variância 650

Imagem corrompida com

borramento de movimento linear e ruído gaussiano de variância 65

Imagem corrompida com borramento de movimento linear e ruído gaussiano de variância 0.0065

Filtro de Wiener

Endereço

Obrigado e até à próxima aula!

Universidade Federal de Juiz de Fora, Instituto de Ciências Exatas, Edifício do Departamento de Ciência da Computação, 4º andar, sala 415

Telefone (32) 2102-3387 ramal 4045

E-mail [email protected]

Processamento de Imagens

Processamento de cor Prof. Marcelo Bernardes Vieira

Bibliografia e fontes

Essa aula foi construída a partir das seções 6.1, 6.2, 6.3, 6.4, 6.5, 6.6 e 6.7 do livro “Digital Image Processing”, de Rafael C. Gonzalez e Richard E. Woods, 4a

edição, Editora Pearson, 2018.

Sinopse Tópicos desta aula Fundamentos de cor

Sistemas de cor Pseudo-coloração Suavização e realce Segmentação em espaços de cor

Detecção de bordas

Fundamentos de cor Física da cor A percepção de cor é um processo psicofísico que não é bem entendido Mas a física da cor é bem conhecida e pode ser definida formalmente Em 1666, Isaac Newton descobriu que a luz do sol se descompõe ao passar por um prisma em um espectro contínuo de cores indo do vermelho até o violeta

O espectro de cor pode ser dividido em seis bandas violeta (380 a 440nm), azul (440 a 490nm), verde (490 a 565nm), amarelo (565 a 590nm), laranja (590 a 630nm) e vermelho (630 a 780nm) Um corpo que reflete a luz de forma balanceada parece branco para um observador. Mas um corpo que favorece a reflectância de forma diferenciada apresentará tons de cores Um objeto verde reflete luz com comprimentos de onda principalmente no intervalo de 490 a 565nm enquanto absorve os outros comprimentos de onda

Fundamentos de cor Física da cor A luz visível é composta de uma banda relativamente estreita de frequências no espectro eletromagnético Se a luz é acromática, seu único atributo é a intensidade. Luz cromática se espalha pelo intervalo de 400 a 700nm e há três grandezas para descrevê-la: 1) radiância que é a quantidade de energia (watts) da fonte 2) luminância que é a quantidade de energia percebida (lumens) 3) brilho que indica a noção acromática de intensidade

Fundamentos de cor O olho humano Cones são os sensores no olho responsáveis pela percepção de cor Há cerca de 6 a 7 milhões de cones em um olho, entre os quais 65% são sensíveis ao verde, 33% são sensíveis ao vermelho e 2% são sensíveis ao azul. Os cones azuis são individualmente mais sensíveis que os outros Assim, o olho humano capta cores como uma combinação do que se denomina cores primárias: vermelho (R), verde (G) e azul (B)

Fundamentos de cor Combinação aditiva de primárias Cores primárias podem ser adicionadas para produzir cores secundárias: magenta (R+B), ciano (G+B), e amarelo (R+G) Adicionar a cor secundária à primária correspondente gera a cor branca Dispositivos que usam adição de primárias: monitores LCD, monitores de plasma, monitores CRT, painéis de led

Fundamentos de cor Combinação subtrativa de secundárias Temos que diferenciar entre as cores primarias de luz e as cores primárias de corantes ou pigmentos Uma cor primária de corante ou pigmento é aquela que subtrai ou absorve uma cor primária de luz, e reflete ou transmite as outras duas Exemplo de primárias de pigmentos são o ciano (C), o magenta (M) e o amarelo (Y). O vermelho, verde e azul são as secundárias. A combinação de primárias e secundárias geram o preto Dispositivos que usam subtração de secundárias: impressoras, misturadores de tintas

Fundamentos de cor Luz branca

Distribuição de cor

E

100

50

Uma cor é a percepção de uma distribuição espectral de luz 0 400

500

600

700

l (mm)

Luz colorida 100

E

comprimento de onda dominante define a matiz (hue)

50

0 400

500

600

700

l (mm)

Fundamentos de cor E

comprimento de onda dominante define a matiz (hue)

Componentes de uma cor Podemos distinguir uma cor de outra através de três atributos 1) matiz (hue): associada com o comprimento de onda dominante na distribuição de cor 2) brilho (brightness): indica a intensidade da luz 3) saturação (saturation): indica a pureza, ou a quantidade de luz branca misturada com o matiz

400

500

600

700

l (mm)

matiz (hue)

a concentração no comprimento de onda dominante define a saturação ou pureza

Cores como o rosa (vermelho mais branco) são menos saturadas O par matiz e saturação é chamado de cromaticidade Portanto, uma cor é caracterizada pela sua cromaticidade e brilho

500

saturação

400

intensidade define o brilho (brightness)

500

600

brilho (brightness)

E

400

E

600

700

l (mm)

700

l (mm)

Fundamentos de cor Valores triestímulo As quantidades de vermelho, verde e azul para formar qualquer cor em particular são chamadas valores triestímulo, denotados X, Y e Z

Uma cor é especificada pelos seus coeficientes tricromáticos

que é uma projeção no plano de Maxwell de tal forma que

Fundamentos de cor Padrão CIE Para o propósito de padronização, a CIE (Comission Internationale de l’Eclairage) designou em 1931, os comprimentos de onda para três cores primárias: azul = 435.8 nm, verde = 546.1 nm, e vermelho = 700 nm

Luz branca:

Luz de teste: Anteparos

Utilizando esses cores primárias puras, uma lista de cores cujas distribuições são conhecidas tiveram suas coordenadas determinadas experimentalmente O resultado é o padrão CIE-RGB que, após alguns ajustes forma o padrão CIE-XYZ

Luzes primárias:

Fundamentos de cor Especificação de cor CIE-XYZ O padrão CIE-XYZ projetado no plano de Maxwell forma todas as cores que podem ser geradas com as primárias CIE Podemos usar o diagrama para especificar uma cor, dada sua coordenada triestímulo. O ponto “verde” na imagem tem aproximadamente 62% de verde e 25% de vermelho. Logo, essa cor tem 13% de azul Qualquer linha reta que liga dois pontos no diagrama define todas as varações de cores possíveis pela combinação aditiva das duas cores correspondentes

Fundamentos de cor Gamute de cores Podemos determinar as cores que podem ser obtidas a partir de quaisquer três cores no diagrama cromático A combinação linear de três cores formam um triângulo cujos vértices são as cores geradoras A área do triângulo forma o gamute de cores Monitores RGB tem seu gamute caracterizado por triângulos O gamute de uma impressora geralmente é mais complexo, gerando uma região irregular

Sistemas de cor O objetivo de um modelo de cor é facilitar a especificação de cores

Modelo de cor RGB Cada cor é determinada pelos componentes espectrais de vermelho, verde e azul

É um modelo baseado em um sistema de coordenadas cartesiano em que se assume que todos os componentes são normalizados entre [0, 1] O número de bits usado para representar cada pixel em um espaço RGB é chamado de profundidade de bits O termo full color é usado para denotar uma imagem RGB 24 bits

Sistemas de cor Processo subtrativo de formação de cor

Modelo de cor CMY e CMYK Quando uma superfície revestida com pigmento ciano é iluminada com luz branca, nenhuma luz vermelha é refletida da superfície. O ciano subtrai a cor vermelha

A conversão de CMY para CMYK começa por

A maioria dos dispositivos que depositam pigmentos em um papel requer cores em CMY internamente

de outra forma

Quantidades iguais de pigmentos das primárias ciano, magenta e amarelo devem produzir cinzas ou preto. Para produzir preto, adiciona-se uma 4ª cor que é o preto K

o processo inverso de CMYK para CMY é

Se K = 1, então temos o preto puro, o que implica que

Sistemas de cor Sistema de interface de cor

Modelo de cor HSI Os sistemas de cor RGB e CMY, e outros similares, não são adequados para descrever cores de forma prática por humanos

É mais intuitivo usar a matiz (H), a saturação (S) e o brilho (I). O sistema HSI desacopla a cromaticidade (HS) da intensidade (I) da cor A cromaticidade é determinada sobre um plano. O ângulo define a matiz em que as primárias são separadas por 120º e as secundárias são separadas por 60º das suas primárias Os planos são arranjados em um eixo perpendicular a eles que é a intensidade.

Sistemas de cor Sistema de interface de cor

Modelo de cor HSI Os planos são arranjados em um eixo perpendicular a eles cuja posição define a intensidade da cor

Sistemas de cor Conversão RGB para HSI

Conversão de RGB para HSI O cubo RGB convertido para HSI

Dada uma cor no formato RGB, o componente H é dado por

com

Os componentes saturação e intensidade são Hue

Saturation

Intensity

Sistemas de cor Conversão RGB para HSI

Cores

primárias e

Hue

secundárias

Saturation

Intensity

Sistemas de cor Modelo de cor independente de dispositivo

Modelo de cor CIE L*a*b* Cores variam muito entre dispositivos como monitores e impressoras a menos que haja uma calibração

Um sistema de cor independente de dispositivo relaciona gamutes de cor entre dispositivos distintos Um modelo usado por sistemas de gerenciamento de cor (CMS) é o CIE L*a*b, ou CIELAB, cujos componentes são

onde

e

e

são os valores triestímulos

O sistema L*a*b forma um espaço de cor 1) colorimétrico, em que as cores são percebidas como iguais têm a mesma coordenada 2) perceptualmente uniforme, em que as diferenças entre matizes são percebidas uniformemente 3) Independente de dispositivo

Pseudo-coloração Cores falsas Processamento de imagens com pseudo-coloração consiste em atribuir cores a tons de cinza baseado em algum critério

O método de fatiamento de intensidade (intensity slicing) é o mais simples para pseudo-coloração

O principal objetivo é facilitar a visualização e interpretação de informações em tons de cinza que representam eventos em uma imagem

Exemplo de fatiamento com duas (ou três) cores

Vem do fato de que humanos podem discernir milhares de cores e suas intensidades, comparado com menos do que três dezenas de tons de cinza

Pseudo-coloração Fatiamento de intensidade O método para múltiplas cores consiste em subdividir o intervalo possível de tons de cinza [0, L-1] por P planos Dado que quais se atribui cores

, os planos formam P +1 intervalos aos

A pseudo-coloração consiste em calcular

onde é a cor associada com o k-ésimo intervalo pelos planos em e

definido

Imagem em tons de cinza de

Fatiamento de intensidade com

um padrão de teste de radiação

8 cores

Pseudo-coloração Imagem em raio X de uma solda com falha estrutural

Fatiamento de intensidade com 2 cores

Pseudo-coloração Imagem do satélite TRMM para

medição de chuvas tropicais

Mapeamento de tons de cinza em 8 bits para as 256 cores da paleta

Pseudo-coloração Transformações intensidade para cor Outras transformações são capazes de gerar melhores resultados de realce do que o método de fatiamento A ideia é aplicar três transformações independentes em cada canal em função da intensidade dos pixels de entrada Esse método produz uma imagem composta cujo conteúdo de cor é modulado pela natureza das funções de transformação

Pseudo-coloração Transformações intensidade para cor Um exemplo são as imagens em raio X ao lado que são de bagagens A bagagem à esquerda possui conteúdo normal. Mas a bagagem à direita tem materiais que simulam explosivos plásticos Note que é difícil diferenciar as duas imagens visualmente usando os tons de cinza O uso de padrões senoidais provê uma forma de realçar os objetos que compõem a imagem

Pseudo-coloração Bagagem sem explosivo plástico

Bagagem com explosivo plástico

Pseudo-coloração Imagens multiespectrais Imagens multiespectrais são compostas por múltiplas bandas ou canais, adquiridos por múltiplos sensores Filtragem de cada canal em conjunto com conhecimento sobre suas características físicas Múltiplos canais podem ser combinados para gerar uma imagem pseudo-colorida em que detalhes de interesse são realçados

Vermelho visível

Verde visível

Azul visível

Pseudocoloração

Infra-vermelho próximo

Composição IR G B

Composição R IR B

Vegetação destacada

Vegetação destacada

Lua Io de Júpiter pseudo-colorida a partir de imagens da sonda Galileo

Pseudocoloração

Esse exemplo usa dados de sensores do espectro visível

Processamento de imagens coloridas Imagens de cor com 24 bits O processamento de imagens de 24 bits tem duas categorias Na primeira, processamos cada canal (tom de cinza) individualmente. Nesse caso, assume-se que as variáveis RGB são independentes

Na segunda, o processamento ocorre diretamente no pixel, com a cor representada por um vetor

Processamento de imagens coloridas Pode-se transformar qualquer componente da imagem com

mas o efeito na cor dependerá da natureza do canal

Processamento de imagens coloridas No espaço de cor HSI, podemos mudar o brilho processando apenas o canal de intensidade

A transformação precisaria ser aplicada nos 3 canais RGB para obter o mesmo efeito

Resultado da redução de intensidade em 30% (k = 70%)

Processamento de imagens coloridas Complemento de cor

Resultado da transformação de complemento de cor

Processamento de imagens coloridas Fatiamento de cor Destacar um intervalo específico de cores em uma imagem é útil par separar objetos

Se uma esfera é usada para especificar as cores de interesse, então temos

A forma mais simples é mapear as cores fora do intervalo de interesse em uma cor neutra Se as cores podem ser definidas por um hipercubo de largura W centrado em uma cor de interesse média podemos usar

onde

é o raio da esfera envolvente

Processamento de imagens coloridas Transformação de fatiamento de cor A cor central é o vermelho característico do morango na imagem (0.6863, 0.1608, 0.1922)

Cubo com W = 0.2549

Esfera com raio = 0.1765

Processamento de imagens coloridas Correção de tons

No espaço RGB, os três canais são ajustados igualmente

Processamento de imagens coloridas Balanceamento de cor

O objetivo é remover excesso de determinadas primárias ou adicionar brilho em outras

Processamento de imagens coloridas Equalização de histograma

Imagem original

Ajustar os componentes de uma imagem separadamente não provê bons resultados É mais interessante equalizar o brilho uniformemente Um exemplo é equalizar apenas o canal de intensidade

do modelo HSI Imagem

Saturação

equalizada

ajustada

Suavização de cor Núcleo de suavização Podemos aplicar o mesmo núcleo de suavização em todos os canais de uma imagem. A diferença é que precisamos lidar com componentes de vetores de cor

Dadas as propriedades de adição de vetores

A média dos componentes RGB em uma vizinhança centrada em (x,y) é No espaço de cor HSI, a suavização pode ser feita apenas no canal de intensidade

Suavização de cor Imagem

Canal

colorida

vermelho Hue

Canal

Canal

verde

azul

Saturation

Intensity

Suavização de cor Filtro da média 5 x 5 em cada canal RGB

Filtragem do canal intensidade (HSI)

Diferença dos dois resultados

Realce de imagens coloridas Filtro Laplaciano O Laplaciano de um vetor é definido como um vetor cujos componentes são os Laplacianos dos componentes escalares individuais

O filtro Unsharp mask pode ser aplicado em cada canal separadamente

Unsharp mask no espaço RGB

Unsharp mask na intensidade (HSI)

Diferença entre os resultados

Segmentação em espaços de cor Imagem original (região vermelha)

Hue

Saturation

Intensity

Segmentação no sistema HSI É natural pensar no espaço HSI porque a cor é convenientemente representada pelo canal de matiz. O canal de saturação pode ser usado para melhorar a segmentação. A intensidade não tem informação de cor e portanto não é usada.

Limiarização do canal H (limiar = 0.9 )

Canal H multiplicado pela máscara

Segmentação no sistema HSI

Histograma do resultado da multiplicação

Limiarização do produto com limiar = 0.9

Segmentação em espaços de cor Segmentação no sistema RGB Uma segmentação de cor geralmente é mais fácil de se obter no espaço RGB

A cor z é classificada de acordo com um limiar de distância

Uma forma é obter uma média da cor RGB a que se quer segmentar

Nesse caso, a segmentação é a mesma proposta pelo fatiamento de cor com esfera. Outra possibilidade é definir um cubo

O objetivo da segmentação é classificar cada pixel RGB como sendo do intervalo especificado ou não

Uma outra possibilidade é usar o segundo momento das cores de interesse em uma região, através da matriz de covariância C, com a qual a distância pode ser

É preciso uma medida de similaridade como a distância Euclidiana, por exemplo com a qual a desigualdade imerso no espaço de cores RGB

forma um elipsoide 3D

Imagem original em que a região de interesse está selecionada por um retângulo

Segmentação no sistema RGB Segmentação no espaço RGB usando a cor média na região selecionada. Uma caixa foi usada com lado = 2,5 vezes o desviopadrão do canal vermelho

Detecção de borda Bordas podem ser detectadas em componentes individuais ou diretamente no espaço de cor vetorial Detecção de borda ( edge ) Até agora, usamos apenas o vetor gradiente da imagem para detectar borda. Mas não há gradiente definido para quantidades vetoriais Detectar borda separadamente em cada canal não vai dar bons resultados. O problema aparece no momento de mesclar os vetores gradiente A borda vertical na imagem superior deveria ser mais intensa do que a de baixo

Imagem Vermelho (R)

Verde (G)

Azul (B)

colorida

Detecção de borda Bordas podem ser detectadas em componentes individuais ou diretamente no espaço de cor vetorial Detecção de borda ( edge ) De fato, o problema é determinar um vetor gradiente c com uma magnitude e uma direção a partir de todos os canais

Definimos as quantidades interno entre esses vetores

e

dadas pelo produto

Sejam r, g, b, os vetores unitários sobre os eixos R, G e B do espaço de cor RGB, e os seguintes vetores gradiente em relação os eixos x e y da imagem Usando essa notação, Di Zenzo (1986) mostrou que a direção de taxa máxima de mudança de c(x, y) é

e a taxa de variação em (x,y) na direção de

é

Gradiente em R

Gradiente em G

Gradiente em B

Imagem original

Gradiente de Di Zenzo

Soma da magnitude do gradiente de

Diferença dos dois resultados

Detecção de borda cada canal

Endereço

Obrigado e até à próxima aula!

Universidade Federal de Juiz de Fora, Instituto de Ciências Exatas, Edifício do Departamento de Ciência da Computação, 4º andar, sala 415

Telefone (32) 2102-3387 ramal 4045

E-mail [email protected]

Processamento de Imagens

Bases de funções e transformadas Prof. Marcelo Bernardes Vieira

Bibliografia e fontes

Essa aula foi construída a partir das seções 7.2, 7.4, 7.5, 7.6, e 7.9 do livro “Digital Image Processing”, de Rafael C. Gonzalez e Richard E. Woods, 4a edição,

Editora Pearson, 2018.

Sinopse Tópicos desta aula Transformações baseadas em matrizes

Bases de funções Imagens base Transformada Discreta do Cosseno Transformada de Haar

Transformadas baseadas em matrizes Par de transformação A transformada de Fourier discreta 1D pode ser expressada na seguinte forma

onde x é uma variável espacial, T(u) é a transformação de f(x), r(x,u) é um núcleo de transformação direta, e o inteiro u é uma variável de transformação com valores no intervalo

A transformada inversa de t(u) é

onde s(x,u) é um núcleo de transformação inversa e x tem valores no intervalo Os núcleos e que dependem apenas dos índices x e u , determinam totalmente o tipo de transformação do par de transformação que eles formam

Transformadas baseadas em matrizes Expansão linear de f ( x ) A função f(x) é uma soma ponderada de N funções de núcleos inversos e T(u) são os pesos

Todos as N funções s(x,u) participam da computação, formando uma expansão linear de f(x) Se assumirmos que s(x,u) são vetores de uma base ortonormal de um espaço de produto interno, temos que

Transformadas baseadas em matrizes Matriz de transformação Podemos definir f(x), T(u) e s(x,u) como vetores coluna

Combinando os N vetores base da transformação em uma matriz de transformação N x N

com a qual podemos calcular

de forma que os coeficientes pode ser expressados por ou

Transformadas baseadas em matrizes Matriz de transformação A inversa dessa transformação se baseia na relação

que vem do fato de que a base de Fourier s(x,u) é ortogonal Logo, a transformada discreta de Fourier em 1D pode ser expressada pelo par de transformação

Chamamos uma transformação que satisfaz de transformação ortogonal que preserva produtos internos (isometria) e, portanto, preserva distâncias e ângulos As linhas e colunas de A são bases ortonormais

Transformadas baseadas em matrizes Transformações 2D Para arranjos 2D temos as relações

e onde r(x,y,u,v) e s(x,y,u,v) são os núcleos de transformação direto e inverso Vimos que um núcleo r(x,y,u,v) é separável se

e simétrico se ele for construído a partir de um vetor

Se os núcleos são reais e ortogonais, e ambos r e s são separáveis e simétricos., então o equivalente das transformações matriciais em 2D são e onde F é uma matriz N x N contendo os elementos de f(x,y), T é sua transformada N x N , e A é a matriz da base de funções definida anteriormente As multiplicações antes e depois calculam a transformação das linhas e das colunas, quebrando a transformação 2D em duas transformações 1D

Transformadas baseadas em matrizes Exemplo Considere os vetores bidimensionais e

A matriz de transformação é que aplicada no arranjo 2D

que formam uma base ortonormal Gera cuja inversa é

Transformadas baseadas em matrizes Arranjos retangulares Se o arranjo a ser transformado é retangular, as equações se tornam

onde F tem tamanho M x N , tem tamanho N x N

tem tamanho M x N , e

Considere as duas matrizes ortogonais,

e

Um exemplo de transformação de um arranjo de 3 x 2 é

Transformadas baseadas em matrizes Base ortogonal complexa Vetores base complexos são ortonormais se somente se

Como exemplo, a transformada inversa da matriz

Quando os vetores base são complexos (ao invés de reais), as transformações se tornam

é sua conjugada transposta

que são chamadas de par de transformação unitário Note que

Transformadas baseadas em matrizes Bases biortonormais Funções base são biortonormais se existe um conjunto de funções base duais tal que

Nem as funções base e nem as funções duais precisam ser ortogonais: isso torna o projeto de bases biortonormais mais fácil do que bases ortonormais Dado um conjunto de bases de expansão biortonormal, as transformações são

Como exemplo, considere a base biortonormal

Transformadas baseadas em matrizes Bases biortonormais A transformada do vetor

é

Como

e produtos internos

, essa transformação não preserva

Mesmo assim, ela é reversível por meio da base dual

Transformadas baseadas em matrizes Transformada de Fourier As ideias apresentadas podem ser utilizadas para expansões contínuas na forma

Considere a representação de uma função contínua periódica de período T

onde são os coeficientes da expansão e vetores base de um espaço de produto interno

Temos que

Se

são vetores base ortonormais de

são os , para

então

e

Transformadas baseadas em matrizes Transformada de Fourier A contrapartida discreta da transformada contínua é

A transformada de Fourier contínua da função de período T = 1 é

que formam uma base ortonormal do espaço de produto interno Considerando a frequência negativa, a transformada de f(x) é

Transformadas baseadas em matrizes Transformada de Fourier Na versão discreta, com N = 8, com para , resulta em

Na figura, a forma matricial é ilustrada. Note que e , embora as altas frequências tenham sido reduzidas às baixas na amostragem pontual (linhas tracejadas)

Bases de funções Projeção entre funções Transformadas medem o quanto uma função se parece com um conjunto de vetores base A maioria das bases ortogonais se relacionam com conjuntos de senoides, ondas quadradas, e outras funções oscilatórias curtas chamadas wavelets Se h(t) é um vetor base e g(t) é a função sendo transformada, o coeficiente

Se h é uma função base com a forma de rampa

então o coeficiente da projeção pode ser usado para detectar o gradiente linear de brilho Se h é uma função base senoidal

é uma medida de similaridade entre g e h Altos valores de indicam que g e h compartilham características importantes no tempo e na frequência (forma ou largura de banda)

então o coeficiente captura padrões de ressonância entre essa senoide e a função g

Exemplos de bases de funções Para N = 16, base de Fourier, base discreta do cosseno, base WalshHadamard, base Slant

Bases de funções

Exemplos de bases de funções Para N = 16: base de Haar, base de Daubechies, base biortogonal Bspline e sua dual, base de Shannon

Bases de funções

Bases de funções Localização tempo-frequência Podemos analisar uma função base em termos de sua localização (ou atuação) no espaço e sua localização na frequência

A média indica a posição média da função no tempo t e a variância indica a sua dispersão em t , em torno dessa média

Dado um núcleo h, precisamos determinar sua localização no plano tempo-frequência

Considere o espectro de h no domínio da frequência que forma a função de densidade de probabilidade

Seja com média uma função de densidade de probabilidade com média e variância

e variância

Bases de funções Localização tempo-frequência A maioria da energia de h se concentra em torno de

no plano tempo-frequência

De fato, a maioria da energia está dentro de uma região retangular chamada caixa (ou célula) de Heisenberg de área tal que

O princípio da incerteza de Heisenberg indica que é impossível para uma função ter suporte finito no tempo e na frequência ao mesmo tempo As dispersões pequenas

e

não podem ser arbitrariamente

Assim, as funções delta de Dirac localizadas no tempo, ou seja no domínio da frequência já que que é denominada desigualdade de Heisenberg-Gabor e que coloca um limite inferior na área da célula de Heisenberg e, portanto,

são perfeitamente mas seu espectro é não-zero

Bases de funções Localização tempo-frequência Por outro lado, a função base senoidal é essencialmente não nula em todo o eixo do tempo, mas é perfeitamente localizada no domínio da frequência Como

cujo espectro de magnitude é é zero em todas as frequências, exceto em ,a célula de Heisenberg é infinita no tempo e infinitesimamente pequena na frequência

O princípio da incerteza de Heisenberg nos diz que é impossível determinar qual frequência compõe o espectro de um determinado local no tempo

Bases de funções

Bases de funções Wavelets É possível melhorar a localização da energia de uma função base no plano tempo frequência. Uma dessas formas é usar a transformada de Fourier por Janela

Com uma wavelet mãe adequadamente projetada, a família de funções forma uma base de um espaço de funções Sua transformada de Fourier é

Outra maneira é escalar e deslocar funções mais simples, chamadas wavelets, da seguinte forma em que valores positivos de s leva a um espectro dilatado. Ou seja, comprimir o tempo expande a frequência onde s e são inteiros e a wavelet mãe é uma função real de quadrado integrável com um espectro do tipo passa-banda

O parâmetro determina a posição de s determina sua largura

A translação dada por

, leva ao espectro

no eixo t, e a escala que implica em , ou seja, o espectro de magnitude das funções transladadas é o mesmo

Bases de funções Wavelets Cada função base escalada e transladada de wavelets é caracterizada por um único espectro e localização no tempo Assim, os coeficientes de uma transformada de wavelets, usando produto interno para medir a similaridade entre a função sendo transformada e a função base, provêm tanto informação temporal quanto informação espectral

Imagens base Funções base Os núcleos de transformação dependem apenas dos índices x,y,u,v e não dos valores de f(x,y) ou T(u,v) Então, a função para u,v = 0,1,..., N-1 pode ser reescrita na forma

onde F é uma matriz de N x N contendo os valores de f(x,y) e

A função F é então explicitamente definida como uma combinação linear de elementos, já que tanto u quanto v variam entre 0,1,..., N-1 Chamamos de imagens base Se

é real, simétrica e separável, podemos escrever

Imagens base Imagens base de Shannon Considere a base para amostragem pontual e uniforme, que consiste de 1 em apenas um local do suporte enquanto o restante dos valores é zero Sua versão 1D leva à matriz de transformação que é a matriz identidade Sua versão 2D com 8 x 8 é ilustrada ao lado

Imagens base Parte real 2D

Imagens base de Fourier A base de Fourier gera imagens com números complexos No caso, as imagens base podem ser divididas entre sua parte real e imaginária

No exemplo com N = 8, note que a maior frequência ocorre com u e v = 4 já que a base não está centralizada

Matriz de transformação 1D

Parte imaginária 2D

Transformada Discreta do Cosseno Transformada real A transformada discreta do cosseno (DCT) gera valores reais ao invés de valores complexos como a transformada de Fourier. Ela também tem uma implementação de transformada rápida como a FFT A forma mais comum de DCT em 1D é pela substituição do núcleo da transformação inversa por

A matriz de transformação resultante não é simétrica

As funções base são cossenos harmonicamente relacionados entre frequências de 0 a O espaçamento entre frequências é

onde

é real e ortogonal mas

Transformada Discreta do Cosseno Resolução de frequência O espectro da DCT tem aproximadamente o mesmo intervalo de frequência da transformada de Fourier, mas tem o dobro da resolução de frequências Por exemplo, se N = 4 e , os coeficientes da DCT resultante correspondem às frequências {0, 0.5, 1, 1.5} enquanto as frequências da DFT correspondem às frequências {0, 1, 2, 1} Para N = 8, a base de DCT tem frequência máxima com u e v = 7, enquanto a transformada de Fourier tem frequência máxima com u ev =4 DFT

DCT

Transformada Discreta do Cosseno Transformada DCT 2D A transformada discreta do cosseno 2D é baseada no núcleo de transformação inversa separável

onde

e

são definidos de forma análoga

Assim, a matriz de transformação transformada 1D quanto para a 2D

pode ser usada tanto para a

Matriz de transformação 1D =

Imagens base 2D

Transformada Discreta do Cosseno Simetria par 1)

Extensão simétrica de uma função f(x) com N pontos

2)

Calcular a transformada de Fourier de 2N pontos

Ao invés de periodicidade de N pontos, a transformada discreta do cosseno assume que a função tem simetria par e é periódica em 2N pontos

3)

Seja

Uma DCT de N pontos pode ser obtida a partir de uma transformada discreta de Fourier de 2N pontos de uma versão simétrica de f(x)

4)

A transformada discreta do cosseno é onde

Embora compartilhe várias propriedades da transformada de Fourier, a DCT impõe um conjunto de premissas diferentes sobre as funções representadas

um vetor coluna onde

Transformada Discreta do Cosseno A simetria par da função e a

periodicidade 2N reduzem a introdução de altas frequências espúrias no limite dos períodos Isso traz benefícios para o problema de compressão

Transformada Discreta do Cosseno Exemplo 1D Seja para 2N pontos

a função a ser transformada e sua extensão

O vetor de translações é

que é um período de uma função par. Sua transformada de Fourier é e os pesos são

Assim, a transforma discreta do cosseno é

Transformada Discreta do Cosseno Exemplo 1D Para validar o resultado, a transformada discreta do cosseno direta é

Reconstrução progressiva da sequência 1D

Transformada de Haar A wavelet mais antiga e mais simples Descoberta em 1910, as funções base da transformada de Haar foram mais tarde reconhecidas com a mais antiga e simples wavelet ortonormal

As funções base de Haar são

A transformada de Haar é baseada em uma família de funções que são definidas no intervalo contínuo A variável u é um inteiro que, para u > 0, pode ser decomposto unicamente em

onde p é a maior potência de 2 contida em u, e q é o resto

Para u = 0,

para todo x . Para todos os outros valores de x exceto nos intervalos semiabertos

nos quais a função é uma onda quadrada de magnitude e

Transformada de Haar Funções base O parâmetro p determina a amplitude e a largura das duas ondas quadradas, enquanto q determina sua posição em x Quando u aumenta, as ondas quadradas se tornam mais estreitas e o número de funções que podem ser representadas como combinações de funções de Haar aumentam

Transformada de Haar Matriz de transformação A matriz de transformação de Haar pode ser obtida pelo núcleo

A matriz de transformação é dada por

para u = 0,1,..., N -1, onde N é uma potência de 2. A matriz de Haar de N x N é

Por exemplo, se N = 2

Transformada de Haar Matriz de transformação Para N = 4, os parâmetros u, p, e q assumem os valores

A matriz de Haar é real, ortogonal e ordenada sequencialmente Ela pode ser decomposta em produtos de matrizes com menos zeros do que a matriz original

e a matriz de transformação é

E como a matriz tem menos elementos não zero, é possível obter algoritmos mais rápidos para a transformada de Haar, na ordem de ao invés de da FFT

Transformada de Haar Matriz de transformação para N = 8

Imagens base em 2D para N = 8

Endereço

Obrigado e até à próxima aula!

Universidade Federal de Juiz de Fora, Instituto de Ciências Exatas, Edifício do Departamento de Ciência da Computação, 4º andar, sala 415

Telefone (32) 2102-3387 ramal 4045

E-mail [email protected]

Processamento de Imagens

Transformada de Wavelets Prof. Marcelo Bernardes Vieira

Bibliografia e fontes

Essa aula foi construída a partir da seção 7.10 do livro “Digital Image Processing”, de Rafael C. Gonzalez e Richard E. Woods, 4a edição, Editora Pearson, 2018.

Sinopse Tópicos desta aula Transformada de Wavelets

Expansão na série de Wavelets Transformada Discreta de Wavelets em 1D Transformada rápida de Wavelets Transformada de Wavelets 2D

Processamento com Wavelets

Transformada de Wavelets Teoria de multiresolução

Wavelets Em 1987, Stephane Mallat apresentou uma nova abordagem para processamento e análise de sinais chamada teoria de multiresolução

O complemento da função de escala é dado por uma função wavelets que determina os detalhes, ou as diferenças, entre resoluções

Essa teoria se relaciona com a representação e análise de sinais em mais de uma resolução (processamento piramidal e filtragem de quadratura, por exemplo)

Logo, a função de escala e de detalhe (wavelets) servem como uma base ortogonal, ou biortogonal, de uma expansão de wavelets

Uma função de escala é usada para criar uma série de aproximações de uma função ou imagem Geralmente, as resoluções diferem de um fator de 2 (escala diádica)

As funções base de Haar são um exemplo de wavelets que são as mais simples e mais antigas conhecidas

Transformada de Wavelets Funções de escala

Multiresolução Considere o conjunto de funções base composta de todas as translações e escalamentos diáticos (potência de 2) da função de escala pai definido por

Vamos denotar esse espaço de funções como

onde a translação k determina a posição de x, e a escala j determina sua largura e amplitude

Isso porque, quando o índice de escala aumenta, as funções usadas para representar as funções do espaço ficam mais estreitas (comprimidas) e separadas por um espaço menor

Se fixamos a escala a , então o conjunto base do espaço de funções gerada por

sobre o eixo

éa

para

e

Aumentar a escala mais fino no espaço

possibilita a inclusão de funções com detalhe

Transformada de Wavelets Funções de escala

Exemplo Considere a função de escala de altura e largura unitários

Essa é a função base de Haar que tem a forma de um pulso Quando a escala é j = 1, as funções escala (4 no total) têm a metade da largura da escala j = 0 (duas no total). É preciso uma escala maior para representar uma função com mais detalhes

Exemplo de função que pertence à escala j = 1 mas não

A própria função que é uma função base e um membro de pode ser representada por uma combinação linear das funções base do espaço de escala da seguinte forma

à j =0

Transformada de Wavelets Funções de escala

Análise em multiresolução As funções de escala de todas as transformadas discretas de wavelets (DWT) precisam obedecer quatro requisitos fundamentais para análise em multiresolução: 1) A função escala deve ser ortogonal com as suas translações 2) O espaço de funções gerado pela função escala em baixas escalas estão aninhadas dentro dos espaços gerados em maiores escalas

Em outras palavras,

Sob essas condições, podem ser expressadas como uma combinação linear de funções com resolução dobrada de si mesmas

onde são coeficientes de expansão que podem ser reunidos em um conjunto ordenado

3) 4)

A única função que pode ser representada em todas as escalas é f(x) = 0 Todas as funções de quadrado integrável podem ser representadas por uma combinação de funções de escala quando

comumente chamados de coeficientes de funções de escala. Para funções de escala ortonormais, temos que

Transformada de Wavelets Funções de escala

Exemplo Os coeficientes da função de escala de Haar são

que formam a primeira linha da matriz de transformação Haar

A expansão da função escala entre duas escalas consecutivas é

Transformada de Wavelets Funções de detalhe ( wavelets )

Espaço de detalhe Dada uma função de escala que atende aos requisitos de análise em multiresolução, existe uma função wavelet mãe cujas translações inteiras e escalamento diático é

Então, temos a relação entre espaços de escala

onde o operador para todo As funções base de detalhe geram a diferença entre quaisquer dois espaços de escala adjacentes Denotamos

o espaço de funções gerado pelas funções wavelet

detona a união de espaço de funções

O complemento ortogonal de de escala que são a base de que são a base de

em é e as funções são ortogonais às funções wavelets

Transformada de Wavelets Funções de detalhe ( wavelets )

Espaço de detalhe Como o espaço de detalhe, ou espaço de wavelet, reside dentro do espaço de escala e as funções base pertencem a , a função wavelet pode ser escrita como a soma ponderada de funções de escala deslocadas com dobro de resolução, ou seja

Como funções wavelet são ortogonais entre si e em relação às suas funções de escala complementares, pode ser provado que os coeficientes da função wavelet se relacionam com os coeficientes da função de escala na forma

Como exemplo, os coeficientes de escala de Haar são onde são chamados de coeficientes da função wavelet que podem ser reunidos em um conjunto ordenado

Logo, os coeficientes da função wavelet são

Que formam a segunda linha da matriz

Transformada de Wavelets Funções de detalhe ( wavelets )

Espaço de detalhe Dados esses coeficientes de função wavelet, chegamos à e, portanto, a função wavelet mãe Haar é

Exemplo de função

Note que é mais estreita que e pode ser usada para representar funções com detalhe mais fino

que pertence à escala à

mas não

Escala da função em

Detalhe da função em

Expansão na série de Wavelets Série de wavelets A expansão na série de wavelets de uma função de quadrado integrável f(x), em relação à função de escala e wavelet , é definida como

onde são os coeficientes de escala, e coeficientes de detalhe

Ou seja, Se as funções de escala e de wavelets são ortonormais, então os coeficientes são

são os

Toda função 1D de quadrado integrável pode ser expressada como uma soma de funções de escala e funções de detalhe para

Se as funções de escala e de wavelets são biortonormais então as funções duais e devem ser usadas

Expansão na série de Wavelets Exemplo Considere a função quadrática no intervalo [0, 1]

Usando a wavelet de Haar e começando na escala coeficiente da escala (V0) é

Os coeficientes da segunda escala (W1) são

,o

Os quais geram a expansão na série de wavelets e o coeficiente de detalhe (W0) é

Expansão na série de Wavelets

Quando mais detalhes são adicionados com

, a função f(x) é melhor aproximada

Transformada discreta de Wavelets em 1D Transformada discreta de wavelets Se a função a ser expandida é discreta, os coeficientes da expansão são dados pela transformada discreta de wavelets (DWT)

Considere e o conjunto de funções discretas com N pontos, sendo N uma potência de 2 ( ). A decomposição de wavelets é

e os coeficientes de detalhe são

onde j = 0,1,..., J-1 e k =0,1,...,

Essa decomposição é valida para bases ortonormais. Se a base é biortonormal, deve-se usar as funções duais e

onde os coeficientes de escala são

Transformada discreta de Wavelets em 1D Exemplo Considere uma função discreta de quatro pontos [1, 4, -3, 0]. Temos N = 4 e J = 2 e a expansão utiliza x = 0,1,2,3

Utilizando amostras espaçadas de coeficientes de detalhe

Quando a escala é j = 0, a posição k = 0. Mas com j = 1, a posição k pode ser 0 ou 1 Usando a wavelet de Haar, temos o coeficiente de escala

Então a DWT da função discreta é

, obtemos os

Transformada discreta de Wavelets em 1D Exemplo Esse exemplo é idêntico à transformada de Haar, utilizando a matriz de transformação

A função original pode ser reconstruída através de seus coeficientes de wavelets pelo somatório

para x = 0,1,2,3 Para x = 0, obtemos

Transformada rápida de Wavelets Expansão do sinal vs contração da base Note que é possível definir as funções de escala e de detalhe em qualquer escala como uma versão transladada e com dobro da resolução da próxima escala mais alta

e

De forma análoga, os coeficientes da expansão da série de wavelets podem ser calculados recursivamente utilizando

que precisam do cálculo dos coeficientes de escala até a mais alta escala necessária Comparando essa versão, vemos que a transformada discreta de wavelets é dada pelas convoluções

onde as convoluções são avaliadas apenas nos instantes

Transformada rápida de Wavelets Transformada rápida Ou seja, uma iteração da transformada é realizada através de uma convolução seguida de uma decimação (downsampling) por 2

Para uma sequência de comprimento operações envolvidas é O(n)

Uma sequência de amostras 1D y(n), para n = 0,1,2,... gera uma sequência decimada por 2 da seguinte forma

O processo pode ser repetido sobre os coeficientes de escala resultantes, formando estágios, ou um banco de filtros no qual o filtro de análise FWT é aplicado várias vezes

Essa decomposição é chamada de transformada rápida de wavelets. Originalmente, Mallat propôs esse método pela denominação “algoritme à trous”

, o número de

Esse banco de filtros divide o espectro da função gradativamente em sub-bandas

Transformada rápida de Wavelets Exemplo de um banco de filtros com três estágios

Transformada rápida de Wavelets Exemplo Considere a função f(x) = {1, 4, -3, 0} e os coeficientes de escala e de wavelets da base de Haar

Vamos calcular a FWT para duas escalas j = {0, 1}. A translação para j = 0 é k = 0, e as translações para a escala j = 1 são k = {0, 1} Como são duas escalas, é usado um banco de filtros de dois estágios para gerar os coeficientes

Transformada rápida de Wavelets Sistema de codificação em sub-banda Um sistema de codificação em sub-banda é composto de dois filtros de análise e e um sistema de decodificação em sub-banda é composto de dois filtros de síntese e

Os filtros de análise decompõem a entrada em duas sequências com metade do comprimento e , obtidas com o filtro passa-baixa e o filtro passa-alta Os filtros de síntese são usados para reconstruir a entrada a partir das versões expandidas (upsampled) de e

O objetivo na codificação em sub-banda é escolher filtros que permitam a reconstrução exata da entrada. Quando isso é possível, os filtros são relacionados da seguinte forma

Transformada rápida de Wavelets Transformada FWT inversa O fator muda o sinal dos valores nos índices ímpares. Cada filtro de síntese é uma versão modulada do filtro de análise complementar Isso significa que os filtros de análise e síntese possuem modulação cruzada e suas respostas de impulso são biortogonais

Se os filtros também são ortogonais e de comprimento K , onde K é par, eles também satisfazem as relações de simetria

Daí podemos inferir como é o banco de filtros da FWT inversa Se o filtro é ortonormal, os filtros de síntese são versões reversas dos filtros de análise, por exemplo

Transformada rápida de Wavelets Exemplo Utilizando os filtros espelhados, a transformada inversa de wavelets do exemplo de sequência 1D anterior, utilizando a wavelet de Haar A sequência de entrada é

Transformada de Wavelets 2D Funções separáveis As funções de escala e de detalhe da transformada de wavelets 1D podem ser estendidas para 2D através da separabilidade

As funções de wavelets medem variações funcionais (mudança de intensidades em imagens) em diferentes direções

A DWT 2D também pode ser implementada através de filtros digitais e decimação. O que se faz é aplicar a transformada rápida de wavelets FWT 1D nas linhas de f(x, y) seguida pela FWT 1D aplicada nas colunas

Transformada de Wavelets 2D Transformada inversa A transformada de wavelets também pode ser aplicada iterativamente. Nesse caso, a imagem em escala é descomposta nas quatro componentes: imagem em escala, detalhes em x, detalhes em y, detalhes na diagonal A transformada rápida de wavelets 2D é obtida pela síntese através das funções 1D

Transformada de Wavelets 2D Exemplo No exemplo de decomposição discreta de wavelet 2D, foi utilizada uma imagem monocromática de 512 x 512 A FWT é realizada com J = log 512 = 9 e P = 1, com As quatro decomposições usam ¼ da imagem e formam a escala j = 8 com

Transformada de Wavelets 2D Exemplo Com a FWT aplicada mais vezes obtemos os coeficientes da escala j = 7

A decomposição pode ser repetida até j = 1

À direita, o resultado da transformada de Haar com uma matriz de transformação de 512 x 512

Funções de escala e de Wavelets Wavelet de Haar

Funções de escala e de Wavelets Família Daubechies

Funções de escala e de Wavelets Symmetrical wavelets

Funções de escala e de Wavelets Cohen-Daubechies-Feauveau 9/7

Processamento com Wavelets Processamento de imagens O processamento com transformada de wavelets pode ser conduzido da mesma forma que ocorre com a transformada de Fourier O primeiro passo é calcular a transformada de wavelets 2D de uma imagem usando uma das wavelets (como as apresentadas). Note que os coeficientes dados são suficientes já que os filtros podem ser obtidos pela relação entre codificação de sub-bandas

O segundo passo é alterar a transformada calculada para explorar a característica da DWT de 1) descorrelacionar pixels da imagem 2) revelar características espaciais e de frequência 3) medir a similaridade da imagem com as funções base Modificações podem ser projetadas para suavizar, agudizar, reduzir ruídos, detecção de bordas, e compressão, por exemplo

O terceiro passo é calcular a transforma inversa de wavelets

Processamento com Wavelets Detecção de bordas A imagem de 128 x 128 ao lado foi gerada com um pulsos com a forma de senoide com um fundo escuro

A decomposição é feita com a wavelet Symlet, cujos filtros podem ser obtidos a partir da função de síntese passa-baixa, com o número de coeficientes K = 8

Essa wavelet não é perfeitamente simétrica mas foi projetada para a ter a menor assimetria possível com o maior número de momentos de fuga (vanishing moments)

Detecção de bordas Imagem original e sua decomposição de wavelets (symlet K = 8) em duas escalas

Processamento com Wavelets

Detecção de bordas Anulação dos coeficientes em escala, na escala 2, seguida da transformada inversa de wavelets

Processamento com Wavelets

Detecção de bordas Anulação dos coeficientes em escala, na escala 2, e dos coeficientes de detalhe horizontais nas duas escalas, seguidas da transformada inversa de wavelets

Processamento com Wavelets

Endereço

Obrigado e até à próxima aula!

Universidade Federal de Juiz de Fora, Instituto de Ciências Exatas, Edifício do Departamento de Ciência da Computação, 4º andar, sala 415

Telefone (32) 2102-3387 ramal 4045

E-mail [email protected]

Processamento de Imagens

Fundamentos de compressão Prof. Marcelo Bernardes Vieira

Bibliografia e fontes

Essa aula foi construída a partir das seções 8.1, 8.2, 8.4, 8.6, 8.9 e 8.11 do livro “Digital Image Processing”, de Rafael C. Gonzalez e Richard E. Woods, 4a edição,

Editora Pearson, 2018.

Sinopse Tópicos desta aula Informação e dados

Redundância e medida de informação Codificação entrópica e de comprimento variável Codificação baseada em blocos Padrão JPEG

Codificação Wavelet Padrão JPEG 2000

Informação e dados Redundância O termo dado significa o meio pelo qual informação é transferida Então várias quantidades de dados podem ser usadas para representar exatamente a mesma quantidade de informação Representações que contêm informação irrelevante ou repetida, possuem dados redundantes Se b e b’ denotam o número de bits (ou unidades de transmissão de informação) em duas representações da mesma informação, a redundância de dados relativa é

onde C é a razão de compressão definida como

Se C = 10 a compressão é de 10 para 1, ou 10:1. Isso significa que cada 10 bits de dados representa 1 bit de informação. A redundância de dados relativa é de R = 90%

Informação e dados Redundância em imagens Redundância de codificação

Imagens possuem três principais tipos de redundância de dados 1)

2)

3)

Redundância de codificação: um código é um sistema de símbolos e pode ser redundante quando símbolos representam menos informação do que é possível Redundância espacial e temporal: arranjos 2D possuem correlação espacial no caso de imagens, e correlação espaço-temporal no caso de vídeos Informação perceptual irrelevante: a maioria das imagens possuem informações que os seres humanos ignoram

Redundância espacial

Redundância perceptual

Redundância de codificação Redundância em imagens Considere uma variável discreta aleatória no intervalo [0, L – 1] usada para representar as intensidades de uma imagem de M x N , e que cada ocorre com probabilidade

onde

é o número de ocorrências da k-ésima intensidade

Se o número de bits usado para representar cada valor de , então o número médio de bits necessários para representar cada pixel é

é

Se usarmos 8 bits / pixel para representar a imagem acima, então o número médio de bits é obviamente . Mas se usamos as sequências de bits de tamanho variável acima, o número médio de bits passa a ser o que representa a taxa de compressão e de redundância de

Redundância espacial Redundância em imagens A imagem exemplo têm as seguintes características 1) Todas as 256 intensidades são igualmente prováveis 2) Os pixels são independentes na direção vertical 3) Como os pixels horizontalmente são idênticos, eles são maximamente correlacionados na direção horizontal Essa imagem não pode ser comprimida usando apenas a codificação de comprimento variável Mas a redundância espacial na direção horizontal pode ser eliminada por pares run-length

Cada par indica o início de uma nova intensidade e o número de pixels consecutivos que têm essa intensidade Nesse exemplo, é possível comprimir a imagem original com 8 bits por (256*256*8) / ((256 + 256) * 8), ou seja, 128:1 A maioria dos pixels em imagens naturais pode ser inferidos a partir de seus vizinhos. Para reduzir essa redundância, precisaremos mapear a imagem em um domínio mais adequado

Redundância perceptual Redundância em imagens A imagem exemplo parece ser um cinza homogêneo porque o sistema perceptual humano tende a fazer uma média dos detalhes, ignorando pequenas variações

A imagem original 256*256*8 bits poderia ser reduzida a apenas um byte, resultando em uma compressão de 65536 : 1 Evidentemente, a imagem original não poderia ser reconstruída e eventualmente perceberíamos um decréscimo na sua qualidade

A informação redundante nesse exemplo é diferente das outras porque sua eliminação é possível porque ela não é essencial para visualização ou até mesmo processamento Como há uma redução da informação quantitativa, a remoção de redundância perceptual é chamada de quantização e, em geral, é uma operação irreversível

Medida de informação Qual é a menor quantidade de bits necessária para codificar uma informação? Entropia A pergunta também pode ser: há uma quantidade mínima de dados que é suficiente para descrever uma imagem sem perder informação? A Teoria da Informação provê fundamentos matemáticos para responder essa pergunta. A ideia é modelar o sinal como um processo probabilístico

Se P(E) = 1 (o evento sempre ocorre), então I(E) = 0. Nenhuma informação está associada ao evento. Não há incerteza associada ao evento e nenhuma informação seria transferida ao comunicar esse evento. A base do logaritmo determina a unidade usada para medir informação. Se a base m é usada, a medida de informação define unidades m-árias. Se a base é 2, a unidade de informação é o bit

Um evento E com probabilidade P(E) possui

unidades de informação

Se P(E) = ½, então que é 1 bit. Ou seja, a informação transmitida quando 2 eventos são igualmente prováveis é 1 bit

Medida de informação Medida da informação de uma fonte de símbolos

Entropia

1.66 bits/pixel

8 bits/pixel

1.56 bits/pixel

Dada uma fonte de eventos aleatórios independentes, de um conjunto discreto de possíveis eventos , com probabilidades associadas a informação média por saída da fonte, também chamada de entropia da fonte, é

Como a base 2 foi usada, a informação média de intensidades é dada em bits

onde são os símbolos fonte. Como eles são estatisticamente independentes, a fonte é dita fonte de memória zero

A entropia da imagem sintética pode ser estimada pelo seu histograma

Considerando que os pixels em uma imagem são independentes, podemos usar o seu histograma

Não é possível codificar os valores de intensidade da fonte de pixels com menos do que bits/pixel

Medida de informação Primeiro teorema de Shannon

Teorema da codificação sem ruído O primeiro teorema de Shannon nos diz que o exemplo anterior pode ser codificado com aproximadamente 1.66 bits/pixel

Para provar isso, Shannon procurou representar grupos de símbolos consecutivos com apenas um símbolo de código, mostrando que

Para uma imagem em tons de cinza com 8-bits, existem 256 possíveis símbolos. A n-ésima extensão tem possíveis blocos de tamanho n No caso de n = 2, precisaríamos calcular um histograma de 65536 elementos (o que geraria 65536 códigos de tamanho variável) Para n = 3, seriam 16.777.216 símbolos de código, o que na prática implica em pouca utilidade dessa abordagem

onde é o número médio de símbolos código necessários para representar todos os grupos de n –símbolos. Esse limite nos diz que podemos fazer arbitrariamente próximo a H , ao codificar extensões infinitamente longas da fonte de símbolo único

Mas a entropia é um limite inferior da compressão obtida com símbolos descorrelacionados. Quando os pixels têm correlação, podemos comprimir mais do que o previsto pela entropia

Critério de fidelidade Redundância perceptual Remover informação perceptual irrelevante leva a perda de informação original É preciso quantificar a quantidade de informação perdida. Nesse curso, estamos interessados em critérios objetivos de fidelidade

O erro (raiz) quadrático médio é

Se a reconstrução é considerada uma soma de f(x,y) e uma imagem de ruído e(x,y), podemos definir a razão sinalruído quadrático médio

Um exemplo é o erro da raiz quadrática média (RMS) Seja f(x,y) uma imagem de entrada e de f(x,y). Para qualquer ponto, o erro é

uma aproximação A raiz dessa razão leva à razão sinal-ruído raiz quadrática média

Modelos de compressão

Codificação entrópica Código de Huffman

Remoção de redundância de codificação É o método mais popular de codificação entrópica que, ao codificar os símbolos de uma fonte individualmente, obtém o menor número possível de símbolos de código O código resultante é ótimo para um valor fixo de n, dado o primeiro teorema de Shannon, com a restrição de que os símbolos são codificados um de cada vez Na prática, os símbolos podem ser as intensidades de pixels ou outra representação como diferenças de pixels, e códigos de comprimento variável, entre outros

O primeiro passo na codificação de Huffman é ordenar as probabilidades de ocorrência dos símbolos. Depois, procura-se combinar os símbolos de menor probabilidade em símbolos que os substituem um uma série de reduções

Codificação entrópica Código de Huffman

Remoção de redundância de codificação O segundo passo no método de Huffman é codificar cada fonte reduzida, começando com a maior probabilidade até a menor

O menor código binário são os símbolos 0 e 1 que são atribuídos aos 2 símbolos mais à direita Cada redução na ida implica na concatenação 0 e 1 na ordem reversa

Nesse exemplo, o comprimento médio do código é

sendo a entropia da fonte 2.14 bits/símbolo O código de Huffman é 1) Um código de bloco porque cada símbolo é mapeado em uma sequência fixa de símbolos de código 2) Instantâneo porque cada símbolo de código em uma string pode ser decodificada sem referenciar os símbolos sucessores 3) Unicamente descodificável porque cada sequência pode ser decodificada em apenas uma forma

Codificação entrópica Código de Huffman

Exemplo A imagem de 512 x 512 de 8 bits tem um histograma não uniforme A codificação entrópica de Huffman gera uma sequência com 7.42 bits/pixel, incluindo a tabela de Huffman necessária para decodificála A entropia da imagem é H = 7.38 bits/pixel A razão de compressão é C = 8 / 7.42 = 1.077 e a redundância relativa é R = 1 – (1/1.077) = 0.0715. Logo, 7.15% da imagem original com 8 bits por pixel foi removida como redundante

Codificação entrópica Codificação aritmética

Codificação não baseada em blocos Codificação aritmética gera códigos não baseados em bloco. Não há correspondência de 1 para 1 entre o código e os símbolos

Uma sequência completa de símbolos (mensagem) é atribuída a um único valor de código aritmético entre [0, 1) Se o número de símbolos da mensagem aumenta, o número de bits necessários para representar o valor aritmético também aumenta

Na teoria, a codificação aritmética pode se aproximar mais do limite inferior dado pela entropia, porque o número de bits para cada símbolo não necessariamente é um número inteiro

A codificação inicia com o particionamento do intervalo [0, 1) através das probabilidades dos símbolos a serem codificados

Codificação entrópica Codificação aritmética

Codificação não baseada em blocos A codificação é realizada com a inclusão de cada símbolo da mensagem a cada vez. No início do processo, a mensagem ocupa todo o intervalo [0, 1) A cada inserção de símbolo da mensagem, o sub-intervalo equivalente ao símbolo é expandido. No final do processo, qualquer valor numérico no intervalo obtido pode ser transmitido para representar toda a sequência

No exemplo, poderia ser o valor 0.068. Como 3 casas decimais foram usadas para representar uma mensagem de 5 símbolos, temos uma média de 0.6 dígitos decimais por símbolo fonte. A entropia da fonte é 0.58 dígitos decimais

Com o aumento da sequência, a codificação aritmética se aproxima do limite teórico

Na prática, dois fatores impedem o alcance do limite teórico: 1) A necessidade de inserir um símbolo de fim de mensagem 2) O uso de aritmética de precisão finita

Codificação de comprimento variável Run Length Encoding (RLE) Imagens com intensidades repetidas nas suas linhas ou colunas podem ser comprimidas pela representação de intensidades idênticas como pares de comprimento variável

Um exemplo é o formato BMP, nativo do sistema operacional Windows, que usa uma forma de RLE na qual a imagem é representada por 2 modos distintos: codificado e absoluto. Cada modo ocorre em qualquer parte da imagem.

A compressão é obtida pela eliminação de uma forma simples de redundância espacial que são grupos vizinhos com mesma intensidade

No modo codificado, um par RLE de dois bytes é usado (número de pixels consecutivos, índice da cor dos pixels)

Quando uma imagem tem poucos grupos com mesma intensidade, o RLE tende a gerar expansão dos dados

No modo absoluto, o primeiro byte é 0 e o segundo sinaliza uma de quatro condições possíveis

É um método utilizado principalmente na compressão de imagens binárias

A codificação e a decodificação são realizadas por autômatos finitos deterministas

Codificação de comprimento variável Exemplo A imagem abaixo descomprimida no formato BMP requer 263.244 bytes. Comprimindo com RLE, os dados são expandidos para 267.706 bytes. Não há sequências idênticas suficientes para tornar o método efetivo

Para a imagem abaixo, que tem detalhes de difícil percepção, a razão de compressão é C = 1.35

Imagem dividida em blocos

Transformação 2D de blocos

Concerne métodos que dividem a imagem em blocos de tamanho fixo não sobrepostos e comprime cada bloco separadamente através de uma transformação 2D

Na codificação por transformação de blocos, uma transformação linear reversível (como a de Fourier) é usada para mapear cada bloco ou subimagem em um conjunto de coeficientes que é quantizado e codificado

Codificação baseada em blocos

Coeficientes da transformação Para a maioria das imagens, um número significativo de coeficientes têm pequenas magnitudes e podem ser quantizados ou descartados totalmente, com pouca distorção da imagem

Codificação baseada em blocos Sistema de codificação por blocos Uma imagem de entrada de M x N é subdividida em subimagens de n x n pixels, que são transformadas para gerar arranjos de imagens transformadas com n x n coeficientes O objetivo da transformação é descorrelacionar os pixels das subimagens, ou empacotar o máximo de informação no mínimo de coeficientes O estágio de quantização seletivamente elimina, ou reduz o número de bits, dos coeficientes que carregam a menor quantidade de informação (dada uma predefinição)

Os coeficientes quantizados são codificados através de um método de codificação entrópica

As etapas de codificação podem ser adaptadas de acordo com o conteúdo local da imagem

Codificação baseada em blocos Fourier (erro rms = 2.32)

Seleção da transformação Mapeamentos de uma grande variedade de transformações 2D foram extensivamente construídos e estudados. A escolha da transformação depende do erro tolerável com a perda de informação e dos recursos computacionais disponíveis No exemplo, a imagem monocromática de 512 x 512 com 8 bits foi dividida em subimagens de 8 x 8. Metade dos coeficientes (32 coeficientes de altas frequências) foram zerados e a imagem foi reconstruída A diferença entre a imagem reconstruída e a imagem original mostra que as informações perdidas têm pouco impacto

DCT (erro rms = 1.13)

Codificação baseada em blocos Seleção da transformação A diferenças entre os erros RMS entre as transformadas têm a ver com as propriedades de empacotamento delas

Uma imagem de n x n pode ser expressada como em função de sua transformada T(u, v)

para x e y = 0, 1, ..., n - 1.

Considere uma transformação dada por uma função de mascaramento

Então uma aproximação de G pode ser obtida por

O erro quadrático médio entre a imagem original e a aproximada é

Codificação baseada em blocos Seleção da transformação onde é a variância do coeficiente na posição (u, v). A simplificação advém do fato da ortogonalidade das funções base e de que os pixels são dados por um processo aleatório com média zero e covariância conhecida Portanto, o erro quadrático médio da aproximação é a soma das variâncias dos coeficientes descartados A transformação que redistribui ou empacota o máximo de informação em menos coeficientes provêm a melhor aproximação

A habilidade de empacotamento da DCT é superior à da transformada de Fourier

A transformação ótima para empacotamento é a Karhunen-Loève que tem a característica de minimizar o erro quadrático médio. Mas essa transformação é dependente dos dados e, em geral, é obtida por um processamento computacional não trivial Vários codificadores são baseados na DCT que provê um bom compromisso entre empacotamento de informação e complexidade computacional

Codificação baseada em blocos

Codificação baseada em blocos Tamanho do bloco Outro fator importante para determinar o erro de codificação e a complexidade computacional é o tamanho do bloco

Na maioria das aplicações, as imagens são subdivididas de forma que a correlação entre subimagens subjacentes é reduzida até um nível aceitável Em geral, n é uma potência de 2. Os tamanhos mais usados são 8 x 8 e 16 x 16

Curvas com 75% dos coeficientes descartados

Codificação baseada em blocos Tamanho do bloco Reconstruções com apenas 25% dos coeficientes da DCT Imagem original

Subimagem de 2 x 2

Subimagem de 4 x 4

Subimagem de 8 x 8

Codificação baseada em blocos Codificação por limiar (12.5% dos coeficientes DCT = 8 maiores magnitudes)

Alocação de bits O erro de reconstrução associado com o truncamento da expansão da série é uma função da quantidade e importância relativa dos coeficientes da transformação que são descartados O erro depende também da precisão dos coeficientes preservados Na maioria dos sistemas de codificação, os coeficientes retidos são selecionados pela 1) máxima variância, chamada codificação por zona, ou 2) máxima magnitude, chamada codificação por limiar O processo de truncamento, quantização, e codificação dos coeficientes é chamado de alocação de bits

Codificação por zona (12.5% dos coeficientes DCT = 8 maiores variâncias )

Codificação baseada em blocos Codificação por zona: máscara e alocação de bits

Alocação de bits Em geral, codificação por zona é implementada com uma máscara fixa para todas as subimagens

A codificação por limiar é inerentemente adaptativa no sentido de que a posição dos coeficientes retidos variam entre subimagens A codificação por limiar é mais simples e a mais usada. Assume-se que os coeficientes com maior magnitude dão as maiores contribuições para a imagem reconstruída Como as posições dos máximos coeficientes variam, os elementos de normalmente são reordenados para formar uma sequência 1D codificada com um código de tamanho variável Codificação por limiar: máscara e ordem sequencial dos coeficientes (zig-zag)

Codificação baseada em blocos Alocação de bits: codificação por limiar Há três formas básicas de limiarizar uma subimagem transformada ou, de criar uma máscara de limiarização 1) Um limiar global para todas as subimagens 2) Um diferente limiar para cada subimagem 3) O limiar pode ser variado em função da localização de cada coeficiente na subimagem

A terceira abordagem também resulta em uma taxa de codificação variável, mas oferece a vantagem de que a limiarização e a quantização podem ser combinadas pela substituição de por

Na primeira abordagem, o nível de compressão varia de imagem para imagem, dependendo dos coeficientes que excedem o limiar global

onde é a versão limiarizada e quantizada de T(u,v), e Z(u,v) é um elemento do arranjo de transformação

Na segunda (chamada codificação dos N-maiores), o mesmo número de coeficientes são descartados em cada subimagem

Codificação baseada em blocos Alocação de bits: codificação por limiar No sentido inverso, o arranjo desnormalizado aproximação de é dado por

A transformação inversa de descomprimida

que é uma

gera a subimagem

Nesse exemplo, Z(u,v) recebe um valor em função de uma constante c. O coeficiente assume um valor inteiro k se e somente se

Se Z(u,v) > 2T(u,v) então o coeficiente truncado é portanto é complemente descartado

e

Quando é representado com um código de tamanho variável que aumenta em comprimento quando a magnitude de k aumenta, o número de bits usado para representarT(u,v) é controlado pelo valor de c Nesse caso, os elementos de Z podem ser escalados para obter uma variedade de níveis de compressão

Codificação baseada em blocos Z

2Z

4Z

8Z

16Z

32Z

Exemplo O arranjo de quantização abaixo é utilizado na padronização JPEG, e pondera cada coeficiente de uma subimagem transformada de acordo com uma importância perceptual e psicovisual heuristicamente determinada

Compressão JPEG Padrão básico É o padrão mais popular para compressão de imagens que define três sistemas de codificação 1) Um sistema de codificação com perda básico 2) Um sistema estendido para maior compressão , maior precisão e reconstrução progressiva 3) Um sistema de codificação sem perda No sistema de codificação básico, a precisão de entrada e saída é limitada em 8 bits, enquanto os valores quantizados DCT são limitados a 11 bits

A compressão é realizada em três passos sequencias: cálculo do DCT, quantização e codificação com tamanho variável A imagem é dividida em blocos de 8 x 8, que é processada da esquerda para a direita, de cima para baixo Cada bloco de 8 x 8, tem seu tom médio deslocado de onde é o número máximo de níveis de intensidade A transformada DCT 2D do bloco é calculada e quantizada de acordo com o padrão zig-zag apresentado. Os coeficientes são reordenados para formar uma sequência 1D

Compressão JPEG Exemplo Considere a imagem 8 x 8 com valores entre 0 e 256

O primeiro passo é deslocar por

ou -128

Compressão JPEG Exemplo Após a transformada DCT para n = 8

Os coeficientes truncados e quantizados são

Compressão JPEG Exemplo Os coeficientes quantizados formam a sequência 1D

O componente DC é codificado com um método de diferenças de codificação de pulso moduladas (DPCM). Os componentes AC são codificados com uma tabela padrão de Huffman

Os coeficientes desnormalizados são

Compressão JPEG Exemplo A transformada inversa DCT nos coeficientes resulta em

Transladando o nível zero, somando 128

Compressão JPEG Exemplo Diferença entre o bloco original e o reconstruído

Nesse exemplo, os erros vão de -14 e 11. O erro de raiz quadrática média é aproximadamente 5.8 níveis de intensidade

Compressão JPEG

Compressão de 25:1

Compressão de 52:1

Codificação Wavelet Descorrelação da informação em multiresolução

Modelo geral de compressão Na codificação por wavelet de uma imagem de , seleciona-se uma wavelet de análise e um nível de decomposição mínimo J –

P

Um ou mais métodos de compressão sem perda como Huffman, aritmética e baseada em planos de bits podem ser usados para codificar os símbolos

Se a wavelet tem uma função de escala , a transformada rápida de wavelet pode ser aplicada. Em ambos os casos, a decomposição converte uma grande porção da imagem em coeficientes horizontais, verticais e diagonais com média zero e distribuição semelhante à do Laplaciano Os coeficientes que carregam pouca informação são quantizados

A decomposição por wavelet é global e computacionalmente eficiente e, portanto, não há necessidade de subdivisão da imagem

Codificação Wavelet Descorrelação da informação em multiresolução

Seleção da wavelet

Haar

Daubechies

As wavelets escolhidas como base das transformadas direta e inversa afetam todos os aspectos do sistema de codificação

As wavelets mais utilizadas para compressão são as da família Daubechies e as biortogonais Os coeficientes abaixo de 1.5 são zerados no exemplo

Symlets

CohenDaubechiesFeauveau

Codificação Wavelet Descorrelação da informação em multiresolução

Seleção do nível de decomposição Esse fator afeta o erro de reconstrução e o custo computacional Como uma FWT de P escalas envolve P bancos de filtros, o número de operações aumenta com o aumento do número de escalas A quantização dos coeficientes nas escalas mais baixas afeta uma área maior na resolução original. Para transmissão ou reconstrução progressiva, a qualidade desejada na menor resolução determina a quantidade de escalas

Efeito do número de escalas com wavelet biortogonal e um limiar global de 25. Note que a maioria da compressão é promovida pelas primeiras escalas

Codificação Wavelet Descorrelação da informação em multiresolução

Quantizador O mais importante fator que afeta compressão por wavelet e o erro de reconstrução é a quantização dos coeficientes

A eficácia do quantizador pode ser melhorada significativamente por 1) Introduzir uma quantização mais ampla ao redor de zero, chamada dead zone, ou 2) Adaptar o tamanho do intervalo de quantização para cada escala Os intervalos podem ser determinados heuristicamente ou calculados automaticamente baseado nas características da imagem

Por exemplo, um limiar de coeficientes pode ser a mediana dos valores absolutos dos detalhes da primeira escala, ou uma função do número de zeros que são truncados e a quantidade de energia que é retida na imagem

Impacto do limiar com wavelets biortogonais. Há pouco ganho após o limiar 5

Compressão JPEG 2000 Extensão com wavelets O primeiro passo é deslocar o nível médio da imagem como no padrão JPEG

Se os canais de entrada são R,G,B, essa transformação aproxima as componentes luminância crominância

Se a imagem tem mais de um componente, cada um é deslocado separadamente. Se há exatamente três componentes, eles podem ser otimamente descorrelacionados por uma combinação linear reversível ou irreversível

O objetivo dessa transformação é aumentar a eficiência da compressão. Os canais Y1 e Y2 possuem componentes concentrados ao redor do zero

A transformações de componente irreversível do padrão é

O próximo passo é opcionalmente dividir a imagem em ladrilhos retangulares que são processados independentemente. Uma imagem de aspecto 16:9 pode ter um dos ladrilhos com 4:3 que pode ser decodificado em separado

Compressão JPEG 2000 Transformada de Wavelet Uma transformada 1D das linhas e colunas de cada ladrilho é calculada Para compressão sem perda, a transformação é realizada com uma base biortonormal 5/3 Para compressão com perda, a transformação é realizada com uma base biortonormal 9/7 A transformação produz quatro subbandas para cada escala

Compressão JPEG 2000 Quantização Quando todos os ladrilhos são processados, a quantidade de coeficientes é a mesma quantidade de pixels, mas as informações visuais importantes estão concentradas em poucos coeficientes O coeficiente

da subbanda b é quantizado com

onde o tamanho do passo de quantização é

onde é o intervalo dinâmico nominal da subbanda b. enquanto e são a quantidade de bits alocados para o expoente e a mantissa dos coeficientes

O intervalo dinâmico nominal da subbanda b é a soma do número de bits usados para representar a imagem original multiplicado pelo ganho de análise que são constantes para cada um dos quatro quadrantes Os coeficientes de cada componente subbanda do ladrilho são arranjados em blocos retangulares chamados code blocks Os coeficientes são comprimidos com codificação aritmética

C = 25

Compressão JPEG 2000

C = 52

C = 75

C = 105

Comparação com C = 52

JPEG com wavelet

Compressão JPEG 2000 JPEG com DCT

Taxa de compressão de 52:1

Endereço

Obrigado e até à próxima aula!

Universidade Federal de Juiz de Fora, Instituto de Ciências Exatas, Edifício do Departamento de Ciência da Computação, 4º andar, sala 415

Telefone (32) 2102-3387 ramal 4045

E-mail [email protected]

Processamento de Imagens

Fundamentos de segmentação Prof. Marcelo Bernardes Vieira

Bibliografia e fontes

Essa aula foi construída a partir das seções 10.1, 10.2 e 10.3 do livro “Digital Image Processing”, de Rafael C. Gonzalez e Richard E. Woods, 4a edição, Editora

Pearson, 2018.

Sinopse Tópicos desta aula Partição da imagem

Detecção de pontos, retas e bordas Transformada de Hough Limiarização

Partição da imagem Sub-regiões Seja R toda a região ocupada por uma imagem. O processo de segmentação implica na partição da região R em n sub-regiões tal que 1) que implica que a segmentação deve ser completa 2) cada região é um conjunto conectado 3) as sub-regiões são mutualmente excludentes 4) onde Q(Ri) é uma condição de associação que todos os pixels em Ri devem satisfazer. Por exemplo: todos devem ter o mesmo tom de cinza. 5) para quaisquer regiões adjacentes Ri e

Ri

Então o problema de segmentação é particionar uma imagem de acordo com certas condições

Segmentação de imagens monocromáticas geralmente é feita de acordo com duas categorias que lidam com intensidade de pixels A categoria de descontinuidade assume que a fronteira entre as regiões é suficientemente diferente entre elas e o fundo da imagem A categoria de similaridade assume que os pixels de uma região compartilham alguma característica em comum que os diferencia das demais regiões

Partição da imagem Região com intensidade constante

Fronteira entre regiões

Região com textura

Cálculo de intensidades

Segmentação por fronteira

Segmentação por descontinuidade

Segmentação por similaridade

Segmentação por região

Detecção de pontos, retas e bordas Mudanças locais agudas Discutimos métodos baseados em mudanças de intensidade locais e agudas Pixels de borda são aqueles em que a intensidade muda abruptamente. Já segmentos de borda são conjuntos de pixels de borda conectados. Detectores de borda são os métodos que buscam extrair pixels de borda

Uma reta pode ser vista como um segmento de borda estreito na qual a intensidade de um lado é muito diferente da do outro lado

Um ponto isolado pode ser visto como um ponto de primeiro plano, ou fundo, envolvido por pontos de fundo, ou primeiro plano

Derivadas Diferenciação em imagens Vimos que diferenciação leva a detecção de mudanças locais em intensidades As derivadas de uma função digital são definidas em termos de diferenças finitas Obtemos a primeira derivada em um ponto arbitrário x de uma função unidimensional f(x) pela expansão na série de Taylor f(x + ) perto de x

onde

é a separação entre as amostras de f

Se fizermos expansão

= 1 para a amostra que sucede f(x) , temos a

Se fizermos expansão

= -1 para a amostra que precede f(x) , temos a

Derivadas Diferenciação em imagens Isso significa que podemos calcular diferenças de intensidade usando poucos termos da série de Taylor

Os termos mais altos da série que são descartados representam o erro entre a estimativa da derivada e a derivada exata

A diferença avançada é

A derivada estimada será mais acurada se usarmos mais termos. Mas isso implica no uso de mais amostras de f(x)

A diferença retrógada é

A derivada central tem um menor erro, dado um número fixo de pontos, e é geralmente a mais usada

A diferença central é

Derivadas Diferenciação em imagens A segunda derivada baseada na diferença central é obtida pela uso de f(x) e da 1ª derivada

A quarta derivada é obtida pela diferenciação da terceira derivada

Para obter a derivada central de 3ª ordem, precisamos dos pontos f(x + 2) e f(x – 2). A ideia é substituir todas as derivadas menores que a terceira na série de Taylor Em sinais com mais de uma dimensão, as derivadas são calculadas em cada eixo separadamente

Derivadas Exemplo de imagem com borda em rampa, ponto isolado, reta, e borda de passo

Perfil horizontal da

imagem

Note que: 1) A primeira derivada produz bordas mais espessas 2) A segunda derivada tem uma resposta mais forte para detalhes finos como pontos isolados e ruído 3) A segunda derivada produz resposta dupla em bordas de rampa e passo 4) O sinal da segunda derivada pode ser usada para determinar a localização da borda

Resposta dos filtros derivativos 1D sobre o perfil

Detecção de pontos Uso da segunda derivada Baseado nas conclusões anteriores, detectores de pontos isolados devem ser baseados na segunda derivada que, para imagens, significa usar o Laplaciano

no qual as derivadas parciais são calculadas com o método de diferenças finitas para a segunda derivada

Podemos dizer que um ponto isolado foi detectado na posição (x,y) no qual a máscara é centralizada, se o valor absoluto da resposta do filtro naquele ponto excede um limiar

onde g(x,y) é a imagem de saída segmentada, T é um limiar não negativo, e Z(x,y) é a imagem filtrada com a máscara Laplaciana

Detecção de pontos Limiar é 90% do maior valor absoluto do Laplaciano Imagem de raio-x de uma pá de turbina com porosidade indicada por um pixel preto único

Detecção de retas Uso do Laplaciano Espera-se que a segunda derivada tenha uma resposta mais forte em bordas. Também, a segunda derivada tende a produzir linhas mais finas do que a primeira derivada

Podemos usar o núcleo Laplaciano para detectar retas, com a ressalva de que ele provê dupla resposta que precisa ser considerada Uma forma é usar o valor absoluto da resposta do filtro Laplaciano. O problema é que essa abordagem tende a gerar bordas mais espessas

Outra abordagem é usar apenas a resposta positiva do filtro. Assim, a resposta que exceder um limiar determina pixels de borda Essa abordagem gera bordas mais finas e tem a vantagem de reduzir o efeito do ruído capturado pelo filtro Laplaciano Filtros ótimos baseados em segunda derivada obtêm uma melhor localização da borda ao detectar a passagem por zero gerada em bordas de passo

Detecção de retas Imagem original

Resultado com o filtro Laplaciano

Retas obtidas com o valor absoluto

Retas obtidas com a resposta positiva

Detecção de retas Detecção direcionada O filtro Laplaciano é isotrópico e portanto sua resposta é independente de direção Às vezes, há interesse em detectar retas em direções específicas Filtros derivativos podem ser obtidos através da derivada direcional Exemplos de núcleos de filtros derivativos para ângulos de 0º, 45º, -45º, e 90º

Detecção de retas Detector de 45º

Imagem original

Zoom na parte superior esquerda

Zoom na parte

Pontos isolados

inferior direita

detectados com o Laplaciano

Limiarização com T = 254

Modelos de borda Classificação pela forma da borda

Mudança abrupta de intensidade Detecção de borda é uma abordagem de segmentação baseada em mudanças bruscas de intensidade

Os modelos de borda são classificados de acordo com seus perfis de intensidade

Na prática, imagens digitais reais têm bordas suaves e ruidosas. Esse tipo de borda é geralmente denominado borda de rampa. A derivada da rampa é inversamente proporcional ao grau em que a borda foi suavizada Esse tipo de borda não é formada por apenas um pixel de espessura

Uma borda de passo (ou degrau) é caracterizada por uma transição entre dois níveis de intensidade idealmente sobre a distancia de um pixel. Em geral ocorrem em imagens sintéticas Essas bordas agudas são usadas como base de métodos ótimos de segmentação de bordas como o método de Canny

O terceiro tipo de borda é a borda telhado que forma um modelo de curvas na imagem. Sua largura em pixels é determinada pela intensidade e pela espessura da base

Modelos de borda Classificação pela forma da borda

Modelos de borda Classificação pela forma da borda

Primeira e segunda derivadas A magnitude da primeira derivada pode ser usada para detectar a presença de uma borda em um ponto da imagem

O sinal da segunda derivada pode ser usado para determinar se um pixel está na parte escura ou clara de uma borda. Duas propriedades da segunda derivada ao redor de uma borda são: 1) produz dois valores para cada borda da imagem 2) sua passagem por zero pode ser usada para localizar os centros de bordas espessas

Modelos de borda

Detecção de bordas Em geral, são três as etapas tipicamente realizadas para detectar bordas: 1) Suavização para redução de ruídos 2) Detecção de pontos de borda: extração de potenciais pontos candidatos que formam bordas 3) Localização da borda: selecionar somente os pontos que formam bordas

Detecção básica de borda Gradiente da imagem A ferramenta para determinar a força da borda e a sua direção em um local arbitrário (x,y) de uma imagem f, é o seu gradiente dado pelo vetor

que aponta para a direção de máxima variação de intensidade Usamos a magnitude e o ângulo do vetor gradiente

vetor gradiente é chamado de normal da borda

Detecção básica de borda Operadores de gradiente Os filtros derivativos mais simples

Os menores filtros derivativos são 3 x 3. O filtro de Prewitt é obtido por separabilidade pelo filtro box e o filtro derivativo com diferença central

diagonalmente orientados compõem o filtro de Roberts O filtro Sobel é composto por separabilidade entre o filtro triangular e o filtro derivativo com diferença central Filtros de 2 x 2 não são simétricos em relação ao pixel de origem. Isso implica em uma mudança de fase na frequência mais alta

Detecção básica de borda Ângulo do vetor gradiente

Imagem original

Componente

de 835 x 1114

vertical do Filtro

Sobel

Componente

Aproximação da

horizontal do

magnitude

Filtro Sobel

Detecção básica de borda Imagem original

Componente

de 835 x 1114

vertical do Filtro

Suavizada com

Sobel

filtro box 5 x 5

Componente

Aproximação da

horizontal do

magnitude

Filtro Sobel

Detecção básica de borda Operadores de gradiente Os núcleos 3 x 3 de Prewitt e de Sobel têm resposta predominante para bordas verticais e horizontais Os núcleos de compasso Kirsch são projetados para detectar magnitude e a direção de todos as direções cardinais A abordagem de Kirsch é determinar a magnitude da borda pela convolução com 8 núcleos direcionais, atribuindo a magnitude como a resposta que provê a maior resposta

Detecção básica de borda A imagem de entrada foi suavizada com filtro box de 5 x 5

Resposta do

Resposta do

filtro de Kirsch

filtro de Kirsch

Detecção básica de borda Gradiente e limiarização A suavização da imagem pode tornar a detecção de borda mais seletiva. Outra abordagem para selecionar pixels de borda é a limiarização

Limiar de 33% do maior valor de magnitude do gradiente

Limiarização da

Limiarização da

resposta de magnitude

resposta de magnitude

na

imagem original

na imagem suavizada com o filtro box de 5 x 5

Modelagem de detectores de bordas

Filtros ótimos para detecção de bordas São filtros que modelam ruído e que levam a forma da borda em consideração. São exemplos de detectores ótimos: 1) Detector de Marr-Hildreth: usa filtro gaussiano, filtro Laplaciano, e detecção de passagem por zero 2) Detector de borda de Canny: usa a primeira derivada da gaussiana e considera borda de passo 3) Detector de Shen-Castan: modela bordas como transição de múltiplos passos e usa um filtro exponencial

Transformada de Hough Processamento global de retas

Acumulação paramétrica A conexão de pixels de borda pode ser feita localmente. Mas alguns problemas envolvem a ligação de pontos de forma global na imagem. Isso possibilita a detecção de objetos de tamanhos e comprimentos arbitrários

Essa abordagem envolve encontrar retas, e depois realizar comparações de todo ponto com todas as retas Hough propôs uma alternativa computacionalmente viável

Dados n pontos em uma imagem, queremos encontrar subconjuntos desses pontos que fazem parte de linhas retas Uma solução possível é calcular todas as retas determinadas por todo par de pontos, e então encontrar todos os subconjuntos de pontos que são próximos a retas particulares de interesse

Seja uma reta

um ponto no plano xy e a equação paramétrica de que passa pelo ponto

Infinitas retas passam pelo ponto. Mas todas elas satisfazem para todos os valores possíveis de a e b

Transformada de Hough Processamento global de retas

Acumulação paramétrica Entretanto, ao escrever a equação da reta como e considerando o plano ab (chamado de espaço paramétrico), temos a equação de apenas uma reta para um ponto Além disso, um segundo ponto também tem uma única reta no espaço paramétrico associado com ele, que intercepta a reta associada com em algum ponto , onde a’ e b’ são os parâmetros contendo ambos e (assumindo que as retas não são paralelas)

Transformada de Hough Processamento global de retas

Acumulação paramétrica Todos as retas do espaço paramétrico correspondentes a todos os pontos podem ser plotados

Uma dificuldade dessa abordagem é que a derivada a tende a infinito para retas verticais Uma forma de contornar esse problema é usar a representação da normal de uma reta

Transformada de Hough Processamento global de retas

Acumulação paramétrica A vantagem computacional da transformada de Hough está na possibilidade de subdividir o espaço em o que se chama de células de acumulação de um espaço de acumulação

e solucionamos o O espaço paramétrico é subdividido entre e , onde D é a distância máxima entre os cantos opostos de uma imagem Cada célula parâmetros

tem um valor de acumulação A(i,j) associado aos que é inicialmente zerado

Para cada ponto branco no plano xy, fazemos cada uma das subdivisões no espaço

correspondente com

Os valores resultantes são arredondados para a célula mais próxima. Se para um ângulo obtemos a solução , então incrementamos a célula

No final do processo, o valor de cada célula indica quantos pontos podem formar a reta correspondente

igual a Esse algoritmo é linear em função do número de pontos n

Transformada de Hough Processamento global de retas

Exemplo

Imagem de 101 x 101 com 5 pontos

Representação no espaço paramétrico

Transformada de Hough Processamento global de retas

Generalização A transformada de Hough pode ser generalizada para qualquer função que pode ser expressada implicitamente como

onde v é um vetor de coordenadas e c é um vetor de coeficientes Por exemplo, os pontos sobre um círculo

podem ser detectados pela mesma abordagem apresentada. A diferença é que o espaço paramétrico é 3D

O problema de conexão de bordas baseado na transformada de Hough pode ser resumido da seguinte forma: 1) Obtenha uma imagem binária com algum método de segmentação 2) Especifique as subdivisões do espaço 3) Calcule os contadores das células do espaço paramétrico 4) Examine a continuidade entre os pixels de uma célula A continuidade é calculada para determinar se há falhas ao longo da reta

Limiarização Efeito do ruído na limiarização O processo de limiarização parte do princípio de que as intensidades que compõem o objeto estão concentradas em torno de uma intensidade média

Quando a imagem é bimodal e cada moda representa um de seus aspectos (objeto ou fundo), a segmentação é uma tarefa trivial A presença de ruído pode tornar essa separação mais complicada

Ruído gaussiano com

Ruído gaussiano com

desvio = 10

desvio = 50

Limiarização Imagem com ruído

Efeito da iluminação e reflectância Iluminação e reflectância têm um papel fundamental em métodos de limiarização Controlar esses fatores pode ser crucial para o sucesso da segmentação em aplicações em que isso é possível Há duas possibilidades quando o controle não é possível: 1) corrigir ou eliminar padrões de sombreamento locais ou global. 2) utilizar limiarização variável

Rampa no intervalo [0.2, 0.6]

Produto das duas imagens

Limiarização ótima Método de Otsu Limiarização pode ser vista como um problema de decisão estatística cujo objeto é minimizar o erro médio de se atribuir pixels a uma ou mais classes

Seja {0,1,2,...,L – 1} o conjunto de L níveis inteiros distintos em uma imagem digital de M x N, e o número de pixels com intensidade i é denotado por ni

O método de Otsu é ótimo no sentido de que ele minimiza a variância intra-classes

O número total de pixels da imagem é e o histograma normalizado tem os componentes portanto

e

O método de Otsu tem a vantagem se ser calculado a partir do histograma Agora, suponha que o limiar T(k) = k é escolhido para separar a imagem de entrada em duas classes c1 e c2

Limiarização ótima Método de Otsu A classe c1 consiste de todos os pixels na imagem com valores de intensidade entre [ 0, k ], e a classe c2 consiste de todos os pixels na imagem com valores de intensidade entre [ k + 1, L – 1 ]

A intensidade média da classe c1 é

e da classe c2 é

Com esse limiar, a probabilidade à classe c1 é

e de ser atribuído à classe c2 é

de um pixel ser atribuído A média acumulada até o nível k é

e a intensidade média de toda a imagem é

Limiarização ótima Método de Otsu Por substituição simples, podemos verificar que com

Quanto mais distantes são as médias m1 e m2, maior será a variância

Para avaliar a eficácia do limiar no nível k , podemos usar a medida

Como a variância global é constante, então é uma medida de separabilidade e maximizá-la equivale a maximizar

onde

O objetivo então é determinar o limiar k que maximiza a variância intra-classe, na forma

e

é a variância global

é a variância intra-classe

Limiarização ótima Método de Otsu O limiar ótimo é o valor forma

que maximiza

na seguinte

Para encontrar , essa equação é avaliada para todos os valores de k, sujeita à condição 0 < P1(k) < 1 Se o máximo é o mesmo para vários valores, utilizamos a média desses valores

Uma vez determinado o limiar, a segmentação é obtida na forma usual

Limiarização ótima Imagem original de

Histograma

microscopia de células

Binarização com limiar =

Binarização com limiar =

169

182 calculado pelo

método de Otsu

Limiarização ótima Binarização com limiar = 125 Imagem original de impressão digital

Histograma

calculado pelo método de Otsu

Endereço

Obrigado e até à próxima aula!

Universidade Federal de Juiz de Fora, Instituto de Ciências Exatas, Edifício do Departamento de Ciência da Computação, 4º andar, sala 415

Telefone (32) 2102-3387 ramal 4045

E-mail [email protected]

Processamento de Imagens

Extração de características Prof. Marcelo Bernardes Vieira

Bibliografia e fontes

Essa aula foi construída a partir das seções 11.2, 11.3, 11.4, 11.5, 11.6 e 11.7 do livro “Digital Image Processing”, de Rafael C. Gonzalez e Richard E. Woods, 4a

edição, Editora Pearson, 2018.

Sinopse Tópicos desta aula Código de cadeia e polígonos

Descritores de borda Descritores de regiões Análise de Componentes Principais – PCA Detector de cantos

SIFT

Código de cadeia Representação de bordas Códigos de cadeia são usados para representar uma borda com uma sequência conectada de segmentos de reta de direção e comprimento previamente especificados

Assume-se que a borda foi segmentada da imagem nesta parte do curso Uma representação por código de cadeia é baseada em segmentos 4 ou 8-conexos A direção de cada segmento é codificado por um esquema de numeração

Um código de borda com essas características é chamado de código de cadeia de Freeman É possível usar um código de cadeia que representa o deslocamento real entre cada par de pixels de uma borda. Isso não é feito porque: 1) a cadeia resultante é muito longa 2) qualquer perturbação ao longo da borda, devido à ruído ou segmentação imperfeita, levaria o código a não generalizar a borda

Código de cadeia Representação de bordas Para isso, uma estratégia comum é amostrar a borda utilizando uma grade de menor resolução sobre a imagem Então, ao percorrer a borda, cada ponto é atribuído ao nó mais próximo da grade No exemplo, os pontos de borda são representados pelo código 8-conexo: 0766666453321212 O ponto inicial é o superior esquerdo por convenção. Pode-se normalizar a sequência usando rotações (diferença entre os códigos subsequentes)

Imagem de 570 x 570 com ruído

Imagem suavizada com filtro box

Imagem limiarizada com método

9x9

de Otsu

Código de cadeia

Borda externa mais longa

Borda amostrada em grade de

Pontos conectados com

menor resolução

código de cadeia

Código de cadeia resultante:

00006066666666444444242222202202

Código de diferença de ângulos:

00062600000006000006260000620626

Código de cadeia Código de cadeia de inclinação O código de Freeman requer amostragem da borda para suavizar pequenas variações Uma alternativa é usar um código de cadeia de inclinação. A ideia é calcular as mudanças na inclinação entre segmentos consecutivos e normalizar as mudanças no intervalo (-1, 1) O primeiro passo é determinar o comprimento do segmento de reta. O processo pode ser entendido como uma sequência de círculos idênticos (com raio igual ao segmento de reta escolhido)

Código resultante: 0.12 0.20 0.21 0.11 -0.11 -0.12 -0.21 -0.22 -0.24 -0.28 -0.28 -0.31 -0.30

As interseções dos círculos e a curva determinam os nós da aproximação por retas da curva

Uma vez definidos os círculos, as mudanças nas inclinações são normalizadas no intervalo aberto (-1, 1). As inclinações de -1 e 1 são ambíguas

Polígonos Bordas de mínimo perímetro Uma borda digital pode ser aproximada com acurácia arbitrária por um polígono. Uma das formas é representar a borda por polígonos de mínimo perímetro. O algoritmo é intrincado mas relativamente fácil de se implementar

Descritores de borda Medidas de sumarização O comprimento da borda é o mais simples descritor. O número de pixels ao longo da borda é uma aproximação de seu comprimento

Em uma curva codificada em cadeia os componentes diagonais têm peso O diâmetro de uma borda B é definido por

O eixo principal, ou corda mais longa, é o comprimento do diâmetro

cuja orientação é

O eixo mínimo é a reta perpendicular em relação ao eixo principal cujo comprimento é aquele que forma uma caixa envolvente (bounding box) da borda contendo o eixo principal A razão do eixo principal e o eixo mínimo é chamado de excentricidade

Descritores de borda Medidas de sumarização A curvatura de uma borda é definida como a taxa de variação da inclinação. Medir a curvatura de uma borda discreta não é trivial por causa das mudanças bruscas. Uma melhor opção é utilizar a aproximação poligonal da borda O código de cadeia de inclinação pode ser usado para calcular a tortuosidade que é uma medida de desvios e inversões de uma curva na forma

Descritores de borda Assinaturas Uma assinatura é uma representação funcional 1D de um contorno 2D A forma mais simples é plotar a distância do centroide ao contorno como uma função do ângulo A ideia de assinaturas é reduzir a representação para uma função 1D que é mais fácil de descrever do que a forma 2D original

Descritores de borda Descritores de Fourier O exemplo mostra uma borda digital que começa no ponto com uma sequência no sentido anti-horário Podemos representar essa sequência como números complexos com k = 0,1,2,..., K – 1, onde K é o total de pontos da borda A transformada de Fourier dessa sequência é

para u = 0,1,2,..., K – 1

Suponha que apenas os primeiros P coeficientes são usados na transformada inversa

Descritores de borda Contorno de um cromossomo humano com 2868 pontos

1424 coeficientes

286 coeficientes

144 coeficientes

36 coeficientes

18 coeficientes

8 coeficientes

Descritores de Fourier Apagar os coeficientes de alta frequência é o mesmo que filtrar a série com um filtro passa-baixa ideal

Essa redução de dimensão pode capturar a essência de um contorno Note que apenas 18 coeficientes (0.28% do total de pontos) são suficientes para reter a característica principal da forma

72 coeficientes

Descritores de borda Descritores de Fourier Descritores de Fourier não são diretamente insensíveis a mudanças geométricas Mas elas estão relacionadas a simples transformações nos coeficientes dos descritores A mudança no ponto inicial, por exemplo, é obtida por que implica em redefinir a sequência

que muda o início de k = 0 para k = k0. Isso afeta todos os pontos da série

A translação é representada por resultante é

e a sequência

A translação tem efeito apenas para o primeiro coeficiente u = 0 representado por

Descritores de borda Momentos estatísticos Momentos estatísticos de uma variável são descritores aplicáveis a representações 1D de bordas, como as assinaturas

O n –ésimo momento de z em torno de sua média m é dado por

Considere uma função discreta g(r) de uma variável r que representa uma assinatura de contorno

onde

Considere que a amplitude de g seja uma variável aleatória z , com a qual formamos um histograma de amplitudes onde A é o número de células do histograma Se

é normalizado, ele forma uma estimativa do PDF de z

O segundo momento

é a variância

Em geral, poucos momentos são suficientes para diferenciar assinaturas distintas

Descritores de regiões Descritores básicos

Perímetro e área A área de uma região é definida como o número de pixels que a formam. O perímetro de uma região é o comprimento de seu contorno

Uma medida similar é a circularidade definida por

que é 1 para o círculo (seu valor máximo) e Quando área e perímetro são usados como descritores, eles geralmente fazem mais sentido se são normalizados

para um quadrado

Esses dois valores são independentes de tamanho, orientação e translação (importantes propriedades de características)

A compacidade é definida por Outra medida baseada no círculo é o diâmetro efetivo que é uma medida adimensional que é mínimo) e 16 para um quadrado

para um círculo (seu valor que não é adimensional nem independente do tamanho da região, mas é independente de orientação e translação

Descritores de regiões Descritores básicos

Excentricidade A excentricidade de uma região é relativa a uma elipse com o mesmo segundo momento central da região. Em 1D, o segundo momento é a variância. Para dados discretos 2D, nós temos que considerar a variância de cada variável e a covariância entre elas

A diagonal da matriz C são as variâncias dos valores de coordenadas dos pontos na região. Os valores fora da diagonal são suas covariâncias A excentricidade de uma elipse é

Essas informações são os componentes da matriz de covariância

onde é um vetor 2D que são as coordenadas espaciais de um ponto na região, K é o número total de pontos e é o vetor médio (centroide da região)

e, a partir de uma matriz de covariância, a excentricidade depende dos autovalores

que varia entre [0, 1], ou entre uma reta e um círculo

Descritores de regiões Descritores básicos

Exemplos

Espaço de features 3D que pode ser usado para classificação

Descritores de regiões

Exemplo Imagem em infravermelho

A razão da área ocupada (regiões claras) sobre a área total indica a ocupação por seres humanos Essa razão pode prover uma estimativa de consumo de energia por região

Descritores de regiões Textura

Momentos estatísticos Não há definição formal do que é textura. Descritores baseados em textura provêm medidas de propriedades como suavidade, aspereza e regularidade Uma abordagem simples para descrever textura é usar momentos estatísticos do histograma da região. Vimos que o n –ésimo momento de uma variável aleatória z é dado por

O segundo momento (variância) é particularmente importante para descrição de textura. Por exemplo, o valor

é zero para áreas de intensidade constante (a variância é 0) e se aproxima de 1 para grandes valores de O terceiro momento é uma medida de assimetria (curtose ou distorção) do histograma, enquanto o quarto momento é uma medida de planicidade ou constância

com média Outras medidas baseadas em histograma são a uniformidade É importante normalizar as intensidades da imagem entre [0, 1] para evitar grandes valores dos momentos estatísticos

e a medida de entropia média definida por

Descritores de regiões Textura

Suave

Assimétrica

Regular

Descritores de regiões Textura

Matriz de co-ocorrência Medidas de textura calculadas pelo histograma não carregam informação espacial

Uma matriz de co-ocorrência relaciona intensidades e suas posições no espaço Seja Q um operador que define a posição de dois pixels em relação a cada um. Considere uma imagem f com L intensidades possíveis

Cada elemento na matriz de co-ocorrência G é um contador do número de vezes que pares de pixels com intensidades e ocorrem em f na posição definida por Q

Exemplo para Q = vizinho à direita

Descritores de regiões Textura

Matriz de co-ocorrência O número de possíveis intensidades determinam o tamanho da matriz G

A vizinhança em relação à Q pode ser arbitrária, até mesmo sem haver adjacência

Isso não é problema para calcular uma matriz. Mas é comum o uso de várias matrizes e o custo de tempo e de espaço podem ser proibitivos. Uma forma de reduzir a complexidade é quantizar as intensidades

Um outro exemplo é definir Q como “um pixel à direita e um pixel acima” (diagonal). Nesse caso, a posição (1, 1) seria zero pois não há nenhum caso de 1 com outro 1 na diagonal. Mas as posições (1, 3), (1, 5) e (1, 7) teriam todos 1, porque ocorrem uma vez em f de acordo com Q

O número total de pontos n que satisfazem a condição Q é igual à soma dos elementos da matriz. A quantidade

é a probabilidade de um par que satisfaz Q tenha os valores

Descritores de regiões Textura

Matriz de co-ocorrência A presença de padrões de intensidade em texturas pode ser detectada pela escolha de um operador de posição Q adequado e pela análise de G Para o caso da correlação, define-se as quantidades

que são médias ponderadas por linhas e colunas da matriz, e

são as respectivas variâncias

G1

Descritores de regiões

Matrizes de coG2

ocorrência de 256 x 256 com Q = pixel à direita

G3

Descritores de regiões Momentos invariantes

Momentos de intensidades em 2D O momento 2D de ordem (p + q) de uma imagem digital de M x N é definido por

O momento central normalizado de ordem (p + q) é

onde onde p = 0,1,2,... e q = 0,1,2,... são inteiros

para p + q = 2, 3, ...

A noção de momento vem da física e pode ser usada para derivar medidas invariantes à translação, rotação, escala e reflexão

O momento central correspondente de ordem (p + q) é Usaremos os momentos centrais normalizados de ordem 2 e 3 para caracterizar imagens onde

e

definem o centro de massa

Descritores de regiões Momentos invariantes

Momentos invariantes em 2D Um conjunto de 7 momentos invariantes 2D podem ser derivados dos momentos centrais normalizados de ordem 2 e 3:

Todos são invariantes à translação, rotação, escala, e reflexão É possível analisar alguns valores de forma física. O é a soma dos segundos momentos nos principais eixos e pode representar dispersão

Descritores de regiões

Análise de componentes principais - PCA Múltiplas imagens A questão é como extrair características de múltiplas imagens registradas Se temos um total de n imagens registradas, então os pixels correspondentes na mesma localização espacial podem ser arranjados como um vetor n -dimensional

que também pode ser descrito na forma

Podemos tratar esses vetores como quantidades aleatórias e analisar o vetor médio

e a matriz de covariância

que é uma matriz de n x n simétrica e real, cujos autovetores são ortonormais Seja e o i - ésimo autovetor e o autovalor correspondente para i = 1,2,...,n ordenados de forma descendente

Análise de componentes principais - PCA Múltiplas imagens Seja A a matriz cujas linhas são formadas pelos autovetores de de forma que a primeira linha é o autovetor correspondente ao maior autovalor

Podemos usar A para mapear os vetores x em vetores y na forma em que

é a média dos vetores x

Como os vetores x são transladados para a origem, temos que a média de y é nula

Pode-se verificar que a matriz de covariância dos vetores y é dada pela covariância de x e, como A alinha os autovetores de com os eixos, temos que é uma matriz diagonal cujos elementos são os autovalores de

Essa transformação se chama transformada de Hotelling e aplica uma rotação dos vetores x dada pela base formada pelos autovetores de A Logo as duas matrizes têm os mesmos autovalores

Análise de componentes principais - PCA Truncamento dos componentes Para obter x a partir de y, podemos aplicar

A operação inversa nesse caso não seria mais exata. Os vetores reconstruídos por são

onde a transposta da matriz ortogonal A é sua inversa Suponha agora que, ao invés de usarmos todos os componentes de , usássemos apenas os k autovetores correspondentes aos k maiores autovalores para formar uma matriz A matriz resultante teriam dimensão k

teria k x n elementos, e os vetores y

O erro quadrático médio entre x e

é

A ideia de usar os autovetores correspondentes aos maiores autovalores é também conhecida como transformada dos componentes principais

Análise de componentes principais - PCA Azul visível (450-520 nm)

Verde visível (520-600 nm) Vermelho visível (630-690 nm)

564 x 564 pixels que formam 318096 vetores de dimensão 6 IR próximo (760-900 nm)

IR médio (1550-1750 nm)

IR termal (10400-12500 nm)

Análise de componentes principais - PCA Primeiro elemento de y

Segundo elemento de y

Terceiro elemento de y

Resultado do mapeamento

Quarto elemento de y

Quinto elemento de y

Sexto elemento de y

Análise de componentes principais - PCA Azul visível (450-520 nm)

IR próximo (760-900 nm)

Verde visível (520-600 nm) Vermelho visível (630-690 nm)

IR médio (1550-1750 nm)

IR termal (10400-12500 nm)

Reconstrução usando apenas os dois componentes principais

Análise de componentes principais - PCA Diferença entre as imagens originais e as reconstruídas com dois componentes principais

Análise de componentes principais - PCA Normalização de formas Descritores de características devem ser o mais independentes possível de variações de tamanho, translação e rotação Os componentes principais provêm uma forma conveniente de normalizar contornos e/ou regiões Os pontos de uma borda, ou de uma região, são vetores 2D que formam uma população que pode ser usada para calcular a matriz de covariância e o vetor médio O primeiro autovetor aponta na direção de máxima variância e o segundo autovetor é perpendicular ao primeiro

Considere quatro pontos com coordenadas (1, 1), (2, 4), (4, 2) e (5, 5). O vetor médio e a matriz de covariância são

e a decomposição de

gera os autovetores

cujos autovalores são

e

Análise de componentes principais - PCA Normalização de formas Os pontos transformados y são (-2.828, 0), (0, -1.414), (0, 1.414) e (2.828, 0) Eles são a versão rotacionada de x de forma que os autovetores se alinham aos eixos principais, e transladada de forma que o centroide é (0, 0)

A normalização da forma requer que as coordenadas sejam positivas e inteiras. Essa versão pode ser comparada mais facilmente em problemas que precisam de invariância à rotação e à translação

Análise de componentes principais - PCA Normalização de formas

Detector de cantos Detector de Harris-Stephens

Análise em uma janela Cantos são detectados através do uso de pequenas janelas. Estamos interessados em três cenários: 1) Áreas de baixa mudança de intensidades em todas as direções, que ocorrem em regiões constantes 2) Áreas de grande mudança em uma direção mas pouca variação na direção ortogonal, que ocorrem na fronteira entre duas regiões 3) Áreas de grandes mudanças em todas as direções, que é a condição para que a janela contenha um canto Seja f uma imagem e f(s,t) uma sub-região da imagem definida pelas coordenadas de (s, t). Uma outra sub-região de mesmo tamanho mas transladada para (x, y) é dada por f(x + s, y + t)

A soma ponderada das diferenças ao quadrado entre as duas subregiões é

onde w(s,t) é uma função de ponderação A sub-região deslocada pode ser aproximada pelos termos lineares da expansão de Taylor

onde

e

Detector de cantos Detector de Harris-Stephens

Uso de derivadas e janela A soma ponderada das diferenças ao quadrado pode ser rescrita como

A matriz A é chamada de matriz de Harris e seus valores são avaliados em (s, t)

que pode ser escrita na forma matricial como

Os pesos w(s,t) são definidos de duas formas: 1) Seus valores são 1 dentro da sub-região e zero fora 2) Ou são definidos por uma função na forma

onde O filtro box é usado se o custo computacional é importante e o filtro gaussiano é usado quando há presença de ruído com Como a matriz M é simétrica e real, os 3 casos podem ser determinados pela análise de seus autovalores e autovetores

Detector de cantos Detector de Harris-Stephens Os autovalores da matriz formada pelas derivadas na subregião podem ser usados para determinar um dos três cenários de interesse. Mas calcular autovalores diretamente tem alto custo computacional O detector de HS usa a medida

onde k é uma constante definida empiricamente que indica a sensibilidade do detector (0 < k < 0.25 no Matlab) A valor de R é alto e positivo quando ambos os autovalores são altos, indicando um canto. Ele tem valores negativos e altos quanto um autovalor é alto e o outro é baixo, indicando uma borda. De outra forma, o valor absoluto de R é baixo

Detector de cantos Detector de Harris-Stephens k = 0.04 T = 0.01

k = 0.1 T = 0.01

k = 0.04 T = 0.1

k = 0.04 T = 0.3

Imagem de 600 x 600 com valores entre [0, 1] com ruído gaussiano de média 0 e variância = 0.006

k = 0.1 T = 0.1

Detector de cantos Detector de Harris-Stephens k = 0.04 T = 0.01

Imagem de 600 x 600 com valores entre [0, 1] com ruído gaussiano de média 0 e variância = 0.01 que é bem maior do que o exemplo anterior

k = 0.249 T = 0.01

k = 0.04 T = 0.15

Detector de cantos Detector de Harris-Stephens k = 0.04 T = 0.01

k = 0.249 T = 0.01

k = 0.04 T = 0.1

k = 0.04 T = 0.07

Imagem rotacionada em 5º

Imagem de um prédio com 600 x 600 com valores entre [0, 1]

k = 0.17 T = 0.05

k = 0.04 T = 0.07

SIFT Scale-Invariant Feature Transform Quando imagens são similares, com a mesma escala, orientação, e etc., pode-se usar características mais simples como a detecção de cantos

A ideia do SIFT é encontrar pontos chave da imagem que são salientes e invariantes à escala, rotação, mudanças na iluminação, e mudanças de pontos de vista Essa abordagem é muito ampla e, portanto, não há um sistema capaz de identificar marcadores universais. De fato, as características SIFT têm muitos parâmetros ajustados empiricamente

As características SIFT, chamados keypoints , são invariantes à escala da imagem e rotação, e são robustos em relação à distorções afins, mudanças de ponto de vista 3D, ruído, e mudanças de iluminação A entrada do método é uma imagem e a saída são vetores de características n-dimensionais, com n = 128 em geral

SIFT Espaço de escala O primeiro passo do método SIFT é encontrar locais que são invariantes à mudança de escala

O espaço de escala de uma imagem em tons de cinza é gerado pela convolução com um núcleo Gaussiano

O espaço de escala representa uma imagem como uma família de imagens suavizadas, cujo objetivo é simular a perda de detalhe quando a escala diminui

onde a escala é controlada pelo parâmetro 𝜎, e G tem a forma

O parâmetro que controla a suavização é chamado de parâmetro de escala

e a imagem de entrada f(x,y) é sucessivamente convoluída com núcleos gaussianos com desvio-padrões para gerar uma pilha de imagens suavizadas

SIFT Espaço de escala O método SIFT subdivide o espaço de escala em oitavas em que cada oitava corresponde a dobrar 𝜎

O método utiliza DoG com as imagens de cada oitava. Por isso, são necessárias mais 2 imagens para realizar as diferenças

O método então subdivide cada oitava em um número inteiro de intervalos s , de forma que s = 1 consiste de 2 imagens, o s = 2 consiste de 3 imagens, e assim por diante

Assim, para s = 2 há 3 intervalos. Mas são calculadas 5 imagens no total para cada oitava

O multiplicador usado no núcleo que gera a imagem de uma oitava é Para s = 2, temos e a imagem de entrada é suavizada com os desvios padrões 𝜎, e de forma que a última imagem é filtrada usando um núcleo com

Por definição, a primeira imagem da segunda escala é formada pela amostragem da imagem original (decimação), seguida de suavização com núcleo com 2 vezes o desvio-padrão da primeira oitava As imagens subsequentes na oitava são obtidas com a escala dada por k

SIFT Espaço de escala A mesma sequência é repetida para as oitavas subsequentes Com , obtemos a primeira imagem de uma nova oitava sem precisar suavizar a imagem reamostrada. Isso porque esse k é o mesmo usado para suavizar a última imagem (do intervalo) na oitava anterior Então a primeira imagem da próxima oitava pode ser calculada pela decimação da última imagem do intervalo da oitava anterior

SIFT

SIFT Detecção de extremos locais O passo seguinte é a detecção de máximos e mínimos locais utilizando as imagens suavizadas. Isso é feito através da Diferença de Gaussianas entre duas imagens adjacentes de uma mesma escala Por exemplo, para encontrar locais de keypoints nos primeiros dois níveis da oitava 1 no espaço de escala, busca-se os extremos na função que pode ser reescrita como Ou seja, podemos simplesmente fazer a subtração entre as duas imagens suavizadas da oitava 1

A Diferença de Gaussianas (DoG) é uma aproximação do filtro Laplaciano da Gaussiana (LoG) O mesmo processo de subtração pode ser feito em quaisquer duas imagens adjacentes de qualquer oitava, desde que elas tenham sido decimadas De fato, um filtro LoG só pode ser invariante a escala em um espaço de escala se ele for normalizado por , o que não é necessário com os filtros DoG com amostragem. Ou seja,

SIFT

SIFT Detecção de extemos locais Em cada pixel de uma imagem de diferença , o valor do pixel é comparado com seus 8 vizinhos na imagem, e com seus 9 vizinhos das imagens de diferença precedente e subsequente Um ponto é selecionado como extremo local se seu valor é maior do que todos os seus vizinhos, ou seu valor é menor do que todos eles Nenhum extremo pode ser encontrado na primeira escala de uma oitava porque não há uma imagem de diferenças que a precede

SIFT Melhorando a acurácia dos keypoints Se usarmos uma função contínua, podemos encontrar seu verdadeiros máximo e mínimo entre pontos amostrados O método SIFT usa os termos lineares e quadráticos da expansão na série de Taylor das diferenças , transladadas de forma que a origem é localizada no ponto amostrado que está sendo examinado

O gradiente é dado por

e H é a matriz Hessiana

A posição do extremo é obtida pela derivação da expansão em função de x, igualando a zero. O resultado é onde D e suas derivadas são avaliadas no ponto amostrado, é o deslocamento a partir desse ponto

SIFT Melhorando a acurácia dos keypoints A matriz Hessiana e o gradiente de D são obtidos por diferenças finitas dos vizinhos O sistema linear de 3 x 3 é facilmente solucionado numericamente. Se o deslocamento encontrado é maior do que 0.5 em alguma de suas 3 dimensões, conclui-se que o extremo está localizado em um ponto vizinho. Nesse caso o extremo é mudado e interpolado no novo ponto O deslocamento final encontrado inteira do ponto original

é adicionado à localização

O valor da diferença

no ponto extremo é dado por

Esse valor é testado para eliminar pontos extremos em regiões de baixo contraste No artigo original, os pontos com menores do que 0.3 são rejeitados, assumindo que as imagens têm valores entre [0, 1]

SIFT Eliminando respostas sobre bordas A Diferença de Gaussianas é um filtro passa-alta e portanto extrai bordas em imagens

A curvatura em um ponto na imagem pode ser estimada pela matriz Hessiana de 2 x 2 avaliada naquele ponto

Os pontos de interesse no SIFT são do tipo canto que são bem mais localizados. Então os keypoints que estão apenas sobre bordas precisam ser eliminados

Para estimar a curvatura da DoG em qualquer nível do espaço de escala, calcula-se a matriz Hessiana de D

Para quantificar a diferença entre borda e cantos, podemos usar a curvatura local Uma borda é caracterizada por alta curvatura em uma direção, mas com baixa curvatura na direção ortogonal

cujos autovalores são proporcionais às curvaturas de D

SIFT Eliminando respostas sobre bordas Da mesma forma do detector de Harris-Stephens, podemos evitar o cálculo de autovalores ao formular testes em função do traço e do determinante de H (que são a soma e o produto dos autovalores) Sejam α e β os autovalores de H que é simétrica e de ordem 2 x 2, temos que

Seja r a razão entre o maior e o menor autovetores. Então α = r β e

que não depende dos valores individuais dos autovalores. O mínimo dessa função ocorre quando os autovalores são iguais, aumentando em função de r Para verificar a razão entre as curvaturas principais é menor que um limiar r , precisamos apenas verificar se

Se o determinante é negativo, as curvaturas têm sinais diferentes e o ponto não pode ser um extremo. Então ele é descartado cujo cálculo é simples

SIFT Eliminando respostas sobre bordas Nos experimentos do artigo original do SIFT, o valor de r = 10 foi usado, significando que keypoints com razões de curvatura maiores do que 10 foram eliminados

No exemplo, os extremos refinados encontrados na imagem do prédio com menores do que 0.3 foram eliminados. Os keypoints restantes que falharam em satisfazer a razão de curvatura com r = 10 também foram eliminados

SIFT Orientação dos keypoints Os pontos obtidos pelo método SIFT até o momento possuem localização no espaço de escala. Isso significa que eles são independentes de escala

O próximo passo é atribuir uma orientação consistente a eles, baseado em propriedades da imagem. Isso é útil para obter independência de rotação da imagem Utilizamos a imagem suavizada por uma Gaussiana correspondente ao keypoint

Para cada elemento L(x,y) dessa imagem, calcula-se a magnitude do gradiente M(x,y) e o ângulo de orientação θ(x,y)

Um histograma de orientações com 36 células cobrindo 360º é calculado a partir das orientações de gradiente em uma vizinhança de cada ponto Cada amostra adicionada ao histograma é ponderado por sua magnitude e por uma função gaussiana circular com desviopadrão 1.5 vezes a escala do keypoint

SIFT Orientação dos keypoints Picos no histograma correspondem à direções locais dominantes de gradientes locais O maior pico no histograma é detectado e todos os outros picos que estão dentro de 80% do maior pico são usados para criar outros keypoints com suas orientações Em locais com múltiplos keypoints de magnitude similares, serão criados novos keypoints na mesma escala mas possivelmente com diferentes (mas similares) orientações

A orientação de cada keypoint é interpolado com uma parábola sobre os 3 valores mais próximos do histograma para obter maior acurácia

SIFT Orientação dos keypoints No exemplo, as orientações são desenhadas em cada keypoint. Os comprimentos das setas (magnitude) variam de acordo com iluminação e conteúdo da imagem. Sua orientação é consistente com a variação de brilho A importância da orientação está em problemas que exigem casamento de imagens, como registro, mapeamentos, etc.

SIFT Descritores de keypoints Os processos realizados até agora tiveram o objetivo de atribuir localização, escala e orientação para cada keypoint, obtendo invariância dessas variáveis

O próximo passo é calcular um descritor para uma região local ao redor de cada keypoint que seja altamente distinguível, mas também invariante a mudanças na escala, orientação, iluminação e ponto de vista A ideia é ser capaz de usar esses descritores para identificar casamentos (similaridades) entre regiões locais em duas ou mais imagens

Uma região de 16 x 16 pixels é centralizada em um keypoint e a magnitude de gradiente é calculada para cada ponto. Uma função gaussiana (desvio-padrão igual a metade do tamanho da região) é usada para atribuir um peso que multiplica a magnitude do gradiente em cada ponto A janela de 16 x 16 é dividida em 4 x 4 sub-regiões, cada uma com 4 x 4 vetores gradiente Cada uma das 4 x 4 regiões recebe um histograma de 8 células (45º entre cada célula) correspondente aos 16 vetores gradiente da sub-região

SIFT Descritores de keypoints O método SIFT distribui a contribuição de cada vetor gradiente a todas as células de cada histograma, dependendo da distância do vetor ao centro de cada célula. O peso é 1 – d , onde d é a distância mais curta do vetor ao centro da célula. Isso evita mudanças abruptas quando uma pequena modificação de orientação ocorre Para obter invariância à rotação, os vetores gradientes são todos considerados em relação à orientação do keypoint O descritor de cada keypoint então é composto por um vetor de dimensão 128

SIFT Invariância à iluminação Para obter invariância à iluminação, o descritor é normalizado em duas etapas

Isso equivale a reduzir a influência de altas magnitudes de gradiente que podem ter sido resultado de saturação

Primeiramente, o vetor de 128 é normalizado para ter norma 1. Com isso obtém-se invariância à mudanças afins na iluminação

Em seguida, o descritor do keypoint é novamente normalizado para ter norma 1

Mudanças não lineares na iluminação são reduzidas com o truncamento de componentes do descritor que são maiores do que um limiar. Experimentalmente, componentes maiores que 0.2 recebem esse valor máximo

SIFT Keypoints com suas direções e uma sub-imagem do canto direito do prédio

Pontos correspondentes entre o prédio e a sub-imagem. Apenas 3 pontos incorretos entre 36 casados

SIFT Keypoints com suas direções e uma sub-imagem do canto direito do

Pontos correspondentes entre o prédio e a sub-imagem. Apenas 2

prédio rotacionado em 5º

pontos incorretos entre 26 casados

SIFT Keypoints com suas direções e uma sub-imagem do canto direito do

Pontos correspondentes entre o prédio e a sub-imagem. Apenas 1

prédio com metade da resolução

ponto incorreto entre 7 casados

SIFT Resumo O método SIFT é muito complexo e depende de muitas constantes empiricamente definidas 1) Construir o espaço de escala: os parâmetros sugeridos são 𝜎 = 1.6, s = 2, e 3 oitavas 2) Obter os keypoints iniciais: computar as Diferenças de Gaussianas e encontrar os pontos extremos que são os keypoints iniciais 3) Melhorar a acurácia da posição dos keypoints: interpolar os valores de com expansão da série de Taylor

4) Eliminar keypoints inadequados: eliminar pontos com baixo contraste ou mal localizados. Todos os pontos com D menor do que um limiar (0.03) são eliminados. Pontos associados à bordas também são eliminados (r = 10) 5) Calcular orientação dos keypoints: calcular a orientação baseado no histograma de gradientes 6) Calcular o descritor dos keypoints: se uma região de 16 x 16 pixels ao redor de um keypoint é usada, o descritor tem 128 componentes. Normalizar os descritores

Endereço

Obrigado e até à próxima aula!

Universidade Federal de Juiz de Fora, Instituto de Ciências Exatas, Edifício do Departamento de Ciência da Computação, 4º andar, sala 415

Telefone (32) 2102-3387 ramal 4045

E-mail [email protected]

Processamento de Imagens

Redes neurais e aprendizado profundo Prof. Marcelo Bernardes Vieira

Bibliografia e fontes

Essa aula foi construída a partir das seções 12.5 e 12.6 do livro “Digital Image Processing”, de Rafael C. Gonzalez e Richard E. Woods, 4a edição, Editora

Pearson, 2018.

Sinopse Tópicos desta aula Redes neurais

Redes totalmente conectadas Passada de ida e retropropagação Redes neurais convolucionais Passada de ida e retropropagação

Treinamento com base MNIST e CIFAR-10

Redes neurais Neurônio artificial Um neurônio artificial é um modelo baseado em perceptrons, com múltiplos componentes de entrada que são variáveis independentes e ponderadas, e uma função suave que determina a sua saída

Rede neural totalmente conectada Uma camada na rede é um conjunto de neurônios em uma coluna

Redes neurais

Todas as saídas dos neurônios de uma camada são conectados à entrada de todos os neurônios da camada subsequente

A entrada é dada por um padrão x (primeira camada) e a saída da rede são as ativações da última camada. Todas as outras camadas são chamadas de escondidas Não pode haver loops na rede que então são chamadas de feedforward networks Redes com poucas camadas escondidas são chamadas rasas (shallow) e redes com muitas camadas são chamadas profundas (deep)

Redes neurais Rede neural totalmente conectada Seja l o índice de uma camada na rede, para l = 1, 2, ..., L. O índice da primeira camada é l = 1, e o da última é l = L. Os outros índices indicam camadas escondidas.

O número de neurônios em uma camada é denotado por nl A saída do neurônio k da camada l é denotada por

A forma mais comum de fazer classificação de padrões é atribuir um rótulo de classe para cada neurônio de saída Assim, uma rede com nL neurônios de saída pode classificar um padrão desconhecido em uma de nL classes A rede atribui um vetor de entrada x à classe ck , se o neurônio de saída k tem o maior valor de ativação, ou seja, se

O objetivo da rede é determinar qual é a classe de um padrão de entrada desconhecido Nesse curso, o número de neurônios da saída é o mesmo do número de classes. Mas isso não é uma condição para redes em geral

Redes neurais Passada de ida (forward pass) Uma passada de ida de uma rede neural mapeia a camada de entrada (valores de x) na camada de saída

onde i = 1,2,..., nl é o índice do neurônio e l = 1, 2,..., L é o índice da camada

As saídas da camada 1 são os componentes do vetor de entrada x

A quantidade zi(l) é chamada de entrada do neurônio i na camada l , e depende de todas as saídas da camada l - 1

onde n1 é a dimensão de x

A saída, ou valor de ativação, do neurônio i na camada l é dado por

O cálculo de entrada de um neurônio é dado por onde h é a função de ativação. O valor da saída da rede i é

Redes neurais Passada de ida (forward pass) Considere a rede mostrada no exemplo para calcular a passada de ida do vetor de entrada

Para o segundo neurônio da camada 2, temos

Para o neurônio superior da camada de saída 3 temos Começando com o neurônio superior da camada 2, calculamos o valor de entrada e para o segundo neurônio da camada de saída 3 temos com a qual calculamos a saída do neurônio Se a rede é um classificador, o padrão x pertence à classe c1

Redes neurais Forma matricial (forward pass) O cálculo da passada de ida tem inúmeras computações individuais

Cada linha dessa matriz contém os pesos de um dos neurônios da camada l

Podemos expressar a rede neural mais eficientemente com o uso de matrizes. Note que o padrão de entrada x é um vetor

O somatório das parcelas de entrada de um neurônio é um produto interno . Mas essa operação deve ser feira para todos os neurônios de uma mesma camada A solução é o uso de uma matriz W(l ) que contém todos os pesos da camada l

Podemos calcular todos os somatórios para a camada l

simultaneamente

onde a(l - 1) é um vetor coluna de dimensão nl - 1 x 1 contendo as saídas da camada l - 1, b(l ) é o vetor coluna contendo os vieses de todos os neurônios na camada l, e z(l ) é um vetor nl x 1 dos valores de entrada da camada l

Redes neurais Forma matricial (forward pass) A função de ativação é então aplicada em cada uma das entradas

O vetor de saída da segunda camada é

e o vetor de saída da segunda camada é

Considere o exemplo anterior de passada de ida, em que o vetor de entrada é

Redes neurais Forma matricial (forward pass) Essa formulação por matriz é capaz de processar apenas um padrão de entrada por vez Precisamos de um conjunto de equações para processar múltiplos vetores de entrada em um passo na passada de ida Inicialmente, agrupamos todos os vetores de entrada em uma única matriz X de dimensão n x np onde n é a dimensão dos vetores e np é o número de padrões de entrada A entrada é então em que cada coluna contém os valores iniciais de ativação para um padrão

Os parâmetros da matriz são os mesmos nl x nl - 1 pesos Para l = 2, a matriz de pesos W(2) tem dimensão n2 x n1 , lembrando que n1 = n é o tamanho do vetor de entrada. A extensão para múltiplos vetores resulta em cuja dimensão é Precisamos somar o vetor de bias da segunda camada que tem tamanho n2 x 1 . A solução é montar uma matriz B(2) de n2 x np formada por vetores coluna b(2) colocados nas np colunas

Redes neurais Forma matricial (forward pass) A equação para a segunda camada é então que tem dimensões n2 x np e contém os valores de entrada de todos os neurônios da camada 2 para todos os vetores de entrada O mesmo procedimento se aplica à todas as camadas na forma

Falta ainda a aplicação da função de ativação sobre os valores de entrada de cada camada l

Redes neurais Retropropagação (backpropagation) Uma rede neural é completamente definida pelos seus pesos, vieses e função de ativação Treinar uma rede neural significa usar um ou mais conjuntos de padrões de treinamento para estimar esses parâmetros Durante o treinamento, nós conhecemos a resposta desejada em cada neurônio de saída Mas não há formas de saber quais valores devem ter os neurônios das camadas escondidas

O treinamento por retropropagação envolve quatro passos básicos: 1) Fornecer os vetores de entrada 2) Realizar uma passada de ida na rede para classificar todos os padrões do conjunto de treinamento e determinar o erro de classificação 3) Fazer uma passada inversa que retropropaga o erro da saída através da rede para calcular as mudanças requeridas para atualizar os parâmetros 4) Atualizar os pesos e vieses da rede Esses passos são executados até que um erro aceitável seja alcançado

Redes neurais Retropropagação (backpropagation) A abordagem de retropropagação busca os parâmetros que minimizam uma função de custo, função de perda, ou função objetivo

O valor de ativação do neurônio j na camada de saída L é e o erro desse neurônio é

Seja r a resposta desejada para um padrão de entrada x, e seja a(L) a resposta da rede ao padrão x

para j = 1, 2, ..., nL onde rj é a resposta desejada da saída do neurônio para um dado padrão x

Se o objetivo é classificar 10 classes, então r é um vetor de 10 componentes. Idealmente, a saída da rede deveria ser 1 na posição da classe correta e 0 para todas as outras classes

O erro total para a entrada x é a soma dos erros de todos os neurônios de saída

Redes neurais Retropropagação (backpropagation) O erro total da rede é a soma dos erros de todos os padrões de entrada do conjunto de treinamento. Queremos encontrar pesos que minimizam esse erro total

Para isso vamos usar o método de gradiente descendente Não há como diferenciar o peso de cada neurônio em relação ao erro de forma direta Então vamos propagar o erro no sentido inverso da passada de ida

Precisamos saber como o erro de um padrão de entrada E muda em função dos pesos da rede Os pesos compõem as expressões para o vetor de entrada de cada neurônio, então queremos encontrar onde é a entrada do neurônio j da camada l Para os neurônios na última camada, o livro desenvolve as equações da retropropagação com a notação

Redes neurais Retropropagação (backpropagation) Essa equação diferencial pode ser expressada em termos da saída pelo uso da regra da cadeia

e a função de ativação com a respectiva derivada

então temos

Essa equação nos dá o valor de em termos de quantidades que podem ser observadas. Por exemplo, se usarmos o erro

onde é computado na passada de ida, éa saída da rede, e rj é dado com x no conjunto de treinamento Com isso é possível calcular

na última camada L

Redes neurais Retropropagação (backpropagation) Como a relação entre o vetor de entrada e a saída de todo neurônio em todas as camadas é a mesma, temos que

Utilizando a regra da cadeia temos

é válida para todo neurônio j e toda camada l. Essa equação nos diz como o erro E varia em função da modificação de um componente do vetor entrada da camada para l = L - 1, L - 2, ..., 2 O que queremos é expressar Primeiramente, vamos encontrar

em termos de em função de

Esse resultado indica que podemos começar com o erro da saída (que podemos calcular) e obter como esse erro muda em função das entradas dos neurônios

Redes neurais Retropropagação (backpropagation) O resultado anterior é intermediário na direção do objetivo final que é obter expressões para e para em termos dos valores conhecidos

De forma similar obtemos

Para isso usamos a regra da cadeia novamente

O último passo é usar esses resultados para atualizar os pesos da rede usando o método do gradiente descendente

cujo resultado advém das expressões

para l = L - 1, L - 2, ..., 2, onde é calculado na passada de ida, e os são calculados na retropropagação. O parâmetro é a taxa de aprendizado (learning rate)

Redes neurais Forma matricial (backpropagation) Como antes, todos os vetores de entrada são organizados em colunas de uma matriz X e os pesos da rede são codificados na matriz W(l )

que pode ser reescrito como

Definimos o vetor de variação do erro em função da ativação da camada de saída como um vetor

Esse vetor coluna de elementos contém os valores ativação para todos os neurônios de saída referentes a um vetor de entrada A função de erro que usamos até agora é a função quadrática. A sua derivada parcial em relação a a(L) é (a(L) – r) que substituída na equação anterior gera

Redes neurais Forma matricial (backpropagation) Para considerar todos os np vetores de entrada simultaneamente, formamos a matriz D(l) cujas colunas são os vetores na forma

em que cada coluna de A(L) é a saída da rede para um padrão de entrada. Similarmente, cada coluna de R é um vetor binário com um 1 na localização correspondente à classe de um padrão de entrada Cada coluna da diferença (A(L) - R) contém os componentes de

Assim, elevar os elementos de uma coluna, adicioná-los e então dividir por 2 é o mesmo que calcular a medida de erro

As colunas da matriz são valores de entrada de todos os neurônios de saída, com cada coluna correspondendo a um padrão de entrada As matrizes têm dimensão e correspondem à ultima camada da rede para todos os padrões de entrada

Redes neurais Forma matricial (backpropagation) Usando uma abordagem similar, podemos expressar

A atualização dos pesos é dada por

matricialmente como

e, portanto, precisamos da matriz W(l) (dimensão ), da matriz D(l) (dimensão ), e da matriz A(l - 1) (dimensão ), em que cada coluna é o conjunto de saída dos neurônios na camada l - 1 para um padrão de entrada

que tem dimensões e a matriz de pesos é transposta porque as entradas para a camada l vêm da camada l + 1 Essa matriz expressa a retropropagação. Falta expressar a atualização da matriz de pesos e do vetor de vieses

A matriz A(l - 1) pós-multiplica D(l) e portanto precisamos usar a transposta de tamanho A equação para atualizar os pesos é

Redes neurais Forma matricial (backpropagation) A matriz B(l) (tamanho vetores de bias

) tem colunas com cópias dos

A versão matricial para a atualização dos vieses é

onde

é a k–ésima coluna da matriz D(l).

Passos para realizar a retropropagação

Redes neurais Exemplo: problema XOR Considere o padrão de entrada para o problema XOR

Usaremos uma rede com 3 camadas com 2 neurônios cada. Os pesos são inicializados aleatoriamente com distribuição gaussiana e desvio-padrão de 0.2. A função de ativação é sigmoide. A taxa de aprendizado é . O treinamento foi feito com 10000 épocas, mas poderia-se parar em torno de 1000 em que o erro é quase zero

Redes neurais Exemplo: problema XOR Os pesos resultados são

Quando apresentados os quatro valores de treinamento o resultado é

É interessante ver a resposta da rede sobre todo o domínio

Redes neurais Exemplo: classificação de imagem multiespectral Imagem multiespectral de 512 x 512 com 4 bandas A máscara provê 3 regiões de classificação de pixels para treinamento: água (mais baixa), urbana (no centro) e vegetação (à esquerda) São 1900 vetores padrão de treinamento e 1887 vetores padrão de teste. A taxa de aprendizado é com 1000 épocas de treino. Várias arquiteturas foram testadas (a melhor com camadas 4, 3, 3)

Redes neurais Exemplo: classificação de imagem multiespectral A rede 4, 3, 3 foi treinada com 80000 épocas Após 50000 não há melhoria significativa na taxa de reconhecimento

Redes neurais Exemplo: classificação de imagem multiespectral Rede 4, 3, 3 resultante do treino com 50000 épocas

Redes convolucionais Redes neurais convolucionais profundas

Visão geral Até agora, o conteúdo de vetores de características foi projetado por especialistas. Usamos as redes totalmente conectadas para classificá-los Mas redes neurais podem aprender diretamente dos dados de entrada! Redes neurais convolucionais profundas (CNN) aceitam imagens como entrada e são adequadas para o aprendizado automático seguido da classificação de imagens O livro apresenta a rede LeNet que é simples de se entender. Mas há inúmeras arquiteturas propostas na literatura

Na arquitetura LeNet, o processo de passada de ida e retropropagação é exatamente o mesmo visto até o momento

A entrada da rede LeNet são imagens e a saída é um vetor de classificação As camadas do tipo convolucional não são totalmente conectadas. Na verdade, a operação de produto de convolução é realizada na vizinhança mais próxima de cada pixel de entrada O interessante dessas camadas é que os núcleos dos filtros são incógnitas e portanto são aprendidos pela rede

Redes convolucionais Arquitetura LeNet Camada de convolução

O núcleo é deslocado por strides na imagem de entrada de uma camada convolucional

Camada de convolução

Todos os pontos de um mapa

Substitui os elementos da

de características são gerados

janela 2 x 2 por apenas um.

com o mesmo filtro

Em geral a média ou máximo

Classificador

Redes convolucionais

Exemplo de camada convolucional Base de imagens MNIST A imagem de entrada tem 28 x 28. O núcleo dos filtros tem 5 x 5. A imagem de saída terá 24 x 24 Com o average pooling de 2 x 2 a imagem de saída terá 12 x 12 Cada valor de convolução é somado a um valor de bias Função de ativação é a sigmoid

Redes convolucionais Exemplo de camada convolucional

Cada um dos 12 mapas forma um vetor de 16 x 1, que Núcleos de 5 x 5 com

6 filtros de 5 x 5 sobre 1 imagem =

Pooling de 2 x 2

stride = 1

6 mapas de características. Com

gera 6 imagens de

o bias são 5 x 5 x 6 + 6 = 156

12 x 12 (anterior =

parâmetros no total

24 x 24)

12 filtros de 5 x 5 para cada uma

Pooling de 2 x 2 gera

concatenados geram

das 6 imagens = 12 mapas de

12 imagens de 4 x 4

um vetor 192 x 1

características. Com o bias são 6

(anterior = 8 x 8)

x (5 x 5) x 12 + 12 = 1812

São 10 classes de

parâmetros no total

saída

Exemplo de camada convolucional Núcleos aprendidos para gerar os mapas de características Pesos dos 6 núcleos de 5 x 5 da primeira camada:

Redes

Pesos dos 12 x 6 núcleos de 5 x 5 da segunda camada:

convolucionais

Mapa de característica

Imagem de entrada

Exemplo de camada convolucional Propagação da imagem através da CNN

Redes

convolucionais

Redes convolucionais Cálculos realizados em uma CNN

Produto de convolução A operação realizada em uma CNN para gerar cada valor de saída de um mapa de características é a convolução 2D

Seja w o núcleo de um filtro e os valores da imagem de entrada, ou das imagens mostradas com pooling, dependendo da camada

Suponha que o núcleo tenha 3 x 3 pesos. O somatório é então

que pode ser reescrito de forma abreviada como

A convolução em um ponto (x, y) é dada por Adicionando o valor de bias (um valor por filtro) temos onde l e k varrem as dimensões do núcleo que passa pela função de ativação para calcular

Redes convolucionais Cálculos realizados em uma CNN

Produto de convolução Considere o ponto B indicado na rede ao lado. O seu valor é dado pela adição das respostas dos 3 mapas de características

onde os sobrescritos são os índices dos mapas de características. Os valores de l, k, x, y são os mesmos nos 3 somatórios Podemos rotular todos os termos para obter um único somatório. Ou seja, é possível expressar um elemento de qualquer mapa de característica como um neurônio artificial clássico

Assim podemos usar os mesmos métodos de cálculo apresentados para redes totalmente conectadas

Redes convolucionais Cálculos realizados em uma CNN

Produto de convolução Os valores de são os pixels na primeira camada mas, nas camadas subsequentes, denota valores de mapas amostrados por pooling As equações não diferenciam o que esses valores representam Por exemplo, suponha que a imagem de entrada seja uma imagem colorida RGB. As equações do ponto A agora têm a mesma forma das equações do ponto B. Somente os pesos e os bias são diferentes Com isso, as mesmas equações das camadas intermediárias são aplicáveis a múltiplas imagens de entrada

Redes convolucionais Equações de passada de ida (forward pass)

Passada de ida (forward pass) Podemos expressar o resultado de um núcleo de convolução w sobre um arranjo com valores como

com para l = 1, 2, ..., Lc , onde Lc é o número de camadas convolucionais, e denota os valores das características amostradas após o pooling na camada l (as equações de pooling são omitidas)

onde l e k varrem as dimensões do núcleo, x e y varrem as dimensões da entrada, e b é o bias. O valor da ativação é

Quando l = 0,

Para diferenciar as ativações entre camadas, usaremos o l na forma

Quando l = Lc :

Redes convolucionais Equações de retropropagação (backpropagation)

Retropropagação (backpropagation) O erro de camadas convolucionais é uma função de x e y (ao invés do índice do neurônio)

Queremos relacionar essa quantidade à subsequente. Para isso usamos a regra da cadeia

Combinando as duas equações, e utilizando a equação de obtemos

,

da camada A derivada da expressão nos colchetes é zero a menos que u - l = x e v - k = y , e também porque a derivada de b(l + 1) em relação a é zero. Então podemos reescrever

onde u e v são duas variáveis de soma sobre todos os valores possíveis de z onde os valores de x, y, u, v são especificados fora dos colchetes. Ou seja, os valores dessas variáveis são fixas e u - x e v - y são constantes

Redes convolucionais Equações de retropropagação (backpropagation)

Retropropagação (backpropagation) Então, o 2º somatório duplo pode ser simplificado, obtendo

Com isso, obtemos a expressão para o erro em uma camada l

Como os núcleos não dependem de x e y temos A expressão do somatório duplo tem a forma de uma convolução mas com deslocamentos negativos. Então podemos reescrevê-la como

Os subscritos negativos indicam que w é refletido nas duas direções (rotação de 180º )

Mas queremos obter a mudança de E em função dos pesos e vieses

Redes convolucionais Equações de retropropagação (backpropagation)

Retropropagação (backpropagation) O resultado tem a forma de convolução mas com subscritos invertidos. Com isso, a última linha na forma de convolução é

Usando essas equações no método de gradiente descente temos

e De forma similar, a variação dos vieses é dada por

que atualizam os pesos e vieses de cada camada de convolução em uma CNN. Os valores de representam todos os pesos de uma camada. As variáveis l e k varrem as dimensões dos núcleos

Redes convolucionais Equações de retropropagação (backpropagation)

Retropropagação (backpropagation) Na passada de ida, saímos de uma camada de convolução para uma camada de pooling

Na retropropagação, vamos no sentido reverso. Mas os mapas obtidos por pooling são menores do que os mapas de características precedentes Para resolver isso, cada mapa amostrado é expandido (upsampled) por replicação do pixel para casar o seu tamanho com a imagem que o gerou Cada mapa amostrado corresponde a um único mapa de característica o que significa que o caminho de retropropagação é bem definido

A retropropagação começa na saída da camada totalmente conectada. Nessa parte, usamos as equações de retropropagação especificas para camadas totalmente conectadas Na interface entre a última camada convolucional e a camada totalmente conectada, precisamos reverter a vetorização

Redes convolucionais Equações de retropropagação (backpropagation)

Retropropagação (backpropagation)

Redes convolucionais Treinamento de redes convolucionais

Exemplo: imagens com ruído Na base de dados ao lado, os conjuntos de treinamento e de teste são formados por 9 imagens em tons de cinza com 6 x 6 pixels cada. São três classes, uma para cada linha O conjunto de teste é uma versão do conjunto de treinamento com ruído gaussiano de média zero e desvio-padrão = 1

Redes convolucionais Treinamento de redes convolucionais

Exemplo: imagens com ruído Rede usada para reconhecer o dataset tem apenas uma camada convolucional

A CNN tem núcleos de 3 x 3 na primeira camada, com stride = 1, obtendo 2 mapas de características de 4 x 4 elementos O pooling da média de 2 x 2 gera dois mapas amostrados de 2 x 2 elementos A entrada da camada totalmente conectada é um vetor de 8 elementos

Como não há camadas escondidas, o classificador implementa funções de decisão lineares

Redes convolucionais Treinamento de redes convolucionais

Exemplo: imagens com ruído O treinamento foi realizado com

por 400 épocas

O reconhecimento perfeito (100% de acurácia) foi obtido após 100 épocas de treinamento, apesar de o erro MSE ser muito alto Os núcleos e vieses aprendidos são

Redes convolucionais Treinamento de redes convolucionais

Exemplo: base MNIST A base MNIST é composta por dígitos escritos à mão que, portanto, são subdivididos em 10 classes

São 60000 imagens de treinamento de 28 x 28 pixels em tons de cinza. O conjunto de teste é composto por 10000 imagens Há uma grande variação na forma dos caracteres

Redes convolucionais Treinamento de redes convolucionais

Exemplo: base MNIST A arquitetura é composta por duas camadas convolucionais e uma camada totalmente conectada. Todos os núcleos têm 5 x 5 e stride = 1. Após a primeira camada convolucional, são gerados 6 mapas de características de 24 x 24. O average pooling de 2 x 2 gera 6 mapas de 12 x 12. A segunda camada convolucional gera 12 mapas de 8 x 8. O average pooling gera 12 mapas de 4 x 4.

Redes convolucionais Treinamento de redes convolucionais

Exemplo: base MNIST O treinamento é feito com lotes (batches) de 50 imagens de cada vez para acelerar o aprendizado

Foram usadas 200 épocas com taxa de aprendizado Cerca de 40 épocas são necessárias para obter 98% de reconhecimentos corretos. Isso é consistente com o MSE que cai rapidamente e diminui mais lentamente após 40 épocas

Com 200 épocas, a acurácia obtida foi de 99.13%, o que é impressionante para uma rede tão pequena

Redes convolucionais Treinamento de redes convolucionais

Exemplo: base MNIST Para mostrar a velocidade de aprendizado, todas as imagens de treinamento e todas as imagens de teste foram classificadas. A acurácia nos dois conjuntos são semelhantes e, como esperado, a acurácia de treinamento converge mais rapidamente

Máxima acurácia nas imagens de treino = 99.36%

Máxima acurácia nas imagens de teste = 99.13%

Redes convolucionais Treinamento de redes convolucionais

Exemplo: base MNIST Taxa de reconhecimento por classe nos conjuntos de treinamento e de teste. Os resultados indicam que não houve overfitting

Exemplo: base MNIST Núcleos aprendidos após 200 épocas de treinamento Pesos dos 6 núcleos de 5 x 5 da primeira camada:

Redes

Pesos dos 12 x 6 núcleos de 5 x 5 da segunda camada:

convolucionais

Mapa de característica

Treinamento de redes convolucionais Imagem de entrada

Exemplo: base MNIST Propagação de uma imagem do dígito 6 através da CNN

Redes

convolucionais Treinamento de redes convolucionais

Redes convolucionais Treinamento de redes convolucionais

Exemplo: base CIFAR-10 A base CIFAR-10 é composta por imagens naturais de 32 x 32 pixels divididas em 10 classes

São 50000 imagens de treinamento e 10000 imagens de teste A mesma rede do exemplo anterior é usada para classificação. Como a base CIFAR-10 é muito mais complexa que a base MNIST, esse exemplo testa o limite desta rede

Duas modificações são necessárias para o uso da mesma rede: 1) As imagens da base CIFAR-10 são amostradas para o tamanho 28 x 28 2) A entrada da rede recebe 3 canais RGB. A rede é modificada para aprender um núcleo de 5 x 5 para cada um dos 3 canais, e para cada um dos mapas de saída. A respostas de convolução dos núcleos de 5 x 5 são somados

Exemplo: base CIFAR-10

Redes

convolucionais Treinamento de redes convolucionais

Redes convolucionais Treinamento de redes convolucionais

Exemplo: base CIFAR-10 O treinamento é feito com lotes (batches) de 50 imagens de cada vez Foram usadas 500 épocas com taxa de aprendizado O erro MSE ficou em torno de 0.25 mesmo após 500 épocas. Isso é esperado pois as imagens são significativamente mais complexas. As objetos de interesse aparecem com fundos de imagens arbitrários A acurácia no conjunto de treinamento foi de 68% e no conjunto de teste foi de 61%. O estado-da-arte para essa base de dados alcança mais de 97%

Redes convolucionais Treinamento de redes convolucionais

Exemplo: base CIFAR-10

A acurácia máxima nas

A acurácia máxima nas

imagens de treino é

imagens de teste é

aproximadamente

aproximadamente

68.36%

61%

Redes convolucionais Treinamento de redes convolucionais

Exemplo: base CIFAR-10 Índices das classes: 1) Avião 2) Carro 3) Pássaro 4) Gato 5) Veado

6) Cachorro 7) Sapo 8) Cavalo 9) Navio 10) Caminhão

Exemplo: base CIFAR-10 Núcleos aprendidos após 500 épocas de treinamento Pesos dos 18 núcleos de 5 x 5 da primeira camada:

Mapa de característica Canais

RGB

Redes

convolucionais

Pesos dos 12 x 6 núcleos de 5 x 5 da segunda camada: Mapa de característica

Treinamento de redes convolucionais Imagem de entrada

Exemplo: base CIFAR-10 Propagação de uma imagem RGB de avião através da CNN

Redes

convolucionais Treinamento de redes convolucionais

Endereço

Obrigado e até à próxima aula!

Universidade Federal de Juiz de Fora, Instituto de Ciências Exatas, Edifício do Departamento de Ciência da Computação, 4º andar, sala 415

Telefone (32) 2102-3387 ramal 4045

E-mail [email protected]

Marcelo Bernardes Vieira

Processamento Digital de Imagens

Cap´ıtulo 1 An´alise espac¸o-frequˆencia Sinais do universo físico

Modelos matemáticos de sinais

Representação de sinais

Codificação de sinais

Figura 1.1:

Paradigma de abstrac¸a˜ o no estudo de sinais [Gomes and Velho, 1994].

O paradigma apresentado na Figura 1.1 tem trˆes n´ıveis de abstrac¸a˜ o de um sinal: sinais cont´ınuos, sinais discretos. Cada um desses n´ıveis corresponde a uma descric¸a˜ o do sinal que e´ conveniente para a formulac¸a˜ o e soluc¸a˜ o dos diversos problemas da a´ rea. Temos quatro operac¸o˜ es que permitem a mudanc¸a entre eles: • discretizac¸a˜ o e reconstruc¸a˜ o, • codificac¸a˜ o e decodificac¸a˜ o. A discretizac¸a˜ o e´ o processo de convers˜ao de um sinal cont´ınuo em uma representac¸a˜ o discreta. A reconstruc¸a˜ o e´ o processo de se obter o sinal cont´ınuo a partir de sua representac¸a˜ o discreta. Idealmente, o processo de discretizac¸a˜ o e reconstruc¸a˜ o seria s −→ discretizac¸a˜ o −→ sd −→ reconstruc¸a˜ o −→ s. Isto e´ , seria desej´avel obter exatamente o sinal original a partir de sua representac¸a˜ o discreta atrav´es da reconstruc¸a˜ o. O interessante e´ que isso e´ poss´ıvel, a depender das caracter´ısticas matem´aticas do processo de discretizac¸a˜ o e reconstruc¸a˜ o. O processo de codificac¸a˜ o consiste em obter uma sequˆencia finita de s´ımbolos organizados de acordo com uma estrutura de dados. A decodificac¸a˜ o permite obter a representac¸a˜ o discreta do sinal a partir da sequˆencia de s´ımbolos. No processo temos as convers˜oes sd −→ codificac¸a˜ o −→ sc −→ decodificac¸a˜ o −→ ˜sd em que, se sd = ˜sd , dizemos que a codificac¸a˜ o n˜ao tem perda de informac¸a˜ o. Sinal contínuo

Discretização

Sinal discreto

Codificação

Sinal codificado Símbolos: S0, S1, S2, S3, ..., Sn

Reconstrução

Decodificação

Figura 1.2: Operac¸o˜ es entre os tipos de sinais. [Gomes and Velho, 1994] 2

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

1.1

3

Modelo funcional de sinais

Um sinal se manifesta atrav´es da variac¸a˜ o de uma determinada grandeza f´ısica em func¸a˜ o do espac¸o e/ou do tempo: • a propagac¸a˜ o do som se d´a atrav´es da variac¸a˜ o da densidade do ar ao longo do tempo; • a variac¸a˜ o da cor nos diversos pontos no plano de uma fotografia; • no v´ıdeo ocorre variac¸a˜ o de cor no plano de imagem como tamb´em de planos no tempo. Um sinal deve ser representado por um objeto matem´atico que estabelec¸a a variac¸a˜ o de uma determinada grandeza. Em geral, utilizamos um modelo funcional, se a variac¸a˜ o e´ determinista. Se a variac¸a˜ o n˜ao e´ determinista, em geral se utilizam modelos estoc´asticos. Neste texto, tratamos de sinais com variac¸a˜ o determinista utilizando modelos funcionais para sua representac¸a˜ o. No modelo funcional, uma func¸a˜ o f : Ω ⊂ R → C e´ chamada de sinal cont´ınuo. O adjetivo cont´ınuo e´ usado para indicar que o dom´ınio e o contra-dom´ınio de f e´ um continuum de valores e n˜ao que f seja cont´ınua topologicamente. Podemos generalizar o conceito de sinal no modelo funcional para m´ultiplas dimens˜oes: a func¸a˜ o f : Ω ⊂ Rm → Cn nos fornece a variac¸a˜ o da grandeza representada por vetores Cn . A diferenc¸a dos diversos modelos funcionais est´a na interpretac¸a˜ o das grandezas no dom´ınio e no contra-dom´ınio de f. Utilizaremos dois modelos funcionais de sinais: o modelo espacial (onde Ω define tempo e/ou espac¸o) e o modelo espectral (onde Ω define frequˆencias).

Modelo espacial de sinais No modelo espacial, o subconjunto Ω representa a regi˜ao no espac¸o, e/ou tempo, na qual varia a grandeza f´ısica. Nesse caso Ω e´ chamado de dom´ınio do espac¸o: • para alguns sinais unidimensionais, e´ comum dizer que Ω e´ o dom´ınio do tempo. • e´ mais f´acil de se compreender pois se relaciona com vari´aveis independentes naturais: espac¸o e tempo. Dada a func¸a˜ o f : Ω ⊂ Rm → Cn , m determina a dimens˜ao do sinal. Se m = 1, o sinal e´ dito unidimensional. Um exemplo de sinal unidimensional e´ o a´ udio. Se m = 2, o sinal e´ dito bidimensional. Um exemplo de sinal 2D e´ uma imagem. Nesse caso, Ω e´ um subconjunto do plano euclidiano R2 e a func¸a˜ o associa, a cada ponto p ∈ R2 , o vetor f(p) que fornece a informac¸a˜ o de cor. Se m = 3, o sinal e´ tridimensional. Um exemplo de sinal tridimensional e´ um v´ıdeo sem som. H´a uma variac¸a˜ o da imagem ao longo do tempo f : Ω ∈ R2 × R ⊂ R3 → Rn , onde Rn e´ o espac¸o de cor associado. ´ J´a n determina o numero de canais do sinal. Se n = 1, temos apenas um canal. Um exemplo de sinal unidmensional com um canal e´ o a´ udio mono (Fig. 1.3). Se n = 2, temos dois canais independentes. Um exemplo de sinal unidimensional com dois canais e´ o a´ udio est´ereo. Se n = 3, o sinal tem trˆes canais. Um exemplo de sinal bidimensional com trˆes canais e´ uma imagem com cores RGB (sistema de cor do monitor) ou YCrCb (sistema de cor para compress˜ao). Se n = 4, o sinal tem quatro canais. Um exemplo de sinal bidimensional com quatro canais e´ uma imagem do sat´elite Ikonos que tem os canais R (vermelho), G (verde), B (azul), Near IR (infravermelho pr´oximo).

4

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

Figura 1.3: Som: exemplo de sinal unidimensional no dom´ınio do tempo.

Modelo espectral de sinais No modelo espectral, o subconjunto Ω representa o conjunto de frequˆencias cujas sen´oides combinadas formam o sinal. E´ mais dif´ıcil de se compreender pois n˜ao lidamos com sinais no mundo f´ısico atrav´es de suas frequˆencias. Mas curiosamente, sistemas sensoriais humanos, como o aparelho visual e o auditivo, decomp˜oem o sinal de entrada em suas frequˆencias antes de interpret´a-los. Nesse caso, Ω e´ chamado de dom´ınio da frequˆencia. Considere um sinal cont´ınuo definido pela sen´oide f(t) = a · sin(2π s t + ρ),

−∞ < t < ∞,

(1.1)

onde a e´ a amplitude, s e´ a frequˆencia e ρ e´ a fase. Para caracterizar um sinal atrav´es de seus componentes de frequˆencia, associamos um ai e um ρi para cada frequˆencia si do dom´ınio. Ou seja, precisamos de uma dupla para definir cada sen´oide. Por exemplo, considere o sinal peri´odico no dom´ınio do espac¸o-tempo f(t) = a · sin(2πs0 t + π/2) = a · cos(2πs0 t),

(1.2)

que e´ constitu´ıdo por uma u´ nica componente de frequˆencia s0 de amplitude a e fase ρ = π2 . No dom´ınio da frequˆencia, o espectro desse sinal, denotado por fˆ(s), e´ (

ˆf(s) =

(a, π/2), se s = s0 (0, 0), sen˜ao.

(1.3)

A representac¸a˜ o gr´afica desse sinal no dom´ınio do tempo e no dom´ınio da frequˆencia e´ ilustrada na Figura 1.4. E´ importante lembrar que sin(θ) = cos(θ − π/2). Nesse exemplo, toda a energia do espectro a e a fase θ e´ atribu´ıda de forma simplificada a` frequˆencia s0 . Veremos mais adiante que o espectro de sinais reais representados por func¸o˜ es pares e´ constituido por frequˆencias positivas e negativas com a mesma energia a/2.

´ Numeros complexos No modelo espectral, cada frequˆencia s e´ associada a um par (a, ρ). Esse vetor bidimensional ´ se relaciona diretamente com numeros complexos. Se temos dois n´umeros complexos, com √ i = −1, z1 = x1 + iy1 , z2 = x2 + iy2 ,

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

5

Figura 1.4: Modelo espacial e modelo espectral de um cossen´oide. as operac¸o˜ es aritm´eticas aparecem naturalmente z1 + z2 = = z1 − z2 = = z1 × z2 = = = =

(x1 + iy1 ) + (x2 + iy2 ) (x1 + x2 ) + i(y1 + y2 ), (x1 + iy1 ) − (x2 + iy2 ) (x1 − x2 ) + i(y1 − y2 ), (x1 + iy1 ) × (x2 + iy2 ) x1 x2 + ix1 y2 + iy1 x2 + i2 y1 y2 x1 x2 + i(x1 y2 + x2 y1 ) − y1 y2 x1 x2 − y1 y2 + i(x1 y2 + x2 y1 ).

O conjugado complexo de um n´umero z = x + iy e´ definido por z = x − iy. Com o conjugado, h´a um fato crucial: z×z = = = =

(x + iy) × (x − iy) x2 + ixy) + iyx + (i)(−i)y 2 x2 + i(−xy + yx) − i2 y 2 x2 + y 2 ,

(1.4)

e ent˜ao podemos escrever zz = |z|2 , da mesma forma que calculamos a norma de um vetor utilizando o produto interno v · v = |v|2 . Com isso, podemos realizar a operac¸a˜ o de divis˜ao z1 x1 + iy1 = z2 x2 + iy2 z1 z 2 = · z2 z 2 z1 z 2 = . |z2 |2

(1.5)

E´ u´ til entender um n´umero complexo como um vetor bidimensional, sendo que o comprimento do vetor e´ q q √ |z| = x2 + y 2 = |z|2 = zz, (1.6) e o aˆ ngulo do vetor em relac¸a˜ o ao eixo x (eixo dos n´umeros reais) e´ θ = tan

−1

y , x

 

(1.7)

6

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA e com essa notac¸a˜ o temos que z = x + iy x iy = x2 + y 2 √ 2 +√ 2 2 x +y x + y2 = |z|(cos θ + i sin θ). q

!

Um fato importante e´ que se multiplicamos dois n´umeros complexos, suas magnitudes s˜ao multiplicadas e seus aˆ ngulos s˜ao somados z1 × z2 = |z1 |(cos θ1 + i sin θ1 ) × |z2 |(cos θ2 + i sin θ2 ) = |z1 kz2 |[cos θ1 cos θ2 − sin θ1 sin θ2 + i(sin θ1 cos θ2 + sin θ1 cos θ2 )] = |z1 kz2 | · [cos(θ1 + θ2 ) + i sin(θ1 + θ2 )], (1.8) e o inverso ocorre com a divis˜ao z1 |z1 | = · [cos(θ1 − θ2 ) + i sin(θ1 − θ2 )]; z2 |z2 |

1.2

(1.9)

Espac¸os de sinais

A partir deste ponto no texto, assumimos que um sinal e´ representado atrav´es do modelo funcional. Assim, definimos um espac¸o de sinais S como um espac¸o vetorial de dimens˜ao infinita tal que f ∈ S e´ um vetor nesse espac¸o. A seguir s˜ao apresentados fatos importantes que nos permitem definir quais tipos de espac¸o de sinais dentro do modelo funcional s˜ao mais adequados para processamento. Comec¸amos com a definic¸a˜ o de espac¸o de produto interno. Veremos que e´ crucial que um espac¸o de sinais S tenha um produto interno porque isso permite: • uma m´etrica para sinais; • projec¸o˜ es entre sinais; • uma sequˆencia ortonormal de sinais; • operadores lineares que levam elementos de um espac¸o de sinais em outro: mapeamentos, isometrias, isomorfismos, etc. Definic¸a˜ o 1. Um espac¸o de produto interno e´ um espac¸o vetorial combinado com um produto interno h·, ·i = S × S → C, satisfazendo [Reed and Simon, 1981]: Simetria conjugada1 : hf, gi = hg, fi. Linearidade do primeiro argumento: ha · f, gi = a · hf, gi hf + h, gi = hf, gi + hh, gi Positividade definida: hf, fi ≥ 0, com igualdade apenas para f = 0. Definic¸a˜ o 2. Dois vetores f e g de um espac¸o de produto interno S s˜ao ditos ortogonais se hf, gi = 0.

7

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

Definic¸a˜ o 3. Uma colec¸a˜ o {fi } de vetores em S e´ chamado de conjunto ortonormal se hfi , fi i = 1 para todo i, e hfi , fj i = 0 se i 6= j. Definic¸a˜ o 4. Uma m´etrica em um espac¸o S e´ uma func¸a˜ o d : S × S → R que, para todo f, g, h ∈ S, satisfaz as seguintes condic¸o˜ es: Simetria: d(f, g) = d(g, f); Separac¸a˜ o: d(f, g) > 0, se f 6= g; Identidade dos indicern´ıveis: d(f, f) = 0; Desigualdade triangular: d(f, h) ≤ d(f, g) + d(g, h). Definic¸a˜ o 5. Um espac¸o munido de m´etrica e´ chamado de espac¸o m´etrico. Mas atenc¸a˜ o: um espac¸o m´etrico pode n˜ao ser um espac¸o de produto interno. A seguir, veremos que um espac¸o de produto interno S possui uma norma natural, induzida pelo produto interno, dada por: q kfk = hf, fi, (1.10) para f ∈ S. Teorema 1. Seja {fi }N ¸ o de produto interno S. Ent˜ao, i=1 um conjunto ortonormal em um espac para todo g ∈ S, 2

kgk =

N X

2

|hg, fi i|

i=1

2 N

X

+ g − hfi , gifi .

i=1

Demonstrac¸a˜ o. Veja a prova em [Reed and Simon, 1981]. Corol´ario 1 (desigualdade de Bessel). Seja {fi }N ¸o i=1 um conjunto ortonormal em um espac de produto interno S. Ent˜ao, para todo g ∈ S, kgk2 ≥

N X

|hg, fi i|2 .

i=1

Corol´ario 2 (desigualdade de Cauchy-Schwarz). Seja S um espac¸o de produto interno, ent˜ao para todo f, g ∈ S temos |hf, gi| ≤ kfk · kgk, e a igualdade s´o ocorre se e somente se f e g s˜ao linearmente dependentes. Demonstrac¸a˜ o. Seja t um n´umero complexo qualquer, partiremos do fato que 0 ≤ kf − tgk2 ≤ hf − tg, f − tgi ≤ hf, fi − hf, tgi − thg, fi + tthg, gi ≤ hf, fi − thf, gi − thf, gi + tthg, gi Especificamente, escolhemos t = Substituindo t temos: 0 ≤ ||f||2 −

hf,gi , ||g||2

para g 6= 0.

|hf, gi|2 |hf, gi|2 |hf, gi|2 |hf, gi|2 2 − + ≤ ||f|| − . ||g||2 ||g||2 ||g||2 ||g||2

Logo, ||f|| · ||g|| ≥ |hf, gi|.

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

8

Em espac¸os Euclidianos, e´ f´acil observar a desigualdade pela f´ormula geom´etrica do produto interno |h~u, ~v i| = k~ukk~v k · | cos θ| ≤ k~ukk~v k, (1.11) porque | cos θ| ≤ 1. A igualdade ocorre quando os vetores s˜ao linearmente dependentes. Na verdade, a noc¸a˜ o de aˆ ngulo entre dois vetores e´ que e´ derivada da desigualdade de CauchySchwarz. Teorema q 2. Todo espac¸o de produto interno S e´ um espac¸o normado linear com a norma kfk = hf, fi. Demonstrac¸a˜ o. Como S e´ um espac¸o vetorial, e´ preciso apenas que k · k tenha todas as propriedades de uma norma. Todas essas propriedades, exceto a desigualdade triangular, adv´em das propriedades do produto interno. Sejam f, g ∈ S, ent˜ao kf + gk2 = = ≤ ≤

hf, fi + hf, gi + hg, fi + hg, gi hf, fi + 2
pela desigualdade de Cauchy-Schwarz. Consequentemente, kf + gk2 ≤ (kfk + kgk)2 , o que prova a desigualdade triangular.

por

Esse teorema mostra que um espac¸o de produto interno S possui uma m´etrica natural dada d(f, g) =

q

hf − g, f − gi,

(1.12)

para f, g ∈ S e, portanto, S e´ um espac¸o m´etrico com d(·, ·). Definic¸a˜ o 6. Uma sequˆencia de elementos f1 , f2 , f3 , · · · de um espac¸o m´etrico S com m´etrica d(·, ·) e´ dita uma sequˆencia de Cauchy se, para todo n´umero real positivo  > 0, existe um ´ındice inteiro n da sequˆencia tal que, para todo ´ındice k > n e m > n, temos a distˆancia d(fk , fm ) < . A grosso modo, os termos da sequˆencia est˜ao ficando cada vez mais pr´oximos, sugerindo que ela possui um limite. Mas nem sempre esse limite existe em S. Definic¸a˜ o 7. Um espac¸o m´etrico S em que toda sequˆencia de Cauchy converge para um elemento de S e´ dito completo. Exemplos: • R e´ completo: toda sequˆencia de Cauchy converge para um elemento real. • Q e´ incompleto: h´a sequˆencias de Cauchy de n´umeros racionais que convergem em n´umeros irracionais. Definic¸a˜ o 8. Um espac¸o de Hilbert e´ um espac¸o de produto interno real ou complexo que e´ tamb´em um espac¸o m´etrico completo em relac¸a˜ o a` func¸a˜ o de distˆancia induzida pelo produto interno [Young, 1988].

9

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

Podemos agora estabelecer propriedades adequadas para um espac¸o de sinais, dados os fatos acima. Primeiramente, para que seja poss´ıvel represent´a-la, o sinal f precisa ter energia finita. H´a dois importantes espac¸os de sinais S de energia finita, utilizando integrais de Lebesgue (que e´ o motivo do uso da letra L para denominar esses espac¸os): • Func¸o˜ es absolutamente integr´aveis: 1

L {R} = {f : R → C

|

Z ∞

|f(t)| dt < ∞}

(1.13)

|f(t)|2 dt < ∞}

(1.14)

−∞

• Func¸o˜ es de quadrado integr´avel: 2

L {R} = {f : R → C |

Z ∞ −∞

Neste texto, assumiremos que todo sinal cont´ınuo f pertence a L1 {R} ou L2 {R} . Principalmente porque esses dois espac¸os cont´em func¸o˜ es de energia finita, conforme definido pelas Equac¸o˜ es 1.13 e 1.14. Outro aspecto importante e´ que f ∈ L1 {R} e´ uma condic¸a˜ o suficiente para a existˆencia de sua Transformada Cont´ınua de Fourier. O espac¸o L2 {R} e´ tamb´em um espac¸o de Hilbert, dado o seguinte produto interno: hf, gi =

Z

f(t) · g(t) dt

R

onde f,q g ∈ L2 {R}. Al´em disso, a norma de uma func¸a˜ o f, induzida pelo produto interno, e´ kfk = hf, fi, que captura sua energia. O espac¸o L2 {R} tem dimens˜ao infinita mas nos remete ao espac¸o euclidiano: • a representac¸a˜ o de sinais se dar´a pela sua projec¸a˜ o em bases geradoras de um espac¸o de sinal. • sinais de um espac¸o de sinais S podem ser mapeados em outro espac¸o de sinais S0 atrav´es de transformadas. • sinais de um mesmo espac¸o podem ser representados em relac¸a˜ o a outra base atrav´es de mudanc¸a de base. Em geral, restringe-se a integrac¸a˜ o a um dom´ınio Ω dos sinais f com:

ou

S = L1 {Ω} = {f : Ω ⊂ R → C

|

S = L2 {Ω} = {f : Ω ⊂ R → C

|

Z

|f(t)| dt < ∞},

(1.15)

|f(t)|2 dt < ∞},

(1.16)



Z Ω

que s˜ao tamb´em func¸o˜ es mensur´aveis Borel-Lebesgue.

1.3

Operac¸o˜ es lineares com sinais

Uma operac¸a˜ o em um espac¸o de sinais e´ uma aplicac¸a˜ o T : Rp × Sw −→ S, onde S e´ um espac¸o de sinais, Rp s˜ao os p parˆametros escalares da operac¸a˜ o, e w e´ o n´umero de sinais de entrada.

10

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

Sendo um espac¸o de sinais um espac¸o vetorial, dados dois sinais f, g ∈ S podemos definir duas operac¸o˜ es b´asicas que s˜ao a soma f + g : S × S −→ S tal que (1.17)

(f + g)(t) = f(t) + g(t), e o produto por um escalar λf : R × S −→ S tal que (λf)(t) = λ · f(t), f(t)

g(t)

1

1

0

0.5

-1 -2

-1

0

(1.18)

λ ∈ C.

1

0 -2

2

f(t)+g(t) 2 1 0

-1

0

1

2

-1 -2

t -1

0

1

2

(a) Soma de dois sinais unidimensionais f e g. f(t)

0.5 f(t)

1

1

0

0

-1 -2

0

2

t

-1 -2

0

2

(b) Escalamento de um sinal unidimensional f por 0.5. f(t)

g(t)

f(t)g(t)

1

1

1

0

0.5

0

-1 -2

-1

0

1

2

0 -2

-1

0

1

2

-1 -2

t -1

0

1

2

(c) Multiplicac¸a˜ o entre dois sinais f e g (produto de Hadamard).

Figura 1.5: Exemplos de soma, escalamento e mutiplicac¸a˜ o de sinais. a) soma de uma senoide com uma gaussiana. b) escalamento de uma senoide. c) multiplicac¸a˜ o de dois sinais pelo produto de Hadamard. Um exemplo de soma de dois sinais e´ apresentado na Figura 1.5a e um exemplo de escalamento de sinal e´ apresentado na Figura 1.5b. A soma e o escalamento permitem que se fac¸a uma interpolac¸a˜ o linear entre dois sinais f e g [Gomes and Velho, 1994], obtendo uma fam´ılia de sinais: hu (t) = (1 − u) · f(t) + u · g(t), u ∈ [0, 1]. Quando um espac¸o de sinais S admite produto de seus elementos, podemos definir f · g : S × S −→ S, tal que (f · g)(t) = f(t) · g(t). Dizemos que f(t) e´ modulado por g(t), ou vice-versa. Essa operac¸a˜ o tamb´em e´ chamada de produto de Hadamard. A Figura 1.5c apresenta o resultado da multiplicac¸a˜ o entre uma senoide e uma gassiana pelo produto de Hadamard. Neste texto, todas as multiplicac¸o˜ es entre dois sinais se refere ao produto de Hadamard. Veremos a seguir uma importante operac¸a˜ o entre dois sinais denominada produto de convoluc¸a˜ o.

11

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

Representac¸a˜ o linear Vimos que um sinal cont´ınuo f : Ω ⊂ R → C deve ser discretizado para ser processado digitalmente. A amostragem consiste na discretizac¸a˜ o do dom´ınio de f na qual queremos obter representac¸o˜ es de f adequadas aos objetivos do processamento tais como: • obter coeficientes com mesma energia do sinal original (energia finita), • possibilitar a reconstruc¸a˜ o exata do sinal original, • possibilitar a transformac¸a˜ o entre diversas representac¸o˜ es, • permitir a combinac¸a˜ o linear entre m´ultiplas representac¸o˜ es. Considere fr : Ω0 ⊂ Z → C uma sequˆencia de quadrado som´avel fr = {· · · , c1 , c2 , c3 , · · · }, tal que +∞ X

(1.19)

|ck |2 < ∞.

k=−∞

O espac¸o l2 {Z} = {fr : Z → C}, que cont´em todas as sequˆencias de quadrado som´avel, e´ um espac¸o de Hilbert, munido do produto interno hfr , gr i =

+∞ X

c k · bk ,

(1.20)

k=−∞

onde gr = {· · · , b1 , b2 , b3 , · · · } ∈ l2 {Z}. Uma representac¸a˜ o linear de um espac¸o de sinais S = {f : Ω ⊂ R → C}, e´ um operador linear cont´ınuo R : S → l2 {Z}. Em geral, trabalhamos com R : L2 {Ω ⊂ R} → l2 {Ω0 ⊂ Z},

(1.21)

que mapeia sinais cont´ınuos de L2 {Ω} em sequˆencias de quadrado som´avel em l2 {Ω}, e com R : L1 {Ω ⊂ R} → l2 {Ω0 ⊂ Z},

(1.22)

que mapeia sinais cont´ınuos de L1 {Ω} em sequˆencias de quadrado som´avel em l2 {Ω}. O espac¸o imagemV = R(S) e´ chamado de espac¸o de representac¸a˜ o do espac¸o de sinais S. Se V tem representac¸a˜ o finita, temos uma representac¸a˜ o finita. Quando podemos obter f a partir de sua representac¸a˜ o R(f) temos uma representac¸a˜ o exata do sinal f. Se isso e´ verdade para todo sinal f ∈ S, dizemos que a representac¸a˜ o e´ exata. Uma representac¸a˜ o linear substitui um espac¸o de sinais cont´ınuos por um sub-espac¸o de 2 l de sequˆencias enumer´aveis. Buscamos sub-espac¸os em l2 de dimens˜ao finita para posterior processamento e codificac¸a˜ o. Dada uma representac¸a˜ o R : S → l2 , e´ desej´avel uma relac¸a˜ o de equivalˆencia no espac¸o de sinais S: f ≈ g ⇐⇒ R(f) = R(g),

∀f 6= g f, g ∈ S.

(1.23)

Para cada representac¸a˜ o e´ importante que se fac¸a uma an´alise detalhada dessa relac¸a˜ o de equivalˆencia.

12

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA Amostragem pontual finita

O processo de representar um sinal tem por objetivo obter um sinal discreto a partir de seu modelo cont´ınuo. Um exemplo e´ a amostragem pontual no dom´ınio do espac¸o. Dado um espac¸o de sinais S = {f : Ω ⊂ R → C}, fixamos um n´umero finito de k pontos p1 , p2 , p3 , · · · , pk do dom´ınio Ω. A aplicac¸a˜ o R : S → Ck ⊂ l2 definida por (1.24)

R(f) = {f(p1 ), f(p2 ), f(p3 ), · · · , f(pk )},

e´ uma amostragem pontual finita de S. Os elementos f(pk ) s˜ao chamados amostras. E´ um exemplo importante de representac¸a˜ o linear e finita de sinais. Um exemplo de amostragem pode ser dada no dom´ınio da frequˆencia com sinais peri´odicos. A s´erie de Fourier de um sinal peri´odico f define na realidade uma representac¸a˜ o linear f 7−→ {· · · , c−1 , c0 , c1 , c2 , · · · } do sinal no dom´ınio da frequˆencia. Ou seja, esse e´ um modelo espectral discreto para todos os sinais peri´odicos. Todo sinal admite uma representac¸a˜ o linear espec´ıfica, como a amostragem pontual ou por a´ rea. No entanto, tais representac¸o˜ es n˜ao s˜ao necessariamente exatas. Se a representac¸a˜ o n˜ao for exata, temos perda de informac¸a˜ o no processo de representac¸a˜ o. Na Figura 1.6, o sinal cont´ınuo original em verde e´ representado pelas amostras em vermelho. Note que a func¸a˜ o cont´ınuo em ciano tamb´em pode ser representada pelas mesmas amostradas. Nesse exemplo claramente houve perda de informac¸a˜ o pois n˜ao se pode reconstruir exatamente o sinal original a partir de suas amostras. f(t)

f(pi) f rec f f t

t p1

p2

p3

p4

p5

p6

Figura 1.6: A amostragem pontual finita pode levar a` perda de informac¸a˜ o da func¸a˜ o original. A operac¸a˜ o de quantizac¸a˜ o consiste em aplicar a transformac¸a˜ o de quantizac¸a˜ o Q : R → Z (ou Q : C → Z2 ), nas amostras {f(p1 ), f(p2 ), · · · , f(pk )}, f(pi ) ∈ C, gerando os valores quantizados {q1 , q2 , · · · , qk | qi ∈ [a, b], a ∈ Z, b ∈ Z, a ≤ b}, o que implica em: • o valor quantizado qi e´ um n´umero natural de um conjunto enumer´avel, limitado superior e inferiormente, • os valores quantizados na base 2 ter˜ao um n´umero finito de bits. A transformac¸a˜ o de quantizac¸a˜ o Q e´ geralmente sobrejetora. A Figura 1.7 mostra um exemplo de quantizac¸a˜ o uniforme das amostras ilustradas na Figura 1.6. Q(f(pi))

f(pi)

f t p1

p2

p3

p4

p5

p6

q7 q6 q5 q4 q3 q2 q1

t p1

p2

p3

p4

p5

p6

Figura 1.7: Representac¸a˜ o digital de um sinal: amostragem pontual finita e quantizac¸a˜ o.

13

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA Reconstruc¸a˜ o do sinal digital

A reconstruc¸a˜ o consiste em interpolar os valores {q1 , q2 , q3 , · · · , qk } de modo a obter a func¸a˜ o f ou uma aproximac¸a˜ o fr . A reconstruc¸a˜ o e´ realizada pelo uso de base de func¸o˜ es cont´ınuos que permitem obter um continuum em fr . Se f = fr a reconstruc¸a˜ o e´ dita exata. Sen˜ao, houve uma representac¸a˜ o com perda nos processos de amostragem e/ou quantizac¸a˜ o. A Figura 1.8 apresenta um exemplo de reconstruc¸a˜ o do sinal digital amostrado e quantizado ilustrado na Figura 1.7. Neste exemplo, o sinal reconstru´ıdo fr (curva preta) foi obtido com interpolac¸a˜ o c´ubica atrav´es de splines. Houve perda no processo pois essa curva n˜ao casa com o sinal original representado em verde. Q(f(pi))

fr(t)

q7 q6 q5 q4 q3 q2 q1

f

t

t p1

p3

p2

p5

p4

p1

p6

p3

p2

p4

p5

p6

Figura 1.8: Reconstruc¸a˜ o de um sinal digital por aproximac¸a˜ o.

Transformadas 0

Uma transformac¸a˜ o linear T : S → S entre dois modelos funcionais distintos de sinais e´ chamada de transformada. • mapeia representac¸o˜ es de um mesmo sinal. • algumas transformadas s˜ao invert´ıveis: transformada de Fourier, discreta do cosseno. • outras n˜ao: transformada de Hough. Estamos principalmente interessados na transformada de Fourier que leva sinais do modelo espacial para o modelo espectral e vice-versa. O uso de transformadas permite a mudanc¸a entre modelos de sinais de modo a se obter a soluc¸a˜ o de um problema. E´ importante obter a mesma operac¸a˜ o correspondente em cada modelo. Por exemplo, dada uma operac¸a˜ o ⊕ no espac¸o S desejamos saber qual e´ a operac¸a˜ o correspondente no 0 espac¸o S de forma que T (f ⊕ g) = T (f ) T (g). A Figura 1.9 ilustra operac¸o˜ es hom´ologas em dois dom´ınios distintos que s˜ao mapeados atrav´es da transformada direta T (·) .

Produto de convoluc¸a˜ o O produto de convoluc¸a˜ o entre dois sinais f, g ∈ L2 {R} e´ definido por (f ∗ g)(t) =

Z ∞

f(u) · g(t − u) du,

−∞

SxS

(T, T)

-

+ S

S’ x S’

T

S’

Figura 1.9: Operac¸o˜ es hom´ologas em dois dom´ınios distintos.

(1.25)

14

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA e possui as seguintes propriedades: • comutatividade: f ∗ g = g ∗ f, • associatividade: f ∗ (g ∗ h) = (f ∗ g) ∗ h, h ∈ L2 {P}, • distributividade: f ∗ (g + h) = (f ∗ g) + (f ∗ h),

• associatividade com multiplicac¸a˜ o escalar: c · (f ∗ g) = (c · f) ∗ g = f ∗ (c · g), c ∈ C. O produto de convoluc¸a˜ o e´ essencial para a an´alise e o processamento de sinais. Uma propriedade importante concerne a relac¸a˜ o entre o produto de convoluc¸a˜ o nos dom´ınios do espac¸o e da frequˆencia. De fato, uma convoluc¸a˜ o no dom´ınio do espac¸o equivale a uma multiplicac¸a˜ o ponto a ponto no dom´ınio da frequˆencia (Fig. 1.15).

Func¸a˜ o impulso e func¸a˜ o pulso Alguns sinais do mundo f´ısico s˜ao complicados de ser representados por modelos matem´aticos. Um exemplo e´ o impulso f´ısico que consiste na variac¸a˜ o instantˆanea de alguma grandeza com grande intensidade em um ponto t0 na forma (

f(t) = e com energia finita

Z ∞

∞, se |t| = t0 0, sen˜ao,

(1.26)

f(t) dt < ∞.

(1.27)

−∞

Para definir matematicamente um impulso f´ısico, considere a func¸a˜ o pulso: dado a > 0 constante, o sinal pulso pa (t) unidimensional e´ um sinal de intensidade constante e durac¸a˜ o finita: 1

(

pa (t) = t

1, se |t| < a 0, sen˜ao.

(1.28)

a

-a

Assim, a func¸a˜ o impulso δ(t), tamb´em chamada delta de Dirac, e´ definida pelo limite:

δ(t) = n→∞ lim

n · p 1 (t), 2 n

t que possui energia finita pela integral Z ∞ −∞

δ(t)dt =

Z ∞ −∞

lim n→∞

-1/n

1/n

Z ∞ n n · p 1 (t) dt = lim · p 1 (t) dt = 1, n→∞ −∞ 2 n 2 n

(1.29)

15

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

e que, portanto, e´ um modelo adequado para um impulso f´ısico. A func¸a˜ o delta de Dirac e´ uma func¸a˜ o cont´ınua de distribuic¸a˜ o de probabilidade que define probabilidade 100% para um evento. Seu an´alogo discreto e´ o delta de Kronecker: (

δm,n =

1, se m = n 0, se m 6= n.

(

δ(t) = δt,0 =

1, se t = 0 0, se t 6= 0.

1

δ(t)

t

0

1.4

Senoides complexas

Agora podemos entender o que e´ um exponencial complexo eiθ . Ele e´ um n´umero complexo e tamb´em uma potˆencia, ou seja, obedece a todas as regras alg´ebricas de potˆencias. Em particular, temos que eiθ1 eiθ2 = ei(θ1 +θ2 ) eiθ1 = ei(θ1 −θ2 ) , (1.30) eiθ2 ou seja, a vari´avel θ no expoente se comporta exatamente da mesma forma que os aˆ ngulos na representac¸a˜ o geom´etrica de n´umeros complexos. Se pegarmos o n´umero z = eiθ e multiplicarmos por seu conjugado complexo, temos: eiθ × eiθ = eiθ × e−iθ = ei(θ−θ) = e0 = 1,

(1.31)

e consequentemente z = eiθ e´ um n´umero complexo (ou vetor) unit´ario, e o aˆ ngulo no plano complexo e´ o pr´oprio θ, ou seja, eiθ = cos θ + i sin θ, que e´ o que chamamos de exponencial complexo. Se considerarmos o caso especial em que θ = π, ent˜ao sin π = 0 e cos π = −1, o que leva a` famosa f´ormula de Euler eiπ + 1 = 0,

(1.32)

considerada a mais bela f´ormula porque liga os n´umeros misteriosos e transcendentais e e π com a unidade, o n´umero imagin´ario, e zero. A partir da identidade de Euler eiθ = cos θ + i sin θ, e´ poss´ıvel isolar o seno e cosseno e assim obter as relac¸o˜ es apresentadas na Figura 1.10:

Senoides complexas A partir da definic¸a˜ o do exponencial complexo eiθ = cos θ + i sin θ, podemos prover uma nova forma de se escrever sen´oides. Uma sen´oide complexa no dom´ınio do espac¸o t tem a forma: ei·2πs0 ·t = cos 2πs0 · t + i sin 2πs0 · t. (1.33) onde s0 e´ a frequˆencia em ciclos/unidade, ou ei·ω0 ·t = cos ω0 · t + i sin ω0 · t,

(1.34)

onde ω0 = 2πs0 e´ a frequˆencia em radianos/unidade. Uma sen´oide complexa associa um exponencial complexo (n´umero complexo unit´ario por definic¸a˜ o) para cada valor de t. Elas s˜ao f´aceis de se manipular e u´ teis para analisar e representar sinais. Sen´oides complexas s˜ao formadas por dois componentes senoidais, que possuem um papel chave na an´alise de sinais:

16

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA Im -e-iθ

cos θ = <{eiθ } = sin θ = ={eiθ } =

I

eiθ = cos θ + i sen θ

eiθ + e−iθ 2

i sen θ

Re

θ

eiθ − e−iθ 2i

0 cos θ

1

e-iθ

Figura 1.10: Exponencial complexo e sua relac¸a˜ o com senos e cossenos. • uma sen´oide dita em fase: ρ = 0 (parte imagin´aria), • uma sen´oide dita em quadratura: ρ =

π 2

(parte real).

A Figura 1.11 ilustra uma senoide complexa variando em t e formando uma espiral cuja forma depende da frequˆencia. Note os componentes da senoide em fase (verde) e em quadratura (vermelho). s0 =

1 2π Senóide complexa

1

Parte real

0.5

0

−0.5 1 −1 −10

0.5 −5

0 0

−0.5 5

10

−1

Parte imaginária

Figura 1.11: Senoide complexa decomposta em seus componentes de fase (em verde) e de quadratura (em vermelho). No dom´ınio do espac¸o, senos de frequˆencia s0 (ω0 = 2πs0 ) podem ser definidos pela sen´oide complexa a · sin(ω0 · t + ρ) = a · ={ei·ω0 ·t+ρ } ei·ω0 ·t+ρ − e−i·ω0 ·t−ρ = a· 2i a a = i · ei·(−ω0 )·t−ρ − i · ei·(ω0 )·t+ρ , 2 2

(1.35)

17

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA e cossenos com frequˆencia s0 (ω0 = 2πs0 ) pela senoide complexa a · cos(ω0 · t + ρ) = a · <{ei·ω0 ·t+ρ } ei·ω0 ·t+ρ + e−i·ω0 ·t−ρ = a· 2 a i·(ω0 )·t+ρ a i·(−ω0 )·t−ρ = ·e + ·e . 2 2

(1.36)

Note que o seno e o cosseno s˜ao a soma de duas exponenciais: temos duas componentes sim´etricas s0 (frequˆencia positiva) e −s0 (frequˆencia negativa) ambas com amplitude a2 e com suas fases invertidas. A Figura 1.12 ilustra o espectro de uma func¸a˜ o cosseno a partir de sua senoide complexa (Eq. 1.36). Ou seja, quando as ondas do seno e do cosseno s˜ao escritas como n´umeros complexos, a parte negativa do espectro e´ explicitamente inclu´ıda. As frequˆencias negativas e positivas contribuem igualmente para formar a onda completa. Veremos que isso e´ verdade para todo sinal de valor real. Fase

Magnitude

a/2

ρ s

-s0

s

-s0

s0

s0



Figura 1.12: Espectro, ou a representac¸a˜ o no dom´ınio da frequˆencia, de uma func¸a˜ o cosseno, a partir de sua senoide complexa.

1.5

S´erie de Fourier

Para avanc¸ar o entendimento sobre representac¸a˜ o de sinais precisamos definir formalmente o que e´ uma func¸a˜ o peri´odica. Uma func¸a˜ o f : R → C e´ dita p-peri´odica, p ∈ R, se f(t + k · p) = f(t), ∀t ∈ R, k ∈ Z. A func¸a˜ o f(t) = f(t + p) e´ tida cont´ınua no intervalo [a, a + p] para qualquer a ∈ R. Exemplo: a func¸a˜ o sin(t) e´ peri´odica com per´ıodo m´ınimo de 2π. Note que ela tamb´em tem per´ıodos −2π, 4π, 6π, etc. O matem´atico francˆes Joseph Fourier, do s´eculo XIX, demonstrou que qualquer sinal peri´odico com per´ıodo p pode ser decomposto em um conjunto de sen´oides com ´ frequˆencias multiplas de uma frequˆencia fundamental s0 = p1 : f(t) =

∞ X

ck · ei·2π·s0 ·k·t ,

k=−∞

onde f(t) e´ um sinal peri´odico cont´ınuo sobre a vari´avel independente t, s0 e´ a frequˆencia fundamental em ciclos por unidade, 2πs0 e´ a frequˆencia angular em radianos por unidade, k indica a k-´esima sen´oide, k ∈ Z, ck e´ o coeficiente da k-´esima sen´oide, e p e´ o per´ıodo

18

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

fundamental, j´a que o sinal se repete ao longo do dom´ınio f(t) = f(t + p). Se f(t) e´ real, ent˜ao ck ∈ C. Um sinal peri´odico cont´em todas as m´ultiplas frequˆencias de sua frequˆencia fundamental e somente elas. Essa representac¸a˜ o e´ chamada expans˜ao na s´erie de Fourier de f(t). i Considere um sinal peri´odico em que o k-´esimo harmˆonico tem como coeficiente ck = πk , por exemplo. Esse sinal e´ chamado dente de serra e seus coeficientes utilizam apenas o seno da sen´oide complexa. A Figura ilustra a func¸a˜ o dente de serra cuja frequˆencia fundamental e´ 2 ciclos/unidade (possui frequˆencias 2, 4, 6, · · · , e somente elas) e seu espectro. A amplitude e a fase foram calculados para cada coeficiente ck . A Figura 1.13c mostra o efeito da soma das senoides usando intervalos distintos de coeficientes. A medida que o n´umero de termos da s´erie aumenta, a func¸a˜ o tende para a func¸a˜ o dente de serra. Mas note que a convergˆencia n˜ao e´ uniforme. Na regi˜ao de descontinuidade no topo da s´erie aparecem artefatos que precisam de um n´umero alto de senoides para serem suavizados. Em um outro exemplo, considere um sinal peri´odico cujo k-´esimo harmˆonico tem como −i coeficientes ck = [1 − (−1)k ] πk . Ou seja, o coeficiente e´ 0 para k par. Esse sinal e´ a onda quadrada e seus coeficientes utilizam apenas o seno da sen´oide complexa. A Figura 1.14 ilustra a onda quadrada cuja frequˆencia fundamental e´ 10 ciclos/unidade (possui frequˆencias 10, 20, 30, · · · , e somente elas).

Base de Fourier Para efeito de an´alise de sinais peri´odicos arbitr´arios no dom´ınio do espac¸o, utilizaremos p = 2π, ou seja, func¸o˜ es 2π-peri´odicas: (1.37)

f(t + 2π) = f(t), ∀t ∈ R. A expans˜ao na s´erie de Fourier de f(t) e´ ∞ 1 X ck · ei·k·t , f(t) = √ 2π k=−∞

onde ck e´ o k-´esimo coeficiente da s´erie, e o fator no intervalo [0, 2π]: i·k·t

|e

| = he

i·k·t

i·k·t

,e

1 2

i =

Z 2π

i·k·t

e

normaliza as sen´oides complexas ei·k·t

√1 2π

−i·k·t

·e

 12

dt

0

(1.38)

Z 2π

=

 12

dt 0

=



2π.

(1.39)

Func¸o˜ es 2π-peri´odicas podem ser identificadas como uma func¸a˜ o no c´ırculo, ou toro unidimensional, P = R/(2πZ): por ser peri´odica, e´ mais clara a ideia de que f(t) e´ uma func¸a˜ o definida no c´ırculo [Hunter and Nachtergaele, 2005]. Assumiremos que f e´ uma aplicac¸a˜ o f : P → C, dado que P e´ o conjunto de pontos em R que diferem de algum outro ponto de 2πk, para qualquer k ∈ Z. A escolha de 2π como per´ıodo e´ apenas uma conveniˆencia para a an´alise de sinais arbitr´arios: diferentes per´ıodos podem ser reduzidos a este caso por escalamento da vari´avel independente. Seja L2 {P} um espac¸o formado por todas as func¸o˜ es peri´odicas de quadrado integr´avel: L2 {P} = {f : P → C |

Z

|f(t)|2 dt < ∞}.

(1.40)

P

O espaco C 1 {P} e´ o espac¸o de func¸o˜ es continuamente diferenci´aveis de P a C. L2 {P} inclui todas as func¸o˜ es peri´odicas integr´aveis. Ou seja, L2 {P} e´ o complemento de C 1 {P}

19

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

Espectro de magnitude de f(t)

Amplitude ··· 0.106 0.159 0.318 0.318 0.159 0.106 ···

Fase ··· −π/2 −π/2 −π/2 π/2 π/2 π/2 ···

0.3 0.2 0.1 0 -8

-6

-4

-2 0 2 Frequência s (ciclos/unidade)

4

6

8

4

6

8

Espectro de fase de f(t) π π/2

Ângulo: Θ(s)

Freq. ··· -6 -4 -2 2 4 6 ···

k ··· -3 -2 -1 1 2 3 ···

Amplitude: G(s)

0.4

0 −π/2

(a) Coeficientes.

−π −8

−6

−4

−2 0 2 Frequência s (ciclos/unidade)

(b) Espectro da func¸a˜ o. k = [-2, 2]

0.5

0.5

0.5

0

-1 -1

f(t)

1

-0.5

0 -0.5

-0.5

0 t

0.5

-1 -1

1

-0.5

0 t

0.5

-1 -1

1

0.5

0.5

0.5

-0.5

f(t)

1

0

0 -0.5

-0.5

0 t

0.5

-0.5

0 t

k = [-7, 7]

0.5

-1 -1

1

1 0.5 f(t)

1 0.5 f(t)

1

-1 -1

0 -0.5

-0.5

0 t

-0.5

0.5

1

0 t

0.5

1

0.5

1

k = [-50, 50]

0.5 0

1

0

k = [-8, 8]

-0.5

0.5

-0.5

-1 -1

1

0 t k = [-6, 6]

1

-1 -1

-0.5

k = [-5, 5]

1

f(t)

f(t)

0 -0.5

k = [-4, 4]

f(t)

k = [-3, 3]

1

f(t)

f(t)

k = [-1, 1] 1

0 -0.5

-1 -1

-0.5

0 t

0.5

1

-1 -1

-0.5

0 t

(c) Aproximac¸a˜ o senoidal da func¸a˜ o dente de serra.

Figura 1.13: A func¸a˜ o dente de serra. a) coeficientes espectrais. b) espectro correspondente. c) aproximac¸a˜ o senoidal com truncamento em distintos intervalos. em relac¸a˜ o a` norma L2 kfk =

1/2

Z

|f(t)|2 dt

,

(1.41)

P

em que a integral sobre P em relac¸a˜ o a t e´ tomada sobre qualquer intervalo de comprimento 2π. O espac¸o L2 {P} e´ um espac¸o de Hilbert, munido do produto interno: hf, gi =

Z

f(t) · g(t) dt.

P

Proposic¸a˜ o 1. As func¸o˜ es

1 ek (t) = √ ei·k·t , 2π

onde k ∈ Z, formam uma base ortonormal de L2 {P}.

(1.42)

20

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

Espectro de magnitude f(t)

Amplitude ··· 0.106 0 0.318 0.318 0 0.106 ···

Fase ··· π/2 0 π/2 −π/2 0 −π/2 ···

0.6 0.4 0.2 0 -80

-60

-40

-20 0 20 Frequência s (ciclos/unidade)

40

60

80

40

60

80

Espectro de fase de f(t) π Ângulo: Θ(s)

Freq. ··· -30 -20 -10 10 20 30 ···

k ··· -3 -2 -1 1 2 3 ···

Amplitude: G(s)

0.8

(a) Coeficientes.

π/2 0 −π/2 −π −80

−60

−40

−20 0 20 Frequência s (ciclos/unidade)

(b) Espectro da func¸a˜ o. k = [-3, 3]

k = [-5, 5] 1.5

1

1

0.5

0.5

0.5

0

-0.5

f(t)

1.5

1

f(t)

f(t)

k = [-1, 1] 1.5

0

-0.5

0

-0.5

-1

-1

-1

-1.5 -0.2

-1.5 -0.2

-1.5 -0.2

-0.1

0 t

0.1

0.2

-0.1

0 t

0.1

0.2

1

1

0.5

0.5

0.5

0

0

-0.5 -1

-1

-1.5 -0.2

-1.5 -0.2

0.2

-0.1

0 t

0.1

0.2

1

1

0.5

0.5

0.5

0

-0.5

-1

-1

-1

-1.5 -0.2

-1.5 -0.2

0.1

0.2

0.1

0.2

0

-0.5

-1.5 -0.2

0 t

0.2

1.5

f(t)

1.5

1

0

0 t k = [-31, 31]

1.5

-0.1

-0.1

k = [-15, 15]

f(t)

f(t)

k = [-13, 13]

-0.5

0.1

0

-1 0.1

0.2

-0.5

-1.5 -0.2

0 t

0.1

1.5

f(t)

1.5

1

-0.5

0 t k = [-11, 11]

1.5

-0.1

-0.1

k = [-9, 9]

f(t)

f(t)

k = [-7, 7]

-0.1

0 t

0.1

0.2

-0.1

0 t

(c) Aproximac¸a˜ o senoidal da func¸a˜ o onda quadrada.

Figura 1.14: A func¸a˜ o onda quadrada. a) coeficientes espectrais. b) espectro correspondente. c) aproximac¸a˜ o senoidal com truncamento em distintos intervalos. Demonstrac¸a˜ o. Verifica-se que duas harmˆonicas com frequˆencias inteiras distintas m 6= n, m, n ∈ Z, s˜ao independentes i·m·t

he

i·n·t

,e

i=

Z 2π 0



e

i·m·t

·e

−i·n·t

ei(m−n)t dt = i(m − n) 0

ei(m−n)2π − 1 ei·2π − 1 1−1 = = i(m − n) i(m − n) i(m − n) =0

=

21

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA Consequentemente, a ortonormalidade da base de Fourier pode ser verificada por hem , en i =

Z P

1 1 √ ei·m·t · √ ei·n·t dt 2π 2π

1 Z 2π i·(m−n)·t = e dt 2π 0 ( 1, se m = n = δm,n = 0, se m 6= n. A prova da completude da base de Fourier, que e´ a outra condic¸a˜ o necess´aria para ela gerar L2 {P}, pode ser encontrada em [Hunter and Nachtergaele, 2005]. Pela completude da base de Fourier, qualquer func¸a˜ o f ∈ L2 {P} pode ser representada por uma s´erie de Fourier como: ∞ 1 X √ f(t) = ck · ei·k·t , 2π k=−∞

(1.43)

onde a igualdade significa convergˆencia das somas parciais em relac¸a˜ o a` norma L2 : Z N X 1 √ ck lim N →∞ P 2π k=−N

2 i·k·t ·e − f(t)

dt = 0

(1.44)

Pela ortonormalidade da base de Fourier, os coeficientes de Fourier ck ∈ C, que formam o espectro ˆf ∈ l2 {Z} de f, s˜ao dados pelas projec¸o˜ es: 1 Z ck = ˆf(k) = hf, ek i = √ f(t) · e−i·k·t dt 2π P

(1.45)

Teorema 3 (Identidade de Parseval/Rayleigh para a s´erie de Fourier complexa). Seja f ∈ L2 {P} e ek a base de Fourier. Ent˜ao, para todo f, ∞ X

2

kfk =

|ˆf(k)|2 ,

(1.46)

k=−∞

ou Z P

|f(t)|2 dt =

∞ 1 X |hf, ek i|2 . 2π k=−∞

Demonstrac¸a˜ o. Expandindo f(t) como uma s´erie de Fourier, ∞ ∞ X 1 X ˆf(k) · ei·k·t = √1 f(t) = √ hf, ek iek 2π k=−∞ 2π k=−∞

(1.47)

22

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA Ent˜ao, Z

|f(t)|2 dt = kfk2 = hf, fi

P ∞ ∞ X 1 1 X = √ hf, em iem , √ hf, en ien 2π m=−∞ 2π n=−∞ ∞ ∞ 1 X 1 X = hhf, en ien , hf, em iem i = hf, en i hen , hf, em iem i 2π m,n=−∞ 2π m,n=−∞

*

1 = 2π

+

∞ X

1 hf, en ihf, em i hen , em i = 2π m,n=−∞

∞ X

=

∞ ∞ 1 X 1 X hf, em ihf, em i = |hf, em i|2 2π m=−∞ 2π m=−∞

=

∞ 1 X |ˆf(m)|2 2π m=−∞

Logo, kfk2 =

hf, en ihf, em iδm,n

m,n=−∞

∞ 1 X |ˆf(m)|2 . 2π m=−∞

A identidade de Parseval indica que uma func¸a˜ o no dom´ınio do espac¸o tem a mesma energia de seu espectro: ou seja, a Transformada Peri´odica de Fourier e´ unit´aria. Veremos adiante que isto tamb´em e´ um fato para sinais n˜ao peri´odicos: Z −∞

2

|f(t)| dt =

Z −∞

|ˆf(s)|2 ds

−∞

−∞

(1.48)

onde ˆf(s) e´ a Transformada Cont´ınua de Fourier de f(t), e para sinais discretos: N −1 X

|x[n]|2 =

n=0

−1 1 NX |ˆ x[k]|2 N k=0

(1.49)

onde xˆ[k] e´ a Transformada Discreta de Fourier de x[n]. Teorema 4 (Teorema da Convoluc¸a˜ o para Func¸o˜ es Peri´odicas). Dadas as func¸o˜ es 2πperi´odicas f, g ∈ L2 {P}, e k ∈ Z, \ (f ∗ g)(k) =



2π · ˆf(k) · gˆ(k).

Demonstrac¸a˜ o. Veja que a convoluc¸a˜ o entre elementos da base de Fourier e´ ei·m·t ei·n·t 1 Z 2π i·m·t i·(n−u)·t √ ∗√ = e ·e du 2π 0 2π 2π ei·m·t Z 2π i·(m−n)·u = e du 2π 0 ( i·m·t e , se m = n = 0, se n 6= m

23

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

g(t)

f(t)

f(t) * g(t)

t

t

^ f(s)

t

-½ ^ ^f(s) . g(s)= ^ (2π) f(t) * g(t)

^ g(s)

s

s

s

Figura 1.15: O produto de convoluc¸a˜ o e sua relac¸a˜ o com o dom´ınio do espac¸o e o dom´ınio da frequˆencia. Utilizando a expans˜ao na s´erie de Fourier de f(t) e g(t) temos ∞ i·m·t X ei·n·t ˆf(m) · e√ ∗ gˆ(n) · √ 2π n=−∞ 2π m=−∞ ∞ ∞ i·m·t X X ei·n·t ˆf(m) · gˆ(n) · e√ ∗ √ = 2π 2π m=−∞ n=−∞ ∞ ∞ X X \ ˆf(m) · gˆ(m) · ei·m·t = √1 · = (f ∗ g)(m) · ei·m·t 2π m=−∞ m=−∞ ∞ X

(f ∗ g)(t) =

Compensando a normalizac¸a˜ o obtemos o resultado final √ \ (f ∗ g)(m) = 2π · ˆf(m) · gˆ(m).

Note que a a´ rea sob uma convoluc¸a˜ o e´ o produto das a´ reas dos fatores: Z ∞

(f ∗ g)(t) dt =

−∞

=

Z ∞ Z ∞ −∞ Z ∞



f(u) · g(t − u) du dt

−∞

f(u) ·

−∞

Z ∞

=

Z ∞



g(t − u) dt du

−∞

 Z ∞

f(u) du ·



g(t) dt , −∞

−∞

e, por isso, operac¸o˜ es de filtragem atrav´es de convoluc¸a˜ o s˜ao comumente realizadas com filtros unit´arios. Dessa forma a operac¸a˜ o n˜ao modifica a m´edia do sinal original. O mesmo fato e´ v´alido para func¸o˜ es f, g ∈ L2 {Ω} no dom´ınio Ω. Um exemplo s˜ao as func¸o˜ es 2π-peri´odicas: Z 2π 0

1.6

(f ∗ g)(t) dt =

Z 2π

 Z 2π

f(u) du ·

0



g(t) dt . 0

Sinais cont´ınuos peri´odicos

Dado um sinal cont´ınuo peri´odico f(t) com per´ıodo p arbitr´ario, obtemos sua representac¸a˜ o o´ tima na s´erie de Fourier pela relac¸a˜ o Z p ·2π·k·t ˆf(k) = ck = 1 f(t) · e−i p dt, p 0

(1.50)

24

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA que mapeia as frequˆencias harmˆonicas f(t) e´ ent˜ao

k p

em n´umeros complexos. A reconstruc¸a˜ o da func¸a˜ o ∞ X

f(t) =

ck · e i

·2π·k·t p

(1.51)

.

k=−∞

Nesse caso trabalhamos no espac¸o de func¸o˜ es L2 {[0, p]} de quadrado integr´avel em [0, p], cujo produto interno e´ : hf, gi =

Z p

(1.52)

f(t) · g(t) dt.

0

Mas temos que considerar a normalizac¸a˜ o da base de Fourier p-peri´odica ei dois harmˆonicos distintos m 6= n, m, n ∈ Z, e´ f´acil verificar que ·2π·(m−n)·t

i ·2π·m·t p

he

i ·2π·n·t p

,e

i=

Z p

e

i ·2π·m·t p

−i ·2π·n·t p

·e

0

p

p p · ei = 0. dt = i2π · (m − n)

·2π·k·t p

. Dados

(1.53)

0

Com m = n temos he

i ·2π·m·t p

i ·2π·m·t p

,e

i=

Z p

e

i ·2π·m·t p

−i ·2π·m·t p

·e

dt =

Z p

0

dt = p,

0

(1.54)

ou seja, nessa vers˜ao os exponenciais complexos de per´ıodo p s˜ao ortogonais mas n˜ao s˜ao ortonormais. Para torn´a-los ortonormais bastaria normalizar a base de representac¸a˜ o: 1 ·2π·k·t ek (t) = √ ei p . p

(1.55)

E, nesse caso, a reconstruc¸a˜ o seria f(t) =

∞ X

∞ X

hf, ek iek =

k=−∞

=

!

k=−∞ ∞ X

·2π·k·t 1 Zp 1 ·2π·k·t f(t)ei p dt √ ei p √ p 0 p

·2π·k·t 1 ck · ei p , p k=−∞

(1.56) (1.57)

e, por isso, convenientemente fazemos ·2π·k·t 1Z p ck = f(t) · e−i p dt p 0

(1.58)

para simplificar a reconstruc¸a˜ o. Essa aplicac¸a˜ o do fator p1 no coeficiente ck unicamente na representac¸a˜ o e´ a vers˜ao mais encontrada na literatura. Para p = 2π (Sec¸a˜ o 1.5), foi feita a mesma aplicac¸a˜ o por´em em duas etapas de normalizac¸a˜ o com √12π : uma na representac¸a˜ o e outra na reconstruc¸a˜ o. A base ortonormal resultante facilitou as demonstrac¸o˜ es. Pela identidade de Parseval temos a relac¸a˜ o entre a energia da func¸a˜ o peri´odica em 2 L {[0, p]} e a energia dos coeficientes na s´erie de Fourier: Z p 0

|f(t)|2 dt =

∞ ·2π·k·t 1 X |hf, ei p i|2 . 2 p k=−∞

(1.59)

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

25

E pelo teorema da convoluc¸a˜ o para func¸o˜ es peri´odicas, sabemos que \ (f ∗ g)(k) = p · ˆf(k) · gˆ(k).

(1.60)

Como exemplo, dada a simplificac¸a˜ o das equac¸o˜ es, e´ muito comum na literatura a vers˜ao da transformada de Fourier peri´odica com p = 1: ˆf(k) = ck = f(t) =

Z 1

f(t) · e−i·2π·k·t dt,

0 ∞ X

ck · e·2π·k·t ,

(1.61)

k=−∞

na qual trabalhamos no espac¸o de func¸o˜ es L2 {[0, 1]} de quadrado integr´avel em [0, 1], cujo produto interno e´ : hf, gi =

Z 1

f(t) · g(t) dt

0

(1.62)

An´alise espectral de sinais peri´odicos O n´umero complexo ck = |ck | · eiθ = |ck | cos(θ) + i|ck | sin(θ) = x + iy,

(1.63)

e´ o coeficiente da sen´oide com frequˆencia s0 que comp˜oe o sinal peri´odico f(t) (harmˆonico k), e carrega sua informac¸a˜ o de magnitude e de fase. Suas coordenadas retangulares definem a relac¸a˜ o de seus componentes em fase e em quadratura. A parte real x e´ o quanto de um cosseno a frequˆencia s0 precisa. A parte imagin´aria y: quanto de um seno a frequencia s0 precisa. Assim, os parˆametros da sen´oide podem ser obtidos (ou decodificados) pelas suas coordenadas polares: • magnitude: |ck | = [<(ck )2 + =(ck )2 ]1/2 = [x2 + y 2 ]1/2 , • fase: θ = tan−1

=(ck ) y = tan−1 . <(ck ) x

Se y = 0, ent˜ao a fase da frequˆencia s0 e´ 0 ou π. Se x = 0, a fase da frequˆencia s0 e´ π2 ou − π2 . Sen˜ao a fase e´ obtida pela contribuic¸a˜ o n˜ao nula de um seno e um cosseno combinados sobre o plano dos n´umeros complexos. Espectro da func¸a˜ o cosseno Podemos analisar func¸o˜ es peri´odicas cont´ınuas pelo c´alculo de sua func¸a˜ o magnitude e de sua func¸a˜ o fase. Um exemplo vem da derivac¸a˜ o do espectro da func¸a˜ o cosseno com per´ıodo p = s10 ei(2πs0 t+ρ) + ei(2π(−s0 )t−ρ) f(t) = a cos(2πs0 t + ρ) = a · (1.64) 2

26

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA cuja sua expans˜ao na s´erie de Fourier e´ Z p ˆf(k) = 1 f (t) · e−i·2πk·s0 ·t dt p 0 1Z p ei(2πs0 t+ρ) + ei(2π(−s0 )t−ρ) −i·2πk·s0 ·t = a· ·e dt p 0 2  Z p Z p a i(2πs0 t+ρ) −i·2πk·s0 ·t i(2π(−s0 )t−ρ) −i·2πk·s0 ·t = e ·e dt + e ·e dt 2p 0 0 Z p  Z p a = ei((2πs0 −2πk·s0 )t+ρ) dt + ei((−2πs0 −2πk·s0 )t−ρ) dt 2p 0 0   Z p a iρ Z p i(2πs0 −2πk·s0 )t = e e dt + e−iρ ei(−2πs0 −2πk·s0 )t dt 2p 0 0   Z p Z p a iρ i(2πs0 (1−k))t −iρ i(2πs0 (−1−k))t = e e dt + e e dt 2p 0 0 ( a · eiρ , se k = 1 = a2 −iρ · e , se k = −1 2

(1.65)

Temos que analisar o espectro de acordo com as harmˆonicas k. Para k 6= ±1 temos p

p #

i(2πs0 (1−k))t ei(2πs0 (−1−k))t ˆf(k) = a eiρ e + e−iρ 2p i(2πs0 (1 − k)) 0 i(2πs0 (−1 − k)) 0

"

a iρ ei(2π(1−k)) − 1 ei(2π(−1−k)) − 1 e + e−iρ = 0, = 2p i(2πs0 (1 − k)) i(2πs0 (−1 − k)) "

#

(1.66)

e, portanto, o espectro do cosseno cont´em apenas duas harmˆonicas k = ±1: ˆf(k) = a · eiρ · δ(k − 1) + a · e−iρ · δ(k − (−1)), 2 2

(1.67)

logo, o espectro cont´ınuo do cosseno ˆf : R → C e´ : ˆf(s) = a · eiρ · δ(s − s0 ) + a · e−iρ · δ(s − (−s0 )), 2 2

(1.68)

onde s e´ a frequˆencia. Esse espectro foi ilustrado na Figura 1.12. Espectro da func¸a˜ o seno Em outro exemplo, podemos derivar o espectro da func¸a˜ o seno com per´ıodo p = f(t) = a sin(2πs0 t + ρ) = a ·

ei(2πs0 t+ρ) − ei(2π(−s0 )t−ρ) , 2i

1 s0

(1.69)

27

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA cuja expans˜ao na s´erie de Fourier e´

Z p ˆf(k) = 1 f (t) · e−i·2πk·s0 ·t dt p 0 1Z p ei(2πs0 t+ρ) − ei(2π(−s0 )t−ρ) −i·2πk·s0 ·t = a· ·e dt p 0 2i  Z p Z p a i(2πs0 t+ρ) −i·2πk·s0 ·t i(2π(−s0 )t−ρ) −i·2πk·s0 ·t = e ·e dt − e ·e dt 2i · p 0 0 Z p  Z p a = ei((2πs0 −2πk·s0 )t+ρ) dt − ei((−2πs0 −2πk·s0 )t−ρ) dt 2i · p 0 0   Z p Z p a = eiρ ei(2πs0 −2πk·s0 )t dt − e−iρ ei(−2πs0 −2πk·s0 )t dt 2i · p 0 0   Z p Z p a iρ i(2πs0 (1−k))t −iρ i(2πs0 (−1−k))t = e e dt − e e dt 2i · p 0 0 ( − a i · eiρ , se k = 1 (1.70) = a 2 −iρ i · e , se k = −1 2

que cont´em duas harmˆonicas k = ±1: ˆf(k) = − a i · eiρ · δ(k − 1) + a i · e−iρ · δ(k − (−1)), 2 2

(1.71)

logo, o espectro cont´ınuo do seno ˆf : R → C e´ : ˆf(s) = − a i · eiρ · δ(s − s0 ) + a i · e−iρ · δ(s − (−s0 )), 2 2

(1.72)

onde s e´ a frequˆencia. O espectro da func¸a˜ o seno e´ ilustrado na Figura 1.16. Fase

Magnitude

π/2 - ρ

a/2 s

-s0

s0

-s0

s0

s

ρ - π/2

Figura 1.16: Espectro da func¸a˜ o seno.

Exemplo de s´erie finita Considere o sinal peri´odico formado pela s´erie finita no tempo f(t) = 0.8 sin(0.5 · 2πt +

π π ) + 0.7 sin(2 · 2πt + ), 2 6

(1.73)

ilustrada na Figura 1.17. Calcularemos a s´erie de Fourier projetando f (t) diretamente nas senoides complexas que formam a func¸a˜ o. A melhor maneira de fazer esse c´alculo e´ obtendo uma vers˜ao de f (t) composta por senoides complexas ao inv´es de func¸o˜ es trigonom´etricas. Mas vamos fazer o c´alculo diretamente apenas para fins de an´alise dos coeficientes obtidos.

28

Amplitude

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

1 0 -1 0

0.5

1

1.5

2 Tempo (s)

2.5

3

3.5

4

(a) Dominio do espac¸o. Magnitude 0,4

Fase

0,35

π/3

s -2,0

-0,5

0,5

2,0

2,0

0

-2,0

-0,5

s

0,5

-π/3

(b) Dominio da frequˆencia.

Figura 1.17: Exemplo de func¸a˜ o com s´erie de Fourier finita. Para projetar f(t) nas componentes e0 (t) = e−i2π·0.5·t e e0 (t) = ei2π·0.5·t , primeiramente integramos f(t) multiplicada pelos componentes em fase e quadratura no intervalo [0, 2π]: Z 2π

f(t) · cos(2π · 0.5 · t) dt = 0.4,

0

Z 2π

f(t) · sin(2π · 0.5 · t) dt = 0.0,

0

que resulta nos coeficientes c0 = 0.4−0i e c0 = 0.4+0i, que se refere a` frequˆencia negativa. Do n´umero complexo dos coeficientes se tira a magnitude |c0 | = 0.4 e a fase θ = tan−1 0.00 =0 0.4 para a frequˆencia positiva, e |c0 | = 0.4 e θ = tan−1 −0.00 para a frequˆ e ncia negativa. = 0 0.4 Note na Figura 1.18a que a multiplicac¸a˜ o de f (t) com os dois componentes seno e cosseno de e0 (t), seguida de integrac¸a˜ o, basicamente captura a coincidˆencia entre as curvas. Da mesma forma, para projetar f(t) nas componentes e1 (t) = e−i2π·2·t e e1 (t) = ei2π·2·t , primeiramente integramos f(t) multiplicada pelos componentes em fase e quadratura no intervalo [0, 2π]: Z 2π

f(t) · cos(2π · 2 · t) dt = 0.175,

0

Z 2π

f(t) · sin(2π · 2 · t) dt = 0.3,

0

que resulta nos coeficientes c1 = 0.175 − 0.3i e c1 = 0.175 + 0.3i, que se refere a` frequˆencia 0.3 negativa. Da´ı se tira a magnitude |c1 | = 0.35 e a fase θ = tan−1 0.175 = −pi para a frequˆencia 3 pi positiva, e |c1 | = 0.35 e θ = tan−1 −0.3 = para a frequˆ e ncia negativa. A Figura 1.18b 0.4 3 ilustra a multiplicac¸a˜ o de f (t) com os dois componentes seno e cosseno de e1 (t). Como f (t) e´ real, os coeficientes das duas frequˆencias negativas s˜ao o conjugado dos coeficientes das positivas. Portanto, a amplitude da senoide correspondente e´ dividida entre essas duas frequˆencias.

29

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

Amplitude

f(t) 1

cos(2 pi * 0.5 * t)

0

sin(2 pi * 0.5 * t)

-1 0

0.5

1

1.5

2 Tempo (s)

2.5

3

3.5

4

Amplitude

(a) Integrac¸a˜ o com os componentes de e0 (t) f(t)

1

cos(2 pi * 2 * t)

0

sin(2 pi * 2 * t)

-1 0

0.5

1

1.5

2 Tempo (s)

2.5

3

3.5

4

(b) Integrac¸a˜ o com os componentes de e1 (t)

Figura 1.18: Integrac¸a˜ o com os componentes seno e cosseno das func¸o˜ es da base de Fourier e0 (t) e e1 (t). Espectro da func¸a˜ o quadrada e o fenˆomeno de Gibbs Considere a func¸a˜ o onda quadrada com per´ıodo um: (

f(t) =

+1, 0 ≤ t < 12 −1, 21 ≤ t < 1.

ilustrada na Figura 1.19. f(t) e´ cont´ınua por partes, i.e. definida em todo o per´ıodo [0, 1], mas tem uma descontinuidade em t = 12 e t = 1 pois e´ peri´odica. O coeficiente zero da sua s´erie de Fourier e´ a m´edia da func¸a˜ o no dom´ınio, que e´ obviamente 0. f(t) 1

1 t

½

0

-1

Figura 1.19: Func¸a˜ o onda quadrada com per´ıodo um. O restante de sua expans˜ao na s´erie de Fourier e´ ˆf(k) =

Z 1

f (t) · e−i·2πk·t dt

0

=

Z 1/2

e−i·2πk·t dt −

0

Z 1

e−i·2πk·t dt

1/2

1/2

1

e−i2πkt e−i2πkt 1 − e−iπk = − = , −i2πk 0 −i2πk 1/2 iπk

(1.74)

30

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA e como

( −iπk

1−e

=

0, se k e´ par 2, se k e´ impar,

(1.75)

os coeficientes s˜ao ˆf(k) = [1 − (−1)k ] · 1 iπk −i . = [1 − (−1)k ] · πk

(1.76)

A func¸a˜ o onda quadrada pode ser reconstru´ıda pela soma parcial sn (t) =

n X

ck · ei

·2π·k·t p

,

k=−n

onde n e´ o n´umero de harmˆonicos usados. Se a s´erie e´ infinita ou n e´ menor que o maior harmˆonico existente, h´a um truncamento da s´erie de Fourier que apenas aproxima o sinal. A Figura 1.20 ilustra a reconstruc¸a˜ o da onda quadrada com n = 30. 1

f(t)

0.5

0

-0.5

-1 -1

0 t

1

Figura 1.20: Reconstruc¸a˜ o da onda quadrada com n = 30. Na onda quadrada e´ muito f´acil observar o fenˆomeno de Gibbs. Se f(t) e´ apenas cont´ınua por partes, a convergˆencia pontual permanece verdadeira com o aumento de elementos na s´erie, mas a uniformidade da convergˆencia falha perto das descontinuidades tanto de f(t) como de f0 (t). O resultado e´ o surgimento de oscilac¸o˜ es que formam artefatos. O m´aximo que todas as somas parciais sn (t) da onda quadrada atingem e´ 1.089490, o que significa um desvio de quase 9%. Esse desvio e´ calculado com o uso do n´ucleo de Dirichlet [Osgood, 2007]. A raz˜ao e´ que a soma de duas ou mais func¸o˜ es cont´ınuas resulta necessariamente em uma func¸a˜ o cont´ınua. Conclui-se que s˜ao necess´arias alt´ıssimas frequˆencias para produzir cantos, e assim melhor aproximar as descontinuidades. Espectro da sequˆencia de pulsos Considere a func¸a˜ o sequˆencia de pulsos unit´arios com per´ıodo p: (

f(t) =

1, se k · p − 0, sen˜ao.

1 2

≤ t < k · p + 12 , para todo k ∈ Z,

(1.77)

ilustrada no dom´ınio do espac¸o pela Figura 1.21. f(t) e´ conhecida em engenharia como duty cicle, ou ciclo de operac¸a˜ o, porque os pulsos indicam quando um atuador est´a ligado.

31

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

1

t -p-½

-p

-p+½

½



p

p-½

p+½

Figura 1.21: Func¸a˜ o sequˆencia de pulsos. E´ geralmente indicado por uma porcentagem (dada por 1/p nessa formulac¸a˜ o com p ≥ 1) que indica a carga. Com p = 2, por exemplo, o ciclo de operac¸a˜ o e´ de 50%. O coeficiente zero e´ a integral da func¸a˜ o no dom´ınio, que e´ ˆf(0) = 1/p, para p > 0. O restante de sua expans˜ao na s´erie de Fourier e´ : Z p/2 i·2πk·t ˆf(k) = 1 P 1 (t) · e− p dt 2 p −p/2 1 Z 1/2 − i·2πk·t = e p dt p −1/2 i·2πk·t

e− p = −i2πk =

sin( πk ) p πk

1/2

i·πk i·πk 1 e p − e− p i2πk



=

−1/2



(1.78)

k 6= 0.

,

onde P 1 e´ a func¸a˜ o pulso (Eq. 1.28). Veja que a func¸a˜ o sequˆencia de pulsos e´ par, 2 f (t) = f (−t), o que leva a todos os coeficientes da s´erie de Fourier serem reais. Essa e´ uma propriedade u´ til da transformada de Fourier. Espectro da sequência de pulsos com período p = 2

Espectro da sequência de pulsos com período p = 4 0.25

0.4

0.2

0.3

0.15 Coeficiente f^(k)

^( ) Coeficiente f k

0.5

0.2 0.1

0.1 0.05

0

0

-0.1

-0.05

-0.2 -4

-3

-2

-1 0 1 Frequência s = k/p (ciclos/amostra)

2

3

-0.1 -4

4

-3

Espectro da sequência de pulsos com período p = 8

-2

-1 0 1 Frequência s = k/p (ciclos/amostra)

2

3

4

3

4

Espectro da sequência de pulsos com período p = 12

0.14

0.1

0.12 0.08 0.08

Coeficiente f^(k)

Coeficiente f^(k)

0.1

0.06 0.04 0.02

0.06 0.04 0.02

0 0 -0.02 -0.04 -4

-3

-2

-1 0 1 Frequência s = k/p (ciclos/amostra)

2

3

4

-0.02 -4

-3

-2

-1 0 1 Frequência s = k/p (ciclos/amostra)

2

Figura 1.22: S´erie de Fourier da sequˆencia de pulsos. Todos os coeficientes s˜ao reais porque f (t) e´ uma func¸a˜ o par. ` medida que o per´ıodo A Figura 1.22 mostra o espectro da func¸a˜ o sequˆencia de pulsos. A p aumenta, a densidade de harmˆonicos para representar f (t) aumenta. Ao fazer p tender ao

32

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

infinito, j´a e´ poss´ıvel entender o que acontece com func¸o˜ es n˜ao-peri´odicas. Nesse caso, os pulsos ocorrem cada vez mais afastados uns dos outros no dom´ınio do espac¸o. E o espectro tende a ter mais e mais pontos. Note na reconstruc¸a˜ o das sequˆencias de pulsos na Figura 1.23 que o ciclo de operac¸a˜ o e´ p1 , ou seja, a pr´opria frequˆencia fundamental. Sequência de pulsos: período p = 2, frequência fundamental = 0.5, k = [-30,30]

f(t)

1

0.5

0 -5

-4

-3

-2

-1

0 1 2 3 4 5 t Sequência de pulsos: período p = 4, frequência fundamental = 0.25, k = [-30,30]

-4

-3

-2

-1

f(t)

1

0.5

0 -5

0 t

1

2

3

4

5

Figura 1.23: Reconstruc¸a˜ o da func¸a˜ o sequˆencia de pulsos com diferentes frequˆencias fundamentais. No limite de p tendendo ao infinito, temos que f (t) se torna a func¸a˜ o pulso unit´ario (

f (t) =

1, se |t| < 0, sen˜ao,

1 2

(1.79)

cujo espectro e´ a func¸a˜ o sinc(s) dada por sin(πs) sinc(s) = fˆ(s) = , πs

s 6= 0.

(1.80)

A func¸a˜ o pulso tem uma grande importˆancia para o entendimento do teorema da amostragem. Ela tamb´em e´ u´ til para modelar o filtro passa-baixa ideal no dom´ınio da frequˆencia.

1.7

Tranformada Cont´ınua de Fourier

Agora vamos entender o que ocorre com sinais cont´ınuos n˜ao peri´odicos em comparac¸a˜ o com os sinais cont´ınuos peri´odicos. Basicamente, nesse caso o per´ıodo de repetic¸a˜ o p ser´a infinito. Na func¸a˜ o sequˆencia de pulsos no dom´ınio da frequˆencia (Eq. 1.78), por exemplo, os pontos no espectro s˜ao separados pela frequˆencia fundamental, que e´ 1/p. Portanto, nesse caso a func¸a˜ ol e´ composta por todas as frequˆencias reais de −∞ at´e ∞. Em termos de an´alise, se um sinal e´ peri´odico podemos utilizar s´eries de Fourier. Se um sinal e´ n˜ao peri´odico, e´ necess´ario utilizar a Transformada Cont´ınua de Fourier para

33

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA

converter a representac¸a˜ o desses sinais do dom´ınio do espac¸o para o dom´ınio da frequˆencia e vice-versa. A transformada Cont´ınua de Fourier direta e´ definida por: ˆf(s) = F(f) =

Z +∞

f(t) · e−i2πst dt,

−∞

que captura a ressonˆancia (ou coincidˆencia) do sinal f(t) com a sen´oide ei2πst de frequˆencia real s. A transformada inversa de Fourier e´ definida por: f(t) = F

−1

Z +∞

(ˆf) =

ˆf(s) · ei2πst ds,

−∞

que obt´em f(t) como uma combinac¸a˜ o linear de infinitas sen´oides ei2πst de frequˆencia real s ponderadas pela energia ˆf(s). Computacionalmente, e´ conveniente escrever a transformada de Fourier utilizando a identidade de Euler F(f) =

Z +∞

f(t) · e−i2πst dt

−∞

= =

Z +∞ −∞ Z +∞

f(t) · [cos(2πst) − i sin(2πst)]dt f(t) · cos(2πst)dt − i

−∞

Z +∞

f(t) · sin(2πst)dt.

−∞

(1.81)

Assim, o sinal f e´ projetado em duas sen´oides reais: uma com fase zero (em fase) e outra com fase π2 (em quadradura). Analogamente, a transformada inversa e´ dada por F −1 (ˆf) =

Z +∞

ˆf(s) · cos(2πst)ds + i

Z +∞

ˆf(s) · sin(2πst)ds

−∞

−∞

(1.82)

Sendo f uma func¸a˜ o de quadrado integr´avel, podemos usar sua propriedade de produto interno para definir ˆf(s) f(t)

= =

i2πst

hf(t), e

i =

Z +∞

hˆf(s), e−i2πst i =

f(t) · e−i2πst dt

−∞ Z +∞

ˆf(s) · ei2πst ds.

−∞

(1.83)

De fato, as sen´oides complexas formam uma base de L2 {R}, que e´ um espac¸o de Hilbert de dimens˜ao infinita, sendo que hei2πs1 t , ei2πs2 t i = δs1 ,s2 , onde δs1 ,s2 e´ o delta de Kronecker. Em outras palavras, o produto interno de duas sen´oides de frequˆencias diferentes e´ zero.

Transformada de Fourier de func¸o˜ es n˜ao peri´odicas Transformada de Fourier da func¸a˜ o pulso Considere a func¸a˜ o pulso de largura w e amplitude a, centrada na origem: (

paw (t)

=

a, se |t| < w/2 0, sen˜ao.

(1.84)

34

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA Sua transformada de Fourier e´ a func¸ao sinc(s) definida por sinc(s) = Pˆwa (s) = =

Z ∞

Pwa (t) · e−i·2πs·t dt

−∞ Z w/2

a · e−i·2πs·t dt

−w/2

w/2 a e−i·2πs·t i · 2πs · t −w/2 h i a −i·πs·w =− e − ei·πs·w i · 2πs · t sin(πs · w) , s 6= 0, w 6= 0. =a·w· πs · w

=−

(1.85)

A func¸ao pulso e seu espectro, a func¸a˜ o Sinc(s), s˜ao ilustradas na Figura 1.24.

aw

a

-w/2

w/2

t

-8 _ w

-_ 7 w

-6 _ w

-5 _ w

(a) Func¸a˜ o pulso.

-4 _ w

-3 _ w

-2 _ w

-1 _ w

0

1 _ w

2 _ w

3 _ w

4 _ w

5 _ w

6 _ w

7 _ w

8 _ w

(b) Func¸a˜ o Sinc.

Figura 1.24: A func¸a˜ o pulso e seu espectro cont´ınuo. a) Func¸a˜ o pulso. b) Func¸a˜ o Sinc.

An´alise espectral Para analisar um sinal cont´ınuo arbitr´ario f(t), f : R → C, precisamos obter o seu espectro ˆf(s), ˆf : R → C, s ∈ R. O n´umero complexo z = ˆf(s0 ) = G(s0 ) · eiΘ(s0 ) = |z| · eiθ = |z| cos(θ) + i|z| sin(θ) = x + iy, e´ o coeficiente da sen´oide com frequˆencia s0 que comp˜oe o sinal real f(t), e codifica sua informac¸a˜ o de magnitude e de fase em suas coordenadas polares. Como ocorre com as func¸o˜ es peri´odicas, na an´alise de um sinal real f(t), queremos obter seu espectro ˆf(s) que, por sua vez, pode ser decomposto em duas func¸o˜ es de resposta: • resposta de magnitude: G(s) = |ˆf(s)| , • resposta de fase: Θ(s) = tan−1

=(ˆf(s)) . <(ˆf(s))

Vamos calcular a resposta de magnitude e de fase do cosseno f(t) = a cos(2πs0 t + ρ), cujo espectro e´ : ˆf(s) = a · eiρ · δ(s − s0 ) + a · e−iρ · δ(s + s0 ). (1.86) 2 2

35

´ ´ ˆ CAPITULO 1. ANALISE ESPAC¸O-FREQUENCIA Calculando o quadrado da norma: |ˆf(s)|2 = fˆfˆ a a a a = · eiρ · · e−iρ · δ(s − s0 ) + · e−iρ · · eiρ · δ(s + s0 ) 2 2 2 2  2  2 a a = · eiρ−iρ · δ(s − s0 ) + · e−iρ+iρ · δ(s + s0 ) 2 2  2  2 a a · δ(s − s0 ) + · δ(s + s0 ). = 2 2

(1.87)

A magnitude do espectro do cosseno e´ ent˜ao: G(s) = |ˆf(s)| =

|a| · [δ(s − s0 ) + δ(s − (−s0 ))] 2

(1.88)

Pelo quociente =(ˆf) <(ˆf)

=

a ·sin(ρ)·δ(s−s0 )+ a2 ·sin(−ρ)·δ(s+s0 ) 2 a a ·cos(ρ)·δ(s−s 0 )+ 2 ·cos(−ρ)·δ(s+s0 ) 2

sin(ρ)·δ(s−s0 )+sin(−ρ)·δ(s+s0 ) cos(ρ)·δ(s−s0 )+cos(−ρ)·δ(s+s0 ) sin(ρ) sin(−ρ) · δ(s − s0 ) + cos(−ρ) · δ(s + cos(ρ)

=

=

s0 )

= tan(ρ) · δ(s − s0 ) + tan(−ρ) · δ(s + s0 ),

(1.89)

chegamos a` resposta de fase do cosseno Θ(s) = tan−1

=(ˆf) = ρ · δ(s − s0 ) − ρ · δ(s − (−s0 )) <(ˆf)

(1.90)

Referˆencias Bibliogr´aficas [Gomes and Velho, 1994] Gomes, J. and Velho, L. (1994). Computac¸a˜ o Gr´afica: Imagem. S´erie de Computac¸a˜ o Gr´afica. Impa/SBM. [Hunter and Nachtergaele, 2005] Hunter, J. K. and Nachtergaele, B. (2005). Applied Analysis. University of California, Davis. [Osgood, 2007] Osgood, B. (2007). The fourier transform and its applications. Technical Report Lecture notes for EE261, Electrical Engineering Department, Stanford University. [Reed and Simon, 1981] Reed, M. and Simon, B. (1981). Methods of Modern Mathematical Physics. Academic Press, 1a edition. [Young, 1988] Young, N. (1988). An Introduction to Hilbert Space. Cambridge Mathematical Textbooks. Cambridge University Press.

36

Marcelo Bernardes Vieira

Processamento Digital de Imagens

Capítulo 1 Quantização Quantização é o processo de discretização da grandeza que varia em um sinal. Em geral é uma transformação sobrejetiva q : C → C 0 que transforma um valor do espaço C ⊂ Rg para um outro valor no espaço C 0 ⊂ Rh . Os valores dos componentes da grandeza original são representados no espaço C com m ∈ R+ bits. A função de quantização obtém um valor que representa os mesmos valores da grandeza no espaço C 0 mas com l ∈ R+ bits cada, sendo necessariamente que m > l. É possível que m e l sejam quantidades fracionadas de bits. Isso é comum em espaços de codificação obtidos com compressão. Um exemplo são os valores médios de bits resultantes de codificações entrópicas como a de Huffman e codificadores aritméticos. Um exemplo de sinal a ser quantizado são as imagens que podem ter domínio amostrado e contradomínio quantizado i : U → C (imagem digital). Imagens também podem ser do tipo discretizado-contínuo, em que o domínio foi amostrado mas o contradomínio assume ainda valores reais (imagens analógicas). Quantizar uma imagem consiste em quantizar o seu gamute, que é o conjunto de todas as cores que seus pixels assumem. O resultado da quantização de uma imagem i(x, y) é necessariamente uma imagem discreta-discreta i0 : U → C 0 , em que cada ponto i0 (x, y) = q(i(x, y)) é representado com um número menor de bits do que o original i(x, y). Se o espaço C é unidimensional, a quantização é chamada quantização unidimensional ou quantização escalar. Mas se a grandeza não assume valores escalares, a chamamos de quantização vetorial, quantização multicanal ou quantização multidimensional. Mesmo se a grandeza não for escalar, podemos realizar uma quantização escalar em cada um de seus componentes do espaço multidimensional. Nesse caso, assume-se que as variáveis das coordenadas são independentese a quantização não explorará a correlação entre elas. A quantização é necessária em três situações: • discretização de um sinal físico, em que a grandeza assume um continuum de valores; • converter a grandeza quantizada em C para ser processada em um espaço com menor número de bits C 0 . Um exemplo é a redução da resolução tonal de uma imagem para viabilizar sua reconstrução por um dispositivo que opera com um número fixo de bits (monitores, por exemplo). • redução do número de bits utilizados para representar o sinal para fins de compressão. O objetivo é reduzir a redundância no espaço de cores. Um exemplo simples de quantização é a operação de limiarização. A quantização de imagem m = 8 (256 tons de cinza) e l = 1 (2 tons de cinza) teria a forma: 2

CAPÍTULO 1. QUANTIZAÇÃO

3

if (colorintensity ≤ th) then colorintensity ← 0; else colorintensity ← 1; end if onde th é o limiar da operação de binarização. A quantização para apenas 1 bit é muito extrema e esse método é demasiadamente simples para o propósito de quantização de imagens com muitos detalhes. De fato, esse método provê resultados satisfatórios em condições muito restritas. Se o objetivo é segmentar uma determinada região da imagem em relação ao seu fundo, por exemplo, esse método só vai funcionar se existe um limiar th capaz de separá-los. Nesse caso, o histograma da imagem deverá ser ao menos bimodal para que a quantização não misture fundo e objeto.

1.1

Conversor analógico-digital

O interessante é que o espaço C pode ser formado por um continuum de valores da grandeza. Nesse caso, m é infinito. Geralmente, sensores físicos convertem a informação da grandeza em tensão (volts) ou corrente (amperes). Componentes eletrônicos tipicamente usados nos primeiros estágios de captura, como transistores de efeito de campo e amplificadores operacionais, são operados por tensão. Isso traz benefícios como acoplamentos com alta impedância e baixo consumo. Portanto, é mais comum o uso de tensão como representante analógica de grandezas físicas. Microfones são compostos por membranas que vibram com a mudança na pressão local do ar. Essa vibração gera uma variação de tensão que pode então ser amplificada. O mesmo ocorre com sensores de luz. É preciso então um componente específico para quantizar a tensão de entrada (com infinitos bits) para obter um número finito de bits. O circuito eletrônico que converte um sinal analógico em uma sequência de bits é chamado conversor analógico-digital (ADC) e o circuito que converte uma sequência de bits em um sinal analógico é chamado conversor digital-analógico (DAC). São esses conversores que mapeiam um continuum de valores em números naturais e vice-versa. Um dos equipamentos mais importantes para processamento acústico se chama interface de som. Sua função é conectar fontes analógicas de som (microfones, instrumentos e linhas) a um computador. As interfaces de som modernas geralmente são conectadas via USB no computador. O sinal analógico de cada entrada da interface de som é convertida em uma sequência de bits e enviada ao computador. Por outro lado, também é possível enviar um som digital do computador para a interface que então o converte em um sinal analógico em uma de suas saídas. É composto portanto de conversores ADC e DAC cuja qualidade é primordial para a produção de áudio profissional. Uma interface de som semiprofissional alcança uma amostragem de 192 kHz com 24 bits por amostra.

1.2

Método geral de quantização

O processo de quantização de um espaço de sinais consiste de três etapas. Em algum momento deve-se determinar as chamadas células de quantização, que são conjuntos de cores que devem ser mapeadas em um mesmo nível de quantização. É preciso também determinar esses níveis de quantização para cada célula. Por fim, para cada amostra do sinal, identifica-se a célula

4

CAPÍTULO 1. QUANTIZAÇÃO

de quantização à qual ela pertence, para então substitui-la pelo valor de quantização q(c) da célula. Alguns métodos de quantização podem determinar as células e somente depois os níveis de quantização. Outros métodos determinam primeiramente os níveis de quantização e depois as células. E em alguns métodos as duas informações são calculadas ao mesmo tempo.

Células de quantização As células de quantização Ci ∈ C são subconjuntos que formam uma partição do espaço tonal C. Ou seja, o espaço de cor original é formado pela união de todas as células de quantização C = ∪i Ci , para i = 1, 2, · · · , L, sendo que Cj ∩ Ck = ∅ para todo j 6= k, com os índices j, k ∈ [1, L]. Na operação de quantização, todas as cores ou tons c ∈ Ci pertencentes a uma mesma célula de quantização são mapeadas na mesma cor ou tom c0 ∈ C 0 . Portanto, a função de quantização q : C → C 0 mapeia todos os elementos de um subconjunto de cores cj ∈ C, que formam a célula Ci , em um mesmo nível de quantização c0i ∈ C 0 . Ou seja, Ci = q −1 (c0i ) = {cj ∈ C | q(cj ) = c0i }. (1.1) No caso de quantização unidimensional, sejam c0i , 1 ≤ i ≤ L, os níveis assumidos por q(C). As células de quantização são intervalos ci−1 < c ≤ ci , 1 ≤ i < L. A Figura 1.1 mostra um exemplo de quantização de um espaço unidimensional com infinitos tons no intervalo [c1 , c5 ] para um espaço finito com 4 tons. A função de quantização constante por partes deste exemplo pode ser interpretada de duas formas. Na primeira, considere que ela tenha a forma q(c) : R → R. Nesse caso ela continua mapeando tons reais em tons reais. O leitor pode se perguntar onde ocorreu a redução de bits nesse caso. De fato, a partir deste ponto de vista a redução de bits não é evidente. Mas observe que na verdade há apenas 4 cores possíveis em C 0 . Então a função na verdade tem a seguinte forma q(c) : R ∈ [c1 , c5 ] → {c01 , c02 , c03 , c04 }. Agora a redução de bits é mais evidente. Partimos de um espaço de cores que demanda m = ∞ bits para representar qualquer de seus tons, e chegamos em um espaço de cores que demanda l = 2 bits para representar todos os seus possíveis tons. Note que as cores c01 , c02 , c03 , c04 podem ser guardadas com um número de bits bem maior do que 2. Pode-se montar um arranjo com os 4 tons, formando uma paleta de cores. Nesse caso a imagem quantizada precisa de apenas 2 bits para cada pixel para guardar o índice para o respectivo tom no arranjo.

c’i c’4 c’3 c’2 c’1

c1

c2 c3 c4

c5

c

Figura 1.1: Exemplo de função de quantização unidimensional. Os intervalos formados pelos tons c1 , c2 , c3 , c4 e c5 particionam a abcissa. A função de quantização q(c) é constante por partes e mapeia cada tom na abcissa em exatamente um nos tons do conjunto {c01 , c02 , c03 , c04 }. A Figura 1.1 apresenta o caso mais simples para realizar quantização. Grandezas vetoriais em Rn , n > 1, exigem células de quantização com geometria bem mais complexa. A Figura 1.2 apresenta um exemplo de partição de um espaço de cor com 2 canais (n = 2). Todas as

5

CAPÍTULO 1. QUANTIZAÇÃO

cores nas regiões brancas são mapeadas na cor indicada pelo ponto vermelho. O centroide da célula (a média de todas as cores) foi usado nesse exemplo, mas usar a cor média não é obrigatório.

Figura 1.2: Exemplo de células em um espaço com 2 canais (separadas por segmentos azuis) em que todas as cores são mapeadas em apenas 7 cores (pontos vermelhos).

Histograma de frequência O conhecimento da distribuição de valores em sinais típicos é de grande valia. A probabilidade de ocorrência de um certo valor c em um sinal é importante para determinar tanto as células quanto os níveis de quantização. Uma aproximação da distribuição de cores p(c) no sinal é dada pelo histograma de frequência (Fig. 1.3). Nesse histograma associamos a cada valor c presente em um sinal a sua frequência de ocorrência, ou seja, o número de amostras que possuem o valor c. Histograma de frequência

Tons de cinza 8 bits

Binária 1 bit (limiar = 190)

Figura 1.3: Histograma de uma imagem em tons de cinza (8 bits) como uma aproximação de sua função de densidade de probabilidade. Binarização da imagem em tons de cinza por limiarização. O limiar de 190 procura separar os caracteres do fundo da imagem.

Erro de quantização A determinação ótima das células de quantização e seus níveis depende do critério utilizado para medir o erro de quantização c = q(c) + eq (c),

(1.2)

6

CAPÍTULO 1. QUANTIZAÇÃO

onde eq (c) é o erro introduzido no processo de quantização. Podemos considerar d(c, q(c)) = ||eq (c)|| como uma medida de distância entre a cor original e a cor quantizada. A medida de distorção da quantização é dada pelo erro quadrático médio E(c, q(c)) =

Z ∞

(1.3)

p(c) · d2 (c, q(c)) dc,

−∞

onde p(c) é a função de distribuição de probabilidade (PDF) do valor c no espaço de valores de um sinal. Na medida de erro devemos levar em consideração a probabilidade de ocorrência do valor c no espaço da grandeza a ser quantizada. Diversas métricas podem ser utilizadas. Podemos levar em consideração distâncias perceptuais e computacionais.

1.3

Quantização uniforme

A quantização é dita uniforme quando o espaço da grandeza é dividido em células congruentes e, em cada célula, é tomado o seu centro como nível de quantização. Dois subconjuntos a e B de um espaço euclidiano Rn são congruentes se existe uma isometria f : Rn → Rn com f (A) = B. Original (24 bits)

Uniforme (8 bits)

Uniforme (3 bits)

Figura 1.4: Quantização uniforme. A imagem original tem 24 bits de cor (RGB). A quantização uniforme com 8 bits foi feita com 3, 3, 2 bits para os canais vermelho, verde e azul, respectivamente. A imagem com 3 bits é composta apenas por cores primárias e secundárias [Gomes and Velho, 1994]. No caso de quantização escalar, as células de quantização são intervalos [ci , ci+1 ) de igual comprimento e em cada célula o valor de quantização é dado pela média: c0i =

ci + ci+1 . 2

(1.4)

A Figura 1.1 não representa uma quantização uniforme porque as células são consecutivas mas os intervalos não têm o mesmo tamanho. Se o espaço de cores é multidimensional, fazemos a quantização uniforme separadamente em cada eixo, as células de quantização são paralelepípedos no espaço de cor e seu valor é a cor de seu centroide. A Figura 1.4 ilustra uma quantização uniforme de imagem colorida (RGB). A quantização com 8 bits de cor apresenta distorções cromáticas ainda que seja possível se utilizar 256 cores distintas. Isso ocorre porque várias células (possível cor) nesse exemplo não são usadas porque não há pixels correspondentes a ela na imagem original. A quantização com 3 bits é o resultado da composição colorida de 3 imagens binárias. Quantização uniforme em geral não provê bons resultados. Basta notar que algumas cores nem estarão presentes em uma dada imagem mas haverá uma célula para representá-la. Em

CAPÍTULO 1. QUANTIZAÇÃO

7

geral, métodos que consideram apenas as cores presentes no sinal tendem a ter um desempenho superior. Outro problema é que algumas células não vazias podem representar uma quantidade muito pequena de pixels. Por outro lado, outras células podem representar uma quantidade muito grande de pixels. Esse desbalanceamento na quantidade de pixels representados pode acentuar o aparecimento de distorções perceptíveis.

1.4

Métodos adaptativos de quantização

Um método de quantização é dito não-uniforme quando o particionamento não cria células congruentes. Uma quantização adaptativa ocorre quando as características do sinal são usadas para efetuar a quantização. Métodos adaptativos realizam duas etapas básicas. Primeiramente, faz-se uma estimativa das propriedades estatísticas da imagem. Em seguida, aplica-se o método geral de quantização particionando-se o espaço da grandeza do sinal com base nos dados obtidos na fase anterior.

Método da populosidade Métodos de quantização por seleção direta escolhem os níveis de quantização a serem utilizados e a partir de então determina a função de quantização que minimiza o erro de quantização. Um exemplo é o método da populosidade que define os L níveis de quantização como sendo as cores mais frequentes no gamute do sinal. Isso é feito a partir do histograma de frequência do sinal. Após isso, o método utiliza uma função de distância (euclidiana por exemplo) entre as cores c presentes no sinal e as L cores mais populosas. As células de quantização são formadas pelos vizinhos mais próximos das L cores mais frequentes, dados pela função de distância. Se há mais de um valor quantizado que obedece à condição de minimalidade, devemos escolher um deles. Pode-se usar o valor dos vizinhos como segunda referência. Esse algoritmo tende a eliminar pequenos detalhes no sinal já que a formação das células depende das cores dominantes.

Método do corte mediano Métodos de quantização por divisão recursiva primeiro calculam as células de quantização para em seguida determinar os seus níveis de quantização. Eles realizam subdivisões recursivas no espaço de cor. Iniciam com uma região que contém todo o gamute do sinal. Em cada iteração, a região é subdividida em duas ou mais regiões. Essa subdivisão é baseada em características estatísticas. O processo de recursão continua até que não existam mais regiões com mais do que um valor, ou o número máximo de células L é alcançado. Uma vez determinadas as células, a função de quantização é obtida através da escolha de um nível e quantização em cada célula. Um método simples e eficaz consiste em quantizar o sinal de forma que cada nível de quantização tenha o mesmo número de amostras. É um algoritmo análogo ao processo conhecido como equalização de histograma. Utiliza-se a mediana como medida estatística para realizar a subdivisão. Dado um conjunto ordenado de pontos no espaço P = {p1 ≤ p2 ≤ · · · ≤ pn }, a mediana kc é definida pelo elemento posicionado no meio p n+1 , se n é ímpar, ou p n2 , se n é par. 2 A mediana divide o conjunto P em duas partes com igual número de elementos. Não é influenciada isoladamente pela magnitude dos elementos do conjunto.

8

CAPÍTULO 1. QUANTIZAÇÃO Original (24 bits)

Uniforme (8 bits)

Uniforme (3 bits)

Populosidade (8 bits)

Populosidade (3 bits)

Corte mediano (8 bits)

Corte mediano (3 bits)

Figura 1.5: Comparação entre o método uniforme, o método da populosidade, e o método do corte mediano. Note que o método da populosidade e do corte mediano produzem bons resultados mesmo com 3 bits de cor [Gomes and Velho, 1994]. Uma quantização por equalização do histograma para sinais unidimensionais consiste em se fazer divisões recursivas do intervalo de intensidades do sinal, utilizando a mediana do conjunto em cada iteração. O método do corte mediano é a extensão do algoritmo acima para espaços multidimensionais. É fácil de se implementar e possui alta eficiência computacional. Tem excelentes resultados perceptuais na quantização de imagens de 24 bits para 8 bits. Sendo L o número de níveis de quantização desejado. Tomamos o paralelepípedo V = [min1 , max1 ]×[min2 , max2 ]×· · ·×[minm , maxm ], formando o volume mínimo que contém todos os valores do gamute do sinal a ser quantizado, ou seja, contendo o contradomínio C ⊂ Rg do espaço de sinais. No algoritmo de corte mediano, escolhe-se o eixo i que possui o maior comprimento maxi − mini > maxj − minj , para todo i 6= j. Faz-se então uma ordenação dos valores p ∈ C, usando apenas seus componentes pi , e calcula-se a mediana ki . A região V é então dividida em duas regiões V1 = {p ∈ C | pi < ki } e V2 = {p ∈ C | pi >= ki }. Continua-se o processo até que as regiões não possam ser mais divididas ou até que o número máximo de células L seja atingido. Os niveis de quantização são definido utilizando-se a média dos valores de cada célula. Pode-se melhorar o método de forma a minimizar a variância dos elementos de cada célula.

9

CAPÍTULO 1. QUANTIZAÇÃO

Comparação entre o método uniforme, da populosidade, e do corte mediano A Figura 1.5 apresenta a comparação entre o método uniforme, o método da populosidade, e o método do corte mediano. Os métodos adaptativos provêem um resultado muito superior ao uniforme. Isso porque eles utilizam o gamute de cores da imagem para determinar células ou níveis de quantização. Os principais elementos da imagem original podem ser percebidos mesmo com 3 bits por pixel. Ambos os métodos adaptativos calculam 8 cores a partir do conjunto original de cores. Há muitas diferenças nos dois resultados, sendo que a quantização pelo método do corte mediano foi bem superior. Evidentemente, muita informação é perdida nesse nível extremo de quantização.

1.5

Métodos de otimização em quantização

A quantização introduz um erro cuja medida de distorção é dada pela Equação 1.3. Para L níveis de quantização, teremos uma partição do espaço C1 , C2 , · · · , CL . Sendo c0 j o nível de quantização atribuído para a célula Cj , temos a simplificação: X Z ∞

E(c, q(c)) =

1≤j≤L −∞

p(c) · d2 (c, c0 j )) dc.

(1.5)

Em um sinal discreto-discreto, temos um conjunto finito de valores em cada célula e, portanto, chegamos à discretização da medida de distorção: X

E(c, q(c)) =

X

p(c) · d2 (c, c0 j )).

(1.6)

1≤j≤L c∈Cj

O problema de quantização pode ser resolvido de forma ideal através da minimização da distorção sobre todas as possíveis partições com L células no espaço da grandeza, cada uma com um número finito de valores. A quantização ótima é difícil de ser calculada e demanda um alto custo computacional. Em geral, métodos de otimização resolvem apenas uma restrição do problema, ou usam heurísticas para encontram uma solução aproximada.

Quantização ótima unidimensional Existe uma interdependência entre a célula e seu nível de quantização. Ambos devem ser determinados em conjunto. A distorção unidimensional é dada pelo erro quadrático médio D=

Z ∞

p(c) · (c − q(c))2 dc.

−∞

(1.7)

As células de quantização são intervalos [ci , ci+1 ] que assumem o valor de quantização c0 i . Queremos determinar os valores de ci e c0 i de forma a minimizar o erro de quantização D. Considerando c0 i de cada intervalo ci temos 0

0

0

D(c1 , c2 , · · · , cL , c 1 , c 2 , · · · , c L ) =

L Z cj+1 X j=1 cj

p(c) · (c0 j − c)2 dc

(1.8)

As condições necessárias para minimizar o erro de quantização global são obtidas determinando os pontos críticos da função D. Temos que diferenciar a equação em relação a ck e

CAPÍTULO 1. QUANTIZAÇÃO

10

c0 k e igualar a zero: ∂D = p(ck ) · (c0 k−1 − ck )2 − p(ck ) · (c0 k − ck )2 = 0, ∂ck Z ck+1 ∂D p(c) · (c0 k − c) dc = 0. =2· 0 ∂c k ck

(1.9) (1.10)

c0 k−1 + c0 k Pela Equação 1.9 tem-se que ck = , mostrando que cada extremo de uma célula 2 de quantização é o ponto médio entre dois níveis de quantização consecutivos. R ck+1 c · p(c) dc Pela Equação 1.10 tem-se que c0 k = cRk ck+1 , indicando que o valor de quantização p(c) dc ck é o centroide da distribuição de probabilidade p(c) no intervalo [ck , ck+1 ]. Essas são apenas condições necessárias para se obter a quantização ótima. Quando a distribuição p(c) é uniforme, ou seja, não se sabe nada sobre a distribuição de valores, a solução ótima é a quantização uniforme. Porém, é muito pouco provável que um sinal tenha distribuição uniforme de valores. Se a probabilidade de um sinal p(c) é conhecida, pode-se obter a quantização ótima através dos corolários das Equações 1.9 e 1.10, explorando a variação dos extremos das células de quantização.

Quantização ótima por relaxação As versões dos cálculos anteriores para espaços multidimensionais são muito mais complicadas por envolver integrais ao longo das fronteiras das células de quantização. Um método mais indicado consiste em se utilizar um processo de relaxação para inferir a solução ótima através de aproximações sucessivas. Duas condições devem ser satisfeitas para se obter a quantização ótima: 1. se q(c) é a transformação de quantização, então q(c) = c0 i ⇐⇒ d(c, c0 i ) ≤ d(c, c0 j ) ∀ 1 ≤ j ≤ L, i 6= j. 2. em cada célula Ci devemos calcular o nível c0 i de forma a minimizar o erro médio D. A condição 1 permite que calculemos Ci a partir da métrica d e dos níveis de quantização. A condição 2 permite calcular c0 i a partir da célula Ci . As duas condições podem ser usadas para obter a solução ótima através de um processo de relaxação. Começamos com níveis de (1) (1) (1) quantização c0 i arbitrários na iteração 1. Usando c0 i e a métrica, calculamos as células Ci através da condição 1. (1) Conhecida a célula Ci usamos a condição 2 para calcular um novo nível de quantização (2) (1) (2) c0 i para a célula Ci . Usando o nível c0 i voltamos ao segundo passo e continuamos o processo por aproximações sucessivas. Esse processo envolve algumas dificuldades. Temos de calcular os níveis de quantização c0 ji para todas as possibilidades de valor no espaço. Em geral, a distribuição de probabilidades não é conhecida para minimizar D. O método pode não convergir já que 1 e 2 não são condições suficientes.

1.6

Percepção e quantização

No processo de amostragem e quantização, deve-se levar em consideração as características dos sensores e a aplicação dos sinais reconstruídos. Devemos considerar os sensores humanos

CAPÍTULO 1. QUANTIZAÇÃO

11

para processar sinais que visam estimulá-los. Esse é o caso dos sistemas perceptuais de imagem e som. O olho humano é muito sensível a variações de intensidade de luz. Em geral, 8 bits por ponto são suficientes em uma imagem monocromática para satisfazer a capacidade de percepção de variação de brilho do sistema visual humano. Já o ouvido humano pode perceber sons entre 20 hz e 20 khz aproximadamente. A taxa de amostragem de CDs é de 44100 amostras por segundo, ou 44,1 khz, com 16 bits por amostra, ou 65536 gradações de pressão de ar. A taxa de amostragem para DVDs é de 48 khz com 24 bits por amostra. A quantização de imagens e a quantização de sons podem ter efeitos perceptíveis e, como a quantização pretende reduzir a resolução tonal, tais efeitos em geral distorcem ou até corrompem o conteúdo do sinal.

Percepção de contornos de quantização Considere um sinal f : U → C quantizado em L células. Essa quantização determina uma partição do domínio U do sinal em subconjuntos Ui definidos por Ui = f −1 (c0i ) = {p ∈ U | q(f (p)) = c0i }.

(1.11)

A célula Ui é constituída pelos pontos do domínio que assumem o valor c0i de quantização. Se tivermos um número pequeno de níveis de quantização, teremos um número pequeno de regiões Ui na partição: • dependendo da diferença de valor entre os níveis de duas células vizinhas, a curva das fronteiras será facilmente percebida porque introduzem altas frequências no sinal; • esse fenômeno é conhecido pelo nome de contorno de quantização. Em imagens e sons, a percepção de contornos de quantização depende fortemente do número de células de quantização. Uma imagem quantizada de forma ingênua (uniformemente por exemplo) e com poucos níveis de quantização terá os contornos de suas regiões facilmente percebidos. No caso de imagens, o olho humano percebe de forma acentuada as transições de intensidade de cor entre faixas consecutivas congruentes. A Figura 1.6 mostra as bandas de Mach que mostram como a vizinhança entre as faixas de intensidades diferentes chamam a atenção da percepção humana.

Figura 1.6: Bandas de Mach: o olho humano é atraído pela forte mudança entre faixas vizinhas e percebe claramente suas fronteiras. O mesmo não ocorre quando as faixas são separadas.

12

CAPÍTULO 1. QUANTIZAÇÃO

A Figura 1.7 apresenta a redução dos bits de cor (RGB) em uma imagem originalmente com 24 bits por pixel (8 bits por canal). Contornos de quantização são perceptíveis já na redução do número de bits por canal para 5. A região mais crítica é a do céu em que o brilho varia suavemente. Com apenas 1 bit por canal ainda há uma extrema distorção da imagem. Porém, ainda é possível distinguir vários elementos da cena. Os contornos de quantização são necessariamente uma distorção do sinal. A variação abrupta de tons geralmente não existem na imagem original. Trata-se portanto de uma informação perceptível que é espúria. 256 tons por canal (24 bits)

32 tons por canal (15 bits)

16 tons por canal (12 bits)

8 tons por canal (9 bits)

4 tons por canal (6 bits)

2 tons por canal (3 bits)

Figura 1.7: Aparecimento de cortornos de quantização coloridos (RGB) apóa reduções do número de bits por canal. O método de quantização é uniforme em cada canal. Uma pergunta frequente é sobre quantos bits é o suficiente para representar imagens e áudio. A resposta é sempre dependente da aplicação. O máximo de bits possível é desejável para uma melhor experiência na reprodução de imagens (no monitor ou televisão) e na reprodução de áudio (alto falantes). Note que essa discussão não considera a possibilidade de compressão do sinal. Para imagens naturais, que são aquelas que representam nosso cotidiano e a natureza, em geral 8 bits por canal é suficiente. Isso porque já percebemos que 256 tons de cinza provê uma boa experiência visual com imagens monocromáticas. Daí que imagens coloridas com 3 canais RGB também são percebidas suavemente com 8 bits por canal. É preciso analisar a aplicação para determinar a melhor quantidade de bits para imagens especializadas como tomografias, imagens de radiografia, imagens de pólen, imagens de microscopia, entre outros. Sobre áudio, a percepção de contornos de quantização é notória em telefones fixos e sistemas fechados cabeados. Isso porque nesses sistemas são usados apenas 8 bits para representar a pressão do ar. Isso é muito pouco dada a variação transversal da onda de som em relação às membranas dos microfones e dos alto-falantes. O resultando é a introdução de muito ruído no som resultante. Entretanto, essa quantização grosseira é suficiente para representar a voz humana e tem a vantagem de baratear e simplificar os sistemas de transmissão.

13

CAPÍTULO 1. QUANTIZAÇÃO

Reduzindo contornos de quantização O processo de quantização introduz erros em relação à imagem original. E é exatamente o forte correlacionamento de erro de quantização entre pixels vizinhos da imagem que faz com que a fronteira entre duas regiões forme uma curva. Uma das formas de diminuir o contorno de quantização é justamente reduzir essa correlação tonal entre pixels vizinhos. Um importante método para reduzir a percepção do contorno de quantização é o dithering. É um processo de filtragem que tenta evitar que a fronteira entre duas regiões seja contínua, difundindo o erro de quantização e assim desfazendo os contornos. Colorida 24 bits

Tons de cinza 8 bits (256 tons)

Binária 1 bit (limiar = 190)

Binária 1 bit (dithering de difusão)

Figura 1.8: Exemplo de dithering para uma imagem monocromática. A imagem original foi convertida para tons de cinza. Uma imagem binária é obtida através de limiariação com limiar 190. Uma imagem binária é obtida utilizando dithering por difusão global de erro, utilizando o algoritmo de Floyd-Steinberg. Métodos de dithering são classificados como dispersivos ou aglomerativos. Os dispersivos se utilizam de padrões matriciais para dispersar o erro local de uma área em toda a sua extensão. Esses métodos assumem que o dispositivo alvo tem alta capacidade de posicionar pontos (monitores por exemplo). Um exemplo é o que usa padrões de Bayer para contruir as matrizes de dispersão. Os métodos aglomerativos se utilizam de padrões matriciais para concentrar o erro médio de uma área. Esses métodos são especialmente úteis quando o dispositivo de reconstrução não tem alta precisão para posicionar pixels (impressoras de jornais por exemplo, telas e-paper de leitores). As matrizes de métodos aglomerados usam formas geométricas (padrão diagonal ou circular, por exemplo) que são reveladas de acordo com o tom local. Outros métodos de dithering espalhar o erro de quantização sobre a imagem utilizando uma enumeração dos pixels. Eles começam avaliando o erro no primeiro pixel da sequência enumerada, distribuindo-o entre seus vizinhos. Um exemplo é o método de Floyd-Steinberg e o baseado em curvas de Peano [Gomes and Velho, 1994].

14

CAPÍTULO 1. QUANTIZAÇÃO

Em geral, métodos de dithering substituem resolução espacial por resolução tonal para uma melhor percepção da imagem. É amplamente usado em painéis eletrônicos, jornais e impressoras industriais coloridas (as offsets). É também usado em impressoras a laser para se obter tons de cinza a partir de um toner preto contra o fundo branco do papel. A Figura 1.8 mostra o resultado do método do dithering de difusão global pelo algoritmo de Floyd-Steinberg. Comparando as duas imagens binárias da parte inferior, nota-se que a dispersão dos pontos pretos e brancos provê até mesmo uma noção dos tons de cinza originais. Isso é mais evidente na aproximação da Figura 1.9. Colorida 24 bits

Tons de cinza 8 bits (256 tons)

Binária 1 bit (limiar = 190)

Binária 1 bit (dithering de difusão)

Figura 1.9: Visão aproximada de uma região das imagens da Figura 1.8. Note que o erro das regiões pretas e brancas é espalhado em toda a região. Métodos de dithering também são aplicados em sons. Para evitar a percepção da transição entre níveis de quantização, é comum se adicionar ruído ao som analógico antes de sua quantização. O efeito é o descorrelacionamento de erros entre as amostras vizinhas de som. Esse processo é usado mesmo com músicas gravadas com 16 bits de quantização no formato de CD. Quantização de som com 24 bits já não necessita de dithering para reprodução. Entretanto, se o som deve ser processado, como masterização e síntese por exemplo, então o ideal é capturar cada amostra com 32 bits. Editores profissionais de áudio mais modernos quantizam o sinal com 32 bits.

1.7

A medida relativa decibel (dB)

O decibel (dB) é uma unidade logarítmica que indica a proporção de uma quantidade física (geralmente sua potência ou amplitude) em relação a um nível de referência especificado ou implícito. Um decibel representa um décimo de bel, unidade pouco usada mas que tem relações com outras escalas logarítmicas, como a Richter, usada para medir energia em eventos tectônicos.

15

CAPÍTULO 1. QUANTIZAÇÃO

Tem sua origem nos métodos para quantificar reduções em níveis de áudio em circuitos de telefonia. É calculada pela razão de grandezas, portanto, é uma unidade adimensional.

Comparação entre quantidades de potência e quantidades de amplitudes Uma intensidade ou potência p pode ser expressa em relação a um valor de referência p0 , em decibels, da seguinte forma: ! p pdb = 10 log10 , p0 sendo essa a maneira usual de se medir razões de grandeza. No caso de trabalho realizado, por exemplo, a razão entre 1 kW (1 kilowatt ou 1000 watts) para 1 W em decibels:   1000W pdb = 10 log10 ≈ 30db. 1W Exemplos de comparação de potência utilizando valores em decibels: • se pdb é 3,01 dB, então a potência p é o dobro de p0 ; • se pdb é 10 dB, então a potência p é 10 vezes maior que p0 ; • se pdb é -10 dB, entãoa potência p é 10 vezes menor que p0 ; • se pdb é 20 dB, então a potência p é 100 vezes maior que p0 ; • se pdb é -20 dB, então a potência p é 100 vezes menor que p0 ; • se pdb é 40 dB, então a potência p é 10000 vezes maior que p0 ; • se pdb é -40 dB, então a potência p é 10000 vezes menor que p0 . A Equação 1.7 é utilizada quando se mede a energia ou a potência. Entretanto, algumas grandezas têm uma relação quadrática com a energia ou potência associada. A membrana de um microfone responde proporcionalmente à pressão do ar ao captar o som. Porém, a onda sonora analógica resultante está em função do quadrado da pressão do ar. O mesmo ocorre com dispositivos sensíveis a luz em câmeras. Em um outro exemplo, um resistor dissipa energia quadraticamente em função da tensão em seus pinos. Isso então introduz um fator de 2 ao se converter pressão de ar, radiância, ou tensão, para decibels. Portanto, para medir e comparar amplitudes (valores em campos físicos reais), devemos considerar a razão do quadrado da amplitude medida v com o quadrado da amplitude de referência v0 . Uma tensão v em volts, por exemplo, deve ser comparada com uma tensão de referência v0 pela razão de seus quadrados: vdb = 10 log10

v2 v02

!



= 20 log10

v . v0 

Da mesma forma, em circuitos eletrônicos, o ganho de potência Gdb é tipicamente proporcional ao quadrado da tensão, ou corrente, quando a impedância é mantida constante:   v1 Gdb = 20 log10 , v0 onde v1 é a tensão de saída, e v0 é a tensão de entrada. A fórmula é equivalente para ganho de corrente. Alguns exemplos de comparação de amplitude utilizando valores em decibels:

16

CAPÍTULO 1. QUANTIZAÇÃO • se vdb é 6,02 dB, então a amplitude v é o dobro de v0 ; • se vdb é 20 dB, então a amplitude v é 10 vezes maior que v0 ; • se vdb é -20 dB, então a amplitude v é 10 vezes menor que v0 ; • se vdb é 40 dB, então a amplitude v é 100 vezes maior que v0 ; • se vdb é -40 dB, então a amplitude v é 100 vezes menor que v0 ; • se vdb é 60 dB, então a amplitude v é 1000 vezes maior que v0 ; • se vdb é -60 dB, então a amplitude v é 1000 vezes menor que v0 . Considere a razão entre 31,62 V (volts) para 1 V em decibels 

vdb = 20 log10

31, 62V 1V



≈ 30dB,

que tem o mesmo valor em decibels da razão de potência da Equação 1.7. Mas a razão é de aproximadamente 30:1 no caso da amplitude e 1000:1 no caso da potência. De fato, temos que (31, 62V /1V )2 ≈ (1kW/1W ). Conclui-se que não importa se a medida é feita por potência ou amplitude: razões de potência são iguais a razões de amplitude ao quadrado. Um valor em decibel sempre indica uma razão de potência mas é o tipo da grandeza para compará-las em decibels (Fig. 1.10). Em um exemplo sobre percepção de som, dobrar a pressão do ar de uma música provê um aumento de duas vezes na sua amplitude. O fenômeno oscilatório do som tem os picos e os vales dobrados em relação a uma pressão ambiente. Dobrar a pressão do ar pode ser conseguido se ligarmos dois amplificadores idênticos, com seus respectivos alto-falantes. Assume-se que ambos estão perfeitamente sincronizados, com mesmos parâmetros, e devidamente posicionados em relação a um ouvinte. Esse ouvinte irá perceber o som mais forte (o volume percebido será em torno de 10 dB devido a como o sistema perceptual responde ao aumento de intensidade). Isso significa um aumento de 6 dB no nível de amplitude de pressão de ar. Nesse mesmo exemplo, podemos dizer que a potência do som foi aumentada duas vezes (precisamos de dois amplificadores gastando a mesma energia cada), e então o ganho é de 3 dB. Não há nenhum contrasenso aqui porque dobrar a amplitude e dobrar a potência são duas operações diferentes. Precisamos do dobro da energia para ligar dois amplificadores ao invés de um. A Figura 1.10 apresenta uma comparação entre razões de potência e razões de amplitude para os respectivos valores de decibel.

Vantagens do uso do decibel A natureza logarítmica do decibel significa que um amplo intervalo de razões podem ser representadas por um número fácil de interpretar, de forma similar à notação científica. Podese assim, visualizar grandes variações de alguma quantidade. O ganho total de um sistema multicomponente (como amplificadores consecutivos) pode ser calculado pela soma dos ganhos em decibel dos componentes individuais, ao invés de multiplicar os fatores de amplificação: log(A × B × C) = log(A) + log(B) + log(C). A percepção humana da intensidade de, por exemplo, luz ou som, é mais proporcional ao logaritmo da intensidade do que a própria intensidade. Por exemplo, um humano percebe um aumento de 90 dB para 96 dB como sendo o mesmo de 10 dB para 16 dB.

17

CAPÍTULO 1. QUANTIZAÇÃO dB 100 90 80 70 60 50 40 30 20 10 6 3 1 0 -10 -20 -30 -40 -50 -60 -70 -80 -90 -100

Razão de potência (p) 10.000.000.000 1.000.000.000 100.000.000 10.000.000 1.000.000 100.000 10.000 1000 100 10 3,981 1,995 1,259 1 0,1 0,01 0,001 0,000.1 0,000.01 0,000.001 0,000.000.1 0,000.000.01 0,000.000.001 0,000.000.000.1

√ Razão de amplitude ( p) 100.000 31.620 10.000 3.162 1.000 316,2 100 31,62 10 3,162 1,995 1,413 1,122 1 0,316.2 0,1 0,031.62 0,01 0,003.162 0,001 0,000.316.2 0,000.1 0,000.031.62 0,000.01

Figura 1.10: Comparação entre razões de potência e razões de amplitude e os respetivos decibels. Decibel e acústica Em acústica, o decibel é utilizado para quantificar níveis de som relativos a uma referência de 0 dB que foi definida como 0,0002 microbar ou 20 micropascals (newton/m2 ). Essa referência é relativa ao limiar médio de percepção entre sons que um ser humano pode distinguir. O ouvido humano tem um alta faixa dinâmica (high dynamic range) na percepção de áudio. De fato, a razão entre a menor intensidade que um humano pode ouvir e o som que causa surdez fica em torno de 1 trilhão. Como o logaritmo de 1 trilhão é 12, temos uma razão de 120 dB entre o som que provoca danos permanentes e o menor som audível. Decibel e razão sinal-ruído Em sensores de imagem, vídeo e som, o decibel geralmente representa razões de tensão, níveis de luz, ou pressão do ar: ou seja, deve-se utilizar 20 log10 da razão. A razão sinal-ruído, ou Signal-to-Noise Error (SNR), compara o nível do sinal em relação ao nível de ruído de fundo:  2 ps vs SNR = = , pr vr onde ps é a potência média do sinal, pr é a potência média do ruído, vs é a amplitude média do sinal, e vr é a amplitude média do ruído. Geralmente, quantidades como faixa dinâmica (dynamic range) e razão sinal-ruído são

18

CAPÍTULO 1. QUANTIZAÇÃO especificados em 20 log10 decibels: SNR = 10 log10

vs ps = 10 log10 pr vr 

2

= 20 log10

vs db = pdb s − pr . vr

Assim, um SNR de 40 dB representa uma razão de 100:1 entre potência do sinal e a potência do ruído (e não 10.000:1). Mas em alguns contextos, os termos atenuação, ganho, razão de rejeição, etc., devem ser interpretados com cautela já que as duas unidades podem gerar mal entendimento dos valores. A convenção do 10 log10 prevalece geralmente na física ótica. A terminologia de decibels fica então confusa entre a física e a área de processamento de sinais. Mas, em geral, valores quantizados em processamento de sinais (como imagens e sons) são amplitudes e, portanto, devem ser comparados com 20 log10 . Um outro problema interessante é a análise do erro de quantização de conversores ADC. Qual é a razão sinal-ruído teórica um conversor de N bits perfeito? Assim, com um conversor ADC real (amplamente utilizado em diversos circuitos integrados no mercado) e com o SNR teórico podemos ter uma ideia de seu desempenho [Kester, 2009].

Referências Bibliográficas [Gomes and Velho, 1994] Gomes, J. and Velho, L. (1994). Computação Gráfica: Imagem. Série de Computação Gráfica. Impa/SBM. [Kester, 2009] Kester, W. (2009). Taking the mystery out of the infamous formula "SNR = 6.02N + 1.76dB", and why you should care. Technical Report MT-001, Analog Devices.

19

Marcelo Bernardes Vieira

Processamento Digital de Imagens

Cap´ıtulo 1 Teorema da amostragem 1.1

Filtros e filtragem

Dado um espac¸o de sinais S, um operador un´ario na forma L : S −→ S e´ chamado de filtro. A aplicac¸a˜ o de L em um sinal e´ chamada filtragem. Um filtro linear satisfaz L(f + g) = L(f) + L(g), f, g ∈ S, L(λf) = λL(f), λ ∈ C.

(1.1) (1.2)

Um filtro espacialmente invariante satisfaz [L(f)](t − a) = L[f(t − a)], ∀a ∈ C,

(1.3)

ou seja, o comportamento do filtro e´ o mesmo em qualquer ponto do dom´ınio. A translac¸a˜ o do sinal por a n˜ao altera a resposta do filtro no sinal. Um exemplo de filtro n˜ao linear e´ L(f(t)) = f 2 (t) e um exemplo de filtro espacialmente variante e´ L(f(t)) = f(t) + t. Se um filtro satisfaz as duas condic¸o˜ es 1.2 e 1.3, o chamamos de filtro linear e espacialmente variante (LEI). Essa classe de filtros tem um importante papel em processamento de sinais. Eles podem ser expressados unicamente pelo produto de convoluc¸a˜ o. Al´em disso, filtros LEI tˆem a propriedade de n˜ao criar frequˆencias no sinal filtrado, o que simplifica seu projeto e an´alise. Estamos interessados em entender como um filtro modifica o espectro de um sinal. Em termos gerais, e´ comum dividir o dom´ınio da frequˆencia em regi˜oes de baixas frequˆencias, vizinhas da origem, e regi˜oes de altas frequˆencias, que s˜ao regi˜oes complementares a` s baixas frequˆencias. Obviamente, esses conceitos dependem da aplicac¸a˜ o e da largura adequada das regi˜oes. O espectro tamb´em pode ser dividido em bandas de interesse, conforme ilustrado na Figura 1.1: • L e´ passa-alta se subtrai baixas frequˆencias (agudizac¸a˜ o), • L e´ passa-baixa se subtrai altas frequˆencias (suavizac¸a˜ o), • L e´ passa-banda se elimina frequˆencias em intervalos espec´ıficos. O suporte supp(f ) de um sinal f e´ o conjunto dos pontos do seu dom´ınio onde f n˜ao se anula. Um subconjunto C ⊂ Rn qualquer e´ compacto se e´ fechado e limitado. Um conjunto e´ fechado se fecho(C) = C. Ou seja, cont´em seu bordo. Informalmente, um conjunto C e´ limitado se tem limites superiores e inferiores. Dado um filtro com n´ucleo h, podemos classific´a-lo pelo seu suporte como: 2

3

´ CAPITULO 1. TEOREMA DA AMOSTRAGEM

Passa-baixa

Passa-alta

1

-F0

Passa-banda 1

F0

-F0

1

F0

Figura 1.1: Representac¸a˜ o de a´ reas de atuac¸a˜ o de filtros no espectro de um sinal. ˆ ⊂ [−Ω, Ω] compacto, onde Ω e´ a menor frequˆencia em que, • banda limitada: supp(h) ˆ se h(s) 6= 0, ent˜ao s ∈ [−Ω, Ω]. ˆ e´ finito, n˜ao necessariamente compacto. • FIR (Finite Impulse Response): supp(h) ˆ e´ infinito. • IIR (Infinite Impulse Response): supp(h)

Resposta de impulso Um fato importante e´ que todo sinal pode ser escrito como uma soma infinita de impulsos devidamente transladados e modulados pelo sinal: f (t) =

Z ∞

f (u) · δ(t − u) du,

−∞

(1.4)

que e´ simplesmente uma convoluc¸a˜ o do sinal com o delta de Dirac. A Figura 1.2 ilustra a translac¸a˜ o da func¸a˜ o delta de Dirac para a posic¸a˜ o t0 dada por δ(t − t0 ).

δ(t-t0)

t t0

Figura 1.2: Translac¸a˜ o da func¸a˜ o delta de Dirac para a posic¸a˜ o t0 dada por δ(t − t0 ). A resposta de impulso h de um filtro L e´ o resultado da filtragem do sinal impulso pelo filtro: h(t) = L(δ(t)). Representa o espalhamento da energia do impulso ap´os a aplicac¸a˜ o da filtragem. Se conhecemos a resposta de impulso h(t) = L(δ(t)) de um fltro linear e espacialmente invariante L, podemos afirmar que a resposta do filtro no sinal f ∈ S ser´a uma soma infinita da func¸a˜ o h transladada e modulada: Z ∞

L(f (t)) = L



f (t) · δ(t − x) dx

−∞

= =

Z ∞ −∞ Z ∞ −∞

f (t) · L[δ(t − x)] dx f (t) · h(t − x) dx = f (t) ∗ h(t).

(1.5)

4

´ CAPITULO 1. TEOREMA DA AMOSTRAGEM

Conclui-se que todo filtro linear espacialmente invariante L e´ determinado pela sua func¸a˜ o resposta de impulso h = L(δ(t)). Para todo sinal f ∈ S, tem-se que L(f (t)) = f (t) ∗ h(t). ´ A func¸a˜ o de resposta de impulso h(t) e´ tamb´em chamada de nucleo do filtro L. O Teorema da Convoluc¸a˜ o mostra que F(f ∗ g) = F(f ) · F(g) = fˆ · gˆ F −1 (fˆ ∗ gˆ) = F −1 (fˆ) · F −1 (ˆ g ) = f · g,

(1.6)

onde f, g ∈ S s˜ao sinais no dom´ınio do espac¸o, fˆ = F(f ) e gˆ = F(g) s˜ao seus correspondentes no dom´ınio da frequˆencia, F e´ a transformada de Fourier direta e F −1 e´ a inversa. Ou seja, a aplicac¸a˜ o de um filtro linear espacialmente invariante de n´ucleo h no dom´ınio do espac¸o corresponde a um produto dos respectivos espectros no dom´ınio da frequˆencia: o ˆ e´ chamado de func¸a˜ o de transferˆencia. espectro do n´ucleo h

Espectro da func¸a˜ o impulso A transformada de Fourier da func¸a˜ o impulso localizada na origem e´ ˆ = F(δ(t)) = δ(s)

Z ∞

δ(t)e−i·2πst dt = e−i·2π0 = 1,

−∞

(1.7)

ou seja, a transformada da func¸a˜ o impulso tem espectro constante no dom´ınio da frequˆencia. Todas as frequˆencias contribuem com a mesma energia para formar o impulso. A transformada de Fourier da func¸a˜ o impulso localizada em t0 e´ F(δ(t − t0 )) =

Z ∞ −∞

δ(t − t0 )e−i·2πst dt = e−i·2πst0 ,

(1.8)

que tem magnitude constante no dom´ınio da frequˆencia, embora os componentes sejam exponenciais complexos. O espectro e´ formado por uma senoide complexa (de frequˆencia = t0 ) ao longo do dom´ınio da frequˆencia (em func¸a˜ o de s).

A func¸a˜ o pente e seu espectro A func¸a˜ o pente unidimensional e´ formada por infinitos impulos espac¸ados por ∆t na seguinte forma ∞ comb∆t =

X

δ(t − k∆t),

(1.9)

k=−∞

onde ∆t define a distˆancia entre os impulsos no pente e k ∈ Z. Note que a func¸a˜ o pente e´ peri´odica, havendo um impulso na orgiem t = 0. A Figura 1.3 ilustra a func¸a˜ o pente unidimensional perto da origem. A func¸a˜ o pente e´ importante para provarmos o teorema da amostragem. Para calcular o espectro de comb∆t , primeiramente nota-se que h´a uma simetria entre a transformada direta e transformada inversa de Fourier. De fato, apenas um sinal no expoente muda entre as duas integrais. Se uma func¸a˜ o f (t) tem a transformada de Fourier fˆ(s), ent˜ao se avaliarmos o espectro do espectro F(fˆ(t)) resulta em f (−s). Como a transformada de um impulso δ(t − t0 ) e´ e−i·2πst0 , ent˜ao a func¸a˜ o f (t) = e−i·2πtt0 tem transformada de Fourier δ(−s − t0 ). Fazendo a = −t0 , a transformada de f (t) = ei·2πat0 e´ δ(−s + a) = δ(s − a).

5

´ CAPITULO 1. TEOREMA DA AMOSTRAGEM

combΔt (t)

t

Δt

Figura 1.3: A func¸a˜ o pente undimensional. A func¸a˜ o pente unidimensional e´ peri´odica com per´ıodo ∆t e assim pode ser expressada por uma s´erie de Fourier comb∆t =

∞ X

ck · ei

2πkt ∆t

(1.10)

,

k=−∞

onde os coeficientes s˜ao ck =

2πkt 1 Z ∆t/2 comb∆t · e−i ∆t dt, ∆t −∆t/2

(1.11)

de onde se observa que a integral cobre apenas o impulso da func¸a˜ o pente que est´a na origem. Portanto, os coeficientes s˜ao 2πkt 1 0 1 1 Z ∆t/2 δ(t) · e−i ∆t dt = ck = e = . ∆t −∆t/2 ∆t ∆t

(1.12)

A s´erie de Fourier da func¸a˜ o comb∆t (t) e´ ent˜ao comb∆t =

∞ 2πkt 1 X ei ∆t , ∆t k=−∞

(1.13)

cuja transformada de Fourier e´ dada pela soma das transformadas das senoides complexas 2πkt ei ∆t . Vimos que ! k i 2πkt F(e ∆t ) = δ s − , (1.14) ∆t de onde se chega a` transformada de Fourier da func¸a˜ o pente unidimensional 







∞ ∞ X 2πkt 2πkt 1  X ˆ ∆t (s) = F  1 comb ei ∆t  = F ei ∆t  ∆t k=−∞ ∆t k=−∞ ∞ 1 X k = δ s− ∆t k=−∞ ∆t 1 comb1/∆t (s). = ∆t

!

(1.15)

Ou seja, a transformada de Fourier de uma func¸a˜ o pente e´ outra func¸a˜ o pente cuja distˆancia 1 e´ o rec´ıproco de ∆t, escalada por ∆t . Quando menor e´ ∆t no dom´ınio do espac¸o, maior e´ do 1 distanciamento ∆t entre os impulsos no dom´ınio da frequˆencia, e vice-versa.

6

´ CAPITULO 1. TEOREMA DA AMOSTRAGEM

1.2

Teorema da amostragem

Seja f : U ⊂ Rm → Rn um sinal e U = {· · · , u−2 , u−1 , u0 , u1 , u2 , · · · } um subconjunto enumer´avel de U . Uma amostragem pontual de f e´ a sequˆencia (· · · , f (u−2 ), f (u−1 ), f (u0 ), f (u1 ), f (u2 ), · · · ).

(1.16)

Atribu´ımos para cada eixo xi de Rn um segmento ∆xi n˜ao nulo. Um reticulado no espac¸o Rn e´ o conjunto dos pontos de Rn definidos por R∆x = R∆x1 ,··· ,∆xn = {(m1 ∆x1 , m2 ∆x2 , · · · , mn ∆xn ); mi ∈ Z}. O n´umero de amostras de pontos por unidade de espac¸o e´ chamada taxa de amostragem. Um reticulado em R2 e´ exemplificado na Figura 1.4. X2

Δx1 Δx2

X1

Figura 1.4: Um reticulado no espac¸o R2 . Uma func¸a˜ o pente n-dimensional e´ a combinac¸a˜ o do reticulado com o delta de Kronecker: comb∆x (t) =

X

δ(t − (m1 ∆x1 , m2 ∆x2 , · · · , mn ∆xn )), t ∈ Rn ,

(1.17)

m∈Zn

na qual todos os pontos do reticulados s˜ao um impulso unit´ario. Essa caracter´ıstica nos permite definir matematicamente a amostragem pontual uniforme. Assim, a amostragem pontual uniforme de um sinal f no reticulado R∆x1 ,··· ,∆xn e´ dada pelo produto f (t) · comb∆x (t) = f (k∆x), k ∈ Zn . (1.18) Esse processo e´ ilustrado na Figura 1.5. Para efeito de an´alise, e´ importante obter o modelo espectral da func¸a˜ o pente. A s´erie de Fourier e´ outra func¸a˜ o pente: F(comb∆x (t)) =

1 comb 1 (s). ∆x ∆x

(1.19)

Como, • (f ∗ δ(t − t 0 ))(t) = f (t − t 0 ), • F(f ∗ g) = fˆ · gˆ,

(translac¸a˜ o da func¸a˜ o)

• F(f · g) = fˆ ∗ gˆ, ent˜ao o espectro de uma func¸a˜ o amostrada uniformemente e pontualmente e´ F[f (t) · comb∆x (t)](s) = fˆ(s) ∗

1 1 X ˆ j comb 1 (s) = · f (s − ). ∆x ∆x ∆x j∈Zn ∆x

(1.20)

7

´ CAPITULO 1. TEOREMA DA AMOSTRAGEM

f(t) combΔx(t)

combΔx(t)

f(t) 1 t

t

t

Figura 1.5: Exemplo de amostragem pontual uniforme. A func¸a˜ o f (t) e´ multiplicada pontualmente pela func¸a˜ o comb∆x (t). O resultado e´ uma sequˆencia de amostras de f (t). Embaixo, um exemplo de func¸a˜ o pente em 2D. f(t) combΔx(t)

combΔx(t)

f(t) 1 t

t

t

Δx ^ f(s)

^f(s) * 1/Δx comb1/Δx(s)

1/Δx comb1/Δx(s) 1/Δx s

s 1/Δx

Sobreposição de frequências

s

Figura 1.6: Amostragem pontual uniforme. Acima, uma multiplicac¸a˜ o entre a func¸a˜ o f (t) e a func¸a˜ o pente no dom´ınio do espac¸o. Abaixo, uma convoluc¸a˜ o entre as duas func¸o˜ es no dom´ınio da frequˆencia. Ou seja, o espectro de f e´ transladado para os v´ertices do reticulado do espectro da func¸a˜ o pente e somada. No dom´ınio do espac¸o, a amostragem corresponde ao produto do sinal com a func¸a˜ o pente. No dom´ınio da frequˆencia, a amostragem corresponde a` convoluc¸a˜ o do espectro do sinal com a s´erie de Fourier da func¸a˜ o pente. Portanto, o modelo espectral de um sinal amostrado em um reticulado e´ formado a partir do 1 modelo espectral do sinal original transladado por intervalos de comprimento ∆x . O processo de amostragem pontual no dom´ınio do espac¸o e da frequˆencia e´ ilustrado na Figura 1.6. Se h´a sobreposic¸a˜ o de frequˆencias, as altas frequˆencias do sinal original aparecem como baixas frequˆencias no sinal amostrado. Nesse caso, as frequˆencias na intersec¸a˜ o s˜ao perdidas e a func¸a˜ o f n˜ao pode ser reconstru´ıda. Mas considere um sinal f com banda limitada no dom´ınio fˆ ∈ [−Ω, Ω] do espac¸o de frequˆencia. • se

1 ∆x

> 2Ω, ou seja, ∆x <

1 , 2Ω

n˜ao haver´a sobreposic¸a˜ o de frequˆencias.

• portanto, a func¸a˜ o original poder´a ser reconstru´ıda com um filtro passa-baixa de ganho unit´ario cuja func¸a˜ o de transferˆencia e´ a func¸a˜ o pulso P2Ω (s). • a func¸a˜ o original e´ obtida pela transformada de Fourier inversa do resultado.

8

´ CAPITULO 1. TEOREMA DA AMOSTRAGEM Essa situac¸a˜ o e´ ilustrada na Figura 1.7.

Ω s



^f(s) * 2Ω comb2Ω(s)

2Ω comb2Ω(s)

^ f(s)



s

s



Figura 1.7: Amostragem pontual de uma func¸a˜ o com banda limitada entre [−Ω, Ω]. Teorema 1 (Teorema da amostragem de Shannon-Whitaker). Sejam f um sinal de banda limitada e Ω o menor valor de frequˆencia tal que supp(fˆ) ⊂ [−Ω, Ω]. O sinal f pode ser 1 reconstru´ıdo de forma exata a partir de amostras {f (k∆x) | k ∈ Zn }, se ∆x < 2Ω . 1 O limite de frequˆencia de amostragem 2Ω e´ conhecido como limite de Nyquist. Quanto maior a presenc¸a de altas frequˆencias na imagem, maior deve ser a frequˆencia de amostragem. O limite de Nyquist indica que e´ preciso uma frequˆencia de amostragem estritamente superior a duas vezes a maior frequˆencia presente no sinal: F > 2Ω.

Senoides discretas Uma sen´oide discreta pode ser expressada por (1.21)

f (n) = a · cos(2πF n + ρ),

´ onde −∞ < n < ∞ e´ uma vari´avel inteira, chamada de numero da amostra, F e´ a frequˆencia em ciclos por amostra, e ρ e´ a fase. 1

0.5

0

-0.5

-1 -10

-9

-8

-7

-6

-5

-4

Figura 1.8: Sen´oide discreta com F = 2πF = π/6 radianos por amostra.

-3

1 12

-2

-1

0

1

2

3

4

5

6

7

8

9

ciclos por amostra, ρ = π/6, a = 0.8. Sinal com

Note que F indica ciclos por amostra, ao contr´ario de sen´oides cont´ınuas, onde indica ciclos por unidade. Da mesma forma, 2πF indica radianos por amostra. A Figura 1.8 ilustra uma senoide amostrada pontualmente. A amostragem de senoides complexas tˆem a forma x[n] = ei2πF n , x[n] ∈ C, e implica na amostragem de sua parte real e imagin´aria. A Figura 1.9 ilustra uma senoide complexa amostrada pontualmente.

9

´ CAPITULO 1. TEOREMA DA AMOSTRAGEM

Senóide complexa

1

0

0.5

−0.5 −1 −10

0

10

20

30

40

Parte Imaginária

1 0.5

Parte real

Parte Real

1 0.5

0

−0.5

0 −0.5 −1 −10

−1 0

10 20 Amostras no Tempo (n)

30

40

1

40 0.5

30 20

0 Parte imaginária

10

−0.5 −1 −10

Figura 1.9: Sen´oide complexa discreta em func¸a˜ o do tempo com F = π radianos por amostra. equivalente a 15

0

1 30

ciclos por amostra,

Um sinal discreto f (n) e´ chamado peri´odico com per´ıodo N > 0, se e somente se f (n) = f (n + N ), para todo n. O menor valor de N que satisfaz essa relac¸a˜ o se chama per´ıodo fundamental. Para uma sen´oide discreta com frequˆencia F0 ser peri´odica, e´ preciso que sin(2πF0 (N + n) + ρ) = sin(2πF0 n + ρ). (1.22) Essa relac¸a˜ o e´ verdadeira somente se h´a um inteiro k tal que F0 = Nk . Ou seja, uma sen´oide discreta s´o e´ peri´odica se sua frequˆencia pode ser expressada pela raz˜ao de dois inteiros. Como consequˆencia, uma sen´oide discreta e´ peri´odica somente se sua frequˆencia F e´ um n´umero racional. Todas as sequˆencias senoidais cujas frequˆencias (ciclos por amostra) s˜ao separadas por m´ultiplos de 2π s˜ao idˆenticas (geram as mesmas amostras): fk (n) = a · cos[(2πF + 2πk)n + ρ],

(1.23)

s˜ao idˆenticas para todo k ∈ Z. Qualquer sequˆencia resultante de uma sen´oide com frequˆencia |2πF | > π (ou seja, radianos por amostra maior do que π), ou |F | > 12 (ou seja, ciclos por amostra maior do que 1 ), e´ idˆentica a alguma sequˆencia obtida de uma sen´oide com |2πF | ≤ π, ou |F | ≤ 21 . 2 Por causa dessa similaridade, chamamos a sen´oide de alta frequˆencia |2πF | > π de alias da sen´oide correspondente com baixa frequˆencia |2πF | ≤ π. O processo de aliasing e´ o mapeamento de altas frequˆencias em baixas frequˆencias durante o processo de amostragem. Portanto, em sinais discretos s˜ao consideradas apenas as frequˆencias no intervalo −π ≤ 2πF ≤ π, ou − 12 ≤ F ≤ 21 . A Figura 1.10 ilustra senoides discretas de v´arias frequˆencias amostrdas com 20 amostras no intervalo de [-10, 9]. Note como o aparecimento de aliasing nas senoides com frequˆencia maior do que 12 ciclo por amostra. Com F = 21 , nota-se que a amostragem do exemplo coincide com os picos e vales. Mas essa sincronizac¸a˜ o n˜ao e´ garantida. E´ poss´ıvel que as amostras coincidam, por exemplo, com a passagem por zero da senoide, gerando uma func¸a˜ o zero constante. Da´ı que essa taxa n˜ao e´ suficiente para representar a senoide original. De fato, a maior taxa de oscilac¸a˜ o em uma sen´oide discreta e´ alcanc¸ada quando |2πF | = π ou |F | = 12 . Como vimos na sec¸a˜ o sobre o teorema da amostragem, um sinal deve ser discretizado com uma taxa de amostragem

10

´ CAPITULO 1. TEOREMA DA AMOSTRAGEM 1

1

0.5

0.5

F=1/1

F=1/1.5

0

-0.5

0

-0.5

-1 -10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9

-1 -10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9

1

1

0.5

0.5

F=1/2

F=1/4

0

-0.5

0 -0.5

-1 -10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9

-1 -10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9

1

1

0.5

0.5

F=1/8

F=1/16

0

0

-0.5 -0.5

-0.5 -1 -10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9

-1 -10-9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9

Figura 1.10: Exemplos de sen´oides discretas com 2πF = 2π, 43 π, π, π/2, π/4 e π/8. estritamente maior do que duas vezes a maior frequˆencia presente no sinal, se este tiver banda limitada. Esse limite inferior para amostragem pontual uniforme e´ o limite de Nyquist.

1.3

Reconstruc¸a˜ o de sinais

Nesta sec¸ao, vamos entender como obter exatamente o sinal original e cont´ınuo f (t) a partir de sua representac¸a˜ o discreta, ou seja, suas amostras. Um sinal unidimensional f , com supp(fˆ) ⊂ [−Ω, Ω], amostrado uniformemente e pontualmente com frequˆencia F > 2Ω tem espectro 1 1 ˆ F[f (t) · comb∆x (t)](s) = fˆ(s) ∗ comb 1 (s) = f (s) ∗ comb 1 (s). (1.24) ∆x ∆x ∆x ∆x Pode-se obter as frequˆencias do sinal original aplicando-se um filtro passa-baixa com func¸a˜ o de transferˆencia P2Ω (s): 1 ˆ fˆ(s) = [ f (s) ∗ comb 1 (s)] · P2Ω (s). (1.25) ∆x ∆x Para obter o sinal original, basta calcular a transformada de Fourier inversa desse espectro: 1 ˆ 1 f (s) ∗ comb 1 (s)] ∗ F −1 [ P2Ω (s)] (1.26) ∆x ∆x 2Ω A transformada de um pulso unit´ario de largura 2Ω do dom´ınio da frequˆencia para o dom´ınio do espac¸o e´ f (t) = F −1 [

 sin πΩt 1 ˆ , para t 6= 0 −1 1 F [ P2Ω (s)] = P2Ω (s) = sinc2Ω (t) = πΩt  2Ω 2Ω 1, para t = 0, 

(1.27)

11

´ CAPITULO 1. TEOREMA DA AMOSTRAGEM

PΩ (s) PΩ (s) [^f(s) * 2Ω comb2Ω(s)]

-2Ω



0

Ω

s



0



s

Ω

Figura 1.11: Filtragem de um sinal de banda limitada amostrado com taxa de amostragem maior do que o limite de Nyquist. A multiplicac¸a˜ o do espectro pela func¸a˜ o pulso de largura 2Ω isola o espectro centralizado na origem. como ilustrado na Figura 1.11. A Figura 1.12 mostra o espectro da func¸a˜ o pulso que, ap´os a 1 , forma a func¸a˜ o sinc2Ω (t). normalizac¸a˜ o por 2Ω 2Ω

-8 _ 2Ω

-_ 7 2Ω

_ -6 2Ω

-5 _ 2Ω

-4 _ 2Ω

-3 _ 2Ω

-2 _ 2Ω

-1 _ 2Ω

0

1 _ 2Ω

2 _ 2Ω

3 _ 2Ω

4 _ 2Ω

_ 5 2Ω

6 _ 2Ω

_ 7 2Ω

8 _ 2Ω

Figura 1.12: Espectro de uma func¸a˜ o pulso de largura 2Ω. A partir da Equac¸a˜ o 1.26, temos f (t) = [f (t) · comb∆x ] ∗ sinc2Ω (t). Logo, f (t) =

X

f (k∆x) · sinc2Ω (t − k∆x ), t ∈ Rn ,

(1.28)

k∈Zn

que e´ exatamente a express˜ao de reconstruc¸a˜ o exata do sinal com banda limitada f a partir de suas amostras f (k∆x), k ∈ Zn . O conjunto de func¸o˜ es (1.29)

{sinc2Ω (t − k∆x )}, k ∈ Zn ,

forma uma base para func¸o˜ es de banda limitada chamada de base de Shannon. A Figura 1.13 ilustra as func¸o˜ es da base de Shannon escaladas pelas amostras pontuais. Note que essa base e´ composta por func¸o˜ es com suporte infinito no dom´ınio do espac¸o. Todas as amostras contribuem para reconstruir qualquer ponto de f (t). f(t)

t t

Figura 1.13: Alinhamento de m´ultiplas func¸o˜ es sinc2Ω (t) com as amostras pontuais. A reconstruc¸a˜ o exata de sinais de banda limitada amostradas acima do limite de Nyquist e´ poss´ıvel pela soma de todas as func¸o˜ es da base de Shannon.

´ CAPITULO 1. TEOREMA DA AMOSTRAGEM

12

Teorema 2 (Teorema da reconstruc¸a˜ o ideal). Se um sinal f tem banda limitada supp(fˆ) ⊂ [−Ω, Ω] e f e´ amostrada pontualmente dentro do limite de Nyquist, ent˜ao a sequˆencia de amostras f (k∆x) e´ uma representac¸a˜ o exata de f . O sinal f pode ser reconstru´ıdo no dom´ınio do espac¸o a partir das amostras usando a base de Shannon.

Amostragem e reconstruc¸a˜ o em Rn A transformada de Fourier se estende naturalmente para o reticulado em Rn : R∆x1 ,··· ,∆xn = {(m1 ∆x1 , m2 ∆x2 , · · · , mn ∆xn ); mi ∈ Z}. Ent˜ao o limite de Nyquist deve ser satisfeito para cada eixo. Ou seja, deve haver um vetor Ω = (Ω1 , Ω2 , · · · , Ωn ) de forma que ∆x1 < 2Ω1 1 , ∆x2 < 2Ω1 2 , · · · , ∆xn < 2Ω1 n . A func¸a˜ o sinc2Ωi (t) e´ estendida por separabilidade sinc(x1 , x2 , · · · , xn ) = sinc2Ω1 (x1 ) × sinc2Ω2 (x2 ) × · · · × sinc2Ωn (xn ). Cada func¸a˜ o sinc2Ωi e´ o espectro de uma func¸a˜ o pulso de largura 2Ωi escalada por 2Ω1 i como na Equac¸a˜ o 1.27, de acordo com a respectiva maior frequˆencia presente Ωi . Assim, se um sinal f : U ⊂ Rn → Rm possui banda limitada e suas frequˆencias de amostragem em cada eixo obedecem a frequˆencia de Nyquist, ent˜ao f fica completamente determinado pelo valor de suas amostras: f (x1 , · · · , xn ) =

∞ X

∞ X

···

k1 =−∞

f (k1 ∆x1 , · · · , kn ∆xn ) · sinc[x − k∆x ],

(1.30)

kn =−∞

onde x = [x1 , x2 , · · · , xn ], k = [k1 , k2 , · · · , kn ], e sinc[x − k∆x ] = sinc2Ω1 (x1 − k1 ∆x1 ) × · · · × sinc2Ωn (xn − kn ∆xn ).

(1.31)

Reconstruc¸a˜ o aproximada de sinais arbitr´arios O problema de recuperar um sinal f arbitr´ario a partir de suas amostras est´a relacionado com o problema de sobreposic¸a˜ o de frequˆencias no processo de amostragem. Aliasing e´ o fenˆomeno de aparecimento de componentes de baixas frequˆencias relacionadas a` s altas frequˆencias. Nesse caso, o processo de reconstruc¸a˜ o usando a base de Shannon n˜ao funciona por causa da perda das altas frequˆencias e o comprometimento das frequˆencias m´edias. O erro de aliasing e´ dado por (t) = |f (t) −

X

f (k∆x) · sinc1/∆x (t − k∆x )|, t ∈ Rn ,

(1.32)

k∈Zn

onde 1/∆x e´ a frequˆencia de amostragem. H´a dois casos em que ocorre aliasing: • o sinal f (t) n˜ao possui banda limitada: supp fˆ n˜ao e´ limitado; • f (t) possui banda limitada, mas a frequˆencia de amostragem e´ menor do que a frequˆencia de Nyquist. Na Figura 1.14, a sen´oide em azul com ρ = 0 e A = 1, tem frequˆencia F = 0.9 ciclos por amostra. Logo, a frequˆencia de amostragem deve ser estritamente maior do que 1.8 ciclos por amostra. Foram obtidas 30 amostras a 1 ciclo por amostra. Note que a frequˆencia de amostragem e´ muito pr´oxima da sen´oide original. O resultado e´ a sen´oide vermelha que tem F = 1/10 ciclos por amostra.

13

´ CAPITULO 1. TEOREMA DA AMOSTRAGEM 1 0.5 0 -0.5 -1 -15-14 -13-12-11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Figura 1.14: Exemplo de aliasing. A senoide azul e´ amostrada nos pontos em vermelho. Note que uma senoide de frequˆencia menor que a original e´ formada. Ou seja, a amostragem de uma sen´oide com F = 0.9 com uma frequˆencia F = 1 abaixo da de Nyquist resultou em uma sen´oide com baix´ıssima frequˆencia F = 1/10. Lembre-se que a maior frequˆencia poss´ıvel em um sinal discreto e´ F = 1/2. Considerando que f (t) e´ um sinal arbitr´ario, cujas propriedades n˜ao s˜ao conhecidas a priori, podemos resolver ou amenizar o problema de duas formas: • reduzir o valor de ∆x = aumentar a frequˆencia de amostragem F , • reduzir o valor de Ω = reduzir a presenc¸a de altas frequˆencias atrav´es de filtragem. Mas, um aumento excessivo da resoluc¸a˜ o implica em v´arios problemas de armazenamento e processamento. A reduc¸a˜ o de altas frequˆencias pode ser obtida atr´aves de um filtro passabaixa no processo de amostragem e reconstruc¸a˜ o. Para reduzir a ocorrˆencia de aliasing no processo de amostragem, geralmente se faz uma amostragem por a´ rea (m´edia): isso equivale a fazer uma filtragem das altas frequˆencias seguida de amostragem pontual.

Aproximac¸a˜ o de sinais arbitr´arios Dados dois sinais f e h e suas sequˆencias discretizadas (fm ) e (hm ), m ∈ Z, o produto de convoluc¸a˜ o e´ o sinal discreto (gk ) tal que gk = g(k) = (fm ∗ gm )k =

∞ X

fj · hk−j .

(1.33)

j=−∞

Os sinais s˜ao definidos por sequˆencias finitas. Portanto, devem ser estendidos nas bordas a partir de diversas t´ecnicas. Um caso importante e´ a convoluc¸a˜ o de um sinal discreto fk com um sinal cont´ınuo h(t) g(t) = fk ∗ h =

∞ X

fj · h(t − j),

(1.34)

j=−∞

que nos fornece uma interpolac¸a˜ o das amostras fk do sinal f , usando como base interpolante a func¸a˜ o h(t). Reconstruir significa obter um sinal cont´ınuo a partir de uma representac¸a˜ o discreta. Sendo f o sinal cont´ınuo, fk o discreto e fr o reconstru´ıdo, desejamos que f = fr . Como isso nem sempre e´ possivel, s˜ao necess´arias t´ecnicas para minimizar o erro |f − fr |. S´o faz sentido representar um sinal se, em algum momento no futuro, se espera reconstru´ılo. Exemplos de reconstruc¸a˜ o de sinais s˜ao a reproduc¸a˜ o de som digital e a visualizac¸a˜ o de imagens em monitores. Na pr´atica, uma reconstruc¸a˜ o exata e´ imposs´ıvel de ser obtida devido aos seguintes problemas:

14

´ CAPITULO 1. TEOREMA DA AMOSTRAGEM

• os elementos ek (t) da base de reconstruc¸a˜ o podem n˜ao ter suporte compacto. Se o sinal original reconstru´ıdo e´ dado por fr (t) =

∞ X

fk · ek (t), a s´erie pode ter uma

k=−∞

infinidade de termos n˜ao nulos o que obriga o truncamento da s´erie de reconstruc¸a˜ o. • pode n˜ao existir uma representac¸a˜ o linear exata (∆x <

1 , 2Ω

por exemplo).

Quando temos uma amostragem pontual, uma aproximac¸a˜ o pode ser obtida mediante uma ´ convoluc¸a˜ o com uma uma func¸a˜ o cont´ınua h(t) chamada nucleo de reconstruc˜ao: fr (t) = fk ∗ h =

∞ X

(1.35)

fj · h(t − j),

j=−∞

e, portanto, atrav´es da operac¸a˜ o de convoluc¸a˜ o h´a uma ligac¸a˜ o direta entre reconstruc¸a˜ o e filtragem. A reconstruc¸a˜ o de f pode ser vista como um processo de filtragem utilizando um filtro linear espacialmente invariante com n´ucleo h. Considere um n´ucleo cuja func¸a˜ o e´ um pulso P∆t (t − j) de largura ∆t , ou seja, constante em cada intervalo do reticulado. Esse filtro e´ chamado de box ou retangular. O sinal f (t) pode ser aproximado por um sinal fr (t) constante por partes da seguinte forma: fr (t) =

∞ X

(1.36)

fj · P∆t (t − j),

j=−∞

que por construc¸a˜ o gera descontinuidades. Duas amostras vizinhas n˜ao tˆem garantida nem a passagem da mesma curva pelas duas. Cada ponto da func¸a˜ o cont´ınua apeoximada depende de apenas uma amostra. Isso pode ser observado na Figura 1.15. Obviamente, essa base de interpolac¸a˜ o s´o resulta em uma reconstruc¸a˜ o exata se o sinal original tamb´em e´ constante por partes.

Δt

t

Figura 1.15: Aproximac¸a˜ o de uma func¸a˜ o atrav´es de func¸o˜ es constantes por partes. O filtro retangular introduz altas frequˆencias indesej´aveis. No dom´ınio da frequˆencia, o espectro do sinal reconstru´ıdo e´ dado pelo produto do espectro do sinal discreto fˆk pela func¸a˜ o de transferˆencia Pˆ∆t (s) = sinc∆t (s) do filtro retangular. A Figura 1.16 ilustra a sobreposic¸a˜ o do espectro de f (t) com o espectro da func¸a˜ o pulso usada na aproximac¸a˜ o. A multiplicac¸a˜ o dos espectros ilustrados indica que a func¸a˜ o pulso tender´a a introduzir artefatos. Os problemas na reconstruc¸a˜ o se manifestam de v´arias maneiras. No monitor de v´ıdeo, essas frequˆencias s˜ao respons´aveis pela ocorrˆencia do aspecto serrilhado (isso n˜ao e´ aliasing pois n˜ao h´a amostragem envolvida). Podemos amenizar o problema mudando o filtro de reconstruc¸a˜ o, com decaimento mais r´apido no infinito. Tamb´em podemos aumentar a frequˆencia de amostragem para reduzir o aparecimento de artefatos, com a desvantagem de se obter um sinal maior.

15

´ CAPITULO 1. TEOREMA DA AMOSTRAGEM

^PΔt (t) = sinc ( s) Δt ^ fr(s)

s Figura 1.16: Sobreposic¸a˜ o do espectro da func¸a˜ o pulso com o espectro de uma func¸a˜ o a ser reconstru´ıda. 1 1/Δt

fr

h(t) 2Δt

t

-Δt

Δt

t -2π/Δt

2π/Δt

Figura 1.17: Filtro polinomial triangular. A interpolac¸a˜ o correspondente e´ linear por partes. O filtro retangular e´ o mais simples de uma fam´ılia de filtros chamada de polinomiais. Nesses fitros, os n´ucleos s˜ao express˜oes polinomiais. Os outros filtros da fam´ılia podem ser obtidos atrav´es de convoluc¸o˜ es sucessivas com o filtro retangular. Logo, a func¸a˜ o de transferˆencia desses filtros e´ obtida pelo produto sucessivo de func¸o˜ es sinc: filtros de grau mais alto possuem decaimento mais r´apido. O filtro linear e´ obtido com a covoluc¸a˜ o de duas vezes o filtro retˆangular. O seu espectro e´ , portanto, dado por sinc2∆t (s). A Figura 1.17 mostra o filtro correspondente. A interpolac¸a˜ o resultante e´ linear por partes. Sua func¸a˜ o de transferˆencia decai mais rapidamente com o aumento da frequˆencia. Cada ponto da func¸a˜ o aproximada depende de duas amostras. O mesmo processo pode ser realizado repetidas vezes para obter n´ucleos ainda mais suaves. A convoluc¸a˜ o do filtro linear com o filtro retˆangular gera o filtro quadr´atico. A interpolac¸a˜ o resultante e´ dada por uma spline quadr´atica e cada ponto da func¸a˜ o cont´ınua aproximada depende de trˆes amostras. O espectro e´ sinc3∆t (s). Quanto maior o grau, maior e´ o grau de diferenciabilidade da func¸a˜ o reconstru´ıda nos pontos do reticulado. Um n´umero maior de amostras e´ necess´ario para solucionar os coeficientes dos polinˆomios interpolantes. Pelo teorema do limite central, o processo de convoluc¸o˜ es sucessivas com o filtro retangular converge para a func¸a˜ o gaussiana h(t) = √

−t2 1 e 2σ2 , 2πσ 2

(1.37)

2 2 2 ˆ cuja func¸a˜ o de transferˆencia e´ tamb´em uma gaussiana h(s) = e−2σ π s . Portanto, quando se faz convoluc¸o˜ es sucessivas com o filtro retangular, tendendo ao infinito, o resultado e´ o mesmo de se realizar uma convoluc¸a˜ o com um filtro gaussiano. Esse filtro e´ infinitamente diferenci´avel, resultando em uma aproximac¸a˜ o bastante suave. Mas tem suporte infinito, o que pode gerar problemas de truncamento.

Referˆencias Bibliogr´aficas

16

Similar documents

PI - Toda a Materia

Matheus Estevão - 44.8 MB

MATERIA 2

- 1.4 MB

Materia 1P

Andrés Sánchez - 141.2 KB

02 Materia

Erick Corilla Contreras - 3.1 MB

Materia 1

- 884.4 KB

pi cog adul

Laura AE - 472.5 KB

Balance de Materia

aymisil - 618.1 KB

MATERIA 3

- 1.7 MB

Materia Seca

Gustavo Pilco - 104.3 KB

Materia Alva - Ucañan

LEYDI ROSSELYN UCAÑAN HUAYAN - 537.7 KB

BIBLIOGRAFÍA DE LA MATERIA

Jorge Soto - 99.5 KB

Serie 2. Balance de materia.

Jhoana Severiano - 549.3 KB

© 2024 VDOCS.RO. Our members: VDOCS.TIPS [GLOBAL] | VDOCS.CZ [CZ] | VDOCS.MX [ES] | VDOCS.PL [PL] | VDOCS.RO [RO]