머신 러닝 과제에서 성능을 높이기 위해 여러 모델들을 종합하는 ensemble 기법을 사용한다.
다양한 과제에서 사용 가능하지만, object detection task에서는 주의해서 사용할 필요가 있다. object detection에서 ensemble을 사용하면 bounding box의 개수가 크게 늘어나는데, 이를 줄일 필요가 있다.
NMS는 Faster R-CNN을 다룰 때 나온 개념인데 다수의 겹치는 bounding box가 생성될 때 가장 적합한 bounding box를 선택하고 나머지를 제거하는 기법이다. 이를 사용하면 bounding box의 개수를 줄일 수 있지만, 문제는 한 이미지 내에 여러 객체가 인접하게 붙어있는 경우라면 GroundTruth bbox임에도 불구하고 다른 bbox가 제거되어 버린다는 것이다. 이 때 다른 box들의 score를 일부러 낮춤으로써 필요한 box가 제거되는 것을 방지한다.
WBF (Weighted Box Fusion) 는 GroundTruth와 겹치는 비율대로 새로운 bbox를 생성하는 기법이다.
random seed를 바꿔가며 여러 모델을 학습시킨 후 ensemble
MMDetection, Detectron2, PyTorch, Tensorflow, Torchvision 등 여러 라이브러리의 결과를 ensemble
동일한 모델 내에서 서로 다른 local minima에 빠진 신경망을 ensemble
일정한 주기마다 weight를 평균 내는 방법
https://sseunghyuns.github.io/detection/2021/03/29/wheatdetection-wbf-inference/ (WBF)