DiffCD: A Symmetric Differentiable Chamfer Distance for Neural Implicit Surface Fitting

Linus Härenstam-Nielsen, Lu Sang, Abhishek Saroha, Nikita Araslanov, Daniel Cremers
2/14/2026

No official code found. Best implementation: Linusnie/diffcd (43 stars, Apache-2.0, last commit 2025-01-25).

Abstract

Neural implicit surfaces can be used to recover accurate 3D geometry from imperfect point clouds. In this work, we show that state-of-the-art techniques work by minimizing an approximation of a one-sided Chamfer distance. This shape metric is not symmetric, as it only ensures that the point cloud is near the surface but not vice versa. As a consequence, existing methods can produce inaccurate reconstructions with spurious surfaces. Although one approach against spurious surfaces has been widely used in the literature, we theoretically and experimentally show that it is equivalent to regularizing the surface area, resulting in over-smoothing. As a more appealing alternative, we propose DiffCD, a novel loss function corresponding to the symmetric Chamfer distance. In contrast to previous work, DiffCD also assures that the surface is near the point cloud, which eliminates spurious surfaces without the need for additional regularization. We experimentally show that DiffCD reliably recovers a high degree of shape detail, substantially outperforming existing work across varying surface complexity and noise levels. Project code is available at https://github.com/linusnie/diffcd.

View on arXivView PDF

Code Implementations(1)

Linusnie/diffcdCommunity100%
Apache-2.0
434Python, Jupyter NotebookJul 16, 20241 years agoApache-2.0

Similar Papers

Cite this paper

@article{hrenstamnielsen2026diffcd,
  title  = {DiffCD: A Symmetric Differentiable Chamfer Distance for Neural Implicit Surface Fitting},
  author = {Linus Härenstam-Nielsen and Lu Sang and Abhishek Saroha and Nikita Araslanov and Daniel Cremers},
  year   = {2026},
  eprint = {2407.17058},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/2407.17058},
  journal = {ECCV 2024 2024}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2407.17058.svg)](https://codeofpaper.com/paper/2407.17058)

Discussion