Adobe Camera Raw: fedeltà con il DNG Profile Editor


8 Agosto 2009
Autore: Marco Noldin

Sei il visitatore numero 14406


1. Introduzione

Con la versione di Camera Raw 4.5 e Lightroom 2, Adobe ha introdotto un nuovo tipo di profilo di fotocamera chiamato DNG Camera Profile e un modulo dedicato alla loro personalizzazione, il DNG Profile Editor. La combinazione dei due elementi offre possibilità prima impensabili.
La stessa Adobe ha dato saggio delle potenzialità fornendo dei profili modificati in modo da replicare il comportamento del software della fotocamera e dei raw converter proprietari. Questi profili introducono un nuovo concetto di “look” che storpia l’idea di fedeltà tipica dei profili tradizionali. In questo frangente però, rivisiterò proprio il concetto classico di profilo alla luce delle nuove possibilità, cioè la ricerca della fedeltà alla scena, che nei raw converter Adobe (non usano i profili ICC) è garantita per ogni condizione di luce standard. Ritengo per vari motivi che questa sia la strada da percorrere prima di considerare sperimentazioni di storpiamento.

Nell’articolo parlerò di Adobe Camera Raw (ACR) ma gli stessi concetti si applicano ugualmente a Lightroom.




2. L’idea di fedeltà

Per fedeltà s’intende la capacità di un sistema di riprodurre un colore così come è nella realtà. La procedura per raggiungere quest’intento è partire con una serie di campioni di colore (Colorchecker 24 patch), si misurano i campioni con uno spettrofotometro, si passano i dati ad un software e questo calcola i valori di colore dei campioni in una data condizione di luce secondo un modello matematico (coordinate colorimetriche ideali).

Conoscendo i valori di colore ideali, si va poi a editare il profilo della fotocamera e si fa in modo che il raw converter quando apre l’immagine del target restituisca valori di colore più vicino possibile ai valori di colore ideali derivati dalla misurazione del target.




3. I profili DNG

Per capire il metodo seguito vediamo in sintesi come sono strutturati i profili DNG. Per ulteriori dettagli si rimanda a questa serie di post sul blog di Mauro Boscarol.

Ogni profilo di fotocamera è composto da due matrici di caratterizzazione che descrivono il comportamento generico di quel modello di fotocamera in condizioni di luce al tungsteno (2850K) e in condizioni di luce diurna (6500K). Partendo da queste due matrici ACR calcola i colori della scena tramite interpolazione o estrapolazione in base al tipo di luce che illuminava la scena catturata. L’informazione sul tipo di luce è ricavata dalla posizione del cursore di Temperatura e Tinta impostati dall’utente nell’interfaccia del raw converter.

Per personalizzare il profilo generico sul proprio esemplare di fotocamera, il DNG Profile Editor offre due possibilità che possono essere usate singolarmente, o una o l’altra, oppure in sinergia, a cascata.

La prima possibilità è stata già proposta in precedenza con i cursori del tab Calibrazione Fotocamera di Camera Raw che sono riportati nel tab Color Matrices del nuovo modulo; l’impostazione che offre il miglior compromesso si trova utilizzando gli appositi script di calibrazione. Quest’intervento varia la risposta del profilo in modo globale e lineare.

La seconda possibilità sono le nuove tavole HSL 2.5D presenti nel tab Color Tables del modulo. Queste al contrario della calibrazione agiscono “settorialmente”, cioè variano la cromaticità (tinta + saturazione) di determinate zone del profilo definite dall’utente.

Per lo scopo che mi sono prefissato, ho usato entrambe le tavole messe a disposizione dal modulo per i due illuminanti di riferimento, in modo da generare un profilo valido in tutte le condizioni d’illuminazione standard.

Da ricordare che la calibrazione e le modifiche globali intervengono prima delle tabelle HSL per le modifiche settoriali.

