Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda

Podobne dokumenty
Digraf. 13 maja 2017

Graf. Definicja marca / 1

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

a) 7 b) 19 c) 21 d) 34

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew

Analiza obrazów. Segmentacja i indeksacja obiektów

Matematyczne Podstawy Informatyki

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyczne Podstawy Informatyki

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Matematyka dyskretna - 7.Drzewa

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Minimalne drzewa rozpinające

Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV

Sprawozdanie do zadania numer 2

Egzamin, AISDI, I termin, 18 czerwca 2015 r.

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Algorytmiczna teoria grafów

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

6. Wstępne pojęcia teorii grafów

Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Wykład 8. Drzewo rozpinające (minimum spanning tree)

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

Implementacja filtru Canny ego

AiSD zadanie trzecie

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Algorytmiczna teoria grafów

Matematyczne Podstawy Informatyki

7. Teoria drzew - spinanie i przeszukiwanie

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

MATEMATYKA DYSKRETNA - KOLOKWIUM 2

Matematyka dyskretna. Andrzej Łachwa, UJ, A/14

Programowanie dynamiczne i algorytmy zachłanne

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

5c. Sieci i przepływy

TEORETYCZNE PODSTAWY INFORMATYKI

TEORIA GRAFÓW I SIECI

Podstawowe własności grafów. Wykład 3. Własności grafów

Ogólne wiadomości o grafach

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

Wprowadzenie Podstawy Fundamentalne twierdzenie Kolorowanie. Grafy planarne. Przemysław Gordinowicz. Instytut Matematyki, Politechnika Łódzka

Złożoność obliczeniowa klasycznych problemów grafowych

Sortowanie topologiczne skierowanych grafów acyklicznych

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

CECHY BIOMETRYCZNE: ODCISK PALCA

Matematyka dyskretna - 5.Grafy.

Algorytmy grafowe. Wykład 2 Przeszukiwanie grafów. Tomasz Tyksiński CDV

Anna Fabijańska. Algorytmy segmentacji w systemach analizy ilościowej obrazów

E ' E G nazywamy krawędziowym zbiorem

Matematyka dyskretna

Algorytmy Grafowe. dr hab. Bożena Woźna-Szcześniak, prof. UJD. Wykład 5 i 6. Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.

Podejście zachłanne, a programowanie dynamiczne

Wyznaczanie optymalnej trasy problem komiwojażera

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Rozwiązywanie problemów metodą przeszukiwania

Matematyka dyskretna. Andrzej Łachwa, UJ, B/14

Elementy teorii grafów Elementy teorii grafów

Algorytmy grafowe 2. Andrzej Jastrz bski. Akademia ETI. Politechnika Gda«ska Algorytmy grafowe 2

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

Digraf o V wierzchołkach posiada V 2 krawędzi, zatem liczba różnych digrafów o V wierzchołkach wynosi 2 VxV

METODY INŻYNIERII WIEDZY ASOCJACYJNA REPREZENTACJA POWIĄZANYCH TABEL I WNIOSKOWANIE IGOR CZAJKOWSKI

KURS MATEMATYKA DYSKRETNA

Teoria grafów II. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

PRACA DYPLOMOWA MAGISTERSKA

Instrukcje dla zawodników

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 8 AiR III

Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?

Opracowanie prof. J. Domsta 1

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Wstęp do programowania

Suma dwóch grafów. Zespolenie dwóch grafów

Przetwarzanie obrazu

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

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

Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska

Szukanie najkrótszych dróg z jednym ródłem

Analiza obrazów - sprawozdanie nr 3

Detekcja twarzy w obrazie

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010

