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


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),


5

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

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

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

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

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

Удачи.


2

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

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


3
Это очень неудачно выбранная иллюстрация различия между этими двумя операциями, потому что создается впечатление, что результат взаимной корреляции является просто обратным по времени результатом свертки.
Дилип Сарвэйт
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.