In realtà oltre alle due tavole HSL 2.5D i nuovi profili DNG contengono anche una tavola HSL 3D che Adobe usa per i maquillage. Questi interventi non correggono solo la cromaticità dei colori (tinta + saturazione) ma operano delle modifiche sui colori veri e propri (tinta + saturazione + chiarezza), cioè interventi dipendenti anche dalla chiarezza di un colore, ma per ora questa tavola è accessibile solo ad Adobe.




4. Le differenze operative

Alla luce del DNG Profile Editor e della nuova politica Adobe ci si può chiedere: “Serve ancora la calibrazione?”. Questo è un punto critico.

Sia la calibrazione che le tavole HSL sono state implementate con un unico scopo: adattare il profilo a particolari esigenze, nel nostro caso la ricerca della fedeltà. Se però l’intento è lo stesso, a fare la differenza è il modo con cui lo fanno.

Consideriamo il punto di partenza: da un punto di vista colorimetrico di solito un profilo presenta zone corrette e zone che lo sono meno con vari stadi di gravità.

La calibrazione, manipolando le coordinate di cromaticità dei tre primari, opera una sorta di bilanciamento globale dell’errore su tutte le zone del profilo. A fine processo quindi, non esisteranno più grosse imprecisioni da nessuna parte ma, e qui sta lo svantaggio, le zone che erano corrette a fine intervento possono esserlo meno. Queste zone sono state parzialmente sacrificate dalla calibrazione a favore di altre aree dove il profilo era seriamente bisognoso.

Le tavole HSL concettualmente sono l’esatto opposto della calibrazione, non si occupano di bilanciamenti globali, ma prendono zone confinate del profilo e le “tirano” di qua o di là, lasciando gli altri settori inalterati. Se il vantaggio sta appunto nel poter correggere con più precisione determinati settori del profilo senza la paura di alterarne altri, le tavole hanno anche dei limiti abbastanza pesanti:

  • a fine intervento potrebbero rimanere nel profilo delle zone problematiche che non sono state prese in considerazione dall’utente.
    Per questo si potrebbero prendere più campionamenti, ma qui sorge l’effetto collaterale che ha determinato il mio metodo: andando a stirare e a comprimere determinate zone del profilo, quando tali zone vengono successivamente espanse in un’immagine lungo un range tonale abbastanza esteso, si potrebbero evidenziare dei fenomeni di posterizzazione e l’immagine risulterebbe rovinata. Infatti i nostri occhi perdonano più l’accuratezza assoluta nella tinta, nella saturazione o nella chiarezza di un colore piuttosto che una mancanza di continuità nei passaggi tonali.
    Così, più campionamenti abbiamo e più li stiriamo più alta diventa la probabilità di incorrere nella posterizzazione. La calibrazione invece per sua natura è esente da questo inconveniente.

  • gli interventi delle tavole non si basano sui valori di colore dei campioni, ma sulla loro cromaticità, che è il colore a meno della luminanza. Questo significa che patch visivamente molto diverse, tipo la pelle bianca e nera, vengono considerate dal modulo praticamente uguali in quanto le due patch si differenziano principalmente per la luminanza. Questo significa punti troppo vicini sulla ruota delle cromaticità e quindi la possibilità di provocare inconsapevolmente dei danni al profilo se interveniamo in maniera troppo decisa alla ricerca della precisione colorimetrica assoluta.
  • non tenendo in considerazione la luminanza dei campioni, se andiamo ad agire sul cursore Lightness modifichiamo tutti i valori di colore con quella cromaticità ma con luminanze diverse, dal più chiaro al più scuro basandoci su un solo campione, e questo vuol dire editare “alla cieca”. Per questo ho evitato interventi sui cursori Lightness. Questo è anche il motivo per il quale vengono chiamate tavole 2.5D.


Riassumendo, per l'uso delle tavole si raccomanda di:

1. limitare il numero degli ancoraggi a non più di 18-20
2. lasciare una certa distanza tra un ancoraggio e l'altro
3. evitare grossi interventi
4. evitare di usare il cursore Lightness.




5. Il metodo

Sono partito da un profilo “acqua e sapone” del vecchio tipo dove non erano ancora stati introdotti i citati maquillage, infatti il profilo ver. 4.4 usato è composto dalle sole matrici di caratterizzazione che avevano l’intento di ricostruire colorimetricamente la scena.

