colore digitale blog

Il blog di Mauro Boscarol sulla gestione digitale del colore dal 1998

Nella serie Colore in fotografia digitale

Ricostruzione della scena: bilanciamento del bianco

Una scena sotto la luce del giorno è fisicamente diversa dalla stessa scena sotto una luce ad incandescenza (che è più gialla rispetto alla luce del giorno). La capacità di riflessione degli oggetti rimane la stessa ma la luce ricevuta e quindi riflessa è diversa. Dunque gli stimoli di colore che arrivano dalle due scene sono diversi.

Se fotografiamo le due scene con una fotocamera (disattivando o mantenendo costanti gli automatismi di bilanciamento), la fotocamera riporta precisamente questa diversità, come si vede nelle due immagini che seguono, la prima scattata alla luce del giorno, la seconda con luce ad incandescenza (tenendo fissa l’impostazione di bilanciamento del bianco su luce del giorno, daylight).

Il sistema visivo umano, invece, è in grado in qualche modo di individuare la cromaticità dell’illuminante di un ambiente, e di “scartarlo”. In altre parole il nostro sistema visivo si “adatta” alla cromaticità dell’illuminante, e il colore di un oggetto che vediamo sotto la luce del giorno a noi appare uguale al colore dello stesso oggetto visto sotto la luce ad incandescenza (o un’altra luce qualsiasi). Fisicamente gli stimoli di colore dei due oggetti sono diversi, ed è diversa anche la colorimetria, ma il nostro sistema visivo fa in modo che il colore ci appaia uguale. Questo fatto, cioè che il sistema visivo si adatta alla cromaticità dell’illuminante è detto adattamento cromatico.

In particolare gli oggetti bianchi e gli oggetti grigi (cioè gli oggetti acromatici) riflettono proprio la cromaticità dell’illuminante (con luminanze diverse). Dunque dire che il sistema visivo “scarta” la cromaticità dell’illuminante significa dire, tra l’altro, che il bianco rimane bianco e i grigi rimangono grigi. Per esempio un foglio di carta appare al nostro sistema visivo sempre bianco, sia sotto la luce del sole che in casa, alla luce di una lampada ad incandescenza (questo effetto dell’adattamento cromatico si chiama costanza del colore).

Lo stimolo di colore che, per una determinata persona e in un dato ambiente, appare bianco (cioè lo stimolo al quale siamo adattati) è detto bianco di adattamento, in inglese adapted white,  e il sistema visivo di quella persona è adattato a quel bianco.


Adattamento cromatico nella fotocamera

L’adattamento cromatico  del sistema visivo umano può essere descritto come un processo a due stadi:

  1. riconoscere la cromaticità dell’illuminante dell’ambiente;
  2. “scartare” questa cromaticità.

La fotocamera (o meglio il Raw converter, interno o esterno che sia) purtroppo non è in grado di riconoscere con precisione la cromaticità dell’illuminante di una scena rappresentata da una immagine Raw, e quindi non riesce a scartarlo. Bisogna pensare che la fotocamera genera dati Raw, che sono una massa di numeri RGB, e tra questi non è facile (tanto meno facile per un software) dire quale terna RGB rappresenti il bianco o il grigio.

Nel Raw converter il processo di adattamento cromatico si descrive analogamente a quello del processo visivo, con qualche variazione della terminologia:

  1. stimare la terna RGB dell’immagine che rappresenta una cromaticità neutra, il che è equivalente a stimare la cromaticità dell’illuminante della scena;
  2. rendere i tre numeri RGB uguali, cioè, come si dice, “bilanciare il bianco”.

Per il primo punto, poiché la fotocamera, come detto, non è in grado di riconoscere la cromaticità dell’illuminante ( equivalente al fatto che non riesce a riconoscere un pixel acromatico) ci sono tre possibilità alternative tra di loro:

  • l’utente stesso indica alla fotocamera o al Raw converter la cromaticità dell’illuminante della scena (tipicamente in kelvin);
  • l’utente stesso indica alla fotocamera o al Raw converter un pixel bianco o grigio, o meglio un’area bianca o grigia dell’immagine;
  • la fotocamera o il Raw converter applica qualche algoritmo basato su qualche ipotesi.

In ogni caso la cromaticità dell’illuminante così determinata è una stima del bianco di adattamento ed è detto bianco adottato (adopted white).

