Направление ядра имеет значение
В вещественном скользящем окне cross-correlation использует ядро без переворота:
При x=[1,2,3,4],h=[1,−1],p0,s1 результат[−1,−1,−1]. Та же valid-window convolution с перевёрнутым ядром даёт[1,1,1]. Отличие знака — следствие порядка весов, не названия функции. Для комплексных сигналов correlation обычно включает сопряжение; здесь используются только вещественные числа.
CNN-библиотеки традиционно называют «convolution» именно cross-correlation. Для обучаемого ядра это не ограничивает семейство функций: переворот можно включить в параметры. Но замена операции при тех же уже заданных числах обычно меняет ответ. H05 прямо разделяет эти случаи.
Исследовать. Выберите kernel[.25,.5,.25], затем[1,−1]. В первом случае обе операции совпадают из-за симметрии; во втором — нет. Объясните, почему проверка только симметричным blur не обнаружила бы ошибку реализации.
Cross-correlation как ненормированная сумма произведений зависит от масштаба сигнала и шаблона. Она не автоматически равна коэффициенту корреляции Пирсона или cosine similarity. Нормирование требует дополнительных определений.