1. A method for representing an image, the image being represented as a Gaussian pyramid, the Gaussian pyramid comprising a plurality of pyramid images, each of the plurality of pyramid images comprising a plurality of pixels, the method comprising: identifying a plurality of feature points in at least one of the plurality of pyramid images; determining one or more orientations of each of the plurality of feature points in the at least one of the plurality of pyramid images based at least in part on two or more of a set of orientation calculating algorithms; extracting one or more patches encompassing each of the plurality of feature points from the at least one of the plurality of pyramid images based at least in part on the one or more orientations and a pre-defined sampling factor of the at least one of the pyramid images; defining one or more feature vectors for each of the one or more patches; and representing the image based at least in part on the plurality of feature points and the one or more feature vectors of the at least one of the plurality of pyramid images.