TRANSFORMATA FALKOWA Joanna Świebocka-Więk
Plan prezentacji 1. Fala a falka czyli porównanie transformaty Fouriera i falkowej 2. Funkcja falkowa a funkcja skalująca 3. Ciągła transformata falkowa 1. Skala 2. Współczynnik przesunięcia 3. Algorytm CWT 4. Rodziny funkcji falkowych 5. Dyskretna transformata falkowa 1. Subsampling 2. Wielorozdzielczość 3. Algorytm Mallata 6. Wavelet Toolbox Matlab 7. Usuwanie szumu, kompresja obrazu 8. Zastosowanie 9. Bibliografia
1. Fala a falka FALA stała amplituda nieskończona energia analiza Fouriera (falowa, harmoniczna) sygnał przedstawiany przy użyciu funkcji sinus i cosinus (współczynniki Fouriera reprezentują wkład funkcji sinus i cosinus do danej częstotliwości) analiza częstotliwościowa stacjonarnych (np. okresowych szeregów czasowych użyteczne w analizie globalnych cech sygnału FALKA przebiegi ciągłe oscylacyjne o różnych czasach trwania i o zróżnicowanym widmie skończona energia skupiona wokół jednego punktu analiza falkowa dekompozycja sygnału falkami otrzymanymi przez translację i dylatację falki podstawowej (mother wavelet) analiza czasowo-częstotliwościowa niestacjonarnych szeregów czasowych użyteczna w analizie globalnych i lokalnych cech sygnału
Porównanie transformaty falkowej i Fouriera TRANSFORMATA FOURIERA przechodząc z układu czaswartość do układu częstotliwość-wartość tracimy informację o czasie wystąpienia danego zdarzenia. TRANSFORMATA FALKOWA pozwala na przejście z układu czas-wartość do układu czas-skala(częstotliwość), co umożliwia analizę zmiany częstotliwości w dziedzinie czasu
Porównanie transformaty falkowej i Fouriera SYGNAŁ 1 SYGNAŁ 2 FT t FT t CWT f CWT f f f t t
Porównanie transformaty falkowej i Fouriera FOURIER: Analiza częstotliwościowa pozwala stwierdzić, że badany sygnał składa się z czterech częstotliwości harmonicznych (cztery prążki) jednak nie dostarcza żadnych informacji na temat tego jak poszczególne harmoniczne zmieniają się w czasie. FALKI: Początkowo sygnał znajduje się w pewnym paśmie częstotliwościowym, a następnie czterokrotnie zmienia to pasmo. Lokalizacja częstotliwościowa sygnału jest gorsza niż w przypadku transformaty Fouriera, ale za to dostępna jest informacja o zmienności częstotliwości badanego sygnału w czasie.
Porównanie transformaty falkowej i Fouriera Inny przykład CO WIĘCEJ rozdzielczość czasowa transformacji falkowej może się zmieniać ponieważ jest ona zależna od częstotliwości falki - lepsza rozdzielczość dla wyższych częstotliwości.
Porównanie transformaty falkowej i Fouriera Zarówno transformata Fouriera jak i falkowa opierają się na wykorzystaniu iloczynu skalarnego sygnału s(t) i pozostałej części - "jądra przekształcenia, będącego główną różnica między tymi przekształceniami Wykorzystanie falek jako jądra przekształcenia, pozwala na przedstawienie każdej funkcji ciągłej z określoną dokładnością wyrażoną współczynnikami falkowymi Nieskończenie wiele funkcji, nieskończenie wiele transformacji falkowych (wybór falki zależy od potrzeb analizy, od tego jakie kształty rytmu są poszukiwane w zapisie)
Wybór transformaty W przypadku gdy obiektem zainteresowań są przebiegi niegasnące lub trwające długo w porównaniu z oknem analizy, gdy jest nieistotna lokalizacja czasowa przebiegów przejściowych, najlepszą bazą będzie zbiór sinusoid a więc użycie transformacji Fouriera. Jeżeli badany sygnał jest zasadniczo niestacjonarny, bogaty w przebiegi przejściowe a przedmiotem analizy ma być lokalizacja czasowa przebiegów przejściowych o określonych częstotliwościach bazą do analizy będą falki.
Czemu zasadniczo? Pomimo licznych zalet transformaty falkowej, nigdy nie uzyska się w jej wyniku precyzyjnej informacji np. o częstotliwościach zawartych w sygnale ( pomiędzy piątą a siódmą sekundą występowała częstotliwość 100Hz ). Dzieje się tak dlatego funkcja falkowa (konkretnie jej jądro przekształcenia ) nie reprezentuje jednej częstotliwości lecz przeważnie przedział częstotliwości (pseudoczęstotliwość), z reguły jednak istotniejsza jest informacja o chwili zmiany częstotliwości a nie o jej precyzyjnej wartości.
2. Funkcja falkowa a funkcja skalująca Pełen zbiór falek użytych do dekompozycji składa się z przebiegu podstawowego oraz pozostałych przebiegów, które są jego kopiami, przesuniętymi w czasie oraz rozciągniętymi lub ściśniętymi na osi czasu tworzących rodzinę falek. W analizie wielorozdzielczej wymagany jest zbiór dwóch funkcji: funkcji falkowej zwanej falką MATKĄ funkcji skalującej - zwaną CÓRKĄ Funkcja skalująca jest przypisana tylko i wyłącznie jednej funkcji falkowej (dwie różne falki nie mogą mieć tej samej funkcji skalującej).
Po co jest funkcja skalująca? funkcja falkowa odpowiada filtrowi pasmowoprzepustowemu (lub górnoprzepustowym) funkcja skalująca odpowiada filtrowi dolnoprzepustowemu służącemu aproksymacji (uśrednieniu, wygładzeniu przebiegu) zwiększając stopień aproksymacji tracimy część informacji o sygnale (zmiennych wysokoczęstotliwościowe czyli szybko zmieniających się w czasie). funkcja skalująca przyporządkowana jest ZAWSZE jednej funkcji falkowej Ψ(t) (generowanie rodziny funkcji skalujących tak jak dla funkcji falkowych w oparciu o translację i skalę).
Cechy falki matki zerowa wartość średnia (funkcja skalująca przypisana funkcji falkowej ma wartość średnią różną od zera.) normalizacja skupiona wokół wartości t=0 ortogonalność (żadnej z falek nie można zapisać jako liniową kombinację dowolnych pozostałych ze zbioru) skończone pasmo przenoszenia (czas trwania), nośnik zwarty wartości w nieskończoności dążą do 0
Ciągła transformata falkowa (Continous Wavelet Transform, CWT) gdzie: ŝψ(a,b) - współczynnik falkowy zależny od parametrów a i b (iloczyn skalarny sygnału s(t) i falki, co pozwala określić, jak dobrze dana falka przybliża sygnał (wężyk oznacza transformatę falkową). a - parametr skali, współczynnik kompresji (a>0 - falka rozciągnięta, a<0 falka ściśnięta), zmienia czas trwania falki b - parametr przesunięcia (translacji), zmienia położenie falki s(t) - sygnał badany zależny od czasu t Ψ(t) - funkcja falkowa
Ciągła transformata falkowa Pod wpływem zmiany parametrów a (parametr skali) i b (parametr przesunięcia) tworzy się tzw. rodzinę falek, wykorzystywaną do dekompozycji sygnału s(t) na kilku poziomach detali Falka używana w danej transformacie jest zawsze jedna. Nie da się użyć kilku falek jednocześnie. Kształt falki zależy tylko do funkcji ja opisującej a funkcji może być nieograniczona ilość Falki mają ten sam kształt w obrębie rodziny ( z dokładnością do skali i translacji)
Skala decyduje o tym jaką pseudoczęstotliwość reprezentuje falka. Przyjmuje wartości większe od 0. Jest odwrotnie proporcjonalny do pseudoczęstotliwości falki (ze wzrostem a pseudoczęstotliwość maleje). Dla a=1/4 przebieg falki jest "ściśnięty (zmienia się szybko w czasie, charakteryzuję się wyższymi częstotliwościami). Dla a=1 przebieg zmian jest najwolniejszy, częstotliwości występujące w tym sygnale będą niższe od częstotliwości w przypadku gdy a=1/4.
Skala Na wykresie dwuwymiarowym (czasowo- częstotliwościowym) tam gdzie w Fourierze była częstotliwość w wavelet jest skala! Związek między skalą a częstotliwością F a =F c /ad gdzie: a - skala D - okres próbkowania F a centralna częstotliwość w falce w Hz F c (pseudoczęstotliwość wyrażona w Hz) W Matlabie równanie to jest realizowane poprzez użycie funkcji scl2frq
Normalizacja Podczas zmiany skali (parametru a) falka zostaje "rozciągnięta" lub "ściśnięta. Jednocześnie zmienia się jej wysokość w taki sposób, że podczas ściskania jej amplituda roście, natomiast podczas "rozciągania" maleje. Za zmianę amplitudy odpowiada człon normalizacyjny: Funkcja falkowa zachowuje stałą energię bez względu na parametr skali a (całka z wykresu funkcji falkowej jest stała, bez względu na jej rozciągnięcie).
Współczynnik przesunięcia Odpowiada za przesuwanie się funkcji falkowej wzdłuż badanego sygnału. Ψ (t) Ψ (t+b) Wraz ze zmianą współczynnika b, funkcja falki jest przesuwana wzdłuż osi czasu. b może przyjmować wartości " >0 " lub " <0 ".
Algorytm CWT 1.Wybraną falkę główną porównuje się z początkiem analizowanego sygnału. Wyliczony współczynnik określa jak duże jest podobieństwo falki do aktualnego fragmentu sygnału. Następnie wybiera się kolejny fragment sygnału (zwiększenie b ) i ponownie porównuje się go z falką. Proces ten powtarza się aż do pokrycia całości sygnału. 2. Przeskalowuje się falkę (zwiększenie a) i powtarza czynności z punktu pierwszego. Ostatnim możliwym do wykonania krokiem jest przypadek, w którym czas trwania falki jest równy czasowi trwania sygnału. Do wizualizacji otrzymanych współczynników wykorzystuje się układ czas-skala (czas-częstotliwość), na którym jasność punktów jest proporcjonalna do wartości
Algorytm CWT c.d. 1. Falka przy pewnej skali a i współczynniku przesunięcia b jest porównywana z sygnałem s(t), uzyskujemy współczynnik falkowy. 2. Przesunięcie funkcji falkowej (zmiana parametru b). Funkcja falkowa zostaje porównywana z innym fragmentem sygnału s(t). Inną wartość przyjmuje współczynnik falkowy. Podobieństwo jest mniejsze Gdy funkcja falkowa zostanie przesunięta na koniec sygnału badanego s(t), wszystkie fragmenty sygnału zostaną porównane z funkcją falkowa przy zadanej skali. Następuje zmiana skali a i porównywanie sygnału zostaje rozpoczęta od nowa. 3. Skala a została zwiększona - "rozszerzenie" falki. W wyniku porównania funkcji falkowej z sygnałem s(t) uzyskujemy inne wartości współczynnika falkowego.
Rodziny falek Falki rzeczywiste db (Daubechies) coif (Coiflet) gaus(pochodna gaussowska) haar (=db1) sym (Symlets) bior (biortogonalne) rbio (odwrotne biortogonalne) meyr (Meyera) dmey (dyskretna aproksymacja Meyera) mexh (Mexican hat) morl (Morleta) fbsp ( sklejki częstotliwości) Zespoły falek cgau6 (pochodna gaussowska) shan (Shannon) cmor (kompleksowe Morleta). I tak ponad 100 możliwości w samym MATLABIE
Falka Haara najprostsza, obecnie bez zastosowania praktycznego, jedyna która nie wprowadza przesunięcia fazowego wewy
Falki Daubechies (db) Od nazwiska Ingrid Daubechies Falka Daubechies pierwszego rzędu to falka Harra. Można zauważyć, że wraz ze wzrostem rzędu wzrasta gładkość falki jak i jej funkcji skalującej Zmiana rzędu falki, wymusza wzrost (nawet dwukrotny ) liczby współczynników ją opisujących Nie zawsze najlepszą falką jest ta z najwyższego rzędu (wydłuża się znacznie czas obliczeń).. f- funkcja skalująca y - funkcja falkowa
Falki coiflets Stworzone przez Ingrid Daubechies na prośbę R. Coifman'a jako próba eliminacji zjawiska występowania nieliniowego przesunięcia fazowego pomiędzy sygnałem na wejściu i sygnałem na wyjściu
Falki Symlets Prawie symetryczne falki zaproponowane przez Ingrid Daubechies jako modyfikacja falek db
Falki biortogonalne dec- baza filtrów dekompozycji sygnału (analiza w różnych skalach) rec baza filtrów syntezy (rekonstrukcji) sygnału ortogonalność brak ortogonalności
Dyskretna transformata falkowa (Discrete Wavelet Transform, DWT) Analityczne wzory na ciągłe transformaty falkowe są w zasadzie nie do wykonania nawet dla prostych sygnałów. Często transformaty są liczone numerycznie na zadanej siatce czasu i skali (próbkowanie na płaszczyźnie dwóch zmiennych) dyskretyzacja transformaty falkowej Tak otrzymana transformata zawiera dużo nadmiarowej (redundantnej) informacji szczególnie dla rekonstrukcji sygnału (obciążenie procesora i przedłużenie czasu obliczeń). Istnieją jednak metody przyśpieszenia działania transformat falkowych, (jak FFT dla transformat Fouriera). Metody te nazywa się dyskretnymi transformatami falkowymi
Sposób przetwarzania sygnału filtracja sygnału w serii kaskadowo połączonych filtrów równoczesna filtracja górnoprzepustowa i dolnoprzepustowa sygnał zostaje zdekomponowany na dwa podsygnały o niskich y d i wysokich częstotliwościach y h, kolejne wartości próbkowanego sygnału stanowią współczynniki transformacji falkowej
Subsampling Sygnał dyskretny o długości N=2 n i Dt=1 jest przepuszczany przez filtr połówkowy dolnoprzepustowy g z funkcją przenoszenia G(f) = 1 dla f < f c /2, i G(f) = 0 dla f > f c /2 f c jest częstotliwością Nyquista (ƒ c =1/2Δt = ½) Filtr usuwa wszystkie częstotliwości powyżej połowy częstotliwości Nyquista. Zbyt duża liczba próbek pozwala usunąć co drugą próbkę z sygnału (zasadą Nyquista). Otrzymujemy próbkę o długości N/2 punktów. Dwójkowanie (subsampling) zwiększa skalę dwukrotnie, ``rozdzielczość'' zmniejsza się dwukrotnie jako skutek filtracji (aproksymacja sygnału).
Subsampling Jeśli dodatkowo ten sam sygnał przepuścimy przez połówkowy filtr górnoprzepustowy i dokonamy ``dwójkowanie'' to otrzymamy sygnał, który opisuje ``szczegóły'' sygnału wejściowego. Oba sygnały ( o ile filtry są idealne) zawierają całą informację zawartą w sygnale wejściowym
Wielorozdzielczość Sygnał jako suma reprezentacji szczegółowej i aproksymowanej na każdym następnym poziomie reprezentacja z poziomu poprzedniego jest ponownie przedstawiana w postaci sumy reprezentacji szczegółowej i reprezentacji zgrubnej reprezentacja szczegółowa na danym poziomie nie ulega zmianie w wyniku kolejnych iteracji z każdym kolejnym poziomem ciąg szczegółów rozbudowuje się o jeden element, z każdym kolejnym poziomem reprezentacji jest również związana jej rozdzielczość W ten sposób powstaje drabina kolejnych współczynników, które będziemy nazywali współczynnikami falki. Ilość tych współczynników jest równa ilości punktów sygnału ale ich uporządkowanie jest specyficzne - powiązane z procesem filtracji i dwójkowania.
Wielorozdzielczość - dekompozycja sygnału w ciąg sygnałów o coraz mniejszej rozdzielczości na wielu poziomach gdzie: s l+1 - aproksymata (niskoczęstotliwościowa reprezentacja sygnału) d l+1 - detale (wysokoczęstotliwościowa reprezentacja sygnału) Wejściowy sygnał podzielony na dwa sygnały s l+1 i d l+1 zawierające dwukrotnie mniej próbek każdy, na ich podstawie możliwe jest późniejsze bezstratne odtworzenie obrazu. Sygnał s l+1 poddawany jest ponownej dekompozycji, sygnał d l+1 jest zapisywany na wyjściu transformacji
Algorytm Mallata W dalszej części dekompozycja polega na sekwencyjnym filtrowaniu górno- i dolnoprzepustowym osobno wzdłuż kolumn i wierszy LL- filtr dolnoprzepustowy dla wierszy i kolumn LH- dolnoprzepustowy dla wierszy, górnoprzepustowy dla kolumn HL- górnoprzepustowy dla wierszy, dolnoprzepustowy dla kolumn HH- filtr górnoprzepustowy dla wierszy i kolumn
Algorytm Mallata Analiza wierszy i kolumn przy użyciu filtrów odbywa się oddzielnie (najpierw dekomponowane na aproksymaty i detale są wiersze, na podstawie otrzymanych podobrazów, dekomponowane są kolumny) Po dekompozycji obraz jest reprezentowany przez 4 macierze współczynników falkowych (każda składowa- ¼ obrazu pierwotnego), posiadające dwukrotnie mniejszą rozdzielczość liniową Każda kolejna dekompozycja według tego schematu pozwala na wprowadzenie wielopoziomowej rozdzielczości W dalszej części dekompozycja polega na sekwencyjnym filtrowaniu górnoprzepustowym i dolnoprzepustowym osobno wzdłuż kolumn i wierszy
Algorytm Mallata LL- obraz powstaje na drodze obliczania średniej wartości grup pikseli o wymiarach 2x2 (uproszczona reprezentacja transformowanego obszaru) LH- ekspozycja krawędzi pionowych HL- ekspozycja krawędzi poziomych HH- ekspozycja krawędzi diagonalnych Można obliczyć na podstawie składowych zawierających krawędzie, intensywność tych krawędzi w 3 kierunkach (można również analizować intensywność sygnału w każdym komponencie z osobna)
Zapis macierzowy transformacji falkowej Funkcja transformująca h0 h1 0 0......... 0 0 h0 h1.............................. H..................... w0 w1 0 0......... 0 0 w0 w1.............................. gdzie: w 0,w 1 reprezentacja funkcji podstawowej (filtracja górnoprzepustowa) h 0, h 1 reprezentacja funkcji skalującej, filtracja dolnoprzepustowa Przekształcenie obrazu do reprezentacji falkowej: T = H S H T gdzie: S- obraz T- transformata Haara obrazu S Rekonstrukcja obrazu z równania odwrotnego S = H -1 T H gdzie: nieparzyste wiersze - filtr dolnoprzepustowy, parzyste wiersze filtr górnoprzepustowy. y=c x automatyczne dwójkowanie, permutacja wszystkich parzystych elementów wektora y na N/2 pierwszych miejsc a nieparzystych na ostatnie N/2 miejsc
Wavelet Toolbox
Usuwanie szumu Niska skala na wykresie określa, ze mamy do czynienia ze współczynnikami odpowiadającymi wysokim częstotliwościom, a wiec cechom lokalnym sygnału (np. z szumem). Wysoka skala mówi, ze mamy do czynienia z niskimi częstotliwościami, a wiec z cechami globalnymi sygnału (np. z okresowością).
Usuwanie szumu Aby sie go pozbyć, wystarczy usunąć współczynniki krótkich falek. Zerując współczynniki w transformacie falkowej, kasujemy część informacji. Jednak nawet usuniecie dużej części informacji pozostaje niezauważalne dla ludzkiego oka.
Kompresja obrazu JPEG Kompresja 90% 16 116 B JPEG2000 Kompresja 90% 16 116 B
Kompresja obrazu JPEG Kompresja 95% 8 012 B JPEG2000 Kompresja 95% 9 985 B
Kompresja obrazu JPEG Kompresja 99% 4 429 B JPEG2000 Kompresja 99% 2 239 B
Zastosowanie 1. Matematyka teoretyczna i stosowana analiza matematyczna analiza harmoniczna analiza funkcjonalna równania różniczkowe cząstkowe teoria aproksymacji metody numeryczne statystyka fraktale i chaos 2. Geofizyka turbulencja zimne fronty atmosferyczne dyspersja fal oceanicznych analiza sygnałów sejsmicznych analiza zjawiska El Niño ruch obrotowy Ziemi próba detekcji fal grawitacyjnych
3. Analiza szeregów czasowych redukcja szumu kompresja filtracja Zastosowanie 4. Astronomia hierarchiczna struktura Wszechświata badanie gromad galaktyk i ich struktury liczenie galaktyk wykrywanie źródeł promieniowania γ Odkrycie oscylacji magnetycznych Słońca analiza danych astronomicznych Badanie aktywności Słońca i plan ma Słońcu
5. Człowiek Zastosowanie receptory (filtry) w ludzkiej siatkówce i mózgu są wrażliwe na plamki i krawędzie o różnych skalach i przesunięciach ludzki słuch używający filtrów o w przybliżeniu stałym kształcie rozpoznawanie mowy odczytywanie ręcznego pisma (OCR), projektowanie czcionek rozpoznawanie twarzy Analiza stanu funkcjonalnego mózgu Redukcja zakłóceń mięśniowych w elektrokardiografii Monitorowanie tętna i oddychania
6. Grafika komputerowa Zastosowanie tworzenie filmów animowanych standard JPEG 2000 do kompresji i transmisji obrazów przechowywanie, przeszukiwanie i odzyskiwanie odcisków palców (FBI) 7. Muzyka generowanie dźwięku kompresja plików mp3 redukcja szumu w starych nagraniach muzycznych analogia do zapisu nutowego
Bibliografia 1. Zastosowanie teorii falek w diagnostyce technicznej, W. Batko, A. Ziółko 2. Transformacje falkowe w zastosowaniach elektrodiagnostycznych, Piotr Augustyniak 3. Misiti M., Misiti Y., Oppenheim G., Poggi J.M. User's Guide: "Wavelet Toolbox for use with MATLAB" Mathworks 1996. 4. Falki i Aproksymacje, Jan T. Białasiewicz 5. Cyfrowe przetwarzanie sygnałów, Tomasz Zieliński 6. Ten lectures on wavelets, Ingrid Daubechies 7. www.home.agh.edu.pl/~falki
DZIĘKUJĘ ZA UWAGĘ