IP Library › Granted Patent US 11,386,145
Granted Patent B2
US 11,386,145 · App. 16/456,670 · Granted Jul 12, 2022

Incremental agglomerative clustering of digital images

Inventor: Damanjit Singh (Rohini, IN)
Assignee: Adobe Inc.
G06F16/55G06F16/583G06K9/6215G06K9/6219
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,386,145
App. No.
16/456,670
Filed
Jun 28, 2019
Granted
Jul 12, 2022
Kind
B2
Art Unit
2154
USPC
707/737
Abstract

Techniques are disclosed for incremental agglomerative clustering of data, including but not limited to digital image data. Fewer than all of a plurality of existing digital image fingerprints are sampled from a first hierarchical data cluster of digital image fingerprints stored in a data storage device, the first hierarchical data cluster excluding a new digital image fingerprint. The new digital image fingerprint and the existing digital image fingerprints sampled from the first hierarchical data cluster are clustered to produce a second hierarchical data cluster of digital image fingerprints, the second hierarchical data cluster including the new digital image fingerprint. If a majority of the existing digital image fingerprints in the first hierarchical data cluster match the new digital image fingerprint, then the second hierarchical data cluster is mapped to the first hierarchical data cluster based on the determination.

Claims (34)

1. In a digital medium environment for processing digital images, a computer-implemented method of incremental agglomerative clustering of data, the method comprising:

sampling, by at least one processor, fewer than all of a plurality of existing digital image fingerprints from a first hierarchical data cluster of digital image fingerprints stored in a data storage device, the first hierarchical data cluster excluding a new digital image fingerprint;

clustering, by the at least one processor, the new digital image fingerprint and the existing digital image fingerprints sampled from the first hierarchical data cluster to produce a second hierarchical data cluster of digital image fingerprints, the second hierarchical data cluster including the new digital image fingerprint;

determining, by the at least one processor, that a majority of the existing digital image fingerprints in the first hierarchical data cluster match the new digital image fingerprint; mapping, by the at least one processor, the second hierarchical data cluster to the first hierarchical data cluster based on the determination, wherein the first hierarchical data cluster includes a plurality of different hierarchical data clusters, wherein the determining includes determining which one of the different hierarchical data clusters includes the majority of the existing digital image fingerprints that match the new digital image fingerprint, and wherein the mapping includes mapping the second hierarchical data cluster to the one of the different hierarchical data clusters including the majority of the existing digital image fingerprints that match the new digital image fingerprint; and

storing a representation of the mapping in the data storage device.

2. The method of claim 1 , further comprising storing, by the least one processor, the second hierarchical data cluster in the data storage device.

3. The method of claim 1 , further comprising receiving, by the at least one processor, the new digital image and computing, by the at least one processor, the new digital image fingerprint based on the new digital image.

4. The method of claim 1 , further comprising causing, by the at least one processor, display of at least one digital image corresponding to one of the existing digital image fingerprints in the first hierarchical data cluster in response to the mapping.

5. The method of claim 1 , wherein the clustering includes determining a similarity between each of the existing digital image fingerprints sampled from the hierarchical data cluster and the new digital image fingerprint using a distance function, and the determining that an existing digital image fingerprint in the first hierarchical data cluster matches the new digital image fingerprint is based on that existing digital image fingerprint being within a threshold distance of the new digital image fingerprint, according to the distance function.

6. The method of claim 1 , further comprising determining a first group identification value associated with the first hierarchical data cluster of digital image fingerprints and a second group identification value associated with the second hierarchical data cluster of digital image fingerprints, wherein the determining includes determining that the first group identification value matches the second group identification value.

7. A computer program product including one or more non-transitory machine-readable media having instructions encoded thereon that when executed by at least one processor causes a process to be carried out for incremental agglomerative clustering of digital image data, the process comprising:

sampling, by the at least one processor, fewer than all of a plurality of existing digital image fingerprints from a first hierarchical data cluster of digital image fingerprints stored in a data storage device, the first hierarchical data cluster excluding a new digital image fingerprint;

clustering, by the at least one processor, the new digital image fingerprint and the existing digital image fingerprints sampled from the first hierarchical data cluster to produce a second hierarchical data cluster of digital image fingerprints, the second hierarchical data cluster including the new digital image fingerprint;

mapping, by the at least one processor, the second hierarchical data cluster to the first hierarchical data cluster;

