2. Komputerowa obróbka danych

2.4. Operacje histogramowe

Histogram obrazu jest graficzną reprezentacją rozkładu wartości pikseli (inaczej wartości funkcji jasności lub poziomów jasności) w obrazie. Każda z wartości pikseli f(k,l)obrazu \mathbf{f} należy do uporządkowanego rosnąco zbioru (alfabetu) wartości możliwych: f(k,l) \in A_{\mathbf{f}}=\{a_0,\ldots,a_{M-1}\}. Liczba wystąpień  kolejnych poziomów jasności (inaczej, liczba pikseli dziedziny obrazu \Omega_f z określonym poziomem jasności) h(m)dla m=0,\ldots,M-1, takich że 

h(m)=\#\{(k,l) \in \Omega_f | f(k,l)=a_m\}

(4.5) 

stanowi histogram prezentowany w określonej formie graficznej (zwykle wykresu słupkowego, niekiedy w postaci tablicy par wartości (a_m,h(m))

Histogram charakteryzuje globalne skontrastowanie obrazu, przy czym rozkład zbliżony do równomiernego świadczy zasadniczo o ''dobrym'' kontraście i zachowanej równowadze pomiędzy obszarami o różnej jasności. Zachwianie tej równowagi może w klasycznych zobrazowaniach oznaczać deficyt obszarów jasnych czy ciemnych, lub też dowodzić zbytniej polaryzacji (np. czarno-białej) rozkładu wartości pikseli. Wyjątkiem są obrazy specjalistyczne, kiedy to same zasady pomiaru i przebieg procesu akwizycji narzucają niekiedy silne nierównomierności histogramów. W takich przypadkach rozważa się niekiedy histogramy lokalne, liczone jedynie w obszarach zainteresowań jako wskaźniki ich  podatności na percepcję określonych szczegółów obrazu. Zachowanie kryterium równomierności rozkładów pozwala wtedy kontrolować kontrast w przekazie informacji obrazowej. 

Przykładowe histogramy naturalnych obrazów testowych, świadczące o ich globalnym kontraście przedstawiono na rys. 4.3.

Rys. 4.3 Przykładowe histogramy wybranych obrazów naturalnych, o zróżnicowanych walorach kontrastu globalnego (pod każdym z obrazów umieszczono jego histogram w zakresie wartości 0--255).

Podstawowymi operacjami wykonywanymi na histogramie, które służą poprawie kontrastu w obrazie są: a) rozciąganie, czyli rozszerzenie histogramu na cały zakres możliwych wartości alfabetu -- od głębokiej czerni do wysyconej bieli, b) wyrównywanie, czyli przekształcanie histogramu do postaci rozkładu możliwie równomiernego, c) przekształcanie histogramu do założonej a priori postaci rozkładu nierównomiernego.  Dyskretna -- ziarnista postać histogramu stanowi realne ograniczenie przy próbach korekcji histogramu w celu poprawy poziomu skontrastowania obrazów. Poprawa oznacza tutaj przybliżenie kształtu histogramu obrazu źródłowego do rozkładu zamierzonego, by uzyskać efekt większego zróżnicowania odczytywanej treści.

Rozciąganie histogramu do zamierzonego przedziału wartości pikseli   [0,a_{M-1}] oznacza przeliczenie wartości pikseli według prostej formuły:

\bar{f}(k,l)=\dfrac{f(k,l)-\min_{\mathbf{f}}\{f(k,l)\}}{\max_{\mathbf{f}} \{f(k,l)\} - \min_{\mathbf{f}} \{f(k,l)\}} \cdot a_{M-1}  

(4.6) 

powodując pełne wykorzystanie dynamiki dopuszczonej formatem źródłowym, a opisanej alfabetem A_{\mathbf{f}}. Przykładowy efekt rozjaśnienia obrazu poprzez rozciąganie histogramu ukazano na rys. 4.4. 

