tancik/StegaStamp

The theory of the random_blur_kernel function?

JisongXie opened this issue · 1 comments

Hi, I can't understand the motion blur kernel, which is implemented in random_blur_kernel function.

def random_blur_kernel(probs, N_blur, sigrange_gauss, sigrange_line, wmin_line):

Is there any paper or other materials which can help me understand it? It seems that it uses gauss function and makes a direction to simulate motion blur. I search Linear Motion Blur, and it's hard to find something related to this. Hope someone who know this can give me some references.

The motion blur implemented is just a heuristic for linear motion blur. Other more accurate implementation are possible. We use a randomly rotated 2D Gaussian kernel with randomly scaled components. In practice this looks like a bivariate normal density - https://en.wikipedia.org/wiki/Multivariate_normal_distribution