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.