Equalização do histograma - Histogram equalization

Histograma equalização é um método de processamento de imagem de contraste de ajuste utilizando a imagem do histograma .

Um histograma que é zero além de uma área central contendo picos fortes é transformado ao esticar a área do pico para preencher todo o eixo x.
Histogramas de uma imagem antes e depois da equalização.

Visão geral

Este método geralmente aumenta o contraste global de muitas imagens, especialmente quando a imagem é representada por uma faixa estreita de valores de intensidade. Por meio desse ajuste, as intensidades podem ser melhor distribuídas no histograma, utilizando toda a gama de intensidades de maneira uniforme. Isso permite que áreas de menor contraste local obtenham um contraste mais alto. A equalização do histograma faz isso espalhando com eficácia os valores de intensidade altamente populados que usam para degradar o contraste da imagem.

O método é útil em imagens com planos de fundo e primeiros planos claros ou escuros. Em particular, o método pode levar a melhores visualizações da estrutura óssea em imagens de raios-X e a melhores detalhes em fotografias que estão superexpostas ou subexpostas. Uma vantagem chave do método é que ele é uma técnica bastante simples, adaptável à imagem de entrada e um operador invertível . Portanto, em teoria, se a função de equalização do histograma for conhecida, o histograma original pode ser recuperado. O cálculo não é computacionalmente intensivo. Uma desvantagem do método é que ele é indiscriminado. Isso pode aumentar o contraste do ruído de fundo , enquanto diminui o sinal utilizável .

Em imagens científicas, onde a correlação espacial é mais importante do que a intensidade do sinal (como a separação de fragmentos de DNA de comprimento quantizado), a pequena relação sinal / ruído geralmente dificulta a detecção visual.

A equalização do histograma freqüentemente produz efeitos irreais nas fotografias; no entanto, é muito útil para imagens científicas, como imagens térmicas , de satélite ou de raios-x , geralmente a mesma classe de imagens às quais se aplicaria cores falsas . Além disso, a equalização do histograma pode produzir efeitos indesejáveis ​​(como gradiente de imagem visível ) quando aplicada a imagens com baixa profundidade de cor . Por exemplo, se aplicado a uma imagem de 8 bits exibida com uma paleta de escala de cinza de 8 bits , reduzirá ainda mais a profundidade da cor (número de tons de cinza exclusivos) da imagem. A equalização do histograma funcionará melhor quando aplicada a imagens com profundidade de cor muito maior do que o tamanho da paleta , como dados contínuos ou imagens em escala de cinza de 16 bits.

Existem duas maneiras de pensar e implementar a equalização do histograma, seja como mudança de imagem ou como mudança de paleta . A operação pode ser expressa como P (M (I)) onde I é a imagem original, M é a operação de mapeamento de equalização do histograma e P é uma paleta. Se definirmos uma nova paleta como P '= P (M) e deixarmos a imagem I inalterada, a equalização do histograma é implementada como mudança de paleta ou mudança de mapeamento. Por outro lado, se a paleta P permanecer inalterada e a imagem for modificada para I '= M (I), então a implementação é realizada pela mudança da imagem. Na maioria dos casos, a alteração da paleta é melhor, pois preserva os dados originais.

As modificações desse método usam vários histogramas, chamados de sub-histogramas, para enfatizar o contraste local, em vez do contraste global geral. Exemplos de tais métodos incluem equalização de histograma adaptativa , equalização de histograma adaptativo de limitação de contraste ou CLAHE , equalização de histograma multipico (MPHE) e equalização de bihistograma otimizada beta multiuso (MBOBHE). O objetivo desses métodos, especialmente MBOBHE, é melhorar o contraste sem produzir alteração média de brilho e artefatos de perda de detalhes por meio da modificação do algoritmo HE.

Uma transformação de sinal equivalente à equalização do histograma também parece ocorrer em redes neurais biológicas de modo a maximizar a taxa de disparo de saída do neurônio em função das estatísticas de entrada. Isso foi provado em particular na retina da mosca .