Fatte tutte queste considerazioni ho previsto un primo importante sgrossamento dell’errore su tutte le zone del profilo tramite la calibrazione su uno scatto del Colorchecker eseguito a 5000K; poi con altri due scatti ripresi in condizioni vicine ai valori di riferimento di 2850K e 6500K ho costruito in automatico le due tavole HSL e infine ho affinato manualmente la tavola di mio interesse (6500K) cercando di contenere gli interventi per evitare i citati effetti collaterali.

La scelta della calibrazione a 5000K si è basata su una precedente esperienza dove ho visto che il lavoro di ottimizzazione dei cursori di calibrazione eseguito a 5000K si riflette in maniera netta in tutte le condizioni d’ illuminazione. Questo significa che anche le tavole HSL a 2850K e 6500K dovranno fare molto meno lavoro per arrivare al medesimo risultato, evitando fenomeni di posterizzazione sulle immagini.

Riassumendo tutto il discorso, intervenendo con la calibrazione a 5000K prima di usare le tavole HSL ha due vantaggi:

1. il profilo offrirà fedeltà in tutti i suoi settori (anche in quei settori che non sono stati presi in considerazione nelle tavole HSL).

2. il profilo manterrà la gradualità nei passaggi (smoothness).




6. Strumenti e considerazioni per l'utente medio

Ho usato uno spettrofotometro X-rite Eye-One Pro per misurare il target, un Mini Colorchecker 24 patch, e Patch Tool di BabelColor per calcolare le coordinate colorimetriche ideali (D50) del target in Lab e RGB Prophoto. Con i valori RGB ho sostituito nello script di calibrazione i valori di colore generici del target.

Per la calibrazione ho usato l’insuperato script di Tindemans. Preciso e affidabile, ha bisogno solo di qualche suggerimento nelle impostazioni del tab Base prima del lancio. Per questo, consiglio più lanci impostando di volta in volta i valori riportati nella finestra finale.

Con lo spettrofotometro ho cercato anche le condizioni di luce vicine ai valori di riferimento, ho trovato così il momento giusto dopo il tramonto e ho controllato la temperatura delle luci al tungsteno.

Per la valutazione degli scostamenti visivi e numerici fra i colori ideali e quelli resi da ACR ho usato l’ottimo script Read_Colors_CC24 di Rags Gardner. Lo script, che è in grado di usare file di misurazione X-rite, in pochi istanti genera un preciso report e renderizza su ogni patch i valori di colore ideali. I parametri del report che ho ritenuto più utili sono quelli che indicano la differenza di colore percepita espressa tramite la formula deltaE 2000 e quelli che scompongono l’errore negli indici HSB (tinta, saturazione, luminosità). Le differenze di tinta sono quelle peggio tollerate da un osservatore medio, seguono nell’ordine le differenze di saturazione e a distanza quelle di luminosità.

E chi non ha strumenti?

Chiunque può provare questo metodo anche senza strumenti e arrivare ad ottimi risultati, di essenziale c’è solo il Colorchecker. E’ ovvio che non si otterranno risultati numericamente così precisi, ma non è detto che i miglioramenti acquisiti spingendosi verso tolleranze così spinte possano poi essere notati sulle immagini.

In particolare, la mancanza dello spettrofotometro per la misurazione del target o della luce può sembrare un problema. In realtà:

1. i Colorchecker prodotti anche se non sono uguali, rientrano tutti entro buone tolleranze

2. il processo di calibrazione è sempre un processo di bilanciamento globale per cui i valori di colore personalizzati contano fino ad un certo punto

3. per validare il tipo di luce che illuminava il target al momento dello scatto si può benissimo usare il contagocce di white balance di ACR, basta fare clic sulla patch D2 e leggere il valore stimato di Temperatura che offre un grado di accuratezza sufficiente per questi lavori.

