Sunteți pe pagina 1din 14

10/14/2011

Corneliu Florea
1. Introducere. Definitii 2. Formarea culorilor

Vom vorbi despre

Reprezentare perceptuala a culorilor

Constanta culorilor

Reprezentarea fizica a culorilor

3. Reprezentarea digitala culorilor 4. Achizitia digitala a culorilor 5. Calibrarea colorimetrica a camerelor digitale 6. Balansul de alb. Constanta culorilor

ITEMS
UNIVERSITATEA POLITEHNICA BUCURESTI LABORATORUL DE ANALIZA SI PRELUCRAREA IMAGINILOR UNIVERSITATEA POLITEHNICA BUCURESTI LABORATORUL DE ANALIZA SI PRELUCRAREA IMAGINILOR

Edwin H. Land
Edwin H. Land a fost fondatorul companiei Polaroid; A avut un interes deosebit in culori In timp lucra la experimentul lui Maxwell (3 proiectoare color pentru identificat tripletul care sa formeze o culoare), a observat ceea ce va sta la baza constantei culorilor Rezultatele s-au format pe baza a decenii de experimente

Experimentul Mondrian
Experimentul lui Land
Exista 3 surse de lumina ajustabile Se poate calibra fiecare dintre ele pentru un control precis al spectrului luminii emise Se ilumineaza un obiect similar cu un tablou de Mondrian
Van Doesburg... Mondrian

Experimentul Mondrian
Se msoara reflexia (DSP reflectata) unui obiect verde Se calibreaza cele 3 lumini, astfel nct un obiect albastru sa reflecte un spectru de frecvene identic Obiectul pare nc albastru! Se calibreaza luminile astfel incat reflexia de la fiecare sursa de lumina sa fie aceeasi pentru obiectul verde Se acopera toate celelalte zone; arat gri Se descoper toate zonele. Zona de interes are culoarea verde
[Dellaert]

Experimentul Mondrian

Obiecte(zone) colorate ce au aceeasi radianta sunt percepute ca avand aceeasi culoare


Fotometru: 0.3, 1.0, 0.3 Verde Albastru Fotometru: 0.3, 1.0, 0.3 Verde Albastru

Lumina alba

Iluminant colorat Pereceptie: Verde Perceptie: Albastru

10/14/2011

Concluziile lui Land

Cauze posibile ale constantei culorilor


Adaptarea cromatica expuneri prelungite la culori poate conduce la : Receptorii se adapteaza cand stimulul de culoare excita un pigement specific de con Sensibilitatea la culoare scade Adaptarea apare la surse de lumina provocand constanta culorilor

Culoare perceputa depinde atat de spectrul reflectat cat si de zona inconjuratoarre Reflectanta relativa este mai importanta decat reflectanta absoluta

Adaptarea cromatica
Experimentul efectuat de Uchikawa et al. Observatorilor li se arata bucati colorate de hartie in 3 conditiii: Forma de baza hartia si observatorul sunt in lumina alba Observatorii nu sunt adaptati hartia este iluminata de lumina rosie; observatorul de lumina alba Observatorii sunt adaptati hartia si observatorii sunt iluminati cu lumina rosie

Experimentul Uchikawa

Cele trei condiiti din experimentulUchikawa et al.s (1989)

Experimentul Uchikawa
Rezultate: Forma de baza hartia verde este perceputa ca fiind verde Observatorii nu sunt adaptati hartia verde d este perceputa ca fiind fii d rosie i Observatorii sunt adaptati hartia verde este perceputa ca fiind slab rosiatica Acest experiment a demonstrat partial constanta culorilor

Distributia spatiala i percepia culorilor

[Forsyth]

10/14/2011

Distributia spatiala i percepia culorilor

Perceptia culorilor

Celulele din retina combina culorile zonelor adiacente

Culoarea este o proprietate a perceptiei


Cum este fata de cea anterioara? Aceeasi scena cu blocurile re-aranjate
[Forsyth]

