1 / 35

Quantização de Cores por GNG

Quantização de Cores por GNG. Aurélio Moraes Figueiredo . Quantização. Processo de representar imagens do tipo “true color” utilizando um número reduzido de cores se comparado ao número de cores original.

gayora
Télécharger la présentation

Quantização de Cores por GNG

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Quantização de Cores por GNG Aurélio Moraes Figueiredo

  2. Quantização • Processo de representar imagens do tipo “true color” utilizando um número reduzido de cores se comparado ao número de cores original. • Imagens do tipo “true color” são representadas a taxa de 24bit/pixel, componentes vermelho, verde e azul (modo RGB). • O número máximo de cores distintas de uma determinada imagem seria 224 ~ 16.8 milhões de cores.

  3. Quantização - Vantagens • O processo reduz a quantidade requerida de memória e o tempo de transferência de uma determinada imagem. • Extremamente importante em aplicações multimídia de maneira geral (uso na Internet, etc.). • Pode ser perfeitamente utilizado como uma etapa de pré-processamento para um determinado algoritmo de compactação a ser utilizado.

  4. Objetivo • Estudo de técnicas conhecidas de Machine Learning aplicadas ao problema de quantização (GNG). • As técnicas são aplicadas a um benchmark de imagens já utilizado em artigos, e seus resultados são comparados a resultados já obtidos por outras técnicas. • Cada uma das imagens foi quantizada a 256, 128, 64, 32, e 16 cores. • O critério de comparação adotado foi o erro médio quadrático.

  5. 102 104 106 108 1010 1012 1014 1016 1018 1020 Micro-Ondas Ultra-Violeta FM,TV rádioAM RaiosX Infra-Vermelho 106 104 102 10 10-2 10-4 10-6 10-8 10-10 10-12 vermelho (4.3 1014Hz), laranja, amarelo,..., verde, azul, violeta (7.51014Hz) Luz e Cor Onda eletro-magnética f (Hertz) l (m) VISÍVEL

  6. Luz branca Newton vermelho alaranjado amarelo verde azul violeta luz branca prisma Corl Violeta 380-440 nm Azul 440-490 nm Verde 490-565 nm Amarelo 565-590 nm Laranja 590-630 nm Vermelho 630-780 nm 1 nm = 10-9 m luz branca (acromática) tem todos os comprimentos de onda

  7. Representação perceptual da cor CIE RGB R = 700 nm G = 546 nm B = 435.8 nm r(l) R g(l) G b(l) B Cor Monocromática C(l) C(l ) = r(l) R + g(l) G + b(l) B

  8. 400 500 600 700 Componentes das cores monocromáticas- RGB - C(l ) = r(l) R + g(l) G + b(l) B 0.4 b(l ) r(l ) g(l ) 0.2 Valores dos tri-esimulos l (nm) 0 438 nm 546 nm r(l ) - 0.2 Combinação de três cores (RGB) para reproduzir as cores espectrais

  9. Processo aditivo para formação de cor G processo aditivo Y verde 1.0 amarelo W C branco ciano vermelho K preto 1.0 R normalmente temos 1 byte para cada componente mapeando [0, 255] em [0,1] azul M 1.0 magenta B

  10. pixel Formação de imagens

  11. Imagem RGB

  12. Imagem RGB

  13. Canal R

  14. Canal G

  15. Canal B

  16. Canais RGB

  17. Quantizaçao 16 Cores 4.000 Cores

  18. Quantizaçao 64 Cores 4.000 Cores

  19. Quantizaçao 256 Cores 4.000 Cores

  20. GNG (Growing Neural Gas): • Em métodos de aprendizado não supervisionado somente os dados de entrada estão disponíveis, e não existe nenhuma informação a respeito das saídas desejadas. • Um objetivo possível é o de obter redução de dimensionalidade dos dados de entrada, encontrar um sub-espaço de menor dimensão que represente a maior parte ou todo o conjunto de dados. • Diminuir o número de amostras de um determinado conjunto de dados. • Dependendo da relação existente entre a dimensionalidade dos dados de entrada e dos dados da saída, alguma informação pode ser perdida durante o processo.

  21. GNG (Growing Neural Gas Algorithm):http://www.ki.inf.tu-dresden.de/~fritzke/ O algoritmo é descrito abaixo: • Passo 0: • Iniciar com duas unidades a e b com vetores posição aleatórios Wa e Wb em Rn; • Passo 1: • Escolher uma amostra da ser treinada segundo a distribuição de probabilidades do conjunto de amostras; • Passo 2: • Encontrar, dentre as unidades disponíveis, as duas unidades mais próximas da amostra de entrada, S1 e S2;

  22. GNG (Growing Neural Gas Algorithm): • Passo 3: • Incrementar o peso de todas as arestas que tenham S1 como um de seus vértices; • Passo 4: • Adicionar a distância quadrada existente entre a amostra sendo treinada e a unidade mais próxima dessa amostra ao acumulador de erros do neurônio:

  23. GNG (Growing Neural Gas Algorithm): • Passo 5: • Mover a unidade S1 e seus vizinhos topológicos na direção da amostra sendo treinada, por frações iguais a eb e en respectivamente: • Passo 6: • Caso as unidades S1 e S2 estejam conectadas por arestas, essa aresta deve receber 0 (zero) como peso; • Passo 7: • Remover todas as arestas que possuam peso maior que Amax. Caso após a remoção das arestas alguma das unidades fique sem arestas, remover essa unidade da rede;

  24. GNG (Growing Neural Gas Algorithm): • Passo 8: • Caso o número de amostras já treinadas seja igual a λ, inserir uma nova unidade na rede da seguinte maneira: • Determinar a unidade q que possui o maior erro acumulado; • Inserir uma unidade r entre a unidade q e o seu vizinho topológico de maior erro acumulado f; • Os pesos iniciais de r terão, portanto, a seguinte configuração: • Inserir arestas conectando a nova unidade criada r às duas unidades através das quais r foi gerada; • Decrementar o erro das unidades q e f multiplicando esses error pela constante a. Inicializar o erro acumulado da nova unidade r como sendo o novo valor de erro da unidade q;

  25. GNG (Growing Neural Gas Algorithm): • Passo 9: • Decrementar os erros de todas as unidades existentes multiplicando seus erros acumulados por uma constante d; • Passo 10: • Caso o critério de parada seja atingido (ex: caso o número de unidades existentes na rede seja alcançado), o treinamento está completo. Caso contrário, voltar ao passo 1. Um exemplo de execução do algoritmo pode ser visto aqui. Os parâmetros de entrada para esse caso foram: λ=100, eb=0.2, en=0.006, a=0.5, Amax=50, d=0.995:

  26. λ=100, eb=0.2, en=0.006, a=0.5, Amax=50, d=0.995:

  27. Resultados obtidos com o GNG

  28. Peppers 111334 Cores 256 Cores Erro * 500

  29. Mandrill 230651 Cores 256 Cores Erro * 500

  30. Airplane 77274 Cores 256 Cores Erro * 500

  31. Lena 148279 Cores 256 Cores Erro * 500

  32. Sailboat 168627 Cores 256 Cores Erro * 500

  33. Resultados do GNG: • Método iterativo, os parâmetros são ajustados caso a caso para o melhor resultado. • Para o caso geral verificou-se que uma boa configuração seria: λ=200, eb=0.2, en=0.006, a=0.5, Amax=50, d=0.995 • A variação de λ foi a que produziu as diferenças mais significativas.

  34. Resultados Comparativos

  35. Trabalhos Anteriores

More Related