determining, by the at least one processor, that a majority of the existing digital image fingerprints in the first hierarchical data cluster match the new digital image fingerprint, wherein the first hierarchical data cluster includes a plurality of different hierarchical data clusters, wherein the determining includes determining which one of the different hierarchical data clusters includes the majority of the existing digital image fingerprints that match the new digital image fingerprint, and wherein the mapping includes mapping the second hierarchical data cluster to the one of the different hierarchical data clusters including the majority of the existing digital image fingerprints that match the new digital image fingerprint; and

storing the mapping in the data storage device.

8. The computer program product of claim 7 , wherein the process further comprises storing, by the least one processor, the second hierarchical data cluster in the data storage device.

9. The computer program product of claim 7 , wherein the process further comprises receiving, by the at least one processor, the new digital image and computing, by the at least one processor, the new digital image fingerprint based on the new digital image.

10. The computer program product of claim 7 , wherein the process further comprises causing at least one digital image corresponding to one of the existing digital image fingerprints in the first hierarchical data cluster to be displayed in response to the mapping.

11. The computer program product of claim 7 , wherein the clustering includes determining a similarity between each of the existing digital image fingerprints sampled from the hierarchical data cluster and the new digital image fingerprint using a distance function, and the determining that an existing digital image fingerprint in the first hierarchical data cluster matches the new digital image fingerprint is based on that existing digital image fingerprint being within a threshold distance of the new digital image fingerprint, according to the distance function.

12. The computer program product of claim 7 , further comprising determining a first group identification value associated with the first hierarchical data cluster of digital image fingerprints and a second group identification value associated with the second hierarchical data cluster of digital image fingerprints, wherein the determining includes determining that the first group identification value matches the second group identification value.

13. A system for incremental agglomerative clustering of digital image data, the system comprising:

at least one processor; and

a storage operatively coupled to the at least one processor and for storing instructions that when executed by the at least one processor cause the at least one processor to carry out a process for incremental agglomerative clustering of digital image data, the process comprising:

clustering a new digital image fingerprint and fewer than all of a plurality of existing digital image fingerprints in a first hierarchical data cluster to produce a second hierarchical data cluster of digital image fingerprints, the first hierarchical data cluster excluding a new digital image fingerprint and the second hierarchical data cluster including the new digital image fingerprint;

mapping the second hierarchical data cluster to the first hierarchical data cluster;

determining that a majority of the existing digital image fingerprints in the first hierarchical data cluster match the new digital image fingerprint, wherein the mapping includes mapping the second hierarchical data cluster to the first hierarchical data cluster including the majority of the existing digital image fingerprints that match the new digital image fingerprint,

wherein the first hierarchical data cluster includes a plurality of different hierarchical data clusters, wherein the determining includes determining which one of the different hierarchical data clusters includes the majority of the existing digital image fingerprints that match the new digital image fingerprint, wherein the mapping includes mapping the second hierarchical data cluster to the one of the different hierarchical data clusters including the majority of the existing digital image fingerprints that match the new digital image fingerprint; and

storing the mapping in a data storage device.

14. The system of claim 13 , wherein the process further comprises:

determining that a majority of the existing digital image fingerprints in the first hierarchical data cluster match the new digital image fingerprint, wherein the mapping includes mapping the second hierarchical data cluster to the first hierarchical data cluster including the majority of the existing digital image fingerprints that match the new digital image fingerprint.

15. The system of claim 13 , wherein the process further comprises receiving, by the at least one processor, the new digital image and computing, by the at least one processor, the new digital image fingerprint based on the new digital image.

16. The system of claim 13 , wherein the clustering includes determining a similarity between each of the existing digital image fingerprints sampled from the hierarchical data cluster and the new digital image fingerprint using a distance function, and the determining that an existing digital image fingerprint in the first hierarchical data cluster matches the new digital image fingerprint is based on that existing digital image fingerprint being within a threshold distance of the new digital image fingerprint, according to the distance function.

17. The system of claim 13 , wherein the process further comprises determining a first group identification value associated with the first hierarchical data cluster of digital image fingerprints and a second group identification value associated with the second hierarchical data cluster of digital image fingerprints, wherein the determining includes determining that the first group identification value matches the second group identification value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2019
From: SINGH, DAMANJIT
To: ADOBE INC.
Reel/Frame 049624/0444 →
Continuity (1)
Related Publication 20200409988A1 · Dec 31, 2020
Cited By (1)
US 12,436,981