Constanta culorilor
Constanta culorilor : nuanta si intensitatea culorii (saturatie) Constanta luminii: nivelul de gri Oamenii percep
Culoarea pe care ar avea-o o suprafata iluminata cu lumina alba (culoarea suprafetei) Culoarea luminii reflectate (separata de culoarea masurata a suprafetei) Culoarea iluminantului (surse - limitata)
[Strring]

Ochiul uman / Senzorul de imagine


Ochiul Senzorul

Senzorul JAI CV-M7

Senzor de imagine

Colour Vision [Strring] [Strring]

Colour Vision

18

10/14/2011

Senzor CCD CMY

Reprezentarea culorilor in spatii finite


Recapitulare: Culorile pot avea o infinitate de frecvente. Culoarea este masurata cu ajutorul proiectiei spectrului pe un numar finit de senzori. sen ori

L
400 500 600 700

[Strring]

Lungimea de unda
[Alpert]

< L, R > < L, G > < L, B >

a b c

Model de reflexie

Formarea imaginii

Culoarea Imaginii

k = R,G,B

Ek = e( ) s ( ) k ( )d
Iluminarea Reflectanta obiectului Raspunsul senzorului

Model multiplicativ: (Camera masoara produsul )


[Alpert]

[Alpert]

Constanta culorilor petru camere


Daca spectrul sursei de lumina se schimba Spectrul luminii reflectate se schimba
Temperatura de culoare 1000-2000 K 2500-3500 K 3000 4000 K 3000-4000 4000-5000 K 5000-5500 K Sursa de lumina Lumanare

Surse de lumina

Bec pe baza de filamanet cu tungsten R Rasarit/Apus it/A ( (cer sein) i ) Lampa fluorescenta Flash electronic Lumina in miezul zile (cer senin) Cer partial innorat Cer puternic innorat

Obiectiv : Identificarea culorii suprafetei obiectului ca si cum ar fi fost iluminat de o sursa de lumina alba (canonica)
[Alpert]

5000-6500 K 6500-8000 K 9000-10000 K

10/14/2011

Surse de lumina

[Alpert]

Culori obtinute cu diferiti iluminanti

Punerea problemei
Luminata (intensitatea observata) = Iluminarea (lumina incidenta) x Reflectanta (procentul reflectat)

La orice locatie din imagine avem un numar si i vrem sa aflam fl d doua Problema nerezolvabila Si totusi creierul uman o face Algoritmi de constanta a culorilor: Introduc constrangeri suplimentare
[Alpert]

Algoritmi pentru constanta culorilor: teorie 1. Transformarea:


Liniara Modelul

Ce fel de transformare? Cautam o transformare astfel incat A

2. Constrangerile folosite :
Senzorul Iluminarea

r r A( E ) = E c
[Alpert]

Imaginea originala

Imaginea sub iluminantul canonic (D65)

10/14/2011

Transformarea (Liniara?) Raspunsul unui fotodetector k sub iluminantul


canonic (alb)

Transformarea (Liniara?)

Ek = e( ) s ( ) k ( )d
Reflectanta obiectului Raspunsul senzorului

Iluminarea

Ek =< k ( ), s ( ) > Ekc =< c k ( ), s ( ) >


Implica:
c c Gamut {1, 2 , 3} = Gamut {1 , c 2 , 3}

Ekc =< c k ( ), s ( ) >


[Alpert]

c c k ( ) = e ( ) k ( )

D. A. Forsyth. A Novel Algorithm for Color Constancy. International Journal of Computer Vision, 1990.

Motivatie
Lumina rosie-albastra Lumina alba

Transformarea (Liniara?) Atunci putem scrie spectrul fluxului rezultant ca o combinatie liniara

c c span {R , G , B } = span {R , B } span {c R , G , B }

k ( ) = kj cj
j =1

Ek = kj E c j
j =1

[Alpert]

[Alpert]

