Intersection over Union (IoU)
Intersection over Union(IoU)が物体検出の精度を測定する仕組みを解説します。Ultralytics YOLO26の評価と空間精度の最適化における役割をご紹介します。
交差オーバーユニオン(IoU)は、2つの領域の重なりを測定して物体検出器の精度を定量化する、コンピュータービジョンの基本的な指標です。技術的にはJaccard係数とも呼ばれるIoUは、予測されたバウンディングボックスが、アノテーターがラベル付けしたオブジェクトの実際の位置であるグラウンドトゥルースボックスとどの程度一致するかを評価します。スコアは0から1の範囲で、0は重なりがないこと、1はピクセル単位で完全に一致することを示します。この指標は、YOLO26などのモデルの空間的な精度を評価するうえで不可欠です。単純な分類にとどまらず、システムがオブジェクトの正確な位置を把握できているかを確認できます。
重なりを測定する仕組み#
IoUの考え方は直感的です。2つのボックスが交差する領域の面積を、両方のボックスを合わせた領域(和集合)の面積で割って算出します。この計算では重なりをオブジェクト全体のサイズで正規化するため、IoUはスケール不変の指標として機能します。つまり、コンピュータービジョンモデルが巨大な貨物船を検出する場合も、小さな昆虫を検出する場合も、公平に性能を評価できます。
標準的な物体検出のワークフローでは、IoUが予測を「真陽性」または「偽陽性」と判定するための主要な基準となります。評価時に、エンジニアは一般に0.50や0.75などのしきい値を設定します。重なりスコアがこの数値を超えると、その検出は正解としてカウントされます。このしきい値判定は、平均適合率(mAP)などの総合的な性能指標を算出するための前提となります。mAPは、さまざまなクラスや難易度にわたるモデルの精度を要約します。
実際のアプリケーション#
曖昧な近似が失敗や安全上の危険につながる業界では、高い空間精度が不可欠です。IoUにより、AIシステムが物理世界を正確に認識しているかを確認できます。
- 自動運転: 自動車分野のAIでは、自動運転車は歩行者の存在を検出するだけでなく、車線に対する歩行者の正確な位置を把握する必要があります。テスト時に高いIoUスコアが得られれば、自動運転車の認識スタックが障害物を正確に特定できていることが確認でき、安全な軌道計画と衝突回避が可能になります。
- プレシジョン・メディシン: 医療分野のAIでは、MRIスキャン画像の腫瘍セグメンテーションなどのタスクにIoUが不可欠です。放射線科医は医用画像解析を利用して、異常部位の拡大や縮小を測定します。IoUの高いモデルは、予測境界が実際の腫瘍の輪郭に近いことを示します。これは、放射線治療の線量を決定し、健康な組織への照射を避けるうえで重要です。
PythonでIoUを計算する#
概念は幾何学的なものですが、実装には数学的な計算が必要です。ultralyticsパッケージには、IoUを効率的に計算する最適化済みのユーティリティが用意されており、モデルの動作確認や予測のフィルタリングに役立ちます。
import torch
from ultralytics.utils.metrics import box_iou
# Define ground truth and prediction boxes: [x1, y1, x2, y2]
ground_truth = torch.tensor([[100, 100, 200, 200]])
predicted = torch.tensor([[110, 110, 210, 210]])
# Calculate the Intersection over Union score
iou_score = box_iou(ground_truth, predicted)
print(f"IoU Score: {iou_score.item():.4f}")
# Output: IoU Score: 0.6806モデルのトレーニングと最適化におけるIoU#
IoUは評価指標として機能するだけでなく、ディープラーニングネットワークのトレーニングにも積極的に使われます。
- 損失関数の進化: 平均二乗誤差(MSE)などの従来の距離指標では、バウンディングボックスの幾何学的特性を捉えきれないことがよくあります。最新の検出器では、Generalized IoU(GIoU)やComplete IoU(CIoU)など、IoUベースの損失関数を使用します。これらの高度な関数は、アスペクト比や中心点間の距離を考慮し、ニューラルネットワークの収束を速めます。
- 重複の除去: 推論時に、モデルが同じオブジェクトをわずかに異なるボックスで複数回検出することがあります。Non-Maximum Suppression(NMS)と呼ばれる手法は、IoUを使ってこうした重複を特定します。最も高い信頼度スコアを持つボックスを残し、それとIoUが高い周辺のボックスを抑制することで、最終出力を整理します。
IoUと関連指標の違い#
機械学習モデルを効果的に評価するには、IoUと他の類似度指標を区別することが重要です。
- IoUと精度の違い: 精度は、モデルが正しいクラス(例:「犬」と「猫」)をどれだけの頻度で予測するかを測定しますが、位置は考慮しません。画像の誤った隅にボックスを描画していても、モデルの分類精度が100%でIoUが0%になる場合があります。IoUは位置特定の品質を直接評価します。
- IoUとDice係数の違い: どちらの指標も集合の類似度を測定しますが、Dice係数(ピクセルの重なりに関するF1スコア)は共通部分をより重視します。不規則な形状を扱うセマンティックセグメンテーションではDiceが標準的に使われる一方、IoUは矩形のバウンディングボックスを使う検出の標準指標です。
高いIoUスコアを達成するには、精度の高いトレーニングデータが必要です。Ultralytics Platformなどのツールは、高品質なデータアノテーションの作成を支援します。チームはグラウンドトゥルースボックスを視覚的に確認し、トレーニング開始前にオブジェクトに正確にフィットしていることを確かめられます。










