物体検出の分野では、検出した物体をバウンディングボックス (BBox) で囲んで、それぞれに信頼度 (スコア) を算出します。 このとき重複したBBoxを除去あるいは集約するアルゴリズムにはバリエーションがあります。物体検出モデルの後処理やコンペなどでよく使われる4つを紹介します。 NMS Soft-NMS NMW WBF 最初におさらい: IoU (Intersection over Union) 2つのBBoxがどれくらい重複しているかを表す指標の1つで、1.0に近づくほど重複しています。 分子が重なっている面積 分母が2つのBBoxの総面積 実装 def iou(a: tuple, b: tuple) -> float: a_x1, a_y1, a_x2, a_y2 = a b_x1, b_y1, b_x2, b_y2 = b if a == b: return 1.0 elif (
![物体検出で重なったバウンディングボックスを除去・集約するアルゴリズムのまとめ (NMS, Soft-NMS, NMW, WBF) - け日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/a760964bdfdb5120456ae4b50b9c3aa1c6a8512d/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fo%2Fohke%2F20200620%2F20200620193430.png)