Qual è la differenza tra convoluzione e correlazione incrociata?


47

Ho trovato su più siti che la convoluzione e la correlazione incrociata sono simili (incluso il tag wiki per la convoluzione), ma non ho trovato da nessuna parte come differiscono.

Qual è la differenza tra i due? Puoi dire che l'autocorrelazione è anche una sorta di convoluzione?


2
Potrebbe essere interessante notare che per funzioni pari e reali, la correlazione incrociata e la convoluzione producono lo stesso risultato.

2
Uno usa una stella a 5 punte ★ e l'altro usa una stella a 6 punte ✶.
endolith

Risposte:


41

L'unica differenza tra correlazione incrociata e convoluzione è un'inversione di tempo su uno degli input. La convoluzione discreta e la correlazione incrociata sono definite come segue (per segnali reali; ho trascurato i coniugati necessari quando i segnali sono complessi):

x[n]h[n]=k=0h[k]x[nk]

corr(x[n],h[n])=k=0h[k]x[n+k]

h[n]=x[n]

Modifica: poiché qualcun altro ha appena fatto una domanda duplicata, sono stato ispirato ad aggiungere un'altra informazione: se si implementa la correlazione nel dominio della frequenza utilizzando un algoritmo di convoluzione veloce come overlap-save, è possibile evitare il fastidio del tempo- invertendo prima uno dei segnali coniugando invece uno dei segnali nel dominio della frequenza. Si può dimostrare che la coniugazione nel dominio della frequenza equivale all'inversione nel dominio del tempo.


12
Questa risposta va bene per segnali reali, ma Jason ha sollevato segnali di valore complesso, nel qual caso è importante notare che non è del tutto vero che "l'unica differenza è ... inversione del tempo ..." In effetti, coniugati complessi sono necessari su uno dei due segnali nella formula di correlazione (di cui uno coniugato è una questione di convenzione - alcuni dicono di poterlo fare e altri dicono di fare il mah - ma entrambi chiamano un frutto un vegetale). D'altra parte, nessuno dei due segnali è coniugato nella formula di convoluzione.
Dilip Sarwate,

1
ma cosa significa che sono così simili? Usando alcune parole intuitive profonde!
Diego,

Non vedo come questo lo stia invertendo, piuttosto che spostarlo nella direzione opposta a ciò che è utile?
Jonathan.

k

@JasonR, sicuramente questo si traduce in uno spostamento nella direzione opposta? Ho provato a risolverlo e tutto ciò che accade è che l'input x si sposta dall'ingresso h e tutto finisce come zero. jsfiddle.net/ua5d1uo2
Jonathan.

12

[Hf](x)f(x)h(x)dxh(xx)f(x)
[Gf](x)f(x)h(x)dxh(xx)f(x)
GH

f(x)h(x)=h(x)f(x),


5

Come studente sono stato coinvolto nello stesso problema come te. Lascia che ti spieghi con le parole più semplici senza matematica.

Convoluzione: viene utilizzato per convolgere due funzioni. Può sembrare ridondante, ma metterò un esempio: vuoi contorto (in un termine non matematico per "combinare") una cellula unitaria (che può contenere tutto ciò che vuoi: proteine, immagine, ecc.) E una struttura reticolare. Il risultato sarebbe che questa cellula unitaria è organizzata in ciascun punto reticolare creando una struttura ripetuta della cellula unitaria organizzata.

Correlazione incrociata: viene utilizzata per identificare una cellula all'interno di una struttura. Ad esempio, hai l'immagine di un piccolo pezzo di una città e un'immagine di tutta la città. Con la correlazione incrociata puoi determinare dove si trova quella piccola immagine all'interno dell'intera immagine della città. Detto più semplice, "scansiona" fino a quando non trova una corrispondenza. Ora il modo in cui ciò viene fatto è trovare un fattore di correlazione incrociata che deriva dalla somma di varie moltiplicazioni di un valore che proviene da ciascuna immagine.

È molto semplice. Se vuoi capire di più la matematica in modo amichevole, guarda questo video. Questo professore di CALTECH lo spiega nel modo migliore che abbia mai visto.

https://www.youtube.com/watch?v=MQm6ZP1F6ms

Buona fortuna.


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.