Numerical differentiation of 2D functions from noisy data