1. A computer implemented method for fingerprinting image data, the computer implemented method comprising: selecting a first feature point in the image data; identifying a plurality of neighborhood feature points closest in distance to the first feature point; generating a plurality of point vectors, each point vector computed based on distance and angle between a particular neighborhood feature point and the first feature point; and aggregating the plurality of point vectors to generate a fingerprint corresponding to the first feature point.