Rys. 4.4 Efekt rozciągania histogramu medycznego obrazu testowego (wybranej warstwy badania tomografii komputerowej głowy) -- u góry obraz źródłowy z histogramem wykazującym brak wartości pikseli w zakresie poziomów najjaśniejszych, u dołu - obraz ze zwiększonym kontrastem wskutek rozciągnięcia histogramu na pełen zakres dopuszczalnych wartości.

Wyrównywanie tudzież przekształcenie histogramu do innej, zamierzonej z góry postaci bazuje na przybliżonej znormalizowanym histogramem funkcji gęstości prawdopodobieństwa i wykorzystuje zasadę równoważenia prawdopodobieństw skumulowanych dla dwóch odmiennych rozkładów: wartości źródłowych oraz docelowego.

W znormalizowanym histogramie liczba zliczeń poszczególnych poziomów jasności odniesiona jest do liczby wszystkich  pikseli obrazu: H_{\mathbf{f}}=\sum_{m=0}^{M-1} h(m), służąc jako przybliżenie prawdopodobieństw wystąpienia kolejnych wartości alfabetu: p(m) = h(m)/H_{\mathbf{f}}, tak że rozumiemy p(m)=p(a_m)=Pr(a_m)=Pr(f=a_m). Zbiór \{p(m)\}_0^{M-1}taki że \sum_{m=0}^{M-1} p(m) = 1 wykorzystywany jest w analizie statystycznej do estymacji funkcji gęstości prawdopodobieństwa metodą częstościową, a to z kolei pozwala konstruować stochastyczne metody modelowania i przetwarzania obrazów.

Problem wyrównania histogramu (ogólniej dopasowania postaci histogramu do zamierzonej formy) sprowadza się do przekształcenia S: \mathbf{f} \rightarrow \mathbf{g}obrazu źródłowego, opisanego znormalizowanym histogramem \{p_f(m)\}, w obraz o histogramie równomiernym (\emph{de facto} zbliżonym do równomiernego) lub innym zamierzonym \{p_g(n)\}. W tym celu wykorzystuje się skumulowany histogram obrazu jako ''sumator'' kolejnych wartości p_f(m)porównywanych z poziomami skumulowanego rozkładu prawdopodobieństw p_g(n). Indeksy mi nprzebiegają przez kolejne elementy alfabetów odpowiednio A_{\mathbf{f}}=\{a_0,\ldots,a_{M-1}\}i A_{\mathbf{g}}=\{b_0,\ldots,b_{N-1}\}.   

Precyzyjniej, skumulowany histogram estymuje skumulowane prawdopodobieństwo (inaczej dyskretną dystrybuantę) dla rozkładu prawdopodobieństw poziomów jasności postaci:

P(f\leq a_m)=P_f(a_m)=\sum_{k=0}^m p_f(k)

(4.7) 

Na podstawie histogramu zamierzonego można analogicznie ustalić dyskretną dystrybuantę P_g(b_n)=\sum_{l=0}^n p_g(l). Ponieważ dystrybuanty obu rozkładów są monotonicznie rosnące, dla ustalonego nmożna dobrać takie m, które zapewni równość obu dystrybuant: P_g(b_n)oraz P_f(a_m), co można rozpisać jako

\sum_{l=0}^n p_g(b_l) \cong \sum_{k=0}^m p_f(a_k)

(4.8) 

Przybliżona równość pomiędzy skumulowanymi histogramami jest zwykle rozumiana jako P_f(a_m)najbliższy P_g(b_n)-- nie sposób bowiem dokładnie dopasować skokowych zmian wartości dyskretnych dystrybuant obu rozkładów prawdopodobieństwa. Na tej podstawie można ustalić regułę wyznaczenia poziomów jasności obrazu przekształconego w sposób następujący: b_n=P_g^{-1}(P_f(a_m))=S(a_m).
W przypadku rozkładów ciągłych warunek równości dystrybuant

P_g(b_n)=P_f(a_m)

(4.9) 