A equalização de histograma é um caso específico da classe mais geral de métodos de remapeamento de histograma. Esses métodos procuram ajustar a imagem para torná-la mais fácil de analisar ou melhorar a qualidade visual (por exemplo, retinex )

Projeção traseira

A retroprojeção (ou "projeto") de uma imagem histograma é a reaplicação do histograma modificado à imagem original, funcionando como uma tabela de consulta para valores de brilho de pixel.

Para cada grupo de pixels retirados da mesma posição de todas as imagens de canal único de entrada, a função coloca o valor do compartimento do histograma na imagem de destino, onde as coordenadas do compartimento são determinadas pelos valores dos pixels neste grupo de entrada. Em termos estatísticos, o valor de cada pixel da imagem de saída caracteriza a probabilidade de que o grupo de pixels de entrada correspondente pertença ao objeto cujo histograma é usado.

Implementação

Considere uma imagem discreta em tons de cinza { x } e seja n i o número de ocorrências de nível de cinza i . A probabilidade de ocorrência de um pixel de nível i na imagem é

sendo o número total de níveis de cinza na imagem (normalmente 256), n sendo o número total de pixels na imagem, e sendo de fato o histograma da imagem para o valor de pixel i, normalizado para [0,1].

Vamos também definir a função de distribuição cumulativa correspondente a i como

,

que também é o histograma normalizado acumulado da imagem.

Gostaríamos de criar uma transformação da forma para produzir uma nova imagem { }, com um histograma plano. Essa imagem teria uma função de distribuição cumulativa linearizada (CDF) em toda a faixa de valor, ou seja,

para

por alguma constante . As propriedades do CDF nos permitem realizar tal transformação (veja Função de distribuição inversa ); é definido como

onde está no intervalo . Observe que mapeia os níveis no intervalo [0,1], já que usamos um histograma normalizado de { }. Para mapear os valores de volta ao intervalo original, a seguinte transformação simples precisa ser aplicada ao resultado:

.

Uma derivação mais detalhada é fornecida aqui .

é um valor real, enquanto tem que ser um número inteiro. Um método intuitivo e popular é a aplicação da operação circular:

.

No entanto, a análise detalhada resulta em uma formulação ligeiramente diferente. O valor mapeado deve ser 0 para o intervalo de . E para , para , .... e, finalmente, para . Então, a fórmula de quantização de a deve ser

.

(Observação: quando , no entanto, não acontece apenas porque significa que não há pixel correspondente a esse valor.)

De imagens coloridas

A descrição acima descreve a equalização do histograma em uma imagem em tons de cinza. No entanto, também pode ser usado em imagens coloridas aplicando o mesmo método separadamente aos componentes Vermelho, Verde e Azul dos valores de cor RGB da imagem. No entanto, aplicar o mesmo método nos componentes Vermelho, Verde e Azul de uma imagem RGB pode produzir mudanças dramáticas no equilíbrio de cores da imagem, uma vez que as distribuições relativas dos canais de cores mudam como resultado da aplicação do algoritmo. No entanto, se a imagem for primeiro convertida em outro espaço de cor, espaço de cor Lab ou espaço de cor HSL / HSV em particular, o algoritmo pode ser aplicado ao canal de luminância ou valor sem resultar em alterações no matiz e saturação da imagem . Existem vários métodos de equalização de histograma no espaço 3D. Trahanias e Venetsanopoulos aplicaram a equalização do histograma no espaço de cores 3D. No entanto, isso resulta em "branqueamento", onde a probabilidade de pixels brilhantes é maior do que de pixels escuros. Han et al. proposto o uso de um novo cdf definido pelo plano de iso-luminância, o que resulta em distribuição uniforme de cinza.

Exemplos

Para consistência com o uso estatístico , "CDF" (ou seja, função de distribuição cumulativa) deve ser substituído por "histograma cumulativo", especialmente porque o artigo está vinculado à função de distribuição cumulativa que é derivada da divisão de valores no histograma cumulativo pela quantidade total de pixels. O CDF equalizado é definido em termos de classificação como .

