비최대 억제 (Non-Maximum Suppression)

컴퓨터과학·AI
한 줄 정의: 객체 탐지 과정에서 같은 물체를 두고 겹쳐서 생성된 여러 개의 후보 박스 중 신뢰도가 가장 높은 것만 남기고 나머지를 제거하는 후처리 기법입니다.

쉽게 풀면

객체 탐지 모델에게 사진 속 강아지 한 마리를 찾으라고 하면, 모델은 보통 강아지 주변에 살짝씩 위치가 다른 박스를 수십 개씩 제안합니다. 사람이 보기엔 강아지가 한 마리인데 박스는 여러 개가 겹쳐서 표시되는 것이죠. 비최대 억제는 이렇게 겹친 박스들 중에서 "가장 확신도가 높은 박스"만 남기고, 그 박스와 많이 겹치는 나머지 박스들은 "중복이니 지워버리자"고 정리하는 과정입니다. 마치 같은 인물 사진이 여러 장 찍혔을 때 가장 잘 나온 한 장만 남기고 나머지를 지우는 것과 비슷합니다.

왜 중요한가

비최대 억제는 거의 모든 객체 탐지 파이프라인의 마지막 단계에 자리 잡고 있어, 탐지 모델의 정밀도와 재현율을 실질적으로 좌우하는 요소로 다뤄집니다. 자율주행, 영상감시, 의료영상 분석처럼 겹쳐 있거나 밀집된 객체를 정확히 구분해야 하는 응용에서는 표준 비최대 억제의 단순한 하드 임계값 방식이 성능을 제한하는 병목이 될 수 있어, 이를 개선한 변형 기법을 제안하는 연구가 꾸준히 이어지고 있습니다. 또한 최근 트랜스포머 기반 탐지기처럼 비최대 억제 없이 end-to-end로 중복을 제거하려는 연구도 등장하면서, 이 기법의 필요성과 한계 자체가 활발한 논의 주제가 되고 있습니다.

논문에서는 이렇게 쓰입니다

"검출 결과에 대해 IoU 임계값 0.5를 기준으로 non-maximum suppression을 적용하여 중복 바운딩 박스를 제거하였다."

이 문장은 "겹침 정도(IoU)가 50% 이상인 박스들은 같은 물체를 가리키는 것으로 보고, 그중 확신도가 가장 높은 박스만 남기는 정리 과정을 거쳤다"는 뜻입니다. 이 임계값을 어떻게 정하느냐에 따라 탐지 결과의 정밀도와 재현율이 달라집니다.

"밀집된 보행자 검출 상황에서 하드 임계값 방식의 한계를 보완하기 위해 소프트 비최대 억제(soft-NMS)를 적용하여 겹친 객체의 재현율을 개선하였다."

보행자 검출처럼 객체 간 겹침이 심한 상황에서 표준 비최대 억제 대신 겹침 정도에 따라 점수를 점진적으로 낮추는 변형 기법이 쓰이는 예이다.

"세포 이미지 내 밀집된 핵을 검출하는 모델에서 비최대 억제의 IoU 임계값을 조정하여 인접한 핵이 하나로 병합되지 않도록 하였다."

의료영상 분석에서 객체들이 매우 가까이 붙어 있는 도메인 특성에 맞춰 임계값을 세밀하게 조정하는 사례를 보여준다.

조금 더 깊게 보면

표준 비최대 억제는 IoU가 임계값을 넘는 박스를 확신도와 무관하게 완전히 제거하는 하드 방식이지만, 소프트 비최대 억제(soft-NMS)처럼 겹침 정도에 비례해 점수를 서서히 감소시키는 방식은 밀집 객체 상황에서 실제 서로 다른 객체를 잘못 지우는 문제를 줄여줍니다. 이 외에도 학습 가능한 파라미터로 억제 과정을 대체하려는 접근이나, 트랜스포머 기반 탐지기처럼 애초에 중복 제안을 만들지 않도록 모델 구조 자체를 바꾸는 접근도 연구되고 있습니다. 논문에서 비최대 억제 방식을 명시할 때는 어떤 변형을 사용했는지, IoU 임계값과 확신도 임계값을 각각 어떻게 설정했는지가 결과 재현에 중요한 정보가 됩니다.

주의할 점

비최대 억제는 객체 탐지 모델 자체의 일부가 아니라 결과를 다듬는 후처리 단계입니다. 임계값을 너무 낮게 잡으면 실제로는 다른 물체인데도 하나로 합쳐 버릴 수 있고, 너무 높게 잡으면 중복 박스가 그대로 남을 수 있습니다.

관련 용어