Zastosowanie techniki KHM (k-średnich harmonicznych) w przetwarzaniu obrazów barwnych

Podobne dokumenty
Strata barwności obrazu w procesie kwantyzacji barwy

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Aproksymacja funkcji a regresja symboliczna

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Grupowanie Witold Andrzejewski, Politechnika Poznańska, Wydział Informatyki 201/633

SCENARIUSZ LEKCJI. TEMAT LEKCJI: Zastosowanie średnich w statystyce i matematyce. Podstawowe pojęcia statystyczne. Streszczenie.

Akwizycja obrazów. Zagadnienia wstępne

Hierarchiczna analiza skupień

Programowanie celowe #1

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Analiza składowych głównych. Wprowadzenie

Grafika komputerowa. Dla DSI II

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Analiza skupień. Analiza Skupień W sztucznej inteligencji istotną rolę ogrywają algorytmy grupowania

Kompresja danych DKDA (7)

Optymalizacja ciągła

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Algorytm grupowania danych typu kwantyzacji wektorów

przetworzonego sygnału

Charakterystyki liczbowe (estymatory i parametry), które pozwalają opisać właściwości rozkładu badanej cechy (zmiennej)

GRAFIKA RASTROWA. WYKŁAD 1 Wprowadzenie do grafiki rastrowej. Jacek Wiślicki Katedra Informatyki Stosowanej

Inteligentna analiza danych

Zmienne zależne i niezależne

METODY CHEMOMETRYCZNE W IDENTYFIKACJI ŹRÓDEŁ POCHODZENIA

Politechnika Świętokrzyska. Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 8. Filtracja uśredniająca i statystyczna.

Sposoby opisu i modelowania zakłóceń kanałowych

Zamiana reprezentacji wektorowej na rastrową - rasteryzacja

Wykład 5: Statystyki opisowe (część 2)

Wykład 4: Statystyki opisowe (część 1)

Metody systemowe i decyzyjne w informatyce

Grafika na stronie www

SPOTKANIE 6: Klasteryzacja: K-Means, Expectation Maximization

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki

INFORMATYKA WSTĘP DO GRAFIKI RASTROWEJ

Analiza składowych głównych

PODSTAWY BARWY, PIGMENTY CERAMICZNE

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

LABORATORIUM PODSTAW TELEKOMUNIKACJI

Metody numeryczne Technika obliczeniowa i symulacyjna Sem. 2, EiT, 2014/2015

Teoria światła i barwy

Rozpoznawanie obrazów

Co to jest grupowanie

W kolejnym kroku należy ustalić liczbę przedziałów k. W tym celu należy wykorzystać jeden ze wzorów:

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

Analiza głównych składowych- redukcja wymiaru, wykł. 12

Uczenie sieci typu MLP

i ruchów użytkownika komputera za i pozycjonujący oczy cyberagenta internetowego na oczach i akcjach użytkownika Promotor: dr Adrian Horzyk

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

166 Wstęp do statystyki matematycznej

Implementacja filtru Canny ego

Elementy statystyki wielowymiarowej

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny.

Obraz jako funkcja Przekształcenia geometryczne

WYKŁAD 9 METODY ZMIENNEJ METRYKI

9. OBRAZY i FILTRY BINARNE 9.1 Erozja, dylatacja, zamykanie, otwieranie

Wykład II. Reprezentacja danych w technice cyfrowej. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Przetwarzanie obrazów wykład 4

Analiza obrazów. Segmentacja i indeksacja obiektów

Wyszukiwanie obrazów 1

Do opisu kolorów używanych w grafice cyfrowej śluzą modele barw.

Weryfikacja hipotez statystycznych

Spacery losowe generowanie realizacji procesu losowego

CLUSTERING. Metody grupowania danych

Algorytm grupowania danych typu kwantyzacji wektorów

Kwantyzacja wektorowa. Kodowanie różnicowe.

Grafika rastrowa (bitmapa)-

Przedmowa 11 Ważniejsze oznaczenia 14 Spis skrótów i akronimów 15 Wstęp 21 W.1. Obraz naturalny i cyfrowe przetwarzanie obrazów 21 W.2.

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

Systemy uczące się Lab 4

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

GRAFIKA. Rodzaje grafiki i odpowiadające im edytory

FORMATY PLIKÓW GRAFICZNYCH

Marcin Wilczewski Politechnika Gdańska, 2013/14

Przetwarzanie obrazu

Przetwarzanie obrazów rastrowych macierzą konwolucji

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L,

Elementy modelowania matematycznego

Statystyka opisowa. Wykład I. Elementy statystyki opisowej

Analiza obrazów - sprawozdanie nr 2

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

Wektory, układ współrzędnych

Wprowadzenie do analizy korelacji i regresji

operacje porównania, a jeśli jest to konieczne ze względu na złe uporządkowanie porównywanych liczb zmieniamy ich kolejność, czyli przestawiamy je.

Wyszukiwanie binarne

METODY INŻYNIERII WIEDZY

Agnieszka Nowak Brzezińska Wykład III

ALGORYTMICZNA I STATYSTYCZNA ANALIZA DANYCH

WYKŁAD 10. kodem pierwotnym krzywej jest ciąg par współrzędnych x, y kolejnych punktów krzywej: (x 1, y 1 ), (x 2, y 2 ),...

Identyfikacja istotnych atrybutów za pomocą Baysowskich miar konfirmacji

Stochastyczne Metody Analizy Danych. PROJEKT: Analiza kluczowych parametrów turbin wiatrowych

Transkrypt:

Politechnika Śląska Wydział Automatyki, Elektroniki i Informatyki Zastosowanie techniki KHM (k-średnich harmonicznych) w przetwarzaniu obrazów barwnych Mgr inż. Mariusz Frąckiewicz praca doktorska wykonana pod kierunkiem Dr hab. inż. Henryka Palusa, Prof. nzw. w Pol. Śl. GLIWICE, 211

Pragnę złożyć podziękowania promotorowi Dr hab. inż Henrykowi Palusowi, Prof. nzw. w Pol. Śl. za cenne rady i dyskusje, które zaowocowały powstaniem pracy w obecnej formie. Ponadto dziękuję Prof. dr hab. inż. Andrzejowi Świerniakowi za wieloletnią opiekę naukową i stworzenie optymalnych warunków do pracy badawczej w Zakładzie Inżynierii Systemów. A nade wszystko dziękuję mojej Żonie, której codzienne wsparcie pozwoliło mi na ukończenie niniejszej rozprawy.

Spis treści 1 Wprowadzenie i geneza pracy 1 1.1 Cel i tezy pracy.................................. 2 1.2 Organizacja pracy................................ 2 2 Klasteryzacja pikseli 4 2.1 Idea klasteryzacji danych............................ 4 2.2 Techniki KM i KHM............................... 5 3 Wybrane metody oceny jakości obrazu 9 3.1 Miary pochodzące z teorii sygnałów...................... 9 3.2 Miary jakości uwzględniające percepcję barwy................. 1 3.3 Wskaźniki jakości klasteryzacji danych..................... 12 3.4 Wskaźniki jakości obrazu posegmentowanego................. 14 4 Technika KHM w kwantyzacji barwy 16 4.1 Pojęcie kwantyzacji barwy............................ 16 4.2 Metody inicjalizacji technik KM i KHM.................... 18 4.3 Wyniki kwantyzacji barwy dla KM i KHM................... 39 4.4 Problem pustych klastrów............................ 55 4.5 Wpływ zakłóceń na KM i KHM........................ 58 5 Technika KHM w segmentacji obrazu 68 5.1 Segmentacja obrazu............................... 68 5.2 Wyniki segmentacji obrazu dla KM i KHM.................. 71 6 Akceleracja obliczeń 79 6.1 Układy wielordzeniowe i programowanie równoległe.............. 79 6.2 Zrównoleglenie obliczeń w KM i KHM..................... 81 6.3 Badania doświadczalne.............................. 85 7 Podsumowanie 93 Bibliografia 95 Spis rysunków 12 Spis tabel 16

Wykaz skrótów i akronimów KM - (ang. k-means technique) technika k-średnich KHM - (ang. k-harmonic means technique) technika k-średnich harmonicznych MSE - (ang. Mean Squared Error) błąd średniokwadratowy PSNR - (ang. Peak Signal to Noise Ratio) szczytowy stosunek sygnału do szumu INTRA - (ang. Intra cluster distance) średnia odległość wewnątrzklastrową INTER - (ang. Inter cluster distance) odległość międzyklastrowa CIE - (ang. International Commission on Illumination) Międzynarodowa Komisja Oświetleniowa DB - (ang. Davies-Bouldin index) wskaźnik walidacyjny Daviesa-Bouldina VMF - (ang. Vector Median Filter) filtr oparty na wektorowej medianie DC - (ang. Diagonal of Cube Initialization) metoda inicjalizacji z przekątnej sześcianu RGB MM - (ang. Min - Max Initialization) metoda inicjalizacji oparta na wartościach minimalnych i maksymalnych HIST - (ang. Histogram Initialization) metoda inicjalizacji wykorzystująca histogram barw w obrazie SD - (ang. Standard Deviation Initialization) metoda inicjalizacji oparta na statystycznych parametrach chmury pikseli MC - (ang. MedianCut Initialization) metoda inicjalizacji wykorzystująca algorytm MedianCut WU - (ang. Wu Initialization) metoda inicjalizacji wykorzystująca wyniki algorytmu Wu FPGA - (ang. Field Programmable Gate Array ) programowalny układ logiczny CPU - (ang. Central Processing Unit) urządzenie cyfrowe sekwencyjne (procesor), które pobiera dane z pamięci, interpretuje je i wykonuje jako rozkazy GPGPU - (ang. General-Purpose Computing on Graphics Processing Units) obliczenia ogólnego przeznaczenia na układach graficznych GPU Th - (ang. Threads) wątki programu komputerowego Cr - (ang. CPU Cores) rdzenie procesora

Rozdział 1 Wprowadzenie i geneza pracy Obraz barwny zapewnia znacznie bogatszą informację o przedstawianych obiektach, ich lokalizacji w obrazie oraz cechach niż jego achromatyczny odpowiednik. Gwałtowny postęp technologiczny sprawił, że pozyskiwanie, przetwarzanie, składowanie, transmisja czy też analiza obrazów barwnych, często wysokiej rozdzielczości, nie stanowi większego problemu. Przyczynia się to obecnie do częstszego stosowania obrazów barwnych niż achromatycznych. Obraz barwny reprezentowany jest zazwyczaj poprzez złożenie trzech obrazów monochromatycznych, z których każdy zawiera informację na temat jednej ze składowych przestrzeni barw. Najczęściej wykorzystywaną przestrzenią barw jest obecnie przestrzeń RGB, która charakteryzuje się wysokim stopniem korelacji składowych. Piksele obrazu są opisane, oprócz współrzędnych przestrzennych, przede wszystkim za pomocą składowych barwy: czerwonej - R, zielonej - G i niebieskiej - B. Techniki przetwarzania obrazu, które dają zadowalające rezultaty dla obrazów barwnych, da się z powodzeniem stosować do obrazów achromatycznych, w których składowe barwy RGB są sobie równe. Zastosowanie technik, które dobrze działają na obrazach achromatycznych do obrazów barwnych niestety nie zawsze daje dobre rezultaty ze względu na skorelowanie składowych barw oraz rozkład energii pomiędzy te składowe [4, 71]. Kwantyzacja barwy jest zagadnieniem, które powstało w wyniku ograniczeń technologicznych występujących w urządzeniach pozyskujących, drukujących i wyświetlających cyfrowe obrazy. Problem ten pomimo upływu czasu i postępu technologicznego występuje do dnia dzisiejszego. Przykładem mogą być tutaj wyświetlacze aparatów cyfrowych, telefonów komórkowych itd., w których paleta dostępnych barw jest ograniczona. W dalszym ciągu trwają poszukiwania algorytmów kwantyzacji barwy dających jak najlepsze rezultaty. Segmentacja obrazu jest nieodzownym elementem działania każdego systemu wizyjnego. Od jakości segmentacji zależy jakie decyzje wypracuje system analizujący daną sytuację. Systemy wizyjne w czasach coraz dalej idącej automatyzacji procesów wytwarzania i tworzenia systemów bezpieczeństwa, odgrywają coraz większą rolę. Techniki grupowania danych (klasteryzacji) mają bardzo szeroki zakres zastosowań. Mogą one być wykorzystywane w procesach takich jak np. grupowanie zadań, ekstrakcja informacji, eksploracja danych oraz również w cyfrowym przetwarzaniu obrazów barwnych. Stosując techniki grupowania w przetwarzaniu obrazów operujemy na pikselach, które stanowią klasteryzowane dane. Elementy jednego klastra są do siebie bardziej podobne ze względu na pewne kryteria podobieństwa np. ich barwę, położenie w obrazie itp. niż do elementów innego klastra. Klasteryzacja jest zazwyczaj procesem iteracyjnym i nienadzo-

1.1. CEL I TEZY PRACY 2 rowanymi, a także nie wykorzystuje wiedzy a priori na temat klasyfikowanych danych. W minionym wieku powstało wiele różnych technik klasteryzacji. Technika k-średnich (ang. k-means, KM) [2,53] jest jednym z najstarszych reprezentantów technik klasteryzacyjnych, natomiast technika k-średnich harmonicznych (ang. k-harmonic means, KHM) [95,96] zaproponowana w roku 1999 jest nowym podejściem stanowiącym rozwinięcie KM. Problematyka ta jest w dalszym ciągu intensywnie analizowana i rozwijana ze względu na dużą przydatność w klasyfikacji różnorodnych danych i szerokie spektrum zastosowań. 1.1 Cel i tezy pracy Celem pracy doktorskiej były badania nad możliwością zastosowania nowych technik klasteryzacji w przetwarzaniu obrazów barwnych. Techniki te zostały wykorzystane w operacjach kwantyzacji barwy i segmentacji obrazu [16]. Wykorzystanie techniki KHM do kwantyzacji barwy jest podejściem autorskim, nie spotykanym dotąd w literaturze. Badaniu poddane zostały różne metody inicjalizacji dla technik KM i KHM. Ze względu na dominujące w literaturze losowe podejście do etapu inicjalizacji, zaproponowane zostały nielosowe, heurystyczne metody inicjalizacji: DC, M M, HIST, SD [19,24,69] generujące dobrej jakości powtarzalne wyniki dla obrazów barwnych. Do celów inicjalizacji wykorzystano też znane algorytmy podziałowe: MedianCut oraz algorytmu Wu. Przebadano także techniki KM i KHM pod kątem zjawiska powstawania pustych klastrów w procesie klasteryzacji. Badania były prowadzone w przestrzeni barw RGB oraz w CIEL a b, która jest uważana za przestrzeń równomierną percepcyjnie. Różnica barw wyznaczana jako odległość euklidesowa w CIEL a b jest używana między innymi do oceny jakości reprodukcji obrazów barwnych. Przeprowadzone badania i uzyskane wyniki pozwoliły na sformułowanie następujących tez rozprawy doktorskiej: Technika k-średnich harmonicznych w porównaniu z klasyczną techniką klasteryzacji k-średnich, pozwala na uzyskanie lepszych wyników w kwantyzacji i segmentacji obrazów barwnych. Zastosowanie algorytmu podziałowego do inicjalizacji techniki k-średnich umożliwia poprawę efektywności klasteryzacji w stosunku do rozpatrywanych metod heurystycznych. Wykorzystanie przestrzeni barw CIEL a b zapewnia wyższą jakość klasteryzacji w porównaniu do wyników uzyskiwanych w przestrzeni RGB. 1.2 Organizacja pracy Praca składa się z siedmiu rozdziałów wraz z podrozdziałami. Rozdział pierwszy zawiera cel pracy oraz tezy rozprawy doktorskiej. Rozdział 2 omawia pojęcie klasteryzacji danych w zastosowaniu do obrazów barwnych. Została w nim opisana ogólna idea klasteryzacji pikseli. Przedstawiono także opis technik klasteryzacyjnych KM i KHM.

1.2. ORGANIZACJA PRACY 3 Rozdział 3 poświęcony został problemowi oceny jakości obrazu barwnego poddanego przetwarzaniu. Zostały tutaj opisane wybrane miary z zakresu teorii sygnałów stosowane do oceny jakości obrazów, a także wybrane miary uwzględniające percepcję barwy. Przedstawiono także wskaźniki jakości klasteryzacji danych i wskaźniki jakości dla obrazu posegmentowanego. Rozdział 4 opisuje problem kwantyzacji barwy. Porusza również problematykę związaną z inicjalizacją technik KM i KHM. Opisane w nim zostały zaproponowane metody inicjalizacji dla technik KM i KHM. Rozdział ten przedstawia problem powstawania pustych klastrów przy niewłaściwej inicjalizacji techniki KM. Prezentuje uzyskane wyniki badań nad zastosowaniem technik KM i KHM do kwantyzacji barwy w cyfrowych obrazach barwnych. Zawiera także porównanie osiągniętych rezultatów z wynikami uzyskanymi przy zastosowaniu innych znanych algorytmów kwantyzacji barwy. W rozdziale opisano również odporność technik KM i KHM na zakłócenia występujące w obrazach. Rozdział 5 został poświęcony operacji segmentacji cyfrowych obrazów barwnych. Przedstawiono tutaj podstawowe informacje na temat segmentacji obrazu. W rozdziale tym zamieszczono także wyniki badań nad zastosowaniem technik KM i KHM do segmentacji biomedycznych obrazów barwnych. Przedstawiono wpływ operacji przetwarzania końcowego na wyniki segmentacji. W rozdziale 6 opisano rozwiązanie pozwalające na przyśpieszenie obliczeń poprzez wykorzystanie współczesnych konstrukcji procesorów wielordzeniowych oraz ich zrównoleglenie. Zestawione zostały uzyskiwane przyśpieszenia oraz czasy obliczeń wykonanych na stacjach testowych. Pracę podsumowuje rozdział 7 zawierający najważniejsze wnioski z przeprowadzonych badań. W końcowej części zamieszczono wykaz cytowanych pozycji literaturowych, które zostały wykorzystane podczas powstawania niniejszej pracy.

Rozdział 2 Klasteryzacja pikseli 2.1 Idea klasteryzacji danych Klasteryzacja (ang. clustering) jest procesem podziału pewnego zbioru danych na podzbiory podobne do siebie pod względem przyjętego kryterium podobieństwa, nazywane klastrami (ang. cluster). Zadaniem klasteryzacji jest dokonanie podziału danych na klastry, których elementy są maksymalnie podobne do siebie wewnątrz podzbioru do którego należą i jednocześnie maksymalnie się różnią od elementów pozostałych podzbiorów. W literaturze można spotkać wiele różnych technik klasteryzacji danych [94]. Cyfrowy obraz barwny jest uporządkowanym zbiorem pikseli opisanych zazwyczaj za pomocą trzech składowych barwy. Różne kombinacje tych składowych definiują konkretne barwy. Barwy w obrazach naturalnych tworzą grupy (skupienia, klastry) w trójwymiarowej przestrzeni barw. Grupowanie w obrazie barwnym to proces nienadzorowanej klasyfikacji setek tysięcy lub milionów pikseli na podstawie podobieństwa ich barwy. Rozdzielczość obrazu decyduje o liczbie pikseli poddawanych grupowaniu, a ich składowe opisujące barwę (najczęściej RGB) są cechami decydującymi o przynależności do klastrów. Barwy dominujące w obrazie, ściśle korespondują z przedstawionymi obiektami i tworzą one w naturalny sposób klastry w przestrzeni barw. Piksele obrazu cyfrowego, w procesie grupowania, przypisywane są do poszczególnych klastrów. Elementy jednego klastra są do siebie bardziej podobne ze względu na pewne kryteria podobieństwa np. dla obrazów barwnych: ich barwę, położenie w obrazie itp. od elementów innych klastrów. Zakładając, że obraz barwny przedstawiony jest w trójwymiarowej przestrzeni barw oraz posiada n pikseli, otrzymujemy trójwymiarowy wektor X = {x 1,..., x n } jako dane do klasteryzacji. Na starcie algorytmu definiowana jest liczba klastrów - k oraz wartości początkowe środków klastrów (środki startowe), które tworzą trójwymiarowy wektor C = {c 1,..., c k }. Definiowane są także funkcje: przynależności m(c k x i ) oraz wagi w(x i ) [33]. Funkcje przynależności określają w jakiej części dany piksel x i należy do klastra c k. Funkcje wagi w(x i ) określają jaki udział będzie miał piksel x i w wyznaczaniu nowych współrzędnych środków klastrów c k w kolejnej iteracji. Warunek stopu dla technik klasteryzacyjnych może być zdefiniowany jako (2.1), gdzie zakładamy pewien próg δ: i = 1, 2,..., k gdzie: c k (j + 1) i c k (j) środki klastrów w iteracjach j + 1 i j. C k(j+1) C k(j) < δ, (2.1)

2.2. TECHNIKI KM I KHM 5 Jeżeli przemieszczenie się środków klastrów w iteracji n + 1 w stosunku do iteracji n jest mniejsze od δ, wtedy proces klasteryzacji kończy działanie. Innym spotykanym podejściem do określenia kryterium stopu jest wykonanie z góry założonej liczby iteracji. Ostatni etap klasteryzacji może polegać na zastąpieniu cech wszystkich danych należących do klastra c k cechami środka klastra c k. Dysponując zdefiniowanymi powyżej pojęciami można zaproponować ogólną ideę klasteryzacji: Ogólna idea klasteryzacji: 1. Określenie liczby k oraz początkowych środków klastrów C = {c 1,..., c k }. 2. Wyznaczenie dla każdego piksela x i funkcji przynależności m(c k x i ) oraz funkcji wagi w(x i ). 3. Wyznaczenie nowych wartości c k zgodnie ze wzorem: c k = ni=1 m(c k x i )w(x i )x i ni=1 m(c k x i )w(x i ) (2.2) 4. Sprawdzenie warunku stopu. W przypadku nie spełnienia, skok do punktu 2. Pojęcie klasteryzacji danych jest bardzo szerokim zagadnieniem i często poruszanym w literaturze [26,47] ze względu na możliwość zastosowania w różnych dziedzinach. Klasteryzacja danych może być z powodzeniem wykorzystywana w kwantyzacji barwy i segmentacji obrazów, co jest przedmiotem niniejszej rozprawy. Klasteryzacja jest także narzędziem dla eksploracji danych (ang. data mining), wyszukiwania informacji (ang. information retrieval), grupowania zadań w procesach harmonogramowania itd. W eksploracji danych klasteryzacja może być wykorzystywana do podziału klientów na pewne podgrupy. Wyszukiwanie informacji w którym mamy do czynienia z zadaniem uporządkowania i uproszczenia dostępu do informacji wykorzystuje techniki klasteryzacji np. do klasyfikacji dokumentów tekstowych, witryn internetowych, książek itd. Procesy harmonogramowania w celu zwiększenia efektywności wykorzystują klasteryzację do grupowania zadań. Zadania, które silnie się ze sobą komunikują trafiają do tych samych grup (klastrów). Tak utworzone grupy zostają przypisane do wykonania na pojedynczym procesorze bądź na grupie procesorów, które są połączone szybkimi kanałami transmisji danych. Obok pojęcia klasteryzacji w literaturze spotykane są nazwy: analiza skupień, nienadzorowana klasyfikacja. Nazwy dotyczą tej samej grupy technik analizy danych. 2.2 Techniki KM i KHM Jedną z najbardziej znanych i szybkich technik klasteryzacyjnych jest technika k-średnich (ang. k-means, KM) która została zaproponowana w latach sześćdziesiątych i została opisana przez MacQueena [53]. Podczas wykonywania pierwszego etapu techniki KM zostaje

