Transformações de Imagens

que preservam Histograma

 
Introdução
Modelagem do Histograma e Transformações de Imagens
Transformações de Imagens que preservam Histograma
Como obter  os Hamiltonianos?
O método aplicado
Exemplos de Morfismos Hamiltonianos 
Referência

 


Introdução.

Esta página integra o projeto final de um curso de  Processamento de Imagens, ocorrido durante o segundo  semestre   de   2001    no IMPA, e ministrado pelo Prof. Luiz Velho. Ele  baseia-se  no   artigo [1].

 Nosso objetivo era classificar todas as transformações de imagens que  preservam o histograma ou que simplesmente o escalam.  Pa- ra isso,  pensamos nessas transformações como   sendo   soluções de uma família de campos  vetoriais agindo sobre a imagem. 

Uma aplicação dessas transformações encontra-se    em        Visão Computacional, por exemplo, em sistemas de reconhecimento     de objetos   poliédricos.  O  autor do artigo afirma ter obtido muito bons resultados  no   reconhecimento de caixas de sucos, livros,   e     ou- tros objetos usando o histograma das projeções de cada face, para contabilizar o histograma final. Ainda sobre o artigo, o autor     prova que as projeção perspectiva fraca e projeção paraperspectiva    es- calam o histograma.


Modelagem do Histograma e Transformações de Imagens.

A imagem é dada por uma mapa de intensidades, cujo domínio    é espacialmente contínuo, e possui área finita. Por sua vez, o    mapa de intensidades é dado por uma função F: D ® Â,onde DÌ Â2 é o domínio da imagem. No caso de imagens coloridas o mapa é dado por F: D ® Â3, onde Â3 é um espaço de cor 3D. Supomos que   a área da imagem possa ser calculada com a medida de  Lebesgue,  a qual representamos por dxdy, onde x e y são as duas  dimensões espaciais da imagem. 

Relacionamos a imagem a seu histograma por meio de uma     fun- ção de densidade q. Para imagens em tons de cinza  o domínio  de q é o intervalo das intensidades. Supondo então, que o  espaço  do histograma seja também mensurável, a densidade q que  relaciona os dois espaços torna-se a medida de Radon-Nikodym.  Em outras palavras, o mapa de intensidades F leva a medida   de   Lebesgue sobre o domínio dela numa medida sobre seu  intervalo. Esta    me- dida mÎÂ, no intervalo, é o histograma e é dada por

onde r é uma variável de intensidades no domínio da função densi- dade q, u Ì Â é um conjunto de valores de r, e F-1(u) é a parte  da imagem que tem intensidades dentro do intervalo u. Noutras  pala- vras, u é um conjunto de intervalos de intensidades  e a medida dá um número real m(u) igual a área do domínio da imagem   que  tem intensidade em u. A definição do histograma  na  equação   acima pode facilmente ser estendida para o espaço de cores 3D.

O domínio de uma imagem F pode ser transformada. Uma  classe interessante de deformações são os campos vetoriais  diferenciá- veis. É possível expressar tais campos em termos das   equações do fluxo, cujas soluções dão origem às famílias  de   transformaçõ- es.  Uma família de transformações Yt é expressa como 

onde = (x, y) Î D é um ponto da imagem, e t ÎÂ é o    parâmetro da transformação. Tais transformações tem a propriedade de   se- rem diferenciáveis e satisfazerem às relações de fluxo

.

Além disso, são invertíveis e Y0 = Id. Como exemplo  de    transfor- mações que atendem à estas condições temos as rotações, trans- lações, cisalhamentos e os escalamentos, dentre outros.

 


Transformações de Imagens que preservam Histograma.

Para simplificar nossa teoria supomos a imagem dividida em    pe- quenas regiões diferenciais dxdy. Se cada região diferencial    pre- serva área pela transformação, então o histograma da imagem   in- teira é  preservado  e vice-versa. Mais formalmente temos: 

Proposição A. As transformações Yt localmente preservam     área se, e só se,  elas preservam o histograma de toda a imagem F.

A prova de tal resultado e a dos que seguem depois deste, podem  ser encontradas na referência [1]. 

Em geral, uma transformação , ou campo vetorial X, muda a área e o histograma de uma imagem. Os campos que veremos aqui tem a propriedade de atuarem sobre a imagem, deformando  as  regiões diferenciais sem mudar a área. Essa característica deve-se  ao  fa-  to de o campo ter divergência nula. Mais formalmente temos:

Proposição B. As transformações Yt com ,     localmente preservam área se, e só se, div X = 0 .

