I'm Lim

[개념 정리] Non Max Suppression 본문

Object Detection

[개념 정리] Non Max Suppression

imlim 2023. 1. 24. 16:56

1. Non Max Suppression (NMS)

1 ) NMS 개념

  Selective Search를 통해 region proposal을 하면 과도하게 많은 영역을 제안하게 됩니다. 이는 학습시간을 오래 걸리게 하고, 실시간 적용을 힘들게 하는 주요 원인 중 하나라고 볼 수 있습니다. 따라서, 제안된 영역의 개수를 줄이는 방안이 필요했고, 그중 하나가 Non Max Supperession입니다.

 

Non Max Suppression은 재밌는 2개의 아이디어를 가지고 있습니다. 

 

  1. 올바르게 제안된 영역은 Confidence Score가 높을 것이다.
  2. 한 객체를 기준으로 영역 간 IOU가 높다면 이것은 같은 객체를 가르킬 가능성이 높다.

2 ) NMS 알고리즘

  1. 제안된 영역의 Confidence Score를 모두 구하고, confidence threshold보다 작은 영역들은 모두 제거한다.
  2. Confidence Score를 기준으로 내림차순 정렬을 진행한다.
  3. 정렬된 Confidence Score의 순서대로 모든 box와의 IOU를 구한 후, IOU threshold보다 크다면 제거한다.
  4. 3의 과정을 반복한다.

이런 식으로 진행하게 되면, 객체가 존재할 확률이 크고, 객체 간 IOU가 작은 영역들만 남게 됩니다. 

 

아래의 그림에서 적절한 Confidence threshold와 IOU threshold를 사용한다면 초록색 영역만 남길 수 있을 겁니다.

 

2. Soft NMS

  여기서 하나의 의문점이 생깁니다. 만약, 클래스가 같은 객체가 겹쳐있다면 어떻게 되느냐입니다. 기존의 NMS 알고리즘을 이용하면 아래의 그림의 초록색 영역이 3의 과정에서 제거됩니다.

 

당연히, 초록색 영역이 제거되면 AP 성능이 감소하게 됩니다. 이를 해결하기 위해서 기존의 NMS 알고리즘을 개선시킨 것이 Soft NMS 알고리즘입니다.

 

Soft NMS 알고리즘은 NMS 알고리즘의 3번째 과정을 수정시킨 것입니다.

 

기존의 NMS는 IOU threshold 이상일 때 영역을 제거해버리는 방식이었다면, Soft-NMS는 Confidence score를 낮추는 방식을 택합니다. Confidence score를 낮추는 방식은 IOU threshold를 기준보다 크면 Confidence score를 낮추는 이산적 방식 ( 1 ) 과 가우시안 함수를 이용하여 연속적으로 Confidence score를 낮추는 방식 ( 2 ) 이 있습니다.

 

( 1 ) 이산적으로 confidence score
( 2 ) 연속적으로 confidence score

 

Soft NMS 방식은 영역을 제거하는 것이 아니라 Confidence score를 줄이는 방식이기 때문에 알고리즘 종료 전에 confidence threshold 이하인 영역을 제거해주는 작업이 필요합니다.

 


Reference

[ 1 ] Bodla, Navaneeth, et al. "Soft-NMS--improving object detection with one line of code." Proceedings of the IEEE international conference on computer vision. 2017.

'Object Detection' 카테고리의 다른 글

[논문 정리] SPP-Net  (0) 2023.02.09
[논문 정리] Overfeat  (0) 2023.02.05
[논문 정리] R-CNN  (0) 2023.01.24
[개념 정리] Object Detection Region Proposal  (0) 2022.12.27
[개념 정리] Object Detection Metric  (0) 2022.12.25
Comments