Différence entre corrélation et convolution sur une image?

18

Pourriez-vous s'il vous plaît expliquer clairement quelle est la différence entre la corrélation et la convolution qui se fait par un filtre sur une image?

Je veux dire en termes de définition du traitement du signal, je sais que la convolution décrit la sortie d'un système LTI, c'est-à-dire si un système LTI produit une sortie due à la convolution avec un système d'entrée, alors le signal de sortie peut être décrit comme le résultat de la convolution de la signal d'entrée et la réponse impulsionnelle du système LTI. Quant à la corrélation, elle décrit les similitudes entre les signaux. Mais comment la convolution et la corrélation affectent-elles une image et comment sont-elles différentes en termes d'effets?

Merci

the_naive
la source
quelle est la similitude entre convolution et filtre?

Réponses:

39

La convolution est une corrélation avec le filtre tourné à 180 degrés. Cela ne fait aucune différence si le filtre est symétrique, comme un gaussien ou un laplacien. Mais cela fait toute une différence, lorsque le filtre n'est pas symétrique, comme un dérivé.

La raison pour laquelle nous avons besoin d'une convolution est qu'elle est associative, alors que la corrélation, en général, ne l'est pas. Pour voir pourquoi cela est vrai, rappelez-vous que la convolution est une multiplication dans le domaine fréquentiel, qui est évidemment associative. En revanche, la corrélation dans le domaine fréquentiel est la multiplication par le conjugué complexe, qui n'est pas associatif.

L'associativité de la convolution est ce qui vous permet de "pré-convoluer" les filtres, de sorte que vous n'avez besoin de convoluer l'image qu'avec un seul filtre. Par exemple, disons que vous avez une image , que vous devez convoluer avec puis avec . . Cela signifie que vous pouvez d'abord convoluer et dans un seul filtre, puis convoluer avec lui. Ceci est utile si vous devez convoluer de nombreuses images avec et . Vous pouvez pré-calculer , puis réutiliser plusieurs fois.g h f g h = f ( g h ) g h f g h k = g h kfghfgh=f(gh)ghfghk=ghk

Donc, si vous faites une correspondance de modèle , c'est-à-dire que vous recherchez un seul modèle, la corrélation est suffisante. Mais si vous devez utiliser plusieurs filtres successivement et que vous devez effectuer cette opération sur plusieurs images, il est judicieux de convoquer les plusieurs filtres en un seul filtre à l'avance.

Dima
la source
Pouvez-vous développer l'associativité de la corrélation de convolution VS à cet égard, si vous vouliez filtrer une image avec deux filtres différents à titre d'exemple?
TheGrapeBeyond
J'ai édité la réponse. Est-ce clair maintenant?
Dima
Oui Dima, merci. Vous dites donc que nous ne pouvons pas corréler et abord, puis corréler avec ? h fghf
TheGrapeBeyond
@TheGrapeBeyond, c'est vrai. La corrélation n'est pas associative. Dans le cas général, lorsque vos filtres ne sont pas symétriques, corréler et puis corréler le résultat avec ne vous donnera pas le même résultat que corréler avec puis avec . h f f g hghffgh
Dima
@Dima, merci pour la réponse. Pourriez-vous préciser davantage ce que vous entendez par correspondance de modèles?
the_naive