Doby's Lab

Non-maximum Suppresion(비 최대 억제)에 대하여 본문

Computer Vision (CV)

Non-maximum Suppresion(비 최대 억제)에 대하여

도비(Doby) 2023. 2. 5. 16:23

✅ Intro

IoU에 이어 적절한 Bounding Box를 채택하는 방법인 Non-maximum Suppression에 대하여 알아봅시다.


✅ Non-maximum Suppresion

Region Proposal을 통해 여러 Class에 대해 여러 Bounding Box들이 나올 것입니다.

이 Bounding Box들을 담고 있는 보관함을 A라고 하고, 다른 하나의 보관함인 B가 있다고 가정합시다.

A에는 여러 Bounding Box들이 있을 것이고, 순서를 Classifier에 의해 가장 높은 점수를 가지는 순서로 정렬해 둡니다.

 

📄 Algorithm

  1. 특정 임계값(Threshold 1) 보다 낮은 점수를 가진 Bounding Box들은 모두 버립니다.
  2. 가장 높은 점수를 가진 Bounding Box를 B로 옮깁니다.
  3. B로 이동한 Bounding Box와 A에 있는 모든 Bounding Box와 IoU를 측정합니다.
  4. 이때 측정된 IoU의 점수가 설정된 임계값(Threshold 2) 보다 높다면, 높게 측정된 A의 Bounding Box를 제거합니다.
  5. 이 과정이 모두 끝났다면, 다시 A에서 가장 높은 점수를 가진 Bounding Box를 채택하여 B로 옮기고, 3, 4번 과정을 B에 더 이상 Bounding Box가 없을 때까지 다시 반복합니다.

이 과정을 거치고 나면, 아래 그림처럼 B에 남아있는 Bounding Box들이 최종 Bounding Box로 채택이 됩니다.

과정들을 살펴보면서 왜 이렇게 해야 하는지 알아봅시다.

 

1번의 경우는 Bounding Box로 볼 수 있는 범위를 넘어섰기 때문에 Threshold를 통해 과감히 버려버리는 것입니다.

2번, 3번, 4번의 경우 이유를 찾아본 결과, 특정 Threshold를 넘는 높은 IoU 가진 Bounding Box들을 없애버리는 이유는 한 Class에 대해 여러 Bounding Box를 없애는 과정과 같습니다.

이미 높은 점수를 가진 Bounding Box가 있으니 다른 Bounding Box들과 IoU를 통해 측정하면서 '이미 이 Class에 대해 좋은 Bounding Box를 가지고 있다'라고 판단하고, 버려버리는 것이 이유입니다.

 

그리고, 마지막으로 5번의 경우 새롭게 실행하는 이유는 한 이미지에 대해 한 Class만 있는 것이 아니기 때문입니다.

그래서 앞서 실행한 알고리즘에 대해 한 Class에 대한 Bounding Box에 대한 채택을 끝내고, 새로운 반복을 통해 새로운 Class에 대해 좋은 Bounding Box를 채택하는 것입니다.

 

즉, 알고리즘이 끝난 B에는 각 Class에 대해 제일 좋은 Bounding Box들이 있을 것입니다.


✅ References

https://www.analyticsvidhya.com/blog/2020/08/selecting-the-right-bounding-box-using-non-max-suppression-with-implementation/

 

Selecting the Right Bounding Box Using Non-Max Suppression (with implementation)

Non-max suppression is used in various object detection algorithms like yolo, ssd. Understand how non-max suppression works with implementation.

www.analyticsvidhya.com

https://deep-learning-study.tistory.com/403

 

[Object Detection] 비-최대 억제(NMS, Non-maximum Suppression)를 이해하고 파이토치로 구현하기

안녕하세요! 이번 포스팅에서는 비-최대 억제(NMS,Non-maximum Suppression)을 알아보도록 하겠습니다. 비최대 억제를 이해하기 위해서는 IoU(intersection over unio)에 대한 개념을 알아야합니다. IoU에 대한

deep-learning-study.tistory.com

https://ctkim.tistory.com/98

 

NMS(Non-maximum Suppression)

☞ 문서의 내용은 가장 하단 참고문헌 및 사이트를 참고하여 필자가 보기 쉽도록 정리한 내용입니다. ☞ 틀린 내용 및 저작권 관련 문의가 있는 경우 문의하시면 수정 및 삭제 조치하겠습니다. N

ctkim.tistory.com

https://wikidocs.net/142645

 

3) NMS (Non-Maximum Suppression) & Anchor box

## 서론 앞서 [1) General process of object detection](https://wikidocs.net/152376) 에서 언급했듯, 대다수의 objec…

wikidocs.net

728x90