210 likes | 324 Views
Correção de imagens de quadros do Portinari. Trabalho de Cores. Descrição do problema.
E N D
Correção de imagens de quadros do Portinari Trabalho de Cores
Descrição do problema • Os quadros do Projeto Portinari foram fotografados e digitalizados sob condições desconhecidas e a única referência confiável sobre as cores das imagens é a presença de um padrão de cores Kodak Q-14 em grande parte das imagens digitalizadas. • O Padrão Q-14 possui as seguintes amostras de cor: • 19 tons de cinza • 16 tons coloridos • Do padrão de cores Q-14 podemos obter: • Os valores RGB de cada uma das amostras de cor por medição direta nas imagens • Os valores colorimétricos XYZ ou Lab a partir de medidas espectrais diretas de outros padrões Kodak Q-14
Descrição do problema • Dada uma amostra de n cores na forma: • Descobrir os valores XYZ ou Lab correspondentes a todos os pixels da imagem • Converter os valores XYZ ou Lab de todos os pixels para valores RGB em algum espaço de cor padrão; como o sRGB, ProPhotoRGB ou AdobeRGB; para gerar uma imagem “bem comportada” para que possa ser editada ou impressa adequadamente
Mapeamento de RGB em XYZ/Lab • As operações de mapeamento entre os valores RGB em XYZ/Lab seguem a arquitetura do ICC (International Color Consortium) [1] usada nos perfis de cor • A sequência de operações é: • Aplicação de uma “Tone Response Curve” em cada um dos canais R, G e B isoladamente • Transformação do RGB resultante da etapa anterior em Lab através de uma matriz 3x3 • A matriz 3x3 converte para XYZ e depois as equações de XYZ para Lab são usadas • Correção dos valores Lab através de uma função discreta de interpolação Lab -> Lab
Tone Response Curve • O objetivo da Tone Reponse Curve é acertar mapemanto de cada canal R, G e B nos valores de luminância corretos • Isso é feito através de 3 splines cúbicas que corrigem os valores R, G e B para que fiquem proporcionais as coordenadas Y dos valores XYZ • Essas 3 splines são construídas a partir dos 19 tons de cinza do padrão Q-14 • As splines são:
Tone Response Curve • Os valores Y das splines são suavisados por um filtro de Savitzky-Golay [2] para obtenção de transições de tons mais suaves nas fotografias • Após a aplicação das “Tone Response Curves”, os tons neutros das imagens estão mapeados corretamente. Isto é, os tons de cinza da imagem tem a propriedade: • O mapeamento correto dos tons de cinza é a correção mais importante a ser feita de uma imagem e usualmente é a primeira etapa em muitos workflows de processamento de imagens
Mapeamento linear • O mapeamento linear obtém uma transformação linear entre os valores r’,g’ e b’ e os valores XYZ • Visando preservar o balanceamento dos tons de cinza obtido no “Tone Response Curve”, foi empregado o método “White-Point preserving Least Squares Regression” [3] que faz um mapeamento linear dos valores RGB em XYZ que mantém os tons de cinza neutros • Este método é uma variação da regressão de mínimos quadrados que atende a seguinte restrição: • Onde Xw, Yw, Zw são as coordenadas do white-point da imagem
Mapeamento linear • O mapeamento linear é construído da seguinte forma: • Os valores Lab de referência são obtidos pelas equações normais de conversão de XYZ de referência para Lab [4]:
Interpolação discreta • A interpolação discreta é feita a partir de funções radiais [5], que possuem a seguinte forma geral: • Onde ||x|| é a norma euclidiana de x, xi são os valores discretos e conhecidos de x e um exemplo de função radial é: • Onde α é uma constante
Interpolação discreta • Como temos que fazer um mapeamento do R3 no R3, na forma: • Precisamos de 3 funções radiais:
Função radial • Os coeficientes ci de cada uma das 3 interpolações são obtidos da seguinte forma: • Seja Vc um vetor formado pelos coeficientes ci e os vetores VL Va Vb formado pelas coordenadas L, a e b dos valores Lab de referência do RGB do target:
Função Radial • Seja MR a matriz obtida pela aplicação da função radial nas distâncias euclidianas entre todas as n coordenadas Lab obtidas a partir dos valores RGB do padrão Q-14:
Função Radial • Podemos dizer que: • Com isso:
Geração da imagem RGB corrigida • A partir dos valores Lab corrigidos, os valores XYZ corrigidos são obtidos: • A partir dos valores XYZ corrigidos, os valores RGB do espaço Prophoto são gerados, segundo a sua especificação [6] (anteriormente conhecido como ROMM RGB):
Geração da imagem RGB corrigida • O espaço Prophoto RGB foi escolhido por causa do seu grande gamut, visando evitar ao máximo clipping de cores durante o mapeamento XYZ para RGB final. • Em função do grande gamut e para evitar posterização nas imagens, o programa gerou imagens em 16 bits/pixel.
Testes com câmeras digitais Visando testar o procedimento de correção em um ambiente controlado, foi gerada uma imagem a partir de uma câmera digital contendo além do Target Q-14 da Kodak, o target ColorChecker SG da GretagMacbeth O Colorchecker SG foi especialmente desenvolvido para a medição de câmeras digitais e possui 140 cores cujos valores Lab são conhecidos O Colorchecker SG será usado para avaliar a precisão do procedimento de correção de cores
Depois Antes Antes de depois • As imagens antes e depois do processamento:
Medidas do teste • Foi avaliado o erro em cada uma das 140 amostras de cor do Colochecher SG • Também foi avaliado a neutralidade das cores dos tons de cinza • A fórmula do cálculo do erro é:
Resultados do teste • Resultado do teste nas 140 amostras
Comentários • O erro médio diminuiu a metade nos dois mapeamentos • O erro médio estando abaixo de 6 Delta-E é considerado aceitado pela indústria de reprodução gráfica • Embora o mapeamento radial apresente um erro médio um pouco superior ao mapeamento linear, o mapeamento radial apresenta um melhor mapeamento nos tons neutros
Referências [1] International Color Consortium, “Image technology colour management — Architecture, profile format, and data structure”, http://www.color.org/ICC1v42_2006-05.pdf [2] Press, William H. et al., “Numerical Recipes in C”, second edition, Cambridge University Press [3] Finlayson, Graham et al., “Constrained least-squares regression in color spaces”, Journal of Electronic Imaging 6(4), Outubro de 1997 [4] http://www.brucelindbloom.com/index [5] Qiao, Yue et al., “Developing a Computational Radial Basis Function (RBF) Architecture for Nonlinear Scattered Color Data, 22nd International Conference on Digital Printing Technology, Society for Imaging Science and Technology, 2006 [6] http://www.color.org/rommrgb.pdf