Sunday 5 November 2017

Gaussian moving average matlab


Gaussowskie wygładzanie wspólnych nazw: wygładzanie Gaussa Krótki opis Operatorem wygładzania Gaussa jest dwuwymiarowy operator konwolucji, który służy do rozmycia obrazów oraz usuwania szczegółów i szumów. W tym sensie jest podobny do filtra średniego. ale używa innego jądra, które reprezentuje kształt Gaussa (dzwonowatego) garbu. To jądro ma pewne specjalne właściwości, które są szczegółowo opisane poniżej. Jak to działa Rozkład Gaussa w 1-D ma postać: gdzie jest standardowe odchylenie rozkładu. Przyjęliśmy również, że rozkład ma średnią zero (to jest jest wyśrodkowany na linii x 0). Rozkład jest zilustrowany na ryc. 1. Ryc. 1 1-D Rozkład Gaussa ze średnią 0 i 1 w 2-D, izotropowa (tj. Kołowo-symetryczna) gaussowska ma postać: Rozkład ten pokazano na rysunku 2. Rysunek 2 2-D Rozkład Gaussa ze średnią (0,0) i 1 Ideą wygładzania Gaussa jest wykorzystanie rozkładu 2-D jako funkcji rozproszenia punktowego, co osiąga się za pomocą splotu. Ponieważ obraz jest przechowywany jako zbiór oddzielnych pikseli, musimy uzyskać dyskretną aproksymację do funkcji Gaussa, zanim będziemy mogli wykonać splot. Teoretycznie, rozkład Gaussa jest wszędzie niezerowy, co wymagałoby nieskończenie dużego jądra splotu, ale w praktyce jest on równy zero więcej niż około trzech standardowych odchyleń od średniej, więc możemy w tym miejscu skrócić jądro. Figura 3 pokazuje odpowiednie jądro splotowe o wartości całkowitej, które jest zbliżone do wartości Gaussa z wartością 1,0. Nie jest oczywiste, jak wybrać wartości maski, aby zbliżyć się do wartości Gaussa. Można użyć wartości Gaussa w środku piksela w masce, ale nie jest to dokładne, ponieważ wartość Gaussa zmienia się nieliniowo w pikselach. Zintegrowaliśmy wartość Gaussa na całym pikselu (sumując przyrost Gaussa z dokładnością 0,001). Całki nie są liczbami całkowitymi: przeskalowaliśmy tablicę tak, aby rogi miały wartość 1. Wreszcie 273 jest sumą wszystkich wartości w masce. Rysunek 3 Dyskretna aproksymacja do funkcji gaussowskiej za pomocą 1,0 Po obliczeniu odpowiedniego jądra, można przeprowadzić wygładzanie Gaussa przy użyciu standardowych metod splatania. Splot może być w rzeczywistości przeprowadzony dość szybko, ponieważ równanie dla izotropowego Gaussa 2-D pokazane powyżej można rozdzielić na składowe xiy. W ten sposób splot 2-D można przeprowadzić najpierw przez połączenie z Gaussianem 1-D w kierunku X, a następnie przez połączenie z innym Gaussianem 1-D w kierunku y. (Gaussian jest w rzeczywistości jedynym całkowicie kołowo symetrycznym operatorem, który może zostać w ten sposób rozłożony.) Rysunek 4 pokazuje jądro komponentu 1-D x, które zostanie użyte do wytworzenia pełnego jądra pokazanego na rysunku 3 (po skalowaniu przez 273 , zaokrąglanie i obcinanie jednego rzędu pikseli wokół obwiedni, ponieważ mają one najczęściej wartość 0. Zmniejsza to macierz 7x7 do 5x5 pokazanego powyżej). Komponent y jest dokładnie taki sam, ale jest zorientowany pionowo. Rysunek 4 Jedna z pary 1-D zwojów splotowych wykorzystywanych do szybszego obliczenia pełnego jądra pokazanego na rysunku 3. Dalszym sposobem obliczenia wygładzania Gaussa z dużym odchyleniem standardowym jest kilkakrotne splatanie obrazu z mniejszą wartością Gaussa. Chociaż jest to skomplikowane obliczeniowo, może mieć zastosowanie, jeśli przetwarzanie odbywa się za pomocą potokowego sprzętu. Filtr Gaussa ma nie tylko zastosowanie w aplikacjach inżynierskich. Zwraca także uwagę biologów obliczeniowych, ponieważ przypisano mu pewną biologiczną wiarygodność, np. niektóre komórki w drogach wzrokowych mózgu często mają w przybliżeniu odpowiedź Gaussa. Wskazówki dotyczące stosowania Efekt wygładzania Gaussa polega na zamazaniu obrazu w sposób podobny do filtra średniego. Stopień wygładzenia określa się przez standardowe odchylenie Gaussa. (Większe odchylenie standardowe Gaussa, oczywiście, wymaga większych ziaren splotu, aby mogły być dokładnie odwzorowane.) Gaussian wyprowadza średnią ważoną każdego sąsiedztwa pikseli, przy czym średnia ważona jest bardziej w kierunku wartości centralnych pikseli. Jest to przeciwieństwo średnich filtrów równomiernie ważonej średniej. Z tego powodu Gaussian zapewnia łagodniejsze wygładzanie i zachowuje krawędzie lepiej niż filtr o podobnej wielkości. Jednym z głównych uzasadnień użycia Gaussa jako filtra wygładzającego jest jego odpowiedź częstotliwościowa. Większość filtrów wygładzających opartych na splotach działa jako filtry o niskich częstotliwościach. Oznacza to, że ich efekt polega na usunięciu z obrazu elementów o wysokiej częstotliwości przestrzennej. Odpowiedź częstotliwościowa filtru splotowego, tj. Jego wpływ na różne częstotliwości przestrzenne, można zobaczyć, pobierając transformatę Fouriera filtra. Figura 5 pokazuje odpowiedzi częstotliwościowe filtra 1-D o szerokości 5, a także filtra gaussowskiego z 3. Figura 5 Odpowiedzi częstotliwościowe filtra Box (tj. Średniego) (szerokość 5 pikseli) i filtru gaussowskiego (3 piksele). Oś częstotliwości przestrzennej jest oznaczana w cyklach na piksel, a zatem żadna wartość powyżej 0,5 nie ma prawdziwego znaczenia. Oba filtry osłabiają wysokie częstotliwości bardziej niż niskie częstotliwości, ale średni filtr wykazuje oscylacje w odpowiedzi częstotliwościowej. Gaussa z drugiej strony nie wykazuje żadnych oscylacji. W rzeczywistości sam kształt krzywej charakterystyki częstotliwościowej (pół a) Gaussa. Wybierając odpowiednio dobrany filtr gaussowski, możemy być dość pewni, jaki zakres częstotliwości przestrzennych nadal występuje w obrazie po filtrowaniu, co nie ma miejsca w przypadku filtra średniego. Ma to swoje konsekwencje w przypadku niektórych technik wykrywania krawędzi, jak wspomniano w rozdziale dotyczącym przejść przez zero. (Filtr Gaussa również okazuje się bardzo podobny do optymalnego filtra wygładzającego do wykrywania krawędzi pod kryteriami stosowanymi do wyznaczania detektora krawędzi Canny.) W celu zilustrowania efektu wygładzania z coraz większymi i większymi filtrami gaussowskimi. pokazuje efekt filtrowania z wartością Gaussian równą 1,0 (i wielkością jądra 52155). pokazuje efekt filtrowania za pomocą Gaussian 2.0 (i rozmiaru jądra 92159). pokazuje efekt filtrowania za pomocą Gaussian 4.0 (i rozmiaru jądra 1521515). Rozważmy teraz zastosowanie filtru gaussowskiego do redukcji szumów. Rozważmy na przykład obraz, który został uszkodzony przez szum Gaussa ze średnią zera i 8. Wygładzanie tego z 52155 wartościami Gaussa (Porównaj ten wynik z uzyskanym przez średnie i medianowe filtry). Sól i pieprzowy szum są trudniejsze dla filtru gaussowskiego. Tutaj wygładzimy obraz, który został uszkodzony przez 1 szum solny i pieprzowy (tj. Pojedyncze bity zostały obrócone z prawdopodobieństwem 1). Obraz pokazuje wynik wygładzania Gaussa (używając tego samego splotu jak powyżej). Porównaj to z oryginalnym Zawiadomieniem, że znaczna część szumów nadal istnieje i że, chociaż nieco zmniejszyła się w skali, została rozmazana na większym obszarze przestrzennym. Zwiększenie odchylenia standardowego w dalszym ciągu zmniejsza natężenie szumu, ale również znacząco tłumi szczegóły o wysokiej częstotliwości (np. Krawędzie), jak pokazano w interaktywnym eksperymencie Można interaktywnie eksperymentować z tym operatorem, klikając tutaj. Zaczynając od szumu Gaussa (średnia 0, 13) zepsuty obraz obliczyć zarówno filtr średni, jak i wygładzanie filtru gaussowskiego w różnych skalach i porównać każdy pod względem usuwania szumu z utratą szczegółów. Przy ilu odchyleniach standardowych od średniej spada Gaussa do 5 jego wartości szczytowej. Na tej podstawie sugeruje się odpowiedni rozmiar kwadratowego ziarna dla filtra gaussowskiego z s. Oszacuj odpowiedź częstotliwościową dla filtru Gaussa, wygładzając obraz Gaussa i przejmując jego transformatę Fouriera zarówno przed, jak i później. Porównaj to z odpowiedzią częstotliwościową filtra średniego. W jaki sposób czas potrzebny do wygładzenia filtrem Gaussa porównuje się z czasem potrzebnym do wygładzenia ze średnim filtrem dla jądra o tym samym rozmiarze. Zauważ, że w obu przypadkach splot może zostać znacznie przyspieszony przez wykorzystanie niektórych funkcji jądra. Referencje Wizja maszyn E. Daviesa: Teoria, algorytmy i praktyczne aspekty. Academic Press, 1990, str. 42 - 44. R. Gonzalez i R. Woods Digital Image Processing. Addison-Wesley Publishing Company, 1992, s. 191. R. Haralick i L. Shapiro Computer and Robot Vision. Addison-Wesley Publishing Company, 1992, wol. 1, rozdz. 7. B. Widzenie robota rogu. MIT Press, 1986, rozdz. 8. D. Vernon Machine Vision. Prentice-Hall, 1991, s. 59 - 61, 214. Informacje lokalne Szczegółowe informacje na temat tego operatora można znaleźć tutaj. Więcej ogólnych porad na temat lokalnej instalacji HIPR znajduje się w części wprowadzającej Informacje lokalne. Dokumentacja W tym przykładzie pokazano, jak używać ruchomych filtrów średnich i resamplingu, aby wyizolować wpływ okresowych składników pory dnia na godzinowe odczyty temperatury, a także usunąć niechciany szum linii z pomiaru napięcia w otwartej pętli. Przykład pokazuje również, jak wygładzać poziomy sygnału zegarowego, zachowując krawędzie przy użyciu filtra medianowego. Przykład pokazuje również, jak używać filtra Hampela do usuwania dużych wartości odstających. Wygładzanie motywacji to sposób, w jaki odkrywamy ważne wzory w naszych danych, jednocześnie pomijając rzeczy, które są nieważne (tzn. Hałas). Używamy filtrowania, aby wykonać to wygładzanie. Celem wygładzania jest powolne zmiany wartości, aby łatwiej było dostrzec trendy w naszych danych. Czasami podczas sprawdzania danych wejściowych możesz wygładzić dane, aby zobaczyć trend w sygnale. W naszym przykładzie mamy zestaw odczytów temperatury w stopniach Celsjusza, wykonywanych co godzinę na lotnisku w Logan przez cały styczeń 2017. Zauważ, że możemy wizualnie zobaczyć wpływ, jaki ma pora dnia na odczyty temperatury. Jeśli interesuje Cię jedynie dzienna zmiana temperatury w ciągu miesiąca, wahania godzinowe powodują tylko hałas, który może spowodować, że różnice dzienne będą trudne do odróżnienia. Aby usunąć wpływ pory dnia, chcielibyśmy teraz wygładzić nasze dane za pomocą filtru ruchomej średniej. Filtr średniej ruchomej W najprostszej postaci filtr średniej ruchomej o długości N przyjmuje średnią z każdej N kolejnych próbek przebiegu. Aby zastosować filtr średniej ruchomej do każdego punktu danych, konstruujemy nasze współczynniki naszego filtra, tak aby każdy punkt był jednakowo ważony i przyczyniał się 124 do całkowitej średniej. Daje nam to średnią temperaturę w każdym 24-godzinnym okresie. Opóźnienie filtru Zwróć uwagę, że przefiltrowane wyjście jest opóźnione o około dwanaście godzin. Wynika to z faktu, że nasz filtr średniej ruchomej ma opóźnienie. Każdy filtr symetryczny o długości N będzie miał opóźnienie (N-1) 2 próbek. Możemy rozliczać to opóźnienie ręcznie. Wyodrębnianie średnich różnic Alternatywnie, możemy również użyć filtru ruchomej średniej, aby uzyskać lepsze oszacowanie wpływu pory dnia na ogólną temperaturę. Aby to zrobić, najpierw odejmij wygładzone dane od godzinowych pomiarów temperatury. Następnie podziel dane różnicowe na dni i weź średnią w ciągu 31 dni w miesiącu. Wydobywanie koperty szczytowej Czasami chcielibyśmy również uzyskać płynnie zmieniające się oszacowanie, jak wysokie i niskie wartości naszego sygnału temperatury zmieniają się codziennie. Aby to zrobić, możemy użyć funkcji koperty do połączenia ekstremalnych górnych i dolnych wartości wykrytych w podzbiorze 24-godzinnego okresu. W tym przykładzie zapewniamy, że między każdym ekstremalnie wysokim a bardzo niskim poziomem znajduje się co najmniej 16 godzin. Możemy również zorientować się, jak wysokie i niskie tony zyskują na popularności, biorąc średnią z dwóch skrajności. Ważone średnie ruchome Filtry Inne rodzaje filtrów średniej ruchomej nie obciążają jednakowo każdej próbki. Kolejny wspólny filtr następuje po dwumianowym rozszerzeniu (12, 12) n Ten typ filtra jest zbliżony do normalnej krzywej dla dużych wartości n. Przydaje się do filtrowania szumów o wysokiej częstotliwości dla małych n. Aby znaleźć współczynniki dla filtra dwumianowego, należy splotować 12 12 z samym sobą, a następnie iteracyjnie konweniować wyjście z 12 12 określoną liczbę razy. W tym przykładzie użyj pięciu iteracji całkowitych. Kolejnym filtrem nieco podobnym do filtru rozszerzającego Gaussa jest wykładniczy filtr średniej ruchomej. Tego typu ważony filtr średniej ruchomej jest łatwy do skonstruowania i nie wymaga dużego rozmiaru okna. Dostosowuje się wykładniczo ważony filtr średniej ruchomej przez parametr alfa od zera do jednego. Wyższa wartość alfa będzie mniej wygładzana. Powiększyć odczyty na jeden dzień. Wybierz dane wyjściowe Your CountryDocumentation tsmovavg (tsobj, s, lag) zwraca prostą średnią ruchomą dla finansowego obiektu serii czasu, tsobj. opóźnienie wskazuje liczbę poprzednich punktów danych używanych z bieżącym punktem danych podczas obliczania średniej ruchomej. output tsmovavg (vector, s, lag, dim) zwraca prostą ruchomą średnią dla wektora. opóźnienie wskazuje liczbę poprzednich punktów danych używanych z bieżącym punktem danych podczas obliczania średniej ruchomej. output tsmovavg (tsobj, e, timeperiod) zwraca wykładniczą ważoną ruchomą średnią dla finansowego obiektu szeregów czasowych, tsobj. Wykładnicza średnia krocząca jest ważoną średnią kroczącą, w której okres określa okres. Wykładnicze średnie kroczące zmniejszają opóźnienie, stosując większą wagę do ostatnich cen. Na przykład 10-okresowa wykładnicza średnia krocząca waży ostatnią cenę o 18,18. Exponential Procent 2 (TIMEPER 1) lub 2 (WINDOWSIZE 1). output tsmovavg (wektor, e, timeperiod, dim) zwraca wykładniczą ważoną ruchomą średnią dla wektora. Wykładnicza średnia krocząca jest ważoną średnią kroczącą, w której okres określa okres. Wykładnicze średnie kroczące zmniejszają opóźnienie, stosując większą wagę do ostatnich cen. Na przykład 10-okresowa wykładnicza średnia krocząca waży ostatnią cenę o 18,18. (2 (okres 1)). output tsmovavg (tsobj, t, numperiod) zwraca trójkątną średnią ruchomą dla finansowego obiektu szeregów czasowych, tsobj. Trójkątna średnia ruchoma dwukrotnie wygładza dane. tsmovavg oblicza pierwszą prostą średnią ruchomą z szerokością okna sufitu (numperiod 1) 2. Następnie oblicza drugą prostą średnią ruchomą na pierwszej średniej ruchomej o tym samym rozmiarze okna. output tsmovavg (wektor, t, numperiod, dim) zwraca trójkątną ruchomą średnią dla wektora. Trójkątna średnia ruchoma dwukrotnie wygładza dane. tsmovavg oblicza pierwszą prostą średnią ruchomą z szerokością okna sufitu (numperiod 1) 2. Następnie oblicza drugą prostą średnią ruchomą na pierwszej średniej ruchomej o tym samym rozmiarze okna. output tsmovavg (tsobj, w, weight) zwraca ważoną ruchomą średnią dla finansowego obiektu serii czasowych, tsobj. przez podanie ciężarów dla każdego elementu w ruchu okna. Długość wektora masy określa rozmiar okna. W przypadku zastosowania większych współczynników wagowych w przypadku bardziej aktualnych cen i mniejszych czynników dotyczących poprzednich cen, tendencja jest bardziej dostosowana do ostatnich zmian. output tsmovavg (wektor, w, wagi, dim) zwraca ważoną ruchomą średnią dla wektora, podając wagę dla każdego elementu w ruchu okna. Długość wektora masy określa rozmiar okna. W przypadku zastosowania większych współczynników wagowych w przypadku bardziej aktualnych cen i mniejszych czynników dotyczących poprzednich cen, tendencja jest bardziej dostosowana do ostatnich zmian. output tsmovavg (tsobj, m, numperiod) zwraca zmodyfikowaną średnią ruchomą dla finansowego obiektu serii czasowych, tsobj. Zmodyfikowana średnia ruchoma jest podobna do prostej średniej ruchomej. Rozważmy argument numperiod jako opóźnienie prostej średniej kroczącej. Pierwsza zmodyfikowana średnia ruchoma jest obliczana jako prosta średnia ruchoma. Kolejne wartości są obliczane poprzez dodanie nowej ceny i odjęcie ostatniej średniej od sumy wynikowej. output tsmovavg (wektor, m, numperiod, dim) zwraca zmodyfikowaną średnią ruchomą dla wektora. Zmodyfikowana średnia ruchoma jest podobna do prostej średniej ruchomej. Rozważmy argument numperiod jako opóźnienie prostej średniej kroczącej. Pierwsza zmodyfikowana średnia ruchoma jest obliczana jako prosta średnia ruchoma. Kolejne wartości są obliczane poprzez dodanie nowej ceny i odjęcie ostatniej średniej od sumy wynikowej. Wymiar dim 8212 działa wzdłuż dodatniej liczby całkowitej z wartością 1 lub 2 Wymiar do działania wzdłuż, określany jako dodatnia liczba całkowita o wartości 1 lub 2. dim jest opcjonalnym argumentem wejściowym, a jeśli nie jest zawarty jako dane wejściowe, wartość domyślna przyjmuje się wartość 2. Wartość domyślna dim 2 oznacza macierz zorientowaną na macierz, gdzie każdy wiersz jest zmienną, a każda kolumna jest obserwacją. Jeżeli dim 1. przyjmuje się, że wejście jest wektorem kolumny lub macierzą zorientowaną na kolumnę, gdzie każda kolumna jest zmienną, a każdy rząd obserwacją. e 8212 Wskaźnik wykładniczej średniej kroczącej wektor znaków Wykładnicza średnia krocząca jest ważoną średnią kroczącą, gdzie okres czasu jest okresem wykładniczej średniej kroczącej. Wykładnicze średnie kroczące zmniejszają opóźnienie, stosując większą wagę do ostatnich cen. Na przykład dziesięciokrotna wykładnicza średnia krocząca waży ostatnią cenę o 18,18. Procent wykładniczy 2 (TIMEPER 1) lub 2 (WINDOWSIZE 1) timeperiod 8212 Długość okresu nieujemna liczba całkowita Wybierz swój kraj

No comments:

Post a Comment