Sunday, 24 July 2016

image processing - Kernel Convolution in Frequency Domain - Cyclic Padding


I don't know whether this is the right place to post this, but I suppose it is.


I know that frequency multiplication = circular convolution in time space for discrete signals (vectors).


I also know that "the convolution theorem yields the desired linear convolution result only if x(n) and h(n) are padded with zeros prior to the DFT such that their respective lengths are Nx+Nh-1, essentially zeroing out all circular artifacts."


and everything works with vectors.. but my goal is circular convolution with matrices as in this paper:



http://developer.download.nvidia.com/compute/cuda/2_2/sdk/website/projects/convolutionFFT2D/doc/convolutionFFT2D.pdf


If you watch the first two figures (figure 1 and 2) you'll see that the kernel is padded in a weird way I've never seen before, what's this?



Answer



Figures 1 and 2 are not showing any padding whatsoever. The larger matrix is the data (probably image) matrix, not a padded kernel matrix. The figures are simply showing how the circular aspect of the convolution works in 2 dimensions.


No comments:

Post a Comment

readings - Appending 内 to a company name is read ない or うち?

For example, if I say マイクロソフト内のパートナーシップは強いです, is the 内 here read as うち or ない? Answer 「内」 in the form: 「Proper Noun + 内」 is always read 「ない...