Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Find point correspondence between two point sets minimizing the sum of distance of all matches

My question is, given two point sets A and B, element size of A is no more than that of B, is there any efficient way to find the corresponding point in B for each point in A, such that the sum of distance of all matches is minimal? Each point in B can be used no more than once. Thank you very much!

like image 238
Chai ML Avatar asked Dec 03 '12 08:12

Chai ML


1 Answers

Yes, the Hungarian Algorithm for weighted bipartite matching.

For each edge between an element of A and an element of B, let the weight of that edge be the distance between them. Then, run the Hungarian Algorithm minimizing the total sum of the weights.

The total run time is O(|A|^3).

like image 140
jonathanasdf Avatar answered Oct 21 '22 10:10

jonathanasdf