1. A method, comprising: obtaining a plurality of digital images; for each digital image of the plurality of digital images: associating the digital image with a unique identifier; generating perceptual information from the digital image; determining a digital fingerprint for the digital image by converting the perceptual information into a numerical value; and comparing the digital fingerprint of the digital image to the digital fingerprints of at least a portion of the plurality of digital images by comparing a sub-value of the numerical values of the digital fingerprints to determine perceptually similar images; clustering the perceptually similar images together and assigning a canonical identifier to each digital image in a given cluster; and storing each data cluster in a database in an electronic memory by storing a relationship between the unique identifier and the canonical identifier of each corresponding digital image of the plurality of digital images.