Os campos  com   tal    propriedade     são    chamados     Campos Hamiltonianos. Por outro lado, se um campo preserva   histograma de uma imagem, então o campo agindo sobre a imagem é   o  Ha- miltoniano. Mais formalmente temos:

Proposição C.   Um   campo   vetorial   X(duas vezes diferenciável) possui divergente nulo se, e só se, é um Hamiltoniano.

Pudemos ver então que as transformações que   preservam   histo- grama surgem como soluções de uma família particular de campos vetoriais, chamados Hamiltonianos. Mais formalmente temos:

 Teorema A. Uma família de transformações Yt que surgem  como soluções de uma família de campos vetoriais X, preservam o   his- tograma de todas as imagens se, e só se, estes campos vetoriais são Hamiltonianos.

Não podemos deixar de ressaltar que existem transformações que preservam o histograma sem no entanto serem Hamiltonianos.  Al- guns exemplos são: as reflexões, as permutações de   áreas   dife- rentes da imagem, e permutações de pixels diferentes da imagem. Contudo, tais transformações ou não são locais ou são descontínu- as e não podem surgir como soluções de equações de fluxos.


Como obter os Hamiltonianos?

Podemos gerar transformações que satisfaçam a   proposição   B. Para tanto considere uma função H : D ® Â. Note que o  gradiente de H é normal às curvas de nível dela. Se rotacionarmos  o  campo gradiente de 90° nós obteremos um novo campo que é tangente às curvas de nível de H e cujo divergente é nulo.


O método aplicado.

O método para obter as transformações consistiu de evoluir   pixel  a pixel da imagem, ou seja, obter as trajetórias  de     determinado  ponto da imagem para um determinado parâmetro t.      Para isso,  foi necessário renormalizar, antes, as coordenadas de tela,     afim de evitar problemas de underflow. Em seguida, reamostramos    a imagem transformada e calculamos o histograma  para   posterior comparação. 

Uma outra coisa a se observar é que teoricamente    usamos    um  modelo contínuo de representação, ao passo que na prática  esta- mos discretizando a imagem.Surgem então algumas "patologias", tais como surgimento de pixels pretos na imagem e   geração   in- completa da imagem final. Os pixels pretos aparecem porque   há mais de um ponto da imagem original que são mapeados na ima- gem transformada, e embora as transformações sejam invertíveis, (como foi observado)de nada adianta tomar o fluxo inverso daque- les pontos pretos pois ninguém da imagem original foi    mapeado nele, ou seja,  a perda de informação é inevitável. A saída   encon- trada por nós(a mais rápida), foi tomar uma  média   dos     8(oito) vizinhos, compondo um quadrado em torno do ponto, sem   contar aqueles que fossem pretos. Um outro problema foi o  enlargamen-  to do bordo. Nesse caso, utilizamos uma   função      característica (máscara da imagem transformada) para evitar  aqueles    pontos, visto que o histograma calculado se alterava.  Devemos   observar também que cada imagem na próxima seção foi gerada  com  um parâmetro ou passo diferente. 


Exemplos de Morfismos Hamiltonianos

(a) Imagem Original 

 

(b) Hamiltoniano H(x, y) = x3 com passo 2

(c) Imagem Original 

 

(d) Hamiltoniano  H(x, y) = x3 com passo 2

 

(e) Hamiltoniano H(x, y) = (x2 + y2)0.7 com passo .04

(f) Máscara utilizada no caso H(x, y) = (x2 + y2)0.7 com passo .04

  

(g) Hamiltoniano H(x, y) = (x2 + y2)0.7 com passo .04, após ajuste 

 

(h) Hamiltoniano H(x, y) = (x2 + y2)1.5 com passo 4

 

(i)  Máscara utilizada no caso H(x, y) = (x2 + y2)1.5 com passo 4

 

(j) Hamiltoniano H(x, y) = (x2 + y2)1.5 com passo 4, após ajuste  

 

(k)  Hamiltoniano H(x, y) = sen (x + y).p/10  com passo 8

(l) Máscara utilizada no caso H(x, y) = sen[(x + y).p/10]  com passo 8

(m) Hamiltoniano H(x, y) = sen[(x + y).p/10] c/ passo 8, após ajuste 

 


Referência.

[1] Hadjidemetriou, E., Grossberg, M.D. and Nayar, S.K., Histogram Preserving Image Transformations

[2] Gomes, J., Velho, L., Computação Gráfica - Imagem, Publicação da SBM.

[3] Gomes, J., Costa,B.,Darsa,L., and Velho,L., Warping and Morphing of Graphical Objects

 

 

 

w