realizowany jest z dowolną precyzją, podobnie jak przekształcony histogram może dokładnie odpowiadać zamierzonemu. Zamiast alfabetów mamy wtedy przedziały f=a_m \in [a_0,a_{M-1}]oraz g=b_n \in [b_0,b_{N-1}], co daje rozwiniętą postać warunku (4.9): \int_0^{b_n} p_g(g) dg = \int_0^{b_m} p_f(f) df, czyli analogicznie (g=b_n)=P_g^{-1}(P_f(a_m))

W przypadku równomiernego rozkładu P_g(b_n)można przyjąć (dla uproszczenia rozważań), że określono jego postać przy znormalizowanych wartościach poziomów jasności g \in [0,1], co daje P(g \leq 1)=1, a P(g \leq b_n)=P_g(b_n)=b_n. Na podstawie (4.9) można wtedy zapisać, że znormalizowane 

b_n=S(a_m)=P_f(a_m).

(4.10) 

Bardziej ogólnie można zapisać g=P_f(f)\cdot (b_{N-1}-b_0)+b_0. Analityczna postać funkcji przekształceń obrazów według docelowych postaci ich histogramów w przypadku np.rozkładu wykładniczego postaci:

P_g(g)=\alpha \exp\{-\alpha(g-b_0)\} 

(4.11) 

wygląda następująco: 

g=b_0 - 1/\alpha \ln [1-P_f(f)]

(4.12) 

zaś dla rozkładu Rayleigha 

P_g(g)=\dfrac{g-b_0}{\alpha^2}\exp \Bigl\{-\dfrac{(g-b_0)^2}{2\alpha^2} \Bigr\}

(4.13) 

mamy 

g=b_0+ \Bigl [2\alpha^2 \ln(\frac{1}{1-P_f(f)}) \Bigr ]^{1/2}

(4.14) 

W przypadku rzeczywistych histogramów dyskretnych stosowanie zależności analitycznych jest rzadko przydatne. Korzystając z ustaleń (4.10) można jednak zaproponować prosty algorytm wyrównywania histogramu -- algorytm 4.1}.

Algorytm 4.1 Wyrównanie histogramu obrazu

  • Wyznacz histogram obrazu źródłowego \mathbf{f}, taki że \\ f(k,l)=a_m \Rightarrow h_f(m)=h_f(m)+1na podstawie wartości wszystkich H_{\mathbf{f}}pikseli obrazu, takich że f(k,l) \in A_{\mathbf{f}};
  • Wyznacz źródłowy histogram skumulowany, taki że \\ P_f(a_m)=P_f(a_{m-1})+h_f(m);
  • Oblicz wartości funkcji jasności obrazu docelowego, przyporządkowane poszczególnym a_mwedług zależności
b_n= \Biggl \lceil P_f(a_m) \cdot b_{N-1}\Biggr \rfloor

(4.15) 

gdzie operator \lceil \rflooroznacza przybliżenie do najbliższego symbolu alfabetu A_{\mathbf{g}};

  • Wyznacz postać obrazu przetworzonego \mathbf{g}, tak że \forall_{(k,l)} f(k,l)=a_m \Rightarrow g(k,l)=b_nwedług (4.15). Zakończ.

Przykładowy efekt wyrównywania histogramu przedstawiono na rys. 4.5. Pomimo tego, iż obraz źródłowy był dość dobrze skontrastowany i histogram niewiele odbiegał od równomiernego, uzyskano wyraźny efekt wyostrzenia kontrastu -- co zresztą w tym przypadku niekoniecznie oznacza poprawę jakości z punktu widzenia obserwatora. Bardziej przekonujący efekt ulepszenia obrazu poprzez wyrównanie histogramu widać na rys. 4.6. Przekonujące wydobycie szeregu niewidocznych informacji uzyskano na rys. 4.7 - u góry, zaś mało korzystny efekt utraty subtelnych zróżnicowań jasności o charakterze ciągłym (rys. 4.7 - u dołu) wskazuje, że nie w każdym przypadku wyrównywanie histogramu jest  korzystne.

 

