Przetwarzanie i analiza obrazów oraz złożonych danych Opracował: Zbigniew Rudnicki ZKiEM, AGH Kraków Kategorie analizowanych obrazów Obrazy Obrazy obiektów (wyraźnie widocznych) Obrazy obiektów trudno rozróżnialnych Obrazy tekstur (brak pojedynczych obiektów) Zajmiemy się głownie obrazami tekstur Oprac.: Zb. Rudnicki 2 1
Komputerowa analiza i rozpoznawanie obrazów teksturowych stosowane są m.in. w: Diagnostyce medycznej: (tomogramy, rentgenogramy, USG i in.). meteorologii (obrazy chmur) analizie zdjęć satelitarnych metalografii i krystalografii kontroli jakości (papieru, tkanin, żywności,...) diagnostyce zużycia narzędzi i elementów maszyn Oprac.: Zb. Rudnicki 3 Metody analizy obrazów mogą służyć także do analizy innych złożonych danych Zestawy złożonych danych takie jak: - sygnały akustyczne (hałas pracy maszyny) - wyniki pomiarów wielokanałowych - statystyki ekonomiczne lub marketingowe i inne zawierają wielką liczbę danych z których trzeba wydobyć - przez selekcję i redukcję - tylko informacje istotne dla celu badań. Oprac.: Zb. Rudnicki 4 2
Cele analizy i rozpoznawania Chcemy aby komputer mógł udzielać odpowiedzi na proste (dla człowieka) pytania w rodzaju: czy powierzchnia jest dostatecznie obrobiona czy nie czy powstał film smarny czy nie czy narzędzie jest dobre czy zużyte czy na obrazie występują określone obiekty czy nie (np. pękniecia, wżery, pewien typ korozji,...) czy tkanka jest zdrowa czy chora czy materiał sypki wykazuje dostateczną jednorodność Oprac.: Zb. Rudnicki 5 Klasy obrazów mogą odwzorowywać stany obiektów (materiałów, narzędzi,.) PROCES PROCES AKWIZYCJA i DIGITALIZACJA OBRAZÓW AKWIZYCJA i DIGITALIZACJA OBRAZÓW AKWIZYCJA i DIGITALIZACJA OBRAZÓW OBRAZY KLASY 1 OBRAZY KLASY 2 OBRAZY KLASY n Oprac.: Zb. Rudnicki 6 3
Przykład problemu: Jak liczbowo (i komputerowo) rozróżniać i oceniać obrazy z klasy C1 względem obrazów z klasy C2 Klasa C1 Klasa C2 Oprac.: Zb. Rudnicki 7 Czym różni się przetwarzanie obrazów od analizy obrazów Obraz1 [przetwarzanie] Obraz 2 Obraz [analiza] wartosci cech obrazu Oprac.: Zb. Rudnicki 8 4
Cele PRZETWARZANIA obrazów Stopniowa redukcja informacji np.: obraz barwny obraz szary obraz czarno-bialy wektor lub macierz liczby (miary cech) Wyławianie (przy tej redukcji) informacji istotnych dla badań (np.: kształtu, wielkości, ukierunkowania,...) Eliminowanie zbędnych lub szkodliwych informacji (szumów, artefaktów,...) Oprac.: Zb. Rudnicki 9 Cel ANALIZY obrazów - ekstrakcja cech wyznaczanie liczbowych charakterystyk i ich parametrów statystycznych pomiar wartości określonych cech wyszukiwanie najlepszych dyskryminatorów czyli cech wykazujących mały rozrzut wewnątrz klasy a duże różnice między klasami Oprac.: Zb. Rudnicki 10 5
Rozpoznawanie obrazów = automatyczna klasyfikacja Określenie klas obrazów a) wzorcowymi zbiorami uczącymi obrazów b) na podstawie podobieństwa ich cech czyli przez klasteryzację Klasyfikacja = zaliczanie innych nieznanych obrazów do tych klas na podstawie ich wektorów cech Oprac.: Zb. Rudnicki 11 Ważniejsze pojęcia i operacje: Przetwarzanie - dla uwydatnienia istotnych cech ANALIZA: Wyznaczanie charakterystyk liczbowych (histogramów, macierzy,...) Ekstrakcja cech (wyznaczanie liczbowych deskryptorów wybranych cech obrazu i redukcja mniej istotnych cech) Segmentacja - wyodrębnienie obiektów lub obszarów o podobnych cechach tekstury Binaryzacja - przetwarzanie na obrazy czarno-biale Indeksacja = ponumerowanie rozłącznych i spójnych obszarów Ustalenie wzorcowych klas obrazów (zbiorów uczących) apriori lub automatycznie przez klasteryzacje Rozpoznawanie - zaliczanie nieznanych wczesniej obrazów do odpowiedniej klasy (klasyfikacja) Oprac.: Zb. Rudnicki 12 6
Obraz rastrowy szary i jego zapis cyfrowy: Prostokątna siatka pikseli (punktów obrazu) jest zapisywana jako macierz - prostokątna tablica liczbowa. Liczby wyrażają jasność pikseli od 0 (czarny) do 255 (biały) 0 0 0 0 0 0 0 0 0 0 0 255 255 255 255 255 255 255 255 0 0 255 100 255 150 255 200 200 255 0 0 255 100 255 150 255 200 200 255 0 0 255 255 255 255 255 255 255 255 0 0 255 255 255 255 255 255 255 255 0 0 255 100 255 150 255 200 200 255 0 0 255 100 255 150 255 200 200 255 0 0 255 255 255 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 Oprac.: Zb. Rudnicki 13 Przetwarzanie obrazów Oprac.: Zb. Rudnicki 14 7
Przetwarzanie obrazów Operacje punktowe - na pojedynczych pikselach (rozjaśnianie, przyciemnianie, zmiana kontrastu,...) Filtracja kontekstowa - zależna od otoczenia piksela (wyostrzanie, rozmywanie, detekcja krawędzi,...) Przekształcenia morfologiczne - kontekstowe warunkowe (erozja, dylatacja, szkieletyzacja,...) Przekształcenia geometryczne - deformacje Oprac.: Zb. Rudnicki 15 Przetwarzanie punktowe = operacje na poszczególnych pikselach bez uwzględniania ich otoczenia Rozjaśnianie - zwiększa wartości (jasność) pikseli, przyciemnianie: odwrotnie Zmiana kontrastu (zwieksza różnice jasności) Nieliniowa korekcja GAMMA np.: może zmieniać najbardziej jasność średnio-szarych pikseli Normalizacja (do pełnego zakresu odcieni) Wyrównywanie histogramu (zwiększa kontrast) Binaryzacja progowa - przetwarza na czarno-białe Oprac.: Zb. Rudnicki 16 8
Oprac.: Zb. Rudnicki 17 BEZ przetwarzania Oprac.: Zb. Rudnicki 18 9
Przyciemnienie Oprac.: Zb. Rudnicki 19 Rozjaśnienie (histogram dwumodalny) Oprac.: Zb. Rudnicki 20 10
Histogram wielomodalny Oprac.: Zb. Rudnicki 21 Zwiekszenie kontrastu Oprac.: Zb. Rudnicki 22 11
Korekcja GAMMA - rozjaśnienie szarych Oprac.: Zb. Rudnicki 23 Korekcja GAMMA - przyciemnienie szarych Oprac.: Zb. Rudnicki 24 12
Wyrównywanie histogramu - zwiększa rozpiętość odcieni ale może zmniejszyć ich liczbę Oprac.: Zb. Rudnicki 25 Wyrównywanie histogramu Oprac.: Zb. Rudnicki 26 13
Przetwarzanie kontekstowe (filtracja kontekstowa) Wynik zmiany piksela zależy od jego otoczenia czyli kontekstu (a) = maska 3x3 Dla brzegów obrazu nie istnieje pełny kontekst - operacje są niemożliwe Oprac.: Zb. Rudnicki 27 Przetwarzanie kontekstowe Oprac.: Zb. Rudnicki 28 14
Filtr kontekstowy - medianowy 3x3 dobrze usuwa małe plamki Oprac.: Zb. Rudnicki 29 Filtr medianowy 3x3 nieskuteczny dla większych plam zakłóceń Oprac.: Zb. Rudnicki 30 15
Filtr medianowy 7x7 usuwa wieksze plamy lecz rozmywa nieco kontury Oprac.: Zb. Rudnicki 31 Detekcja konturów filtrem Sobel a Oprac.: Zb. Rudnicki 32 16
Ta sama detekcja konturów - z innym progiem Oprac.: Zb. Rudnicki 33 Definiowanie własnych filtrów w programie Paint Shop Pro Oprac.: Zb. Rudnicki 34 17
Przekształcenia geometryczne - deformacje w Paint Shop Pro Oprac.: Zb. Rudnicki 35 Analiza obrazów Oprac.: Zb. Rudnicki 36 18
Analiza Obrazów obiektów: wyodrębnienie ponumerowanie pomiar cech każdego obiektu (współczynniki kształtu i in.) Obrazów tekstur Wyznaczanie statystyk z: histogramu obrazu macierz przejść i jej stat. macierz gradientu macierzy długości pasm... Oprac.: Zb. Rudnicki 37 Histogram obrazu cyfrowego Histogram to wektor o tylu składowych ile kolorów może wystąpić na obrazie. Składowa H g podaje ile jest na obrazie pikseli o kolorze g gdzie: g = 1, 2,..., Lg Histogram można zapisać wzorem: Lw Lk 1 gdy xw, k = g H g = p( g, x w, k ) gdzie: p( g, xw, k ) = w= 1 k = 1 0 w przeciwnym przypadku Oprac.: Zb. Rudnicki 38 19
Rzeczywisty obraz o 256 możliwych poziomach szarości i jego histogram Oprac.: Zb. Rudnicki 39 Histogram znormalizowany Wartości histogramu znormalizowanego Hn g otrzymuje się przez podzielenie odpowiednich wartości H g przez całkowitą liczbę pikseli: H g Hng = Lw Lk Histogram znormalizowany określa prawdopodobieństwo z jakim piksel może przyjąć kolor g. Można wyznaczać dla niego różnorodne parametry statystyczne. Oprac.: Zb. Rudnicki 40 20
Niektóre parametry statystyczne histogramu: mediana czyli środkowy element w uporządkowanym rosnąco ciągu badanych wartości kwartyle - analogicznie wyznaczane elementy położone na pozycjach stanowiących 0% (minimalny element), 25%, 50% (czyli mediana), 75%, 100% (maksymalny element) percentyle analogicznie wyznaczane różne pozycje tego ciągu np.: 10%, 90% Oprac.: Zb. Rudnicki 41 Niektóre parametry statystyczne histogramu obrazu Oprac.: Zb. Rudnicki 42 21
Skośność i kurtoza (eksces) histogramu to cechy odporne na fluktuacje jasności obrazu Skośność określa asymetrię Eksces określa jak ostry krzywej histogramu lub łagodny kształt ma histogram Oprac.: Zb. Rudnicki 43 Parametry (deskryptory) obrazów teksturowych wyznaczane w programie MaZda Histogram mean variance skewness kurtosis, 1-% percentile 10-% percentile 50-% percentile 90-% percentile 99-% percentile Gradient matrix mean variance skewness kurtosis percentage of pixels with nonzero gradient. RLM matrix COM matrix AR model run length angular second θ 1 nonuniformity moment θ 2 gray level contrast θ 3 nonuniformity correlation θ 4 long run sum of squares σ emphasis inverse difference short run moment emphasis sum average fraction of sum variance image in runs sum entropy entropy difference variance difference entropy (AR = model autoregresji ) Oprac.: Zb. Rudnicki 44 22
Macierz zdarzeń (Co-Occurrence Matrix) Macierz zdarzeń C zwana też macierzą przejść lub koincydencji albo histogramem drugiego rzędu wyraża relacje między kolorami par pikseli. Macierz C jest macierzą kwadratową (Lg. Lg) wyznaczaną dla określonego kierunku oraz odległości między parami pikseli. Element C a,b powstaje przez zliczanie wszystkich takich par pikseli, które posiadają odpowiednio kolory a i b. Macierz ta może być normalizowana przez podzielenie wartości jej elementów przez liczbę wszystkich badanych par pikseli m. Oprac.: Zb. Rudnicki 45 Macierz zdarzeń (Co-Occurrence Matrix) Oprac.: Zb. Rudnicki 46 23
Parametry tekstur w/g Haralick'a wyznaczane z symetrycznej znormalizowanej macierzy zdarzeń - cz.1: Oprac.: Zb. Rudnicki 47 Parametry tekstur w/g Haralick'a wyznaczane z symetrycznej znormalizowanej macierzy zdarzeń - cz.2: Oprac.: Zb. Rudnicki 48 24
Parametry tekstur w/g Haralick'a wyznaczane z symetrycznej znormalizowanej macierzy zdarzeń - cz.3: Oprac.: Zb. Rudnicki 49 25