4. i margini di errore per le condizioni di luce sono discreti: per avvicinarsi a 5000K è sufficiente aspettare le ore centrali di una giornata di sole non invernale, l’importante è che l’atmosfera sia limpida; per lo scatto a 6500K c’è un discreto margine d’errore (400/500K), meno per quello a 2850K (100-150K), ma le normali lampade casalinghe ad incandescenza da 100W dovrebbero avvicinarsi a sufficienza. Alle volte sui cataloghi delle lampade si trovano i valori di temperatura in Kelvin.




7. Esecuzione degli scatti

Ho eseguito gli scatti del target seguendo le regole già descritte in un precedente articolo che riassumo:

  • illuminazione del target a 45°
  • illuminazione uniforme del target
  • nessun riflesso
  • sfondo acromatico
  • fotocamera perpendicolare al target
  • bassi ISO
  • piccole aperture di diaframma
  • bracketing dell’esposizione




8. Performance del profilo generico

Ho aperto il target a 5000K in ACR, ho impostato il tab Base tramite lo script e ho lasciato tutti gli altri cursori a zero.



Si notano subito alcune patch non corrette con vari gradi di severità nel dominio del rosso, il tallone d’Achille dei vecchi profili Adobe.




Il profilo standard ver. 4.4 offre un errore medio deltaE 2000 di 2.4 e uno massimo di 5.7 localizzato nella patch Rosso.



Gli scostamenti HSB mostrano diversi errori di tinta che arrivano a superare i 10 gradi, una desaturazione generale con punte del 7%, errori minori e meno importanti nella luminosità.




9. Calibrazione

Lo script di calibrazione è un programmino che apre in PS il target molte volte con diverse impostazioni dei cursori, misura di volta in volta i risultati di colore e cerca le posizioni dei cursori dove i valori di colore resi da ACR si avvicinano ai valori di colore ideali che gli sono stati forniti dall’utente.

Lo script è stato usato in una configurazione per la correzione dell’errore “democratica”:



P.S.: lo screenshot è in versione Windows 7 perché ho fatto girare lo script su PS CS3 in ambiente virtualizzato; al momento del test infatti lo script non funzionava correttamente con PS CS4.

Dopo alcuni lanci:




La finestra finale dello script di Tindemans mostra come i primari rosso e verde abbiano subito discreti interventi, in modo particolare il rosso ha subito correzioni sia nella tinta sia nella saturazione.




Visivamente si nota subito il miglioramento.




L’errore medio e massimo si sono più che dimezzati, il primo è passato da 2.4 a meno di 1.1, il secondo da 5.7 a 2.2 .



Gli scostamenti HSB confermano i miglioramenti visivi: l’errore massimo nella tinta è sceso a un terzo, da oltre 10° a 3.4°, la saturazione generale è stata recuperata e l’errore massimo dimezzato, gli errori nella luminosità erano piccoli e d’importanza minore.

I parametri sono ottimi, nonostante questo il report HSB mostra i limiti di questo processo. Infatti, come già detto, se la calibrazione ha abbassato significativamente gli indici d’errore, questo ha anche voluto dire una distribuzione dell’errore residuo lungo tutti i campioni e, come detto, patch che prima erano errate ora sono corrette, ma patch che prima erano corrette ora, anche se di poco, lo sono meno.

Per molte tinte questo non è un problema, lo diventa però quando il nostro cervello trova certi colori. Una tinta critica è la pelle chiara (A2, light skin) che è particolarmente coinvolta nel processo di calibrazione. Infatti il problema maggiore era il rosso ed i colori del suo dominio che dovevano recuperare oltre 7° positivi di tinta. Appartenendo a questo domino la pelle bianca è passata da una tinta corretta precalibrazione ad un valore di 3.4° negativi postcalibrazione, tra l’altro l’errore di tinta più alto. Questo vuol dire una lieve introduzione di magenta negli incarnati che può essere notata.




10. Uso del DNG Profile Editor

Nel DNG Profile Editor, ho aperto le due immagini del target ripreso a 2850K e a 6500K preventivamente convertite in formato DNG e in Color Tables ho selezionato il profilo “acqua e sapone”.




Nel tab Color Matrices ho riportato i valori letti nella finestra finale dello script. Le due immagini hanno riflesso subito l’intervento.




