Eine Trickkiste zum Entrauschen von Signalen unter Beibehaltung scharfer Übergänge


21

Ich weiß, dass dies signalabhängig ist, aber wenn Sie sich einem neuen verrauschten Signal gegenübersehen, was ist Ihre Trickkiste, wenn Sie versuchen, ein Signal zu entstören, während Sie scharfe Übergänge beibehalten (z. B. ist jede Art von einfacher Mittelwertbildung, dh mit einem Gauß, nicht möglich). Ich stelle mich oft dieser Frage und habe nicht das Gefühl zu wissen, was ich versuchen soll (außer Splines, aber sie können auch die richtige Art von scharfem Übergang ernsthaft niederschlagen).

PS Nebenbei bemerkt, wenn Sie einige gute Methoden kennen, die Wavelets verwenden, lassen Sie mich wissen, was es ist. Scheint, als hätten sie ein großes Potenzial in diesem Bereich, aber obwohl es in den 90er Jahren einige Arbeiten gibt, die genügend Zitate enthalten, um die Methode der Arbeit als gut herauszustellen, kann ich nichts darüber herausfinden, in welchen Methoden sie sich als Spitzenkandidaten durchgesetzt haben die dazwischenliegenden Jahre. Sicherlich haben sich einige Methoden seitdem als "erste Dinge, die man ausprobieren sollte" herausgestellt.

Antworten:


14

Die L1-Normminimierung (Compressed Sensing) kann in Bezug auf die Kantenschonung eine relativ bessere Arbeit leisten als das herkömmliche Fourier-Entrauschen.

Das Verfahren besteht darin, eine objektive Funktion zu minimieren

|x-y|2+b|f(y)|

wobei das verrauschte Signal ist, das entrauschte Signal ist, der Regularisierungsparameter ist undist eine L1-Normstrafe. Das Entrauschen wird erreicht, indem die Lösung für dieses Optimierungsproblem gefunden wird und vom Rauschpegel abhängt.xyb|f(y)|byb

Um Kanten zu erhalten, können Sie abhängig vom Signal verschiedene Strafen wählen, so dass spärlich ist (der Geist der komprimierten Erfassung):f ( y )yf(y)

  • wenn stückweise ist, kann die Gesamtvariationsstrafe (TV) sein;f ( y )yf(y)

  • Wenn kurvenartig ist (z. B. Sinogramm), kann der Expansionskoeffizient von in Bezug auf Kurven sein . (Dies ist für 2D / 3D-Signale, nicht 1D);f ( y ) yyf(y)y

  • Wenn isotrope Singularitäten (Kanten) hat, kann der Expansionskoeffizient von in Bezug auf Wavelets sein .f ( y ) yyf(y)y

Wenn die Expansionskoeffizienten in Bezug auf einige Basisfunktionen (wie Curvelet / Wavelet oben) sind, ist das Lösen des Optimierungsproblems gleichbedeutend mit dem Schwellen der Expansionskoeffizienten.f(y)

Man beachte, dass dieser Ansatz auch auf die Entfaltung angewendet werden kann, bei der die Zielfunktion zu, wobei der Faltungsoperator ist.H|x-Hy|+b|f(y)|H


