Saturday, 30 September 2017

Gauß Gleitender Durchschnittscode


Gaußsche Glättung Gemeinsame Namen: Gaußsche Glättung Kurze Beschreibung Der Gaußsche Glättungsoperator ist ein 2-D-Faltungsoperator, der verwendet wird, um Bilder zu verwischen und Details und Rauschen zu entfernen. In diesem Sinne ist es ähnlich dem mittleren Filter. Aber es verwendet einen anderen Kernel, der die Form eines Gaußschen (glockenförmigen) Hump repräsentiert. Dieser Kernel hat einige spezielle Eigenschaften, die unten detailliert beschrieben werden. Wie es funktioniert Die Gaußsche Verteilung in 1-D hat die Form: wo ist die Standardabweichung der Verteilung. Wir haben auch angenommen, daß die Verteilung einen Mittelwert von Null hat (d. H. Sie ist auf der Linie x & sub0; zentriert). Die Verteilung ist in Abbildung 1 dargestellt. Abbildung 1 1-D Gaußsche Verteilung mit Mittelwert 0 und 1 In 2-D hat eine isotrope (dh zirkulär symmetrische) Gaußsche Form die folgende Form: Diese Verteilung ist in Abbildung 2 dargestellt Gaußsche Verteilung mit Mittelwert (0,0) und 1 Die Idee der Gaußschen Glättung besteht darin, diese 2-D-Verteilung als Punktverteilungsfunktion zu verwenden, was durch Faltung erreicht wird. Da das Bild als eine Sammlung von diskreten Pixeln gespeichert wird, müssen wir eine diskrete Annäherung an die Gaußsche Funktion erzeugen, bevor wir die Faltung durchführen können. In der Theorie ist die Gaußsche Verteilung überall ungleich Null, was einen unendlich großen Faltungskernel erfordern würde, aber in der Praxis ist er effektiv null mehr als etwa drei Standardabweichungen vom Mittelwert, und so können wir den Kernel an diesem Punkt abschneiden. Fig. 3 zeigt einen geeigneten ganzzahligen Faltungskern, der einem Gaußschen mit a von 1,0 annähert. Es ist nicht offensichtlich, wie die Werte der Maske ausgewählt werden, um einen Gaussian zu approximieren. Man könnte den Wert des Gaußschen in der Mitte eines Pixels in der Maske verwenden, aber dies ist nicht genau, da der Wert des Gaußschen nichtlinear über dem Pixel variiert. Wir integrierten den Wert des Gaussian über das gesamte Pixel (durch Summieren des Gaussian in 0,001 Inkrementen). Die Integrale sind keine Ganzzahlen: Wir haben das Array so skaliert, dass die Ecken den Wert 1 haben. Schließlich ist die 273 die Summe aller Werte in der Maske. Abbildung 3 Diskrete Annäherung an die Gaußsche Funktion mit 1,0 Sobald ein geeigneter Kernel berechnet wurde, kann die Gaußsche Glättung mit Standard-Faltungsmethoden durchgeführt werden. Die Faltung kann tatsächlich ziemlich schnell durchgeführt werden, da die Gleichung für den oben gezeigten 2-D isotropen Gaussian in x - und y-Komponenten trennbar ist. Somit kann die 2-D-Faltung durchgeführt werden, indem zuerst mit einem 1-D-Gaussian in x-Richtung gefaltet wird und dann mit einem anderen 1-D-Gaussian in y-Richtung gefaltet wird. (Der Gaußsche ist tatsächlich der einzige vollständig kreisförmige symmetrische Operator, der auf diese Weise zerlegt werden kann.) Fig. 4 zeigt den 1-Dx-Komponentenkern, der verwendet werden würde, um den in Fig. 3 gezeigten Vollkern (nach Skalierung um 273) zu erzeugen , Rundung und Trunkierung eine Reihe von Pixeln um die Grenze, weil sie meist den Wert 0 haben. Dies reduziert die 7x7 Matrix auf die 5x5 oben gezeigt.). Die y-Komponente ist genau dieselbe, ist aber vertikal ausgerichtet. Fig. 4 Eines des Paares von 1-D-Faltungskernen, die verwendet werden, um den in Fig. 3 gezeigten Vollkern schneller zu berechnen. Ein weiterer Weg, eine Gaußsche Glättung mit einer großen Standardabweichung zu berechnen, besteht darin, ein Bild mehrmals mit einem kleineren Gaußschen zu falten. Während dies rechenkomplex ist, kann es Anwendbarkeit haben, wenn die Verarbeitung unter Verwendung einer Hardware-Pipeline durchgeführt wird. Der Gaußfilter hat nicht nur einen Nutzen für technische Anwendungen. Sie erregt auch Aufmerksamkeit von Computerbiologen, weil sie mit einer gewissen biologischen Plausibilität, z. B. Haben einige Zellen in den Sehwegen des Gehirns oft eine annähernd Gaußsche Antwort. Gebrauchsanweisung Die Wirkung der Gaußschen Glättung besteht darin, ein Bild, ähnlich dem mittleren Filter, zu verwischen. Der Glättungsgrad wird durch die Standardabweichung des Gaußschen bestimmt. (Größere Standardabweichung Gaussianer benötigen natürlich grßere Faltungskörner, um genau dargestellt zu werden.) Der Gaussian gibt einen gewichteten Durchschnitt jeder Pixelnachbarschaft aus, wobei der Durchschnitt stärker zum Wert der zentralen Pixel hin gewichtet wird. Dies steht im Gegensatz zu den mittleren Filtern gleichmäßig gewichtetem Durchschnitt. Aus diesem Grund bietet ein Gaussianer eine sanftere Glättung und bewahrt Kanten besser als ein ähnlich bemessener mittlerer Filter. Eine der prinzipiellen Begründungen für die Verwendung des Gaußschen als Glättungsfilter ist auf seinen Frequenzgang zurückzuführen. Die meisten Faltungsbasierten Glättungsfilter wirken als Tiefpaßfilter. Das bedeutet, dass ihre Wirkung darin besteht, Komponenten hoher räumlicher Frequenz aus einem Bild zu entfernen. Der Frequenzgang eines Faltungsfilters, d. H. Seine Auswirkung auf verschiedene Ortsfrequenzen, kann gesehen werden, indem die Fourier-Transformation des Filters genommen wird. Fig. 5 zeigt die Frequenzantworten eines 1-D-Mittelfilters mit der Breite 5 und auch eines Gaußfilters mit 3. Fig. 5 Frequenzantworten des Boxfilters (d. Mittelwertfilter) (Breite 5 Pixel) und des Gaußfilters (3 Pixel). Die Ortsfrequenzachse wird in Zyklen pro Pixel markiert, und daher hat kein Wert über 0,5 eine reale Bedeutung. Beide Filter dämpfen hohe Frequenzen mehr als tiefe Frequenzen, aber das mittlere Filter weist Oszillationen in seinem Frequenzgang auf. Der Gaussian hingegen zeigt keine Schwingungen. Tatsächlich ist die Form der Frequenzantwortkurve selbst (halb) Gaußscher. Wenn wir also einen entsprechend großen Gaußschen Filter auswählen, können wir ziemlich sicher sein, welchen Bereich der räumlichen Frequenzen im Bild nach der Filterung noch vorhanden sind, was bei dem mittleren Filter nicht der Fall ist. Dies hat Konsequenzen für einige Kantendetektionstechniken, wie im Abschnitt über Nulldurchgänge erwähnt. (Der Gaußsche Filter entpuppt sich ebenfalls sehr ähnlich dem optimalen Glättungsfilter für die Kantenerfassung unter den Kriterien, die verwendet werden, um den Canny-Randdetektor abzuleiten.), Um den Effekt des Glättens mit aufeinanderfolgend größeren und größeren Gaußschen Filtern zu veranschaulichen. Zeigt den Effekt der Filterung mit einem Gaussian von 1,0 (und Kerngröße 52155). Zeigt den Effekt der Filterung mit einem Gaussian von 2,0 (und Kerngröße 92159). Zeigt den Effekt der Filterung mit einem Gaussian von 4,0 (und Kerngröße 1521515). Wir erwägen nun die Verwendung des Gaußschen Filters zur Rauschunterdrückung. Betrachten wir beispielsweise das Bild, das durch Gauss'sche Rauschen mit einem Mittelwert von Null und 8 verdorben wurde. Glätten dieses mit einer 52155 Gauss'schen Ausbeute (Vergleiche dieses Ergebnis mit dem, was durch die Mittel - und Medianfilter erreicht wird). Salz - und Pfeffergeräusche sind schwieriger Für einen Gaußfilter. Hier glätten wir das Bild, das durch 1 Salz - und Pfefferrauschen verdorben wurde (d. h. einzelne Bits wurden mit Wahrscheinlichkeit 1 umgedreht). Das Bild zeigt das Ergebnis der Gaußschen Glättung (mit derselben Faltung wie oben). Vergleichen Sie dies mit dem ursprünglichen Hinweis, dass viel von dem Rauschen noch existiert und dass es, obwohl es in der Größenordnung etwas abgenommen hat, es über eine größere räumliche Region geschmiert worden ist. Das Erhöhen der Standardabweichung verringert / verschleiert die Intensität des Rauschens weiter, dämpft aber auch hochfrequente Details (z. B. Kanten) erheblich, wie in Interactive Experimentation gezeigt. Sie können interaktiv mit diesem Operator experimentieren, indem Sie hier klicken. Ausgehend von dem Gaußschen Rauschen (Mittelwert 0, 13) berechnen das verfälschte Bild sowohl Mittelfilter als auch Gaußsche Filterglättung in verschiedenen Maßstäben und vergleichen sie jeweils in Bezug auf Rauschentfernung und Detailverlust. Bei wievielen Standardabweichungen vom Mittelwert sinkt ein Gaußscher Wert auf 5 seines Spitzenwertes. Auf dieser Basis wird eine geeignete Quadratkorngröße für einen Gaußschen Filter mit s vorgeschlagen. Schätzen Sie den Frequenzgang eines Gaußschen Filters durch Gaußsche Glättung eines Bildes und seine Fourier-Transformation sowohl vor als auch nachher ab. Vergleichen Sie dies mit dem Frequenzgang eines mittleren Filters. Wie verhält es sich mit der Zeit zum Glätten mit einem Gaußschen Filter, um mit einem mittleren Filter für einen Kernel gleicher Größe zu glätten? Beachten Sie, dass in beiden Fällen die Faltung erheblich beschleunigt werden kann, indem bestimmte Funktionen des Kernels genutzt werden. Referenzen E. Davies Machine Vision: Theorie, Algorithmen und Praktiken. Academic Press, 1990, S. 42 - 44. R. Gonzalez und R. Woods Digitale Bildverarbeitung. Addison-Wesley Publishing Company, 1992, S. 191. R. Haralick und L. Shapiro Computer and Robot Vision. Addison-Wesley Publishing Company, 1992, Bd. 1, Kap. 7. B. Horn-Roboter-Sicht. MIT Press, 1986, Kap. 8. D. Vernon Machine Vision. Prentice-Hall, 1991, S. 59 - 61, 214. Lokale Informationen Spezielle Informationen zu diesem Operator finden Sie hier. Weitere allgemeine Hinweise zur lokalen HIPR-Installation finden Sie im Einleitungsabschnitt Lokale Informationen. Dokumentation Dieses Beispiel zeigt, wie gleitende Durchschnittsfilter und Resampling verwendet werden, um die Auswirkungen von periodischen Komponenten der Tageszeit auf die stündliche Temperaturmessung zu isolieren und zu entfernen Unerwünschtes Leitungsrauschen aus einer offenen Spannungsmessung. Das Beispiel zeigt auch, wie die Pegel eines Taktsignals zu glätten sind, während die Kanten durch Verwendung eines Medianfilters bewahrt werden. Das Beispiel zeigt auch, wie ein Hampel-Filter verwendet wird, um große Ausreißer zu entfernen. Motivation Glättung ist, wie wir wichtige Muster in unseren Daten zu entdecken, während Sie Dinge, die unwichtig sind (d. H. Rauschen). Wir verwenden Filter, um diese Glättung durchzuführen. Das Ziel der Glättung ist es, langsame Änderungen im Wert zu produzieren, so dass seine einfacher zu sehen, Trends in unseren Daten. Manchmal, wenn Sie Eingangsdaten untersuchen, können Sie die Daten glatt machen, um einen Trend im Signal zu sehen. In unserem Beispiel haben wir eine Reihe von Temperaturmessungen in Celsius genommen jede Stunde am Logan Flughafen für den gesamten Monat Januar 2011. Beachten Sie, dass wir visuell sehen können, die Wirkung, die die Tageszeit auf die Temperaturwerte hat. Wenn Sie sich nur für die tägliche Temperaturschwankung im Laufe des Monats interessieren, tragen die stündlichen Fluktuationen nur zu Lärm bei, was die täglichen Variationen schwer unterscheiden kann. Um den Effekt der Tageszeit zu entfernen, möchten wir nun unsere Daten mit einem gleitenden Mittelfilter glätten. Ein Moving Average Filter In seiner einfachsten Form nimmt ein gleitender Durchschnittsfilter der Länge N den Durchschnitt jeder N aufeinanderfolgenden Samples der Wellenform an. Um einen gleitenden Mittelwertfilter auf jeden Datenpunkt anzuwenden, konstruieren wir unsere Koeffizienten unseres Filters so, dass jeder Punkt gleich gewichtet wird und 1/24 zum Gesamtdurchschnitt beiträgt. Dies gibt uns die durchschnittliche Temperatur über jeden Zeitraum von 24 Stunden. Filterverzögerung Beachten Sie, dass der gefilterte Ausgang um etwa zwölf Stunden verzögert wird. Dies ist auf die Tatsache zurückzuführen, dass unser gleitender Durchschnittsfilter eine Verzögerung hat. Jedes symmetrische Filter der Länge N hat eine Verzögerung von (N-1) / 2 Abtastungen. Wir können diese Verzögerung manuell berücksichtigen. Extrahieren von Durchschnittsdifferenzen Alternativ können wir auch das gleitende Mittelfilter verwenden, um eine bessere Schätzung zu erhalten, wie die Tageszeit die Gesamttemperatur beeinflusst. Dazu werden zuerst die geglätteten Daten von den stündlichen Temperaturmessungen subtrahiert. Dann segmentieren Sie die differenzierten Daten in Tage und nehmen Sie den Durchschnitt über alle 31 Tage im Monat. Extrahieren von Peak Envelope Manchmal möchten wir auch eine glatt variierende Schätzung haben, wie sich die Höhen und Tiefen unseres Temperatursignals täglich ändern. Um dies zu erreichen, können wir die Hüllkurvenfunktion verwenden, um extreme Höhen und Tiefen zu verbinden, die über eine Untermenge der 24-Stundenperiode erkannt werden. In diesem Beispiel stellen wir sicher, dass es mindestens 16 Stunden zwischen jedem extrem hohen und extrem niedrigen Niveau gibt. Wir können auch ein Gefühl dafür, wie die Höhen und Tiefen sind Trends, indem sie den Durchschnitt zwischen den beiden Extremen. Weighted Moving Average Filter Andere Arten von Moving Average Filtern gewichten nicht jede Probe gleichermaßen. Ein weiterer gemeinsamer Filter folgt der Binomialexpansion von (1 / 2,1 / 2) n Dieser Filtertyp approximiert eine Normalkurve für große Werte von n. Es ist nützlich zum Herausfiltern von Hochfrequenzrauschen für kleine n. Um die Koeffizienten für das Binomial-Filter zu finden, falten Sie 1/2 1/2 mit sich selbst und konvergieren dann iterativ den Ausgang mit 1/2 1/2 a vorgeschriebener Anzahl von Malen. Verwenden Sie in diesem Beispiel fünf Gesamt-Iterationen. Ein anderer Filter, der dem Gaußschen Expansionsfilter ähnlich ist, ist der exponentiell gleitende Durchschnittsfilter. Diese Art des gewichteten gleitenden Durchschnittsfilters ist einfach zu konstruieren und erfordert keine große Fenstergröße. Sie passen einen exponentiell gewichteten gleitenden Durchschnittsfilter durch einen Alpha-Parameter zwischen null und eins an. Ein höherer Wert von alpha wird weniger Glättung haben. Untersuche die Messwerte für einen Tag. Wähle dein Land

No comments:

Post a Comment