Correlation filter output range normalization
I was just working on the same issue and the magnitude was the same as yours (10e-4), but the peak in the middle, in terms of the shape, looked correct.

I was able to solve this problem by scaling back R, by d, the number of pixels in the image.  In my case I am using 64 x 64 pixel images (d = 64*64 = 4096).

Also, make sure you take the real of R, to get rid of the complex part, even though it should be very small, then multiply R by d and your scaling should be correct.  To test this, use an image you trained your filter on and your max(R(:)*d) = 1.0.

% COMPUTE THE CORRELATIN PLANE
R = ifftshift(ifft2(test_img.*conj(H_square)));
R = real(R);
% PLOT THE CORRELATION PLANE
figure;
mesh(R*d)
axis([0 64 0 64 -0.5 1]);