Metode za automatsko podešavanje boje i svjetline slike [7

Metode za automatsko
podešavanje boje i svjetline slike
Mentor: prof. dr. sc. Sven Lončarić
Student: Nikola Banić
Zagreb, 9. srpnja 2013.
Sadržaj
• Uvod
• Boje
• Postojanost boja
• Algoritmi za podešavanje boja
• Evaluacija algoritama za postojanost boja
• Algoritmi za podešavanje svjetline
• Evaluacija algoritama za podešavanje svjetline
• Programska implementacija
• Zaključak
2
Uvod
• Boje su često promijenjene
• Svjetlina često nije zadovoljavajuća
• Automatsko podešavanje
• Raznolika primjena
3
Uvod
podešene boje
podešene boje i svjetlina
4
Boje
• Svjetlosni fenomen
• Trikromatska teorija
• Grassmanovi zakoni
• Prostori: XYZ, Lab, RGB,
HSV, YUV, CMYK...
• Kromatičnost
• Temperatura boje
HSV koordinate boja
x, y dijagram kromatičnosti
5
Postojanost boja
• Procjena osvjetljenja
• Kromatska adaptacija
ista scena pod različitim osvjetljenjima
6
Procjena osvjetljenja
• Formacija slike:
• Boja izvora svjetlosti:
7
Kromatska adaptacija
• Izvorna boja: [XI, YI, ZI]T
• Odredišna boja: [XO, YO, ZO]T
• Transformacija: M
8
Kromatska adaptacija
• MA: prebacuje [X, Y, Z]T u [ρ, γ, β]T
• Računa se omjer komponenti boje izvora svjetlosti
• von Kries
• Bradford
• Sharp
• CMCCAT2000
• CAT02
9
Kromatska adaptacija
D65
D50
10
Algoritmi za podešavanje boja
• Gray World
• Vlastita metoda
• Retinex
• Mapiranje gamuta
• Strojno učenje
• Ostalo
11
Gray World
12
Gray World
13
Shades of Gray
14
Opći Gray World algoritam
15
Gradijenti
Gray Edge
17
Weighted Gray Edge
18
Gray World
19
Retinex
• Računa se svjetlina svakog piksela
• Kroz svaki piksel se provuku staze
20
Random Sprays Retinex
• Staze prelaze u sprejeve
• N – broj sprejeva
• n – veličina pojedinog spreja
• Brža verzija Retinexa
21
Random Sprays Retinex
Random Sprays Retinex
I( )
Random Sprays Retinex
I( )
Random Sprays Retinex
I( )
I( )=
max I( )
Random Sprays Retinex
1
I( )= Σ
N
N
i=1
I( )
max I( i)
Random Sprays Retinex
originalna slika
RSR s parametrima N=1, n=4
27
Random Sprays Retinex
RSR s parametrima N=5, n=20
RSR s parametrima N=20, n=400
28
Ubrzanje i popravljanje RSR-a?
rezultat RSR-a s malim vrijednostima parametara N i n
primjena filtra usrednjavanja na prethodnu sliku
29
Prelazak u drugo područje
____________________________
=
30
Prelazak u drugo područje
procjena osvjetljenja piksela
usrednjena procjena osvjetljenja
31
Vlastita metoda
____________________________
=
32
Vlastita metoda
____________________________
=
33
37
=
Vlastita metoda
• Rezultat je vrlo sličan rezultatu RSR-a
• Mnogo brže od RSR-a
• Računanje procjene osvjetljenja samo za neke točke i interpolacija
• Moguće je računati i globalnu procjenu osvjetljenja za cijelu sliku
• Light Random Sprays Retinex (Color Badger i Color Sparrow)
• Parametri: N, n, veličina jezgre ulaza, veličina jezgre osvjetljenja, r, c
47
Evaluacija algoritama za podešavanje boja
• Mjera pogreške: kut između vektora stvarne boje izvora svjetlosti i
procijenejne boje izvora svjetlosti
• Korištenje slika s poznatim izvorima svjetlosti
• Baze slika: Greyball, ColorChecker YACCDB, YACCDB2...
48
Greyball
49
ColorChecker
50
Odabir parametara vlastite metode
51
Rezultati – ColorChecker (linearni RGB)
Metoda
Srednja vrijednost (o)
Medijan (o)
Trimean (o)
Max (o)
Ništa
13.7
13.6
13.5
27.4
Gray World
6.4
6.3
6.3
24.8
SDWGW
5.4
4.9
4.9
22.9
Shades of Gray
4.9
4.0
4.2
22.4
Gray Edge
5.1
4.4
4.6
23.9
Mapiranje gamuta
4.2
2.3
2.9
24.2
HLVI
3.5
2.5
2.6
25.2
LRSR
3.7
2.8
3.0
23.6
52
Rezultati – Greyball (sRGB)
Metoda
Srednja vrijednost (o)
Medijan (o)
Trimean (o)
Max (o)
Ništa
8.3
6.7
7.3
36.8
Gray World
7.9
7.0
7.1
48.1
SDWGW
6.6
5.6
5.8
45.4
Shades of Gray
6.1
5.3
5.5
41.2
Gray Edge
5.9
4.7
5.1
41.2
Mapiranje gamuta
6.9
5.8
6.1
41.9
NIC
5.2
3.9
4.3
44.5
LRSR
5.6
4.9
5.0
44.3
53
Algoritmi za podešavanje svjetline
• Jednolika globalna promjena
• Retinex
• Kombinacija Retinexa i drugih algoritama
• Uklanjanje sjena
54
Jednolika globalna promjena
• (R’, G’, B’) = (k·R, k·G, k·B)
• (R’, G’, B’) = (R+M0, G+M0, B+M0)
• (L’, a’, b’) = (L+L0, a, b)
• (L’, a, b) = (k·L, a, b)
55
Jednolika globalna promjena
multiplikativni RGB
aditivni RGB
aditivni Lab
multiplikativni Lab
56
primjena Retinexa
originalne slike
Retinex
57
Kombinacija Retinexa i drugih metoda
PCA
58
Kombinacija Retinexa i drugih metoda
Retinex
59
Kombinacija Retinexa i drugih metoda
_________________________________
=
60
Kombinacija Retinexa i drugih metoda
.
=
61
Kombinacija Retinexa i drugih metoda
početna slika
krajnji rezultat podešavanja svjetline
62
Kombinacija Retinexa i drugih metoda
slika s podešenom svjetlinom korištenjem PCA-a
dodatna primjena Retinex algoritma
63
Evaluacija algoritama za podešavanje svjetline
Metoda
ColorChecker
Internet
Zajedno
original
27
47
74
aditivni RGB
3
4
7
multiplikativni RGB
57
79
136
aditivni Lab
2
2
4
multiplikativni Lab
21
14
35
PCA
122
109
231
PCA tri puta
199
77
276
Retinex i PCA
268
84
352
Retinex i PCA tri puta
258
79
337
64
Evaluacija algoritama za podešavanje svjetline
original
aditivni RGB
multiplikativni
RGB
aditivni Lab
multiplikativni
Lab
PCA
3x PCA
Retinex + PCA
Retinex + 3x
PCA
65
Programska implementacija
• Matlab
• C++ (OpenCV)
• Java
• Razna sučelja
66
Web sučelje
67
Java sučelje
68
REST usluga
Algoritam
URL
Parametri algoritma
Gray World
/wb/gw/
order, sigma, norm, median, shrink
Robust Gray World
/wb/rgw/
threshold
Simplest Color Balance
/wb/scb/
saturation
Random Sprays Retinex
/wb/rsr/
N, n
SDWGW
/wb/sdwgw/ n
Perfect Reflector
/wb/pr/
Local Space Average Color /wb/lsac/
LRSR CB
/wb/cb/
N, n, inputKernelSigma, inputSigma, illuminantKernelSigma,
illuminantSigma, normalizeIlluminant, rowsStep, colsStep, rFactor,
upperBound
LRSR CS
/wb/cs/
N, n, inputKernelSigma, inputSigma, rowsStep, colsStep, rFactor,
upperBound
69
Zaključak
• Podešavanje boja – loše postavljen problem, mnogo algoritama
• Podešavanje svjetline – teško provjeravanje točnosti
• Retinex – vrlo dobar (i spor) algoritam za podešavanje boja i svjetline
• Moguće je brže postizanje vrlo sličnog učinka Retinex algoritma
• Bolji rezultati i brže izvođenje od ostalih nenadziranih metoda za
podešavanje boje
70