1. An apparatus for generating feature vectors and sending them to a server for information retrieval, the apparatus comprising: one or more processors; a feature extraction module stored on a memory and executable by the one or more processors, the feature extraction module having an input and an output for extracting features from an image, the input of the feature extraction module coupled to receive the image; a grouping module stored on the memory and executable by the one or more processors, the grouping module having an input and an output for dividing the extracted features into groups of feature vectors, each group of feature vectors including a predefined percentage of a full feature set extracted from the image, the grouping module ordering and grouping the feature vectors in response to receiving a hint from a feedback receiver; the input of the grouping module coupled to the output of the feature extraction module; a sending module stored on the memory and executable by the one or more processors, the sending module having an input and an output for transmitting the groups of feature vectors to the server, wherein each group of feature vectors including the predefined percentage of the full feature set of the image is sent progressively and serially until the server identifies a matching result from a database of information, the input of the sending module coupled to the output of the grouping module, and the output of the sending module coupled to a network to access the server; and the feedback receiver having an input and an output, the input of the feedback receiver coupled to receive a hint from the server that identifies features that most reduce a size of a candidate list of matching results from the server, and the output of the feedback receiver coupled to the input of the grouping module.