In signal / image processing, convolution is defined as it is defined as the integral of the product of the two functions after one is reversed and shifted. On the other hand, cross-correlation is known as sliding dot product or sliding inner-product of two functions. The filter in cross-correlation is not reversed.
- What is the difference between cross-correlation and convolution?
- Why use convolution instead of correlation?
- What is cross-correlation in signal processing?
- Does CNN use convolution or cross-correlation?
What is the difference between cross-correlation and convolution?
Cross-correlation and convolution are both operations applied to images. Cross-correlation means sliding a kernel (filter) across an image. Convolution means sliding a flipped kernel across an image.
Why use convolution instead of correlation?
Which one you use depends on the application. If you are performing a linear, time-invariant filtering operation, you convolve the signal with the system's impulse response. If you are "measuring the similarity" between two signals, then you cross-correlate them.
What is cross-correlation in signal processing?
In signal processing, cross-correlation is a measure of similarity of two series as a function of the displacement of one relative to the other. This is also known as a sliding dot product or sliding inner-product.
Does CNN use convolution or cross-correlation?
Before we get into some theory, it is important to note that in CNNs although we call it a convolution, it is actually cross-correlation. It is a technicality, but in a CNN we do not flip the filter as is required in typical convolutions.