IP Library Granted Patent US 8,879,803
Granted Patent B2
US 8,879,803 · App. 13/326,255 · Granted Nov 4, 2014

Method, apparatus, and computer program product for image clustering

Inventors: Soumik Ukil (Bangalore, IN); Basavaraj SV (Bangalore, IN); Pranav Mishra (Bangalore, IN)
Assignee: Nokia Corporation
G06K17/30256G06F17/3028G06K9/00288G06K9/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 8,879,803
App. No.
13/326,255
Granted
Nov 4, 2014
Kind
B2
Abstract

Various methods for clustering images of faces are provided. One example method may include receiving a plurality of input clusters including a first cluster and at least a second cluster, where each input cluster including at least one feature that was extracted from an image. The example method may further include determining a first medoid for the first cluster and a second medoid for the second cluster, determining an inter-cluster distance between the first medoid and the second medoid, and merging the first cluster with the second cluster to generate a merged cluster in an instance in which the inter-cluster distance is less than a distance threshold. Similar and related example methods, example apparatuses, and example computer program products are also provided.

Claims (84)

1. A method comprising:

receiving a plurality of input clusters including a first cluster and at least a second cluster, input clusters including at least one feature, wherein features are extracted from an image, and clusters having a medoid, the medoid of a given cluster being a particular feature of the given cluster that, relative to distances between the features within the given cluster, is closest to the most distant feature from that particular feature;

determining a first medoid for the first cluster and a second medoid for the second cluster;

determining an inter-cluster distance between the first medoid and the second medoid;

merging the first cluster with the second cluster to generate a merged cluster in an instance in which the inter-cluster distance is less than a distance threshold;

receiving a plurality of features derived from a plurality of facial images;

splitting the plurality of features into two clusters using a clustering algorithm in an instance in which a medoid of the plurality of features is farther than the threshold distance from any feature within plurality of features;

recursively splitting clusters in two additional clusters using the clustering algorithm in an instance in which a medoid of the respective cluster is farther than the threshold distance from any feature within the respective cluster; and

including the clusters resulting from the recursive splitting in the plurality of input clusters.

2. The method of claim 1 , further comprising:

including the merged cluster in the plurality of input clusters; and

repeatedly merging input clusters until all inter-cluster distances between the medoids of the clusters are greater than the distance threshold.

3. The method of claim 1 , wherein the method further comprises:

receiving a set of facial images; and

for facial images the set:

detecting a position of a right eye and a position of a left eye,

determining a eye-to-eye distance between the position of the right eye and the position of the left eye,

normalizing the face based at least on the eye-to-eye distance, and

extracting features from the normalized face for inclusion in the plurality of features.

4. The method of claim 1 , wherein the merged cluster is associated with facial images of a particular individual.

5. The method of claim 1 , wherein determining the inter-cluster distance includes:

determining a first projection by projecting the first medoid onto a subspace that is derived from orthogonal vectors based on a mirror image of the first medoid;

determining a second projection by projecting the second medoid onto a subspace that is derived from orthogonal vectors based on a mirror image of the second medoid; and

determining the inter-cluster distance based on the first projection and the second projection.

6. The method of claim 1 further comprising merging a singleton cluster with the merged cluster in an instance in which a distance between the singleton cluster and the merged cluster is less than the distance threshold.

7. The method of claim 1 further comprising merging a given merged cluster with the merged cluster in an instance in which a distance between the given merged cluster and the merged cluster is less than the distance threshold.

8. An apparatus comprising:

at least one processor; and

at least one memory comprising computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to:

receive a plurality of input clusters including a first cluster and at least a second cluster, input clusters including at least one feature, wherein features are extracted from an image, and clusters having a medoid, the medoid of a given cluster being a particular feature of the given cluster that, relative to distances between the features within the given cluster, is closest to the most distant feature from that particular feature;

determine a first medoid for the first cluster and a second medoid for the second cluster;

determine an inter-cluster distance between the first medoid and the second medoid;

merge the first cluster with the second cluster to generate a merged cluster in an instance in which the inter-cluster distance is less than a distance threshold;

receive a plurality of features derived from a plurality of facial images;

split the plurality of features into two clusters using a clustering algorithm in an instance in which a medoid of the plurality of features is farther than the threshold distance from any feature within plurality of features;

recursively split clusters in two additional clusters using the clustering algorithm in an instance in which a medoid of the respective cluster is farther than the threshold distance from any feature within the respective cluster; and

include the clusters resulting from the recursive splitting in the plurality of input clusters.

9. The apparatus of claim 8 , wherein the apparatus is further cause caused to:

include the merged cluster in the plurality of input clusters; and

repeatedly merge input clusters until all inter-cluster distances between the medoids of the input clusters are greater than the distance threshold.

