Deep Learning

NMS(Non-Maximum Suppression)와 최신 트렌드

seungwoo-dev 2026. 4. 30. 14:56

머신비전이나 객체 검출(Object Detection) 분야를 공부하다 보면 반드시 마주치게 되는 NMS(Non-Maximum Suppression, 비최대 억제)는 쉽게 말해 "중복된 정답 후보들 중 가장 확실한 하나만 남기는 필터링 기술"입니다.

 

1. 왜 NMS가 필요한가요? (The Problem)

딥러닝 모델(YOLO, SSD 등)이 이미지에서 물체를 찾을 때, 하나의 물체에 대해 "여기에 물체가 있다!"라고 주장하는 수많은 사각형 박스(Bounding Box)를 만들어냅니다.

  • 예를 들어, 사진 속 사과 하나를 보고 모델이 살짝씩 위치가 다른 10개의 박스를 그릴 수 있습니다.
  • 우리는 결과물로 딱 하나의 박스만 보고 싶기 때문에, 나머지 9개를 지워주는 과정이 필요합니다.

2. 어떻게 작동하나요? (The Process)

NMS는 아주 단순하고 명확한 논리로 움직입니다.

  1. 점수 정렬: 모델이 예측한 모든 박스를 '신뢰도 점수(Confidence Score)'가 높은 순서대로 줄을 세웁니다.
  2. 최고 선택: 가장 점수가 높은 박스를 "이건 진짜 정답이다"라고 확정합니다.
  3. 중복 제거: 확정된 박스와 위치가 많이 겹치는(IoU가 높은) 다른 박스들을 "너희는 방금 확정한 박스와 같은 물체를 가리키는 중복이구나!"라고 판단하여 제거합니다.
  4. 반복: 남은 박스들 중에서 다시 가장 높은 점수의 박스를 골라 이 과정을 반복합니다.

💡 핵심 개념: IoU (Intersection over Union) 두 박스가 얼마나 겹치는지를 0에서 1 사이의 수치로 나타낸 것입니다. 보통 이 값이 0.5~0.7 이상이면 같은 물체를 가리키는 중복 박스로 간주하고 삭제합니다.

 

3. 한 줄 요약 (Analogy)

NMS는 오디션 프로그램과 같습니다. 수많은 참가자(박스) 중에서 실력(점수)이 가장 좋은 사람을 먼저 뽑고, 그 사람과 캐릭터(위치)가 겹치는 나머지 후보들은 탈락시키는 과정인 셈이죠.

 

 

###최근 트렌드###

1. NMS-Free: "사후 필터링"에서 "사전 예방"으로

가장 큰 트렌드는 NMS 자체를 아예 제거하는 것입니다. 기존 NMS는 모델이 수백 개의 박스를 만들면 그중 겹치는 것들을 나중에 골라내는 방식이었는데, 최신 모델들은 처음부터 객체당 딱 하나의 박스만 만들도록 학습됩니다.

  • 대표 모델: YOLO26, RT-DETRv2
  • 작동 원리: '일대일 매칭(One-to-One Matching)' 기술을 통해 학습 단계에서 모델이 "이 물체에는 너만 응답해!"라고 지시를 받습니다.
  • 비유: 예전에는 전단지를 수천 장 뿌리고(수많은 박스 생성) 필요한 사람만 남겼다면, 이제는 딱 필요한 사람에게만 등기 우편을 보내는 방식으로 진입한 것입니다.
  • 장점: CPU 연산 부담이 약 40% 이상 감소하며, 물체가 많아져도 처리 속도가 일정하게 유지됩니다.

2. Edge AI를 위한 극강의 최적화

NMS는 딥러닝 연산이 아닌 일반 CPU 연산인 경우가 많아 하드웨어 가속이 어려웠습니다. 이를 해결하기 위해 NMS를 없애거나 하드웨어 친화적인 방식으로 변형하는 흐름이 강합니다.

  • 결정론적 추론 (Deterministic Inference): NMS는 박스 개수에 따라 처리 시간이 들쑥날쑥했지만, NMS-Free 모델은 결과가 바로 나오므로 추론 시간이 매우 일정합니다. 이는 자율주행이나 로봇 제어처럼 실시간 응답이 중요한 분야에서 필수적입니다.
  • 호환성 문제 해결: 모델을 모바일(TFLite, CoreML)이나 산업용 임베디드 기기로 변환할 때 NMS 코드가 오류를 일으키는 경우가 많았는데, NMS를 제거함으로써 배포가 훨씬 간편해졌습니다.

3. NMS의 진화형: Soft-NMS와 WBF

NMS-Free가 대세이지만, 여전히 정교한 검출이 필요한 분야에서는 NMS를 개선하여 사용합니다.

  • Soft-NMS: 겹치는 박스를 무조건 지우지 않고 점수(Confidence)만 살짝 낮춥니다. 덕분에 물체가 아주 밀집된 곳(예: 겹쳐 있는 부품)에서 미검출을 획기적으로 줄여줍니다.
  • WBF (Weighted Boxes Fusion): 여러 모델의 결과를 합칠 때, 가장 좋은 것 하나만 고르는 게 아니라 여러 박스를 평균 내어 더 정확한 위치를 찾아냅니다. 앙상블 모델에서 성능을 극대화할 때 주로 쓰입니다.
  • Confluence: IoU(겹침 정도) 대신 근접도(Proximity)라는 새로운 지표를 사용하여, 박스가 삐딱하게 겹쳐 있어도 정확하게 정답을 골라내는 기술입니다.