Свертка против корреляции

Может ли кто-нибудь объяснить мне сходства и различия корреляции и свертки? Пожалуйста, объясните интуицию, стоящую за этим, а не математическое уравнение (т.е. переворачивание ядра/импульса). Примеры приложений в области обработки изображений для каждой категории также будут оценены.


person Varo    schedule 02.12.2013    source источник
comment
Этот вопрос кажется не по теме, поскольку он касается теории DSP и относится к dsp.stackexchange.com.   -  person Paul R    schedule 02.12.2013


Ответы (3)


Вы, вероятно, получите гораздо лучший ответ по обмену стеками dsp, но... для начала я нашел ряд похожих терминов, и им может быть сложно определить определения.

  1. Корреляция
  2. Взаимная корреляция
  3. свертка
  4. Коэффициент корреляции
  5. Скользящее точечное произведение
  6. Корреляции Пирсона

1, 2, 3 и 5 очень похожи

4,6 похожи

Обратите внимание, что у всех этих терминов есть точечные произведения, поднимающие голову.

Вы спрашивали о корреляции и свертке - они концептуально одинаковы, за исключением того, что вывод переворачивается в свертке. Я подозреваю, что вы, возможно, спрашивали о разнице между коэффициентом корреляции (например, Пирсона) и сверткой/корреляцией.

Предпосылки

Я предполагаю, что вы знаете, как вычислить скалярное произведение. Учитывая два вектора одинакового размера v и w, каждый из которых состоит из трех элементов, алгебраическое скалярное произведение равно v[0]*w[0]+v[1]*w[1]+v[2]*w[2]

Существует много теорий, лежащих в основе скалярного произведения с точки зрения того, что оно представляет и т. д....

Обратите внимание, что скалярное произведение — это одно число (скалярное), представляющее отображение между этими двумя векторами/точками v,w. В геометрии часто вычисляют косинус угла между двумя векторами, используя скалярное произведение. Косинус угла между двумя векторами находится между -1 и 1, и его можно рассматривать как меру подобия.

Коэффициент корреляции (Пирсон)

Коэффициент корреляции между v, w равной длины — это просто скалярное произведение двух сигналов с нулевым средним значением (вычтите среднее значение v из v, чтобы получить zmv, и среднее значение w из w, чтобы получить zmw — здесь zm — сокращение от нулевого среднего), деленное на величины zmv. и змв.

для получения числа от -1 до 1. Близость к нулю означает низкую корреляцию, близость к +/- 1 - высокую корреляцию. он измеряет сходство между этими двумя векторами.

Подробнее см. http://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient. определение.

Свертка и корреляция

Когда мы хотим сопоставить/свернуть v1 и v2, мы в основном вычисляем ряд скалярных произведений и помещаем их в выходной вектор. Предположим, что v1 — это три элемента, а v2 — 10 элементов. Скалярные произведения, которые мы вычисляем, следующие:

output[0] = v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2]
output[1] = v1[0]*v2[1]+v1[1]*v2[2]+v1[2]*v2[3]
output[2] = v1[0]*v2[2]+v1[1]*v2[3]+v1[2]*v2[4]
output[3] = v1[0]*v2[3]+v1[1]*v2[4]+v1[2]*v2[5]
output[4] = v1[0]*v2[4]+v1[1]*v2[5]+v1[2]*v2[6]
output[5] = v1[0]*v2[7]+v1[1]*v2[8]+v1[2]*v2[9]
output[6] = v1[0]*v2[8]+v1[1]*v2[9]+v1[2]*v2[10] #note this is 
#mathematically valid but might give you a run time error in a computer implementation 

Выходные данные можно перевернуть, если требуется настоящая свертка.

output[5] = v1[0]*v2[0]+v1[1]*v2[1]+v1[2]*v2[2]
output[4] = v1[0]*v2[1]+v1[1]*v2[2]+v1[2]*v2[3]
output[3] = v1[0]*v2[2]+v1[1]*v2[3]+v1[2]*v2[4]
output[2] = v1[0]*v2[3]+v1[1]*v2[4]+v1[2]*v2[5]
output[1] = v1[0]*v2[4]+v1[1]*v2[5]+v1[2]*v2[6]
output[0] = v1[0]*v2[7]+v1[1]*v2[8]+v1[2]*v2[9]

Обратите внимание, что на выходе у нас менее 10 элементов, так как для простоты я вычисляю свертку только там, где определены и v1, и v2.

Заметьте также, что свертка — это просто число скалярных произведений. За прошедшие годы была проделана значительная работа по ускорению сверток. Скользящие скалярные произведения медленны, и их можно ускорить, сначала преобразовав векторы в базисное пространство Фурье, а затем вычислив одно векторное умножение, а затем инвертировав результат, хотя я не буду вдаваться в подробности здесь...

Возможно, вы захотите просмотреть эти ресурсы, а также погуглить: Расчет корреляции и значимости Пирсона на Питоне

person Paul    schedule 02.12.2013

Лучший ответ, который я получил, был из этого документа: http://www.cs.umd.edu/~djacobs/CMSC426/Convolution.pdf

Я просто скопирую выдержку из документа:

«Основное различие между ними заключается в том, что свертка является ассоциативной. То есть, если F и G являются фильтрами, то F*(GI) = (FG)*I. Если вы этого не сделаете, поверьте, попробуйте простой пример, используя, например, F=G=(-1 0 1).Очень удобно, чтобы свертка была ассоциативной.Предположим, например, мы хотим сгладить изображение, а затем взять его производную. Мы могли бы сделать это, свернув изображение с фильтром Гаусса, а затем свернув его с производным фильтром.Но мы могли бы альтернативно свернуть производный фильтр с гауссовым фильтром, чтобы создать фильтр, называемый разностью гауссова (DOG), а затем свернуть это с нашим изображением.Хорошая вещь в этом заключается в том, что фильтр DOG может быть предварительно вычислен, и нам нужно только свернуть один фильтр с нашим изображением.

Как правило, люди используют свертки для операций обработки изображений, таких как сглаживание, и они используют корреляцию для сопоставления шаблона с изображением. Затем мы не возражаем против того, что корреляция не является ассоциативной, потому что на самом деле не имеет смысла объединять два шаблона в один с корреляцией, тогда как нам часто может понадобиться объединить два фильтра вместе для свертки».

person user2569364    schedule 15.06.2016

Свертка аналогична корреляции, за исключением того, что мы переворачиваем фильтр перед корреляцией.

person Yousaf Ali    schedule 15.02.2016
comment
Этот ответ не добавляет ничего нового к ответам выше! - person Ali; 27.07.2017
comment
но это коротко и в значительной степени то, что я искал. Чего не хватает в этом ответе, так это того, как его перевернуть. Я считаю, что это и по вертикали, и по горизонтали листать - person lucidbrot; 22.10.2017