Per il secondo punto ci si basa sulla convenzione che in una immagine digitale RGB, i colori grigi (compreso il nero e il bianco) sono rappresentati con tre numeri uguali. Così se un pixel avesse valore R = 80, G = 100 e B =120 e venisse riconosciuto che si tratta di un pixel bianco, bisognerebbe fare diventare questi valori tutti uguali (per esempio tutti uguali a 100) e applicare il bilanciamento a tutti i pixel dell’immagine.


Cromaticità dell’illuminante indicata dall’utente

La prima possibilità è che l’utente stesso indichi alla fotocamera o al Raw converter quale è la cromaticità dell’illuminante della scena. Tipicamente lo si fa indicando la temperatura di colore correlata, che è un altro modo per indicare la cromaticità. La temperatura di colore si indica in kelvin (K), ma in molte fotocamere è indicata anche con un nome e nelle migliori ha un regolazione fine.

Nella 13a Conferenza Generale dei Pesi e delle Misure (tenuta a Parigi nel 1967) è stato stabilito che l’unità di misura kelvin si scrive così (cioè in minuscolo) e l’abbreviazione si scrive K (cioè in maiuscolo). I kelvin non sono gradi e quindi si scrive 5000 K oppure 5000 kelvin, non 5000°K.

Questa è una tabella indicativa che mette in relazione alcuni nomi comuni di illuminanti con la temperatura di colore in kelvin (fotocamere diverse e Raw converter diversi possono avere corrispondenze diverse).

Illuminante K
Incandescenza 3000
Fluorescenza 4200
Sole diretto 5200
Flash 5400
Nuvoloso 6000
Ombra 8000


L’utente indica un’area acromatica (cioè neutra) dell’immagine

Si ottengono migliori risultati se l’utente può indicare un’area o un punto che sa essere acromatico (cioè senza tinta o, come si dice, neutro). Nel caso della nostra immagine un po’ gialla, io so che la scrivania è grigia, e ne indico un pezzetto (indicato con il quadrato verde qui sotto).

Il Raw converter fa la media dei valori dei pixel nel quadrato indicato e risulta R = 147, G = 113, B = 67. Per portare R e B a 113 (G), R deve diminuire del 23% e B deve aumentare del 68%. Se si applicano queste variazioni ad ogni pixel dell’immagine, il quadrato diventa grigio e tutta l’immagine viene bilanciata.

Una tecnica di questo tipo, applicabile direttamente dall’utente su dati Raw demosaicizzati è descritta dettagliatamente in questo articolo di Alberto Maccaferri.

Se nella scena è possibile inserire una cosiddetta “gray card” o comunque un’area neutra riflettente, come si trovano in questo Mini ColorChecker si può indicare quest’area per il bilanciamento. Le proprietà desiderabili di una “gray card” sono elencate in questi articoli di Robin Myers: Gray or White Card for Neutral Balancing?How to Use a Gray Card with a Digital Camera.


Algoritmi per determinare la cromaticità dell’illuminante

Se l’utente non può indicare l’illuminante e nemmeno un’area non resta che applicare un algoritmo che funziona “alla cieca”. L’algoritmo più semplice (ma meno efficace) è quello del mondo grigio che si basa sull’ipotesi che tutte le scene siano in media grigie (il che è vero per qualche scena ma non per tutte). Se questo fosse vero per bilanciare il bianco si potrebbe calcolare la media dei valori R di tutti i pixel, dei valori G e dei valori B. Si otterrebbe una terna di numeri che esprime lo “sbilanciamento” dal grigio per il quale per definizione i tre numeri RGB devono essere uguali.

Per esempio, la media di tutti i pixel dell’immagine qui in alto (quella tendente al giallo) dà questa immagine (che ho ottenuto applicando in Photoshop il filtro Blur > Average):

e qui ogni pixel ha i valori R = 193, G = 121, B = 66. Prendendo il valore del canale verde (G) come “pivot” si vede nell’immagine in alto (quella tendente al giallo) c’è troppo rosso (193 rispetto a 121, quindi ogni valore di R va diviso per 1.6) e troppo poco blu (66 rispetto a 121, quindi ogni valore di B va moltiplicato per 1.83). Si ottiene questa immagine:

L’algoritmo del mondo grigio ha un po’ migliorato l’immagine ma non è perfetta (è stato tolto troppo rosso, e lo si vede nella copertina del libro, ed è stato aggiunto troppo blu, lo si vede sul foglio bianco). Evidentemente questa immagine non ha i presupposti per l’applicazione dell’algoritmo del mondo grigio.

Esistono altri algoritmi di questo tipo, per esempio uno basato sul massimo valore RGB che presuppone che la scena contenga un’area bianca, ma è sempre facile trovare immagini che perdono di qualità con l’applicazione di questi algoritmi.


Il bilanciamento del bianco non dipende dall’immagine

Il fatto che il sensore non sia in grado di determinare e scartare l’illuminante è il primo motivo per cui in fotografia digitale è necessario il bilanciamento del bianco. C’è anche un secondo motivo: il sensore non produrrebbe numeri digitali bilanciati (cioè uguali nei tre canali), nemmeno se lo spettro dell’irradiamento del sensore fosse completamente piatto (cioè equienergetico). Questo dipende dal fatto che le aree sotto le curve di efficienza del sensore non sono uguali per i tre canali.

Questo secondo tipo di sbilanciamento dovrebbe dipendere solo dal sensore e non dall’illuminante. Tuttavia in alcuni sensori dipende anche dall’illuminante. Normalmente quindi i due tipi di sbilanciamento si trattano come se fosse uno solo, dipendente dal sensore e dall’illuminante, ma non dalla singola immagine.

Così ha senso scattare una fotografia di un’area bianco-grigia (per esempio di un ColorChecker, non di una Kodak Gray Scale), con una data fotocamera, in varie situazioni di illuminazione. Il bilanciamento che si ottiene è valido per tutte le immagini catturate con quella fotocamera e sotto quell’illuminante.

Ricordo anche che il bilanciamento del bianco va applicato su dati lineari con la luminanza. Non può essere applicato (con precisione) quando il rendering del colore è già stato fatto, ma solo con dati di luminanza. Bilanciare dati lineari è fondamentalmente diverso da (tentare di) bilanciare dati codificati con gamma; anzi quest’ultima cosa è praticamente impossibile da fare e infatti in Photoshop (ad oggi) non c’è un comando per farlo.

Ulteriori dettagli sul bilanciamento del bianco nell’articolo Color Balance di Wikipedia (in inglese). Per bianchi speciali si possono vedere le carte di WarmCards (link suggerito da Jeff Schewe).


Bilanciamento hardware

Esiste anche la possibilità che (sempre partendo dalla regolazione indicata dall’utente) il bilanciamento del bianco venga effettuato nell’hardware prima che il segnale sia digitalizzato (e quindi un bilanciamento hardware analogico). Ciò significa che il guadagno dell’amplificatore del sensore viene regolato indipendentemente per i tre canali. Attualmente pare che solo i dorsi digitali della Better Light abbiano questo tipo di bilanciamento del bianco.

Un’altra possibilità è che venga applicato un bilanciamento hardware digitale, cioè dopo che il segnale è stato digitalizzato ma prima che i dati digitali vengano memorizzati in memoria. Secondo Thomas Knoll (forum Adobe Digital Negative) l’unica fotocamera che lo fa è la Nikon D1.


Letture

La voce Color Balance in Wikipedia.

Nel prossimo post vediamo come convertire i dati CFA del sensore in dati colorimetrici.

 

Visitato 324 volte, negli ultimi 7 giorni 2 visite

Torna all'indice di Colore in fotografia digitale

Mauro Boscarol

24/8/2008 alle 07:40

Parole chiave , ,

Visitato 324 volte, negli ultimi 7 giorni 2 visite

2 commenti

Abbonati ai commenti a questo post con RSS

  1. Salve, da quanto leggo nel libro Real word ACR in PS CS5 (pag.33), sembra che il WB in ACR non avvenga semplicemente moltiplicando i canali ma ridefinendo colorimetricamnete i primari RGB. Differenze?

    Andrea Taschin

    1/3/13 alle 12:45

  2. Il principio è lo stesso, ma in Camera Raw il bilanciamento è compreso nel processo generale di sviluppo, precisamente nei passi D ed E indicati in http://www.boscarol.com/blog/?p=8026

    Mauro Boscarol

    1/3/13 alle 13:08

Vuoi fare un commento a questo post?

Devi essere collegato per scrivere un commento.