1. A method for representing an image, comprising the steps of: extracting features from the image, wherein the features are scale-invariant; projecting the features to produce a matrix of random projections by multiplying the features by a matrix of random entries; and quantizing the matrix of random projections to produce a matrix of quantization indices, wherein the steps are performed by a processor in a client.