Adobe Camera Raw: la mia tecnica di Calibrazione

20 Luglio 2007

Sei il visitatore numero 21726


Fondamenti

Il tab calibrazione di Adobe Camera Raw (ACR) è stato implementato per ottenere immagini con colori fedeli. Infatti, mediante lo spostamento dei cursori, i profili interni di ACR vengono personalizzati ed adattati ad ogni singola combinazione fotocamera/lente.

Il principio su cui si fonda il processo di calibrazione è quello di avvicinare i colori resi dal raw converter a quelli teorici ideali. La differenza visiva tra i colori è quantificata nello spazio di colore LAB tramite le formule di distanza DeltaE. L’ultima revisione di queste formule è la DeltaE 2000, usata peraltro anche da alcuni scripts.

Spesso nei report di comparazione l’errore è descritto nelle componenti LCH che usa lo stesso spazio LAB ma con coordinate polari e separa la componente cromatica dalla tinta (la luminosità è già separata). I fattori che concorrono a formare l’errore tra due campioni vengono presentati in un modo più intuitivo e completo.



I tre elementi coinvolti nel processo di visione





Il modello CIE della visione umana

Nella sua forma più semplice, il sistema di visione coinvolge tre elementi: la sorgente luminosa, l’oggetto e l’osservatore. Il calcolo dei valori di colore ideali viene eseguito misurando e mettendo in relazione le caratteristiche che identificano questi tre elementi fondamentali.

La sensibilità spettrale del sistema visivo umano alle varie lunghezze d’onda è stata definita nel 1931 dalla CIE con le funzioni colorimetriche (osservatore standard), quindi il terzo elemento è costante e noto a priori. Le misurazioni degli altri due elementi, in condizioni di normale luminosità, vengono eseguite tramite lo spettrofotometro al quale, per la misurazione della sorgente luminosa, viene applicata una particolare testina di lettura (GMB Eye-One Pro).

I tre dati spettrali vengono interpretati da appositi software che calcolano i colori ideali in quella particolare situazione. Tali software codificano i colori o come valori di tristimolo nello spazio di colore CIE XYZ o direttamente nel più comodo CIE LAB.

Nel nostro caso quindi i colori ideali delle patches del target = la distribuzione spettrale della sorgente luminosa sotto la quale abbiamo fotografato il target moltiplicato per la riflettanza spettrale delle patches del target moltiplicato per l’osservatore standard.




Il processo in sintesi

Il numero ed il tipo di step per il corretto settaggio del tab sono correlati ai mezzi a disposizione e alle condizioni di calibrazione. Si possono riassumere in estrema sintesi in cinque fasi:

• scelte tecniche

• preparazione

• cattura del target

• calcolo dei parametri

• validazione dei parametri




Cosa serve

• uno sfondo uniforme grigio opaco

• un target GMB Colorchecker 24 tacche oppure Digital Colorchecker SG (per la calibrazione si usano solo 24 tacche)

• i dati recenti di riflettanza spettrale del target (non indispensabili ma raccomandati)

• lo spettrofotometro e la testina per la lettura della luce ambientale o in ripiego la carta di invalidazione dell’illuminante GATF RHEM light indicator (non indispensabili ma raccomandati)

• una conoscenza minima sull’uso delle azioni in Photoshop

• uno scripts di calibrazione (o il metodo manuale di Bruce Fraser)

  ACR Calibrator (Thomas Fors)
  ACR Calibrator Rags (Rags Gardner)
  ACR Calibrator L (Simon Tindemans)

• un tool per la validazione dei risultati.




Scelta delle condizioni di Calibrazione

Dato che uso quasi sempre la fotocamera in luce diurna, la mia prima scelta è caduta sulla luce naturale, in particolare ho scelto la luce solare di mezzogiorno di una limpida giornata estiva che ho identificato con l’illuminante standard D50 (il mio GMB Eye-One non permette la lettura della luce sopra le 300cd/m2). In seguito ho validato il risultato ottenuto in queste condizioni di illuminazione anche in altre situazioni, sia in luce naturale lungo l’asse di white bilance che in luce al tungsteno con buoni risultati di fedeltà, come si può vedere nell' articolo precedente .

