Fully Dynamic Algorithms for Chamfer Distance
摘要
评审与讨论
This manuscript proposes a near-linear time approximated algorithm for estimating Chamfer Distance (CD) for two dynamic point sets and .
The closest literature [BIJ+23] solves the static problem through approximating the closest distance from to with LSH and performing importance sampling for a bounded-variance estimation of CD. This paper follows this method and tackles the ‘linear-time update barrier’ when transferring to the dynamic setting, i.e., maintaining the -approximate assignment from A to B costs time even when only reporting the recourse (L70).
The authors bypass the challenge by proposing a dynamic sampler that no longer maintains the specific closest distances, but can yield samples obeying the desired distribution probability proportional to importance (i.e., closest distance from to ).
优缺点分析
Strengths:
-
The paper is well written and well organized. The idea is original and results bears great significance in terms of fast algorithms for point cloud processing. All conclusions are accompanied with sufficient proof and backed up with experimental results.
-
The core idea of turning the explicit point assignment into an implicit assignment is very intuitive once fully explained. This trick may be of great use in other problems as well.
-
The experimental results well support the claims of bounded-error approximation, achieving outstanding robustness to outliers compared to the baseline methods.
Weaknesses:
N/A. I am not familiar with this field of research and may not be able to justify any doubts.
问题
-
How does the algorithm perform on lower-dimensional datasets, such as point cloud datasets? I think this is important since you mentioned point cloud completion and up-scaling in L26 as potential applications.
-
How can we quantify the distributional uniformity of a certain dataset apart from the visualization in Fig. 4? Furthermore, can we assess the model’s performance with different degrees of uniformity (likely through a simulated dataset)?
局限性
Yes
最终评判理由
My questions are all addressed by the author rebuttal, and the authors promised to include more experiments during revision. In terms of performance, while the proposed algorithm runs slower than brute-force on low-dimensional point cloud data, their real advantage lies in update time of high-dimensional data like MNIST. After carefully checking other reviewers' comments (especially Reviewer GBSz) and the author rebuttal, this paper appears to contain solid novel knowledge and can be practically implemented and validated. Therefore, I lean towards accepting this paper, although with very low confidence.
格式问题
L53 Missing comma:
We thank the reviewer for insightful comments. We address the major comments as follows.
How does the algorithm perform on lower-dimensional datasets, such as point cloud datasets? I think this is important since you mentioned point cloud completion and up-scaling in L26 as potential applications.
To address this question, we have conducted new experiments on the ShapeNet point cloud dataset. As suggested by other reviewers, we also added evaluations where both and are dynamic.
Here we report preliminary experiment results only on the new dataset ShapeNet and an existing one Fashion-MNIST. We will expand to run on the other datasets, and add the results in the next version of the paper. In our experiments, both and evolve within a sliding window, where points from and are alternately inserted. The specifications and parameters of these two datasets are summarized below.
| dataset | dimension | window size | sample size | ||
|---|---|---|---|---|---|
| Fashion-MNIST | 784 | 60000 | 10000 | 3500 | 100 |
| ShapeNet | 3 | 2048 | 2048 | 1500 | 100 |
The detailed error and running time results can be found below. We can see that both the error and running time results exhibit a similar behavior as in our current experiments in the manuscript: we achieve a comparable/slightly better error (which is relative to a brute-force benchmark) compared with the uniform sampling baseline, and we achieve a speedup compared with the brute-force benchmark.
We note that due to the small size of ShapeNet, our more complicated data structure may lead to a slightly worse performance than the simple brute-force, but the speedup in larger datasets remains significant.
Detailed Results: Error
We report the min, max, and average relative error for both our algorithm and the uniform baseline, evaluated for the ShapeNet dataset as follows. Due to the space limit, we only report the result for ten evenly picked time steps over the entire process.
| step | our_err_max | our_err_min | our_err_avg | uni_err_max | uni_err_min | uni_err_avg |
|---|---|---|---|---|---|---|
| 1638 | 0.089081 | 0.002748 | 0.039075 | 0.224242 | 0.02824 | 0.094302 |
| 1911 | 0.025965 | 0.006845 | 0.014477 | 0.127802 | 0.013832 | 0.061511 |
| 2184 | 0.10265 | 0.002022 | 0.038719 | 0.190679 | 0.033378 | 0.095957 |
| 2457 | 0.036942 | 0.000126 | 0.011609 | 0.140769 | 0.014554 | 0.075501 |
| 2730 | 0.061071 | 0.011159 | 0.024967 | 0.303421 | 0.055861 | 0.136652 |
| 3003 | 0.05533 | 0.009615 | 0.026081 | 0.157239 | 0.010693 | 0.079922 |
| 3276 | 0.101199 | 0.001433 | 0.030674 | 0.160321 | 0.038384 | 0.097889 |
| 3549 | 0.048694 | 0.002294 | 0.015526 | 0.045202 | 0.012967 | 0.027885 |
| 3822 | 0.09417 | 0.011482 | 0.046436 | 0.090955 | 0.012316 | 0.055232 |
| 4095 | 0.022748 | 0.000265 | 0.008279 | 0.115665 | 0.011511 | 0.061347 |
Error evaluation for Fashion-MNIST dataset:
| step | our_err_max | our_err_min | our_err_avg | uni_err_max | uni_err_min | uni_err_avg |
|---|---|---|---|---|---|---|
| 7000 | 0.017379 | 0.000587 | 0.008961 | 0.035783 | 0.006126 | 0.021922 |
| 14000 | 0.102088 | 0.00783 | 0.053603 | 0.05268 | 0.008025 | 0.032996 |
| 21000 | 0.027711 | 0.005504 | 0.013561 | 0.0638 | 0.011997 | 0.030353 |
| 28000 | 0.040468 | 0.000548 | 0.020453 | 0.042721 | 0.009207 | 0.026044 |
| 35000 | 0.04584 | 0.00178 | 0.024478 | 0.046525 | 0.008337 | 0.030551 |
| 42000 | 0.056667 | 0.003062 | 0.03221 | 0.062291 | 0.01514 | 0.029729 |
| 49000 | 0.054735 | 0.003067 | 0.026688 | 0.035132 | 0.007734 | 0.019372 |
| 56000 | 0.080342 | 0.013182 | 0.040157 | 0.035516 | 0.000867 | 0.015012 |
| 63000 | 0.054645 | 0.010068 | 0.026413 | 0.067964 | 0.016561 | 0.040617 |
| 70000 | 0.07546 | 0.019382 | 0.043388 | 0.038847 | 0.004134 | 0.023396 |
Detailed Results: Running Time
We report the average update and query time per step, as well as the total running time over the entire run. The running time results on Fashion-MNIST dataset are as follows:
| Ours | Uniform | Brute-force | |
|---|---|---|---|
| Average update time | 0.1368 ms | 0.000242 ms | 0.6973 ms |
| Average query time | 18.0278 ms | 16.2884 ms | 0.000019 ms |
| Total time | 9757.672 ms | 179.855540 ms | 48813.260192 ms |
The running time results on ShapeNet dataset are as follows:
| Ours | Uniform | Brute-force | |
|---|---|---|---|
| Average update time | 0.0041 ms | 0.000078 ms | 0.0033 ms |
| Average query time | 0.106 ms | 0.063 ms | 0.00002 ms |
| Total time | 18.028888 ms | 0.945685 ms | 13.443101 ms |
How can we quantify the distributional uniformity of a certain dataset apart from the visualization in Fig. 4? Furthermore, can we assess the model’s performance with different degrees of uniformity (likely through a simulated dataset)?
The distribution our algorithms sample complexity depends on, is the distribution over such that the probabily of is proportional to . The less uniform this distribution is, the better the algorithm performs compared to uniform sampling (as shown by the experiments run with and without outliers).
While we could describe this uniformity using standard measures (such as entropy), the performance of our algorithm cannot be characterized purely as a function of this uniformity. In particular, we can prove that our importance sampling also produces results comparable to uniform sampling, if this distribution is uniform but the sets and are well separated. This requires opening the black-box of our analysis and utilizing the special structure of the quadtree.
This paper studies the problem of fully dynamic Chamfer Distance approximation. The Chamfer Distance is a “distance” (quotes since not actually a metric) between two sets of points A,B in R^d. It is a well known relaxation of the Earth Mover Distance, which can be computed easily in quadratic time via a simple all-pairs brute force distance computation. This metric is also well studied in its own right in the computer vision and ML literature. The similarity version of Chamfer (where distances are replaced with dot product, which is essentially equivalent for normalized vectors), is also very important in information retrieval, especially for the training of multi-vector embedding models, where it is the measure by which two sets of embeddings are compared. Thus, algorithmic improvements for handling the Chamfer distance are quite important.
The current paper studies the maintenance of an approximation of the Chamfer distance in the fully dynamic setting, where points can be added and removed from both A and B. The main result is an algorithm with O(1/eps) approximation and n^{eps^2} update time (for any eps in (0,1)). In fact, their update time is the same as the query time of an approximate nearest neighbor (ANN) search data structure in (R^d, ell_2); if that runtime is tau, their algorithm has update time tau*poly(log n). This is a significant improvement over a naive tilde{O}(n) update time required to update all the mappings from points in A to nearest neighbors in B (for each point, one could store all their neighbors in B in sorted order, and update each sorted order after each insertion or deletion).
Naively, the main result is very easy to obtain if B is fixed and only insertions or deletions are allowed to A: every time you insert a new point a to A, just run ANN and you are done. The hard part is when points are deleted or added to B, since this may change the nearest neighbors of O(n) points in A.
Recently, Bakshi et. al. (NeurIPS 23’) showed that a (1+eps) approximation to the Chamfer distance can be obtained in roughly n*poly(1/eps) time using an importance sampling technique. First, rough approximate distances to B for each point a in A are obtained using a standard quadtree construction. Then, poly(1/eps)*log(n) points are sampling with probability proportional to these approximate distances. The true nearest neighbors for these points are then computed exactly via brute force. The current paper’s main contribution is a technique to implement this in a fully dynamic fashion. The main challenge is maintaining an algorithm that can dynamically sample from the distribution of approximate distances from A to B (when this distribution is changing). Once 1/eps points are sampled, one can just run ANN to get the approximate neighbors in B (giving the resulting ANN runtime guarantee). To solve the key challenge of maintaining a dynamic sampler, they show that they can implicitly sample from the distribution over A (without explicitly maintaining the weights) by keeping track of the count of points in A in each node in the quadtree that has no points in B. Since the highest node in the quadtree for which a point a in A collides with no other b in B determines its approximate distance (and therefore sampling probability), one can first sample a node from the quadtree (which has no B nodes in it) proportional to the number of nodes from A that are in it (and proportional to the 2^{level} of that node in the quadtree), and then sample a point uniformly from that node
Technically, this is a very clean idea, if perhaps somewhat straightforward. I’d venture to say that, if you asked someone who is an expert in ANN algorithms to solve this problem by making the algorithm of Bakshi et. al. dynamic, they probably would be able to do so without terrible difficulty. But hindsight is powerful (and the idea that making Bakshi et. al. dynamic is the right approach is non-trivial), thus the algorithm in this paper is quite interesting and important regardless. Moreover, it is quite practical, since the data structures are essentially no more complicated than the original quadtree data structure. It is also appealing because the final ANN algorithm can be implemented with any ANN algorithm in practice, such as HSNW / DiskANN, and does not need to be the theoretically optimal LSH based algorithms (that give the theoretical trade-offs).
Experimentally, they outperform uniform sampling methods primarily on datasets where outliers are injected. This makes sense, since importance sampling is only different from uniform sampling when outliers exist. The fact that artificial injection of outliers was necessary is likely due to the choice of datasets; likely other datasets exist with outliers present, and it is clear that this technique is preferable for such datasets.
Overall, this paper was very nicely written and enjoyable to read. The result is a strong theoretical advance for an important distance measure, and is likely to be useful in practice. Thus, I think this paper should be accepted.
优缺点分析
In Summary
问题
It would be good to see experiments on datasets that are naturally dynamic, perhaps one that has build in temporal data. This would allow for a more interesting ANN algorithm to be used which searching for the nearest neighbors.
How often do the samples changes from update to update? If the distribution does not change significantly, then perhaps it is possible to reuse most of the samples from the last step. The samples between consecutive updates are no longer independent, but this should not be a big issue. In theory, in the worst case, the distribution can totally change, thus you get no gain. In practice though, you may have big wins since the distribution may not change much on each step.
Also, you can imagine other optimizations, such as storing the k-NN for each point in A, and using the "living" points in that set to answer ANN queries for that point (instead of re-querying the ANN data structure for that point from scratch). It would be interesting to see how these methods improve runtime (note that this would probably improve the runtime of uniform sampling even more).
局限性
Yes
格式问题
N/A
We thank the reviewer for insightful comments. We address the major comments as follows.
It would be good to see experiments on datasets that are naturally dynamic, perhaps one that has build in temporal data. This would allow for a more interesting ANN algorithm to be used which searching for the nearest neighbors.
Unfortunately, we did not manage to find publicly available naturally dynamic datasets suitable for our experiments.
How often do the samples changes from update to update? If the distribution does not change significantly, then perhaps it is possible to reuse most of the samples from the last step. The samples between consecutive updates are no longer independent, but this should not be a big issue. In theory, in the worst case, the distribution can totally change, thus you get no gain. In practice though, you may have big wins since the distribution may not change much on each step.
This is an interesting suggestion. However, we tried to test this in the Fashion-MNIST dataset, and we find that the overlap of samples between two consecutive queries seems to be small, which is about 2 percent. Hence, at least for this dataset the suggested idea may not lead to significant improvement.
Also, you can imagine other optimizations, such as storing the k-NN for each point in A, and using the "living" points in that set to answer ANN queries for that point (instead of re-querying the ANN data structure for that point from scratch). It would be interesting to see how these methods improve runtime (note that this would probably improve the runtime of uniform sampling even more).
Unfortunately, the recourse of a k-NN assingment for each point in can be in the dynamic setting. In specific the -NN assignment for is the same as the assignment describing the Chamfer distance which can not be efficiently maintained in the dynamic model.
The paper studies the problem of computing Chamfer distance in the fully dynamic setting, and evaluates the proposed method on real-world datasets and demonstrates that it performs competitively against natural baselines. Actually, I am not an expert in this field, so my comments are based on low confidence. If I make basic mistakes, I hope it will not influence the meta-review at the final decision stage.
优缺点分析
Strengths:
- The speedup of Chamfer Distance is very useful.
- The experimental verification is relatively complete
Weaknesses:
- It is advised to present experiment results in some point cloud datasets such as ShapeNet because Chamfer Distance is widely used as loss function in point cloud processing.
- The current approximation is one-sided (from A to B). Would the same dynamic framework support symmetric Chamfer distance efficiently?
- While runtime speedups are demonstrated, it would be helpful to understand the algorithm’s space complexity, especially for high-dimensional datasets.
问题
See the weaknesses part.
局限性
The authors adequately addressed the limitations.
最终评判理由
I thanks for the authors' response. I think this paper is solid and shows comprehensive experimental results. Considering I am not an expert in this field, I will maintain my original rating as borderline accept.
格式问题
No
We thank the reviewer for insightful comments. We address the major comments as follows.
It is advised to present experiment results in some point cloud datasets, such as ShapeNet, because Chamfer Distance is widely used as a loss function in point cloud processing.
To address this question, we have conducted new experiments on the ShapeNet point cloud dataset. As suggested by other reviewers, we also added evaluations where both and are dynamic.
Here we report preliminary experiment results only on the new dataset ShapeNet and an existing one Fashion-MNIST. We will expand to run on the other datasets, and add the results in the next version of the paper. In our experiments, both and evolve within a sliding window, where points from and are alternately inserted. The specifications and parameters of these two datasets are summarized below.
| dataset | dimension | window size | sample size | ||
|---|---|---|---|---|---|
| Fashion-MNIST | 784 | 60000 | 10000 | 3500 | 100 |
| ShapeNet | 3 | 2048 | 2048 | 1500 | 100 |
The detailed error and running time results can be found below. We can see that both the error and running time results exibit a similar behavior as in our current experiments in the manuscript: we achieve a comparable/slightly better error (which is relative to a brute-force benchmark) compared with the uniform sampling baseline, and we achieve a speedup compared with the brute-force benchmark.
We note that due to the small size of ShapeNet, our more complicated data structure may lead to a slightly worse performance than the simple brute-force, but the speedup in larger datasets remains significant.
Detailed Results: Error
We report the min, max and average relative error for both our algorithm and the uniform baseline, evaluated for the ShapeNet dataset as follows. Due to the space limit, we only report the result for ten evenly picked time steps over the entire process.
| step | our_err_max | our_err_min | our_err_avg | uni_err_max | uni_err_min | uni_err_avg |
|---|---|---|---|---|---|---|
| 1638 | 0.089081 | 0.002748 | 0.039075 | 0.224242 | 0.02824 | 0.094302 |
| 1911 | 0.025965 | 0.006845 | 0.014477 | 0.127802 | 0.013832 | 0.061511 |
| 2184 | 0.10265 | 0.002022 | 0.038719 | 0.190679 | 0.033378 | 0.095957 |
| 2457 | 0.036942 | 0.000126 | 0.011609 | 0.140769 | 0.014554 | 0.075501 |
| 2730 | 0.061071 | 0.011159 | 0.024967 | 0.303421 | 0.055861 | 0.136652 |
| 3003 | 0.05533 | 0.009615 | 0.026081 | 0.157239 | 0.010693 | 0.079922 |
| 3276 | 0.101199 | 0.001433 | 0.030674 | 0.160321 | 0.038384 | 0.097889 |
| 3549 | 0.048694 | 0.002294 | 0.015526 | 0.045202 | 0.012967 | 0.027885 |
| 3822 | 0.09417 | 0.011482 | 0.046436 | 0.090955 | 0.012316 | 0.055232 |
| 4095 | 0.022748 | 0.000265 | 0.008279 | 0.115665 | 0.011511 | 0.061347 |
Error evaluation for Fashion-MNIST dataset:
| step | our_err_max | our_err_min | our_err_avg | uni_err_max | uni_err_min | uni_err_avg |
|---|---|---|---|---|---|---|
| 7000 | 0.017379 | 0.000587 | 0.008961 | 0.035783 | 0.006126 | 0.021922 |
| 14000 | 0.102088 | 0.00783 | 0.053603 | 0.05268 | 0.008025 | 0.032996 |
| 21000 | 0.027711 | 0.005504 | 0.013561 | 0.0638 | 0.011997 | 0.030353 |
| 28000 | 0.040468 | 0.000548 | 0.020453 | 0.042721 | 0.009207 | 0.026044 |
| 35000 | 0.04584 | 0.00178 | 0.024478 | 0.046525 | 0.008337 | 0.030551 |
| 42000 | 0.056667 | 0.003062 | 0.03221 | 0.062291 | 0.01514 | 0.029729 |
| 49000 | 0.054735 | 0.003067 | 0.026688 | 0.035132 | 0.007734 | 0.019372 |
| 56000 | 0.080342 | 0.013182 | 0.040157 | 0.035516 | 0.000867 | 0.015012 |
| 63000 | 0.054645 | 0.010068 | 0.026413 | 0.067964 | 0.016561 | 0.040617 |
| 70000 | 0.07546 | 0.019382 | 0.043388 | 0.038847 | 0.004134 | 0.023396 |
Detailed Results: Running Time
We report the average update and query time per step, as well as the total running time over the entire run. The running time results on Fashion-MNIST dataset are as follows:
| Ours | Uniform | Brute-force | |
|---|---|---|---|
| Average update time | 0.1368 ms | 0.000242 ms | 0.6973 ms |
| Average query time | 18.0278 ms | 16.2884 ms | 0.000019 ms |
| Total time | 9757.672 ms | 179.855540 ms | 48813.260192 ms |
The running time results on ShapeNet dataset are as follows:
| Ours | Uniform | Brute-force | |
|---|---|---|---|
| Average update time | 0.0041 ms | 0.000078 ms | 0.0033 ms |
| Average query time | 0.106 ms | 0.063 ms | 0.00002 ms |
| Total time | 18.028888 ms | 0.945685 ms | 13.443101 ms |
The current approximation is one-sided (from A to B). Would the same dynamic framework support symmetric Chamfer distance efficiently?
Our results can readily be applied in a black-box manner to handle the symmetric case. Specifically, we can maintain by using two copies of the data structure with swapped and . This has at most twice the overhead.
In fact, we can even do better than this: by using a single quad-tree shared between both data structures and maintaining two separate dynamic ANN instances, we maintain the symmetric Chamfer distance using only one copy of the data structure.
While runtime speedups are demonstrated, it would be helpful to understand the algorithm’s space complexity, especially for high-dimensional datasets.
The space complexity of the samplers of our algorithm is . In addition, our algorithm requires the maintenance of a dynamic approximate nearest neighbour data structure on points, which requires and space for low and high dimensions, respectively, using state-of-the-art results from literature.
Thank you for your detailed responses. The authors have effectively addressed my concerns. Since I am not an expert in this field, I will keep my score at boardline accept.
This paper presents the first dynamic algorithm for maintaining approximations of the Chamfer distance between two evolving point sets A and B under L1 and L2 norms, achieving -approximation in update time for low dimensions, and -approximation in update time for high dimensions. The authors address a fundamental gap in computational geometry by developing a data structure that can efficiently handle point insertions and deletions while maintaining distance approximations with provable guarantees.
优缺点分析
Strengths
- The paper addresses a genuine gap in dynamic computational geometry - no prior work existed for dynamic Chamfer distance. The problem is well motivated with several example use-cases and the need for a faster alternative to EMD.
- Rigorous theoretical analysis - detailed proofs for approximation guarantees, time complexity, and correctness has been provided. Clever reduction to well-studied ANN data structures, allowing the algoritjm to inherit existing performance guarantees.
- Sophisticated sampling scheme that samples cells proportionally to their size and point count, leading to provably good approximations. Well-designed integration of multiple dynamic samplers (TREE-SAMPLER and NODE-SAMPLER) with efficient maintenance procedures.
Weaknesses
- The paper uses the asymmetric definition of Chamfer distance, while the symmetric version is more commonly seen in practice. The authors should better emphasise this choice and discuss its implications for applications.
- Experiments focus primarily on dynamic B with static A, not fully demonstrating the algorithm's dynamic capabilities on both sets.
- There are some restrictive assumptions like bounded aspect ratio poly(n) and points in , which may not hold in real applications with arbitrary point cloud data.
- The algorithm suffers from exponential dependence in low dimensions, while high-dimensional guarantees only provide weak -approximation, possibly limiting practical applicability for moderate dimensions.
问题
- What is the total memory overhead of the quad-tree structure and multiple dynamic samplers compared to storing the point sets explicitly?
- Can you provide experiments where both sets A and B undergo frequent updates to demonstrate the complete dynamic capabilities?
- Given that symmetric Chamfer distance is more common in practice, how efficiently could your approach compute and would this require maintaining two separate data structures?
- The paper motivates the work with applications like point cloud completion and medical imaging - can you provide experiments on these actual use-cases to demonstrate practical relevance beyond generic benchmark datasets?
局限性
While the authors discuss some theoretical limitations, they should better address practical concerns including memory overhead of maintaining multiple dynamic samplers and quad-tree structures. Additionally, the paper lacks analysis of algorithm sensitivity to the bounded aspect ratio assumption, or worst-case point distributions that might cause the importance sampling to degrade significantly. A brief Limitations section addressing these scalability and practical deployment challenges would strengthen the paper's contribution.
最终评判理由
I am satisfied with the authors' response and would recommend Accept.
格式问题
na
We thank the reviewer for insightful comments. We start with presenting some new experiment results, and then we address other comments.
New Experiments
The paper motivates the work with applications like point cloud completion and medical imaging - can you provide experiments on these actual use-cases? Experiments focus primarily on dynamic B with static A.
We address these comments in the following aspects:
- We add a new dataset called ShapeNet, which consists of 3D point clouds, to better justify our motivation about point cloud. We also tried to look for medical imaging datasets, but we did not find publicly available datasets suitable for our experiments.
- We let undergo dynamic updates besides having a dynamic point set , in all our error and running time evaluations.
Here we report preliminary experiment results only on the new dataset ShapeNet and an existing one Fashion-MNIST. We will expand to run on the other datasets, and add the results in the next version of the paper. In our experiments, both and evolve within a sliding window, where points from and are alternately inserted. The specifications and parameters of these two datasets are summarized below.
| dataset | dimension | window size | sample size | ||
|---|---|---|---|---|---|
| Fashion-MNIST | 784 | 60000 | 10000 | 3500 | 100 |
| ShapeNet | 3 | 2048 | 2048 | 1500 | 100 |
The detailed error and running time result can be found below. We can see that both the error and running time results exibit a similar behavior as in our current experiments in the manuscript: we achieve a comparable/slightly better error (which is relative to a brute-force benchmark) compared with the uniform sampling baseline, and we achieve a speedup compared with the brute-force benchmark.
We note that due to the small size of ShapeNet, our more complicated data structure may lead to a slightly worse performance than the simple brute-force, but the speedup in larger datasets remains significant.
Detailed Results: Error
We report the min, max and average relative error for both our algorithm and the uniform baseline, evaluated for the ShapeNet dataset as follows. Due to the space limit, we only report the result for ten evenly picked time steps over the entire process.
| step | our_err_max | our_err_min | our_err_avg | uni_err_max | uni_err_min | uni_err_avg |
|---|---|---|---|---|---|---|
| 1638 | 0.089081 | 0.002748 | 0.039075 | 0.224242 | 0.02824 | 0.094302 |
| 1911 | 0.025965 | 0.006845 | 0.014477 | 0.127802 | 0.013832 | 0.061511 |
| 2184 | 0.10265 | 0.002022 | 0.038719 | 0.190679 | 0.033378 | 0.095957 |
| 2457 | 0.036942 | 0.000126 | 0.011609 | 0.140769 | 0.014554 | 0.075501 |
| 2730 | 0.061071 | 0.011159 | 0.024967 | 0.303421 | 0.055861 | 0.136652 |
| 3003 | 0.05533 | 0.009615 | 0.026081 | 0.157239 | 0.010693 | 0.079922 |
| 3276 | 0.101199 | 0.001433 | 0.030674 | 0.160321 | 0.038384 | 0.097889 |
| 3549 | 0.048694 | 0.002294 | 0.015526 | 0.045202 | 0.012967 | 0.027885 |
| 3822 | 0.09417 | 0.011482 | 0.046436 | 0.090955 | 0.012316 | 0.055232 |
| 4095 | 0.022748 | 0.000265 | 0.008279 | 0.115665 | 0.011511 | 0.061347 |
Error evaluation for Fashion-MNIST dataset:
| step | our_err_max | our_err_min | our_err_avg | uni_err_max | uni_err_min | uni_err_avg |
|---|---|---|---|---|---|---|
| 7000 | 0.017379 | 0.000587 | 0.008961 | 0.035783 | 0.006126 | 0.021922 |
| 14000 | 0.102088 | 0.00783 | 0.053603 | 0.05268 | 0.008025 | 0.032996 |
| 21000 | 0.027711 | 0.005504 | 0.013561 | 0.0638 | 0.011997 | 0.030353 |
| 28000 | 0.040468 | 0.000548 | 0.020453 | 0.042721 | 0.009207 | 0.026044 |
| 35000 | 0.04584 | 0.00178 | 0.024478 | 0.046525 | 0.008337 | 0.030551 |
| 42000 | 0.056667 | 0.003062 | 0.03221 | 0.062291 | 0.01514 | 0.029729 |
| 49000 | 0.054735 | 0.003067 | 0.026688 | 0.035132 | 0.007734 | 0.019372 |
| 56000 | 0.080342 | 0.013182 | 0.040157 | 0.035516 | 0.000867 | 0.015012 |
| 63000 | 0.054645 | 0.010068 | 0.026413 | 0.067964 | 0.016561 | 0.040617 |
| 70000 | 0.07546 | 0.019382 | 0.043388 | 0.038847 | 0.004134 | 0.023396 |
Detailed Results: Running Time
We report the average update and query time per step, as well as the total running time over the entire run. The running time results on Fashion-MNIST dataset are as follows:
| Ours | Uniform | Brute-force | |
|---|---|---|---|
| Average update time | 0.1368 ms | 0.000242 ms | 0.6973 ms |
| Average query time | 18.0278 ms | 16.2884 ms | 0.000019 ms |
| Total time | 9757.672 ms | 179.855540 ms | 48813.260192 ms |
The running time results on ShapeNet dataset are as follows:
| Ours | Uniform | Brute-force | |
|---|---|---|---|
| Average update time | 0.0041 ms | 0.000078 ms | 0.0033 ms |
| Average query time | 0.106 ms | 0.063 ms | 0.00002 ms |
| Total time | 18.028888 ms | 0.945685 ms | 13.443101 ms |
Other comments
Given that symmetric Chamfer distance is more common in practice, how efficiently could your approach compute and would this require maintaining two separate data structures?
Our results can readily be applied in a black-box manner to handle the symmetric case. Specifically, we can maintain by using two copies of the data structure with swapped and . This has at most twice the overhead.
In fact, we can even do better than this: by using a single quad-tree shared between both data structures and maintaining two separate dynamic ANN instances, we maintain the symmetric Chamfer distance using only one copy of data structure.
There are some restrictive assumptions like bounded aspect ratio poly(n) and points in , which may not hold in real applications with arbitrary point cloud data.
This assumption is only for the sake of presentation, and our results work without it, since our algorithm is oblivious to the aspect ratio . Then, this only appears in the analysis where we show that the update time is (this holds even if we do not know in advance).
As we are aiming for a dynamic algorithm with poly-logarithmic update time dependence on , the assumption that is natural and saves the complication of writing in the result.
Finally, we note that the polylogarithmic dependence on the aspect ratio is not avoidable, because for a point set with aspect ratio , their representation can be of bits. Hence, just reading the updates already necessitates an update time which is poly-logarithmic with respect to , making our dependence near-optimal.
The algorithm suffers from exponential dependence in low dimensions, while high-dimensional guarantees only provide weak O(1/\epsilon)-approximation, possibly limiting practical applicability for moderate dimensions.
Since our algorithm reduces to ANN with minimal overhead, the resulting running-time guarantees asymptotically match the best-known bounds for static ANN. Here, the mentioned and bounds are known ANN bounds for typical low and high dimension regimes, but of course, there might be more suitable bounds for other dimension regimes, such as the "moderate" dimensions which you mentioned.
In fact, when which may be considered moderate dimension, the bound is already useful since is sub-polynomial, and our algorithms still guarantee a -approximation.
What is the total memory overhead?
The worst-case blowup is a factor.
We also examined the practical memory blowup in our experiments. We examined the run on the large-scale SIFT dataset, which has high dimensionality. We observed that loading the dataset alone used 564.6 MB of memory. Running all the algorithms, including our method, uniform, and the benchmark, raised to 4110.3 MB. This means our algorithm uses at most 6.28x the memory required to hold the dataset itself.
worst-case point distributions that might cause the importance sampling to degrade significantly.
If we interpret this question correctly, this seems to suggest that our importance sampling does not have a decent worst-case bound.
This may be a misconception, since we prove that our importance sampling always requires no more than poly-logarithmic number of samples to achieve the claimed error bound, regardless of the point distributions. This poly-logarithmic dependence is usually optimal for sampling methods to achieve high success probability.
A brief Limitations section addressing these scalability and practical deployment challenges would strengthen the paper's contribution.
We will include a discussion of the limitations and assumptions of our algorithm from a practical perspective in the next version of the paper.
The chamfer distance between two pointsets A and B is the sum of the nearest neighbor distances from A to B. It has wide applications throughout ML (computer vision, information retrieval), and the paper gives the first algorithm to maintain this value when A and B are subject to dynamic updates. Their main claim is a tradeoff between maintaining a approximation factor, versus the update time of maintaining their data structure, significantly improving upon the naive solution of recomputing the chamfer distance after every update.
The reviewers noted the 'clean' technical algorithms and the intuitive approach of making the 'right' algorithm dynamic. The simplicity of the solution makes it very practical as well, although it was noted that perhaps more thorough experiments are needed to fully demonstrate the power of the algorithm, rather than the somewhat synthetic settings of injecting outliers. The changes include more experiments on point cloud datasets which partially addresses this (minor) weakness.
Overall, all the reviewers were supportive of the paper and I agree with them.