(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x

PRZETWARZANIE SYGNAŁÓW

Wykład 3. Złożoność i realizowalność algorytmów Elementarne struktury danych: stosy, kolejki, listy

Ćwiczenia z grafiki komputerowej 5 FILTRY. Miłosz Michalski. Institute of Physics Nicolaus Copernicus University. Październik 2015

Podstawowe pojęcia dotyczące drzew Podstawowe pojęcia dotyczące grafów Przykłady drzew i grafów

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Filtracja obrazu operacje kontekstowe

Podstawy Programowania 2 Grafy i ich reprezentacje. Plan. Wstęp. Teoria grafów Graf skierowany. Notatki. Notatki. Notatki. Notatki.

Wstęp do Sztucznej Inteligencji

TEORIA GRAFÓW I SIECI

. Podstawy Programowania 2. Grafy i ich reprezentacje. Arkadiusz Chrobot. 9 czerwca 2016

Grafy. Jeżeli, to elementy p i q nazywamy końcami krawędzi e. f a b c d e γ f {1} {1,2} {2,3} {2,3} {1,3}

Transkrypt:

Segmentacja obrazów cyfrowych Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp autor: Łukasz Chlebda 1

Segmentacja obrazów cyfrowych - temat pracy Temat pracy: Aplikacja do segmentacji obrazów cyfrowych z zastosowaniem teorii grafów Promotor: dr hab. inż. Andrzej Leśniak, prof. AGH 2

Segmentacja obrazów cyfrowych - plan prezentacji Plan prezentacji: Techniki segmentacji obrazów cyfrowych Zarys teorii grafów Wykorzystane algorytmy grafowe Obraz cyfrowy jako graf Opis metod grafowych Napotkane problemy Wstępne wyniki 3

Segmentacja obrazów cyfrowych - techniki segmentacji Segmentacja obrazów cyfrowych Segmentacja polega na podziale obrazu na fragmenty odpowiadające poszczególnym widocznym na obrazie obiektom. Umożliwia wydzielenie obszarów obrazu spełniających pewne kryteria jednorodności (np.. kolor obszaru, faktura, poziom jasności). Najbardziej powszechne techniki segmentacji: segmentacja przez podział obszaru segmentacja metodą wykrywanie krawędzi segmentacja przez rozrost obszaru 4

Segmentacja obrazów cyfrowych - techniki segmentacji Segmentacja przez podział obszaru Wartość jasności każdego elementu obrazu jest porównywana z wartością progową, po czym element jest przydzielany do jednej z dwóch kategorii. Wyboru wartości progowej dokonuje się zazwyczaj na podstawie histogramu. Przykład wieczna zmarzlina dla progu równego 100: 5

Segmentacja obrazów cyfrowych - techniki segmentacji Segmentacja metodą wykrywania krawędzi Przy tej metodzie są wyszukiwane krawędzie między obszarami najczęściej za pomocą operatorów gradientowych. Następnie najczęściej jest wykonywana operacja progowania. Przykład obrazek został przetworzony najpierw operatorami Sobela, później nałożono na niego próg progowania 50: 6

Segmentacja obrazów cyfrowych - techniki segmentacji Segmentacja przez rozrost obszaru W metodzie tej poszukuje się grup elementów o zbliżonej jasności. Przykładowo segmentacja morfologiczna algorytm linii działu wodnego (LDW). Przykład elektrofereza żelu najpierw obraz przefiltrowano (otwarcie + zamknięcie) celem uniknięcia przesegmentowania, by następnie zastosować algorytm LDW dla obrazka przefiltrowanego: 7

Segmentacja obrazów cyfrowych - zarys teorii grafów Zarys teorii grafów Parę G = (V(G), E(G)) (lub w skrócie G=(V, E)) nazywamy grafem, jeżeli V(G) jest zbiorem skończonym Elementy V(G) nazywamy wierzchołkami grafu G, a V(G) zbiorem wierzchołków. E(G) V(G) V(G) Elementy E(G) nazywamy krawędziami grafu G, a E(G) zbiorem krawędzi. Graf jest spójny jeżeli dla dowolnej pary wierzchołków istnieje droga łącząca te wierzchołki. Cykl to zamknięta droga, w której wszystkie krawędzie są różne 8

Segmentacja obrazów cyfrowych - zarys teorii grafów Rodzaje grafów Graf prosty Graf z wagami Multigraf (z krawędziami wielokrotnymi i pętlami) Digraf (graf skierowany) 9

Segmentacja obrazów cyfrowych - zarys teorii grafów Drzewa Drzewem nazywamy graf spójny i acykliczny. Drzewem spinającym nazywamy minimalny (o minimalnej liczbie krawędzi) podgraf łączący wszystkie wierzchołki grafu G. Minimalne drzewo spinające grafu G to drzewo spinające o minimalnej wadze. Przykłady drzew: 10

Segmentacja obrazów cyfrowych - algorytmy grafowe Algorytmy grafowe Algorytm Dijkstry - wyznacza minimalną drogę między wierzchołkiem u i każdym z pozostałych wierzchołków w skończonym digrafie z nieujemnymi wagami bez pętli i bez krawędzi wielokrotnych. 11

Segmentacja obrazów cyfrowych - algorytmy grafowe Algorytm Kruskala daje w wyniku minimalne drzewo spinające grafu spójnego G. Przykład grafu oraz minimalnego drzewa spinającego tego grafu: 12

Segmentacja obrazów cyfrowych - obraz cyfrowy jako graf Obraz cyfrowy jako graf Zakładamy,że piksele są 4 sąsiadowi Krawędź grafu definiujemy jako granicę pomiędzy pikselami p i q, jeżeli są one 4 sąsiadami. Każdej krawędzi przypisujemy wagę, którą określamy następująco: w(p, q) = H [f(p) f(q)] gdzie H jest najwyższą wartością piksela na obrazku, a f(p) i f(q) są wartościami pikseli odpowiadających wierzchołkom p i q. 13

Segmentacja obrazów cyfrowych - obraz cyfrowy jako graf Przykład obrazu cyfrowego oraz jego reprezentacja grafowa. Na czerwono zaznaczona jest najkrótsza droga łącząca przeciwległe brzegi grafu wyznaczona algorytmem Dijkstry. 14

Segmentacja obrazów cyfrowych - opis metod grafowych Metoda wykrywająca krawędzie Okazuje się, że najkrótsze drogi w grafie odpowiadają znaczącym zmianom jasności między dwoma pikselami w obrazie czyli po prostu krawędziom. Metoda używana w tej pracy oparta jest na tzw. algorytmie A*, który służy do znajdywania najkrótszej drogi pomiędzy dwoma danymi wierzchołkami grafu, jednak nie gwarantuje minimalnej drogi pomiędzy dwoma punktami. 15

Segmentacja obrazów cyfrowych - opis metod grafowych Algorytm A* Opiera się na heurystyce - dzięki czemu jest znacznie szybszy Algorytm Dijkstry jest szczególnym przypadkiem algorytmu A* - wtedy gdy nie korzystamy zżadnej heurystyki Heurystyka jest to metoda znajdywania rozwiązań, za dla której nie ma gwarancji znalezienia rozwiązania optymalnego. Używa się jej, gdy algorytm z przyczyn technicznych jest zbyt kosztowny. W przypadku algorytmu A* heurystyka jest wykorzystywana do nakierowywania pełnego algorytmu ku optymalnemu rozwiązaniu bez poświęcania jakości rozwiązania. 16

Segmentacja obrazów cyfrowych - opis metod grafowych Parametry czułość - minimalna różnica pomiędzy dwoma pikselami 4 sąsiadowymi, która będzie traktowana jako krawędź. Krawędzie, których wagi są mniejsze będą pomijane. maski - obrazek jest dzielony na maski o podanych przez użytkownika rozmiarach, a algorytm jest wykonywany na każdej masce oddzielnie. 17

Segmentacja obrazów cyfrowych - opis metod grafowych Metoda segmentacji grafowej Dość skomplikowana metoda dzieląca obraz na obszary o podobnych właściwościach wykorzystująca m. in. minimalne drzewa spinające. graf jest konstruowany na takich samych zasadach, jak wcześniej zakładamy, że piksele są 4 lub 8 sąsiadowe w metodzie tej wykorzystałem algorytm Kruskala metoda ta wymaga posortowania na początku wszystkich krawędzi ze względu na wagi wykorzystałem do tego algorytm sortowania quicksort Na podstawie pracy Effcient Graph-Based Image Segmentation autora Pedro F. Felzenszwalb z Artificial Intelligence Lab MIT. 18

Segmentacja obrazów cyfrowych - problemy Napotkane problemy szybkość narzut pamięciowy obrazek 150 x 125 18 750 wierzchołków 37 225 krawędzi obrazek 819 x 614 1 004 299 krawędzi 502 866 wierzchołków 19

Segmentacja obrazów cyfrowych - problemy 20

Segmentacja obrazów cyfrowych - problemy Jak przyspieszyłem działanie algorytmów w metodzie wykrywania krawędzi zamiast całego obrazka naraz tworzone są maski zanim utworzony zostanie graf sprawdzane jest, czy na danej masce w ogóle może wystąpić krawędź heurystyka quicksort algorytm Kruskala zamiast algorytmu Prima (w mojej głowie przyspieszam je także równolegle) 21

Segmentacja obrazów cyfrowych - problemy Przydałoby się szybciej algorytm Bernarda Chazelle najszybszy obecnie algorytm znajdujący minimalne drzewo spinające - wykorzystujący tzw. miękki stos Algorytm ten jest praktycznie liniowo zależny od liczby wierzchołków oraz tzw. odwrotnej liczby Ackermana. 22

Segmentacja obrazów cyfrowych - problemy Nierozwiązany problem narzut pamięciowy występuje przy metodzie segmentacji grafowej jeżeli starczy czasu spróbuje zaimplementować inną strukturę danych na razie wykorzystuje dynamiczne listy wierzchołków i krawędzi powiązanych ze sobą 23

Segmentacja obrazów cyfrowych - wstępne wyniki Przykładowe wyniki wykrywanie krawędzi: 24

Segmentacja obrazów cyfrowych - wstępne wyniki 25

Segmentacja obrazów cyfrowych - wstępne wyniki 26

Segmentacja obrazów cyfrowych - wstępne wyniki 27

Segmentacja obrazów cyfrowych - wstępne wyniki Przykładowe wyniki segmentacja grafowa 28

Segmentacja obrazów cyfrowych - wstępne wyniki 29

Segmentacja obrazów cyfrowych - wstępne wyniki 30

Segmentacja obrazów cyfrowych - koniec Dziękuję za uwagę. 31