Rys. 4.5 Efekt wyrównania histogramu obrazu testowego lena -- po lewej obraz źródłowy z histogramem, po prawej - obraz z ulepszonym kontrastem wskutek wyrównania histogramu.

 
Rys. 4.6 Wyrównywanie histogramu fragmentu mammogramu z guzem spikularnym -- u góry obraz źródłowy z histogramem, u dołu - obraz z wyrównanym histogramem.

Rys. 4.7  Efekt wyrównania histogramu obrazów testowych tomografii komputerowej oraz ''target'' -- po lewej obraz źródłowy, po prawej - obraz ze zwiększonym kontrastem wskutek wyrównania histogramu.

Aby przekształcić histogram obrazu do innej niż równomierna, założonej z góry formy, należy złożyć dwa rodzaje przekształceń: obrazu źródłowego do pomocniczej formy pośredniej o histogramie w przybliżeniu równomiernym: S_1: \mathbf{f} \rightarrow \mathbf{p}_roraz obrazu docelowego do analogicznej formy pośredniej: S_2: \mathbf{g} \rightarrow \mathbf{p}_r. Wtedy uzyskamy S_2^{-1} \cdot S_1: \mathbf{f} \rightarrow \mathbf{g}. Przykładowy efekt przekształcenia obrazu źródłowego według docelowego histogramu opisanego rozkładem Rayleigha (postaci (4.13) zamieszczono na rys. 4.8. Rozciągnięcie informacji z zakresu poziomów jasnych pozwala lepiej uwidocznić strukturę patologii - guza spikularnego, czyli obiektu diagnostycznego zainteresowania. Na rys. 4.9 znajduje się inny przykład uwidocznienia guza poprzez binaryzację bardzo wąskiego histogramu źródłowego, liczonego w wybranym regionie zainteresowania.   

Rys. 4.8 Przekształcenie mammogramu z zaznaczonym guzem spikularnym  w celu uzyskania postaci histogramu zbliżonej do rozkładu Rayleigha -- po lewej obraz źródłowy z histogramem (liczonym jedynie dla obszaru sutka), po prawej - obraz przekształcony z dopasowanym histogramem. Przykład zaczerpnięty z literatury.

Rys. 4.9 Przekształcenie fragmentu mammogramu z prawie niewidocznym guzem celem binaryzacji histogramu docelowego -- u góry obraz źródłowy z histogramem, poniżej - obraz przekształcony z dopasowanym histogramem.

Innym sposobem korekty histogramu do zadanej empirycznie postaci jest odniesienie do kontrastowej charakterystyki wybranych regionów obrazu i na tej podstawie korygowanie histogramu całego obrazu np. według algorytmu 4.1. Na rys. 4.10 ukazano efekty wyrównywania histogramu na podstawie lokalnej statystyki wartości pikseli. W takim przypadku można uzyskać efekt silniejszego rozjaśnienia obrazu, czy wręcz niemal binaryzacji histogramu docelowego. 

Rys. 4.10 Efekt wyrównania histogramu obrazu testowego lena na podstawie lokalnego histogramu z obszaru wskazanego prostokątem -- pod ulepszanymi (choć niekoniecznie ulepszonymi) obrazami zamieszczono ich przekształcone histogramy (w stosunku do źródłowego histogramu z rys. 4.5.

Jeszcze inną kategorię stanowią metody adaptacyjnego wyrównywania histogramu -- AHE (Adaptive Histogram Equalization) na podstawie lokalnych estymat histogramu liczonych w blokach przyległych lub zachodzących na siebie, o dobranych rozmiarach, z interpolacją zapeniającą ciągłość funkcji jasności na granicach obszarów przekształcanych niezależnie. Dodatkowo stosowane są metody ograniczania kontrastu (dynamiki) -- CLAHE, czyli Contrast-limited Adaptive Histogram Equalization.