Ultralytics YOLO27:
Ultralytics用語集に戻る

Non-Maximum Suppression (NMS)

非最大抑制(NMS)が物体検出における重複するバウンディングボックスを除去する方法を学びます。Ultralytics YOLO26がネイティブなエンドツーエンドNMSを提供する仕組みを確認します。

非最大抑制 (NMS) は、モデルが生成した生の予測結果を改善するために物体検出で使用される後処理技術です。物体検出モデルが画像を解析すると、通常、単一の物体に対して、関連付けられた信頼度スコアとともに、重なり合う複数のバウンディングボックスを生成します。これらの冗長な予測は、モデルが同じ特徴をわずかに異なるスケールや位置で検出する可能性があるために発生します。NMS は、各物体について最も正確なバウンディングボックスだけを保持し、その他を破棄することでこの出力をフィルタリングし、最終出力から重複を排除して、クリーンで正確な結果を確保します。

非最大抑制の仕組み#

NMS アルゴリズムは、候補となるバウンディングボックスのリストと、それぞれに対応する信頼度スコアに対して動作します。目的は、ある物体について最適なボックスを選択し、それと大きく重なる他のボックスを抑制(削除)することです。これらは同じ物体を重複して検出した可能性が高いためです。通常、この処理は次の手順で行われます。

  1. フィルタリング: 信頼度スコアが特定のしきい値(例: 0.25)未満のすべてのバウンディングボックスを除外し、信頼度の低い予測を直ちに取り除きます。

  2. ソート: 残ったボックスを、信頼度スコアの降順に並べ替えます。

  3. 選択: 信頼度スコアが最も高いボックスを有効な検出結果として選択します。

  4. 比較: 選択したボックスと残りのすべてのボックスを、2つのボックス間の重なりを測定する指標であるIoUを使用して比較します。

  5. 抑制: 選択したボックスと別のボックスの IoU が事前定義されたしきい値(例: 0.45)を超える場合、スコアの低いボックスを重複とみなし、削除します。

  6. 反復: まだ抑制も選択もされていない、次にスコアが高いボックスを使って、すべてのボックスが処理されるまでこの処理を繰り返します。

実世界での利用例#

NMS は、精度が極めて重要であり、重複した検出結果が後続のシステムを混乱させる可能性があるシナリオで不可欠です。

  • 自動運転: 自動運転車のシステムでは、カメラが歩行者、他の車両、交通標識を検出します。モデルが1人の歩行者に対して、わずかに異なる3つのボックスを予測する場合があります。NMS により、車両の経路計画システムはその歩行者について1つの座標だけを受け取るため、「ゴースト」障害物による不規則なブレーキ操作や経路計画エラーを防止できます。
  • 小売在庫管理: コンピュータービジョンを使用して棚の商品を数える場合、商品同士が密集していることがよくあります。NMS がないと、重なり合う予測によって1本のソーダ缶が2回数えられ、在庫数が不正確になる可能性があります。NMS はこれらの検出結果を改善し、在庫数が実際の数量と一致するようにします。

PyTorch による NMS の実装#

多くの最新フレームワークは NMS を内部で処理しますが、その実装を理解することはパラメーターの調整に役立ちます。次の例では、PyTorch ライブラリを使用して NMS を適用する方法を示します。

import torch
import torchvision.ops as ops

# Example bounding boxes: [x1, y1, x2, y2]
boxes = torch.tensor(
    [
        [100, 100, 200, 200],  # Box A
        [105, 105, 195, 195],  # Box B (High overlap with A)
        [300, 300, 400, 400],  # Box C (Distinct object)
    ],
    dtype=torch.float32,
)

# Confidence scores for each box
scores = torch.tensor([0.9, 0.8, 0.95], dtype=torch.float32)

# Apply NMS with an IoU threshold of 0.5
# Boxes with IoU > 0.5 relative to the highest scoring box are suppressed
keep_indices = ops.nms(boxes, scores, iou_threshold=0.5)

print(f"Indices to keep: {keep_indices.tolist()}")
# Output will likely be [2, 0] corresponding to Box C (0.95) and Box A (0.9),
# while Box B (0.8) is suppressed due to overlap with A.

NMS とエンドツーエンド検出の比較#

従来、NMS はメインのニューラルネットワークの外部で実行される必須の「クリーンアップ」処理であり、推論レイテンシを増加させていました。しかし、この分野はエンドツーエンドアーキテクチャへと進化しています。

  • 標準 NMS: IoU しきい値を手動で調整する必要があるヒューリスティックな処理です。しきい値が低すぎると、互いに近い位置にある有効な物体を見逃す可能性があります(再現率が低下)。高すぎると、重複が残ります(適合率が低下)。
  • エンドツーエンドモデル: YOLO26などの次世代モデルは、ネイティブなエンドツーエンドモデルとして設計されています。これらのモデルは、トレーニング中に物体ごとにちょうど1つのボックスを予測するよう学習し、NMS の処理を実質的に内部化します。これにより外部の後処理が不要になり、Ultralytics Platformでの推論速度が向上し、デプロイパイプラインが簡素化されます。