Quindi non ho ritenuto opportuno ripetere le calibrazioni in altre condizioni. Il mio consiglio è quello di fare altrettanto, prima calibrare in luce solare di mezzogiorno e poi provare le impostazioni così trovate anche in altre condizioni, verificando la resa cromatica prima di dare per scontato che la calibrazione sia necessariamente da rifare.

La calibrazione in luce solare ha il vantaggio dell’uniformità di illuminazione e non richiede necessariamente lo spettrofotometro a meno che non la si voglia fare in inverno quando la luce solare risulta poco neutra e sensibilmente virata verso il giallo.

Probabilmente sono da considerare a parte certi illuminanti da studio che possono allontanarsi troppo dalle distribuzioni spettrali tipiche della luce naturale ed anche i gradi Kelvin dichiarati dal produttore possono trarre in inganno. In questi casi la lettura spettrale della luce diventa raccomandabile.




Accorgimenti

Fotocamera

Per non ottenere risultati falsati è utile un’accurata pulizia del sensore prima di iniziare qualsiasi attività. Nella figura sotto, assieme ai problemi di uniformità, si possono intravvedere qualche piccola (in questo caso) impronta dovuta a questo tipo di problema: se tali impronte nell’immagine finale del target venissero proiettate proprio su una patch avremmo un colore risultante della stessa falsato che andrebbe ad inficiare il risultato finale.

In fase di ripresa la fotocamera deve essere regolata in modo da evitare fenomeni di vignettatura e da introdurre meno rumore possibile nell’immagine finale, quindi diaframmi ragionevolmente chiusi e la più bassa sensibilità ISO permessa.


Sistema di illuminazione

Una delle condizioni fondamentali per ottenere risultati validi e precisi è l’uniformità di illuminazione del target in fase di ripresa. Per questo controllo uso uno scatto dello sfondo grigio senza target e lo script Read_Macbeth_Patches di Rags Gardner.

In PS carico l’immagine dello sfondo grigio, traccio con lo strumento penna un percorso nei 4 angoli dell’immagine e lancio lo script. Poi vado a vedere nella parte del report dove vengono elencati i valori RGB dei 24 campionamenti fatti sull’immagine, gli scostamenti numerici nelle varie parti del piano (qui sotto è riportato uno scorcio).


Per una verifica visiva, seleziono e riempio con un grigio tutti i quadretti creati dallo script sul nuovo livello e con un livello di regolazione avvicino visivamente i due layers. In tal modo si evidenziano le aree di non uniformità: quando i quadratini sovrastanti appaiono più scuri delle aree sottostanti si ha una sovrailluminazione della zona, quando i quadratini risultano più chiari dell’area sottostante si ha una sottoilluminazione di quella parte di sfondo.

Finché non si raggiunge l’uniformità di illuminazione sullo sfondo grigio è inutile passare oltre.

Altri due accorgimenti non meno importanti inerenti il sistema di illuminazione sono quelli di disporre le fonti di luce a 45° rispetto allo sfondo e soprattutto che la tipologia di luce nel set di ripresa sia una unica. Infatti, se illumino il target con due tipi di luce diversa avrò un’illuminazione mista difficile sia da misurare che da controllare e quindi il processo perderebbe validità.

L’ultimo accorgimento, anche questo non per ordine d’importanza, è quello di controllare che sul target non giungano dall’ambiente circostante riflessi di nessun tipo, luminosi o di colore.


Lettura del target

Se GretagMacbeth raccomanda la sostituzione del target ogni anno o al massimo ogni due un motivo ci sarà: purtroppo i target invecchiano assai rapidamente. Il problema diventa molto minore se abbiamo la possibilità di tener conto di quanto è invecchiato e di conoscere i valori di riflettanza attuali del target. Io consiglio una lettura del target almeno ogni sei mesi se il target è stato esposto poco alla luce.

