|
Transformações de Imagens que preservam Histograma |
||||||||||||||||||
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
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 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 |
|||||||||||||||||
|
|