Fundamentos da
Computação Gráfica
Trabalho 1 – Cor
Eduardo Telles Carlos
Paulo 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



Treinamento



Lineares
Não-lineares
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
Adobe RGB
XYZ
LAB
Adobe RGB (D65) white point
0.950455, 1.000000, 1.089050
R  R *1 255
G  G *1 255
B  B *1 255
R '  R1 2,19921875
`
 X  0.576700 0.297361 0.0270328  R 

Y   0.185556 0.627355 0.0706879 G ` 
  
 
Z  0.188212 0.0752847 0.991248  B ` 
 
G '  G1 2,19921875
B '  B1 2,19921875
Referências: Adobe RGB (1998) Color Image Encoding
www.brucelindbloom.com
Conversão
Lab
→
Adobe
RGB
LAB
XYZ
Adobe RGB
Adobe RGB (D65) white point
0.950455, 1.000000, 1.089050
 R '  2.04159 - 0.56501 - 0.34473  X 
 ' 
 
G   - 0.96924 1.87597 0.04156  Y 
 B '  0.01344 - 0.11836 1.01517  Z 
 
  
RR
'1 2,19921875
G G
BB
Referências: Adobe RGB (1998) Color Image Encoding
www.brucelindbloom.com
'1 2,19921875
'1 2,19921875
Obtenção de Amostras
Entradas incorretas para treinamento
1.
Cores e cinzas da imagem de referência




Isolar amostras de cada cor
Em Adobe RGB 1998
Convertidas para Lab durante carregamento
Saídas corretas para treinamento
2.
Cores e cinzas dos espectros medidos



Converter para Lab e Adobe RGB 1998
Adaptação Cromática
Obtenção de Amostras
Separação das cores de referência
1.
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
Conversão dos espectros de referência
2.
Cores
•


Lab
Adobe RGB
Tons de cinza
•


Lab
Adobe RGB
Obtenção de Amostras

Criação de 4 arquivos em formato texto
Exemplo Gray_AdobeRGB
Gray_00
Gray_01
Gray_02
Gray_03
Gray_04
Gray_05
Gray_06
Gray_07
Gray_08
Gray_09
Gray_10
Gray_11
Gray_12
Gray_13
Gray_14
Gray_15
Gray_16
Gray_17
Gray_18
Gray_19
244
223
199
180
160
145
129
117
103
95
85
76
69
62
56
50
45
41
37
33
245
221
197
178
158
144
128
116
103
95
85
76
69
62
56
50
45
41
37
33
242
216
193
176
157
142
126
115
103
94
85
76
69
62
56
50
45
41
38
34
Exemplo Color_Lab
Black
Black_Light
Blue
Blue_Light
Cyan
Cyan_Light
Green
Green_Light
Magenta
Magenta_Light
Red
Red_Light
White
Yellow
Yellow_Light
22.33
76.80
28.80
72.56
62.73
87.66
54.72
84.54
48.83
80.38
47.57
77.92
99.50
92.32
96.90
-2.87
-0.28
22.53
10.47
-30.84
-11.41
-67.05
-21.20
73.94
25.41
66.28
19.67
-0.41
-10.04
-7.13
-4.93
2.08
-43.98
-16.62
-41.86
-12.26
31.03
20.62
-5.27
-4.33
40.29
23.10
2.69
94.50
34.86
Obtenção de Amostras
Observações

Conversão através de planilha

http://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
L*
REDE
L
L a
b
L* - tons de cinza
REDE
a
L
a
b
REDE
b
Erro L: 4,999% Erro a: 2,679% Erro b: 3,114%
L*
REDE
L
L* - tons de cinza
a
b
REDE
a
a
b
REDE
b
Erro L: 4.988% Erro a: 2.679% Erro b: 3.114%
L*
REDE
L
L* - tons de cinza
a
REDE
a
b
REDE
b
Erro L: 4.909% Erro a: 2.748% Erro b: 2.291%
L
a
b
REDE
L
a
b
Erro Lab: 3.274%
R
G
B
REDE
R
R
G
B
REDE
G
R
G
B
REDE
B
Erro R: 1.617% Erro G: 3.904% Erro B: 3.341%
R
REDE
R G
REDE
G
B
REDE
B
Erro R: 1.978% Erro G: 4.153% Erro B: 3.331%
R
G
B
REDE
R
G
B
Erro RGB: 4.505%
L
a
b
REDE
R
G
B
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 deviceindependent 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.
Download

FCG.-.Trab1.Cor.Edua.. - PUC-Rio