10. The apparatus of claim 8 , wherein the apparatus is further caused to:

receive a set of facial images; and

for facial images in the set:

detect a position of a right eye and a position of a left eye,

determine a eye-to-eye distance between the position of the right eye and the position of the left eye,

normalize the face based at least on the eye-to-eye distance, and

extract features from the normalized face for inclusion in the plurality of features.

11. The apparatus of claim 8 , wherein the merged cluster is associated with facial images of a particular individual.

12. The apparatus of claim 8 , wherein the apparatus is further caused to:

determine a first projection by projecting the first medoid onto a subspace that is derived from orthogonal vectors based on a mirror image of the first medoid;

determine a second projection by projecting the second medoid onto a subspace that is derived from orthogonal vectors based on a mirror image of the second medoid; and

determine the inter-cluster distance based on the first projection and the second projection.

13. The apparatus of claim 8 , wherein the apparatus is further caused to merge a singleton cluster with the merged cluster in an instance in which a distance between the singleton cluster and the merged cluster is less than the distance threshold.

14. The apparatus of any claim 8 , wherein the apparatus is further caused to merge a given merged cluster with the merged cluster in an instance in which a distance between the given merged cluster and the merged cluster is less than the distance threshold.

15. The apparatus of claim 8 , wherein the apparatus comprises a mobile device.

16. The apparatus of claim 15 , wherein the apparatus comprises a communication device comprising:

a user interface circuitry and user interface software configured to facilitate a user to control at least one function of the communication device through use of a display and further configured to respond to user inputs; and

a display circuitry configured to display at least a portion of a user interface of the communication device, the display and display circuitry configured to facilitate the user to control at least one function of the communication.

17. A computer program product comprising at least one computer readable medium having program code stored thereon, the program code which when executed by an apparatus cause the apparatus at least to:

receive a plurality of input clusters including a first cluster and at least a second cluster, input clusters including at least one feature, wherein features are extracted from an image, and clusters having a medoid, the medoid of a given cluster being a particular feature of the given cluster that, relative to distances between the features within the given cluster, is closest to the most distant feature from that particular feature;

determine a first medoid for the first cluster and a second medoid for the second cluster;

determine an inter-cluster distance between the first medoid and the second medoid;

merge the first cluster with the second cluster to generate a merged cluster in an instance in which the inter-cluster distance is less than a distance threshold;

receive a plurality of features derived from a plurality of facial images;

split the plurality of features into two clusters using a clustering algorithm in an instance in which a medoid of the plurality of features is farther than the threshold distance from any feature within plurality of features;

recursively split clusters in two additional clusters using the clustering algorithm in an instance in which a medoid of the respective cluster is farther than the threshold distance from any feature within the respective cluster; and

include the clusters resulting from the recursive splitting in the plurality of input clusters.

18. The computer program product of claim 17 , wherein the computer program code further causes the apparatus to:

include the merged cluster in the plurality of input clusters; and

repeatedly merge input clusters until all inter-cluster distances between the medoids of the input clusters are greater than the distance threshold.

19. The computer program product of claim 17 , wherein the computer program code further causes the apparatus to:

receive a set of facial images; and

for facial images in the set:

detect a position of a right eye and a position of a left eye,

determine a eye-to-eye distance between the position of the right eye and the position of the left eye,

normalize the face based at least on the eye-to-eye distance, and

extract features from the normalized face for inclusion in the plurality of features.

20. The computer program product of claim 17 , wherein the merged cluster is associated with facial images of a particular individual.

21. The computer program product of claim 17 , wherein the computer program code that causes the apparatus to determine the inter-cluster distance includes computer program code that causes the apparatus to:

determine a first projection by projecting the first medoid onto a subspace that is derived from orthogonal vectors based on a mirror image of the first medoid;

determine a second projection by projecting the second medoid onto a subspace that is derived from orthogonal vectors based on a mirror image of the second medoid; and

determine the inter-cluster distance based on the first projection and the second projection.

22. The computer program product of claim 17 , wherein the computer program code further causes the apparatus to merge a singleton cluster with the merged cluster in an instance in which a distance between the singleton cluster and the merged cluster is less than the distance threshold.

23. The computer program product of claim 17 , wherein the computer program code further causes the apparatus to merge a given merged cluster with the merged cluster in an instance in which a distance between the given merged cluster and the merged cluster is less than the distance threshold.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 20, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035449/0205 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2012
From: UKIL, SOUMIK; SV, BASAVARAJA; MISHRA, PRANAV
To: NOKIA CORPORATION
Reel/Frame 027694/0566 →
Priority Claims (1)
IN 4021/CHE/2010 · Dec 30, 2010 · national
Continuity (1)
Related Publication 20120321193A1 · Dec 20, 2012