An image management method and
system provides for storing, indexing, searching and / or retrieving image data. The content of an image collection is pre-processed to identify stable and repeatable keypoints for each image in the collection.
Fingerprint information is computed from local groups of keypoints, and the resulting
fingerprint information is stored in a compact
fingerprint database. The computing of the
fingerprint information is based on combinations of a subgroup of the strongest keypoints in an image, called anchor keypoints, in addition to a number of non-anchor keypoints. For each fingerprint in the compact
fingerprint database, a sequence of candidate fingerprint combinations is generated and stored in a Fan Tree and / or hashtable and a corresponding fingerprint
data structure. The sequence of fingerprint combinations allows several non-anchor keypoints to be missing, while still allowing the
system and method to correctly detect fingerprints with high accuracy. A realtime
image query is performed by identifying keypoints and computing fingerprints from the query image and matching the query fingerprints to the existing Fan Tree and / or hashtable fingerprint data to determine the
best matching image or set of images within the collection. At least one target image is retrieved based on the determining operation, and the retrieved target image is displayed, printed, stored and / or transmitted.