1 / 65

Techniczny Uniwersytet Otwarty 2007.02.03

JAK FILTROWAĆ DANE POMIAROWE DLA POTRZEB ANALIZY OBRAZÓW (DANYCH)?. ŁUKASZ RAUCH. Techniczny Uniwersytet Otwarty 2007.02.03. Agenda. Wprowadzenie – dlaczego potrzeba filtrowania danych Szczegółowy przegląd dostępnych metod i algorytmów filtrowania

chogan
Download Presentation

Techniczny Uniwersytet Otwarty 2007.02.03

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JAK FILTROWAĆ DANE POMIAROWE DLA POTRZEB ANALIZY OBRAZÓW (DANYCH)? ŁUKASZ RAUCH Techniczny Uniwersytet Otwarty 2007.02.03

  2. Agenda • Wprowadzenie – dlaczego potrzeba filtrowania danych • Szczegółowy przegląd dostępnych metod i algorytmów filtrowania • Podsumowanie problematyki procesu filtrowania • Opis zaproponowanej metodologii filtrowania • Projekt stworzonego oprogramowania • Otrzymane rezultaty • Perspektywy dalszych badań oraz rozwoju dostępnych metod Techniczny Uniwersytet Otwarty 2007.02.03

  3. Problematyka procesu analizy danych pomiarowych1 • Czytelność danych pomiarowych • Brak możliwości różniczkowania danych –utrudniona interpolacja punktów • Występowanie zafałszowanych pomiarów • Konieczność „ręcznego” wyznaczania punktów charakterystycznych pomiarów • Błędna interpretacja • Zastosowanie: metalurgia, medycyna, ekonomia, kamery przemysłowe, itp. Techniczny Uniwersytet Otwarty 2007.02.03

  4. Problematyka procesu analizy danych pomiarowych2 Techniczny Uniwersytet Otwarty 2007.02.03

  5. Buades, A., et al., „A Review of Image Denoising Algorithms with a New One”, 2005 Sformułowanie problemu • m(i) = v(i) + n(i) • m – wartość obserwowana, mierzona (measurements) • v – wartość właściwa sygnału (value) • n – szum nałożony na sygnał (noise) Cel główny: Detekcja właściwej wartości v. Problem: Gdzie kończy się szum, a gdzie zaczyna sygnał? Techniczny Uniwersytet Otwarty 2007.02.03

  6. Rodzaje i parametry szumu • Szum może być dzielony ze względu na kilka cech np.: • źródło – szum akustyczny, elektromagnetyczny, echo, itp., • częstotliwość – najpowszechniej stosowany podział np.: szum biały lub kolorowy, • funkcję gęstości prawdopodobieństwa (PDF) np.: szum Gaussa, jednostajny czy też sól i pieprz • Parametry: • rozkład prawdopodobieństwa, • SNR (Signal Noise Ratio) – stosunek odchylenia standardowego obrazu i szumu (dla wartości 3 obraz widoczny jest bez zakłóceń, wartość powyżej 20 powoduje brak czytelności obrazu) Techniczny Uniwersytet Otwarty 2007.02.03

  7. Buades, A., et al., „A Review of Image Denoising Algorithms with a New One”, 2005 Metody filtrowania obrazów • Metody Standardowe: • Konwolucja • Aproksymacja • Sieci neuronowe • Analiza falkowa • Filtry Kalmana • Metody Dedykowane : • Automaty komórkowe • Non-linear Diffusion • Non-local Means • Anisotropic Filtering • Łatwa implementacja • Zdywersyfikowana jakość wyników • Szeroka aplikowalność • Trudna implementacja i konfiguracja • Wysoka jakość wyników w określonych warunkach Techniczny Uniwersytet Otwarty 2007.02.03

  8. Tadeusiewicz, R., Korohoda, P., „Komputerowa analiza i przetwarzanie obrazów”, 1997 Metody konwolucji Konwolucja – splot funkcji, w przypadku dyskretny suma będąca wynikiem mnożenia dwóch macierzy: obrazu oraz filtra (tzw. kernel) • Konwolucja przeprowadzona w sposób dyskretny • filtr 3x3 • obserwowany problem – piksele brzegowe Techniczny Uniwersytet Otwarty 2007.02.03

  9. Tadeusiewicz, R., Korohoda, P., „Komputerowa analiza i przetwarzanie obrazów”, 1997 Metody konwolucji Filtry dolnoprzepustowe Filtry górnoprzepustowe • Umożliwiają wyciągnięcie z obrazu informacji o elementach o niskiej częstotliwości, usuwając jednocześnie pozostałe elementy • Pozwalają analizować obraz pod kątem elementów wysokoczęstotliwościo-wych jak np.: krawędzie Techniczny Uniwersytet Otwarty 2007.02.03

  10. Metody konwolucji - Gauss Techniczny Uniwersytet Otwarty 2007.02.03

  11. Tadeusiewicz, R., Korohoda, P., „Komputerowa analiza i przetwarzanie obrazów”, 1997 Wyniki filtracji dolno- przepustowe górno- przepustowe Techniczny Uniwersytet Otwarty 2007.02.03

  12. Tadeusiewicz, R., Korohoda, P., „Komputerowa analiza i przetwarzanie obrazów”, 1997 Rozmiar filtra a wyniki1 Filtr 3x3 Filtr 5x5 Techniczny Uniwersytet Otwarty 2007.02.03

  13. Rozmiar filtra a wyniki2 Techniczny Uniwersytet Otwarty 2007.02.03

  14. Metody konwolucji - podsumowanie • Łatwość implementacji skupiona jedynie na prostych operacjach mnożenia i dodawania elementów dwóch macierzy • Możliwość automatycznego stosowania (bez konieczności interakcji ze strony użytkownika) • Przenośność na dane o różnych wymiarach (głównie 1D) poprzez zmianę wymiaru filtra • Złożoność obliczeniowa – zależy zarówno od wielkości obrazka (ilości pikseli) jak i od wielkości filtra • Wada główna – zbyt uogólnione wyniki z powodu braku „zaszytej” w algorytmie inteligencji Techniczny Uniwersytet Otwarty 2007.02.03

  15. Falki - wprowadzenie • Falki a transformata Fouriera • Istota analizy falkowej • dekompozycja • funkcja falkowa bazowa (matka) • funkcja skalująca • Rodzaje transformacji falkowych: • ciągła transformata (CWT), • dyskretna transformata (DWT), • szybka transformata (FWT) • dekompozycja pakietowa (WPD) • stacjonarna transformata (SWT) Techniczny Uniwersytet Otwarty 2007.02.03

  16. Analiza falkowa Techniczny Uniwersytet Otwarty 2007.02.03

  17. Przykładowe falki Techniczny Uniwersytet Otwarty 2007.02.03

  18. Matlab Toolboxes (Narzędzia)1 Techniczny Uniwersytet Otwarty 2007.02.03

  19. Matlab Toolboxes (Narzędzia)2 Techniczny Uniwersytet Otwarty 2007.02.03

  20. Falki – przykład wyników Techniczny Uniwersytet Otwarty 2007.02.03

  21. Falki – podsumowanie • Średnio trudna implementacja, duża dostępność pakietów komercyjnych • Brak możliwości automatycznego stosowania ze względu na konieczność ustawienia poziomów dekompozycji oraz progów filtracji • Bezpośrednia przenośność pomiędzy danymi o różnych wymiarach praktycznie niemożliwa • Wysoka precyzja działania – zależna przede wszystkim od użytkownika • Wada główna – konieczność interakcji i rekonfiguracji nawet dla niewiele różniących się danych • Liczne modyfikacje – Ridgelet, Curvelet, Brushlet Techniczny Uniwersytet Otwarty 2007.02.03

  22. Sieci neuronowe - wprowadzenie • Wykorzystywane rodzaje sieci neuronowych: • MLP – Multilayer Perceptron • GRNN – Generalized Regression Neural Network • RBF – Radial Basis Function • DNN – Dynamic Neural Networks • Zastosowania • filtrowanie sygnałów, obrazów i danych wielowymiarowych – usuwanie szumów pomiarowych • filtrowanie adaptacyjne, identyfikacja opóźnienia czasowego w sygnale Techniczny Uniwersytet Otwarty 2007.02.03

  23. SN – MLP Techniczny Uniwersytet Otwarty 2007.02.03

  24. SN – filtrowanie 1D Techniczny Uniwersytet Otwarty 2007.02.03

  25. SN – porównanie z AF Techniczny Uniwersytet Otwarty 2007.02.03

  26. Nieprzewidywalne zmiany w sygnale wyjściowym procesu Inne zastosowania filtracyjne SN Techniczny Uniwersytet Otwarty 2007.02.03

  27. Sieci neuronowe - podsumowanie • Indywidualnej implementacji raczej się nie stosuje, bardzo duża ilość pakietów komercyjnych i niekomercyjnych • Sieci wymagają nauczenia i pod względem zmiany danych wejściowych są bardzo czułe • Bezpośrednia przenośność pomiędzy danymi o różnych wymiarach praktycznie niemożliwa • Wysoka skłonność do generalizacji (uogólniania wyników) • Wada główna – konieczność interakcji i rekonfiguracji nawet dla niewiele różniących się danych Techniczny Uniwersytet Otwarty 2007.02.03

  28. Metody dedykowane • Zmodyfikowane filtrowanie Gaussa, w którym gładkość sygnału mierzona jest całką Dirichleta • Model filtrowania anizotropowego (Perona & Malik) • Model całkowitej wariacji Rudin-Oscher-Fatemi • Filty sąsiedzkie Yaroslavskiego np.: filtr SUSAN • Filtry lokalne Wienera • DUDE (discrete universal denoiser) • NL-means (nonlocal-means) Techniczny Uniwersytet Otwarty 2007.02.03

  29. Metody dedykowane – wyniki1 Techniczny Uniwersytet Otwarty 2007.02.03

  30. Metody dedykowane – wyniki2 Techniczny Uniwersytet Otwarty 2007.02.03

  31. Problem i teza • Istnieje możliwość wyznaczenia jednej metody umożliwiającej filtrowanie danych niezależnie od charakteru tych danych i występującego szumu przy założeniu, że: • Filtrowanie danych powinno odbywać się bez konieczności zbędnej rekonfiguracji metody, • Proces filtrowania powinien zakończyć się bez interakcji ze strony użytkownika, • Jakość stworzonej metody powinna zwracać wyniki porównywalne lub lepsze od innych powszechnie stosowanych metod. Jak przetwarzać duże zbiory danych złożone z kilku tysięcy lub nawet milionów rekordów danych? Czy da się zaimplementować metodę, która zrobi to automatycznie? Techniczny Uniwersytet Otwarty 2007.02.03

  32. Dostępne metody, algorytmy Statystyczne Metody Przetwarzania Sygnału • Metody Standardowe: • Konwolucja • Aproksymacja • Sieci neuronowe • Analiza falkowa • Filtry Kalmana • Metody Dedykowane: • Non-linear Diffusion • Non-local Means • Anisotropic Filtering • M. cząstek - siatkowe: • Automaty komórkowe • Gaz siatkowy (LGA) • M. Cząstek - bezsiatkowe: • Dynamika molekularna • Cząstka w komórce • SPH – hydrodynamika • Płyn w komórce • Hp-clouds • Sequential Monte Carlo Aplikacja Metod Cząstek do Przetwarzania Sygnałów Techniczny Uniwersytet Otwarty 2007.02.03

  33. Cele badań • Zaprojektowanie oraz implementacja metody filtrowania danych pomiarowych niezależnie od ich charakteru, • Uniwersalizacja metody ze względu na wymiar danych, • Optymalizacja utworzonej metody pod kątem ilości parametrów wejściowych, • Wyznaczenie współczynnika jakości, • Opracowanie sposobu wstępnej analizy danych wielowymiarowych, • Implementacja metody za pomocą nowoczesnych narzędzi informatycznych VS.NET C#, • Weryfikacja otrzymanych wyników pod kątem różnych aplikacji. Techniczny Uniwersytet Otwarty 2007.02.03

  34. Założenia tworzonego oprogramowania Preprocessing Filtrowanie Weryfikacja • 1D • import danych, • przygotowanie struktur, • detekcja uskoków, • 2D • import danych z obrazów, • detekcja granic, • przygotowanie listy najbliższych sąsiadów, • nD • import danych, • redukcja wymiarów MDS, PCA v klasteryzacja v NNS v selekcja cech • 1D – automatyczna PREDYKCJA danych makroekonomicznych, zwiększenie efektywności algorytmów ARIMA i PMRS, • 2D – przetwarzanie MIKROSTRUKTUR materiałowych w celu automatyzacji analizy rozmiaru ziarna oraz wykorzystania wzorców materiałowych do Natural Element Method, • nD – zwiększenie dokładności modelu PIECA ZAWIESINOWEGO zbudowanego w oparciu o sieci neuronowe • Stworzenie JEDNEGO obiektu obsługującego różne dane, • Wykorzystanie JEDNEJ metody do odszumiania danych • Wizualizacja wyników • Nawigacja podczas obliczeń • Zapis otrzymanych rezultatów do plików Techniczny Uniwersytet Otwarty 2007.02.03

  35. Projekt – notacja UML1 • User External Interface – klasy interfejsu MDI • Denoise Engine – zbiór klas do przetwarzania danych • Useful Managers – pomocne narzędzia do obsługi danych • Verification Apps – zewnętrzne klasy do weryfikacji wyników Techniczny Uniwersytet Otwarty 2007.02.03

  36. Projekt – notacja UML2 Techniczny Uniwersytet Otwarty 2007.02.03

  37. Projekt – notacja UML3 Techniczny Uniwersytet Otwarty 2007.02.03

  38. Projekt – notacja UML4 Techniczny Uniwersytet Otwarty 2007.02.03

  39. Opis algorytmu cząstek dynamicznych1 • Cząstka – wektor danych rzeczywistych znajdujący się w N-wymiarowej przestrzeni euklidesowej charakteryzowany przez N różnych cech Techniczny Uniwersytet Otwarty 2007.02.03

  40. Opis algorytmu cząstek dynamicznych2 • Normalizacja danych – wyrównanie wpływu wszystkich cech wektora na ostateczny wynik, • Współczynnik tłumienia (fc) – redukuje siły poruszające cząstki ze względu na zbieżność całego algorytmu, • Warunek stopu cząstki – warunek progowy, cząstka zatrzymuje się jeżeli jej przesunięcie jest mniejsze niż odgórnie określona wartość progowa, • Warunek stopu algorytmu = warunek stopu wszystkich cząstek lub EE mniejsze niż próg. Techniczny Uniwersytet Otwarty 2007.02.03

  41. Opis algorytmu cząstek dynamicznych3 • Złożoność obliczeniowa algorytmu: • Algorytm działa w sposób iteracyjny, • Ilość wszystkich iteracji zależy od amplitudy szumu oraz liczby sąsiadów – zbieżność: kilka do kilkadziesiąt iteracji = C • W każdej iteracji wykonane zostają obliczenia dla wszystkich punktów ze zbioru, które aktualnie pozostają w stanie ruchu ≈n • Obliczenia w każdej z iteracji obejmują podstawowe operacje na dN wektorach • Złożoność pamięciowa: • ≈n *( d * 6 + 3 + nn) * sizeof(double) + op Techniczny Uniwersytet Otwarty 2007.02.03

  42. Opis algorytmu cząstek dynamicznych4 • Skalowalność rozwiązania dla danych wielowymiarowych poprzez zastosowanie algorytmów najbliższych sąsiadów • Niewielki wpływ skalowalności na złożoność obliczeniową • Pre-processing danych wielowymiarowych – wysoka złożoność obliczeniowa Techniczny Uniwersytet Otwarty 2007.02.03

  43. Opis algorytmu cząstek dynamicznych5 • Miara jakości dla danych generowanych • Miara jakości dla danych empirycznych Techniczny Uniwersytet Otwarty 2007.02.03

  44. Oprogramowanie Techniczny Uniwersytet Otwarty 2007.02.03

  45. Wyniki – dane 1D symulacje2 Seminarium AGH 2005.05.18

  46. Wyniki – dane 1D1 • Zbiór danych generowanych – obarczone szumem Gaussa o amplitudzie 5, 10 i 20% Techniczny Uniwersytet Otwarty 2007.02.03

  47. Wyniki – dane 1D2 • Zbiór danych empirycznych – krzywe umocnienia Techniczny Uniwersytet Otwarty 2007.02.03

  48. Wyniki – dane 1D3 • Zbiór danych empirycznych - termomagnetyka , kursy walutowe Techniczny Uniwersytet Otwarty 2007.02.03

  49. Wyniki – dane porównawcze 1D4 Techniczny Uniwersytet Otwarty 2007.02.03

  50. Wyniki – dane porównawcze 1D5 Techniczny Uniwersytet Otwarty 2007.02.03

More Related