논문출처: https://arxiv.org/abs/1910.13302
real-time inference가 요구되지 않을 때는 서로 다른 모델을 앙상블하는 것이 성능 향상에 도움이 됨
이 논문에서는, object detection task에서 서로 다른 모델의 예측들을 결합하는 Weighted boxes fusion이라는 참신한 방법론을 제시함
NMS나 soft-NMS는 단순히 bounding box를 선택하기 때문에 서로 다른 모델들의 평균적인 localization을 구할 수 없고, 결과적으로 sinlge model에서만 효과적임
그에 반해 WBF는 서로 다른 모델들에서 얻어진 모든 bounding box들의 confidence score를 활용해 평균적인 box의 위치를 구함
가장 confidence score가 높은 box와 특정 threshold 값 이상의 IoU 값이 나오는 box들을 모두 제거
조금씩 겹쳐 있는 서로 다른 object들의 box를 하나의 object에 대한 서로 다른 box로 여겨 제거할 경우 예측 성능 하락
가장 confidence score가 높은 box와의 IoU 값에 비례해 box들의 confidence score를 낮춤
즉, 많이 겹칠 수록 confidence score를 낮춤
일반적인 NMS와 달리 box들을 아예 제거하지는 않기 때문에 single model에 한해서는 꽤 큰 성능 향상 보임
두 가지 경우에서 사용 가능:
1) 서로 다른 N개의 모델이 같은 이미지에 대해 bounding box + confidence score를 예측한 결과를 갖고 있는 경우
2) 하나의 모델이 원본 이미지를 포함한 augmented된 이미지들에 대해 bounding box + confidence score를 예측한 결과를 갖고 있는 경우
Steps
1)
모든 예측된 box들을 하나의 리스트 B에 저장하고, confidence score 기준 내림차순으로 정렬함
2)
같은 object에 대한 box clusters를 담는 빈 리스트 L(cLuster)과, 하나의 box cluster의 평균 box를 담는 빈 리스트 F(Fused box)를 선언함
3)
NMS처럼 리스트 B의 box들을 순차적으로 반복하여, IoU 값이 특정 THR(IoU threshold 값) 이상인지 판단함. (첫 box를 F의 첫 위치에 넣고 다음 box들에 대해 IoU 값 확인) 실험에서는 THR=0.55가 optimal
4)
만약 IoU 값이 THR 이하라면, 해당 object에 대한 box cluster를 모두 찾았다고 간주해 다음 object에 대한 box들을 찾음. 즉, 그 box를 리스트 L과 F의 다음 위치에 추가함
5)
만약 IoU 값이 THR 이상이라면, 해당 box를 리스트 L의 현재 위치에 추가함
6)
리스트 L(cluster)에 box가 새로 추가될 때마다, 평균 box 좌표와 confidence score를 다시 계산함. 먼저 C(평균 confidence score)는 cluster의 모든 confidence score의 평균 값임

이후 평균 box 좌표를 계산하는데, 이때 각 박스의 confidence score를 가중치로 함. 즉, score가 높을 수록 박스 위치에 대한 영향력이 큼

7)
이러한 방식으로 리스트 B의 모든 box들이 처리되고 나면, 리스트 F의 평균 box들의 confidence score를 다시 계산함
해당 클러스터의 box들의 수를 곱해주고, 전체 모델의 수로 나눠줌
그 이유는 해당 클러스터의 box들의 수가 많을 수록 많은 model들이 해당 위치 주변에 object가 있을 거라고 예측한다는 것으로 볼 수 있으므로 높은 점수를 부여해야하기 때문

위 식 중 첫번째 식을 사용한 경우 근소하게 나은 성능을 보임
NMS/Soft-NMS와의 비교
inaccurate한 box들이 많이 예측되었을 경우, NMS나 soft-NMS는 그나마 나은 하나의 box를 예측함
그에 반해 WBF는 모든 inacurate한 box들을 잘 종합하여 ground truth에 근접한 box를 예측함

서로 다른 모델들의 앙상블 기법으로 사용한다면 좋은 성능 보장
하지만 싱글 모델에서 NMS를 대체하는 용도로 WBF를 사용한 결과 성능이 하락함
저자들은 성능 하락의 원인이 낮은 점수의 box가 너무 많기 때문이라고 생각함