物体検出のための非最大抑制NMS)をご覧ください。NMSがどのように結果を洗練させ、精度を高め、YOLOようなAIアプリケーションを強化するかをご覧ください。
ノンマキシマムサプレッションNMS)は、コンピュータビジョンで使用される重要な後処理技術です。 コンピュータ・ビジョンにおいて、物体検出アルゴリズム 後処理の重要なテクニックである。モデルが画像を分析するとき が画像を解析する場合、1つの物体に対して複数の重なり合うバウンディングボックス バウンディングボックスを予測します。 を予測します。NMS これらの冗長な予測をフィルタリングし、すべてのユニークなオブジェクトが正確に識別されるようにします。 最も正確なボックスだけを残し、残りは破棄します。このプロセスは 実世界のアプリケーションで高精度を達成するために不可欠であり、システムが "ゴースト "重複を検出するのを防ぐ。 システムが同じターゲットの「ゴースト」重複を検出することを防ぎます。
NMS アルゴリズムは、ディープラーニングモデルの生の出力をクリーンアップするフィルターとして動作する。 フィルターとして動作する。これは2つの重要な 信頼度スコア。 ボックスがオブジェクトを含むことをモデルがどの程度確信しているかを示す信頼度スコアと IoU)である。 2つのボックス間の空間的な重なりを測定する。
NMS 標準的な貪欲なアルゴリズムは、一般に次のようなものである。 以下のステップを踏む:
ソフトNMSような高度なバリエーションは、重なったボックスの検出スコアを減衰させる。 これは、オブジェクトが互いに自然に隠れるような混雑したシーンでは有益である。 これは、オブジェクトが互いに自然に隠れるような混雑したシーンでは有益である。
NMS 、人工知能に依存するシステムにおいて、どこにでもある。 人工知能が 視覚データを解釈する人工知能に依存するシステムにおいてその役割は、セーフティクリティカルで高精度な環境において特に重要である。
での Ultralytics YOLO11フレームワークでは、NMS 予測パイプラインに 予測パイプラインに直接統合されている。ユーザーは、IoU しきい値などのNMS パラメータを簡単に調整し、IoU 除去と間隔の近いオブジェクトの分離のバランスをとることができます。 を簡単に調整することができます。
以下のコード・スニペットは、推論を実行し、NMS 設定をカスタマイズする方法を示している。
ultralytics パッケージで提供される:
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
# 'iou=0.5' sets the NMS threshold; boxes with >50% overlap are suppressed
# 'conf=0.25' filters out boxes with low confidence before NMS runs
results = model.predict("https://ultralytics.com/images/bus.jpg", iou=0.5, conf=0.25)
# Display the number of detected objects after NMS
print(f"Objects detected: {len(results[0].boxes)}")
NMS 検出パイプラインに見られる他の用語と区別することは重要である。
これらのモデルを効率的に展開しようとする開発者にとって、NMS リアルタイム推論に与える影響を理解することは極めて重要である。 を理解することは極めて重要である。以下のようなツールがある。 TensorRTNMS ようなツールには、最適化されたNMS プラグインが含まれていることが多い。 最適化されたNMSプラグインが含まれています。