2.2. TECHNIKI KM I KHM 6 określona liczba klastrów oraz ich startowe środki, które dla obrazów barwnych są wybierane z przestrzeni barw. Główna idea techniki polega na modyfikowaniu współrzędnych środków, aż do osiągnięcia minimalnej sumy kwadratów odległości wyznaczanych pomiędzy pikselami należącymi do poszczególnych klastrów i ich środkami. O przynależności pikseli do danego klastra decyduje minimalna odległość od jego środka wyznaczana zgodnie ze zdefiniowaną metryką. Po każdym przypisaniu pikseli do klastrów następuje wyznaczenie nowych środków klastrów jako średniej arytmetycznej pikseli do nich należących. Piksele w kolejnych iteracjach mogą zmieniać swoją przynależność. Algorytm KM zostaje zazwyczaj zatrzymany w przypadku kiedy różnica pomiędzy nowo wyznaczonymi środkami klastrów, a środkami z iteracji poprzedniej jest mniejsza niż wcześniej zdefiniowana wartość progową. W przypadku gdy ta wartość zostanie zostanie ustalona na poziomie równym, wówczas algorytm KM zatrzyma się, gdy żaden piksel nie zmieni przynależności do klastra w stosunku do poprzedniej iteracji. Technika KM nie zapewnia osiągnięcia globalnie optymalnego rozwiązania problemu klasteryzacji, rozwiązania uzyskane z KM są lokalnie optymalne. Wyniki klasteryzacji otrzymane z wykorzystaniem KM zależą od wielu czynników takich jak: metoda inicjalizacji czyli wyboru startowych środków klastrów, wybrana przestrzeń barw, zastosowana metryka itd. Technika KM jest jedną z najszybszych metod wykorzystywanych w klasteryzacji i jest w dalszym ciągu poddawana modyfikacjom, aby usunąć jej wady. Dla techniki KM funkcja wagi w(x i ) jest zawsze równa 1. Każdy piksel ma równy udział w obliczaniu nowych środków c k : w(x i ) = 1. (2.3) Technika ta wykorzystuje twardą przynależność (2.4) i oznacza to, że każdy z pikseli obrazu poddanego klasteryzacji może w danej iteracji należeć tylko i wyłącznie do jednego klastra. Funkcja przynależności przyjmuje wartości binarne i jest wyznaczana na podstawie zależności (2.5). Czynnikiem decydującym o przynależności do danego klastra jest minimalna odległość od jego aktualnego środka. m(c k x i ) {, 1} (2.4) m(c k x i ) = { 1 if l = arg min k x i c k 2 otherwise (2.5) Odległość piksela do środka klastra wyznaczana jest jako miara euklidesowa w przestrzeni, w której przeprowadzana jest klasteryzacja. Odległość wyznaczana pomiędzy pikselem x i i środkiem klastra c k w przestrzeni RGB wyznaczana jest zgodnie z zależnością: l RGB (x i, c k ) = (R xi R ck ) 2 + (G xi G ck ) 2 + (B xi B ck ) 2, (2.6) gdzie: R ck, G ck, B ck - składowe RGB środka klastra c k, R xi, G xi, B xi - składowe RGB piksela x i. Jeżeli proces klasteryzacji pikseli przebiega w przestrzeni RGB, to każdy środek klastra opisany jest podobnie jak piksele obrazu z wykorzystaniem składowych RGB. Wzory do wyznaczania poszczególnych składowych RGB nowych środków klastrów w iteracji n + 1

2.2. TECHNIKI KM I KHM 7 dla KM prezentują się następująco: C jr (n + 1) = 1 N j (n) C jg (n + 1) = 1 N j (n) C jb (n + 1) = 1 N j (n) x K j (n) x K j (n) x K j (n) x R, (2.7) x G, (2.8) x B, (2.9) gdzie: N j (n) - liczba pikseli należących do klastra K j w iteracji n, x R, x G, x B - składowe RGB pikseli należących do klastra K j. Minimalizowana funkcja celu dla techniki KM ma postać (2.1). Minimalizowana jest suma kwadratów odległości pomiędzy pikselami należącymi do klastrów i ich środkami: KM(X, C) = n i=1 min j 1...k x i c j 2. (2.1) W latach 1999- Bin Zhang zaproponował technikę k-średnich harmonicznych (ang. k-harmonic means, KHM) [95, 96]. Technika ta, będąca rozwinięciem KM, minimalizuje funkcję celu wykorzystującą średnią harmoniczną odległości punktów od środków klastrów. Technika KHM używa zmiennej funkcji wagi (2.11). Punkty mają różny wpływ podczas wyznaczania nowych środków klastrów. w(x i ) = kj=1 x i c j p 2 ( kj=1 x i c j p) 2, p 2 (2.11) KHM używa miękkiej funkcji przynależności (2.14). Wartości tej funkcji są liczbami ułamkowymi z przedziału, 1 i określają w jakim stopniu dany punkt należy do poszczególnych klastrów. Funkcja ta spełnia zależność (2.12, 2.13), co oznacza, że jej wartość maksymalna dla pojedynczego punktu jest równa jedności i może ona być rozdzielona pomiędzy poszczególne klastry. m(c j x i ) 1 (2.12) k j=1 m(c j x i ) = 1 (2.13) m(c j x i ) = x i c j p 2 kj=1 p 2, p 2 (2.14) x i c j Minimalizowana funkcja celu ma postać (2.15). Ponadto wymagane jest zdefiniowanie dodatkowego parametru p. Autor techniki Zhang proponuje stosowanie wartości niemniejszych od 2. KHM(X, C) = n k i=1 kj=1 (2.15) 1 x i c j p

2.2. TECHNIKI KM I KHM 8 Dla każdego piksela obrazu poddawanego klasteryzacji technikami KM lub KHM konieczne jest zatem wyznaczenie pojedynczej funkcji wagi oraz tylu funkcji przynależności, ile wynosi liczba klastrów k. Nowe środki klastrów w kolejnej iteracji wyznaczane są zgodnie z zależnością (2.2). Po każdym przeliczeniu środków klastrów następuje sprawdzenie warunku stopu. W przypadku nie spełnienia warunku stopu wyznaczane są nowe funkcje wagi i przynależności, które z kolei wpływają na dalsze przemieszczanie się środków klastrów. Technika KHM ma wbudowaną funkcję boostingową, zapożyczoną z technik uczenia nadzorowanego, gdzie służy ona do poprawy jakości klasyfikacji [47]. Funkcja boostingu zapewnia dynamikę współczynników wagi, tj. podnoszenie wartości wag dla punktów oddalonych od środków klastrów i obniżanie ich dla punktów bliskich środkom klastrów. W ostatnim czasie technika KHM przyciąga zainteresowanie badaczy, o czym świadczy jej zastosowanie do segmentacji: obrazów barwnych [32], obrazów rezonansu magnetycznego MR [14] i obrazów multispektralnych [5]. Technika KHM znalazła także zastosowanie w systemach telekomunikacyjnych [5], modelowaniu ekonomicznym [28] oraz elastycznych systemach wytwarzania [31]. Obecnie rezultaty uzyskiwane techniką KHM są dodatkowo poprawiane poprzez wykorzystanie algorytmów optymalizacyjnych takich jak symulowane wyżarzanie (ang. simulated annealing, SA) [29], przeszukiwanie tabu (ang. tabu search, TS) [3] czy optymalizacja rojowa (ang. particie swarm optimization, PSO) [86]. Ze względu na dużą uniwersalność technik klasteryzacyjnych proces klasteryzacji pikseli w obrazie barwnym może być przeprowadzony w różnych przestrzeniach barw. Najczęściej wykorzystywaną przestrzenią barw jest RGB, jednakże ze względu na jej wady i ograniczenia często sięga się do innych przestrzeni barw [67]. Szczególnie dużą rolę w obszernym zbiorze przestrzeni barw odgrywa przestrzeń CIEL a b [93]. Odległość euklidesowa wyznaczona w tej przestrzeni jest porównywalna z percepcyjną różnicą barw.

Rozdział 3 Wybrane metody oceny jakości obrazu 3.1 Miary pochodzące z teorii sygnałów Wyniki kwantyzacji jak i segmentacji obrazów można poddawać ocenie percepcyjnej (wizualnej). Inne podejście polega na pokazywaniu uzyskanych wyników grupie obserwatorów w celu dokonania oceny jakości i następnie wyciągnięcia wniosków na podstawie statystyki obserwacji. Oba z wymienionych podejść charakteryzuje duży subiektywizm obserwatora oceniającego wynik przetwarzania obrazu, stąd ważne jest poszukiwanie obiektywnych wskaźników jakości. Bardzo popularnym i często używanym wskaźnikiem jest błąd średniokwadratowy (ang. Mean Squared Error, M SE). Dla cyfrowych obrazów barwnych M SE wyznaczany jest pomiędzy składowymi barwy piksela w obrazie oryginalnym i składowymi piksela w obrazie powstałym w wyniku przetwarzania. M SE jest wskaźnikiem, którego wartość jest minimalizowana wraz ze wzrostem jakości obrazu wyjściowego i dla przestrzeni RGB wyznacza się go zgodnie z równaniem: MSE = 1 M N [ (R ij R 3MN i=1 j=1 ij) 2 + (G ij G ij) 2 + (B ij Bij) 2], (3.1) gdzie: M i N opisują rozdzielczość przestrzenną obrazu, R ij, G ij, B ij są składowymi barwy piksela (i, j) w obrazie oryginalnym, Rij, G ij, B ij są składowymi barwy piksela (i, j) w obrazie wynikowym. Dla obrazów barwnych wartość ta jest dodatkowo dzielona przez trzy, co wynika z liczby składowych barwy dla każdego piksela. Równie często spotykanym wskaźnikiem jakości jest P SN R - szczytowy stosunek sygnału do szumu (ang. Peak Signal-to-Noise Ratio, P SN R), który dla cyfrowych obrazów barwnych wyznaczany jest zgodnie z zależnością: t P SNR = 2log 1, (3.2) MSE

3.2. MIARY JAKOŚCI UWZGLĘDNIAJĄCE PERCEPCJĘ BARWY 1 gdzie: t = 2 b 1 to maksymalna możliwa wartość sygnału w obrazie przy założonej głębi bitowej b. Dla obrazów gdzie występuje głębia b = 8 bitów/kanał wartość ta wynosi 255. Wskaźnik ten wyrażany jest w decybelach (db) i jest bardzo często wykorzystywany w przetwarzaniu obrazów np. do oceny wyników uzyskiwanych podczas filtracji odszumiającej [52,79,8] czy w przetwarzaniu sekwencji obrazów [41,7,77]. Wzrost wartości P SNR oznacza poprawę jakości obrazu wynikowego. Dla dwóch identycznych obrazów wartość wskaźnika P SN R jest nieokreślona. Okazuje się jednak, że łatwo pokazać brak zgodności wskaźników takich jak MSE czy P SNR z postrzeganiem danego obrazu przez człowieka. Dobrym przykładem tego zjawiska są dwa obrazy o identycznej wartości P SN R przedstawiające tą samą scenę, a jednak mocno różniące się wizualnie [59], co obrazuje Rys. 1. W obrazie z lewej strony szum został dodany w górnej jego części, natomiast w obrazie po prawej zakłócenie występuje w dolnej części. Nie wpływa to na wartość P SNR, która w obu przypadkach wynosi 31,7 db a jednak obserwator zauważa wyraźne różnice pomiędzy tymi obrazami. Stąd w niniejszej rozprawie jakość uzyskiwanych wyników kwantyzacji i segmentacji obrazów barwnych jest oceniana przy użyciu szeregu dodatkowych wskaźników jakości, także takich, które zostały zbudowane w oparciu o wiedzę na temat postrzegania barwy przez człowieka. (a) (b) Rysunek 3.1. Dwie wizualnie różne wersje obrazu Lighthouse z jednakowym P SN R równym 31,7 db [59] 3.2 Miary jakości uwzględniające percepcję barwy W przetwarzaniu obrazów barwnych szczególnie istotną rolę odgrywają percepcyjne przestrzenie barw. Człowiekowi trudno jest opisywać postrzegane barwy posługując się składowymi RGB, natomiast znacznie łatwiej opisywać barwę za pomocą podstawowych percepcyjnych atrybutów barwy. Do atrybutów tych zaliczamy: odcień H, nasycenie S oraz intensywność I (można się też spotkać z jasnością L czy jaskrawością B). Przestrzenie barw,

3.2. MIARY JAKOŚCI UWZGLĘDNIAJĄCE PERCEPCJĘ BARWY 11 które bazują na tych atrybutach można nazywać percepcyjnymi przestrzeniami barw [67]. Do grupy tych przestrzeni należą HSI, HSV, HLS, różniące się się wzorami transformacji z RGB do danej przestrzeni oraz interpretacją geometryczną. Składowe definiujące odcień i nasycenie barwy są szczególnie użyteczne w systemach wizyjnych rozpoznających obiekty. Odcień i nasycenie opisują obiekty znajdujące się w scenie w sposób niezależny od zmian intensywności, które są powiązane z oświetleniem sceny. Często do opisu przestrzeni typu HSI używa się oznaczenia HSx z powodu istnienia wielu jej wariantów. Należy zaznaczyć, że w dalszym ciągu powstają nowe wersje przestrzeni barw percepcyjnych. Inna klasą przestrzeni barw są percepcyjnie równomierne przestrzenie barw. Przestrzeń barw może być uznana za percepcyjnie równomierną, jeżeli stosowana w niej miara podobieństwa barw jest zgodna z ich podobieństwem percepcyjnym. Percepcyjne przestrzenie barw nie zawsze są percepcyjnie równomiernymi przestrzeniami np. HSI, która oparta jest na zbyt uproszczonych założeniach. W 1976 roku Międzynarodowa Komisja Oświetleniowa (CIE) zaproponowała percepcyjnie równomierne przestrzenie barw CIEL a b oraz CIEL u v. Przestrzeń CIEL a b, której składowe to L a b stosowana jest głównie do światła odbitego, natomiast przestrzeń CIEL u v o składowych L u v stosowana jest głównie do światła emitowanego. Wspólną cechą obu tych przestrzeni jest niezależność od urządzeń, w których są stosowane. Przy budowie przestrzeni CIEL a b i CIEL u v CIE wykorzystała wiedzę o procesach opozycyjnych w percepcji barwy. Przestrzenie te zostały opisane wokół 3 par barw opozycyjnych: czarny-biały, czerwony-zielony i żółty-niebieski. W przetwarzaniu obrazów częściej wykorzystywaną przestrzenią jest CIEL a b. Należy mieć na uwadze, że nawet w CIEL a b równomierność percepcyjna jest w pewnym stopniu przybliżona. CIE w celu dokładniejszego przybliżenia zaproponowało wyrażanie różnicy barw za pomocą odległości nieeuklidesowych: DeltaE94 oraz DeltaE. W niniejszej rozprawie wykorzystano euklidesową różnicę barw w przestrzeni CIEL a b do oceny jakości uzyskiwanych wyników. Wskaźnik jakości E wyznaczany pomiędzy obrazem oryginalnym i przetworzonym jest wyznaczany zgodnie z zależnością (3.3), która odpowiada CIE76 [93]: E = 1 M N ( ) 2 ( ) 2 ( 2, L ij L MN i=1 j=1 ij + a ij a ij + b ij b ij) (3.3) gdzie: M i N opisują rozdzielczość przestrzenną obrazu, L ij, a ij, b ij są składowymi barwy w CIEL a b piksela (i, j) w obrazie oryginalnym, L ij, a ij, b ij są składowymi barwy CIEL a b piksela (i, j) w obrazie wynikowym. Dodatkowym wskaźnikiem wykorzystanym do oceny jakości opartym na percepcji barwy była strata barwności obrazu (3.7). Pojęcie barwności (ang. colourfulness) zostało zaproponowane przez R.W.G. Hunta w 1977 roku [4]. Używając pojęcia barwa odnosimy się zazwyczaj do pojedynczego piksela, natomiast trudno jest mówić o barwie obrazu, który jest tworzony przez zbiór pikseli o różnych barwach. Barwność nazywana chromatycznością (ang. chromaticness) jest szerszym pojęciem opisującym chromatyczność powierzchni (posiadanie odcienia). Barwność obrazu (ang. image colourfulness) jest powiązana z obecnością w obrazie pikseli o wysokonasyconych barwach i różnych odcieniach [17]. W celu ilościowej oceny barwności obrazu konieczna jest transformacja z przestrzeni RGB do percepcyjnej przestrzeni barw. Przeglądając pozycje literaturowe można spotkać różne podejścia do problemu wyznaczania barwności obrazu. W ostatnich latach zaproponowano nową miarę barwności,

3.3. WSKAŹNIKI JAKOŚCI KLASTERYZACJI DANYCH 12 która została oparta na statystycznych parametrach rozkładu składowych opozycyjnych RG i Y B [34]. Autorzy tej miary przeprowadzili badania psychofizyczne na grupie 2 osób. Uczestnicy badania klasyfikowali zbiór 84 obrazów do 7 zaproponowanych grup oceniając ich barwność. Na podstawie uzyskanych wyników Hasler i Suesstrunk zaproponowali miarę barwności obrazów M, która jak się okazuję jest stosunkowo prosta do wyznaczenia i silnie skorelowana z danymi eksperymentalnymi (95%): M = σ 2 rg + σ 2 yb +, 3 µ 2 rg + µ 2 yb, (3.4) gdzie: σ rg, σ yb - to odpowiednio odchylenia standardowe składowych opozycyjnych RG i Y B, µ rg, µ yb - to wartości średnie składowych opozycyjnych RG i Y B pikseli obrazu. Aby wyznaczyć barwność obrazu dokonuje się transformacji z przestrzeni trójwymiarowej RGB do przestrzeni dwuwymiarowej RG i Y B. Po wyznaczeniu składowych opozycyjnych dla wszystkich pikseli obrazu wyznacza się odpowiednio średnie i odchylenia standardowe w przestrzeni RG i Y B. Barwność obrazu można zaliczyć do takich wskaźników jakości obrazu jak ostrość czy naturalność. Składowe opozycyjne dla pikseli obrazu barwnego wyznaczane są zgodnie z zależnościami: RG ij = R ij G ij, (3.5) gdzie: R ij - składowa czerwona piksela (i, j), G ij - składowa zielona piksela (i, j), gdzie: B ij - składowa niebieska piksela (i, j). Y B ij =, 5(R ij + G ij ) B ij, (3.6) Wskaźnik jakości oparty na stracie barwności obrazu M jest minimalizowany podczas podczas wielu operacji przetwarzania obrazu: M = M oryg M przetw, (3.7) gdzie: M oryg - barwność obrazu oryginalnego, M przet - barwność obrazu po przetwarzaniu. Wychodzi się tutaj z założenia, że barwność obrazu w wyniku przetwarzania nie powinna ulec zmianie, natomiast im większa strata barwności w stosunku do oryginału, tym gorsza jakość obrazu. W niniejszej pracy strata barwności M była wykorzystywana do oceny wyników kwantyzacji, ale wskaźnik ten może być z powodzeniem wykorzystywany również do oceny innych operacji przetwarzania obrazów takich jak np. kompresja stratna (JPEG, JPEG) czy filtracja obrazów barwnych [65]. W pracy [64] wykorzystano stratę barwności M jako wskaźnik jakości dla operacji kwantyzacji. 3.3 Wskaźniki jakości klasteryzacji danych Oceniając wynik segmentacji z punktu widzenia klasteryzacji danych można skorzystać z miar odnoszących się bezpośrednio do klasteryzacji stosowanej nie tylko w przetwarzaniu obrazów. Założenia w procesach klasteryzacji są bardzo podobne do tych, którymi się

3.3. WSKAŹNIKI JAKOŚCI KLASTERYZACJI DANYCH 13 kierujemy w segmentacji obrazów barwnych. W klasteryzacji danych dąży się do maksymalnej kompaktowości klastrów, a także do maksymalnie możliwej ich separowalności. Dobry wynik segmentacji podobnie powinien się charakteryzować obszarami, które są jednorodne w miarę możliwości, a z drugiej strony na tyle kontrastowe, aby w łatwy sposób można było wyodrębnić ich granice. Podczas walidacji klasteryzacji danych operuje się zazwyczaj dwiema miarami: odległością wewnątrzklastrową (ang. intra-cluster distance), która może być liczona jako suma odległości punktów klastra do jego środka i świadczyć o kompaktowości klastra, a także odległością miedzyklastrową (ang. inter-cluster distance), która może być wyznaczona jako suma odległości wszystkich środków klastrów od siebie i świadczyć o wzajemnej separowalności klastrów. W pracy [73] została zaproponowana miara walidująca jakość klasteryzacji (ang. Validity Measure, V M), która została także wykorzystane w niniejszej rozprawie w dwóch wersjach (3.8) i (3.9) do oceny jakości segmentacji obrazu: V M 1 = Intra Inter 1, (3.8) V M 2 = Intra Inter 2, (3.9) gdzie: Intra - średnia odległość wewnątrzklastrowa, Inter 1 i Inter 2 wielkości reprezentujące odległość międzyklastrową. Średnia odległość wewnątrzklastrowa opisująca kompaktowość klastrów może być wyznaczona jako: Intra = 1 k x C j 2, (3.1) MN j=1 x K j gdzie: M i N- opisują rozdzielczość obrazu w pikselach, k - liczba klastrów, x - piksel należący do klastra K j, C j jest środkiem klastra K j. Separowalność klastrów była wyznaczana dwoma sposobami. Pierwszy z nich opisany jest jako suma odległości wszystkich środków klastrów: Inter 1 = k 1 k i=1 j=i+1 gdzie: C i, C j - środki odpowiednich klastrów. C i C j 2, (3.11) Drugi sposób wyznaczania separowalności bierze pod uwagę minimalną odległość pomiędzy środkami klastrów: gdzie: i = 1, 2,..., k 1 i j = i + 1,..., k. Inter 2 = min( C i C j 2 ), (3.12) Wartość wskaźnika V M jest minimalizowana w celu osiągnięcia dobrych wyników klasteryzacji i może być także z powodzeniem wykorzystywana do określenia prawidłowej liczby klastrów dla danego zbioru danych.

3.4. WSKAŹNIKI JAKOŚCI OBRAZU POSEGMENTOWANEGO 14 W obszernej pracy dotyczącej klasteryzacji danych [26] autorzy zamieścili cały rozdział dotyczący miar walidacyjnych dla klasteryzacji - tzw. indeksy walidacyjne (ang. validity indices). Jednym z wymienianych tam indeksów walidacyjnych jest indeks Daviesa- Bouldina [11], wyrażony za pomocą zależności: DB = 1 k n i=1 { } Sn (C i ) + S n (C j ) max i=1,i j, (3.13) S(C i, C j ) gdzie: k - liczba klastrów, S n (C i ) - średnia odległość punktów należących do klastra i do jego środka C i, S n (C j ) - średnia odległość punktów należących do klastra j do jego środka C j, S(C i, C j ) - odległość pomiędzy środkami klastrów C i i C j. Mała wartość DB odpowiada sytuacji klastrów zwartych i wzajemnie separowanych. Stosując wielkość DB do oceny jakości segmentacji obrazu dąży się zatem do minimalizowania tego wskaźnika. 3.4 Wskaźniki jakości obrazu posegmentowanego W wyniku segmentacji obrazu dążymy do wyodrębnienia z obrazu interesujących obszarów odpowiadających istniejącym obiektom, czyli dokonujemy swojego rodzaju uproszczenia obrazu. Niemniej jednak zależy nam na tym, aby to uproszczenie zachowywało w jak największej mierze cechy oryginału. Ocena jakości uzyskanego wyniku segmentacji obrazu jest znacznie bardziej złożona niż ocena wyników kwantyzacji barwy. Z jednej strony dążymy do maksymalnego uproszczenia segmentowanego obrazu, czyli do zredukowania liczby obszarów powstałych w wyniki segmentacji, a z drugiej strony chcemy zachować jak najlepsze odwzorowanie obiektów i ich cech (np. barwy, kształtu, położenia, krawędzi). Z jednej strony źle dobierając parametry segmentacji można otrzymać wynik, który charakteryzuje się tzw. nadsegmentacją - zbyt duża liczba obszarów, a z drugiej strony można doprowadzić do niedosegmentacji - zbyt mała liczba obszarów w obrazie wynikowym. Obecnie mamy do czynienia z brakiem powszechnie akceptowalnych kryteriów, czy też procedur oceny wyników segmentacji. Przeglądając pozycje literaturowe pod kątem metod oceny wyników segmentacji można znaleźć w pracy [97] podział metod oceny na analityczne i eksperymentalne. Brak ogólnej teorii dotyczącej segmentacji obrazu powoduje, że metody analityczne są słabo rozwinięte. Oczywiście można tutaj także prowadzić oceny eksperymentalne posiłkując się ocenami wyników segmentacji dokonanymi przez eksperta lub grupę ekspertów, jednakże zawsze będą to wyniki w dość dużym stopniu subiektywne. W pracy [6] została zaproponowana empiryczna funkcja oceny jakości segmentacji dla klasteryzacyjnych technik segmentacji. Borsotti i in. sformułowali funkcję oceny jakości jako: Q(I) = 1 R (MN) R [ i=1 e 2 i 1 + log A i + ( ) R (Ai ) 2 ], (3.14) gdzie: I - obraz po segmentacji, M, N - rozdzielczość obrazu w pikselach, R - liczba obszarów w posegmentowanym obrazie, A i - pole obszaru z indeksem i, R(A i ) - liczba obszarów o polu równym A i a e i - błąd barwy obszaru z indeksem i. A i

3.4. WSKAŹNIKI JAKOŚCI OBRAZU POSEGMENTOWANEGO 15 Błąd barwy w wyrażeniu (3.14) jest liczony jako suma odległości euklidesowych pomiędzy składowymi barwy pikseli obrazu i składowymi średniej barwy, która jest cechą obszaru do którego należą piksele w posegmentowanym obrazie. W różnych przestrzeniach barw błędy trudno ze sobą porównywać. Dlatego przed obliczeniem Q(I) dokonuje się z powrotem transformacji do przestrzeni RGB. Równanie (3.14) składa się z czterech czynników. Pierwszy czynnik jest czynnikiem normalizującym, który dzieli wartość wskaźnika przez rozmiar obrazu i dodatkową wartość skalującą. Drugi czynnik podnosi wartość Q(I) dla wyników segmentacji, w których mamy do czynienia ze zbyt dużą liczbą obszarów (nadsegmentacja), które z kolei charakteryzują się małym błędem barwy. Trzeci czynnik bierze pod uwagę obszary niejednorodne charakteryzujące się dużym błędem barwy także podnosząc wartość Q(I). Ponieważ wynik segmentacji powinien charakteryzować się maksymalnie małą możliwą do osiągnięcia liczbą obszarów przy zachowaniu wymaganych szczegółów, to występuje tutaj jeszcze ostatni czynnik, gdzie mamy do czynienia z dzieleniem przez powierzchnię obszaru. Funkcja oceny Q(I) jest minimalizowana dla osiągnięcia dobrych wyników segmentacji. Im lepszy wynik segmentacji, tym mniejsza wartość Q(I).

Rozdział 4 Technika KHM w kwantyzacji barwy 4.1 Pojęcie kwantyzacji barwy Każdy naturalny obraz barwny zawiera pewną ograniczoną liczbę barw. Liczba ta stanowi jedynie podzbiór wszystkich możliwych do uzyskania barw, co jest z kolei ograniczone poprzez liczbę bitów na kanał za pomocą której zapisywana jest informacja barwna. Obecnie najczęściej wykorzystuje się 8 bitów dla każdego z kanałów przestrzeni barw, w rezultacie daje to sumaryczną, maksymalną do osiągnięcia liczbę barw równą 16777216. Można oczywiście wygenerować grafikę komputerową, która zawierałaby pełną paletę barw. Obraz taki musiałby posiadać rozdzielczość przestrzenną, co najmniej równą 16777216 pikseli i wtedy każdy z pikseli posiadałby inną barwę. W naturalnych obrazach barwnych liczba barw jest zazwyczaj ograniczona poprzez rozdzielczość przestrzenną samego obrazu jak również poprzez samą treść, którą dany obraz reprezentuje. Kwantyzacja barwy jest jedną z typowych operacji wykonywanych w przetwarzaniu obrazów barwnych. Wiele programów służących do cyfrowego przetwarzania obrazów posiada wbudowane algorytmy kwantyzacji. Kwantyzacja barwy jest procesem redukcji liczby barw w obrazie połączonym z zachowaniem maksymalnego podobieństwa pomiędzy oryginałem, a obrazem kwantowanym. Podczas kwantyzacji barwy mamy do czynienia z procesem transformacji obrazu opisanego przy pomocy 24 bitów/piksel (ang. true color image) na obraz barwny posiadający znacznie mniejszą, specjalnie dobraną liczbę barw (paleta barw). Paleta barw może być stała (uniwersalna) lub adaptacyjna (dostosowywana do każdego obrazu). Jakość kwantyzacji barwy z wykorzystaniem palety stałej jest znacznie gorsza niż w przypadku wykorzystania palety dopasowanej do danego obrazu. Kwantyzacja barwy to właściwe rekwantyzacja, gdyż przeprowadzana jest na cyfrowych obrazach barwnych, które powstały w wyniku operacji próbkowania i kwantyzacji zachodzących w urządzeniach rejestrujących obraz. Kwantyzacja barwy jest zagadnieniem, które pojawiło się jako wynik ograniczeń technologicznych występujących w urządzeniach pozyskujących, drukujących i wyświetlających cyfrowe obrazy barwne. Kluczowym problemem w procesie kwantyzacji jest poszukiwanie optymalnej palety barw, która zostanie użyta do prezentacji wyniku - obrazu po kwantyzacji. Problem ten nie jest trywialny, ponieważ obrazy naturalne zawierają zazwyczaj dużą liczbę barw, a tym samym trudne jest ich przedstawienie za pomocą sil-

4.1. POJĘCIE KWANTYZACJI BARWY 17 nie zredukowanej palety zachowując przy tam maksymalne podobieństwo do oryginału. Zdecydowana większość algorytmów kwantyzacji nie wykorzystuje informacji o strukturze obrazu. Kwantyzacja barwy jest szeroko opisywana w wielu podręcznikach omawiających przetwarzanie obrazów barwnych [8, 13]. Nowe barwy w procesie kwantyzacji są wybierane w taki sposób, aby zminimalizować różnicę barwy pomiędzy obrazem oryginalnym i wynikiem kwantyzacji. W celu osiągnięcia minimalnej różnicy barw (błędu kwantyzacji) konieczne jest adaptacyjne budowanie zredukowanej palety barw. Błąd kwantyzacji silnie zależy od liczby barw występujących w przetwarzanym obrazie, liczby barw w palecie wynikowej (np. 8, 16, 32, 64, 256 barw), metody wyboru barw, które znajdą się w palecie i od techniki klasyfikacji pikseli obrazu. Proces kwantyzacji barwy jest traktowany jako pomocnicza operacja w przetwarzaniu obrazów, widzeniu i grafice komputerowej. Jednym z przykładów zastosowań kwantyzacji barwy jest etap presegmentacji, który redukuje złożony proces segmentacji obrazu [12]. Innym przykładem jest zastosowanie kwantyzacji w procesie wstawiania znaków wodnych w obrazach barwnych (ang. color image watermarking) [84]. Systemy wyszukiwania obrazów w bazach danych (ang. content-based image retrieval, CBIR) wykorzystują histogramy o możliwe zredukowanych skalach barw, powstałe w wyniku kwantyzacji barwy [88]. Kwantyzacja barwy jest pewnym rodzajem stratnej kompresji obrazu. Algorytmy kwantyzacji barwy są także ciągle używane do prezentacji prawdziwego obrazu barwnego w urządzeniach z ograniczonymi możliwościami wyświetlania barw. Przykładem takiego zastosowania mogą być wyświetlacze telefonów komórkowych lub aparatów cyfrowych, których zdecydowana większość nie posiada jeszcze możliwości wyświetlania milionów różnych barw. W kwantyzacji barwy nie ma mowy o uniwersalności palety barw. Obrazuje to Rys. 4.1, gdzie obraz przedstawiający cytryny został poddany kwantyzacji na 256 barw. Stosunkowo liczna paleta, która jest odpowiednia dla obrazu przedstawiającego cytryny nie nadaje się dla innych obrazów - wyniki są nie do zaakceptowania. W czasach kiedy komputery nie były w stanie wyświetlać palety liczniejszej niż 256 barw, dość popularna była paleta stała licząca 216 barw nazywana paletą bezpieczną (ang. Web-Safe palette). Paleta ta zapewniała jednakowe wyświetlanie się barw na wszystkich komputerach przy występujących ograniczeniach sprzętowych. Szczególną cechą tej palety jest to, że każda składowa barwy RGB może przyjąć tylko jedną z sześciu wartości szesnastkowych: x, x33, x66, x99, xcc lub xff. W obecnych czasach wielu programów graficznych w dalszym ciągu umożliwia kwantyzację barw obrazu do palety W eb Safe. Kwantyzacja może być traktowana jako problem grupowania (klasteryzacji) pikseli - poszukujemy klastrów, które najlepiej reprezentują barwy obrazu. W takich procesach liczba klastrów k utożsamiana jest z liczbą barw jaką chcemy osiągnąć w obrazie po kwantyzacji. Zwykle k = 2 n, gdzie n = 1, 2, 3,..., 8 i więcej. Adaptacyjne techniki kwantyzacji barwy można podzielić na dwie klasy. Pierwszą z nich stanowią techniki podziałowe, natomiast drugą techniki klasteryzacyjne. Techniki podziałowe dokonują podziału przestrzeni barw obrazu poddawanego kwantyzacji na odpowiednio mniejsze podprzestrzenie barw. Poszukiwana paleta barw jest budowana poprzez wybór barw reprezentatywnych z uzyskanych podprzestrzeni. MedianCut (MC) [35] i algorytm Wu [91, 92] są doskonałymi przykładami tej klasy technik. Do znanych algorytmów należą też: Popularity algorithm [35], Variance-Minimization algorithm [87] i Octree algorithm [27]. Drugą klasę adaptacyjnych technik kwantyzacji stanowią techniki klasteryzacyjne takie jak KM i KHM.

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 18 Rysunek 4.1. Brak uniwersalności wyznaczonej palety barw 4.2 Metody inicjalizacji technik KM i KHM Zasadniczą wadą najpopularniejszej techniki grupowania KM zależność uzyskanego wyniku od inicjalizacji procesu grupowania, na którą składa się określenie liczby klastrów k, zadanie początkowych środków klasterów i kryterium stopu. W celu określenia liczby klasterów można korzystać, albo z wiedzy a priori o obrazie, albo z analizy histogramu obrazu, albo z wielokrotnego grupowania z różnymi wartościami k. Głównym problemem inicjalizacji jest jednak sposób zadania początkowych środków klastrów. Zastosowanie technik klasteryzacyjnych w przetwarzaniu obrazów wiąże się z wyborem barw dla startowych środków klastrów. W większości opisywanych w literaturze zastosowań technik KM proponowany jest losowy wybór środków klasterów; np. dla obrazów w postaci losowania współrzędnych pikseli w obrazie. Wynik losowania ma więc decydujący wpływ na ilość iteracji w procesie klasteryzacji i uzyskaną jakość grupowania. Losowe metody inicjalizacji często prowadzą też do niepożądanego zjawiska powstawania tzw. pustych klastrów, co zostanie omówione w dalszej części rozprawy. Z punktu widzenia teorii optymalizacji należy mieć na uwadze, że nie istnieje metoda inicjalizacji, która gwarantuje dla każdego zbioru danych osiągnięcie globalnego minimum optymalizowanej funkcji celu. Zarówno technika KM jak i KHM potrzebują automatycznych metod inicjalizacji, które prowadzą do osiągnięcia jak najlepszego rezultatu, który zazwyczaj jest wynikiem optymalnym lokalnie. Poszukiwanie coraz lepszych metod inicjalizacji dla technik klasteryzacyjnych jest nadal przedmiotem badań [9, 44]. Metody inicjalizacji technik klasteryzacyjnych można dzielić na wiele różnych sposobów. Wydaje się jednak, że najistotniejszy jest podział ze względu na trzy przyjęte kryteria, które jasno określają właściwości osiągniętych wyników klasteryzacji:

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 19 1. Podział ze względu na powtarzalność klasteryzacji: inicjalizacja losowa, inicjalizacja deterministyczna. 2. Podział ze względu na zależność od danych: inicjalizacja arbitralna, inicjalizacja adaptacyjna. 3. Podział ze względu na udział człowieka: inicjalizacja automatyczna, inicjalizacja ręczna. Tekstem pogrubionym zostały zaznaczone metody inicjalizacji o największej wartości użytkowej. Oczywiście wybrana metoda inicjalizacji może jednocześnie należeć do kilku grup z wymienionego podziału. Problem inicjalizacji może zostać pominięty poprzez stosowanie wspomnianego podejścia losowego do tego etapu klasteryzacji. Wartości opisujące startowe środki klastrów są wtedy wybierane losowo ze zadanego zbioru danych różnymi metodami - np. poprzez losowanie funkcji przynależności m(c j x i ) i wyliczeniu ich pozycji lub wprost poprzez losowanie współrzędnych. Techniki klasteryzacyjne takie jak KM są bardzo wrażliwe na wybór startowych środków klastrów. Losowa inicjalizacja powoduje, że bardzo często otrzymuje się różne rezultaty. Sytuacja taka została przedstawiona na Rys. 4.2 i Rys 4.3, gdzie wybór startowych środków klastrów drastycznie wpływa na osiągane rezultaty podczas klasteryzacji tych samych danych. Zbiór danych o cechach x i y został poddany klasteryzacji z k=3 i przeprowadzono 5 iteracji [49]. Barwy punktów na płasz- (a) (b) (c) (d) (e) Rysunek 4.2. Klasteryzcja danych o cechach x i y przy inicjalizacji losowej z k=3

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 2 (a) (b) (c) (d) (e) Rysunek 4.3. Klasteryzcja danych z Rys. 4.2 przy innym losowym wyborze startowych środków klastrów dla k=3 czyźnie cech x, y wskazują na przynależność do klastra. Niektórzy badacze proponują, aby wykonywać klasteryzację z inicjalizacją losową wielokrotnie, wybierając najlepszy rezultat. Podejście takie wymaga odpowiednio długiego czasu przetwarzania, co jest szczególnie uciążliwe dla dużych zbiorów danych poddawanych klasteryzacji. Długi czas oczekiwania na zadowalający wynik eliminuje to podejście z możliwości wykorzystania w systemach wizyjnych pracujących w przemyśle. Należy szukać metod inicjalizacji dających przede wszystkim dobre, ale i powtarzalne rezultaty, co powoduje, że metody losowe nie są dobrym rozwiązaniem. Dodatkowe wymagania stawiane metodom inicjalizacji to możliwość dopasowywania się do zmiennego zbioru danych. Cyfrowe obrazy barwne mogą prezentować najróżniejsze treści, co powoduje, że metoda inicjalizacji musi dopasowywać się do nowego problemu klasteryzacji. Postępująca automatyzacja minimalizuje udział człowieka w różnych procesach i tutaj sytuacja jest podobna. Poszukuje się inicjalizacji automatycznych, które prawidłowo wyznaczą startowe środki klastrów bez konieczności udziału człowieka, którego cechy osobnicze i subiektywne postrzeganie wpływają znacznie na wybór startowych środków. Zakładając, że postawione zostało zadanie klasteryzacji bardzo prostego obrazu wygenerowanego komputerowo, przyjęto k=5 ze względu na dokładnie taką liczbę barw występującą w tym obrazie i taką samą liczbę obiektów wliczając niebieskie tło. Obiekty posiadają idealnie taką samą barwę i są reprezentowane w przestrzeni RGB jako pojedyncze punkty. W wyniku spodziewano się otrzymania rezultatu w postaci idealnie takiej samej jak oryginał. Zastosowano trzy różne położenia dla startowych środków klastrów, a następnie wykonano klasteryzację technikami KM i KHM wykorzystując dla obu technik te same środki klastrów. Opisywana sytuacja została przedstawiona na Rys. 4.4. Jak się okazuje wynik dla techniki KM nie jest najlepszy, a dodatkowo za każdym razem jest inny.

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 21 (a) (b) (c) (d) (e) (f) (g) Rysunek 4.4. Obraz oryginalny (a) i wyniki klasteryzacji technikami KM (b, c, d) i KHM (e, f, g). Dla par: (b) (e), (c) (f), (d) (g) wykorzystano te same startowe środki klastrów Technika KHM wypada w tej sytuacji wręcz wzorowo. Wynik jest stabilny i dokładnie taki jak można się było spodziewać. Dostajemy obraz identyczny z oryginałem. Wrażliwość na inicjalizację, szczególnie dla techniki KM powoduje, że ciągle poszukiwane są nowe metody wyboru startowych środków klastrów. Ze względu na duży wpływ etapu inicjalizacji na proces klasteryzacji, duży nacisk w niniejszej rozprawie został położony na poszukiwanie metod inicjalizacji gwarantujących osiągnięcie wysokiej jakości powtarzalnych rezultatów. Inicjalizacje losowe zostały zatem odsunięte na dalszy plan. Zaproponowano deterministyczny wybór startowych środków klastrów DC i szereg inicjalizacji adaptacyjnych: HIST, MM, SD. Dokonano także syntezy algorytmów podziałowych takich jak MedianCut (MC) i algorytm Wu (WU) z technikami klasteryzacyjnymi. Barwy, które zostały znalezione w wyniku działania algorytmu podziałowego były używane jako startowe środki klastrów. W naturalnych obrazach barwnych można znaleźć barwy dominujące, które w sposób naturalny tworzą klastry w przestrzeni barw. Rys. 4.5 przedstawia obraz testowy oraz jego interpretację w przestrzeni barw RGB. W układzie współrzędnych, odpowiednich do rozpatrywanej przestrzeni barw piksele tworzą chmurę punktów. W jej skład wchodzą mniejsze skupiska pikseli odpowiadające obiektom znajdującym się w przetwarzanym obrazie. Chmura obrazu niesie informację na temat występujących w nim barw, natomiast nie zawiera informacji o ich liczebności i przestrzennej lokalizacji. Dla obrazów generowanych komputerowo chmura pikseli jest zazwyczaj znacznie uboższa, a w skrajnych przypadkach mamy do czynienia z pojedynczymi punktami w przestrzeni barw. Chmura obrazu w procesie kwantyzacji zostaje zredukowana do pojedynczych punktów, które jednoznacznie reprezentują zredukowaną paletę barw. Dla technik klasteryzacji punktami tymi są końcowe położenia środków klastrów. Do celów badawczych zostały stworzone odpowiednie skrypty w oprogramowaniu Matlab, które pozwalają na wizualizację procesu klasteryzacji dla obrazów barwnych. W sze-

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 22 (a) (b) Rysunek 4.5. Obraz oryginalny (a) i jego reprezentacja graficzna w sześcianie RGB (b) - chmura pikseli ścianie RGB można obserwować aktualne położenia środków klastrów, a także ścieżki po których przemieszczają się w kolejnych iteracjach. Wizualizacja ta może być wykorzystywana do badania przebiegu klasteryzacji nie tylko danych obrazowych. Ograniczeniem jest tutaj rozmiar przestrzeni cech, który nie może być większy od 3. Wizualizacja klasteryzacji danych o dłuższych wektorach cech jest co najmniej trudna do wyobrażenia. W dalszej części niniejszej pracy zostały opisane zaproponowane metody inicjalizacji dla technik KM i KHM. Wykonane wizualizacje powstały w wyniku klasteryzacji obrazu z Rys. 4.5. Dla zachowania czytelności wizualizacji proces klasteryzacji był przeprowadzany z niskim k = 8 i wykonano 1 iteracji; dla techniki KHM przyjęto parametr p = 2. Chmura obrazu zostaje przedstawiona jako punkty o współrzędnych (R, G, B) o odpowiadających tym współrzędnym barwom. Środki klastrów zaznaczone są kółkami o czarnych krawędziach. Wnętrza tych kółek mają barwę wynikającą z aktualnego położenia danego środka klastra. Niebieskimi liniami wykreślono ścieżki po których przemieszają się klastry w kolejnych iteracjach. Zmiany położenia klastrów skutkują zmianą ich barwy, co także obrazują przedstawione wizualizacje. Inicjalizacja DC jest podejściem deterministycznym niezależnym od treści obrazu. Podejście to polega na podziale przekątnej sześcianu (ang. diagonal of cube) będącego graficzną reprezentacją przestrzeni RGB na k segmentów. Podziałowi podlega zatem linia łącząca punkt idealnej czerni o składowych RGB: (,, ), z punktem idealnej bieli o składowych: (255, 255, 255). W następnym etapie środki tych segmentów zostają wybrane jako startowe środki klastrów. W podejściu tym startowe środki są zatem zawsze achromatyczne. Zastosowano takie podejście mając na celu dobre odseparowanie klastrów przynajmniej w początkowej fazie klasteryzacji. Przebieg procesu klasteryzacji z inicjalizacją DC dla techniki KM przedstawia Rys. 4.6, zaś dla techniki KHM Rys. 4.7. Dla techniki KM można tutaj zaobserwować brak zmian położeń jednego z środków klastrów w procesie, który jest umieszczony najbliżej barwy białej na osi szarości. Brak zmian położeń środków klastrów bardzo często wskazuje na to, że są to tzw. puste klastry. Problem pustych klastrów zostanie poruszony w dalszej części niniejszej rozprawy. Dla techniki KHM zjawisko to nie

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 23 występuje. Dodatkowo można zaobserwować, że technika KM dość gwałtowanie modyfikuje położenia środków klastrów w kolejnych iteracjach w porównaniu z KHM. Dla KHM ścieżki po których poruszają się środki są znacznie gładsze. 15 BLUE 5 15 GREEN 5 5 RED 15 (a) (b) 15 15 BLUE BLUE 5 5 15 GREEN 5 5 RED 15 15 GREEN 5 5 RED 15 (c) (d) Rysunek 4.6. Proces klasteryzacji techniką KM z inicjalizacją DC: (a) startowe położenia środków klastrów, (b) chmura pikseli i przemieszczenia środków klastrów w 1 iteracjach, (c) przemieszczenia środków klastrów w 1 iteracjach, (d) końcowe położenia środków klastrów Metoda inicjalizacji MM jest w założeniu podobna do inicjalizacji DC, ale bierze już pod uwagę rozkład pikseli przetwarzanego obrazu w przestrzeni barw. Obserwując rozkład pikseli dla obrazów naturalnych w sześcianie RGB można zauważyć, że zazwyczaj nie są one lokowane równomiernie wzdłuż osi szarości. Dodatkowo często zdarza się tak, że obraz nie zawiera barw bliskich idealnej czerni bądź bieli. Zaproponowano zatem podejście, które opisuje prostopadłościan na pikselach obrazu w sześcianie RGB. Położenie tego prostopadłościanu jest ściśle powiązane z treścią obrazu. Jeden z wierzchołków tego prostopadłościanu ulokowany jest w punkcie odpowiadającym pikselowi obrazu o minimalnych składowych RGB. Poruszając się po przekątnej od tego punktu docieramy do wierzchołka, który odpowiada barwie obrazu o maksymalnych składowych RGB. Punkty te są łączone linią, która tworzy przekątną prostopadłościanu opartą na wartościach minimalnych i maksymalnych składowych RGB. W wyniku podziału opisywanej linii na k równych segmentów otrzymuje się startowe środki klastrów, które lokowane są na ich koń-

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 24 15 BLUE 5 15 GREEN 5 5 RED 15 (a) (b) 15 15 BLUE BLUE 5 5 15 GREEN 5 5 RED 15 15 GREEN 5 5 RED 15 (c) (d) Rysunek 4.7. Proces klasteryzacji techniką KHM z inicjalizacją DC: (a) startowe położenia środków klastrów, (b) chmura pikseli i przemieszczenia środków klastrów w 1 iteracjach, (c) przemieszczenia środków klastrów w 1 iteracjach, (d) końcowe położenia środków klastrów

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 25 cach. Ta metoda inicjalizacji może dawać dobre rezultaty dla obrazów, których chmura pikseli nie jest ułożona równomiernie wzdłuż osi szarości. Proces klasteryzacji z wykorzystaniem inicjalizacji MM został przedstawiony dla techniki KM na Rys. 4.8, zaś dla techniki KHM na Rys. 4.9. Dla KM zachodzi podobna sytuacja jak przy inicjalizacji DC. Jeden ze klastrów nie zmienia swojego położenia i zachodzi duże prawdopodobieństwo, że będzie to pusty klaster. Dla inicjalizacji MM można wyciągnąć podobne wnioski co do dynamiki techniki KM. Zmiany położeń środków są gwałtowniejsze w stosunku do KHM. 15 BLUE 5 15 GREEN 5 5 RED 15 (a) (b) 15 15 BLUE BLUE 5 5 15 GREEN 5 5 RED 15 15 GREEN 5 5 RED 15 (c) (d) Rysunek 4.8. Proces klasteryzacji techniką KM z inicjalizacją MM: (a) startowe położenia środków klastrów, (b) chmura pikseli i przemieszczenia środków klastrów w 1 iteracjach, (c) przemieszczenia środków klastrów w 1 iteracjach, (d) końcowe położenia środków klastrów Inne podejście do wyboru startowych środków klastrów wykorzystuje histogram barw, stąd zostało nazwane HIST. Obrazy naturalne prezentują zazwyczaj pewne obszary utożsamiane z obiektami. Obiekty te są opisywane za pomocą cech takich jak np. barwa, kształt, tekstura itd. Można by się zatem spodziewać, że lokowanie startowych środków klastrów w punktach odpowiadających najczęściej występującym barwom w obrazie może przynieść dość dobre rezultaty. Niestety głębsza analiza każdego obrazu naturalnego prowadzi do stwierdzenia, że dany obiekt składa się z pikseli o zbliżonym odcieniu i nie posiada tej samej barwy na całej powierzchni. Powoduje to, że bardzo często startowe środki klastrów wyznaczone zgodnie z podejściem HIST są lokowane bardzo blisko siebie.

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 26 15 BLUE 5 15 GREEN 5 5 RED 15 (a) (b) 15 15 BLUE BLUE 5 5 15 GREEN 5 5 RED 15 15 GREEN 5 5 RED 15 (c) (d) Rysunek 4.9. Proces klasteryzacji techniką KHM z inicjalizacją MM: (a) startowe położenia środków klastrów, (b) chmura pikseli i przemieszczenia środków klastrów w 1 iteracjach, (c) przemieszczenia środków klastrów w 1 iteracjach, (d) końcowe położenia środków klastrów

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 27 Przebieg klasteryzacji z wykorzystaniem metody inicjalizacji HIST dla startowych środków klastrów przedstawiają Rys 4.1 i Rys. 4.11. W tym wypadku zarówno dla techniki KM i KHM wszystkie środki klastrów zmieniają swoje położenie, przy czym dynamika tych zmian jest podobna do wcześniej opisywanych inicjalizacji. 15 BLUE 5 15 GREEN 5 5 RED 15 (a) (b) 15 15 BLUE BLUE 5 5 15 GREEN 5 5 RED 15 15 GREEN 5 5 RED 15 (c) (d) Rysunek 4.1. Proces klasteryzacji techniką KM z inicjalizacją HIST: (a) startowe położenia środków klastrów, (b) chmura pikseli i przemieszczenia środków klastrów w 1 iteracjach, (c) przemieszczenia środków klastrów w 1 iteracjach, (d) końcowe położenia środków klastrów Adaptacyjna metoda inicjalizacji SD została zbudowana bazując na statystycznych parametrach rozkładu chmury pikseli w przestrzeni barw. Wyznaczany jest środek geometryczny S RGB = (S R, S G, S B ) chmury tworzonej przez piksele obrazu zgodnie z zależnościami: S R = 1 N N i=1 R i (4.1) S G = 1 N N i=1 G i (4.2) S B = 1 N N i=1 B i (4.3) gdzie: N - liczba pikseli w obrazie, R i, G i, B i - składowe RGB piksela i.

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 28 15 BLUE 5 15 GREEN 5 5 RED 15 (a) (b) 15 15 BLUE BLUE 5 5 15 GREEN 5 5 RED 15 15 GREEN 5 5 RED 15 (c) (d) Rysunek 4.11. Proces klasteryzacji techniką KHM z inicjalizacją HIST: (a) startowe położenia środków klastrów, (b) chmura pikseli i przemieszczenia środków klastrów w 1 iteracjach, (c) przemieszczenia środków klastrów w 1 iteracjach, (d) końcowe położenia środków klastrów

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 29 W kolejnym kroku wyznaczane są odchylenia standardowe składowych barw pikseli obrazu. Dla chmury pikseli wyznaczono odchylenia standardowe dla każdej ze składowych przestrzeni barw jako: N Ri 2 i=1 σ R = N S R 2, (4.4) N G 2 i i=1 σ G = N S G 2, (4.5) N Bi 2 i=1 σ B = N S B 2, (4.6) gdzie: µ R, µ G, µ B - wartości średnie dla składowych RGB. Dysponując odchyleniem standardowym dla poszczególnych składowych przestrzeni barw, buduje się otoczenie środka geometrycznego chmury o punktach skrajnych: (S R σ R, S G σ G, S B σ B ) i (S R +σ R, S G +σ G, S B +σ B ). Punkty te tworzą przekątną prostopadłościanu, która dzielona jest na k równych segmentów. Środki tych segmentów wskazują na położenie startowych środków klastrów. Rys. 4.12 i Rys 4.13 prezentują przebieg klasteryzacji odpowiednio dla techniki KM i KHM, przy wykorzystaniu inicjalizacji SD. Algorytm podziałowy MedianCut należy do najczęściej wykorzystywanych algorytmów kwantyzacji barwy. Jego idea polega na dzieleniu przestrzeni barw na mniejsze części. Każda z tych części reprezentuje jakąś grupę pikseli, którym w końcowym etapie przypisana zostaje ta sama barwa. Podział przestrzeni barw dokonywany przez MedianCut oparty jest o wartość mediany: docelowo w każdej powstałej części ma znaleźć się podobna liczba pikseli. Wyznaczenie mediany ze zbioru n danych rozpoczyna się od sortowania ich w kolejności od najmniejszej do największej i ponumerowania od 1 do n. Jeśli n jest nieparzyste, medianą jest wartość środkowa, czyli o numerze n+1 2. W przypadku kiedy n jest parzyste, wynikiem jest średnia arytmetyczna między dwiema wartościami środkowymi o numerach n 2 i n 2 + 1. Idea algorytmu MedianCut dla przestrzeni barw: wybieramy prostopadłościan o największej liczbie pikseli opisany na chmurze pikseli. wybieramy najdłuższy bok tego prostopadłościanu. punkt tego boku, który jest wartością mediany decyduje o podziale prostopadłościanu. do listy prostopadłościanów dodajemy dwie nowe połówki, usuwając jednocześnie dzielony prostopadłościan. procedura jest powtarzana, aż do momentu osiągnięcia liczby prostopadłościanów równej liczbie barw szukanej palety.

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 3 15 BLUE 5 15 GREEN 5 5 RED 15 (a) (b) 15 15 BLUE BLUE 5 5 15 GREEN 5 5 RED 15 15 GREEN 5 5 RED 15 (c) (d) Rysunek 4.12. Proces klasteryzacji techniką KM z inicjalizacją SD: (a) startowe położenia środków klastrów, (b) chmura pikseli i przemieszczenia środków klastrów w 1 iteracjach, (c) przemieszczenia środków klastrów w 1 iteracjach, (d) końcowe położenia środków klastrów

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 31 15 BLUE 5 15 GREEN 5 5 RED 15 (a) (b) 15 15 BLUE BLUE 5 5 15 GREEN 5 5 RED 15 15 GREEN 5 5 RED 15 (c) (d) Rysunek 4.13. Proces klasteryzacji techniką KHM z inicjalizacją SD: (a) startowe położenia środków klastrów, (b) chmura pikseli i przemieszczenia środków klastrów w 1 iteracjach, (c) przemieszczenia środków klastrów w 1 iteracjach, (d) końcowe położenia środków klastrów

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 32 w końcowym etapie barwy pikseli należących do poszczególnych prostopadłościanów są zazwyczaj zamieniane na ich średnią barwę. Na Rys. 4.14 pokazano działanie algorytmu MedianCut dla punktów na płaszczyźnie. Dla naturalnych obrazów barwnych taka sytuacja wystąpiłaby w przypadku, kiedy wszystkie piksele charakteryzowały się stałą wartością jednej ze składowych barwy, co praktycznie nie występuje. Idea algorytmu Median Cut (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) Rysunek 4.14. Kolejne etapy algorytmu MedianCut dla danych dwuwymiarowych - zbiór danych zostaje zredukowany do 5 punktów Inicjalizacja MC wykorzystuje wyniki algorytmu MedianCut. Otrzymane w wyniku jego działania barwy zostają użyte jako startowe środki klastrów. Rys. 4.15 przedstawia przebieg procesu klasteryzacji dla techniki KM w z wykorzystaniem inicjalizacji MC, natomiast Rys. 4.16 dla techniki KHM. Wykorzystano te same parametry klasteryzacji dla KM i KHM jak dla inicjalizacji DC, MM, HIST, SD i ten sam obraz testowy. Ścieżki po których przemieszczają się klastry w kolejnych iteracjach są znacznie krótsze niż w opisywanych dotychczas metodach inicjalizacji. Środki klastrów tylko nieznacznie zmieniają swoją pozycję, co wskazuje na to, że inicjalizacja MC zapewnia technikom KM i KHM szybką zbieżność do ich rozwiązań optymalnych. Algorytm podziałowy Wu [91, 92] jest bardzo podobny do MedianCut. Różnica tkwi

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 33 15 BLUE 5 15 GREEN 5 5 RED 15 (a) (b) 15 15 BLUE BLUE 5 5 15 GREEN 5 5 RED 15 15 GREEN 5 5 RED 15 (c) (d) Rysunek 4.15. Proces klasteryzacji techniką KM z inicjalizacją MC: (a) startowe położenia środków klastrów, (b) chmura pikseli i przemieszczenia środków klastrów w 1 iteracjach, (c) przemieszczenia środków klastrów w 1 iteracjach, (d) końcowe położenia środków klastrów

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 34 15 BLUE 5 15 GREEN 5 5 RED 15 (a) (b) 15 15 BLUE BLUE 5 5 15 GREEN 5 5 RED 15 15 GREEN 5 5 RED 15 (c) (d) Rysunek 4.16. Proces klasteryzacji techniką KHM z inicjalizacją MC: (a) startowe położenia środków klastrów, (b) chmura pikseli i przemieszczenia środków klastrów w 1 iteracjach, (c) przemieszczenia środków klastrów w 1 iteracjach, (d) końcowe położenia środków klastrów

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 35 tutaj w metodzie wyboru płaszczyzny podziału dzielonego prostopadłościanu. Jest znajdowany maksymalny prostopadłościan Ω, o największej zdefiniowanej w odpowiedni sposób wariancji E(Ω), opisany na pikselach obrazu i cyklicznie dokonuje się jego podziału na mniejsze Ω 1 i Ω 2, aż do osiągnięcia liczby prostopadłościanów równej liczbie barw w poszukiwanej palecie. Podział dokonywany jest w ten sposób, aby za każdym razem minimalizować sumę: E(Ω 1 ) + E(Ω 2 ). Podobnie jak dla MedianCut do listy prostopadłościanów dopisuje się dwa nowopowstałe, jednocześnie usuwając dzielony. Wielkości E(Ω) wyznaczane są zgodnie z zależnościami: E(Ω) = c Ω P (c)(c q(ω)) 2, (4.7) cp (c) c Ω q(ω) = P (c), (4.8) c Ω gdzie: c - barwa piksela należącego do danego prostopadłościanu, q(ω) - średnia barwa w Ω, P (c) - gęstość występowania barwy c. Podobnie jak dla MedianCut, w wyniku działania algorytmu podziałowego Wu, otrzymuje się w rezultacie pewną paletę barw. Barwy z tej palety w inicjalizacji Wu zostają wykorzystane jako startowe środki klastrów. Na Rys. 4.17 przedstawiono przebieg procesu klasteryzacji dla techniki KM z inicjalizacją Wu. Można zauważyć tylko niewielkie przemieszczenia środków klastrów w kolejnych iteracjach. Podobnie sytuacja wygląda na Rys. 4.18 przedstawiającym proces klasteryzacji KHM z opisywaną inicjalizacją. W porównaniu do KM zmiany położeń środków klastrów są nieznacznie większe. Metoda inicjalizacji WU zapewnia bardzo szybką zbieżność zarówno dla technik KM i KHM. Rys. 4.19 przedstawia wyniki kwantyzacji na 8 barw dla obrazu wykorzystywanego podczas opisywania metod inicjalizacji. Poddając wyniki ocenie wizualnej można zauważyć, że dla 3 metod inicjalizacji: DC, MM, HIST, wyniki dla KM są znacznie gorsze niż dla KHM. Dla naturalnych obrazów barwnych najlepsze rezultaty uzyskiwano łącząc algorytmy podziałowe z technikami klasteryzacyjnymi. Nieznacznie gorsze wyniki uzyskiwano dla inicjalizacji SD i MM. Odpowiednie metody inicjalizacji, które zapewniają szybką zbieżność technik klasteryzacyjnych są szczególnie przydatne dla dużych zbiorów danych (obrazy wysokiej rozdzielczości). W dalszej części pracy zostaną przedstawione szczegółowe wyniki badań nad metodami inicjalizacji przeprowadzone na reprezentatywnej grupie obrazów testowych. W procesach klasteryzacji osobny problem stanowi wybór liczby klastrów k odpowiedniej do zadanego zbioru danych. Problem ten nie zostaje tutaj poddany badaniom ze względu na stosowanie technik klasteryzacyjnych do kwantyzacji barwy i segmentacji obrazu, gdzie liczba k jest niejako z góry określona (liczba barw w palecie, liczba barwnych obiektów). Należy tutaj podkreślić, że dobór prawidłowej wartości k, gdy nie jest to liczba z góry narzucona przez cel klasteryzacji, także nie jest zadaniem łatwym. Najczęściej wybór odpowiedniej wartości k odbywa się poprzez wielokrotne uruchamianie procesu klasteryzacyjnego z różnymi wartościami k i wyznaczaniu wskaźników walidacyjnych [45].

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 36 15 BLUE 5 15 GREEN 5 5 RED 15 (a) (b) 15 15 BLUE BLUE 5 5 15 GREEN 5 5 RED 15 15 GREEN 5 5 RED 15 (c) (d) Rysunek 4.17. Proces klasteryzacji techniką KM z inicjalizacją Wu: (a) startowe położenia środków klastrów, (b) chmura pikseli i przemieszczenia środków klastrów w 1 iteracjach, (c) przemieszczenia środków klastrów w 1 iteracjach, (d) końcowe położenia środków klastrów

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 37 15 BLUE 5 15 GREEN 5 5 RED 15 (a) (b) 15 15 BLUE BLUE 5 5 15 GREEN 5 5 RED 15 15 GREEN 5 5 RED 15 (c) (d) Rysunek 4.18. Proces klasteryzacji techniką KHM z inicjalizacją Wu: (a) startowe położenia środków klastrów, (b) chmura pikseli i przemieszczenia środków klastrów w 1 iteracjach, (c) przemieszczenia środków klastrów w 1 iteracjach, (d) końcowe położenia środków klastrów

4.2. METODY INICJALIZACJI TECHNIK KM I KHM 38 (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) Rysunek 4.19. Wyniki kwantyzacji na 8 barw obrazu z Rys. 4.5(a): (a) KM i DC, (b) KHM i DC, (c) KM i MM, (d) KHM i MM, (e) KM i HIST, (f) KHM i HIST, (g) KM i SD, (h) KHM i SD, (i) KM i MC, (j) KHM i MC, (k) KM i WU, (l) KHM i WU

4.3. WYNIKI KWANTYZACJI BARWY DLA KM I KHM 39 4.3 Wyniki kwantyzacji barwy dla KM i KHM Badania porównawcze technik KM i KHM zostały przeprowadzone między innymi na obrazie Chart, powstałym przez akwizycję obrazu wzornika barw nazywanego ColorChecker Chart Rys. 4.2 (X-Rite, USA). Wzornik ten został zaproponowany ponad trzydzieści lat temu na potrzeby badań technik obrazowania barwnego w dziedzinach takich jak: fotografia, telewizja, grafika [58]. ColorChecker w połączeniu z oprogramowaniem do profilowania aparatów cyfrowych stosowany jest do tworzenia profili aparatów cyfrowych oraz do kalibracji. Wzorzec składa się z 24 specjalnie dobranych pól barwnych umieszczonych na czarnym tle. Pola cechuje kolorystyka naturalnych obiektów. Cyfrowy obraz barwny reprezentujący omawiany Chart (64 x 48 pikseli) został pozyskany w dobrych warunkach oświetleniowych. Obraz ten został poddany operacji kwantyzacji barwy w celu osiągnięcia palety 25 barw, co w naturalny sposób odpowiada jego treści. Rysunek 4.2. Obraz testowy Chart powstały przez akwizycję wzornika barw ColorChecker Rys. 4.21 i Rys. 4.22 prezentują wyniki kwantyzacji uzyskane w przestrzeniach RGB i CIEL a b technikami KM i KHM z wykorzystaniem inicjalizacji DC i SD. Wyniki zostały poddane ocenie wizualnej: wszystkie pola barwne charakteryzujące się dużym błędem percepcyjnym zostały zaznaczone symbolem X. Dokonując zliczenia oznakowanych pól barwnych można rozstrzygnąć, która z technik pozwala na osiągnięcie lepszych rezultatów. Okazuje się, że znaczą przewagę uzyskała technika KHM - 5 pól charakteryzujących się percepcyjnym błędem barwy. Dla techniki KM liczba ta była znacznie większa - 29 pól, co wskazuje na gorsze wyniki kwantyzacji. Ocena wizualna dowolnej operacji cyfrowego przetwarzania obrazów jest zawsze w pewnym stopniu subiektywna. Poza oceną wizualną uzyskanych wyników kwantyzacji obrazu wyznaczono także miary i wskaźniki jakości w celu dokonania oceny obiektywnej otrzymanych rezultatów. Tab. 4.1 zawiera cztery wskaźniki walidacyjne oceniające jakość klasteryzacji, wyznaczone dla wyników KM i KHM. Wszystkie te wskaźniki dla dobrych rezultatów są minimalizowane. Porównując parami odpowiadające sobie komórki tabeli, można zauważyć, że za każdym razem mniejsza wartość występuje dla KHM, co świadczy o przewadze tej techniki nad KM.

4.3. WYNIKI KWANTYZACJI BARWY DLA KM I KHM 4 (a) (b) (c) (d) Rysunek 4.21. Wynik kwantyzacji KM dla obrazu Chart (k=25): (a) przestrzeń RGB, inicjalizacja DC, (b) przestrzeń CIEL a b, inicjalizacja DC, (c) przestrzeń RGB, inicjalizacja SD, (d) przestrzeń CIEL a b, inicjalizacja SD

4.3. WYNIKI KWANTYZACJI BARWY DLA KM I KHM 41 (a) (b) (c) (d) Rysunek 4.22. Wynik kwantyzacji KHM dla obrazu Chart image (k=25): (a) przestrzeń RGB, inicjalizacja DC, (b) przestrzeń CIEL a b, inicjalizacja DC, (c) przestrzeń RGB, inicjalizacja SD, (d) przestrzeń CIEL a b, inicjalizacja SD

4.3. WYNIKI KWANTYZACJI BARWY DLA KM I KHM 42 Tab. 4.2 prezentuje kolejny zestaw miar i wskaźników jakości. Wyznaczono wartości P SN R, E, M i Q(I). P SNR jest wskaźnikiem maksymalizowanym, a trzy pozostałe są minimalizowane wraz ze wzrostem jakości. Tabela 4.1. Wskaźniki jakości dla obrazu Chart KM Intra V M 1 V M 2 DB RGB L a b RGB L a b RGB L a b RGB L a b Chart DC 564 688,538,738 34789 28822,592,9 Chart SD 27 71,321,99 18324 323,568 1,46 KHM Intra V M 1 V M 2 DB RGB L a b RGB L a b RGB L a b RGB L a b Chart DC 3,11,343 1841 12352,398,696 Chart SD 94 132,16,152 1686 176,431,475 Tabela 4.2. Błędy kwantyzacji barwy dla obrazu Chart KM P SN R E M Q(I) RGB L a b RGB L a b RGB L a b RGB L a b Chart DC 25,35 24,51 8,43 3,99 3,73 5,76 5952 7275 Chart SD 28,57 24,37 5,26 2,3 3,77 6,2 2646 6858 KHM P SN R E M Q(I) RGB L a b RGB L a b RGB L a b RGB L a b Chart DC 32,96 28,13 3,19,57,99 3,17 795 218 Chart SD 33,25 31,72 2,76,56,66 2,81 752 1179 W kolejnym badaniu operacji kwantyzacji poddano zestaw pięciu znanych obrazów testowych przedstawionych na Rys. 4.23, które są bardzo często wykorzystywane podczas badań nad przetwarzaniem obrazów cyfrowych. Obrazy o tej samej rozdzielczości przestrzennej (512x512 pikseli) były kwantowane na 8 i 16 barw w przestrzeniach RGB oraz CIEL a b. Tab. 4.3-4.6 prezentują porównanie miar i wskaźników jakości dla technik KM i KHM wykorzystanych do operacji kwantyzacji barwy. Można tutaj zauważyć pewną zależność: jeżeli do oceny jakości zostanie użyty P SN R (wskaźnik bazujący na składowych RGB), to wyniki kwantyzacji w przestrzeni RGB zgodnie z P SNR są lepsze od wyników kwan-

4.3. WYNIKI KWANTYZACJI BARWY DLA KM I KHM (a) 43 (b) (c) (d) (e) Rysunek 4.23. Obrazy testowe wykorzystane podczas badań: (a) Airplane, (b) Baboon, (c) Boats, (d) Lena, (e) Peppers Tabela 4.3. Błędy kwantyzacji dla techniki KM, k = 8 KM P SN R E M RGB L a b RGB L a b RGB L a b Airplane 27,86 27, 5,1 4,66 8,29 5,39 Baboon 22,42 2,24 14,5 12,97 7,51 5,68 Boats 26,85 25,76 7,26 6,56 8,19 3,45 Lena 26,87 25,75 8,39 7,24 5,26 3,6 Peppers 24,62 22,96 1,59 9,59 4,65 3,84 Overall 25,72 24,34 9,15 8,2 6,78 4,28

4.3. WYNIKI KWANTYZACJI BARWY DLA KM I KHM 44 Tabela 4.4. Błędy kwantyzacji dla techniki KHM, k = 8 KHM P SNR E M RGB L a b RGB L a b RGB L a b Airplane 29,69 28,84 4,57 4,35 4,49 3,84 Baboon 22,32 2,33 14,72 12,88 6,55 5,8 Boats 26,74 25,56 7,28 6,73 8,5 3,23 Lena 26,44 25,7 8,45 7,33 6,38 2,7 Peppers 24,59 22,93 1,62 9,64 4,19 4,38 Overall 25,96 24,67 9,13 8,19 5,93 3,85 Tabela 4.5. Błędy kwantyzacji dla techniki KM, k = 16 KM P SNR E M RGB L a b RGB L a b RGB L a b Airplane 31,34 3,9 3,87 3,46 3,46 3,37 Baboon 24,84 23,18 11,6 1,1 4,33 3,56 Boats 29,88 28,2 5,53 4,95 3,77 1,9 Lena 29,49 27,8 6,3 5,51 2,71 1,57 Peppers 27,11 25,46 8,32 7,33 2,45 2,27 Overall 28,53 26,95 7,12 6,25 3,34 2,53 Tabela 4.6. Błędy kwantyzacji dla techniki KHM, k = 16 KHM P SNR E M RGB L a b RGB L a b RGB L a b Airplane 32,36 31,25 3,72 3,31 3,43 3,14 Baboon 24,76 22,58 11,61 1,2 4,4 3,47 Boats 29,74 28,43 5,39 4,86 3,92 1,81 Lena 29,32 27,87 6,34 5,42 2,97 1,77 Peppers 27,1 25,7 8,25 7,23 2,62 2,6 Overall 28,66 27,4 7,6 6,2 3,47 2,45

4.3. WYNIKI KWANTYZACJI BARWY DLA KM I KHM 45 tyzacji w przestrzeni CIEL a b. Jeżeli jako miara jakości zostanie wybrana E (miara bazująca na przestrzeni CIEL a b ), to mniejsze wartości E, a tym samym wyższa jakość kwantyzacji zostaje osiągnięta w przestrzeni CIEL a b. Użycie dodatkowej miary jakości M jest tutaj decydujące. Zarówno dla techniki KM i KHM strata barwności obrazu M jest mniejsza w przestrzeni CIEL a b, co świadczy o wyższej jakości kwantyzacji w tej przestrzeni w stosunku do RGB. Porównując wyniki kwantyzacji technikami KM i KHM można zaobserwować, że dla wszystkich wartości średnich kryteriów oceny jakości, technika KHM daje lepsze rezultaty w stosunku do KM. Podczas badań została wykorzystana inicjalizacja SD, a dla techniki KHM parametr p = 2,7. Podobne wnioski na temat wysokiej jakości kwantyzacji w przestrzeni CIEL a b przedstawiono w pracy [18]. W badaniach wykorzystano zbiór 1 obrazów testowych: Airplane, Baboon, Boats, Lena, P eppers, Butterf ly, F ruits, Goldhill, T able, Zelda. Rys. 4.24 przedstawia dodatkowe obrazy. Obrazy testowe były poddawane operacji kwan- (a) (b) (d) (c) (e) Rysunek 4.24. Dodatkowe obrazy testowe wykorzystane podczas badań: (a) Butterfly, (b) Fruits, (c) Goldhill, (d) Table, (e) Zelda tyzacji w celu wyznaczenia palety barw (16, 64, 256). Wykorzystano klasyczny algorytm MedianCut [8, 13] (MC) oraz jego modyfikację Optimized Median Cut (OMC) z aplikacji JASC Paint Shop Pro v.9. Dla technik klasteryzacyjnych wykorzystano inicjalizację SD. Dla kwantyzacji KHM przyjęto p = 2, 7. Wybrane wyniki zostały zaprezentowane w Tab. 4.7, gdzie można zauważyć, że najlepszy wynik otrzymano dla KHM w przestrzeni CIEL a b, a następnie dla KM w tej samej przestrzeni barw. Algorytm MedianCut znalazł się w tym zestawieniu na końcu. W pracy [68] wykorzystano te same obrazy testo-

4.3. WYNIKI KWANTYZACJI BARWY DLA KM I KHM 46 we. Wyniki M, które tam zostały przedstawione również pokazują, że lepsze rezultaty kwantyzacji uzyskuje się w przestrzeni CIEL a b. Tabela 4.7. Wskaźnik E dla obrazów testowych po kwantyzacji z k = 256 E MC OMC KM(RGB) KM(L a b ) KHM(RGB) KHM(L a b ) Airplane 2,28 1,73 1,55 1,17 1,46 1,13 Baboon 8,62 4,57 3,98 3,49 4,9 4,15 Boats 3,72 3,15 2,43 2,12 2,7 1,95 Butterfly 4,83 3,42 2,56 2,46 2,68 2,31 Fruits 4,33 2,74 2,28 2,49 1,99 1,98 Goldhill 4,3 3,2 2,43 2,3 2,78 2,33 Lena 3,54 2,97 2,35 2,15 2,4 2,5 Peppers 5,65 4,48 4,1 4,1 4,1 3,79 Table 6,11 3,69 2,97 2,99 2,58 2,55 Zelda 4, 3,71 2,98 2,75 2,61 2,51 Średnio 4,71 3,37 2,75 2,58 2,76 2,48 Przedstawiane dotychczas rezultaty wskazują, że najlepszą metodą inicjalizacji jest SD. Przeprowadzony został jeszcze jeden eksperyment, aby ostatecznie potwierdzić to stwierdzenie. Postawione zostało zadanie kwantyzacji barwy dla 5 przedstawionych już obrazów testowych: Airplane, Baboon, Boats, Lena i P eppers. Kwantyzacja była przeprowadzona technikami klasteryzacyjnymi KM i KHM z k = 8, 16, 32 przy 15 iteracjach. Dla KHM przyjęto parametr p = 2, 7. Wyniki były oceniane za pomocą trzech wskaźników jakości: P SNR, E i M. Ponieważ P SNR jest maksymalizowany wraz ze wzrostem jakości obrazu wynikowego, a dwa pozostałe wskaźniki jakości są minimalizowane, zbudowano ocenę punktową. Metoda inicjalizacji, która dawała najlepszy rezultat z punktu widzenia danego wskaźnika jakości otrzymywała 4 punkty. Druga pod względem jakości - 3 punkty następna - 2 punkty i najgorszy wynik otrzymywał 1 punkt. Dla 5 obrazów testowych suma punktów dla każdego wskaźnika jakości wynosi zatem 5. Tab. 4.8 prezentuje ocenę punktową uzyskanych wyników kwantyzacji dla techniki KM, zaś Tab. 4.9 dla techniki KHM. Wyniki potwierdzają wyższość inicjalizacji SD dla KM nad pozostałymi we wszystkich przypadkach. Dla techniki KHM dla niskich wartości k sytuacja jest podobna. Dla k = 32 w technice KHM niewielką przewagę uzyskuje inicjalizacja DC. W celu określenia wrażliwości na inicjalizację dokonano wyznaczenia rozpiętości (różnica wartości maksymalnych i minimalnych) oceny punktowej dla rozpatrywanych inicjalizacji. Otrzymane wyniki dla techniki KM i KHM prezentuje Tab. 4.1. Wartości rozpiętości wyników dla KHM są na ogół mniejsze od KM, co wskazuje na większą odporność techniki KHM względem metody inicjalizacji. Podobne badania porównujące metody inicjalizacji i wrażliwość KM i KHM zostały przeprowadzone na zbiorze 3 obrazów testowych pozyskanych z obrazowej bazy danych dostępnej na stronie WWW University of Berkeley (USA) [56]. Wybrane obrazy z tego zbioru naturalnych obrazów barwnych przedstawia Rys. 4.25. Obrazy te posiadają rozdzielczość przestrzenną 481x321 pikseli i przedstawiają sceny naturalne. Ocena punktowa dla 4 me-

4.3. WYNIKI KWANTYZACJI BARWY DLA KM I KHM 47 Tabela 4.8. Ocena punktowa uzyskiwanych wyników kwantyzacji KM dla różnych inicjalizacji - 5 obrazów testowych k = 8 k = 16 k = 32 DC HIST MM SD P SN R 11 5 16 18 E 1 11 13 16 M 13 11 12 14 P SN R 1 7 15 18 E 12 1 1 18 M 1 8 14 18 P SN R 12 6 14 18 E 12 5 16 17 M 12 5 15 18 DC HIST MM SD k = 8 34 27 41 48 k = 16 32 25 39 54 k = 32 36 16 45 53 Tabela 4.9. Ocena punktowa uzyskiwanych wyników kwantyzacji KHM dla różnych inicjalizacji - 5 obrazów testowych k = 8 k = 16 k = 32 DC HIST MM SD P SN R 11 15 9 15 E 12 13 11 14 M 13 12 11 14 P SN R 16 6 13 15 E 11 9 11 19 M 17 8 11 14 P SN R 14 8 15 13 E 15 6 15 14 M 12 11 14 13 DC HIST MM SD k = 8 36 4 31 43 k = 16 44 23 35 48 k = 32 41 25 44 4 tod inicjalizacji dla technik KM i KHM została przedstawiona kolejno w Tab. 4.11 i Tab 4.12. Wyniki są bezdyskusyjne i przemawiają na korzyść inicjalizacji SD zarówno dla KM i KHM. Również w tym przypadku wyznaczono rozpiętość uzyskiwanych ocen w celu

4.3. WYNIKI KWANTYZACJI BARWY DLA KM I KHM 48 Tabela 4.1. Ocena wrażliwości na inicjalizację dla 5 obrazów testowych (rozpiętość punktów) KM KHM 8 16 32 P SNR 13 11 12 E 6 8 12 M 3 1 13 22 29 37 P SNR 6 1 7 E 3 1 9 M 3 9 3 12 29 19 (a) (b) (c) (d) (e) (f) Rysunek 4.25. Wybrane obrazy testowe pozyskane z bazy danych dostępnej na stronie WWW University of Berkeley (USA) [56] określenia, która z technik jest bardziej wrażliwa na sposób wyboru startowych środków klastrów. Wyniki przedstawione w Tab. 4.13 ponownie potwierdzają mniejszą wrażliwość techniki KHM w stosunku do KM. Przedstawiane tutaj wyniki zostały zaprezentowane w pracy [19]. Analizując przedstawione wcześniej graficzne wizualizacje przebiegu klasteryzacji dla różnych inicjalizacji i przedstawione powyżej wyniki dla obrazu Chart przy inicjalizacjach SD i DC można stwierdzić, że KM jest znacznie bardziej wrażliwą techniką na proces inicjalizacji. Dla zaproponowanych inicjalizacji (DC, MM, HIST, SD) technika KM okazała się bardziej wrażliwa od KHM w przypadku testów na 3 obrazach. Należy zatem szczególnie dla KM poszukiwać odpowiednich metod wyboru startowych środków klastrów, gdyż etap ten bardzo silnie wpływa na otrzymane wyniki. Tab. 4.14-4.16 prezentują kolejno wskaźniki jakości: M SE, E, M, dla różnych inicjalizacji i różnych wartościach k. Kolumna

4.3. WYNIKI KWANTYZACJI BARWY DLA KM I KHM 49 Tabela 4.11. Ocena punktowa uzyskiwanych wyników kwantyzacji KM dla różnych inicjalizacji - 3 obrazów testowych k = 8 k = 16 k = 32 DC HIST MM SD P SN R 791 394 864 951 E 645 617 724 114?M 713 712 711 864 P SN R 776 35 899 975 E 65 515 73 115 M 666 592 694 148 P SN R 831 327 985 857 E 687 453 777 183 M 731 447 754 168 DC DC MM SD k = 8 2149 1723 2299 2829 k = 16 292 1457 2323 3128 k = 32 2249 1227 2516 38 barwy oznacza liczbę barw w poszukiwanej palecie, czyli odpowiada wartości k. Dodatkowo wyniki KM zostały zestawione z algorytmami MedianCut i Wu. Badania zostały przeprowadzone na przedstawionych już obrazach testowych: Airplane, Baboon, Boats, Lena, P eppers. Otrzymane rezultaty potwierdzają znany z literatury fakt mówiący o lepszych wynikach kwantyzacji uzyskiwanych algorytmem Wu w stosunku do MedianCut. Zauważyć także można przewagę inicjalizacji SD w stosunku do DC [19, 25]. Wykorzystując inicjalizacje oparte na szybkich algorytmach podziałowych otrzymuje się najlepsze rezultaty, przy czym wyraźna jest przewaga inicjalizacji Wu nad MC. Startując z palety wygenerowanej przez MedianCut lub Wu technika KM dokonuje jej modyfikacji za każdym razem jeszcze bardziej poprawiając końcowy rezultat, co potwierdzają przedstawione tutaj wskaźniki jakości. Porównując metody inicjalizacji oparte na algorytmach MedianCut i Wu z zaproponowanymi można stwierdzić, że wyniki uzyskane z połączenia MedianCut i KM (MC+KM) są podobnej jakości do uzyskiwanych dla inicjalizacji SD. Wyniki klasteryzacji z inicjalizacją Wu (Wu+KM) są zdecydowanie najlepsze spośród wszystkich badanych inicjalizacji. Wyniki te zostały także przedstawione w pracy [69]. Obecnie istnieje ogromny zbiór różnorodnych aplikacji graficznych umożliwiających przetwarzanie cyfrowych obrazów barwnych. Kwantyzacja barwy jest jedną z podstawowych operacji przetwarzania obrazu wobec czego jest zazwyczaj dostępna w większości aplikacji. Przeprowadzono badania konfrontujące uzyskiwane wyniki kwantyzacji technikami KM i KHM z wynikami otrzymanymi przy użyciu popularnych aplikacji IrfanView (IF) oraz Paint Shop Pro 9. Uzyskane rezultaty zostały przedstawione w Tab. 4.17. Obrazy testowe, przedstawione na Rys. 4.26, były poddane operacji kwantyzacji na 16 barw. W aplikacji Paint Shop Pro 9 wykorzystano do kwantyzacji algorytmy takie jak Optimized Median Cut (OMC) i Optimized Octree (OCT). Jako punkt odniesienia dla prezentowa-

4.3. WYNIKI KWANTYZACJI BARWY DLA KM I KHM 5 Tabela 4.12. Ocena punktowa uzyskiwanych wyników kwantyzacji KHM dla różnych inicjalizacji - 3 obrazów testowych k = 8 k = 16 k = 32 DC HIST MM SD P SN R 714 59 746 95 E 671 67 734 925 M 763 713 712 812 P SN R 711 613 731 945 E 68 712 675 933 M 727 731 71 832 P SN R 712 674 76 98 E 665 74 68 915 M 725 79 689 796 DC DC MM SD k = 8 2148 1973 2192 2687 k = 16 2118 256 2116 271 k = 32 212 224 275 2619 Tabela 4.13. Ocena wrażliwości na inicjalizację dla 3 obrazów testowych (rozpiętość punktów) KM KHM 8 16 32 PSNR 557 625 658 E 397 59 63 M 153 456 621 117 1671 199 PSNR 36 332 234 E 255 258 M 122 17 715 712 591 nych wyników przedstawiono także wyniki kwantyzacji osiągnięte z paletą stałą: Windows Palette (WP). Programiści aplikacji IrfanView nie wskazują jaki algorytm został przez nich wykorzystany w kwantyzacji. Kwantyzację barwy poprzez techniki klasteryzacyjne wykonano w przestrzeni barw CIEL a b, co znacznie poprawiło jakość uzyskiwanych wyników. Jakość uzyskanej kwantyzacji mierzono za pomocą wskaźników P SN R, E76 oraz M.Wskaźnik PSNR, który jest maksymalny dla najlepszego wyniku kwantyzacji przemawia wyraźnie na korzyść techniki KHM. Strata barwności oraz średni błąd barwy, które powinny być minimalizowane również obrazują przewagę techniki KHM nad pozostałymi. Na drugiej pozycji ze względu wskaźniki jakości plasuje się technika KM. Aby pokazać, że nie tylko wartości wskaźników przemawiają na korzyść technik klaste-

4.3. WYNIKI KWANTYZACJI BARWY DLA KM I KHM 51 Tabela 4.14. Wartości wskaźnika M SE dla różnych metod inicjalizacji Barwy Obraz MC Wu KM(DC) KM(SD) MC+KM Wu+KM 16 Airplane 312 13 133 17 114 116 16 Baboon 774 672 635 636 626 624 16 Boats 312 223 212 196 197 16 Lena 291 231 236 218 213 211 16 Peppers 456 395 377 369 373 375 Średnia 429 33 319 35 35 35 32 Airplane 141 61 75 62 65 57 32 Baboon 453 411 391 38 374 372 32 Boats 159 114 115 13 15 13 32 Lena 168 135 135 119 12 119 32 Peppers 27 236 226 22 22 219 Średnia 238 191 188 177 177 174 64 Airplane 81 4 42 4 43 36 64 Baboon 282 254 238 236 237 236 64 Boats 93 63 66 58 59 57 64 Lena 99 52 83 75 75 73 64 Peppers 177 143 134 133 133 132 Średnia 146 11 113 18 19 17 128 Airplane 45 25 28 28 31 23 128 Baboon 183 166 159 153 152 152 128 Boats 54 36 42 35 36 34 128 Lena 6 51 55 48 48 47 128 Peppers 114 89 84 82 82 81 Średnia 91 73 74 69 7 67 256 Airplane 27 17 19 22 21 15 256 Baboon 12 15 14 98 98 97 256 Boats 33 23 26 23 24 21 256 Lena 39 33 39 34 32 31 256 Peppers 69 55 57 53 52 5 Średnia 58 47 49 46 45 43

4.3. WYNIKI KWANTYZACJI BARWY DLA KM I KHM 52 Tabela 4.15. Wartości wskaźnika E dla różnych metod inicjalizacji Barwy Obraz MC Wu KM(DC) KM(SD) MC+KM Wu+KM 16 Airplane 4,9 3,73 3,8 3,7 3,77 3,54 16 Baboon 12,77 11,7 11,53 11,58 11,39 11,32 16 Boats 6,12 5,57 5,64 5,48 5,36 5,22 16 Lena 6,82 6,47 6,33 6,3 6,5 6,15 16 Peppers 8,86 8,5 8,12 8,16 8,19 8,2 Średnia 7,89 7,19 7,8 7,4 6,95 6,89 32 Airplane 3,83 2,96 3,22 2,87 3, 2,87 32 Baboon 9,8 9,55 9,57 9,37 9,37 9,34 32 Boats 4,57 4,19 4,27 4,5 4,9 4,7 32 Lena 5,44 5,19 5,19 4,81 4,87 4,83 32 Peppers 6,83 6,73 6,57 6,46 6,43 6,51 Średnia 6,9 5,72 5,76 5,51 5,55 5,52 64 Airplane 3,15 2,59 2,58 2,47 2,5 2,46 64 Baboon 8,1 7,74 7,57 7,57 7,6 7,55 64 Boats 3,67 3,34 3,45 3,21 3,21 3,22 64 Lena 4,35 4,15 4,25 3,94 3,93 3,99 64 Peppers 5,56 5,24 5,3 5,4 5,6 4,98 Średnia 4,95 4,61 4,58 4,45 4,46 4,44 128 Airplane 2,54 2,18 2,26 2,11 2,13 2,11 128 Baboon 6,55 6,36 6,31 6,13 6,15 6,13 128 Boats 2,97 2,72 2,9 2,67 2,66 2,62 128 Lena 3,51 3,38 3,53 3,21 3,24 3,24 128 Peppers 4,43 4,2 4,3 3,97 3,96 3,98 Średnia 4, 3,77 3,81 3,62 3,63 3,62 256 Airplane 2, 1,87 1,92 1,83 1,8 1,71 256 Baboon 5,29 5,1 5,1 4,95 4,96 4,93 256 Boats 2,45 2,32 2,4 2,28 2,25 2,23 256 Lena 2,84 2,75 2,95 2,71 2,65 2,65 256 Peppers 3,52 3,29 3,34 3,2 3,13 3,13 Średnia 3,22 3,7 3,14 2,99 2,96 2,93

4.3. WYNIKI KWANTYZACJI BARWY DLA KM I KHM 53 Tabela 4.16. Wartości wskaźnika M dla różnych metod inicjalizacji Barwy Obraz MC Wu KM(DC) KM(SD) MC+KM Wu+KM 16 Airplane 8,87 2,24 2,89 2,8 3,24 2,5 16 Baboon 2,67 4,41 4,62 4,33 4,22 4,25 16 Boats 6,86 3,65 4,9 3,67 3,43 3,3 16 Lena 2,73 2,84 2,48 2,6 2,28 2,48 16 Peppers 1,32 3,4 2,83 2,68 2,58 2,77 Średnia 4,49 3,31 3,38 3,21 3,15 2,97 32 Airplane 5,65 1,47 2,9 1,14 1,8 1,1 32 Baboon 2,43 3,74 2,74 2,67 2,79 2,7 32 Boats 5, 2,2 2,12 1,72 1,88 1,64 32 Lena 1,88 1,67 1,76 1,6 1,61 1,69 32 Peppers,68 1,36 1,62 1,78 1,64 1,48 Średnia 3,13 2,9 2,7 1,78 1,94 1,72 64 Airplane 3,3,72,86,83,89,71 64 Baboon 1,94 2,7 1,84 1,81 1,86 1,78 64 Boats 2,98 1,6 1,26 1,5 1,5 1,6 64 Lena 1,18 1,15 1,12,94 1,5,97 64 Peppers,24 1,5 1,17,92 1,3,75 Średnia 1,87 2,9 1,25 1,11 1,18 1,5 128 Airplane 2,57,44,57,56,67,5 128 Baboon 1,12 1,8 1,22 1,15 1,21 1,18 128 Boats 1,88,64,81,65,7,61 128 Lena,98,72,86,71,7,67 128 Peppers,2,69,68,56,62,68 Średnia 1,35,71,83,73,78,73 256 Airplane 2,5,2,4,42,48,29 256 Baboon,72,69,83,7,71,69 256 Boats 1,19,4,54,43,51,42 256 Lena,71,39,47,48,48,38 256 Peppers,21,28,41,35,35,39 Średnia,98,39,53,48,5,43

4.3. WYNIKI KWANTYZACJI BARWY DLA KM I KHM 54 Tabela 4.17. Jakość kwantyzacji KM i KHM w porównaniu z innymi algorytmami Obraz Aeroplane Parrots Motorcross Seaside Girl Wskaźnik KHM KM IF OMC OCT WP PSNR 3,34 29,71 27,83 28,27 24,66 18,69 E76 3,38 3,67 7,2 6,3 8,65 17,35 M,99 1,2 2,5,33 6,49 26,5 PSNR 24,59 24,57 23,52 22,91 23,38 16,3 E76 7,21 7,19 13,2 12,55 1,69 26,89 M 2,33 2,75 5,47 11,42 1,77 37,23 PSNR 24,56 25,22 23,99 23,65 23,91 16,35 E76 7,11 6,81 11,14 14,48 1,78 24,69 M 6,56 4,41 3,84,91 7,67 39,34 PSNR 32,7 31,47 3,4 28,66 26,46 17,25 E76 3,24 3,24 5,3 6,33 5,3 18,21 M 1,95 1,2 2,55 2,28 3,89 15,76 PSNR 27,14 26,95 24,76 25,59 24,29 17,8 E76 5,45 5,92 9,1 1,76 8,95 22,63 M 1,93 1,82 3,36,17 5,46 23,64 (a) (b) (d) (c) (e) Rysunek 4.26. Obrazy testowe: (a) Aeroplane, (b) P arrots, (c) M otocross, (d) Seaside, (e) Girl ryzacyjnych wykonano dodatkowe badanie na obrazie testowym Girl. Rys. 4.27 przedstawia wyniki kwantyzacji na 16 barw obrazu testowego Girl, tym razem w wersji z rozdzielczością przestrzenną 512x512 pikseli. Nieciekawe, niemal jednolite tło obrazu zostało częściowo wycięte. Pomimo, że ocena wizualna jest zawsze subiektywna, to w tym przypadku

4.4. PROBLEM PUSTYCH KLASTRÓW 55 wynik jest bezdyskusyjny. Najlepszy rezultat otrzymano stosując technikę klasteryzacyjną KHM z k=16. Drugi pod względem jakości wydaje się być wynik uzyskany przy użyciu algorytmu MedianCut. Następnie plasują się rezultaty uzyskane przy zastosowaniu stałych palet barw, zaś najgorszy wynik uzyskano dla algorytmu popularnościowego. Ze względu na to, że w obrazie oryginalnym najczęściej występującymi barwami są odcienie barwy brązowej, do palety 16 barw zostały wybrane właśnie te barwy jako najpopularniejsze. W celu uzyskania lepszego rezultatu przy użyciu tego algorytmu często wprowadza się pewne modyfikacje, które zapobiegają wybieraniu do palety bardzo zbliżonych barw, jednak tutaj została wykorzystana oryginalna postać algorytmu. Rysunek 4.27. Wyniki kwantyzacji obrazu Girl na 16 barw i uzyskane palety barw, przy wykorzystaniu: algorytmu popularnościowego (ang. Popularity), dwóch palet stałych (Windows palette oraz Web-Safe palette) i techniki klasteryzacyjnej KHM 4.4 Problem pustych klastrów Dobra inicjalizacja (wybór startowych środków klastrów) dla technik klasteryzacyjnych powinna zapewniać wysoką jakość klasteryzacji, przy minimalnej liczbie koniecznych do wykonania iteracji. Dobra inicjalizacja powinna także eliminować zjawisko występowania pustych klastrów. Jeżeli do środka klastra c k nie został przypisany żaden punkt, to jest on uważany za pusty klaster. Przy wykorzystaniu technik klasteryzacyjnych w kwantyzacji barwy powstawanie pustych klastrów powoduje, że otrzymana w wyniku kwantyzacji paleta barw jest mniejsza od liczby klastrów k, co skutkuje pogorszeniem jakości kwantyzacji. Należy zatem wprowadzić dodatkowe procedury, które będą wykorzystywane w przypadku

4.4. PROBLEM PUSTYCH KLASTRÓW 56 wystąpienia pustych klastrów lub też skorzystać z metod inicjalizacji, które eliminują to zjawisko. W literaturze można spotkać różne podejścia do problemu eliminacji występowania pustych klastrów, np. takie w których ograniczana jest minimalna liczba punktów jaka może być przypisana do każdego z klastrów [7]. Na Rys. 4.29 przedstawiono wizualizację problemu powstawania pustych klastrów dla obrazu z Rys. 4.28, który pochodzi ze zbioru [56]. Zastosowano inicjalizację DC i wykona- (a) (b) Rysunek 4.28. Obraz oryginalny Gepard (a) i jego reprezentacja graficzna w sześcianie RGB (b) - chmura pikseli no 1 iteracji dla każdej z technik. Można zaobserwować, że do klastra, który jest najbliżej barwy białej od początku nie zostaje przypisany żaden piksel z chmury. Przekłada się to także na brak przemieszczeń środka tego klastra. W przedstawionej wizualizacji zaznaczono pusty klaster za pomocą strzałki. W wyniku kwantyzacji z k = 8 dla techniki KM otrzymamy zatem obraz o 7 barwach, co ma oczywisty wpływ na pogorszenie rezultatu. Technika KHM nie generuje tutaj pustych klastrów, co można zaobserwować na Rys. 4.3. Podczas badań na obrazie testowym Chart sprawdzono liczbę pustych klastrów, jaka powstaje podczas klasteryzacji pikseli technikami KM i KHM. Obraz Chart został poddany klasteryzacji przyjmując k=25 i parametr p=2,7 (KHM). Tab. 4.18 prezentuje liczbę pustych klastrów powstałych w procesie klasteryzacji w przestrzeniach RGB i CIEL a b. Okazuje się, że technika KM, przy różnych inicjalizacjach, generuje puste klastry. Dla techniki KHM problem pustych klastrów nie występuje. Podobne badania zostały przeprowadzone na grupie obrazów testowych z Rys. 4.23. Tab. 4.19 prezentuje liczbę pustych klastrów dla KM. Dla techniki KHM liczba pustych klastrów dla inicjalizacji SD i DC była za każdym razem równa, bez względu na przestrzeń barw czy liczbę klastrów k = 8, 16, 32. Patrząc z punktu widzenia metody inicjalizacji badania pokazują, że inicjalizacja DC w połączeniu z techniką KM, dla niektórych obrazów generuje puste klastry. Jeżeli zwiększa się liczba klastrów k, to liczba pustych klastrów również rośnie. Znacznie lepsze rezultaty otrzymuje się stosując inicjalizację SD. Tab. 4.18 i Tab. 4.19 przedstawiają liczby pustych klastrów dla tej inicjalizacji dla KM i KHM w przestrzeniach RGB i CIEL a b. Badania zostały także przeprowadzone na znacznie większym zbiorze obrazów testo-

4.4. PROBLEM PUSTYCH KLASTRÓW 57 15 BLUE 5 15 GREEN 5 5 RED 15 (a) (b) 15 15 BLUE BLUE 5 5 15 GREEN 5 5 RED 15 15 GREEN 5 5 RED 15 (c) (d) Rysunek 4.29. Wizualizacja problemu pustych klastrów w technice KM dla obrazu Gepard przy inicjalizacji DC: (a) chmura pikseli i przemieszczenia środków klastrów, (b) przemieszczenia środków klastrów, (c) końcowe położenia środków klastrów, (d) wskazanie pustego klastra Tabela 4.18. Liczba pustych klastrów dla obrazu Chart (technika KM) KM DC, k = 25 SD, k = 25 RGB L a b RGB L a b Chart 1 wych, pozyskanych z bazy danych dostępnej na stronie WWW University of Berkeley (USA) [56]. Zbiór ten zawiera obrazy przedstawiające sceny naturalne. Wybrane obrazy z tego zbioru zostały przedstawione na Rys. 4.25 i Rys 4.28. Dla zbioru 3 obrazów testowych tylko w kilku przypadkach technika KM z inicjalizacją SD wygenerowała puste klastry. Wyniki prezentuje Tab. 4.2. Wyniki klasteryzacji techniką KHM dla każdego z badanych obrazów były pozbawione pustych klastrów, stąd zrezygnowano z zamieszczania tabeli zawierającej liczbę pustych klastrów dla KHM, która byłaby w całości wypełniona wartościami zerowymi.

4.5. WPŁYW ZAKŁÓCEŃ NA KM I KHM 58 15 BLUE 5 15 GREEN 5 5 RED 15 (a) (b) 15 BLUE 5 15 GREEN 5 5 RED 15 (c) Rysunek 4.3. Wizualizacja procesu klasteryzacji obrazu Gepard dla techniki KHM z inicjalizacją DC: (a) chmura pikseli i przemieszczenia środków klastrów, (b) przemieszczenia środków klastrów, (c) końcowe położenia środków klastrów Tabela 4.19. Liczba pustych klastrów dla znanych obrazów testowych (technika KM) KM DC, k = 8 SD, k = 8 DC, k = 16 SD, k = 16 DC, k = 32 SD, k = 32 RGB L a b RGB L a b RGB L a b RGB L a b RGB L a b RGB L a b Airplane 2 1 2 1 6 3 Baboon 1 1 Boats 1 2 5 4 Lena 1 1 2 2 5 3 Peppers 4.5 Wpływ zakłóceń na KM i KHM Cyfrowe obrazy barwne pozyskiwane są niekiedy w niesprzyjających warunkach i przesyłane różnej jakości kanałami transmisyjnymi, co prowadzi do powstania szumu w obrazach. Szum występujący w obrazach cyfrowych, bez względu na rodzaj, jest zawsze zakłóceniem,

4.5. WPŁYW ZAKŁÓCEŃ NA KM I KHM 59 Tabela 4.2. Liczba pustych klastrów dla techniki KM - 3 obrazów testowych KM KHM k DC HIST MM SD 8 44 4 1 16 127 9 1 32 189 1 132 2 8 16 32 które w znacznym stopniu utrudnia przetwarzanie i analizę obrazów. Naturalnym podejściem do problemu przetwarzania zakłóconych obrazów jest wykorzystanie metod filtracji niepożądanych zakłóceń. Badania wpływu zakłóceń na wyniki KM i KHM przeprowadzono na pozyskanych obrazach barwnych dobrej jakości, a także na obrazach zakłóconych pozyskanych w niesprzyjających warunkach oświetleniowych oraz obrazach zaszumionych sztucznie. Uzyskane wyniki pokazały przewagę techniki KHM nad KM zarówno dla obrazów dobrej jakości, jak również w obecności szumu. W celu porównania odporności technik KM i KHM przygotowano dwie pary obrazów testowych. Każda para przedstawia obrazy sceny zawierającej kilka prostych obiektów barwnych usytuowanych na jednolitym tle. Obrazy zostały wykonane aparatem cyfrowym Panasonic DMC-FZ38 z rozdzielczością 4x3 pikseli. Podczas badań wykorzystano ich wersje pomniejszone do 8x6 pikseli. Obrazy przedstawiono na Rys. 4.31 i Rys. 4.32. Pierwszy obraz każdej pary został pozyskany w bardzo dobrych warunkach oświetleniowych, a drugi w znacznie gorszych warunkach, stąd zawiera więcej szumu. Pokazują to dane przedstawione w Tab. 4.21. Obrazy zaszumione mają większą liczbę barw rozumianych jako trójki RGB i jednocześnie wykazują inną barwność obrazu. Wyższa wartość P SNR dla obrazu zaszumionego z drugiej pary wskazuje na jej niższy poziom szumu. Tabela 4.21. Dane 2 par obrazów testowych pozyskanych przy w dobrych i w niesprzyjających warunkach oświetleniowych Liczba barw M P SN R Para 1 Obraz 1 47629 61,39 Obraz 2 (zaszumiony) 73386 51,6 25,22 Para 2 Obraz 1 8216 58,44 Obraz 2 (zaszumiony) 97913 63,7 27,96 Przedstawione wyniki uzyskane z kwantyzacji KM i KHM odniesiono do obrazu poddawanego kwantyzacji, którym jest albo pierwszy obraz pary, albo drugi obraz pary (zaszumiony), albo drugi obraz pary po filtracji filtrem V M F [3] lub filtrem Kuwahary- Nagao [48, 6]. Dla technik KM i KHM użyto k=1, przeprowadzono 15 iteracji, korzystano z tej samej metody inicjalizacji SD opartej na parametrach statystycznych chmury pikseli w przestrzeni RGB [19]. Dla techniki KHM przyjęto wartość parametru p=2,7.

4.5. WPŁYW ZAKŁÓCEŃ NA KM I KHM 6 (a) (b) (c) (d) Rysunek 4.31. Obrazy testowe: pierwsza para: (a) obraz dobrej jakości, (b) obraz zaszumiony; druga para: (c) obraz dobrej jakości, (d) obraz zaszumiony Tabela 4.22. Wskaźniki oceny dla pierwszej pary pozyskanych obrazów: P SN R, E i M P SN R E M Obraz 1 Obraz po KM 3,95 2,34,97 Obraz po KHM 31,61 2,17,76 Obraz 2 (zaszumiony) Obraz po KM 3,36 2,85 1,6 Obraz po KHM 31,39 2,68 1,8 Obraz 2 po filtracji filtrem VMF Obraz po KM 31,6 2,34 1,35 Obraz po KHM 32,61 2,23,65 Obraz 2 po filtracji filtrem Kuwahary-Nagao Obraz po KM 29,89 3,93 2,16 Obraz po KHM 32,1 2,9,76

4.5. WPŁYW ZAKŁÓCEŃ NA KM I KHM 61 (a) (b) (c) (d) Rysunek 4.32. Powiększone fragmenty obrazów testowych: pierwsza para: (a) obraz dobrej jakości, (b) obraz zaszumiony; druga para: (c) obraz dobrej jakości, (d) obraz zaszumiony Tabela 4.23. Wskaźniki oceny dla drugiej pary pozyskanych obrazów: P SNR, E i M P SNR E M Obraz 1 Obraz po KM 25,55 6,85 5,81 Obraz po KHM 27,32 4,78 3 Obraz 2 (zaszumiony) Obraz po KM 23,46 8,82 8,8 Obraz po KHM 26,53 5,26 3,3 Obraz 2 po filtracji filtremvmf Obraz po KM 23,83 8,55 8,39 Obraz po KHM 26,88 4,94 3,11 Obraz 2 po filtracji filtrem Kuwahary-Nagao Obraz po KM 24,53 7,81 7,22 Obraz po KHM 26,74 5,4 3,21 Analiza danych zawartych w Tab. 4.22 - Tab. 4.23 pokazuje, że technika KHM daje lepsze rezultaty zarówno dla obrazów zawierających naturalny szum, jak i ich odfiltrowanych wersji. Tab. 4.24 świadczy o większej niezmienności wskaźników oceny w przypadku KHM.

4.5. WPŁYW ZAKŁÓCEŃ NA KM I KHM 62 Tabela 4.24. Zakres zmienności wskaźników oceny z Tab. 4.22 i Tab. 4.23 Zmiana P SN R Zmiana E Zmiana M Para 1 KM 1,17 1,59 1,19 KHM 1,22,59,43 Para2 KM 2,9 1,97 2,99 KHM,79,48,3 Dla wielu technik klasteryzacji danych, do których należą KM i KHM, typowa jest wrażliwość na punkty odstające (ang. outliers). Można tutaj rozważać barwy odstające. Te mało liczne punkty, leżące w oddaleniu od środków powstających klastrów, nie powinny wpływać na wyniki procesu klasteryzacji. W celu sprawdzenia odporności obu technik kwantyzacji na barwy odstające stworzono obrazy zakłócone poprzez piksele o barwach odstających. Do obrazu wyjściowego (pierwszy obraz pierwszej pary) wprowadzono pikseli o barwach odstających od barw występujących w obrazie, co przestawia Rys. 4.33. W jednym przypadku były to piksele o barwie purpurowej (255,, 128), w innym piksele zielone (, 255, ) a w jeszcze innym piksele brązowe (128, 64, ). Tak zakłócone obrazy zostały poddane kwantyzacji barwy poprzez zastosowanie technik KM i KHM. Wyniki uzyskane w odniesieniu do każdego z obrazów zakłóconych przedstawiono w Tab. 4.25, a zakresy zmienności dla 3 obrazów zakłóconych w Tab. 4.26. Wyniki działania technik KM i KHM dla obrazu Rys. 4.33(b) przedstawia Rys. 4.34. Dwa skrajne obiekty na tym rysunku są jednakowej barwy (piksele z jednego klastra) różnej od barw występujących w obrazie wyjściowym. Wizualnie można tutaj dostrzec przewagę KHM, co znajduje również potwierdzenie w wyznaczanych wskaźnikach jakości. Tabela 4.25. Wartości kryteriów oceny dla 3 obrazów z pikselami o barwach odstających P SNR E M Obraz 1 zakłócony przez pikseli (255,,128) Obraz po KM 29,69 2,64 1,6 Obraz po KHM 3,57 2,42 1,53 Obraz 1 zakłócony przez pikseli (,255,) Obraz po KM 25,88 4,91 5,24 Obraz po KHM 3,82 2,41,95 Obraz 1 zakłócony przez pikseli (128,64,) Obraz po KM 29,24 3,9 2,16 Obraz po KHM 3,94 2,28 1,11 Analiza wyników zawartych w Tab. 4.25 - Tab. 4.26 pokazuje, że technika KHM jest znacznie bardziej odporna na występowanie w obrazach barw odstających niż technika KM. Pozyskane obrazy zostały dodatkowo zaszumione szumem impulsowym achromatycznym oraz barwnym. Wynik zaszumienia szumem 6% przedstawia Rys. 4.35. Na tak przy-

4.5. WPŁYW ZAKŁÓCEŃ NA KM I KHM 63 (a) (b) (c) Rysunek 4.33. Obrazy zakłócone przez pikseli o barwach odstających: (a) (255,, 128); (b) (, 255, ); (c) (128, 64, ) (a) (b) Rysunek 4.34. Wyniki kwantyzacji obrazu z Rys. 4.33(b) na 1 barw technikami: (a) KM; (b) KHM

4.5. WPŁYW ZAKŁÓCEŃ NA KM I KHM 64 Tabela 4.26. Zakresy zmienności kryteriów oceny dla 3 obrazów z pikselami o barwach odstających KM KHM Zmiana PSNR 3,81,37 Zmiana E 2,27,14 Zmiana M 3,64,58 gotowanych obrazach przeprowadzono technikami KM i KHM kwantyzację obrazów na 1 barw. Przykłady uzyskiwanych rezultatów dla szumu 1% pokazuje Rys. 4.36. (a) (b) (c) (d) Rysunek 4.35. Szum impulsowy 6% dodany do obrazów testowych: (a), (c) szum achromatyczny; (b), (d) szum barwny Rezultaty uzyskiwane techniką KHM są wizualnie znacznie lepsze. Potwierdzają to też w większości przypadków otrzymane wartości wskaźników jakości. Tab. 4.27 zawiera wyniki uzyskane technikami KM i KHM dla obrazu z Rys. 4.31(a) zakłóconego szumem impulsowym achromatycznym typu sól i pieprz, natomiast Tab. 4.28 prezentuje wyniki dla tego samego obrazu zakłóconego szumem impulsowym barwnym. Tab. 4.29 prezentuje wyniki uzyskane na obrazie z Rys. 4.31(c) po zakłóceniu go szumem impulsowym achromatycznym, zaś Tab. 4.3 zawiera wyniki dla tego obrazu i zakłóceń powstałych przez wprowadzenie szumu impulsowego barwnego. Tab. 4.31 przedstawia uzyskane wskaźniki jakości dla obrazu z Rys. 4.31(a) zaszumio-

4.5. WPŁYW ZAKŁÓCEŃ NA KM I KHM 65 Tabela 4.27. Wskaźniki jakości dla obrazu z Rys.4.31(a) w obecności dodanego zakłócenia achromatycznego sól i pieprz po kwantyzacji KM i KHM Szum imp. P SNR E M KM KHM KM KHM KM KHM 2% 2,16 2,4 4,61 3,67 2,71 1,5 6% 15,55 15,87 7,48 5,48 6,5 3,8 1% 13,51 13,69 9,47 7,39 7,51 4,38 2% 1,64 1,69 12,9 12,82 7,45 7,49 Tabela 4.28. Wskaźniki jakości dla obrazu z Rys. 4.31(a) zakłóconego szumem impulsowym barwnym po kwantyzacji KM i KHM Szum imp. P SNR E M KM KHM KM KHM KM KHM 2% 23,41 26,28 5,47 3,14,79,98 6% 2,22 2,39 7,1 5,5 7,52 12,17 1% 17,91 18,45 1,8 6,72 15,51 19,2 2% 15,38 15,56 12,63 11,16 35,21 35,46 nego szumem impulsowym barwnym po przefiltrowaniu filtrem VMF i poddanego kwantyzacji technikami KM i KHM, natomiast Tab. 4.32 przestawia te same dane dla obrazu z Rys. 4.31(c). Wskaźniki jakości zostały wyznaczone względem obrazów wyjściowych. Również w tym przypadku rezultaty dla techniki KHM są wyraźnie lepsze od wyników dla KM. Przedstawione wyniki zostały także zaprezentowane w pracy [22]. Tabela 4.29. Wskaźniki jakości dla obrazu z Rys. 4.31(c) w obecności dodanego zakłócenia achromatycznego sól i pieprz po kwantyzacji KM i KHM Szum imp. P SNR E M KM KHM KM KHM KM KHM 2% 21,28 2,41 7,71 5,98 7,3 3,92 6% 15,82 16,14 1,21 7,9 7,9 4,91 1% 13,78 14,1 12,11 9,88 8,63 6,12 2% 1,98 11,9 16,19 14,88 11,2 8,96

4.5. WPŁYW ZAKŁÓCEŃ NA KM I KHM 66 Tabela 4.3. Wskaźniki jakości dla obrazu z Rys. 4.31(c) zaszumionego szumem impulsowym barwnym po kwantyzacji KM i KHM Szum imp. P SNR E M KM KHM KM KHM KM KHM 2% 23,54 24,17 7,7 5,4 3,15 1,51 6% 19,36 21,9 8,99 6,72 5,8 1,6 1% 17,74 2,4 11,24 7,87 12,46 3,82 2% 16,16 15,76 15,12 13,25 15,98 32,67 Tabela 4.31. Wskaźniki jakości dla obrazu z Rys. 4.31(a) zaszumionego szumem impulsowym barwnym poddanemu filtracji VMF oraz po kwantyzacji KM i KHM Szum imp. P SNR E M KM KHM KM KHM KM KHM 2% 25,48 27,19 6,86 4,79 5,81 2,76 6% 25,38 27,5 6,89 4,82 5,9 2,93 1% 25,32 26,95 6,87 4,79 5,99 2,8 2% 24,56 25,88 6,98 4,96 6,17 3,4 Tabela 4.32. Wskaźniki jakości dla obrazu z Rys. 4.31(c) zaszumionego szumem impulsowym barwnym poddanemu filtracji VMF po kwantyzacji KM i KHM Szum imp. P SNR E M KM KHM KM KHM KM KHM 2% 25,5 27,21 6,86 4,8 5,8 2,82 6% 25,48 27,19 6,86 4,79 5,8 2,74 1% 25,45 27,14 6,85 4,81 5,68 2,82 2% 25,38 27,5 6,89 4,83 5,71 2,91

4.5. WPŁYW ZAKŁÓCEŃ NA KM I KHM 67 (a) (b) (c) (d) (e) (f) (g) (h) Rysunek 4.36. Wyniki kwantyzacji na 1 barw obrazów zakłóconych szumem 1%: (a), (e) KM szum achromatyczny; (c), (g) KM szum barwny; (b), (f) KHM szum achromatyczny; (d), (h) KHM szum barwny

Rozdział 5 Technika KHM w segmentacji obrazu 5.1 Segmentacja obrazu Techniki segmentacji obrazu odgrywają podstawową rolę w różnych zastosowaniach systemów wizyjnych [1,66]. Systemy wizyjne opierają swoje działanie w zakresie podejmowania decyzji na komputerowej analizie obrazu [83]. Komputerowa analiza obrazu wykorzystuje wyniki uzyskane z segmentacji. Procesy te są zbliżone do działania człowieka, który obserwując daną sceną za pomocą układu wzrokowego dokonuje nieświadomie automatycznej segmentacji i lokalizacji obserwowanych obiektów. Odruchowo pierwsze działanie polega na dostrzeżeniu pewnych obiektów jako całości i ich zlokalizowaniu poprzez krawędzie, średnią barwę czy też kształt. W dalszym etapie analizowane są szczegóły, które te obiekty współtworzą. Segmentacja obrazu polega na jego podziale na obszary odpowiadające obiektom lub ich częściom, znajdującym się w scenie. Od jakości segmentacji zależą rezultaty rozpoznawania i śledzenia obiektów, przeszukiwania obrazowych baz danych itd. Segmentacja obrazu w postaci nadsegmentacji - zbyt duża liczba obszarów (ang. oversegmentation) lub niedosegmentacji - zbyt mała liczba obszarów (ang. undersegmentation) pociąga za sobą błędy w dalszych etapach przetwarzania obrazu. Uniwersalna metoda segmentacji obrazu barwnego prawdopodobnie nie istnieje. Głównie spowodowane jest to tym, że cele segmentacji wyraźne zależą od zadania, którego elementem jest proces segmentacji. Rosnące możliwości obliczeniowe sprzętu komputerowego sprawiają, że wzrasta również możliwość stosowania coraz bardziej złożonych technik segmentacji i uzupełnianie segmentacji procesami przetwarzania wstępnego i końcowego. Lata dziewięćdziesiąte przynoszą pierwsze artykułu przeglądowe dotyczące tematyki segmentacji obrazów barwnych [1, 42, 51, 78]. Początkowo do segmentacji obrazów barwnych adaptowano techniki opracowane wcześniej dla obrazów achromatycznych [63]. Rozdziały dotyczące segmentacji obrazów barwnych pojawiają się także w pierwszych podręcznikach przetwarzania obrazów barwnych [71,74]. Rozwój technologiczny i wzrastająca liczba działających systemów wizyjnych, wykorzystujących techniki przetwarzania obrazu sprawia, że techniki przetwarzania obrazu barwnego a w tym metody segmentacji są w dalszym ciągu badane i rozwijane. W wyniku segmentacji otrzymuje się zawsze obraz znacznie prostszy, co ułatwia jego analizę. Wydzielone obszary spełniają pewne kryteria jednorodności, którymi mogą być

5.1. SEGMENTACJA OBRAZU 69 barwa obszaru lub jego poziom jasności. Ponadto w przeciwieństwie do pojedynczych pikseli można im przypisywać właściwości takie jak np. kształt, tekstura itp. Rozpatrując segmentację obrazu można spotkać się z podejściem globalnym, kiedy cały obraz poddawany jest podziałowi na obszary, a także lokalnym w przypadku kiedy wystarczająca jest segmentacja częściowa. Segmentacja częściowa polega na wydzieleniu z obrazu tylko pewnych obszarów zainteresowania (ang. region of interest ROI ). W dalszym etapie otrzymane w wyniku segmentacji obszary poddawane są operacji etykietowania (ang. labelling) zwanej też indeksacją. Etykietowanie polega na przypisaniu pikselom należącym do danego obszaru wspólnej etykiety. Każdy obszar posiada unikalną etykietę, za pomocą której można zidentyfikować piksele do niego należące. Dzięki etykietowaniu można dowolnie dekomponować nawet bardzo złożone obrazy sprowadzając ich analizę do sytuacji pojedynczego obiektu i tła. Istnieje wiele różnych metod segmentacji obrazu [66]. Metody te klasyfikowane są głównie ze względu na rodzaj informacji, który jest wykorzystywany w procesie segmentacji. Właściwy zatem wydaje się być podział na: metody pikselowe: progowanie najczęściej wynikiem jest obraz binarny, który zależy od dobranego progu dla obrazów achromatycznych bądź progów dla obrazów barwnych, klasteryzacyjne wykorzystujące techniki klasteryzacyjne takie jak KM i KHM operujące na cechach pikseli np. barwie, metody obszarowe: rozrost obszarów (ang. region growing), łączenie obszarów (ang. region merging), podział obszarów (ang. region splitting), metoda podziału i łączenia (ang. split and merge), segmentacja wododziałowa (ang. watershed segmentation), metody krawędziowe - wykorzystujące algorytmy wykrywania krawędzi np. za pomocą metod: Robertsa, Prewitta, Sobela, Canny ego, Scharra itd., metody hybrydowe łączące dwa lub więcej wymienionych podejść (najczęściej łączone są metody pikselowe z obszarowymi oraz obszarowe z krawędziowymi). Proces segmentacji obrazu jest krytycznym etapem przetwarzania w systemach wizyjnych. Błędnie przeprowadzona segmentacja prowadzi do błędnych decyzji wypracowywanych przez system, bądź podejmowanych przez eksperta. Zazwyczaj jest to spowodowane tym, że w wyniku segmentacji otrzymuje się zbyt dużą liczbę obszarów lub zbyt małą liczbę obszarów, które mają odwzorowywać rzeczywiste obiekty przedstawione na obrazie. Oba zjawiska są dość uciążliwe, chociaż w przypadku wystąpienia nadsegmentacji możliwe jest jeszcze przeprowadzanie przetwarzania końcowego (ang. postprocessing) i uzyskanie zadowalającego rezultatu. Przy niedosegmentacji odzyskanie utraconych szczegółów jest niemożliwe i wiąże się z koniecznością przeprowadzenia procesu od początku dla innych parametrów segmentacji. Przyczynami nadsegmentacji obok złego doboru parametrów segmentacji bardzo często jest zaszumienie przetwarzanego obrazu. Nawet bardzo

5.1. SEGMENTACJA OBRAZU 7 dobrej jakości obraz może posiadać na krawędziach obiektów bardzo dużą ilość małych obszarów. Przetwarzanie końcowe mające na celu wyeliminowanie nadsegmentacji najczęściej sprowadza się do usunięcia zbędnych obszarów, które nie wnoszą użytecznej informacji o analizowanej scenie. Usuwanie polega zazwyczaj na dołączaniu obszarów o bardzo małym polu powierzchni do sąsiednich, najbardziej zbliżonych. Miarą podobieństwa obszarów może być różnica ich średnich barw [67] lub bardziej złożone obliczeniowo cechy takie jak np: histogramy barw obszarów [81] z wyrażeniem podobieństwa barw poprzez przecięcie histogramów (ang. histogram intersection technique) [43], wyrażenia zależne m.in. od średniego gradientu barwy obliczonego dla pikseli należących do tych obszarów [61], odległość Fishera pomiędzy przylegającymi obszarami dla jednej składowej barwy [76]. Techniki segmentacji wykorzystują różnorodny aparat matematyczny w tym np. techniki grafowe, morfologię matematyczną, techniki rozmyte [1, 63], sieci neuronowe [1, 51] i inne. Poszczególne metody segmentacji w różnym stopniu wykorzystują informację apriori o scenie przedstawionej na obrazie. Dodatkowa wiedza w postaci np. liczby obiektów w scenie, barwa obiektów, barwa tła, kształt i wielkość poszukiwanych obiektów pozwala efektywnie stosować nawet najprostsze algorytmy segmentacji. Posiadanie dodatkowej wiedzy pozwala na znaczne przyspieszenie metod segmentacji poprzez odpowiedni dobór wykorzystywanych parametrów. W wielu przypadkach bardzo istotną i użyteczną informacją jest wiedza na temat barwy tła na którym umieszczone są poszukiwane obiekty. Wiedza na temat tła wykorzystywana jest w większości systemów dozoru wizyjnego. Kamery przemysłowe zazwyczaj obserwują scenę w sposób ciągły, natomiast w odpowiednim urządzeniu rejestrującym obraz zaimplementowane są odpowiednie algorytmy przetwarzania obrazu. Statyczne tło nie ulega gwałtownym zmianom w poszczególnych obrazach sekwencji video, co znacznie ułatwia lokalizację i segmentację przemieszczających się obiektów. W ramach tak znalezionych obiektów można w następnej fazie poszukiwać interesującego szczegółu np. w przypadku samochodów obraz segmentuje się w poszukiwaniu numerów tablicy rejestracyjnej. Zadanie to jest dodatkowo ułatwione jeżeli dostępna jest apriori informacja na temat np. gabarytów i barwy poszukiwanego szczegółu. Jeżeli informacja apriori o przetwarzanym obrazie barwnym jest niedostępna to powoduje to, że automatyczna segmentacja takiego obrazu jest trudna. Sięga się wtedy po bardzo złożone zintegrowane metody segmentacji obszarowej i krawędziowej [39]. W wyniku przeprowadzonej segmentacji uzyskuje się informację o przynależności pikseli obrazu do powstałych obszarów. Dla prawidłowo przeprowadzonej segmentacji obszary te odpowiadają naturalnym obiektom. Lokalizacja i identyfikacja obiektów w systemach widzenia komputerowego odbywa się poprzez wyznaczenie dla obszarów pewnych cech je opisujących. W literaturze spotyka się wiele różnych cech kształtowych wykorzystywanych do rozpoznawania i rozróżniania obiektów charakteryzujących się różnym stopniem przydatności [36, 54, 55]. Przykładowym reprezentantem cech geometrycznych jest współczynnik kompaktowości [82]: K = 4πA O 2, (5.1)

5.2. WYNIKI SEGMENTACJI OBRAZU DLA KM I KHM 71 gdzie: O - obwód obszaru, A - pole obszaru. Należy przy tym zauważyć, że dla obrazów cyfrowych, które są pewnym sygnałem dyskretnym dość uciążliwa jest operacja wyznaczanie obwodu. Istotną rolę odgrywają też niezmienniki momentowe zaproponowane w początkowym etapie rozwoju przetwarzania obrazów [38]. Wśród wielu technik segmentacji obrazu istotne miejsce zajmują również techniki wykorzystujące grupowanie pikseli takie jak k-means, mean-shift i inne [85]. Spowodowało to zainteresowanie możliwością wykorzystania techniki KHM do segmentacji obrazów barwnych [15]. Techniki klasteryzacyjne stosowane do segmentacji obrazu nie wykorzystują informacji apriori o przetwarzanym obrazie i należą do grupy metod pikselowych. 5.2 Wyniki segmentacji obrazu dla KM i KHM W pracy [44] podczas badania metod inicjalizacji dla techniki FCM (ang. fuzzy c-means) zaprezentowano otrzymane wyniki segmentacji obrazów. Na Rys. 5.1 zestawiono najlepszy wynik z rezultatami jakie można otrzymać stosując techniki klasteryzacyjne KM i KHM z inicjalizacją SD w przestrzeni CIEL a b. Oceniając obrazy wynikowe wizualnie można stwierdzić, że technika KHM daje obraz prawie identyczny jak najlepszy wynik w [44], natomiast dla KM obszar reprezentujący odzież postaci z obrazu Clown odznacza się dużym błędem barwy. W obecnych czasach przetwarzanie obrazów cyfrowych jest coraz częściej wykorzystywane w zastosowaniach biomedycznych. Pozyskiwanie obrazów biomedycznych jest możliwe dzięki wykorzystaniu różnego rodzaju oddziaływania fizycznego na badaną tkankę bądź komórkę. Do obrazowania biomedycznego często wykorzystywane są: promieniowanie rentgenowskie, promieniowanie izotopów promieniotwórczych, własności pola magnetycznego, własności ultradźwięków czy promieniowanie cieplne. Analiza tak pozyskanych obrazów może uwidaczniać zmiany patologiczne typu: ropnie, torbiele, obszary niedokrwienia i martwicy, obrzęki, zmiany nowotworowe, zmiany zanikowe i zwyrodnieniowe, wady rozwojowe narządów wewnętrznych i innego typu patologie występujące w organizmie bądź komórkach. Obrazy takie jak RTG, TK, PET, NMR, USG bardzo często poddawane są dodatkowemu przetwarzaniu w celu podkreślenia szczegółów. co ma ułatwić ich analizę. W pracy [23] wykorzystano techniki KM i KHM do segmentacji obrazów biomedycznych. Rys. 5.2 przedstawia zbiór 8 obrazów testowych na których były przeprowadzone badania. Obrazy te pochodzą z wideoendoskopu fluorescencyjnego. Technika fluorescencyjna wykorzystuje światło lasera do oświetlania obserwowanego miejsca. W takich warunkach zdrowe tkanki samoistnie świecą (fluoryzują) zielonkawym światłem, natomiast zmiany patologiczne - dysplazje i nowotwory - wyraźnie odcinają się na ich tle, świecąc na czerwono. Dzięki temu dużo łatwiej niż w świetle białym można wykryć tkanki chorobowo zmienione, nawet jeśli zmiana jest bardzo mała. Obrazy posiadały tę samą rozdzielczość przestrzenną (768x576 pikseli) i 24-bitową głębię barwy. Podczas badań wykorzystano następujące parametry klasteryzacji: przestrzeń barw - RGB, liczba klastrów k=5, 6 i 7, liczba iteracji - 15, metoda inicjalizacji - SD, dla KHM p=2,5. Wartość parametru p została wybrana eksperymentalnie dla tego typu obrazów. Celem segmentacji było wyodrębnienie na przetwarzanych obrazach obszarów odpowiadających za tło, tkanki zdrowe i tkanki patologiczne. Ocena wizualna uzyskiwanych

5.2. WYNIKI SEGMENTACJI OBRAZU DLA KM I KHM 72 (a) (b) (c) (d) Rysunek 5.1. Obraz Clown i wyniki jego segmentacji: (a) obraz oryginalny, (b) najlepszy wynik segmentacji uzyskany techniką FCM w pracy [44], (c) wynik dla techniki KM w CIEL a b dla: k = 6 i SD, (d) wynik dla techniki KHM w CIEL a b dla: k = 6, p = 2, 7 i SD wyników segmentacji jest tutaj bardzo trudna. Przykładowe wyniki segmentacji technikami KM i KHM dla obrazu I 8 przedstawiono na Rys. 5.3, gdzie wykonano klasteryzację z inicjalizacją SD w przestrzeni RGB przy k = 5 i k = 7. Wyniki te powinny być oceniane przez ekspertów od tego typu obrazów biomedycznych. Wizualne porównanie jakości uzyskiwanej segmentacji byłoby ułatwione w przypadku, gdy dostępne byłyby wyniki segmentacji ręcznej (obrysy obszarów), dokonane przez eksperta bądź ekspertów, w celu zdobycia szerszego zbioru odniesienia. Niemniej jednak można wyznaczyć wartości wskaźników jakości pomiędzy obrazem oryginalnym i jego przetworzonym odpowiednikiem. W Tab. 5.1-5.3 przedstawiono wskaźniki jakości V M 2 (I) oraz Q(I). Oba wskaźniki są mi-

5.2. WYNIKI SEGMENTACJI OBRAZU DLA KM I KHM 73 (a) (b) (c) (d) (e) (f) (g) (h) Rysunek 5.2. Obrazy biomedyczne wykorzystane podczas badań: (a) - (h) przedstawiają kolejno obrazy I1 - I8 nimalizowane dla dobrego rezultatu i ich wartości przemawiają na korzyść techniki KHM. Wyniki te zostały także zaprezentowane w pracy [2]. Należy tutaj podkreślić, że błędna decyzja podczas wyznaczania granic obszarów odpowiadających za tkanki zdrowe i chore, może zaważyć na życiu lub zdrowiu pacjenta. Systemy wizyjne stosowane w medycynie jedynie wspierają pracę lekarza (eksperta) do którego należy podejmowanie ostatecznej decyzji. Wykorzystanie technik klasteryzacyjnych do segmentacji obrazu wymaga w końcowej fazie przeprowadzenia etykietowania obszarów (ang. region labelling). Często wykonuje się także przetwarzanie końcowe (ang. postprocessing) mające na celu usunięcie nadsegmentacji. Jedną z z najbardziej efektywnych metod przetwarzania końcowego jest usuwanie małych obszarów z obrazu poprzez dołączanie ich do obszarów sąsiadujących podobnych pod względem barwy. Zadanie to jest ułatwione poprzez proces etykietowania, gdzie otrzymuje się zazwyczaj listę powstałych obszarów wraz z informacją o przynależności pikseli. Pojedynczy piksel może współtworzyć tylko jeden obszar. Pole obszaru wyrażone jest dla cyfrowych obrazów barwnych poprzez liczbę pikseli tworzących ten obszar. Znalezienie obszarów o polu powierzchni mniejszym od zadanego nie jest zatem zadaniem trudnym.

5.2. WYNIKI SEGMENTACJI OBRAZU DLA KM I KHM 74 (a) (b) (c) (d) Rysunek 5.3. Przykładowe wyniki segmentacji obrazu endoskopowego I 8 : (a) technika KM: k = 5, (b) technika KHM: k = 5 i p = 2, 5, (c) technika KM: k = 7, (d) technika KHM: k = 5 i p = 2, 5 Tabela 5.1. Porównanie wyników segmentacji technikami KM i KHM (k = 5) V M(I) I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 KM 19 13 25 25 18 2 22 22 KHM 16 1 22 15 15 18 2 19 Q(I) I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 KM 95755 311723 7822 286546 723 33159 4264 367838 KHM 2869 2426 3339 3556 7417 3612 418 9 Próg ten ściśle zależy od przetwarzanego obrazu i musi być dobierany indywidualnie do danej grupy przetwarzanych obrazów i zamierzonego celu segmentacji. Niewłaściwy dobór wartości progowej lub stosowanie tej samej wartości do różnych grup obrazów powoduje, że oprócz usuwania niepożądanych artefaktów takich jak np. odblaski, szumy, zakłócenia i niepotrzebne detale utrudniające dalszą analizę obrazu, usuwane są także detale ważne, kluczowe dla analizy obrazu. Podczas dołączania małych obszarów do większych sąsiadów za każdym razem średnia barwa opisująca obszar do którego następuje dołączanie jest na

5.2. WYNIKI SEGMENTACJI OBRAZU DLA KM I KHM 75 Tabela 5.2. Porównanie wyników segmentacji technikami KM i KHM (k = 6) V M(I) I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 KM 11 7 15 11 11 14 13 13 KHM 1 6 14 7 8 11 12 13 Q(I) I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 KM 3843 22686 24943 29188 27637 23293 454829 239397 KHM 2537 2215 2315 2323 464 5 3625 226 Tabela 5.3. Porównanie wyników segmentacji technikami KM i KHM (k = 7) V M(I) I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 KM 7 5 1 7 7 9 8 9 KHM 6 4 9 5 5 7 8 8 Q(I) I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 KM 3369 27722 254738 213846 19149 33352 278548 266385 KHM 2464 2155 265 228 3238 2212 2852 1968 nowo przeliczana. Piksele, które są dołączane do obszaru większego otrzymują jego etykiety i lista obszarów ulega skróceniu. Obrazy endoskopowe są silnie zaszumione, co skutkuje tym, że wynik segmentacji charakteryzuje się dość dużą nadsegmentacją. W trakcie badań nad obrazami przedstawionymi na Rys. 5.2, wartość progu określającego przynależność do obszarów małych określono jako pikseli. Spowodowało to znaczny spadek liczby uzyskiwanych obszarów w wyniku segmentacji. Uzyskane wyniki przy k = 7 prezentują Tab. 5.4 i Tab. 5.5. Analizując wartości wskaźnika Q(I) stwierdzono, że zarówno przed jak i po operacji przetwarzania końcowego technika KHM pozwala na uzyskanie segmentacji o wyższej jakości w stosunku do KM. Tabela 5.4. Liczba obszarów przed (R 1 ) i po postprocessingu (R 2 ) R 1 I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 KM 3338 3796 29697 28122 2733 31837 3891 3738 KHM 798 495 3248 2952 3123 382 511 413 R 2 I 1 I 2 I 3 I 4 I 5 I 6 I 7 I 8 KM 92 98 93 117 143 13 123 142 KHM 65 38 26 23 32 37 6 45 Pominięcie operacji segmentacji podczas budowania systemów wizyjnych spowodowałoby znaczne komplikacje w możliwości analizy pozyskanych obrazów. Bez informacji o przynależności do obszaru odpowiadającemu rzeczywistemu obiektowi w scenie, w skrajnym przypadku każdy piksel musiałby być traktowany indywidualnie, co uniemożliwia wypracowywanie decyzji. Na Rys. 5.4 przedstawiono obraz oryginalny I 4 oraz przeprowadzono jego etykietowanie z pominięciem segmentacji. Powstały w ten sposób 317583

5.2. WYNIKI SEGMENTACJI OBRAZU DLA KM I KHM 76 Tabela 5.5. Wartości wskaźnika jakości Q(I) przed (Q1 (I)) i po postprocessingu (Q2 (I)) Q1 (I) KM KHM Q2 (I) KM KHM I1 3369 2464 I1 413 I2 27722 2155 I2 431 229 I3 254738 265 I3 489 217 I4 213846 228 I4 629 222 I5 19149 3238 I5 115 46 I6 33352 2212 I6 499 257 I7 278548 2852 I7 623 413 I8 266385 1968 I8 48 217 obszary, które przedstawiono za pomocą losowo wygenerowanych barw. Taki obraz nie nadaje się do dalszej analizy. Wartość wskaźnika Q(I) jest w tym przypadku ekstremalnie wysoka i wynosi ponad 21 17. Lokalizacja obiektów, czy też wyznaczenie ich cech jest wręcz niemożliwe. Segmentacja powoduje znaczne uproszczenie badanego obrazu, co (a) (b) (c) Rysunek 5.4. Analiza obrazu I4 : (a) obraz oryginalny, (b) chmura pikseli w RGB, (c) wynik etykietowania z pominięciem segmentacji - 317583 obszary przedstawia Rys. 5.5, gdzie ponownie rozpatrywany jest obraz I4. Wyniki segmentacji zostały przedstawione w pseudokolorach. Liczba obszarów, które w dalszym przetwarzaniu takiego obrazu będą poddawane analizie ulega znacznemu zmniejszeniu i wynosi 28122 dla

5.2. WYNIKI SEGMENTACJI OBRAZU DLA KM I KHM 77 KM, zaś 2952 dla KHM. Wskaźnik Q(I) także odzwierciedla działanie procesu segmentacji, gdyż jego wartość spada do Q(I) = 213846 dla KM i Q(I) = 228 dla KHM. Ocena wizualna wyników też wydaje się przeważać na korzyść techniki KHM. Dalej jednak występuje dość znaczna nadsegmentacja obrazu. Po zastosowaniu przetwarzania końcowego (a) (b) (c) (d) Rysunek 5.5. Segmentacja obrazu I 4 : (a) technika KM, (b) technika KHM, (c) technika KM (pseudokolory), (d) technika KHM (pseudokolory) opartego na usuwaniu małych obszarów przez dołączanie, z wartością progową pikseli uzyskuje się dalszą poprawę wyniku segmentacji, co przedstawia Rys. 5.6. Liczba obszarów zostaje zredukowana do 117 - KM i 23 - KHM. Powoduje to dalsze obniżanie się wskaźnika Q(I) do wartości 629 i 222 odpowiednio dla KM i KHM, co świadczy o poprawieniu jakości uzyskiwanych wyników. Na każdym z opisywanych etapów segmentacji jakość wyników okazuje się lepsza dla KHM, co potwierdza wskaźnik Q(I), a także wskaźnik V M 2, które prezentowane są w Tab. 5.1-5.5. Znacznie lepsze rezultaty segmentacji osiągane dla KHM w stosunku do KM potwierdzają większą odporność tej techniki na zakłócenia występujące w obrazie. Przetwarzane obrazy endoskopowe charakteryzowały się dość dużym zaszumieniem, co widać gołym okiem. Dla KM zakłócenia te są szczególnie widoczne na czarnym tle z czym zdecydowanie lepiej radzi sobie KHM. Obrazy biomedyczne ogólnie charakteryzują się dość dużym zaszumieniem ze względu na warunki w jakich są pozyskiwane.

5.2. WYNIKI SEGMENTACJI OBRAZU DLA KM I KHM 78 (a) (b) (c) (d) Rysunek 5.6. Wynik segmentacji obrazu I 4 po przetwarzaniu końcowym: (a) technika KM, (b) technika KHM, (c) technika KM (pseudokolory), (d) technika KHM (pseudokolory)

Rozdział 6 Akceleracja obliczeń 6.1 Układy wielordzeniowe i programowanie równoległe Procesory, które stosowane są we współczesnych komputerach, są układami wielordzeniowymi. Liczba rdzeni jednostki obliczeniowej wraz z częstotliwością taktowania, przy zapewnieniu wystarczającej wielkości pamięci operacyjnej, to główne cechy decydujące o wydajności danej platformy. Wprowadzenie architektury 64-bitowej do powszechnie dostępnych jednostek obliczeniowych i systemów operacyjnych wykorzystujących te rozwiązania spowodowało, że można korzystać ze znacznie większej przestrzeni adresowej pamięci operacyjnej. Teoretycznie istnieje 2 64 wariacji 64-bitowego adresu, czyli bezpośrednio można adresować 184467447379551616 komórek, przy czym komórki mają rozmiar 1 bajta. Dla architektury 32-bitowej teoretycznie możliwe było zaadresowanie bezpośrednio zaledwie 2 32 komórek. Współczesne ogólnie dostępne jednostki obliczeniowe są taktowane z częstotliwością około 3 GHz i obecnie wartość ta nie wzrasta już tak dynamicznie jak miało to miejsce w niedalekiej przeszłości. Firmy takie jak AMD czy Intel, będące czołowymi producentami jednostek obliczeniowych, skupiają się aktualnie na wprowadzaniu rozwiązań wielordzeniowych. Okazuje się, że rozwiązania wielordzeniowe mają znacznie większy potencjał w stosunku do rozwiązań bazujących na zwiększaniu częstotliwości pracy układu jednordzeniowego. Wprowadzenie układów wielordzeniowych wymaga od programistów innego podejścia do tworzenia oprogramowania. Głównie chodzi tutaj o podział problemu obliczeniowego na pewne mniejsze zadania do rozwiązania, które mogą być realizowane równolegle na poszczególnych rdzeniach jednostki obliczeniowej. Zazwyczaj niemożliwe jest całkowite zrównoleglenie procesu, dlatego bardzo często wykorzystuje się podejście hybrydowe. Polega to na tym, że część programu wykonywana jest na pojedynczym rdzeniu, natomiast pewne partie kodu, które można wykonywać równolegle, wykonywane są na kilku rdzeniach. Aktualnie najnowsze, ogólnodostępne jednostki obliczeniowe firmy Intel wyposażone są w 6 fizycznych rdzeni (CORE i7 99X) z których każdy taktowany jest z częstotliwością 3,2 GHz. Firma AMD nie pozostaje w tyle. W serii AMD PHENOM II najmocniejszy model (AMD PHENOM II X6 1T) posiada także 6 fizycznych rdzeni, z których każdy taktowany jest z częstotliwością 3,3 GHz. Obie firmy posiadają też w swojej ofercie jednostki specjalizowane pod kątem pracy w serwerach: Intel XEON, AMD OPTERON, przy czym tutaj najwydajniejsze układy też mają po 6 rdzeni. Na bazie wydajnych jednostek obliczeniowych tworzy się superkomputery (Blue Gene, Roadrunner, Jaguar, Tianhe-IA). Rynek zawsze reaguje z pewnym opóźnieniem w stosunku do nowych rozwiązań. Powo-

6.1. UKŁADY WIELORDZENIOWE I PROGRAMOWANIE RÓWNOLEGŁE 8 duje to, że najpopularniejszymi konstrukcjami, wykorzystywanymi powszechnie, są obecnie jednostki centralne wyposażone w dwa rdzenie: tzw. Dual Core, chociaż spotyka się coraz częściej także układy czterordzeniowe, czyli tzw. Quad Core. Oczywiście w zastosowaniach specjalistycznych stosuje się jednostki centralne o znacznie większej liczbie rdzeni w celu osiągnięcia jak największej mocy obliczeniowej. W zależności od producenta danego układu występują pewne różnice konstrukcyjne pomiędzy przedstawicielami konstrukcji o danej liczbie rdzeni. Platformy wyposażone w procesory wielordzeniowe są jednak bezużyteczne bez odpowiednio napisanego oprogramowania, które jest w stanie wykorzystać drzemiącą w tych układach moc obliczeniową. Podobną tendencję można zauważyć przyglądając się układom graficznym. Szczególnie dużą popularnością cieszy się technologia CUDA promowana przez firmę NVIDIA, gdzie znaczną akcelerację obliczeń uzyskuje się poprzez wykorzystanie mocy przetwarzania równoległego wielu rdzeni procesora graficznego [46]. Rozwój oprogramowania wspierającego równoległą implementację zadań sprawia, że rozwijany typ architektury równoległej w układach graficznych jest coraz łatwiejszy do wykorzystania, co wiąże się z podobieństwem stylu programowana, który upodabnia się do stylu wykorzystywanego dla procesorów ogólnego zastosowania. Technologia obliczeń ogólnego przeznaczenia na układach graficznych (GPGPU, ang. General-Purpose Computing on Graphics Processing Units) bardzo dynamicznie się rozwija i obejmuje swoim zasięgiem najróżniejsze dziedziny komputerowej analizy danych. NVIDIA zrewolucjonizowała GPGPU w latach 6-7, kiedy to zaprezentowała swoją nową, masowo dostępną, równoległą architekturę CUDA. Stosunkowo niski koszt wielordzeniowych układów graficznych wspierających CUDA, możliwość łączenia mocy obliczeniowej wielu kart graficznych oraz uzyskiwane bardzo wysokie przyspieszenia procesów obliczeniowych sprawiają, że technologia ta cieszy się coraz większą popularnością. Technologia ta znalazła już zastosowanie w: obliczeniowej mechanice strukturalnej, obliczeniach finansowych, bioinformatyce i naukach biologicznych, obliczeniach dynamiki płynów, przetwarzaniu obrazów i ich sekwencji, obrazowaniu medycznym, dynamice molekularnej, modelowaniu zachowania się atmosfery i zjawisk pogodowych, akceleracji oprogramowania (Matlab) i wielu innych. Najnowsze rozwiązania firmy NVIDIA wspierające CUDA to układy graficzne Tesla M29 wyposażone w 512 rdzeni przetwarzania równoległego osiągające maksymalną wydajność 655 GFLOPS (ang. Giga Floating Point Operations Per Second) w operacjach zmiennoprzecinkowych z podwójną precyzją. Cztery układy graficzne Tesla M29 współpracujące z czterema procesorami centralnymi (CPU) osiągnęły rekordową wydajność w aplikacji AMBER 11 - jednym z najpopularniejszych narzędzi do symulacji biomolekuł [62]. Projektanci superkomputerów, mając świadomość dużej mocy obliczeniowej obecnych układów graficznych, włączają te układy także do swoich rozwiązań. Superkomputer Tianhe- IA, który został stworzony przez National Supercomputing Center dla użytkownika w Chinach posiada w swojej strukturze 14336 procesorów Xeon X567 i 7168 procesorów NVIDIA Tesla M25. Jego teoretyczna maksymalna wydajność to 4,71 PFLOPS (ang. Peta Floating Point Operations Per Second) przy 262 TB pamięci operacyjnej i zapotrzebowaniu na moc zasilania 4,4 MW [89]. Algorytmy dające bardzo dobre rezultaty są zazwyczaj bardzo czasochłonne. Techniki klasteryzacyjne, przede wszystkim ze względu na iteracyjny charakter, także są procesami czasochłonnymi. Spotyka się różne podejścia do problemu akceleracji obliczeń czasochłonnych algorytmów. Jednym z podejść jest realizacja sprzętowa algorytmów np. w układach FPGA [57] lub z wykorzystaniem procesorów sygnałowych DSP [72], innym podejściem

6.2. ZRÓWNOLEGLENIE OBLICZEŃ W KM I KHM 81 jest próba napisania programu wielowątkowego i wykorzystania pełnej mocy obliczeniowej oferowanej przez współczesne jednostki obliczeniowe. Barwne obrazy cyfrowe reprezentowane są w pamięci platform obliczeniowych jako trójwymiarowe tablice. Trójwymiarowość wynika z sposobu reprezentacji barwy w systemach komputerowych, gdzie zazwyczaj mamy do czynienia z przestrzenią barw RGB. Wymiar tablicy jest także zdeterminowany rozmiarami obrazu cyfrowego, czyli jego rozdzielczością. Dla przykładu obraz o rozmiarach 512x512 pikseli posiada rozdzielczość przestrzenną 262144 pikseli. Każdy piksel obrazu opisany jest za pomocą trzech składowych barwy, gdzie najczęściej stosowany jest zapis 8 bitów na kanał, co w rezultacie daje 24 bity na każdy piksel. Wraz ze wzrostem rozdzielczości przestrzennej obrazu rośnie zapotrzebowanie na pamięć operacyjną. Wprowadzenie układów 64-bitowych rozwiązuje aktualnie problemy z niedoborem pamięci operacyjnej nawet w przypadku przetwarzania obrazów cyfrowych wysokich rozdzielczości, gdzie rozdzielczość przestrzenna pojedynczego obrazu może przekraczać 3 Mpix. Przykładem może być tutaj standard telewizji bardzo wysokiej rozdzielczości (UHDTV, ang. Ultra High Definition Television) opracowany przez japońską telewizję publiczną NHK, brytyjską BBC i włoską RAI, gdzie mamy do czynienia z rozdzielczością pojedynczej klatki równą 768x432 pikseli. Nieskompresowany film w formacie UHDTV wymaga około 35 GB/min [9]. W zastosowaniach przemysłowych zazwyczaj mamy do czynienia z obrazami cyfrowymi o stosunkowo niskiej rozdzielczości przestrzennej. Rozdzielczość ta jest zazwyczaj odpowiednio dobrana do danego procesu i jest ustalona na poziomie niezbędnego minimum, które daje nam możliwość uzyskania pożądanych informacji z analizowanej sceny przy jednoczesnej analizie minimalnej liczby danych (pikseli). Mała liczba przetwarzanych pikseli powoduje, że system wizyjny jest w stanie działać bardzo szybko, co jest w zastosowaniach przemysłowych pożądane. Bardzo często systemy wizyjne stosowane w przemyśle opierają swoje działanie na obrazach achromatycznych, gdzie każdy piksel opisany jest tylko za pomocą jednej składowej reprezentującej jasność, co także wpływa na skrócenie czasu przetwarzania obrazu. Czas potrzebny do uzyskania wyniku może być znacznie skrócony dzięki wykorzystaniu programowania wielowątkowego i układów wielordzeniowych. Każda aplikacja działająca pod kontrolą systemu operacyjnego tworzy w nim proces. W ramach procesu programista może tworzyć wiele wątków. Każdy z wątków dysponuje swoim obszarem pamięci operacyjnej oraz może uzyskać dostęp do zmiennych procesu. Pewne problemy pojawiają się w przypadku, gdy kilka wątków próbuje uzyskać dostęp do tej samej zmiennej, aby ją zmodyfikować, co jest sygnalizowane zazwyczaj błędem aplikacji. W takim przypadku należy posługiwać się szeregiem dostępnym mechanizmów zabezpieczających (semafory, sekcje krytyczne itd.). Nowoczesne aplikacje posiadają zazwyczaj obok wątku głównego wchodzącego w ich proces, szereg wątków dodatkowych realizujących czasochłonne obliczenia. Wątek główny dba o komunikację z użytkownikiem i agreguje wyniki cząstkowe. 6.2 Zrównoleglenie obliczeń w KM i KHM Klasteryzacja jest procesem iteracyjnym, co oznacza, że w celu osiągnięcia zadanego warunku stopu należy wykonać pewną (często bardzo dużą) liczbę iteracji. W każdej iteracji wykonuje się szereg obliczeń numerycznych na poszczególnych pikselach przetwarzanego obrazu, co w rezultacie przekłada się na wydłużenie czasu obliczeń. Dodatkowo czas ten

6.2. ZRÓWNOLEGLENIE OBLICZEŃ W KM I KHM 82 (a) (b) Rysunek 6.1. Propozycje podziału obrazu dla jednostki czterordzeniowej: (a) podział na ćwiartki, (b) podział na pasy

6.2. ZRÓWNOLEGLENIE OBLICZEŃ W KM I KHM 83 Wczytanie obrazu Określenie parametrów: k (k i p dla KHM), warunku stopu i startowych środków c k Wątek główny Wątek główny i wątki obliczeniowe Podział macierzy obrazowej na równe części i przydział do rdzeni procesora Wyznaczenie odległości pikseli do klastrów c k w poszczególnych częściach macierzy obrazowej Wyznaczenie lokalnych funkcji przynależności m (c j x i ) i wagi w(x i ) Wyznaczenie globalnych funkcji przynależności m (c j x i ) i wagi w(x i ) oraz nowych położeo c k Sprawdzenie warunku stopu nie tak Użycie koocowych pozycji c k jako palety i przypisanie pikselom obrazu barwy z palety stosując globalną funkcję przynależności m (c j x i ) Rysunek 6.2. Schemat blokowy procesu zrównoleglenia obliczeń w technikach klasteryzacyjnych

6.2. ZRÓWNOLEGLENIE OBLICZEŃ W KM I KHM 84 znacznie rośnie wraz ze wzrostem rozdzielczości przestrzennej obrazu oraz zwiększeniem liczby klastrów k. W każdej iteracji dla technik KM i KHM konieczne jest wyznaczanie odległości pikseli x i od środków klastrów c k. Bazując na wyznaczonych odległościach obliczane są funkcje przynależności m(c j x i ) i wagi w(x i ). Dla KM czas obliczeń jest znacznie krótszy ze względu na stałą funkcję wagi w(x i ) = 1 i znacznie prostsze wyznaczanie funkcji przynależności. Dla KHM dla każdego piksela wyznaczana jest pojedyncza funkcja wagi i funkcje przynależności w liczbie równej liczbie klastrów k. Postać samej funkcji przynależności jest znacznie bardziej złożona w stosunku do KM. Występują tutaj dodatkowe zależności potęgowe powiązane z parametrem p, co także ma bardzo duży udział w ogólnym czasie przetwarzania badanego obrazu. Pikselowe techniki klasteryzacyjne (KM i KHM) nie wykorzystują informacji przestrzennej w obrazie, a mimo to uzyskuje się dzięki nim bardzo dobre rezultaty w zakresie kwantyzacji barwy i segmentacji obrazu. Odpowiednio dzieląc macierz obrazową można zatem wykonywać niezależnie obliczenia na jej poszczególnych częściach nie martwiąc się o synchronizację. Dlatego można zaproponować zrównoleglenie obliczeń poprzez równomierny podział macierzy obrazowej zależny od liczby rdzeni. Dla procesora czterordzeniowego w każdej iteracji wątek główny programu dzieli obraz na cztery części tworząc dodatkowe 4 wątki obliczeniowe. System operacyjny dbając o równomierne obciążenie rdzeni procesora przydziela do każdego rdzenia po jednym wątku. Po zakończeniu obliczeń przez poszczególne rdzenie wątek główny dokonuje agregacji obliczeń, sprawdza warunek stopu i jeżeli nie jest on spełniony wywołuje kolejną iterację. Po osiągnięciu warunku stopu wątek główny zapisuje obraz wynikowy i prezentuje otrzymane wyniki. Propozycje przyśpieszenia technik KM i KHM i uzyskane wyniki zostały przedstawione w [21]. Programista w celu efektywnego skrócenia czasu obliczeń musi ocenić jakie etapy algorytmu da się zrównoleglić. Zazwyczaj próbę zrównoleglenia obliczeń wykonuje się na najbardziej czasochłonnych operacjach, gdyż przynosi to najlepsze efekty. Patrząc z punktu widzenia technik KM i KHM można zauważyć, że w każdej iteracji trzeba wyznaczać funkcję przynależności m(c j x i ) oraz funkcję wagi w(x i ). Obie te funkcje funkcje wykorzystują odległości pomiędzy poszczególnymi pikselami obrazu a środkami klastrów. Okazuje się, że te operacje są najbardziej czasochłonne. Stosując podział macierzy obrazowej i tworząc wątki obliczeniowe odpowiadające liczbie rdzeni procesora uzyskujemy znaczne przyspieszenie. Rys. 6.2 przedstawia szczegółowy schemat blokowy zaproponowanego zrównoleglenia obliczeń dla technik KM i KHM. Rozpatrywano dwa różne podejścia do podziału macierzy obrazowej, co przedstawia Rys. 6.1. Znacznie bardziej uniwersalnym podejściem jest rozwiązanie przedstawione na Rys. 6.1 (b). Obraz dzielony jest na równe pasy w zależności od liczby rdzeni jednostki obliczeniowej. Podejście to może być z powodzeniem wykorzystane dla układów o dowolnej, także nieparzystej, liczbie rdzeni. Równomierny rozdział pikseli obrazu na poszczególne wątki obliczeniowe jest bardzo ważny, gdyż w tej sytuacji obliczenia na poszczególnych rdzeniach procesora w danej iteracji są wykonywane w prawie identycznym czasie. Minimalizowany jest czas oczekiwania wątku głównego na zakończenie obliczeń przez poszczególne rdzenie. W przypadku, kiedy macierz obrazowa nie zostałaby podzielona równomiernie występuje sytuacja nierównomiernego obciążenia rdzeni procesora. Wątek główny traciłby wtedy czas ze względu na oczekiwanie, aż w danej iteracji zakończą się obliczenia na wszystkich rdzeniach. Wskutek podziału macierzy obrazowej, czasochłonne wyznaczanie odległości oraz funkcji m(c j x i ) i w(x i ) jest realizowane przez poszczególne wątki na partiach obrazu. Każdy wątek wykonywany jest na innym rdzeniu przy znacznie mniejszej liczbie przetwarzanych danych. System operacyjny

6.3. BADANIA DOŚWIADCZALNE 85 zapewnia odpowiedni przydział poszczególnych wątków obliczeniowych do rdzeni jednostki obliczeniowej dbając o równomierne ich obciążenie. 6.3 Badania doświadczalne Główna aplikacja realizująca problemy poruszane w niniejszej rozprawie, została utworzona w środowisku programistycznym CodeGear TM C++ Builder 7 przy użyciu języka C++. C++ Builder to narzędzie programistyczne typu RAD do tworzenia aplikacji w języku C++. Środowisko to wspiera także programowanie aplikacji wielowątkowych. Istnieje obszerna literatura dotycząca programowania przy użyciu C++ Builder np. [37]. Implementacja wielu wątków obliczeniowych została wykonana w oparciu o klasę TThread. Klasa ta pozwala w dogodny sposób tworzyć wątki oraz zarządzać nimi. Wątek główny programu tworzył wątki obliczeniowe i uruchamiał je. Agregacja wyników cząstkowych następowała w momencie zakończenia obliczeń przez wszystkie wątki obliczeniowe. Każdy z wątków obliczeniowych dokonywał obliczeń na ściśle określonej partii obrazu, co eliminowało powstawanie konfliktów w dostępie do zmiennych. Badania były przeprowadzane na 2 stacjach roboczych nazwanych St 1 i St 2, których parametry zostały przedstawione w Tab. 6.1. Tabela 6.1. Parametry stacji roboczych St 1 i St 2 Parametry St 1 St 2 CPU Dual Core AMD QuadCore Intel ATHLON X2 Core 2 Quad Q945 Częstotliwość 2x3 MHz 4x2666 MHz RAM 2GB DDR3 166 MHz 2 GB DDR2 667 MHz System operacyjny Windows XP Windows Vista Profesional SP3 Business SP1 Kompilacja finalnej wersji aplikacji odbyła się na stacji St 2. Badania przeprowadzono na grupie 5 barwnych obrazów testowych: Aeroplane, P arrots, Motocross, Seaside, Girl, o rozdzielczości 768x512x24 (szerokość, wysokość, głębia bitowa barwy), przedstawionych na Rys. 6.3. Obrazy te były poddawane operacji kwantyzacji barwy. Dla uproszczenia notacji przyjęto, że liczba aktywnych rdzeni procesora będzie oznaczana Cr, zaś liczba wątków obliczeniowych T h. Techniki KM i KHM wymagają zdefiniowania startowych środków klastrów c k. Zastosowano ideę polegającą na równomiernym, zależnym od k podziale osi szarości lokując na niej startowe środki (DC). Jako warunek stopu ustalono liczbę 15 iteracji. Dla techniki KHM parametr p przyjęto jako 2,7 (dobrano doświadczalnie). Postęp technologiczny w dziedzinie konstrukcji procesorów przyniósł układy wielordzeniowe. Niestety, aby móc wykorzystać zalety takich rozwiązań potrzebne jest stworzenie odpowiedniego oprogramowania lub dostosowanie już istniejącego do maszyn wielordzeniowych. Jeden z przeprowadzonych eksperymentów miał na celu pokazanie, że bez

6.3. BADANIA DOŚWIADCZALNE (a) 86 (b) (d) (c) (e) Rysunek 6.3. Obrazy testowe: (a) Aeroplane, (b) P arrots, (c) M otocross, (d) Seaside, (e) Girl wsparcia ze strony aplikacji, potencjał maszyn wielordzeniowych nie może być wykorzystany. Ponieważ stacje St1 i St2 wyposażone są odpowiednio w jednostki centralne dwui czterordzeniowe, więc w celu przeprowadzenia tego badania wykorzystane zostały możliwości systemu operacyjnego WINDOWS. Posługując się menadżerem zadań (ang. task manager ) można zlokalizować proces, który powstał w wyniku działania uruchomionej aplikacji. Menadżer zadań daje możliwość ustawienia tzw. koligacji (ang. affinity). Każdy proces znajdujący się w kolejce ma swój własny identyfikator oznaczający preferowany procesor. Podczas przydziału czasu procesora następuje przypisanie zadania do preferowanej jednostki przetwarzającej. Posługując się koligacją można wymusić, aby dany proces i jego wątki korzystały tylko i wyłącznie z danego rdzenia lub rdzeni procesora. Badania zostały przeprowadzone zarówno na St1 jak i St2. Przetwarzane obrazy posiadały jednakową rozdzielczość przestrzenną. Dla KM i KHM wykorzystano identyczne parametry klasteryzacji: stała liczba iteracji, metoda inicjalizacji równego podziału (DC), która jest niezależna od treści obrazu. Czas przetwarzania był mierzony od momentu wczytania obrazu do chwili wyświetlenia rezultatu. Różnice czasowe, występujące pomiędzy czasami przetwarzania poszczególnych obrazów, mieszczą się w granicach błędu pomiarowego spowodowanego działaniem samego systemu operacyjnego i jego usług. Tab. 6.2 zawiera uzyskane czasy przetwarzania w sekundach dla aplikacji jednowątkowej uruchamianej na różnej liczbie rdzeni procesora stacji St1 i St2. Aplikacje wielowątkowe zazwyczaj działają również na maszynach wyposażonych w procesory jednordzeniowe. Jest to ściśle powiązane z wielozadaniowością (ang. multitasking), która od dłuższego czasu jest obecna w systemach operacyjnych. Dla systemu WINDOWS pierwsze próby wprowadzenia wielozadaniowości miały miejsca wraz z pojawieniem się wersji Windows NT 3.1 w latach dziewięćdziesiątych. Przeprowadzono badania mające na celu pokazanie, iż starania programistów w celu tworzenia aplikacji korzystających z wielu wątków służących przyśpieszeniu obliczeń nie przynoszą wymiernych efektów bez wsparcia technologicznego. Ze względu na brak maszy-

6.3. BADANIA DOŚWIADCZALNE 87 Tabela 6.2. Czasy przetwarzania (w sekundach) dla pojedynczego wątku przy różnej liczbie wykorzystanych rdzeni, k=16 St 1 St 2 Th1 KM KHM KM KM KM KHM KHM KHM Cr2 Cr2 Cr2 Cr3 Cr4 Cr2 Cr3 Cr4 Aeroplane 9,5 62,5 9,2 9, 9, 69,4 69,3 69,3 Parrots 9,3 62,6 8,9 8,9 9,2 69,3 69,3 69,1 Motocross 9,3 62,8 8,9 8,8 9, 69,2 69,1 69,1 Seaside 9,3 62,6 8,9 8,9 8,9 69,8 69,2 69, Girl 9,3 62,5 8,9 8,9 8,9 69,2 69,1 69,1 ny wyposażonej w procesor jednordzeniowy w trakcie badań po raz kolejny skorzystano z menadżera zadań systemu WINDOWS. Zastosowano możliwość zmiany koligacji, aby wymusić na stacjach roboczych pracę z pojedynczym rdzeniem. Tab. 6.3 przedstawia czasy przetwarzania obrazów testowych w sekundach. Wyniki obrazują brak korzyści z aplikacji wielowątkowych w sytuacji kiedy aplikacja uruchamiana jest na jednostce wyposażonej w pojedynczy rdzeń. Można wręcz zaobserwować nieznaczne wydłużenie czasu obliczeń przy zwiększaniu liczby wątków obliczeniowych. Jest to związane z pewną, niewielką stratą czasu na tworzenie wątków obliczeniowych podczas każdej iteracji. Obie stacje robocze pomimo wymuszenia pracy z wykorzystaniem jednego rdzenia pozwalały na przetwarzanie obrazów testowych z wykorzystaniem wielu wątków obliczeniowych. Tabela 6.3. Czasy przetwarzania (w sekundach) przy wykorzystaniu jednego rdzenia, k=16 St1 Cr1 KM KHM Th1 Th2 Th Th1 Th2 Th4 Aeroplane 9,5 9,5 9,5 62,7 63,5 64,6 Parrots 9,2 9,2 9,3 62,8 63,6 64,8 Motocross 9,2 9,2 9,3 62,9 63,8 64,8 Seaside 9,2 9,3 9,3 62,8 63,8 64,8 Girl 9,2 9,3 9,3 62,7 63,5 64,8 St2 Cr1 Th1 Th2 Th4 Th1 Th2 Th4 Aeroplane 9,2 9,2 9,3 69,4 67,3 66,3 Parrots 8,9 9, 9,1 69,5 67,3 66,3 Motocross 8,9 8,9 9,1 69,4 67,5 66,6 Seaside 8,9 8,9 9,1 69,8 67,4 66,4 Girl 8,9 8,9 8,9 69,5 67,3 66,4 Opisywane wyniki badań przekonują, że postęp technologiczny w dziedzinie procesorów musi być wspierany rozwojem oprogramowania. Tylko połączenie aplikacji wielowątkowych

6.3. BADANIA DOŚWIADCZALNE 88 z układami wielordzeniowymi może przynieść wymierne efekty. Przebadano wszystkie obrazy testowe pod kątem czasu przetwarzania w przypadku 1 i 2 rdzeni dla St 1 oraz 1, 2 i 4 rdzeni dla stacji St 2. Na stacji St 1 dla techniki KM uzyskano średnie przyśpieszenie na poziomie 1,85. Dla stacji St 2 przy 2 aktywnych rdzeniach średnie przyśpieszenie wynosiło 1,9. Po uruchomieniu wszystkich rdzeni na St 2 średnie przyśpieszenie KM wzrosło do 2,8. Stacja St 1 pozwoliła na średnie przyspieszenie techniki KHM na poziomie 1,93 przy wykorzystaniu obu jej rdzeni. Stacja St 2 dla 2 rdzeni dała przyśpieszenie na poziomie 1,98 zaś po aktywowaniu wszystkich jej rdzeni uzyskano akcelerację blisko czterokrotną: średnio 3,9. Wyniki te prezentują Tab. 6.4 oraz Tab. 6.5. Tabele te zawierają czasy przetwarzania w sekundach (kolumny: T h1, T h2, T h4) oraz uzyskane przyspieszenia (kolumny: AT h2, AT h4), które są wielkościami bezwymiarowymi wyznaczonymi zgodnie z zależnością: A T hx = Czas T h x Czas T h 1, (6.1) gdzie: Czas T h x - czas przetwarzania obrazu w sekundach z wykorzystaniem x wątków obliczeniowych, Czas T h 1 - czas przetwarzania obrazu w sekundach z wykorzystaniem pojedynczego wątku obliczeniowego. Tabela 6.4. Czas przetwarzania (w sekundach) i uzyskane przyspieszenia dla KM, k=16 KM St1 Cr2 St2 Cr4 T h1 T h2 AT h2 T h1 T h2 T h4 AT h2 AT h4 Aeroplane 9,52 5,17 1,84 9,3 4,76 3,35 1,9 2,7 Parrots 9,34 4,98 1,88 9,16 4,66 3,15 1,97 2,91 Motocross 9,28 5,5 1,84 9,3 4,8 3,45 1,88 2,62 Seaside 9,33 5,9 1,83 8,85 4,71 3,21 1,88 2,76 Girl 9,27 4,98 1,86 8,85 4,66 3,2 1,9 2,77 Tabela 6.5. Czas przetwarzania (w sekundach) i uzyskane przyspieszenia dla KHM, k=16 KHM St1 Cr2 St2 Cr4 T h1 T h2 AT h2 T h1 T h2 T h4 AT h2 AT h4 Aeroplane 62,51 32,52 1,92 69,33 34,74 17,8 2, 3,89 Parrots 62,62 32,28 1,94 69,14 34,74 17,77 1,99 3,89 Motocross 62,81 32,45 1,94 69,11 35,12 17,88 1,97 3,87 Seaside 62,55 32,45 1,93 69,3 34,76 17,72 1,99 3,9 Girl 62,52 32,34 1,93 69,1 34,8 17,72 1,99 3,9 Techniki klasteryzacyjne KM i KHM są procesami iteracyjnymi. Zbadano na obrazie testowym Girl jaki wpływ na czas obliczeń ma rosnąca liczba iteracji oraz jakie przyśpieszenia uzyskuje się stosując zrównoleglenie obliczeń. Okazuje się, że czas przetwarzania obrazu jest w przybliżeniu liniową funkcją zadanej liczby iteracji. Średnia wartość przyspieszenia dla St 1 i techniki KM wynosi 1,94, a dla techniki KHM 1,91. Przyspieszenie

KHM - czas przetwarzania [s] KM - czas przetwarzania [s] 6.3. BADANIA DOŚWIADCZALNE 89 średnie na stacji roboczej St 2 dla techniki KM wyniosło 2,86, a dla KHM 3,89. W idealnym przypadku przy całkowitym zrównolegleniu obliczeń wartości średnie przyspieszenia dla St 1 zmierzałyby do liczby 2, natomiast dla St 2 dążyły by do czterokrotnego przyśpieszenia. Wynika to z liczby rdzeni w poszczególnych stacjach. Czas dowolnej operacji przetwarzania cyfrowego obrazu barwnego ściśle zależy od jego rozdzielczości przestrzennej. Na obrazie testowym Girl sprawdzono zależność czasu przetwarzania dla KM i KHM od liczby wykonanych iteracji. Uzyskane wyniki prezentuje Rys. 6.4. Można zauważyć, że czas przetwarzania dla ustalonego k (k=16) oraz metody inicjalizacji (DC), jest w przybliżeniu liniową funkcją liczby iteracji, w ramach ustalonej liczby wątków obliczeniowych i liczby aktywnych rdzeni procesora. 45, 4, 35, 3, 25, 2, 15, 1, 5,, St1Cr2Th1 St1Cr2Th2 St2Cr4Th1 St2Cr4Th4 15 3 45 Liczba iteracji 6 75 (a) 35, 3,,, 15,, 5,, St1Cr2Th1 St1Cr2Th2 St2Cr4Th1 St2Cr4Th4 15 3 45 Liczba iteracji 6 75 (b) Rysunek 6.4. Wpływ liczby iteracji na czas przetwarzania: (a) technika KM, (b) technika KHM Dla technik klasteryzacyjnych liczba klastrów k jest głównym parametrem wejściowym. Liczba klastrów w procesie kwantyzacji barwy jest wprost utożsamiana z liczbą barw w

Przyśpieszenie Przyśpieszenie 6.3. BADANIA DOŚWIADCZALNE 9 poszukiwanej palecie. Zmieniając liczbę klastrów k oraz przestrzenną rozdzielczość obrazu testowego Girl zbadano jakie przyspieszenia można uzyskać stosując zrównoleglenie obliczeń. Rys. 6.5 obrazuje uzyskane wyniki dla technik KM i KHM. Można zaobserwować, że im bardziej czasochłonny jest proces przetwarzania obrazu, co jest związane z dużą rozdzielczością przestrzenną (liczba pikseli) i rosnącą liczbą klastrów, tym bardziej następuje zbliżenie uzyskanego przyspieszenia do wartości maksymalnych możliwych do osiągnięcia. Związane to jest z malejącym udziałem błędu pomiarowego czasu oraz z malejącym udzia- 1,95 1,9 1,85 1,8 1,75 1,7 1,65 St1k8KM St1k16KM St1k32KM St1k8KHM St1k16KHM St1k32KHM 24576 9834 393216 6144 Liczba pikseli 884736 124224 (a) 4 3,5 3 2,5 2 1,5 St2k8KM St2k16KM St2k32KM St2k8KHM St2k16KHM St2k32KHM 24576 9834 393216 6144 Liczba pikseli 884736 124224 (b) Rysunek 6.5. Przyspieszenia uzyskane przy różnym rozmiarze obrazu testowego: (a) wyniki dla stacji St 1, (b) wyniki dla stracji St 2 łem działających usług systemu operacyjnego w tym czasie. Dla stacji St 1 maksymalna, teoretyczna wartość przyspieszenia wynosi 2, natomiast dla stacji St 2, wartość ta wynosi 4. Przy niskiej rozdzielczości obrazu i małej liczbie k, uzyskiwane przyspieszenia przyjmują mniejsze wartości, szczególnie dla KM. Dla techniki KHM na obu stacjach następuje zbli-