我想使用以下代码计算至少有 2000 个点的两个 3D 点云之间的地球移动距离,但是它太慢了,并且不能正常工作。那么,有没有更快的方法来计算或近似计算它呢?
from scipy.spatial.distance import cdist
from scipy.optimize import linear_sum_assignment
def emd(self):
d = cdist(self.X, self.Y)
assignment = linear_sum_assignment(d)
return d[assignment].sum() / min(len(self.X), len(self.Y))