I'm wondering if an optimisation is possible for the situation where I'm repeatedly computing chamfer loss (and hence KNN search with K=1) when one of the two point clouds is fixed?
It seems like it should be possible to put the fixed shape into a KNN search tree, keep this fixed and use it for one of the two directions of chamfer loss. Then only one KNN search tree will need building on the fly.
Would this indeed boost performance and any thoughts on how to go about implementing it?
The faiss project contains some highly performant ways of making an index for nearest neighbor search, but it is typically used for larger dimension than our typical 3 and gets used with very large numbers of points. It might be worth trying it or taking ideas from it.
Most helpful comment
The faiss project contains some highly performant ways of making an index for nearest neighbor search, but it is typically used for larger dimension than our typical 3 and gets used with very large numbers of points. It might be worth trying it or taking ideas from it.