Logical Scribbles
[객체 탐지] NMS (Non-Maximum Suppression) 본문
이번 포스팅에서는 객체 탐지에서 수많은 bounding box(BB)를 컨트롤 하는 방법들을 알아보자. 객체 탐지 과정 중에는 객체가 존재하는 위치 주변에 높은 스코어를 가진 여러개의 BB가 생성이 되는데, 이 중 정말 객체가 있을만한 하나만의 BB를 선택하고 싶은 것이다. 이때 적용하는 기법이 NMS(Non-Maximum Suppression)이다.
1. NMS
※NMS의 과정
- 모든 Bounding box는 자신이 해당 객체를 얼마나 잘 잡아내지 나타내는 confidence score를 가진다.(보통 IoU 값 혹은 IoU값 * softmax 결과값) NMS는 모든 BB에 대하여 threshold 이하의 confidence score를 가지는 BB는 제거한다. 즉, Confidence score가 일정 수준 이하인 BB들에 대해 일차적으로 필터링을 거치는 과정이다.
- 남은 BB들을 Confidence score 기준 모두 내림차순 정렬한다.
- 맨 앞에 있는BB 하나 (Confidence score가 가장 높은 BB)를 기준으로 잡고, 다른 BB와 IoU 값을 구한다. 이후 IoU가 threshold 이상인 BB들은 제거한다. BB끼리 IoU가 높을수록, 즉 많이 겹쳐질수록 같은 물체를 검출하고 있다고 판단하기 때문이다.
- 해당 과정을 순차적으로 시행하여 모든 Bounding box를 비교하고 제거한다.
- Confidense threshold가 높을수록, IoU threshold가 낮을수록 더 많은 BB가 제거된다.
이러한 NMS에도 문제점이 존재한다. 서로 다른 객체끼리 겹칠 때, 다른 객체의 BB가 삭제될 수도 있다는 것이다.
현실 세계의 이미지에는 객체끼리 겹쳐져 있는 사진이 매우 많기 때문에, NMS를 사용하였을 때 여러 객체에 대해 적당한 BB를 남길 수 있을지 의문이다.
이 문제(Overlapping Object)를 해결하기 위해 나온 것이 Anchor Box이다.
Anchor Box에 대해서는 조만간 공부하여 작성해보도록 하겠다.
끝!
'딥러닝 > 딥러닝 이론' 카테고리의 다른 글
[딥러닝] Seq2Seq 와 거자일소(去者日疎 ) (1) | 2023.11.25 |
---|---|
[딥러닝] RNN(Recurrent Neural Network)이란? (1) | 2023.11.23 |
[객체 인식] Selective Search란? (Selective search for object recognition. IJCV, 2013) (0) | 2023.11.20 |
[객체 탐지] Hard Negative Mining 이란? (0) | 2023.11.20 |
[최적화] 서포트 벡터 머신(SVM)은 Convex 문제? (0) | 2023.11.18 |