Per la lettura del target io mi comporto così: eseguo e comparo tre letture. Se non esistono errori isolati e se tutte e tre sono simili, faccio la media pesata di tutte le letture. Se vi sono delle anomalie di singole patch o di un’intera lettura vado a vedere dove questo errore è stato introdotto, correggendo o scartando i valori non coerenti.





Cattura del target e lettura della luce

Quando ho raggiunto le condizioni ideali, sistemo sullo sfondo il colorchecker e scatto con il bracketing dell’esposizione (1/3 di stop) finché, aperta l’immagine in ACR e applicate le impostazioni di sviluppo per la calibrazione nella tacca bianca non leggo valori RGB Prophoto intorno a 245-247. Di solito in condizioni di luce solare servono circa 14.5 - 15 EV, che corrispondono a circa ISO100-f11-1/250s. Comodi in questo frangente il cavalletto ed i software che permettono il controllo remoto della fotocamera e l’importazione automatica dell’immagine dalla fotocamera al computer.

L’impostazione di sviluppo che uso in questa fase è quella che setta tutti i cursori e tutte le curve a zero tranne il cursore luminosità che rimane al valore di default.

In condizioni diverse dalla ripresa in luce solare diretta, questo è il momento per rilevare la distribuzione spettrale della sorgente luminosa che sta illuminando il target. Attenzione che, se in ambiente controllato non esistono problemi, la luce diurna invece cambia repentinamente soprattutto allontanandosi dal mezzogiorno, quindi la rilevazione deve corrispondere il più possibile al momento dello scatto sul target!




Calcolo dei valori di colore ideali

Abbiamo adesso tutti gli elementi per calcolare i valori di colore ideali: allo scopo esistono software freeware tipo ColorLab, a cui si riferiscono gli screenshots, e software a pagamento tipo ProfileMaker, sempre di GretagMacbeth. In ProfileMaker è sufficiente importare il file TXT con l’elenco dei valori di riflettanza spettrale delle patches del target, il file CXF di I1Share con la distribuzione spettrale dell’illuminante usato in fase di scatto, scegliere l’osservatore standard a 2 gradi e salvare direttamente il file LAB di riferimento. Con ColorLab serve qualche passaggio in più ma i risultati finali sono sovrapponibili.


1.  Da valori spettrali a valori di tristimolo tramite il freeware GMB ColorLab settato con il CAT usato da ProfileMaker 5.
I valori XYZ vanno poi trasformati in Lab mode con l’apposito comando nel menù filter/mode
2.  Da Lab a RGB Prophoto


Ora bisogna fare in modo che l’interpretazione colorimetrica di ACR restituisca gli stessi colori. La fase di interpretazione del colore di ACR è affidata al profilo interno della fotocamera calcolato di volta in volta partendo dalle impostazioni dello slider di temperatura e di tinta e corretto dai cursori del tab calibrazione.




Calibrazione manuale o automatica?

Per settare i cursori con la massima precisione mi servo di uno script, una specie di programma nel programma che apre e chiude l’immagine del target provando varie impostazioni dei cursori e misurando il loro effetto sull’immagine. Più precisamente durante la sua corsa lo script usa i cursori temperatura e tinta, esposizione, ombre, luminosità e contrasto contenuti nel primo tab di ACR e i cursori contenuti nel tab calibrazione di Camera Raw per cercare di avvicinare il più possibile i colori resi da ACR a quelli ideali che gli sono stati forniti dall’autore o dall’utente.

La mia scelta personale è caduta sullo script di Simon Tindemans che è quello che fino ad ora mi ha garantito i risultati più accurati mantenendo un’ottima usabilità.




Installazione e personalizzazione dello Script

