Open Source Robotics

精選高品質的開源機器人專案、工具與軟體,推動機器人社群向前發展。

Chamfer Distance

  • 又稱: CD, chamfer loss
  • 類別: Sensing › Perception outputs
  • 標籤: point-cloud, loss-function, evaluation-metric, 3d-perception, deformable-objects

衡量兩個點集差異程度的度量,做法是把每個點與另一個集合中的最近鄰配對,並在兩個方向上結合這些距離。

定義

Chamfer 距離(Chamfer distance)比較兩個點雲,而不需要知道哪個點對應到哪個點。對第一個集合中的每個點,它在第二個集合中找出最近的點並記錄距離;接著從第二個集合到第一個集合做同樣的事,再把兩個方向的項結合起來。一種常見形式是在每個方向上平均最近鄰距離的平方,再把兩個平均值相加;但也有其他形式改用加總而不平均,或使用一般距離而非距離平方。這個名稱來自倒角匹配(chamfer matching),這是 1970 年代末期的一種影像分析技術,以距離轉換來比較邊緣圖。

兩個方向都很重要。從預測到目標的量測,檢查每個預測點是否都靠近目標(精度);從目標到預測的量測,檢查目標的每個部分是否都被涵蓋(完整度)。塌縮到目標某一區域的預測,在第一個方向上得分很好,在第二個方向上則很差。兩個集合不需要有相同的點數,這讓這個度量方便用來比較感測器資料與模型輸出。

搭配 k-d 樹等最近鄰結構,或在 GPU 上以暴力法計算,Chamfer 距離的成本很低;而且它對點的位置幾乎處處可微,因此廣泛用作點雲生成與形狀補全的訓練損失,以及規劃代價。它的主要弱點是忽略了點的分布方式:聚成一團的點仍可能得到很低的值。推土機距離(Earth mover's distance)藉由在大小相等的集合之間找出一對一匹配來解決這個問題,但運算成本較高;在某個距離門檻下的 F-score 也常與它一起報告。Hausdorff 距離是相關的度量,取最差的最近鄰距離而非平均值。

為何重要

許多機器人問題都需要在沒有點對應關係的情況下比較形狀,例如把重建出的物體與掃描結果比較,或把預測的可變形物體與目標形狀比較。Chamfer 距離為這類比較提供快速、可微的評分方式,這就是它同時作為學習損失與規劃代價出現的原因。

主要應用

  • 點雲重建與形狀補全網路的訓練損失
  • 把可變形物體塑形成目標形狀的規劃代價
  • 3D 重建與建圖的評估指標
  • 訓練學習所得、以粒子為基礎的動力學模型
  • 校正模擬器時比較模擬與觀測到的物體狀態

實際應用

在可變形物體操作中,一個為麵團塑形的機器人擷取目前麵團的點雲,並擁有目標形狀的點雲。一個學習所得的動力學模型,預測每個候選工具動作之後麵團的點;規劃器依每個預測與目標之間的 Chamfer 距離為它評分,並執行最好的那一個。兩個點雲都先降取樣到固定的點數,通常使用最遠點取樣,讓代價能快速計算,並在各步驟之間可以比較。團隊會明確寫下所用的變體,是否取平方、取平均或加總,因為不同定義得到的數值無法互相比較。

常見誤解

  • Chamfer 距離只有一個標準公式 — 各篇論文在使用距離平方或一般距離、取平均或加總,以及如何結合兩個方向上都不相同,因此只有在相同定義下數值才能比較
  • Chamfer 距離低代表點的分布相符 — 它忽略點在表面上的分散方式;推土機距離則對此敏感
  • 一個方向就夠了 — 只從預測到目標量測,會獎勵只把目標一小部分涵蓋得很好的預測

誰需要了解

  • 處理點雲的 3D 感知與學習研究人員
  • 研究可變形物體的操作研究人員
  • 評估重建品質的建圖工程師

相關技術

  • 推土機距離(Earth Mover's Distance)
  • Hausdorff 距離(Hausdorff Distance)
  • F-score(3D 重建,3D Reconstruction)
  • k-d 樹(k-d Tree)
  • PointNet

相關術語

  • Point Cloud
  • Iterative Closest Point
  • Forward Dynamics Model
  • Neural Implicit Representation
  • Farthest Point Sampling

相關專案

  • Open3D: Modern library for 3D point cloud processing, mesh operations, and 3D machine learning
  • PCL: Industry-standard C++ library for point cloud processing in robotics perception
  • OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
  • LeGO-LOAM: Classic lightweight, ground-optimized lidar odometry and mapping baseline (IROS 2018)
  • libpointmatcher: Modular ICP library for 2D/3D point cloud registration and mapping
  • Patchwork++: Fast and robust ground segmentation for 3D LiDAR point clouds from KAIST

本網站需要 JavaScript 才能正常運作。請啟用 JavaScript 以瀏覽我們的開源機器人專案。