Nel tab Chart ho selezionato lo scatto a 2850K e ho posizionato i quattro riferimenti sulle relative patch.




Ho selezionato la tavola HSL corretta e cliccato su Create Color Table.




Ho seguito la stessa procedura con il target a 6500K.

Nel tab Color Tables ho trovato tutte gli interventi calcolati dal modulo Chart in base ai valori di colore del Colorchecker in possesso di Adobe.

In particolare la finestra del tab mostra la posizione dei campioni e le relative correzioni sulla ruota delle cromaticità, sotto i cursori mostrano il tipo e l’entità dell’intervento, a destra si nota la lista dei colori campionati ognuno dei quali è renderizzato prima e dopo la modifica introdotta dai cursori. Osservando la lista si nota come gli interventi delle tavole siano limitati e appena percepibili.



La tabella sotto riporta gli interventi calcolati da Chart.



Le correzioni sono contenute. Nelle colonne Tinta si raggiunge il picco di correzione proprio sulla patch pelle chiara come ci si poteva aspettare con un +6 a 2850K (questa è una tabella difficile) e ancora meno a 6500K. Anche la saturazione non va molto lontano con un massimo di 9 punti a 2850K e un massimo di soli 5 punti nell'altra.

Questo risultato mi fa pensare sia alla correttezza dei miei scatti del target a 2850K e 6500K, sia alla calibrazione la quale ha sistemato le patch molto vicine ai valori di colore ideali, sia che i miei valori personalizzati del target e quelli di Adobe non sono poi molto distanti.

A questo punto ho esportato nella cartella dei profili di fotocamera di ACR il nuovo profilo così calcolato.






11. Situazione post chart

Ho aperto l’immagine del target in ACR e nel tab Calibrazione Fotocamera ho scelto il nuovo profilo azzerando tutti i campi.









L’errore medio e massimo sono leggermente peggiorati.



Alcune patch sono migliorate, alcune sono leggermente peggiorate probabilmente per i valori generici del target. La tinta della patch pelle bianca è stata corretta a discapito di quella nera che risulta l’errore di tinta e saturazione peggiore.




12. Interventi manuali sulle tavole HSL


Dato che ho i valori di colore precisi letti dallo spettrofotometro ho provato a intervenire sulla tavola di mio interesse, la daylight a 6500K, valutando gli effetti sul target a 5000K (esportando un nuovo profilo). Ho notato che interventi anche piccoli si riflettono immediatamente sul Colorchecker ripreso a 5000K, segno che ACR considera queste due condizioni di luce vicinissime.

Come detto, l’errore della pelle bianca è stato corretto a discapito della pelle nera. Qui viene a galla il limite di questa nuova soluzione che ho già citato: gli interventi delle tavole non si basano sui valori di colore dei campioni, ma sulla loro cromaticità, che è il colore a meno della luminanza.

Questo significa che patch visivamente molto diverse, tipo la pelle bianca e nera, vengono considerate dal modulo vicinissime in quanto le due patch si differenziano principalmente per la luminanza. Ne consegue che l’intervento su un campione si riflette sull’altro e qui si possono provocare inconsapevolmente dei danni da sovra correzione se andassimo a cercare la precisione assoluta, soprattutto quando due patch vicine hanno bisogno di interventi opposti come in questo caso. E questo non solo nelle tinte, ma anche nella saturazione; si vede infatti che una patch ha bisogno di saturazione mentre l’altra di desaturazione, quindi dovremmo intervenire spostando quella esterna verso l’interno, e quella interna verso l’esterno. Ma questo comporterebbe una sempre più spinta compressione della zona con possibilità di introdurre fenomeni di posterizzazione nelle immagini. Per questo è meglio limitare gli interventi su patch così vicine (anche perché siamo già a livelli di errore eccellenti tenendo in considerazioni le tolleranze del sistema visivo umano).

Il grafico sotto mostra la zona d’influenza della patch pelle nera che coinvolge la pella bianca (disattivata per lo scopo).




