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
2π
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)
2Ω
s
s
2Ω
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
2Ω
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