Itseez/opencv — pull request #2059 by pemmanuelviel (2013-12-26 02:05:06+00:00)
Title: Add a new method for initializing KMeans centers that leads to better clusters and thus better retrieval when final centers have to be existing keypoints instead of clusters barycenters.

Chooses the initial centers in a way inspired by Gonzales :
select the first point of the list as a candidate, then parse the points list. If another point is further than current candidate from the other centers, test if it is a good center of a local points aggregation. If it is, replace current candidate by this point. And so on...

Used with HierarchicalClusteringIndex class that picks centers among existing points instead of computing the barycenters, there is a real improvement while retrieving keypoints.