1. A method for sensing motion of an object with respect to a surface, comprising: taking a reference image of the surface via a photo detector attached to the object and having a plurality of pixels arranged in a two dimensional array; taking a sample image of the surface at a time interval after taking the reference image; comparing the sample image and the reference image to generate a correlation function; shifting one of the reference image and the sample image to a plurality of pixels in an anisotropic pattern surrounding an original pixel thereof to generate a plurality of shifted images; comparing another one of the sample image and the reference image that is not shifted with the plurality of shifted images to generate a plurality of shifted correlation functions; and calculating a motion vector representing a displacement of the object with respect to the surface during the time interval from the correlation function and the plurality of the shifted correlation functions.