An architecture and method useful for fast one-to-many image matching and
image indexing. A plurality of images in a database are digitized into a
plurality of descriptors. The descriptors are separated into a plurality
of index groups. Index values for the images in the database are then
calculated for the various index groups. An index value, for example,
could be calculated as the average of the descriptors in a particular
group. A source groups of images having particular index values over a
particular threshold value are identified. When matching a target image
to images in the database, the index values are calculated for the target
image and compared to the threshold value. Source groups of images having
similar index values over the threshold are then identified for further
matching to the target image.