Embodied AI Glossary中文

Chamfer Distance

倒角距离CDAdvanced

Finds each point’s nearest neighbor in the other point cloud and averages the distances, to measure how close two shapes are.

Chamfer distance measures how similar two point sets are: for each point in set A, it finds the nearest point in B and averages these distances (usually squared Euclidean distance); it then does the same from B to A and adds the two terms together. It doesn’t require the two sets to have the same number of points, or a one-to-one correspondence between points — it only needs nearest-neighbor search, and it’s differentiable almost everywhere, which makes it suitable as a loss function. The name comes from chamfer matching in early image matching work. Fan, Su, and Guibas used it alongside earth mover’s distance (EMD) as a loss for generating point clouds from a single image at CVPR 2017, after which it became a standard loss and evaluation metric for 3D reconstruction, point cloud completion, and shape generation; libraries like PyTorch3D provide it directly. Its drawback is insensitivity to point density, so predicted points can clump together, which is why papers often report it alongside EMD and F-score.

ExampleA point cloud completion network takes in a point cloud of a chair captured from only one side and outputs a full set of points for the whole chair; during training, the chamfer distance between the output and the true complete point cloud is used as the loss — the smaller the distance, the better the completion.

Also called
CD
Related
Point Cloud · Point Cloud Completion / Shape Completion · Single-Image 3D Reconstruction · Loss Function · PointNet / PointNet++ · Feed-Forward 3D Reconstruction
Sources
A Point Set Generation Network for 3D Object Reconstruction from a Single Image (arXiv 1612.00603)
pytorch3d.loss.chamfer_distance 文档 (Chinese)

See it in the full glossary →