Gute Zusammenfassung Chaohuang, aber können Sie bitte erweitern auf: 1) In der ersten Gleichung lösen wir für , wie existiert es dann in der Zielfunktion? ... Wird die Zielfunktion über den gesamten Raum von minimiert ? (Beispiel, wenn ein N-dimensionaler Vektor ist, bewegt sich der konvexe / nicht-konvexe adaptive Algorithmus über DIESEN N-dimensionalen Raum?y yyyy
Spacey

1
Ich würde auch die LASSO- Regularisierung für die Norm erwähnen . L1
Phonon

Welche Methoden bevorzugen Sie, um nach f zu lösen, besonders wenn das Signal lang ist?
John Robertson

Wie heißt diese Methode? Was sollte ich zitieren, wenn ich es für meine Forschung verwende?
Bayer

@bayer Es hängt davon ab, welche Regularisierung Sie verwenden. Es kann sich beispielsweise um Curvelet-Denoising oder Wavelet-Denoising handeln. Im Allgemeinen gehören sie alle zur Familie der L1-Normminimierung.
Chaohuang

7

Sie können anisotrope Diffusion berücksichtigen. Es gibt viele Methoden, die auf dieser Technik basieren. Im Allgemeinen ist es für Bilder. Es ist eine adaptive Entrauschungsmethode, die darauf abzielt, nichtkantige Teile eines Bildes zu glätten und Kanten zu bewahren.

Sie können dieses Lernprogramm auch für die Minimierung von Gesamtschwankungen verwenden . Autoren stellen auch MATLAB-Code zur Verfügung. Sie erkennen das Problem als vorrangiges Analyseproblem, es ähnelt in gewisser Weise der Verwendung einer linearen Abbildung (wie Zeit-Frequenz-Darstellungen). Sie verwenden jedoch eher eine Differenzmatrix als eine Transformation.

Ein weiterer interessanter Ansatz wird von Boyd bereitgestellt, der als Trendfilterung erscheint . Dies ist auch der TV-Regularisierung sehr ähnlich, aber ich denke, Boyd verwendet eine andere Matrix in der Problemformulierung.D


6

Chaohuang hat eine gute Antwort, aber ich möchte auch hinzufügen, dass eine andere Methode, die Sie verwenden können, die Haar-Wavelet-Transformation, gefolgt von einer koeffizienten Wavelet-Schrumpfung und einer inversen Haar-Transformation zurück in den Zeitbereich ist.

Die Haar-Wavelet-Transformation zerlegt Ihr Signal in Koeffizienten von Quadrat- und Differenzfunktionen, wenn auch in unterschiedlichen Maßstäben. Die Idee dabei ist, dass Sie die neue quadratische Signaldarstellung so erzwingen, dass sie am besten zu Ihrem ursprünglichen Signal passt, und somit am besten darstellt, wo Ihre Kanten liegen.

Wenn Sie eine koeffiziente Schrumpfung durchführen, bedeutet dies lediglich, dass Sie bestimmte Koeffizienten der Haar-transformierten Funktion auf Null setzen. (Es gibt andere, komplexere Methoden, aber das ist die einfachste). Die Haar-transformierten Wavelet-Koeffizienten sind Scores, die mit verschiedenen Quadrat- / Differenzfunktionen in verschiedenen Maßstäben assoziiert sind. Die RHS des Haar-transformierten Signals stellt Quadrat / Differenz-Basen auf der niedrigsten Skala dar und kann daher auf der 'höchsten Frequenz' interpretiert werden. Der größte Teil der Rauschenergie wird also hier liegen, und der größte Teil der Signalenergie würde auf der LHS liegen. Is sind die Basiskoeffizienten, die auf Null gesetzt und das Ergebnis dann invers in den Zeitbereich zurücktransformiert werden.

Anbei ein Beispiel für eine Sinuskurve, die durch starkes AWGN-Rauschen verfälscht wird. Das Ziel besteht darin, herauszufinden, wo der „Start“ und der „Stopp“ des Pulses liegen. Bei der herkömmlichen Filterung werden die hochfrequenten (und zeitlich stark lokalisierten) Kanten verwischt, da die Filterung im Kern eine L-2-Technik ist. Im Gegensatz dazu wird der folgende iterative Prozess Kanten entstören und beibehalten:

(Ich dachte, man könnte hier Filme anhängen, aber ich scheine nicht dazu in der Lage zu sein. Sie können den Film, den ich von diesem Prozess gemacht habe, hier herunterladen .) (Rechtsklick und 'Verknüpfung speichern unter').

Ich habe den Prozess 'von Hand' in MATLAB geschrieben und es geht so:

  • Erzeugen Sie einen sinusförmigen Impuls, der durch starkes AWGN verfälscht wird.
  • Berechnen Sie den Umschlag von oben. (Das Signal').
  • Berechnen Sie die Haar-Wavelet-Transformation Ihres Signals auf allen Skalen.
  • Entstören durch iteratives koeffizientes Schwellenwertverfahren.
  • Inverse Haar Transformation des geschrumpften Koeffizientenvektors.

Sie können deutlich sehen, wie die Koeffizienten geschrumpft werden und die daraus resultierende inverse Haartransformation.

Ein Nachteil dieser Methode ist jedoch, dass die Kanten in einem bestimmten Maßstab in oder um die Quadrat- / Differenzbasis liegen müssen. Wenn nicht, wird die Transformation gezwungen, zur nächsthöheren Ebene zu springen, und somit verliert man eine genaue Platzierung für die Kante. Um dem entgegenzuwirken, gibt es Mehrfachauflösungsmethoden, die jedoch aufwändiger sind.


4

Eine einfache Methode, die häufig funktioniert, ist die Anwendung eines Medianfilters.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.