NMSとは
NMS(Non-Maximum Suppression:非最大値抑制)とは、物体検出において重複する検出結果を除去し、最も信頼度の高い検出結果のみを残す後処理アルゴリズムです。物体検出モデルは一つの物体に対して複数のバウンディングボックスを出力する傾向があるため、NMSは不可欠な処理です。
NMSのアルゴリズム
標準的なNMSの処理手順は次の通りです。まず、すべての検出結果を信頼度スコアの降順にソートします。最も信頼度の高い検出を選択し、それと大きく重なる(IoUが閾値以上の)他の検出をすべて抑制します。残った検出の中で次に信頼度の高いものを選択し、同様の処理を繰り返します。すべての検出が処理されるまでこれを続けます。IoU閾値は通常0.5程度に設定されます。
NMSの改良手法
標準的なNMSにはいくつかの課題があります。物体が重なっている場合に正しい検出まで抑制してしまう、閾値の設定が難しいなどです。これらを改善するため、Soft-NMSは重なるボックスを完全に抑制するのではなく、スコアを減衰させる手法です。また、DIoU-NMSはボックス中心間の距離も考慮し、より精密な重複判定を行います。学習可能なNMSやNMSフリーの検出手法(DETRなど)も研究されており、後処理に依存しないモデルの実現を目指しています。