엔지니어스 - Engineeus

NMS(Non-maximum Suppression) 이란? IOU부터 알자 본문

Autonomous Tech./Machine Learning

NMS(Non-maximum Suppression) 이란? IOU부터 알자

Engineeus 2021. 1. 18. 17:48
728x90

NMS를 가장 쉽게 설명 하자면 '얼마나 겹쳐 있는지'를 판단 하고 일정 크기 이상 겹칠 경우 삭제 하는 방법이다.

NMS를 이해하려면 IOU(Intersection over Union)의 개념을 알아야 한다.

 

 

IOU란?


IOU란 '교집합/합집합'의 비율 이다. 즉, 검출 박스 2개의 전체 크기에서, 겹치는 부분의 비율이 얼마가 되는지 알아 내는 방법이다.

50% 겹치면 0.5가 나올테고, 30% 겹치면 0.3이 나올것이다. 이게 바로 IOU 이다.

 

 

 

다시 돌아가서 NMS란!?


IOU 방법을 이용하여 나온 비율 (0~1까지) 값을 가지고 비교를 하여 겹치는 박스를 제거 하는 방법이다.

 

그럼 NMS 하는 순서를 한번 보겠다.

 

1. YOLO에서 Box Regression 후 통과한 박스들이 이렇게 나오게 된다.

엄청 많다!! 정신 없고 연산량이 많아져 느려질 것이다.

 

2. 이 것들을 Confidence(위 에 적힌 숫자, 즉 정확도)가 높은 순서대로 정렬한다.

3. 제일 큰 Confidence값을 기준으로 하나씩 IOU를 비교 하여, 일정 Threshold가 되지 않으면 버린다. YOLO에선 0.5(50%)로 디폴트 되어 있다. 즉, 50%겹칠시에 첫번째것만 남기고 버리게 된다.

4. 최종 결과물이 표시 된다.

 

연산량도 올라가고, 보기에도 깔끔해 진 모습이 보이게 된다.

Comments