Che cos'è una buona metrica di somiglianza dei colori?


8

Ho alcuni colori in RGB in [0,1] e voglio trovare un modo per valutare la loro somiglianza, come percepito da un essere umano.

Ho in mente due idee, ma sono sicuro che ci sono anche altre opzioni, ma non sono sicuro di quale sia la migliore, o se forse non c'è la migliore, ma solo compromessi.

La mia prima idea è di trattare i colori RGB come punti XYZ e calcolare la loro distanza.

Un'altra idea che ho è quella di trattare i valori RGB come un istogramma e utilizzare il prodotto punto per ottenere un valore di somiglianza tra loro, dove un valore maggiore è migliore.

So comunque che non tutti i canali di colore hanno la stessa luminosità percepita, quindi forse dovrei ponderare i canali di colore in modo diverso per entrambi i casi?

Sto anche pensando che forse avrei bisogno di fare la correzione sRGB sui valori di colore (come, sqrt ogni canale di colore).

So anche che esistono altri spazi colore, quindi forse uno di questi sarebbe migliore nel dare un valore di somiglianza.

Un'altra sfida potrebbe essere che display diversi mostreranno gli stessi valori di colore in modo diverso. Non sono sicuro che sia rilevante in questo caso.

Qualcuno in grado di fornire aiuto / indicazioni?


4
Hai dato un'occhiata a questo ? RGB non è un grande spazio colore per fare confronti relativi alla percezione umana.
assi

Buone informazioni grazie! Stavo guardando cielab ma quell'articolo dice che non è il migliore. Sfortunatamente sto lavorando con i dati sorgente RGB, quindi devo capire come convertire da RGB a qualcosa di meglio, ma la sfida sembra essere che RGB dipende dal dispositivo, mentre ad esempio cielab no. Fortunatamente, un'approssimazione minore è abbastanza buona per le mie esigenze, se l'indipendenza del dispositivo non è realmente fattibile con i dati sorgente RGB.
Alan Wolfe,

Dai un'occhiata al sito di Bruce Lindbloom, in particolare le varie metriche DeltaE: brucelindbloom.com
David Kuri,

Esiste un intero pacchetto Python per la scienza del colore che include alcune trasformazioni: colour-science.org .
KAE,

Risposte:


3

Ho alcuni colori in RGB in [0,1] e voglio trovare un modo per valutare la loro somiglianza, come percepito da un essere umano.

Questo è un argomento enorme, e vagamente si trova sotto lo stendardo dei modelli di aspetto del colore . Perché non è strettamente una formazione più semplice è dovuta alla natura psicofisica del colore in quel colore che non esiste oltre l'organismo umano.

La mia prima idea è di trattare i colori RGB come punti XYZ e calcolare la loro distanza.

Un'altra idea che ho è quella di trattare i valori RGB come un istogramma e utilizzare il prodotto punto per ottenere un valore di somiglianza tra loro, dove un valore maggiore è migliore.

So comunque che non tutti i canali di colore hanno la stessa luminosità percepita, quindi forse dovrei ponderare i canali di colore in modo diverso per entrambi i casi?

Il miglior consiglio è che, proprio come la crittografia, non è il tuo; è probabile che arrivi a un sistema subottimale che, nel migliore dei casi, colpirà i muri già colpiti da altri ricercatori sul campo. Se basi il tuo lavoro su modelli e ricerche esistenti, potresti trovarlo più accurato per le tue esigenze [1].

Uno potrebbe indicare gli sviluppi storici intorno alle CAM, ma è più facile qui suggerire di ricercare il modello di codifica del colore IPT e il suo equivalente cilindrico che modella la colorazione e la tonalità come un angolo. Le evoluzioni del modello IPT superano la maggior parte dei problemi del precedente modello Lab e semplificano parte del lavoro coinvolto in CIECAM02.

Un'altra sfida potrebbe essere che display diversi mostreranno gli stessi valori di colore in modo diverso. Non sono sicuro che sia rilevante in questo caso.

IPT, e ogni spazio colore RGB per quella materia, sono ancorati nella ricerca CIE del 1931. Pertanto, questo tipo di problemi viene risolto a un livello inferiore.

[1] Questa risposta estesa è dovuta al commento di Mr. Wolfe qui sotto nel tentativo di spiegare perché realizzare la propria soluzione potrebbe essere un approccio non ottimale.


3
Scoraggiare le persone dalla sperimentazione in grafica e metterlo alla pari con la spedizione di algoritmi crittografici realizzati a mano è ridicolo.
Alan Wolfe,

@AlanWolfe Dato che ci sono alcuni tipi di dottorato estremamente brillanti là fuori che hanno già trascorso innumerevoli ore e sforzi per risolvere i problemi nella domanda originale, trovo il tuo contesto ridicolo ridicolo. Non scoraggiare uno dal riempire gli stivali e tentare di reinventare la ruota.
troy_s,

Dovresti ascoltare i semplici hack raccomandati dai ricercatori grafici attivi. Come "dot product RGB, funziona davvero incredibilmente bene" di Peter Shirley.
Alan Wolfe,

2
Sono passato ma c'è l'applicazione del collasso della funzione d'onda per la creazione di immagini procedurali e contenuti. Funziona in parte con la corrispondenza esatta dei pixel, quindi funziona meglio con la pixel art. Stavo cercando di vedere un abbinamento più morbido da utilizzare con immagini più realistiche o regole di contenuto procedurale meno rigide. Dai un'occhiata a questo link per la cosa di base: github.com/mxgmn/WaveFunctionCollapse
Alan Wolfe,

2
Non è il mio lavoro ma stavo cercando di estenderlo. Sono assolutamente d'accordo, è roba fantastica! Fuori tema ma ecco il mio lavoro non correlato hehe. blog.demofox.org/2016/02/22/…
Alan Wolfe,

4

Se la metrica complessa è accettabile, suggerirei di esaminare l'approccio basato sulla percettiva qui descritto . La metrica è progettata per selezionare la differenza percettiva di due immagini. Esistono due test principali per questo: basato sulla luminanza e basato sul colore. Il primo consente di rispondere alla domanda quanto sia importante il cambiamento di luminanza stimando un fattore di soglia non uniforme basato sulla sensibilità alle variazioni di contrasto a seconda delle frequenze spaziali dell'immagine. Il secondo si basa sulla distanza euclidea nello spazio colore CIE LAB, ma leggermente modificato per rendere meno importante la differenza di colore quando la luminanza è in intervalli mesopici e scotopici. Un elenco di articoli relativi a tale metrica è disponibile qui .


3
Benvenuti in Computer Graphics SE! In generale, le risposte di solo collegamento sono fortemente scoraggiate su SE, perché potrebbero diventare inutili se tali collegamenti dovessero mai scendere. Ti preghiamo di includere un breve riassunto del loro contenuto, in modo che le persone possano ancora capire cosa stai suggerendo esattamente senza dover fare affidamento sui link.
Martin Ender,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.