New TRANSFORMATA FALKOWAhome.agh.edu.pl/~jsw/oso/FT.pdf · 2015. 1. 14. · TRANSFORMATA FOURIERA...

49
TRANSFORMATA FALKOWA Joanna Świebocka-Więk

Transcript of New TRANSFORMATA FALKOWAhome.agh.edu.pl/~jsw/oso/FT.pdf · 2015. 1. 14. · TRANSFORMATA FOURIERA...

  • 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

  • TRANSFORMATA FOURIERA

    przechodząc z układu czas-wartość 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

    t

    t t

    f f

    t

    FT FT

    CWT CWT

    f f

    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)

    Porównanie transformaty falkowej i Fouriera

  • 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

  • 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ą Fa=Fc/aD gdzie: • a - skala • D - okres próbkowania • Fa – centralna częstotliwość w falce w Hz • Fc – (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 "

  • 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

    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 .

    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.

  • 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)

    ……. I tak ponad 100 możliwości w samym MATLABIE

    Zespoły falek •cgau6 (pochodna gaussowska) •shan (Shannon) •cmor (kompleksowe Morleta)

  • Falka Haara • najprostsza, obecnie bez zastosowania

    praktycznego, jedyna która nie

    wprowadza przesunięcia fazowego we-

    wy

  • Falki Daubechies (db)

    f- funkcja skalująca y - funkcja falkowa

    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ń).

    .

  • 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 yd i wysokich częstotliwościach yh, kolejne wartości próbkowanego sygnału stanowią współczynniki transformacji falkowej

  • Sygnał dyskretny o długości N=2n i Dt=1 jest przepuszczany przez filtr połówkowy dolnoprzepustowy g z funkcją przenoszenia G(f) = 1 dla f < fc/2, i G(f) = 0 dla f > fc/2

    fc 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).

    • gdzie:

    yd – współczynniki aproksymacji

    yg- współczynniki detali

    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

    Subsampling

  • 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:

    sl+1- aproksymata (niskoczęstotliwościowa reprezentacja sygnału)

    dl+1- detale (wysokoczęstotliwościowa reprezentacja sygnału)

    • Wejściowy sygnał podzielony na dwa sygnały sl+1 i dl+1 zawierające dwukrotnie mniej próbek każdy, na ich podstawie możliwe jest późniejsze bezstratne odtworzenie obrazu.

    • Sygnał sl+1 poddawany jest ponownej dekompozycji, sygnał dl+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

  • • 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

  • 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

    gdzie: w0,w1 – reprezentacja funkcji podstawowej

    (filtracja górnoprzepustowa) h0, h1 –reprezentacja funkcji skalującej,

    filtracja dolnoprzepustowa

    Przekształcenie obrazu do reprezentacji

    falkowej: T = H S HT gdzie: S- obraz T- transformata Haara obrazu S Rekonstrukcja obrazu z równania odwrotnego

    S = H-1 T H

    0 1

    0 1

    0 1

    0 1

    0 0 ... ... ...

    0 0 ... ... ...

    ... ... ... ... ... ... ...

    ... ... ... ... ... ... ...

    0 0 ... ... ...

    0 0 ... ... ...

    ... ... ... ... ... ... ...

    h h

    h h

    H

    w w

    w w

    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

  • Zastosowanie 3. Analiza szeregów czasowych

    •redukcja szumu

    •kompresja

    •filtracja

    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

  • Zastosowanie

    5. Człowiek

    • 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

  • Zastosowanie 6. Grafika komputerowa

    •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

    http://www.home.agh.edu.pl/~falki

  • DZIĘKUJĘ

    ZA

    UWAGĘ