Imagem pequena

A subimagem 8 × 8 mostrada em tons de cinza de 8 bits

A imagem em tons de cinza de 8 bits mostrada tem os seguintes valores:

52 55 61 59 79 61 76 61
62 59 55 104 94 85 59 71
63 65 66 113 144 104 63 72
64 70 70 126 154 109 71 69
67 73 68 106 122 88 68 68
68 79 60 70 77 66 58 75
69 85 64 58 55 61 65 83
70 87 69 68 65 73 78 90


O histograma desta imagem é mostrado na tabela a seguir. Os valores de pixel que têm uma contagem zero são excluídos por uma questão de brevidade.

Valor Contar Valor Contar Valor Contar Valor Contar Valor Contar
52 1 64 2 72 1 85 2 113 1
55 3 65 3 73 2 87 1 122 1
58 2 66 2 75 1 88 1 126 1
59 3 67 1 76 1 90 1 144 1
60 1 68 5 77 1 94 1 154 1
61 4 69 3 78 1 104 2
62 1 70 4 79 2 106 1
63 2 71 2 83 1 109 1

A função de distribuição cumulativa (cdf) é mostrada abaixo. Novamente, os valores de pixel que não contribuem para um aumento no cdf são excluídos por questões de brevidade.

v, intensidade de pixels cdf (v) h (v), v equalizado
52 1 0
55 4 12
58 6 20
59 9 32
60 10 36
61 14 53
62 15 57
63 17 65
64 19 73
65 22 85
66 24 93
67 25 97
68 30 117
69 33 130
70 37 146
71 39 154
72 40 158
73 42 166
75 43 170
76 44 174
77 45 178
78 46 182
79 48 190
83 49 194
85 51 202
87 52 206
88 53 210
90 54 215
94 55 219
104 57 227
106 58 231
109 59 235
113 60 239
122 61 243
126 62 247
144 63 251
154 64 255
(Observe que a versão ainda não está ilustrada.)

Este cdf mostra que o valor mínimo na subimagem é 52 e o valor máximo é 154. O cdf de 64 para o valor 154 coincide com o número de pixels na imagem. O cdf deve ser normalizado para . A fórmula geral de equalização do histograma é:

onde cdf min é o valor mínimo diferente de zero da função de distribuição cumulativa (neste caso 1), M × N dá o número de pixels da imagem (para o exemplo acima de 64, onde M é a largura e N a altura) e L é o número de níveis de cinza usados ​​(na maioria dos casos, como este, 256).


Observe que para dimensionar valores nos dados originais que estão acima de 0 no intervalo de 1 a L-1, inclusive, a equação acima seria:

onde cdf (v)> 0. A escala de 1 a 255 preserva a não-zero-ness do valor mínimo.


A fórmula de equalização para os dados de escala de exemplo de 0 a 255, inclusive, é:

Por exemplo, o cdf de 78 é 46. (O valor de 78 é usado na linha inferior da 7ª coluna.) O valor normalizado torna-se

Feito isso, os valores da imagem equalizada são retirados diretamente do cdf normalizado para produzir os valores equalizados:

0 12 53 32 190 53 174 53
57 32 12 227 219 202 32 154
65 85 93 239 251 227 65 158
73 146 146 247 255 235 154 130
97 166 117 231 243 210 117 117
117 190 36 146 178 93 20 170
130 202 73 20 12 53 85 194
146 206 130 117 85 166 182 215

Observe que o valor mínimo (52) agora é 0 e o valor máximo (154) agora é 255.

JPEG example subimage.svg Exemplo de subimagem JPEG - equalized.svg
Original Equalizado
Gráfico para ilustrar o histograma equalization.svg Histograma equalization.svg
Histograma da imagem original Histograma de imagem equalizada

Imagem em tamanho real

Antes da equalização do histograma
Histograma correspondente (vermelho) e histograma cumulativo (preto)
Após a equalização do histograma
Histograma correspondente (vermelho) e histograma cumulativo (preto)

Veja também

Notas

Referências

links externos