Fundamentos da Computação Gráfica Trabalho 1 – Cor Eduardo Telles Carlos Paulo Ivson Netto...
Transcript of Fundamentos da Computação Gráfica Trabalho 1 – Cor Eduardo Telles Carlos Paulo Ivson Netto...
Fundamentos da Computação Gráfica
Trabalho 1 – Cor
Eduardo Telles CarlosPaulo Ivson Netto Santos
Conteúdo
Metodologia Utilizada Conversão Adobe RGB ↔ Lab Obtenção das Amostras Funcionamento do Programa Resultados
Metodologia Utilizada
Transformações de espaços de cor Adobe RGB 1998 CIE Lab
Aproximação de uma função de correção Rede Neural
Redes Neurais Interpolador de funções
Lineares Não-lineares
Treinamento Entrada: amostras incorretas Saída: valores esperados para cada amostra
Rede utilizada só trabalha com valores [0,1] Todas as entradas e saídas foram escaladas
Mínimo: 0.1 Máximo: 0.9
Rede Neural - Funcionamento
Conversão Adobe RGB → Lab
`
`
`
0.991248 0.0752847 0.188212
0.0706879 0.627355 0.185556
0.0270328 0.297361 0.576700
B
G
R
Z
Y
X
Referências: Adobe RGB (1998) Color Image Encoding
www.brucelindbloom.com
Adobe RGB XYZ LABAdobe RGB (D65) white point0.950455, 1.000000, 1.089050
19921875,21' RR 19921875,21' GG
19921875,21' BB
2551*RR 2551*GG
2551*BB
Conversão Lab → Adobe RGB
Z
Y
X
B
G
R
1.01517 0.11836- 0.01344
0.04156 1.87597 0.96924-
0.34473- 0.56501 - 2.04159
'
'
'
Referências: Adobe RGB (1998) Color Image Encoding
www.brucelindbloom.com
Adobe RGBXYZLAB
Adobe RGB (D65) white point0.950455, 1.000000, 1.089050
19921875,21'RR
19921875,21'BB
19921875,21'GG
Obtenção de Amostras
1. Entradas incorretas para treinamento Cores e cinzas da imagem de referência
Isolar amostras de cada cor Em Adobe RGB 1998 Convertidas para Lab durante carregamento
2. Saídas corretas para treinamento Cores e cinzas dos espectros medidos
Converter para Lab e Adobe RGB 1998 Adaptação Cromática
Obtenção de Amostras1. Separação das cores de referência
• Photoshop• Recorte manual de cada cor / cinza• Salvos em imagens separadas
Adobe RGB 1998 Formato TIFF
Cores Tons de Cinza
Obtenção de Amostras
Observações Referência em JPEG Quantidades diferentes de amostras de cada
cor Color-bleeding entre uma amostra e outra Pouca variação nos tons de cinza mais escuros
Obtenção de Amostras
2. Conversão dos espectros de referência• Cores
Lab Adobe RGB
• Tons de cinza Lab Adobe RGB
Obtenção de Amostras Criação de 4 arquivos em formato texto
Gray_00 244 245 242Gray_01 223 221 216Gray_02 199 197 193Gray_03 180 178 176Gray_04 160 158 157Gray_05 145 144 142Gray_06 129 128 126Gray_07 117 116 115Gray_08 103 103 103Gray_09 95 95 94Gray_10 85 85 85Gray_11 76 76 76Gray_12 69 69 69Gray_13 62 62 62Gray_14 56 56 56Gray_15 50 50 50Gray_16 45 45 45Gray_17 41 41 41Gray_18 37 37 38Gray_19 33 33 34
Black 22.33 -2.87 -4.93Black_Light 76.80 -0.28 2.08Blue 28.80 22.53 -43.98Blue_Light 72.56 10.47 -16.62Cyan 62.73 -30.84 -41.86Cyan_Light 87.66 -11.41 -12.26Green 54.72 -67.05 31.03Green_Light 84.54 -21.20 20.62Magenta 48.83 73.94 -5.27Magenta_Light 80.38 25.41 -4.33Red 47.57 66.28 40.29Red_Light 77.92 19.67 23.10White 99.50 -0.41 2.69Yellow 92.32 -10.04 94.50Yellow_Light 96.90 -7.13 34.86
Exemplo Gray_AdobeRGB Exemplo Color_Lab
Obtenção de Amostras
Observações Conversão através de planilhahttp://www.brucelindbloom.com/downloads/SpectralCalculator10nm.xls.zip
Espectro limitado a 380nm – 730nm Lab D65 (6500K) Cores não totalmente “puras”
Tons de cinza com RGB diferentes e a*b* diferentes de zero
Funcionamento do Programa Treinamento
Abre imagens de amostras de cores / cinzas Converte pixels para Lab se necessário
Abre arquivos .txt com valores de referência Em RGB ou Lab
Treina redes neurais com estes dados Entrada: amostras de cores / cinzas Avaliação de erro (média da distância euclidiana entre
entrada e saída) Saída: valores de referência
Várias amostras correspondem a uma mesma saída!
Funcionamento do Programa Conversão da imagem
Abre imagem a ser convertida Para cada pixel
Converte para Lab se necessário Insere entradas na rede neural já treinada Obtém saída da rede Converte de volta para Adobe RGB se necessário Atualiza valores do pixel
Redes Utilizadas 8 métodos de conversão diferentes
Combinações de entradas e saídas Espaço de cor utilizado 2 técnicas de treinamento
Todas as redes possuem Três camadas
Entrada Hidden → sempre 9 neurônios Saída
REDEL* L REDELab
a REDE bLab
L* - tons de cinza Erro L: 4,999% Erro a: 2,679% Erro b: 3,114%
REDEL* L
L* - tons de cinza Erro L: 4.988%
REDEab
a REDE bab
Erro a: 2.679% Erro b: 3.114%
REDEL* L REDEa a REDE bb
L* - tons de cinza Erro L: 4.909% Erro a: 2.748% Erro b: 2.291%
REDELab
Lab
Erro Lab: 3.274%
REDERGB
R REDE G REDE BRGB
RGB
Erro R: 1.617% Erro G: 3.904% Erro B: 3.341%
REDE REDE REDER G BR G B
Erro R: 1.978% Erro G: 4.153% Erro B: 3.331%
REDERGB
RGB
Erro RGB: 4.505%
REDELab
RGB
Erro RGB: 4.013%
Conclusão Muitas variáveis a serem testadas
Função de ativação Topologia da rede Número de neurônios Estimativa de erro Número de treinamentos
Número de amostras de entrada Amostras em TIFF Cores de referência Conversão de Adobe RGB para Lab introduz erro
Bibliografia www.brucelindbloom.com
Introduction to Backpropagation Neural Networks
http://www.adobe.com/digitalimag/pdfs/AdobeRGB1998.pdf
Usui S., Arai Y., Nakauchi S. Neural networks for device-independent digital color imaging(2000) Information sciences, 123 (1), pp. 115-125.
Vrhel, M. J. and Trussell, H. J. Color Scanner Calibration via a Neural Network. IEEE ICASSP’99, Vol.6, pp. 3465-3468, 1999.