Ce fel de transformare (Liniara)

Modelul Transformarii

r ( ) = Senzor * iluminare r r c ( ) = A ( ) (constrangere de domeniu)


c ER c EG c EB
Dezvoltam inapoi p

A
[Alpert]

ER EG
EB

r r e c ( ) ( ) = A ( )e( )
Valorile propri ale lui A
[Alpert]

Ecuatie VVT

Transformare liniara Constrangerile?

r e c ( ) r ( ) = A ( ) e( )

Vectorii propri ai lui A

10/14/2011

Modelul transformarii

Tranformarea rezultanta

Valorile propri ale lui A

r e c ( ) r ( ) = A ( ) e( )

Vectorii propri ai lui A

A este o matrice diagonala


ERC EGC EBC

Pentru P t fiecare fi f frecventa t raspunsul este intr-un senzor.


0 0 r r (0 ) 0 , g , 0 b 0 0

KR KG KB
[Alpert]

ER EG EB

Raspunsurile senzorului sunt vectorii propri ai matricei diagonale


[Alpert]

Ipoteza diagonalitatii
Informatia de la senzori trebuie sa fie decorelata Este nevoie de senzori g de banda ingusta Hardware suplimentar care forteaza decorelarea senzorilor Post-procesare software
Imagine preluata de la Kobus Barnard

Algoritmi reprezentativi pentru constata culorilor


Manual - capacul de Pringles Grey-world [e.g. Hunt] Algoritmi pe baza de modele [MaloneyWandell] Potrivirea gamei de culori [Forsyth 1991] Abordari Neurale [Funt-Cardei] Retinex [Cann-McLand]

Balans de alb manual Adaptarea Von Kries


Se multiplica fiecare canal cu un factor

Metode Grey World Constrangerea Lumea e gri (Buchsbaum (1980), Gershon et al. (1988)) <R, G, B> <Ravg, Gavg, Bavg>

Metoda simpla: obiect gri


