В чем разница между сверткой и взаимной корреляцией?

47

Я обнаружил на нескольких сайтах, что свертка и взаимная корреляция похожи (включая тег wiki для свертки), но я нигде не нашел, как они отличаются.

Какая разница между двумя? Можете ли вы сказать, что автокорреляция - это тоже свертка?

наружность
источник
2
Может быть интересно отметить, что для четных, реальных функций взаимная корреляция и свертка дают одинаковый результат.
2
Один использует 5-точечную звезду ★, а другой использует 6-точечную звезду ✶.
эндолит

Ответы:

41

Единственная разница между взаимной корреляцией и сверткой заключается в обращении времени на одном из входов. Дискретная свертка и взаимная корреляция определяются следующим образом (для реальных сигналов; я пренебрег необходимыми конъюгатами, когда сигналы являются сложными):

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

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

Это подразумевает, что вы можете использовать быстрые алгоритмы свертки, такие как перекрытие-сохранение, для эффективной реализации взаимной корреляции; просто время повернуть вспять один из входных сигналов первым. Автокорреляция идентична вышеописанной, за исключением , поэтому вы можете рассматривать ее так же, как и свертку.h[n]=x[n]

Изменить: так как кто-то еще только что задал повторяющийся вопрос, я был вдохновлен, чтобы добавить еще одну информацию: если вы реализуете корреляцию в частотной области, используя быстрый алгоритм свертки, такой как сохранение с перекрытием, вы можете избежать хлопот времени сначала обратим один из сигналов, вместо этого сопрягая один из сигналов в частотной области. Можно показать, что сопряжение в частотной области эквивалентно обращению во временной области.

Джейсон Р
источник
12
Этот ответ подходит для реальных сигналов, но Джейсон поднял комплексные сигналы, и в этом случае важно отметить, что это не совсем тот случай, когда «единственная разница заключается в… обращении во времени…». Действительно, комплексные конъюгаты необходимы для одного из двух сигналов в формуле корреляции (какой из них является конъюгированным - вопрос условности - некоторые говорят, что можно, а другие говорят, что мах - но оба называют фрукт овощем). С другой стороны, ни один сигнал не сопряжен в формуле свертки.
Дилип Сарватэ
1
а что значит что они такие похожие? Используя некоторые глубокие интуитивные слова!
Диего
Я не понимаю, как это меняет ситуацию, а не смещает ее в противоположную сторону к тому, что полезно?
Джонатан.
@Jonathan .: обращение происходит потому, что временной индекс внутри суммирования сводится на нет в случае корреляции и свертки. Если вы поработаете над математикой для примера сигнала, вы увидите эффект. k
Джейсон Р
@JasonR, конечно, это просто приводит к сдвигу в противоположном направлении? Я попытался решить это, и все, что происходит, это то, что вход x смещается от входа h, и все заканчивается как ноль. jsfiddle.net/ua5d1uo2
Джонатан.
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),

chaohuang
источник
5

Будучи студентом, я был вовлечен в ту же проблему, что и вы. Позвольте мне объяснить вам в самых простых словах без математики.

Свертка: используется для свертывания двух функций. Может показаться излишним, но я приведу пример: вы хотите свернуть (в нематематическом термине «объединить») элементарную ячейку (которая может содержать все, что вы хотите: белок, изображение и т. Д.) И структуру решетки. Результатом будет то, что эта элементарная ячейка организована в каждой точке решетки, создавая организованную повторяющуюся структуру элементарной ячейки.

Кросс-корреляция: используется для идентификации ячейки внутри структуры. Например, у вас есть изображение маленького кусочка города и изображение целого города. С помощью взаимной корреляции вы можете определить, где находится эта маленькая картинка внутри всей картины города. Проще говоря, он «сканирует», пока не найдет совпадение. Теперь способ сделать это - найти коэффициент взаимной корреляции, который получается из суммы различных умножений значения, полученного на каждом изображении.

Это очень просто. Если вы хотите понять математику по-дружески, посмотрите это видео. Этот профессор из CALTECH объясняет это лучшим образом, который я когда-либо видел.

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

Удачи.

Andres
источник
2

Вот визуализация двух в случае, если это помогает с интуицией:

http://www.youtube.com/watch?v=Ma0YONjMZLI

user2084538
источник
3
Это очень неудачно выбранная иллюстрация различия между этими двумя операциями, потому что создается впечатление, что результат взаимной корреляции является просто обратным по времени результатом свертки.
Дилип Сарвэйт