Intersection over Union (IoU)
Intersection over Union(IoU)が物体検出の精度を測定する仕組みを学びます。Ultralytics YOLO26の評価と空間精度の最適化における役割を説明します。
Intersection over Union (IoU)は、2つの境界の重なりを測定することで、物体検出器の精度を定量化する、コンピュータビジョンの基本的な指標です。技術的にはJaccard Indexと呼ばれることが多く、IoUは、予測されたバウンディングボックスが正解ボックス、つまり人間のアノテーターがラベル付けした物体の実際の位置とどの程度一致しているかを評価します。スコアは0から1の範囲で、0は重なりがないことを、1はピクセル単位で完全に一致していることを示します。この指標は、YOLO26のようなモデルの空間的な精度を評価するうえで不可欠であり、単純な分類にとどまらず、システムが物体の位置を正確に把握していることを確認できます。
重なりを測定する仕組み#
IoUの基本概念は直感的です。2つのボックスが交差する領域の面積を、両方のボックスが覆う領域を合わせた総面積(和集合)で割った比率を計算します。この計算では、物体の総サイズによって重なりを正規化するため、IoUはスケール不変の指標として機能します。つまり、コンピュータビジョンモデルが巨大な貨物船を検出する場合でも、小さな昆虫を検出する場合でも、公平に性能を評価できます。
標準的な物体検出ワークフローでは、IoUは予測が「真陽性」か「偽陽性」かを判定するための主要なフィルターです。評価時に、エンジニアは特定のしきい値(一般的には0.50または0.75)を設定します。重なりのスコアがこの数値を超えると、その検出は正しいものとしてカウントされます。このしきい値処理は、さまざまなクラスや難易度にわたるモデルの精度を要約する平均適合率 (mAP)など、集約された性能指標を計算するための前提条件です。
実世界での利用例#
曖昧な近似が失敗や安全上の危険につながる可能性がある業界では、高い空間精度が不可欠です。IoUにより、AIシステムが物理世界を正確に認識していることを確認できます。
- 自動運転: 自動車分野のAIでは、自動運転車は歩行者が存在することを検出するだけでなく、車線に対する歩行者の正確な位置も把握する必要があります。テスト時に高いIoUスコアを示すことで、自動運転車の認識スタックが障害物の位置を正確に特定できることを検証し、安全な軌道計画と衝突回避が可能になります。
- 精密医療: ヘルスケア分野のAIでは、IoUはMRIスキャンにおける腫瘍のセグメンテーションなどのタスクに不可欠です。放射線科医は、異常部位の増大や縮小を測定するために医用画像解析を利用します。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などのツールを使用すると、高品質なデータアノテーションを作成でき、トレーニングを開始する前に正解ボックスを可視化し、物体にぴったり合っていることを確認できます。









