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

Intersection over Union (IoU)

IoU(Intersection over union)は、予測ボックスが正解ボックスとどの程度重なるかを0から1で評価します。数式、Pythonコード、しきい値、IoUベースの損失について解説します。

Intersection over Union(IoU)は、2つの領域の重なり具合を、共通する面積を両者を合わせた面積で割って測定します。領域が重ならない場合は0、完全に一致する場合は1となり、統計学でJaccard係数として知られるものと同じ指標です。物体検出では、IoUを使って予測したバウンディングボックスとラベル付けされた正解ボックスを比較します。予測を正解とみなすか、重複する予測をどれだけ除去するか、ボックス予測をどう学習するかもIoUによって決まります。

IoUの計算方法#

IoU = 共通部分の面積 / 和集合の面積です。和集合の面積は、ボックスAとボックスBの面積の合計から両者の共通部分を引いたもので、重なった領域を二重に数えません。四隅の座標で表す軸に平行な2つのボックスでは、共通部分は2つのボックスの内側の辺で囲まれた長方形になります。ボックスが重ならない場合、幅または高さは0に切り詰められます。

# Boxes as [x1, y1, x2, y2] in pixels
label = [100, 100, 200, 200]
pred = [110, 110, 210, 210]

# Intersection rectangle, clamped to zero when the boxes do not overlap
w = max(0, min(label[2], pred[2]) - max(label[0], pred[0]))
h = max(0, min(label[3], pred[3]) - max(label[1], pred[1]))
intersection = w * h

# Union counts the overlap only once
area_label = (label[2] - label[0]) * (label[3] - label[1])
area_pred = (pred[2] - pred[0]) * (pred[3] - pred[1])
union = area_label + area_pred - intersection

print(f"IoU = {intersection} / {union} = {intersection / union:.3f}")

スクリプトはIoU = 8100 / 11900 = 0.681を出力します。100ピクセルのボックスを各方向に10ピクセルずらすと、重なりは90 × 90ピクセルに縮小し、和集合は11,900に拡大するため、10%のずれでスコアはほぼ3分の1低下します。両方の面積は同じ比率で拡大縮小するため、IoUはスケール不変です。相対的なずれが同じなら、20ピクセルの鳥でも2,000ピクセルのトラックでもスコアは同じです。そのため、固定ピクセル数の誤差は小さなオブジェクトほど大きく影響します。横方向に1ピクセルずらした場合、20ピクセルのボックスではIoUが0.905に下がる一方、200ピクセルのボックスでは0.990にとどまります。

評価におけるIoUのしきい値#

評価のしきい値を使うと、IoUに基づいて正誤を判定できます。クラスが一致し、まだ対応付けられていない正解ボックスとのIoUがしきい値以上なら、予測は真陽性となり、それ以外は偽陽性となります。PASCAL VOCベンチマークでは0.5が使われました。見た目より緩い基準であり、同じサイズのボックスを幅の3分の1だけ横にずらすと、IoUはちょうど0.5になります。COCOベンチマークでは0.50から0.95までの10個のしきい値で結果を平均し、平均適合率(mAP)によって位置の正確さを評価します。

学習と後処理におけるIoU#

  • ボックス回帰損失: 検出器はボックスの座標を1 − IoUまたはその変形で学習します。生の座標に対する損失では、小さなボックスでも大きなボックスでも10ピクセルの誤差が同じ扱いになるためです。通常のIoUではボックスが重ならないと勾配が得られないため、Generalized IoU(GIoU)は両方を囲む最小のボックスに基づくペナルティを加え、Distance-IoUとComplete IoU(DIoU、CIoU)は中心間の距離とアスペクト比に関する項を加えます。YOLO26はボックスヘッドの学習にCIoU損失を使い、学習時に各ラベル付きオブジェクトへどの予測を割り当てるかの判断にもCIoUを使います。
  • 非最大値抑制(NMS): 推論時に、同じクラスのスコアが高いボックスとのIoUがしきい値を超えるボックスは重複とみなされ、除去されます。
  • オブジェクトトラッキング: ByteTrackなどのトラッカーは、フレーム間の対応付けコストとして、既存のトラックと新しい検出のIoUを使用します。

さまざまな形状に対するIoU#

同じ比率は、どのような2つの領域にも適用できます。セグメンテーションではピクセル集合を使ってマスクIoUを計算します。インスタンスセグメンテーションでは予測マスクとラベルの対応付けに使い、セマンティックセグメンテーションのベンチマークではクラス間の平均をmIoUとして報告します。回転ボックスではポリゴンの共通部分またはProbIoUなどのガウス近似を使います。3D検出では、完全な3D空間、または鳥瞰図上のフットプリントの重なりを使って、直方体間のIoUを計算します。

  • Dice係数: 共通部分の面積を2倍して、2つの領域の面積の合計で割った値です。Dice = 2 × IoU / (1 + IoU)であるため、IoUと同じ順序で予測を評価します。医用画像のセグメンテーションでよく使われます。
  • 精度: 正しくクラスを予測した割合であり、ボックスの位置については何も示しません。
  • mAP: IoUのしきい値を基に、クラス間の位置精度、適合率、再現率をまとめた検出単位の指標です。

Diceの関係式を使うと、しきい値も換算できます。IoU 0.5はDiceスコア0.667に相当し、IoU 0.9はDiceスコア0.947に相当します。

ソリューションを見る

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

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

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

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

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

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

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

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

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の未来を一緒に築きましょう!

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