Ho iniziato intervenendo sui cursori di tinta e poi sono passato a quelli di saturazione. Dopo alcuni passaggi mi sono fermato.






L’errore medio è arrivato a 0.7 e quello massimo a 1.3.



Tutte le tinte rientrano nel grado, ottime tutte le saturazioni (a parte un paio dove non ho voluto forzare l’intervento) e buone le luminosità (DeLK <1).

Sotto gli interventi da Chart e manuali.



Su tante patch ho diminuito gli interventi calcolati da Chart per avvicinarmi ai valori di colore ideali (vedi le medie), per le patch pelle bianca e nera ho cercato un compromesso. Numerosi punti ora sono a zero e questo mi conferma ulteriormente la validità del lavoro della calibrazione che ha corretto con efficacia gli errori ed evitato l’uso delle tavole.

Comunque, rispetto alle impostazioni calcolate da Chart, ho variato la tinta e la saturazione solo di pochi punti (H max 3, S max 4), prova ulteriore che i valori di colore in possesso di Adobe non sono così lontani dai miei.




13. Conclusioni

Il DNG Profile Editor, dopo i cursori di calibrazione, segna un’altra tappa importante nella personalizzazione dei profili di fotocamera e offre numerose opportunità. Nel mio caso, ha permesso di raggiungere livelli di fedeltà notevoli, ma secondo me ha ancora delle limitazioni:

  • la possibilità di poter intervenire solo sulla cromaticità e non sui valori di colore dei campioni ha implicazioni sostanziali
  • la possibilità di usare valori del target personalizzati
  • la possibilità di poter usare altri target

Non ultimo non condivido la scelta di Adobe di mandare in pensione gli script di calibrazione a favore del nuovo arrivato in quanto sono due cose diverse che andrebbero usate in sinergia per evitare spiacevoli conseguenze. Anche perché con l’uso degli script la calibrazione non è più complicata dell’uso del DNG Profile Editor, richiede solo un po’ più di tempo al computer per i suoi calcoli.

Buone prove !!





APPENDICE
Le performance di Canon Digital Photo Professional

Per comparazione ho verificato la fedeltà offerta dal raw converter proprietario di casa Canon.

DPP propone cinque profili che ho testato con lo stesso criterio usato per ACR: in DPP ho impostato il WB e la chiarezza dei grigi, poi, trasferito il tiff in PS, ho analizzato tramite lo script come sono state rese le patch comparandole con i valori di colore ideali.

I cinque profili di fotocamera in realtà sono dei Picture Style, cioè dei profili nei quali Canon ha introdotto dei maquillage con l’intento di ottimizzarli per gli usi che sono richiamati direttamente dai loro nomi. Il Picture Style chiamato Immagine Fedele non lascia dubbi sulle intenzioni di Canon quando ha creato questo profilo che, come dice il nome, punta alla fedeltà e alla ricostruzione colorimetrica della scena.

Infatti, osservando l’errore medio espresso in deltaE 2000, questo è il profilo che più avvicina le patch ai valori di colore ideali. La performance assoluta però con un errore medio di 3,8 e uno massimo di 8,4 è vicina ad altri Picture Style e inferiore anche al profilo generico ACR 4.4. Se osserviamo le singole colonne HSB si nota che a valori corretti si alternano errori abbastanza alti. Nella tinta si notano diversi errori fino a 9°, desaturazioni che arrivano fino al 10%, ma soprattutto ci sono varie patch con una luminosità eccessiva che arriva a superare il 10%.

La pelle chiara nel Picture Style Immagine Fedele mostra un errore di tinta di 4 gradi negativi, mentre se osserviamo il Picture Style dedicato ai ritratti l'errore di tinta sale addirittura a 9° negativi.

Qui ho messo a disposizione le immagini RAW originali che ho utilizzato per creare i profili con illuminanti A, D65 e D50.


Picture Style Scostamenti
Standard
Ritratto
Paesaggio
Neutro
Immagine fedele




 Se vuoi parlare con noi di questo articolo vieni a trovarci sul FORUM

E' vietata la riproduzione anche parziale di questo articolo senza il consenso dell'autore.