関連する概念#

  • Soft-NMS: 重なり合うボックスを厳密に削除するのではなく、信頼度スコアを低下させる手法です。これにより、人物が群衆の中にいる場合のように、ある程度重なっている物体でも、減衰後のスコアが十分に高ければ検出できます。
  • Anchor Boxes: 多くの検出器で物体のサイズを推定するために使用される、事前定義済みのボックス形状です。NMS は、これらのアンカーから改善された最終予測に対して適用されます。
  • IoU: 2つのボックスがどの程度重なっているかを判断するために NMS が使用する数学的な式であり、抑制の判定しきい値として機能します。

Explore solutions

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

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

Ultralytics YOLOを使用して、ドローンや航空画像から農業、水産業、環境モニタリング、保全、地理空間分析向けのリアルタイムなインサイトを生成します。
詳細を見る
航空宇宙におけるコンピュータビジョン

航空宇宙におけるコンピュータビジョン

Ultralytics YOLOモデルを使用して、ビジョンAIを空中モニタリングに導入します。コンピュータビジョンソリューションで、ドローン、航空宇宙ワークフロー、環境保護、および地理空間産業を強力にサポートします。
詳細を見る

Ultralytics YOLOモデルであらゆるサイトを保護します。ビジョンAIは、境界モニタリング、脅威検出、ナンバープレート認識、職場安全をサポートします。
詳細を見る
ロボティクスのコンピュータービジョン

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

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

物流のコンピュータービジョン

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

小売のコンピュータービジョン

Ultralytics YOLOモデルで小売を再構築します。Vision AIにより、在庫追跡、棚監視、待ち行列管理、より高度な顧客インサイトを実現します。
詳細を見る
ヘルスケア向けコンピュータービジョン

ヘルスケア向けコンピュータービジョン

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

製造業向けコンピュータービジョン

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

自動車分野のコンピュータビジョン

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

農業分野のコンピュータビジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入します。作物のモニタリング、家畜の追跡、精密農業を支援し、より高くスマートな収穫量を実現します。
詳細を見る
航空画像向けコンピュータービジョン

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

Ultralytics YOLOを使用して、ドローンや航空画像から農業、水産業、環境モニタリング、保全、地理空間分析向けのリアルタイムなインサイトを生成します。
詳細を見る
航空宇宙におけるコンピュータビジョン

航空宇宙におけるコンピュータビジョン

Ultralytics YOLOモデルを使用して、ビジョンAIを空中モニタリングに導入します。コンピュータビジョンソリューションで、ドローン、航空宇宙ワークフロー、環境保護、および地理空間産業を強力にサポートします。
詳細を見る

Ultralytics YOLOモデルであらゆるサイトを保護します。ビジョンAIは、境界モニタリング、脅威検出、ナンバープレート認識、職場安全をサポートします。
詳細を見る
ロボティクスのコンピュータービジョン

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

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

物流のコンピュータービジョン

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

小売のコンピュータービジョン

Ultralytics YOLOモデルで小売を再構築します。Vision AIにより、在庫追跡、棚監視、待ち行列管理、より高度な顧客インサイトを実現します。
詳細を見る
ヘルスケア向けコンピュータービジョン

ヘルスケア向けコンピュータービジョン

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

製造業向けコンピュータービジョン

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

自動車分野のコンピュータビジョン

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

農業分野のコンピュータビジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入します。作物のモニタリング、家畜の追跡、精密農業を支援し、より高くスマートな収穫量を実現します。
詳細を見る
航空画像向けコンピュータービジョン

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

Ultralytics YOLOを使用して、ドローンや航空画像から農業、水産業、環境モニタリング、保全、地理空間分析向けのリアルタイムなインサイトを生成します。
詳細を見る
航空宇宙におけるコンピュータビジョン

航空宇宙におけるコンピュータビジョン

Ultralytics YOLOモデルを使用して、ビジョンAIを空中モニタリングに導入します。コンピュータビジョンソリューションで、ドローン、航空宇宙ワークフロー、環境保護、および地理空間産業を強力にサポートします。
詳細を見る

Ultralytics YOLOモデルであらゆるサイトを保護します。ビジョンAIは、境界モニタリング、脅威検出、ナンバープレート認識、職場安全をサポートします。
詳細を見る
ロボティクスのコンピュータービジョン

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

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

物流のコンピュータービジョン

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

小売のコンピュータービジョン

Ultralytics YOLOモデルで小売を再構築します。Vision AIにより、在庫追跡、棚監視、待ち行列管理、より高度な顧客インサイトを実現します。
詳細を見る
ヘルスケア向けコンピュータービジョン

ヘルスケア向けコンピュータービジョン

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

製造業向けコンピュータービジョン

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

自動車分野のコンピュータビジョン

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

農業分野のコンピュータビジョン

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

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

機械学習の未来への歩みを始めましょう