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