Sacco di trucchi per negare segnali mentre si mantengono transizioni nitide


21

So che questo dipende dal segnale, ma di fronte a un nuovo segnale rumoroso qual è il tuo bagaglio di trucchi per cercare di denigrare un segnale mantenendo al contempo transizioni nitide (ad esempio, quindi qualsiasi tipo di media semplice, cioè contorta con un gaussiano, è fuori). Spesso mi trovo di fronte a questa domanda e non mi sento di sapere cosa dovrei provare (oltre alle spline, ma possono anche seriamente abbattere il giusto tipo di transizione acuta).

PS Come nota a margine, se conosci alcuni buoni metodi usando le wavelet, fammi sapere di cosa si tratta. Sembra che abbiano un grande potenziale in questo settore, ma mentre ci sono alcuni articoli negli anni '90 con citazioni sufficienti per suggerire che il metodo del documento è andato bene, non riesco a trovare nulla su quali metodi abbiano finito per vincere come i migliori candidati in gli anni successivi. Sicuramente alcuni metodi si sono rivelati generalmente "le prime cose da provare" da allora.

Risposte:


14

La minimizzazione della norma L1 (rilevamento compresso) può fare un lavoro relativamente migliore rispetto al tradizionale denoising di Fourier in termini di protezione dei bordi.

La procedura è minimizzare una funzione obiettiva

|X-y|2+B|f(y)|

dove è il segnale rumoroso, è il segnale negato , è il parametro di regolarizzazione eè una penalità di norma L1. Il denoising si ottiene trovando la soluzione a questo problema di ottimizzazione dipende dal livello di rumore.XyBy b|f(y)|yB

Per preservare i bordi, a seconda del segnale , è possibile scegliere penalità diverse in modo che sia scarso (lo spirito del rilevamento compresso):f ( y )yf(y)

  • se è saggio a pezzo, può essere una penalità di variazione totale (TV);f ( y )yf(y)

  • se è simile a una curva (ad es. Sinogramma), può essere il coefficiente di espansione di rispetto alle curve . (Questo è per segnali 2D / 3D, non 1D);f ( y ) yyf(y)y

  • se ha singolarità (bordi) isotropiche, può essere il coefficiente di espansione di rispetto alle wavelet .f ( y ) yyf(y)y

Quando è i coefficienti di espansione rispetto ad alcune funzioni di base (come curvelet / wavelet sopra), la risoluzione del problema di ottimizzazione equivale a soglie dei coefficienti di espansione.f(y)

Nota che questo approccio può essere applicato anche alla deconvoluzione in cui la funzione obiettivo diventa, dove è l'operatore di convoluzione.H|X-Hy|+B|f(y)|H


Buon riassunto chaohuang, tuttavia puoi per favore espandere su: 1) Nella prima equazione, stiamo risolvendo per , come esiste allora nella funzione obiettivo? ... La funzione obiettivo viene minimizzata in tutto lo spazio di ? (Esempio, se è un vettore N-dimensionale, l'algoritmo adattivo convesso / non convesso si muove attraverso QUESTO spazio N-dimensionale?y yyyy
Spacey

1
Vorrei anche menzionare la regolarizzazione LASSO per la norma . L1
Phonon,

Quali metodi ti piacciono per risolvere f, specialmente se il segnale è lungo.
John Robertson,

Qual è il nome di questo metodo? Se lo uso nella mia ricerca, cosa dovrei citare?
Bayer,

@bayer Dipende da quale regolarizzazione usi, ad esempio potrebbe essere il denoising curvelet o il denoising wavelet. In generale, appartengono tutti alla famiglia della minimizzazione della norma L1.
Chaohuang,

7

Puoi considerare la diffusione anisotropica. Esistono molti metodi basati su questa tecnica. In generale, è per le immagini. È un metodo di denoising adattivo che mira a levigare le parti non di bordo di un'immagine e preservare i bordi.

Inoltre, per la minimizzazione della variazione totale, è possibile utilizzare questa esercitazione . Gli autori forniscono anche il codice MATLAB. Riconoscono il problema come un problema precedente all'analisi, è in qualche modo simile all'utilizzo di una mappatura lineare (come le rappresentazioni tempo-frequenza). Ma usano una matrice di differenza piuttosto che una trasformazione.

D


6

Chaohuang ha una buona risposta, ma aggiungerò anche che un altro metodo che puoi usare sarebbe tramite la Trasformazione Wavelet Haar, seguita da una contrazione coefficiente wavelet e una Trasformazione Haar inversa nel dominio del tempo.

La trasformazione wavelet di Haar decompone il segnale in coefficienti di funzioni quadrate e di differenza, sebbene a scale diverse. L'idea qui è che 'forzate' la nuova rappresentazione del segnale quadrato per abbinare meglio il segnale originale, e quindi quello che rappresenta meglio dove giacciono i bordi.

Quando si esegue una contrazione coefficiente, tutto ciò significa che si stanno impostando a zero i coefficienti specifici della funzione trasformata Haar. (Esistono altri metodi più coinvolti, ma questo è il più semplice). I coefficienti wavelet trasformati di Haar sono punteggi associati a diverse funzioni quadrate / di differenza su scale diverse. L'RHS del segnale trasformato di Haar rappresenta le basi quadrate / di differenza alla scala più bassa e, quindi, può essere interpretato alla "frequenza più alta". La maggior parte dell'energia del rumore si troverà quindi qui, VS la maggior parte dell'energia del segnale che si troverebbe sull'LHS. È quei coefficienti di base che vengono annullati e il risultato viene quindi trasformato nuovamente nel dominio del tempo.

In allegato è un esempio di sinusoide corrotta da un forte rumore AWGN. L'obiettivo è capire dove si trovano "inizio" e "arresto" dell'impulso. Il filtraggio tradizionale imbratterà i bordi ad alta frequenza (e altamente localizzati nel tempo), poiché al suo centro, il filtraggio è una tecnica L-2. Al contrario, il seguente processo iterativo denuncerà e preserverà i bordi:

(Ho pensato che si potrebbe collegare film qui, ma non mi sembra di essere in grado di. È possibile scaricare film che ho fatto del processo qui ). (Fare clic destro e 'salva collegamento come').

Ho scritto il processo "a mano" in MATLAB, e va così:

  • Crea un impulso sinusoidale danneggiato da AWGN pesante.
  • Calcola la busta di quanto sopra. (Il segnale').
  • Calcola la Trasformazione Haar Wavelet del tuo segnale a tutte le scale.
  • Denoise mediante soglia iterativa coefficiente.
  • Inverse Haar Trasforma il vettore coefficiente ristretto.

Puoi vedere chiaramente come i coefficienti vengono ridotti e la risultante trasformazione Inverse Haar che ne deriva.

Uno svantaggio di questo metodo, tuttavia, è che i bordi devono trovarsi all'interno o attorno alle basi quadrate / di differenza in una data scala. In caso contrario, la trasformazione è costretta a passare al livello superiore successivo e quindi si perde un posizionamento esatto per il bordo. Esistono metodi multi-risoluzione usati per contrastare questo comportamento, ma sono più coinvolti.


4

Un metodo semplice che spesso funziona è applicare un filtro mediano.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.