Como funciona a pontuação
Cada palpite é pontuado de 0 a 100 com base na distância perceptiva entre seu palpite e a cor alvo, calculada com a fórmula CIEDE2000 ΔE.
Atualizado
A versão curta
Medimos a diferença entre seu palpite e o alvo usando CIEDE2000 ΔE, e depois mapeamos essa diferença para uma pontuação de 0 a 100 por uma curva de decaimento exponencial. Menor ΔE = palpite mais próximo = pontuação mais alta. Uma correspondência perfeita pontua 100; lados opostos do espaço de cor pontuam 0.
O que é ΔE?
ΔE (delta-E) é a forma padrão como cientistas do color medem o quanto duas cores parecem diferentes ao olho humano. A maneira ingênua de comparar cores — distância euclidiana no espaço RGB — produz resultados que não soam certos, porque o olho humano não é igualmente sensível a todas as matizes. Conseguimos distinguir dois verdes ligeiramente diferentes muito mais facilmente do que dois azuis ligeiramente diferentes, por exemplo.
A fórmula CIEDE2000, publicada em 2001 pela Comissão Internacional de Iluminação (CIE), corrige essas peculiaridades perceptivas trabalhando no espaço de cor CIE Lab e aplicando funções de ponderação para luminosidade, croma e matiz. Nossa implementação segue o artigo canônico de Sharma, Wu e Dalal (2005), que fornece os dados de teste suplementares contra os quais as implementações são validadas.
Calibração de ΔE para pontuação
ΔE é um número real ilimitado (0 = idênticos, sem limite superior fixo). Para transformá-lo numa pontuação amigável de 0 a 100, aplicamos um decaimento exponencial:
score = round(100 × e^(−ΔE / 28))
A constante de decaimento (28) é ajustada empiricamente para que palpites "muito próximos" ainda se sintam recompensados e palpites "muito distantes" ainda registrem acima de zero na maioria dos casos. Mapeamento linear produz uma longa cauda frustrante em que quase todos os palpites pontuam perto de zero; o decaimento exponencial dá um gradiente satisfatório em toda a faixa.
| ΔE | Pontuação | Significado |
|---|---|---|
| 0 | 100 | Idênticos |
| ≈ 2 | 96 | Mal perceptível a um olho treinado |
| ≈ 5 | 86 | Diferença visível, muito perto |
| ≈ 10 | 70 | Claramente diferentes, mas relacionados |
| ≈ 25 | 30 | Família diferente, zona de matiz similar |
| ≈ 50 | 5 | Muito errado |
| 100+ | 0 | Extremos opostos do espaço |
Bandas de pontuação
As pontuações são agrupadas em quatro bandas para a grade de compartilhamento e o histograma de estatísticas. Os limiares se alinham com a calibração de ΔE acima — verde é "olho treinado não nota", preto é "muito errado".
| Banda | Faixa | Rótulo |
|---|---|---|
| green | 90+ | Excelente |
| yellow | 70–89 | Bom |
| orange | 40–69 | Errado |
| black | 0–39 | Muito longe |
Por que não distância RGB?
Um esquema de pontuação ingênuo poderia comparar os valores RGB diretamente: somar as diferenças ao quadrado nos canais vermelho, verde e azul, tirar a raiz quadrada, pronto. Tentamos. Não soa certo, porque o espaço RGB não é perceptivamente uniforme. Dois amarelos que parecem quase idênticos podem ter uma distância RGB maior do que dois roxos que parecem completamente diferentes. Os jogadores seriam punidos por palpites "obviamente próximos" e recompensados por outros que parecem muito errados.
CIEDE2000 corrige isso convertendo primeiro as duas cores para o espaço CIE Lab e depois calculando a distância com funções de ponderação que consideram matiz, croma e luminosidade. O resultado acompanha a percepção humana o suficiente para que os valores de ΔE possam ser interpretados como julgamentos subjetivos de "quão diferentes essas cores parecem".
Fonte e referência
Sharma, G., Wu, W., & Dalal, E. N. (2005). The CIEDE2000 color-difference formula: Implementation notes, supplementary test data, and mathematical observations. Color Research & Application, 30(1), 21–30.