Scaricato lo script preferito dal sito dell’autore, per installarlo è sufficiente collocarlo nella cartella script di Photoshop (es: C:\Programmi\Adobe\Adobe Photoshop CS3\Presets\Scripts). Lo script sarà presente nel menù file/script di PS.

Gli script possono accettare direttamente il file TXT di riferimento con i valori LAB personali del target (file posto nella stessa cartella dello script) o usano valori interni RGB nello spazio di colore Prophoto, in questo caso bisogna sostituirli.

Per convertire i valori dal LAB a RGB si può usare ancora ColorLab (vedi screenshots) oppure ProfileMaker, tramite il modulo ColorPicker/Esporta colori unità (qui è possibile scaricare il profilo ICC LAB, da usare in ColorLab nel campo "source profile").

Salvato il file TXT bisogna importare i valori RGB nello script. Per accedervi si fa un doppio clic su di esso e lo si apre con il suo software di creazione, ExtendScript Toolkit 2 in PS CS3. Ad un certo punto, scorrendo verso il basso, si incontrano i valori generici del target in D50 inseriti dall’autore: questi andranno sostituiti con i nostri valori RGB personalizzati contenuti all’interno del file TXT RGB con un copia e incolla comprendendo i valori decimali.

NB: attenzione a non confondere la disposizione delle patches: lo script elenca i valori del target per riga, il file TXT in formato GretagMacbeth li elenca per colonna !




Apertura file e settaggio ACR

Aperta l’immagine in ACR, setto lo spazio colore d’uscita su Prophoto 16 bit e resetto tutti i cursori e tutte le curve a zero tranne il cursore luminosità. Poi passo a settare il primo tab di ACR in modo da suggerire allo script il corretto punto di partenza per la sistemazione dell’asse grigio. Inizio con il WB cliccando con il contagocce sulla seconda o terza patch grigia, poi passo allo strumento campionatore colore e campiono tutta la riga grigia in sequenza.
Tenendo come riferimento i valori RGB ideali con lo slider luminosità setto la quarta tacca, con lo slider contrasto la seconda, terza e quinta tacca e con lo slider ombre la sesta tacca. Non tocco quasi mai lo il cursore esposizione. Sono sufficienti settaggi abbastanza approssimativi.




Apertura in Photoshop e lancio dello script

Aperta l’immagine in Photoshop con lo strumento penna traccio un percorso cliccando nelle patches ai vertici, in sequenza marrone, bianco, nero e blu/verde.

Ora posso lanciare lo script che può presentare o no un’interfaccia. Con quello di Tindemans si presentano numerosi parametri da settare. Io lo uso in una configurazione più classica e più lineare sul colore di quella suggerita dall’autore di default (vedi screenshot). Questa configurazione mi ha dato strumentalmente i risultati migliori.


Il setup per la mia Canon 350D con lo script di Tindemans

Con alcune fotocamere può valer la pena provare ad attivare l’opzione per il calcolo dello shadow tint, soprattutto quando lo script non può trovare valori di white balance validi lungo tutto l’asse grigio. In alcuni casi si può provare a diminuire l’importanza data alla seconda patch grigia durante la fase di sistemazione delle loro luminosità.

Do l’OK allo script ed eventualmente anche a qualche avvertimento che può apparire e il processo di ricerca dei parametri inizia per concludersi circa mezz’ora dopo. Alla fine una finestra di stato finale rimane aperta in Photoshop dove sono elencati, assieme agli indicatori di scostamento dai valori di colore ideali, le migliori impostazioni trovate per i vari cursori.


La finestra di stato finale con i settaggi trovati e le statistiche sullo scostamento dai valori di riferimento




Applicazione e validazione dei risultati

Riapro l’immagine in ACR e applico tutti i parametri elencati nella finestra di stato finale. Passo l’immagine a Photoshop per la verifica del risultato.

