Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

Chamfer Distance

Chamfer距離は、点群、3Dサーフェス、または物体の境界がどの程度一致しているかを測定し、再構成、セグメンテーション、モデル学習を支援します。

Chamfer距離は、2つの点集合がどの程度一致しているかを測る指標であり、各点ともう一方の集合内の最近傍点との距離から計算されます。値が小さいほど一致度が高いことを示します。コンピュータービジョンでは、3D点群(サンプリングされた空間座標の集合)と2D物体境界の比較に使われます。点の順序は関係なく、点集合に含まれる点の数が異なっていてもかまいません。

起源は、H. G. Barrow、J. M. Tenenbaum、R. C. Bolles、H. C. Wolfが1977年に発表したChamferマッチングにあり、画像の曲線で表現された形状のマッチングに用いられました。機械CADにおける面取りとは、寸法で物理的な特徴を表す、斜めに削られた縁のことです。

Chamfer距離の計算方法#

空でない2つの点集合AとBについて、一般的な二乗距離の定義は次の3つの手順で構成されます。

  1. Aの各点についてB内の最近傍点を見つけ、ユークリッド距離を二乗し、これらの値を平均します。
  2. BからAへの方向でも同じ計算を行います。
  3. 2方向の平均を合計します。

最初の方向では、参照サーフェスから遠い予測点にペナルティを課し、逆方向では予測に含まれない参照領域にペナルティを課します。これは、クエリごとに1つの近傍を用いる、k近傍法と同じ最近傍探索を使います。PyTorch3DのChamfer実装は、双方向と単方向の両方の計算に対応しています。

二乗距離か非二乗距離か、および合計か平均かという集約方法によってスコアは変わります。もう1つの一般的な規約では、2方向の平均をさらに平均するため、合計した場合の値の半分になります。そのため、実験で用いる指標の定義には、距離の規約、座標の単位、正規化が含まれます。

このPyTorchによる計算では、ペアごとのユークリッド距離を算出するためにtorch.cdistを使用します。

import torch

a = torch.tensor([[0.0, 0.0], [2.0, 0.0]])
b = torch.tensor([[0.0, 0.0], [3.0, 0.0]])

# Reduce squared distances in each nearest-neighbor direction.
distances = torch.cdist(a, b, p=2)
squared_distances = distances.square()
a_to_b = squared_distances.min(dim=1).values.mean()
b_to_a = squared_distances.min(dim=0).values.mean()
chamfer = a_to_b + b_to_a

print(f"Squared Chamfer distance: {chamfer.item():.2f}")

出力は1.00です。それぞれの方向の平均値は0.50です。同一の点集合では値が0になります。

モデル学習におけるChamfer損失#

Chamfer損失とは、損失関数として使用するChamfer距離のことです。ニューラルネットワークが点の座標を予測し、誤差逆伝播によって、予測点を参照点に近づける勾配が得られます。最近傍点の選択により目的関数は区分的に微分可能となり、対応関係が固定された領域内では、二乗距離から座標の勾配が得られます。

基礎となる応用例として、Haoqiang Fan、Hao Su、Leonidas J. Guibasが提案し、CVPR 2017で発表した点集合生成ネットワーク(PSGN)があります。このモデルは、単一画像からの3D再構成の学習目的関数としてChamfer距離を使用し、写真から物体の点群を予測します。この点集合を用いる目的関数により、事前に点と点の対応関係を定義せずに学習できます。

再構成とセグメンテーションでの応用#

3D再構成では、Chamfer距離によって、サンプリングした予測サーフェスと参照形状を比較します。また、メッシュフィッティングにも利用でき、メッシュからサンプリングした点が対象のサンプルに近づくように頂点を最適化します。球体からイルカへのメッシュフィッティングでは、Chamfer損失だけを最適化するとサーフェスが不均一になります。そのため、エッジ、法線、ラプラシアンによる正則化でメッシュの局所構造を制約します。

インスタンスセグメンテーションでは、Chamfer距離によって、サンプリングした予測輪郭とアノテーション済み輪郭の空間的なずれを測定します。UltralyticsのYOLO26セグメンテーションでは、Masks.xyを通じてポリゴン座標を取得できるため、外部でChamfer距離に基づく境界評価を行うための点集合を利用できます。面積に基づくIntersection over Unionとは異なり、輪郭距離は境界間の隔たりを表します。

スコアが何を捉えているかを理解するうえで、次の3つの関連概念が役立ちます。

  • Hausdorff距離は、最近傍点とのずれの最大値を用いるため、最も大きな境界またはサーフェスの不一致を重視します。
  • Earth Mover距離は、分布間で質量を保つ最小コストの輸送を求め、点集合間の対応付けを行います。
  • 密度を考慮したChamfer距離は、局所的なサンプリングの不均一性に対処します。通常のChamferマッチングでは複数の点が同じ最近傍点を共有できるため、サンプリングの均一性が低くても、密集したクラスターの誤差が小さくなる場合があります。

そのため、サンプリング密度、位置合わせ、データの前処理は比較結果に影響します。非二乗距離の単位は座標と同じで、二乗距離の単位はその二乗です。2つの点群をメートルからセンチメートルに変換すると、非二乗Chamfer距離は100倍、二乗Chamfer距離は10,000倍になります。

Explore solutions

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを活用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、環境モニタリング、自然保護、地理空間分析に役立てましょう。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る
スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを活用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、環境モニタリング、自然保護、地理空間分析に役立てましょう。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る
スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを活用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、環境モニタリング、自然保護、地理空間分析に役立てましょう。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOモデルで航空モニタリングにビジョンAIを導入しましょう。コンピュータービジョンソリューションで、ドローン、航空宇宙のワークフロー、環境保全、地理空間業界を支援します。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう