2. Kompresja i porządkowanie danych

2.14. Opis koloru

Charakterystyka kolorów treści obrazowej związana jest w pierwszej kolejności z wyborem przestrzeni barw. Chociaż obrazy opisywane są zwykle w przestrzeni RGB (składowe: czerwony, zielony, niebieski), przede wszystkim ze względu na budowę ludzkiego oka (trzy rodzaje czopków o odmiennej charakterystyce widmowej, gdzie maksima przypadają na te trzy kolory) oraz działanie typowych urządzeń służących rejestracji i prezentacji treści obrazowej (kamery, aparaty fotograficzne, monitory, telewizory, skanery), to model percepcji obrazów naturalnych opisujący podobieństwo kolorów wygodniej jest tworzyć w innych przestrzeniach barw. 

Przestrzeń RGB nie pozwala na równomierny opis zdolności percepcji zmian barwowych -- równym odległościom w RGB nie odpowiadają równomierne zmiany obserwowanych kolorów. Ponadto składowe są od siebie silnie zależne, wpływ na ich wartość ma natężenie oświetlenia oraz inne, oprócz barwowych czynniki. Reprezentacja RGB we współrzędnych biegunowych z uwzględnieniem korekcji gamma to przestrzeń barwna  (odcień, nasycenie, jasność). Dobre wyniki w wykorzystaniu RGB lub częściej HSV można osiągnąć jedynie przy opisie obrazów grafiki komputerowej, gdy obrazy są definiowane czy projektowane w tej przestrzeni (np. przy indeksowaniu znaków handlowych) lub też jeśli akwizycja opisywanych obrazów jest dokonywana w ustalonych, stabilnych warunkach (np. w bazie danych obrazowych dotyczących malarskich dzieł sztuki). 

Przy określaniu podobieństwa kolorów użyteczna stała się konwersja RGB do innych, lepiej opisujących ludzkie zdolności percepcji przestrzeni barw. W szczególnie korzystnej reprezentacji kolorów jedna składowa opisuje poziom jasności (sygnał luminancji), a dwie pozostałe dotyczą cech koloru (chrominancja). Warto tu wspomnieć o przestrzeniach takich jak  historyczne XYZ (z 1931 roku, niezależna, pozwalające określać kolory w sposób bezwzględny), YIQ (wykorzystywany w telewizji systemu NTSC), YCrCb (częsty w systemach kompresji obrazów i wideo rodzin JPEG oraz MPEG), YUV (wykorzystywany w telewizji systemu PAL), CIE Luv i CIE Lab (z nieliniowymi modelami dającymi równomierny rozkład percepcji barw, bazując na modelu Munsella) i inne. Różnice barw liczone w tych przestrzeniach lepiej wyrażają obserwowane zróżnicowanie barw, w sposób bardziej niezależny od uwarunkowań procesu akwizycji. Możliwa jest  optymalizacja przestrzeni kolorów wiernie odzwierciedlającej  warunki oświetlenia czy też niezmienniczej względem cieni. Efektem jest identyfikacja barwy teoretycznie zupełnie niezależnie od warunków obserwacji, jednak kosztem  utraty precyzji w szacowaniu wartości barwy, co może mieć wpływ na efektywność wyszukiwania.

