A method of generating an image vector, the method comprising: extracting feature data from a first image, the feature data including: location data that indicates a plurality of locations within the first image; and a plurality of feature vectors that each correspond to one of the plurality of locations of the location data in which each feature vector represents a feature of a first object depicted in the first image at its corresponding location; determining a feature-data plot of the feature vectors based on relative positions of the plurality of locations with respect to each other; selecting a grid that overlays the feature-data plot by: determining sections of a first axis and a second axis by placing a distribution curve along the first axis and the second axis and by spacing the sections according to a spacing of equal portions of the area beneath the distribution curve, the distribution curve corresponding to a selected probability distribution of the feature-data plot, and dividing the feature-data plot into multiple cells that correspond to different portions of the feature-data plot by overlapping the sections of the first axis and the second axis, the first axis and the second axis being determined so as to maximize a variance between the locations of the feature vectors and the first axis and the second axis; generating multiple representative feature vectors in which each respective representative feature vector is generated by averaging feature vectors of a corresponding set of feature vectors that is associated with a respective cell that corresponds to the respective representative feature vector; generating a single feature vector that represents the first object in the first image by concatenating each of the multiple representative feature vectors; encrypting the single feature vector to generate an encrypted first single feature vector; comparing the encrypted first single feature vector to an encrypted second single feature vector, wherein the encrypted second single feature vector represents a second object of a second image; and determining whether the first object and the second object are the same based on the comparing the encrypted first single feature vector to the encrypted second single feature vector. extracting feature data from a first image, the feature data including: location data that indicates a plurality of locations within the first image; and a plurality of feature vectors that each correspond to one of the plurality of locations of the location data in which each feature vector represents a feature of a first object depicted in the first image at its corresponding location; location data that indicates a plurality of locations within the first image; and a plurality of feature vectors that each correspond to one of the plurality of locations of the location data in which each feature vector represents a feature of a first object depicted in the first image at its corresponding location; determining a feature-data plot of the feature vectors based on relative positions of the plurality of locations with respect to each other; selecting a grid that overlays the feature-data plot by: determining sections of a first axis and a second axis by placing a distribution curve along the first axis and the second axis and by spacing the sections according to a spacing of equal portions of the area beneath the distribution curve, the distribution curve corresponding to a selected probability distribution of the feature-data plot, and dividing the feature-data plot into multiple cells that correspond to different portions of the feature-data plot by overlapping the sections of the first axis and the second axis, the first axis and the second axis being determined so as to maximize a variance between the locations of the feature vectors and the first axis and the second axis; determining sections of a first axis and a second axis by placing a distribution curve along the first axis and the second axis and by spacing the sections according to a spacing of equal portions of the area beneath the distribution curve, the distribution curve corresponding to a selected probability distribution of the feature-data plot, and dividing the feature-data plot into multiple cells that correspond to different portions of the feature-data plot by overlapping the sections of the first axis and the second axis, the first axis and the second axis being determined so as to maximize a variance between the locations of the feature vectors and the first axis and the second axis; generating multiple representative feature vectors in which each respective representative feature vector is generated by averaging feature vectors of a corresponding set of feature vectors that is associated with a respective cell that corresponds to the respective representative feature vector; generating a single feature vector that represents the first object in the first image by concatenating each of the multiple representative feature vectors; encrypting the single feature vector to generate an encrypted first single feature vector; comparing the encrypted first single feature vector to an encrypted second single feature vector, wherein the encrypted second single feature vector represents a second object of a second image; and determining whether the first object and the second object are the same based on the comparing the encrypted first single feature vector to the encrypted second single feature vector.