Allo scopo uso un’azione per creare una miniatura del target reso da ACR nel formato direttamente gestibile dal tool di validazione che uso, ColorLab. L’azione converte in LAB mode l’immagine, media il centro di tutte le patches, crea una nuova immagine in LAB mode 16 bit 6x4 pixel, preleva un pixel dal centro di ogni patch, la riporta nella nuova immagine in sequenza ordinata e alla fine la appiattisce su un unico livello.
Qui è possibile scaricare un’azione di esempio registrata per l’analisi dei risultati sull’immagine CR2_7409, sempre disponibile per il download.

Salvo il tiff senza compressione, lo apro in ColorLab, lo converto in spot colors e apro anche il file LAB di riferimento e verifico il lavoro eseguito dallo script, con il comando Special/Comparing. Qui il risultato raggiungibile dipende dai mezzi a disposizione dell’utente e dalla precisione tenuta attraverso tutti gli step del processo. Le mie calibrazioni migliori arrivano ad un errore deltaE2000 medio intorno a 1.0 - 1.1 ed un errore massimo sotto il 2 (non considerando la patch bianca).

Se non si ha il file LAB di riferimento da comparare lo si può ricostruire con le terne RGB generiche dello script usando ColorLab: file new/new patches/doppio clic su ogni patch/copia e incolla dallo script e poi conversione da RGB Prophoto a LAB mode dal menù filter/colorimetric conversion.

Per un’analisi più accurata sui soli colori è utile eliminare le tacche grigie con l’apposito comando delete.

Una valutazione più veloce e pratica è possibile anche usando lo script Read_Machbeth_Patches di Rags Gardner, ma allo stato attuale non offre le garanzie di ColorLab. Tuttavia lo script è in continua evoluzione, le premesse sono positive e gli scostamenti abbastanza contenuti.




Aggiustamenti manuali

Se si hanno almeno i dati di riflettanza è possibile provare a far scendere ulteriormente gli indici dell’errore intervenendo manualmente sui valori di calibrazione trovati dallo script. Di solito i risultati sono già buoni ma alle volte ci sono ancora margini di miglioramento non tanto nell’errore medio quanto nell’abbassamento di quello massimo. Qui bisogna avere un po’ di confidenza con gli effetti degli slider ma tentare non nuoce.

Partendo dai valori suggeriti, verifico dove risiedono gli errori peggiori e vado ad intervenire manualmente sui cursori che maggiormente influenzano quelle patch. Corretti i cursori passo ad una nuova validazione, ad una nuova correzione e ad una nuova validazione e così via.




Memorizzazione valori di calibrazione

Quando arrivo ad un risultato soddisfacente memorizzo i valori di calibrazione trovati nel relativo tab che, dopo aver visto i risultati riportati nell’articolo precedente , li uso come nuovo default della fotocamera/obiettivo.
I parametri di aggiustamento del primo tab invece sono specifici dell’immagine usata per lo scopo e non hanno alcun valore successivo.




Qualche osservazione

Uno dei problemi che si incontrano sono gli errori introdotti da Photoshop a causa dei suoi sistemi di calcolo misti quasi15/16 bit con arrotondamenti vari che si riflettono nelle conversioni RGB/LAB/RGB.
A titolo di esempio, sotto sono riportate tre conversioni da RGB a CIE LAB fatte con tre software di color management: PS CS3, ColorLab e ColorThink. Come si può vedere la conversione di PS si discosta totalmente dagli altri due che invece producono valori molto vicini. Le differenze sono tali da escludere che l’imputato sia solo il diverso motore di colore usato. Gli errori peggiori con PS si collocano nella conversione delle patches grige.





Con l’introduzione di nuove versioni di ACR può capitare che vengano introdotti più o meno lievi cambiamenti della resa cromatica del raw converter. Sotto un esempio di conversione con ACR 4.0 e con ACR 4.1 utilizzando i medesimi parametri. Le differenze si estendono anche all’asse grigio dove le punte sfiorano deltaE2000 = 1.


Differenze di resa fra ACR 4.0 e ACR 4.1



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.