NMS (Non-Maximum Suppression) 설명

Bean·2025년 5월 7일
0

인공지능

목록 보기
22/123

NMS(Non-Maximum Suppression)는 객체 탐지나 키포인트 탐지에서 겹치는 후보들 중 가장 확신이 높은 하나만 선택하기 위해 사용하는 후처리 기법입니다.


문제 상황

딥러닝 모델은 종종 여러 위치에 대해 비슷한 예측을 동시에 내놓습니다. 예를 들어:

  • 이미지 속 하나의 사람 얼굴에 대해 여러 박스를 예측
  • 3D 포인트 클라우드에서 하나의 키포인트 위치를 둘러싼 여러 히트맵 피크가 생김

이 경우, 이 중 가장 유망한 것 하나만 남기고 나머지를 제거해야 합니다.


NMS 동작 방식

  1. 모든 후보 영역(또는 포인트)을 확률(또는 점수) 기준으로 내림차순 정렬
  2. 가장 점수가 높은 것 선택
  3. 이 선택된 것과 겹치는 정도(IoU 또는 거리)가 높은 다른 후보들을 제거
  4. 남은 것들 중에서 다음으로 높은 점수를 가진 것 선택
  5. 반복

NMS 예시 (2D 객체 탐지)

  • 예측 박스 A: 확률 0.9
  • 예측 박스 B: 확률 0.85 (A와 80% 겹침)
  • 예측 박스 C: 확률 0.6 (A와 거의 안 겹침)

→ A 선택, B 제거 (A와 많이 겹치므로), C 유지


3D 키포인트 탐지에서의 NMS

3D에서는 점 위치나 히트맵에서 가장 높은 값을 가진 지점을 중심으로, 반경 내 다른 점들을 제거하는 식으로 적용됩니다.


한계

  • NMS는 하이퍼파라미터(예: IoU 임계값, 거리 임계값)에 민감합니다.
  • 디텍션 간 의미적 관계를 고려하지 못함 → 딥러닝의 end-to-end 학습과는 분리되어 있음

→ 그래서 최신 방법들은 NMS 없이 학습단계에서 직접 중복 없이 예측하도록 설계합니다.

profile
AI developer

0개의 댓글