2D згортка: гортання ядра?


16

Чому нам потрібно перевернути ядро ​​в 2D згортці в першу чергу? Яка користь від цього? Отже, чому ми не можемо залишити його розкрученим? http://www.songho.ca/dsp/convolution/convolution2d_example.html

вхід вхід

ядро ядро

вихід вихід

"Спочатку переверніть ядро, яке є затіненою коробкою, і в горизонтальному, і у вертикальному напрямку" http://www.songho.ca/dsp/convolution/files/conv_img16.gif

Відповіді:


7

Якщо ядро ​​не перевернути, ви просто отримаєте іншу операцію, яка називається перехресною кореляцією. Коли фільтр симетричний, як гауссовий або лаплакійський, згортка і кореляція збігаються. Але коли фільтр не симетричний, як похідний, ви отримуєте різні результати.

Причина, чому згортання віддається перевазі кореляції, полягає в тому, що він має приємніші математичні властивості. Зокрема, згортка асоціативна, тоді як кореляція взагалі не є.

Для отримання більш технічного пояснення нам потрібно зайти в частотну область. Основна теорема згортків стверджує, що танформа Фур'є згортки двох функцій і дорівнює (до постійної в залежності від перетворення) добутку перетворень Фур'є двох функцій. У символах fгfг

Ж{fг}=кЖ{f}Ж{г}

де - перетворення Фур'є. У випадку кореляції ви отримаєте множення на складний сполучник, що є менш приємним і, зокрема, не асоціативним.Ж

Ще одна цікава властивість згортки полягає в тому, що, поєднуючи ядро ​​з одиничним імпульсом (наприклад, матриця з одинарним 1 в центрі і 0 в іншому випадку), ви отримуєте саме ядро ​​в результаті. Кореляція замість цього переверне ядро.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.