Splot 2D: Przerzucanie jądra?

16

Dlaczego w pierwszej kolejności musimy przerzucać jądro w trybie splotu 2D? Jaka jest z tego korzyść? Dlaczego więc nie możemy pozostawić tego nieprzypiętego? http://www.songho.ca/dsp/convolution/convolution2d_example.html

Wejście Wejście

jądro jądro

wynik wynik

„Najpierw odwróć jądro, które jest zacienionym pudełkiem, zarówno w kierunku poziomym, jak i pionowym” http://www.songho.ca/dsp/convolution/files/conv_img16.gif

użytkownik1095332
źródło

Odpowiedzi:

7

Jeśli nie przerzucisz jądra, po prostu uzyskasz inną operację, która nazywa się korelacją krzyżową. Kiedy filtr jest symetryczny, jak Gaussa lub Laplaciana, splot i korelacja pokrywają się. Ale gdy filtr nie jest symetryczny, jak pochodna, otrzymujesz różne wyniki.

Powodem, dla którego preferuje się splot zamiast korelacji, jest to, że ma on lepsze właściwości matematyczne. W szczególności splot jest asocjacyjny, podczas gdy korelacja w ogóle nie jest.

Aby uzyskać bardziej techniczne wyjaśnienie, musimy przejść do dziedziny częstotliwości. Główne twierdzenie o zwojach stwierdza, że ​​forma tansa Fouriera zwoju dwóch funkcji i jest równa (do stałej zależnej od transformacji) iloczynowi transformat Fouriera dwóch funkcji. W symbolach fgfg

F{fg}=kF{f}F{g}

gdzie jest transformatą Fouriera. W przypadku korelacji mnożenie przez koniugat złożony byłoby mniej przyjemne, a w szczególności niepowiązane.F

Inną interesującą właściwością splotu jest to, że po zwojeniu jądra za pomocą impulsu jednostkowego (np. Macierz z pojedynczym 1 w środku, a w przeciwnym razie 0), otrzymujesz samo jądro. Zamiast tego korelacja odwróciłaby jądro.

Andrea Asperti
źródło