Se achizitioneaza o p poza cu un obiect neutru ( (alb sau gri) Se deduce ponderea fiecarui canal
Daca obiectul este inregistrat cu rw, gw, bw atunci se folosesc ponderile 1/rw, 1/gw, 1/bw

10/14/2011

Metode Grey World Constrangerea Cel mai stralucitor punct al imaginii este alb (Land (1977)) <R, , G, , B> <Rmax, Gmax, Bmax>

Alege un iluminant canonic


Nu orice triplet de culoare reprezinta o sursa de lumina Se limiteaza cautarea la sursele de lumina naturale Exemple:
1. Construieste histograma 2D a punctelor imaginii. Considera sursa de lumina cea mai apropiata de medie 2. Restrange histograma la punctele suficient de apropiate de sursa de lumina
44

Algoritm bazat pe reguli fuzzy


Fiind data o imagine : Se transforma in spatiul YCbCr Se imparte in 8 blocuri. Pentru fiecare bloc se calculeaza mediile pe Cr si Cb Pentru fiecare blocse calculeaza ponderile: Ponderi mici pentru iluminari mari si mic (prevenirea saturatiei) Obiecte mari sau fundalul pot domina anumite blocuri. Ponderile corespunzatoare sunt tinute mici (prevenim supr-ajustare) Fie raportul mediilor Cr/Cb . Daca este in [0.5 ; 1.5] atunci este probabil oregiune alba La sfarsit se aplica ipoteza lumea este gri

Color by Correlation
Color by Correlation [Finlayson et al. 2001]

Se construieste o baza de date cu distributia culorii sub diferiti iluminanti Se alege iluminntul cel mai probabil dat fiind poza curenta (maximum likelihood estimation). Coeficientii de corectie sunt 1/componentele-iluminantului.

Abordare neurala
Set de antrenament : imagini sintetice generate aleator dintr-o baza de iluminanti Spatiul (histogramele) de crominanta este impartit in zone disjuncte Valori binare: prezenta sau absenta informatiei de corminanta Aceasta valoare binara este intrare in reteaua neurala Antrenare : intrari + raspuns corect (iluminantul) Metoda de antrenare : Back-propagation

Potrivirea gamei de culori (Gamut mapping)


D. A. Forsyth. A Novel Algorithm for Color Constancy. International Journal of Computer Vision, 1990.

10/14/2011

Presupuneri Scena planara frontala (Mondrian world) O singura sursa de lumina, constanta Reflectanta Lambertiana Camera liniara
Imaginea: mic subset de obiecte colorate iluminate de o anumita sursa.

Gamutul

Gamut : Toate obiectele colorate posible iluminate de acceasi sursa. Imaginile naturale au cam acelasigamut

Gamutul imaginilor naturale


Gamutul este convex.

Estimarea Gamutului
Se cauta functia de reflectata f() astfel incat 0 f() 1 O combinatie convexa a functiilor de reflectanta individuale este o functie de reflectanta valida. Se aproximeaza gamutul printr-un corp convex:

Color Constancy via Gamut mapping Antrenare Se calculeaza Gamutul tuturor suprafetelor posibile iluminate de iluminantul canonic

Constanta culorilor prin gamut mapping


Gamutul rezultat cu un iluminant necunoscut se proiecteaza in interiorul gamutului canonic .

Iluminant necunoscut Iluminant canonic


D. A. Forsyth. A Novel Algorithm for Color Constancy. International Journal of Computer Vision, 1990.

10/14/2011

Constanta culorilor prin gamut mapping

Iluminant Canonic

Algoritmul C-rule
Antrenare: determina gamutul canonic Pentru o imagine noua:
1. 2. 3. Determina transformarile care proiecteaza fiecare pixel in interiorul gamutului canonic. Alege o asemenea transformare. Calculeaza noile valori RGB.

Iluminant necunoscut

Algoritmul C-rule Antrenare: determina gamutul tuturor suprafetelor posibile in iluminarea canonica A

Algoritmul C-rule

k1 0

0 r k1r = k2 g k 2 g

g=

G B

Gamut Canonic

k2 k1

r=

R B

D. A. Forsyth. A Novel Algorithm for Color Constancy. International Journal of Computer Vision, 1990. Finlayson, G. Color in Perspective, PAMI Oct 1996. Vol 18 number 10, p1034-1038

C-rule algorithm
k1 0
0 r k1r = k2 g k 2 g
input Alb

Rezultate (Gamut Mapping)


Albastru- Verde Rosu

k2 k1

Solutii fezabile

output

Regula: alege matricea cu urma cea mai mare i.e. max(k1+k2)


D. A. Forsyth. A Novel Algorithm for Color Constancy. International Journal of Computer Vision, 1990.

10

10/14/2011

Teoria Retinex
Problema: Identificarea reflectantei /culorii suprafetei in conditii de iluminare variabila .

Retinex
Land, E., Recent advances in retinex theory, Vision Research 26(1), 7 21 (1986).

Principiu
Iluminarea Il i variaza i l ti lent in scena Trebuie identificati factori dintr-un produs. Daca aplicam logaritm atunci sunt termenii unei sume

Algoritmul Retinex
1. Se aplica log imaginii 2. Se calculeaza derivatele spatiale si se clasifica : Daca D sunt t mari i prezinta i t reflectanta fl t t scenei i Daca sunt mici iluminarea 3. Se integreaza derivatele mari pentru a determina reflectanta scenei. Ce ramane este iluminarea

Recuperarea iluminarii
Intensitatea Imaginii: b' ( x, y ) = r ' ( x, y ) e' ( x, y ) Se aplica Log:

log b' ( x, y ) = log r ' ( x, y ) + log e' ( x, y )


sau

b ( x, y ) = r ( x, y ) + e( x, y )

Derivata cu Laplacian:

d = 2b = 2 r + 2 e
Schimari bruste in reflectanta

2 =

2 2 + 2 2 x y

r ' ( x, y )

2 r are 2 impulsuri infine la margine


Schimbari fine in iluminare

e' ( x , y )

2r = 0

In rest

2e 0

In rest

[Narasimhan]

Recuperarea iluminarii
Imagine: b = r+e Laplacian : d = 2b = 2 r + 2 e

Rezolvam problema inversa


b=r+e
Imaginea

d = 2b = 2 r + 2 e

Laplacian

t = T (d ) 2 r

Paraguire

Iluminare

l ( x, y )

Determina iluminarea l(x,y) din t(x,y):


Ecuatia Poisson

2l = t

Praguire

t = T (d

2r

2 2 l ( x, y ) = t ( x, y ) x 2 + y 2
Cautam g(x,y) care satisface

Reconstructia :

l (x , y )

l ( x, y ) =
(reflectanta)
[Narasimhan]

t (u, v )g (x u, y v )dudv
[Narasimhan]

l ( x, y ) = k + r ( x, y )

(iluminare)

l ( x, y ) = t ( x , y ) g ( x, y )

11

10/14/2011

Rezolvam ecuatia Poisson


Avem

Recoperarea Iluminarii

2l ( x, y ) = t ( x, y ) si
? = T (u, v )

l ( x, y ) = t ( x, y ) g ( x, y )
L(u, v ) = T (u, v )G (u, v ) L(u, v ) = T (u, v )G (u, v )
Adica:

Log (imagine)

Transformata Fourier

si

b( x, y )

d ( x, y )

t ( x, y )

l ( x, y )

b
2

T (d )

tg

g ( x, y ) =

1 log x 2 + y 2 2

u 2 + v 2 L(u, v ) = T (u , v ) si
In concluzie

deci

l ( x, y ) = k + r ( x, y )
(iluminarea) (reflectanta)

l ' (x, y ) = kr ' (x, y )


l ' ( x, y ) = l 'max corespunde lui r ' = 1
e' ( x, y ) =
(iluminarea)

1 G (u , v ) = 2 2 u +v

1 g ( x, y ) = log x 2 + y 2 + c 2
[Narasimhan]

Normam: Se presupune ca valoarea Atunci:


(reflectanta)

l ' ( x, y ) r ' ( x, y ) = lmax

b ' ( x, y ) r ' ( x, y )

[Narasimhan]

Calculul iluminarii (cazul discret)


1 6
g ( x, y ) = 1 log x 2 + y 2 2

Calculul iluminarii (cazul discret)


1 4 1 4 -20 4 1 4 1

Log(imagine)

b( x, y )

d ( x, y ) 2b

t ( x, y )

l ( x, y )
tg

l =t
2

T(

1 4 1

T (d )

1 6

4 -20 4 1 4 1

20li , j + 4(li +1, j + li , j 1 + li 1, j + li , j 1 ) + (li +1, j +1 + li 1, j +1 + li 1, j 1 + li +1, j 1 ) = 6ti , j

1 6
Rezolvam

1 4 1

inversul mastii Laplacian

Se rezolva iterativ:
l in, j+1 = 1 n 1 n 3 l + ln + ln + ln + l + l n + l n + l n ti , j 5 i+1, j i , j+1 i1, j i , j1 20 i+1, j+1 i1, j+1 i1, j1 i+1, j1 10

4 -20 1 4

Totusi aproximarea discreta a inversului Laplacianului nu ar fi suficient de precisa!


[Narasimhan]

2l = t direct

Se foloseste o approximare discreta pentru inversul Laplacianului ca sa se obtina un estimat initial al lui l
[Narasimhan]

Comentarii asupra teoriei Retinex


Nu este aplicabila in cazul variatiilor fine de reflectanta Nu este aplicabila obiectelor curbe In general: Intensitatea=f( forma, reflectanta, iluminarea )
Pentru mai multe expemple :
http://web.mit.edu/persci/gaz/gaz-teaching/index.html http://www.michaelbach.de/ot/index.html
[Narasimhan]

Algoritm alternativ
Se alege un pixel de start x1, si apoi se formeaza o cale prin selectia aleatoare a pixelilor invecinati p Se actualizeaza un acumulator la fiecare pixel A(xi ) A(x i ) + log(
xi

) log( )
x1

Praguire: daca diferenta este mica, foloseste raspunsul anterior al senzorului

[Jahr]

12

10/14/2011

Algoritm alternativ Pastreaza un counter N(x) pentru fiecare pixel Dupa un numar de cai, normalizeaza A(x) by N(x) pentru fiecare pixel Rezultatul este L(x), valoarea iluminarii Algoritmul are doi parametri:
Numarul de cai Lungimea fiecarei cai
[Jahr]

Retinex : alte variante McCann et al.


Retinex cu reset

Horn
Determinare D i il i ii dintr-o iluminarii di i imagine i

Marini
Retinex cu miscare Browniana

[Jahr]

Retinex color

Retinex : Concluzii

Retinex este o teorie dezbatuta pe larg, cu multe variante si alternative Desi nu este un model foarte exact al vederii umane se comporta bine in anumite situatii

Imagini: John McCann

Algoritmi: Diferente si similaritati

Comparatii intre acuratetea algoritmilor

Cei mai multi algoritmi utilizeaza o transformare diagonala Diferenta consta in cum alegem coeficientii

13

10/14/2011

Algoritm: Comparatie pt imagini reale


Eroarea creste
Lumea este gri

Bibliografie

Articolele din Wikipedia pentru Retinex, Color temperature, White balance Kobus Barnard, Vlad Cardei, Brian Funt, A comparison of computational color constancy algorithmsPart I: Methodology and experiments with synthesized data, IEEE Transactions g Processing, g, vol. 11, , nr. 9, , 2002, , pp pp. 972983; ; Image Kobus Barnard, Lindsay Martin, Adam Coath, Brian Funt A Comparison of Computational Color Constancy AlgorithmsPart II: Experiments With Image Data, IEEE Transactions Image Processing, vol. 11, nr. 9, 2002, pp. 985996; Rajeev Ramanath, Wesley E. Snyder, Youngjun Yoo, Mark S. Drew Color Image Processing Pipeline IEEE Signal Processing Magazine,Ianuarie, 2005, pp 34-43;

C l b Color by C Correlation l ti Max-RGB Gamut mapping

0
S. D. Hordley and G. D. Finlayson, "Reevaluation of color constancy algorithm performance," JOSA (2006) K. Barnard et al. "A Comparison of Computational Color Constancy Algorithms; Part One&Two, IEEE Transactions in Image Processing, 2002

Slide-uri preluate dupa: [Dellaert] - Frank Dellaert www.cc.gatech.edu/~dellaert/vision/slides/06-Color.pdf [Palmer] -Stephen Palmer http://graphics.cs.cmu.edu/courses/15463/2011_fall/Lectures/CapturingLight.pdf [Smalyukh] - Ivan I. Smalyukh http://www.colorado.edu/physics/phys1230/phys1230_fa08/ [Alpert] - Sharon Alpert & Denis Simakov ww.wisdom.weizmann.ac.il/.../prs/Color_Image_Understanding_Full.pps [Strring] - Moritz Strring www.cvmt.dk/education/teaching/f05/.../Colour/colour_vision.ppt [Narasimhan] - S. Narasimhan www.cs.unc.edu/~lazebnik/spring09/lec01_intro.pdf p g p f [Jahr]- Mike Jahr :scien.stanford.edu/pages/labsite/2000/psych221/projects/.../mjahr/retinex.ppt

Va mulumesc pentru aten t i ia acordat d t !

UNIVERSITATEA POLITEHNICA BUCURESTI LABORATORUL DE ANALIZA SI PRELUCRAREA IMAGINILOR

14