Warto też nadmienić, że istniej wiele definicji określających poszczególne przestrzenie barw, np. CIE RGB, Adobe RGB, NTSC RGB, itd., przy czym szczególną pozycję zajmują normy międzynarodowego komitetu CIE (International Commission on Illumination (CIE).

Przykładowo, wzajemne konwersje wybranych przestrzeni barw opisują proste zależności:

  • RGB\rightarrowYCrCb, według CIE, zakładając R,G,B,Y \in [0,1],\ Cr,Cb \in [-0.5,0.5] 

\begin{equation}
\begin{split}
Y&=0,2989\cdot R + 0,5866\cdot G + 0,1145\cdot B \\
Cr&=0,5 \cdot R - 0,4183\cdot G - 0,0816\cdot B \\
Cb&=-0,1687\cdot R - 0,3312\cdot G + 0,5\cdot B 
\end{split}
\end{equation}

  • RGB\rightarrow XYZ, według Adobe RGB, zakładając R,G,B,Y,X,Z \in [0,1]

\begin{equation}
\begin{split}
Y&=0,2974 \cdot R + 0,6273\cdot G + 0,0753\cdot B \\
X&=0,5767\cdot R + 0,1856\cdot G + 0,1882\cdot B \\
Z&=0,0270\cdot R + 0,0707\cdot G + 0,9911\cdot B 
\end{split}
\end{equation}

Cały zestaw możliwych konwersji przestrzeni kolorów jest dostępny na stronie http://brucelindbloom.com/index.html?Math.html.

Podstawowym deskryptorem koloru jest histogram skwantowanych wartości składowych danej przestrzeni barw, np. HSV. W przypadku obrazów monochromatycznych, deskryptor koloru analogicznie opisuje rozkład poziomów jasności. Liczba przedziałów kwantyzacji histogramu powinna być kompromisem pomiędzy złożonością deskryptora, a jego reprezentatywnością, zależy też silnie od rodzaju obrazów. Jeśli gros informacji zawarta jest w przedziale barw jasnych, wówczas sensowne wydaje się zwiększenie liczby przedziałów kwantyzacji je reprezentujących, kosztem mniej istotnych barw ciemnych.

Niestety, skwantowany histogram nie ma cechy niezmienniczości względem niewielkich przesunięć średniego poziomu jasności obrazu. Takie przesunięcie może zmienić przypisanie wartości pikseli leżących na granicy przedziałów kwantyzacji, wpływając niekiedy znacząco na rozkład histogramu. Wadę tę można ograniczyć poprzez zastosowanie tzw.  histogramu rozmytego. Koncepcja histogramu rozmytego usuwa nieciągłość przypisania wartości pikseli do przedziałów histogramu. Pozwala uprościć histogram za pomocą zachodzących na siebie przedziałów kwantyzacji, rozumianych tutaj jako nośniki zbiorów rozmytych z określoną funkcją przynależności (twórcą teorii zbiorów rozmytych jest Lotfi A. Zadeh).

Rozważmy histogram oraz jego skwantowaną, uproszczoną postać, pozwalającą konstruować deskryptory koloru. Przyjmijmy, że każda z wartości pikseli f(k) (dla uproszczenia ustawionych w ciąg jednowymiarowy) obrazu źródłowego  \mathbf{f} należy do uporządkowanego rosnąco zbioru (alfabetu) wartości możliwych: f(k) \in A_{\mathbf{f}}=\{a_0,\ldots,a_{M-1}\}. Histogram, czyli rozkład koloru to zbiór \{h(m)\}_{m=0}^{M-1}, gdzie h(m)=h(a_m) oznacza liczbę wystąpień (w punktach k dziedziny obrazu) kolejnych poziomów jasności

h(m)=\#\{k | f(k)=a_m\}

(3.3) 

Pojęcie histogramu rozmytego nawiązuje do koncepcji kolorów reprezentatywnych, typowych dla obiektów czy tła występujących w danej klasie obrazów. Można go traktować jako alternatywny sposób opisu klasycznego schematu kwantyzacji, definiowanego za pomocą zbioru przedziałów kwantyzacji oraz wartości reprezentujących te przedziały. 
Kwantyzacja histogramu obrazów cyfrowych jest de facto kwantyzacją wtórną, będącą skutkiem redukcji dużego zbioru dyskretnych wartości źródłowych koloru \mathbf{f} do mniejszego zbioru możliwie najlepiej dobranych wartości reprezentatywnych \tilde{f}. Kwantyzacja rozkładu kolorów jest skutkiem działania operatora Q_f: \mathbb{Z}\rightarrow \mathbb{Z} przekształcającego Q_f\Big(f=a(m)\Big)=\Big(\tilde{f}=b(n)\Big) z alfabetem kolorów reprezentatywnych \tilde{f}(k) \in A_{\mathbf{\tilde{f}}}=\{b_0,\ldots,b_n,\ldots,b_{N-1}\}N oraz rozkładem kolorów reprezentatywnych 

\tilde{h}(n)=\#\{k | \tilde{f}(k)=b_n\}

(3.4) 

Tak uproszczony histogram spróbujmy przedstawić w konwencji histogramu rozmytego. Po normalizacji skwantowanego histogramu p(n) = \tilde{h}(n)/H_{\mathbf{f}}, gdzie H_{\mathbf{f}}=\sum_{m=0}^{M-1} h(m)==\sum_{n=0}^{N-1} \tilde{h}(n), histogram możemy zinterpretować w kategoriach prawdopodobieństwa, rozumiejąc p(n)=p(b_n)=Pr(b_n)=Pr(\tilde{f}=b_n) jako

p(n)=\sum_{k}^{H_{\mathbf{f}}} p(n|k)p(k)=\frac{1}{H_{\mathbf{f}}} \sum_{k=1}^{H_{\mathbf{f}}} p(n|k),\ \   \forall b_n \in A_{\mathbf{\tilde{f}}}

(3.5) 

gdzie p(k)=1/N jest prawdopodobieństwem, że dowolny piksel wybrany z \mathbf{f} jest pikselem k-tym. p(n|k) to  prawdopodobieństwo warunkowe, że wartość piksela z indeksem k przypisana jest przedziałowi skwantowanego koloru b_n; w klasycznym histogramie definiowane jest ono binarnie: p(n|k)=1 jeśli k-ty piksel należy do przedziału koloru b_n, zaś w innych przypadkach p(n|k)=0

W przypadku histogramu rozmytego, nawiązującego do teorii zbiorów rozmytych, warunkowe prawdopodobieństwo przynależności piksela (ze względu na jego wartość) do przedziału danego koloru zastępowane jest funkcją przynależności: \mu: \mathbb{Z}\rightarrow [0,1] określającą relację wartości każdego piksela do wszystkich przedziałów skwantowanych kolorów b_n w sposób mniej jednoznaczny, z możliwą niezerową przynależnością f_k do więcej niż jednego przedziału. Ustalenie wartości \mu(n,k)=\mu(b_n,f_k)=\mu(b_n,f_k=a_m)=\mu(b_n,a_m) może się odbywać na podstawie znormalizowanej odległości realnego koloru piksela f_k=a_m od b_n, reprezentującego określony przedział wartości koloru źródłowego \{a_m|a_m \in [b_{n-1},b_{n+1}]\}, przy czym najlepiej, jak odległość ta uwzględnia zróżnicowanie ich percepcji, najlepiej w przestrzeni CIE Lab z percepcyjnie równomiernymi przedziałami wartości kolorów. Pozwala to na realizację prostszego obliczeniowo równomiernego rozkładu wartości kolorów reprezentatywnych, tak że b_n-b_{n-1}=constant. Głównym zamysłem jest bowiem przypisanie każdemu z pikseli percepcyjnego znaczenia (istotności) jego koloru poprzez odniesienie do wartości reprezentatywnych. Spodziewanym efektem jest rozkład kolorów, który odzwierciedla zróżnicowanie cech percepcji kolorów obrazu, niezależnie od innych czynników (zmian oświetlenia, szum, itd.). 

Przez analogię do zapisu histogramu klasycznego, otrzymujemy

r(n)=\sum_k^{H_{\mathbf{f}}} \mu(n,k)p(k)=\frac{1}{H_{\mathbf{f}}}\sum_{k=1}^{H_{\mathbf{f}}} \mu(n,k),\ \ \forall b_n \in A_{\mathbf{\tilde{f}}} 

(3.6) 

r(n) jest zbiorem rozmytym na przestrzeni wartości pikseli obrazu \mathbf{f}, z funkcją przynależności \mu(n,k) do przedziałów kolorów reprezentatywnych b_n, o następujących cechach:

  • nośnikiem zbioru rozmytego r(n), czyli   \{f(k)|\mu(n,k)>0\}, jest zbiór \{f(k)|f(k) \in [b_{n-1},b_{n+1}]\}
  • \mu(n,k)=1 dla pikseli, których wartość jest dokładnie równa wartości koloru reprezentatywnego f(k)=b_n (piksele te należą do rdzenia r(n)); 
  • mu(n,k) jest ciągła, monotonicznie rosnąca na przedziale [b_{n-1},b_n] i malejąca na przedziale [b_n,b_{n+1}], symetryczna względem b_n 
  • spełniona jest zależność
\sum_n \mu(n,k)=1, \ \ \forall k=1,\ldots, H_{\mathbf{f}} 

(3.7) 

Na rysunku 3.1 przedstawiono typową funkcję przynależności w postaci dwóch przesuniętych o połowę okresu funkcji trójkątnych. Analogicznie można skonstruować \mu dla kolejnych przedziałów kolorów reprezentatywnych za pomocą funkcji trygonometrycznych (dwóch kosinusów przesuniętych o \pi).


Rys. 3.1 Ilustracja trójkątnej funkcji przynależności wykorzystywanej przy wyznaczaniu rozmytego histogramu obrazu.