I am implementing the CV detection pipeline with the use of SIFT and KNN Matcher.

Image keypoints matched to the query keypoints produce the following image:

enter image description here

The matched objects have a lot of key points on them and there are some false matches. I would like to consider spots with a lot of matches as detections of the query object and ignore isolated points.

What would be an appropriate clustering method, where one can put a limit on points in a neighborhood of some radius to declater this set of points a cluster?

KMeans is not a good idea, since it takes a fixed number of points and doesn't throw outliers.

From the algorithms proposed in sklearn, seems like DBSCAN and Agglomerative clustering are a good choice, since they allow for variable number of clusters, unknown apriori and outlier removal.

Or there is better alternative?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.