IMAGE CLUSTERING
First Claim
1. A method implemented by one or more computers to cluster images, the method comprising:
- accessing a set of images, each image having a corresponding feature set, respectively;
perform a first clustering step comprising forming initial clusters of the feature sets;
computing cluster descriptors for the initial clusters, respectively, where a descriptor for a given initial cluster is computed by selecting feature integers from among the feature sets in the given initial cluster, each feature set in the given initial cluster corresponding to a different one of the images in the set of images;
refining the initial clusters by comparing at least some of the feature sets of the images with at least some of the cluster descriptors, and based on such comparing moving some of the features sets from corresponding initial clusters to other initial clusters.
2 Assignments
0 Petitions
Accused Products
Abstract
A database of images may be accessed. A feature set may be computed for each image, respectively. Each feature set includes feature integers quantized from interest points of a corresponding image. An initial set of clusters of the feature sets is found based on min hashes of the feature sets. Given the clusters of feature sets, descriptors for each of the clusters are computed, respectively, by selecting feature integers from among the feature sets in a cluster. The clusters are then refined by comparing at least some of the feature sets with at least some of the cluster descriptors, and based on such comparing adding some of the feature sets to clusters whose feature descriptors have similarity to the feature sets.
41 Citations
20 Claims
-
1. A method implemented by one or more computers to cluster images, the method comprising:
-
accessing a set of images, each image having a corresponding feature set, respectively; perform a first clustering step comprising forming initial clusters of the feature sets; computing cluster descriptors for the initial clusters, respectively, where a descriptor for a given initial cluster is computed by selecting feature integers from among the feature sets in the given initial cluster, each feature set in the given initial cluster corresponding to a different one of the images in the set of images; refining the initial clusters by comparing at least some of the feature sets of the images with at least some of the cluster descriptors, and based on such comparing moving some of the features sets from corresponding initial clusters to other initial clusters. - View Dependent Claims (2, 3, 4, 5)
-
- 6. A method according to claim 6, wherein whether a feature set is moved to another cluster is determined based on the number of feature integers common to both the feature set and the cluster descriptor of the other cluster.
-
8. One or more computer-readable storage storing information to enable one or more computers to perform a process, the process comprising:
-
accessing a plurality of feature sets of respective images, each feature set of an image comprising a plurality of features of the image; for each feature set, given a feature set, computing a plurality of sketches, each sketch of the feature set comprising a concatenation of hashes of the feature set; placing the feature sets in clusters based on the respective sketches; adding a set of the feature sets to a set of the clusters, where, for a given one of the features sets in the set of features, and for a given one of the clusters in the set of clusters, a determination is made whether to add the given feature set to the given cluster based on the features of the given feature set and based on features from among the feature sets in the given cluster; and based on the added-to clusters of feature sets, storing information indicating which images belong to which clusters. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computing device comprising:
-
memory storing a plurality of feature sets, each feature set comprising a plurality of features of a corresponding image; a processor executing instructions that access the feature sets and store in the memory information indicating clusters of the feature sets, the clusters having been computed by the processor computing min hashes of the feature sets and determining which feature sets belong to which clusters based on which feature sets have min hashes with common values; the processor computing and storing in the memory cluster descriptors for the clusters, respectively, a cluster descriptor comprising a plurality of features from the feature sets in the corresponding cluster; and the processor altering the clusters stored in the memory by adding some of the feature sets to some of the clusters, where the processor determines whether to add a feature set to a cluster based on the features in the feature set and based on the cluster descriptor for the feature set. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification