물체 감지를 위한 비최대 억제(NMS)에 대해 알아보세요. 이 기술이 어떻게 결과를 개선하고 정확도를 높이며 YOLO와 같은 AI 애플리케이션을 지원하는지 알아보세요.
비최대 억제(NMS)는 컴퓨터 비전, 특히 객체 감지 작업에서 사용되는 기본적인 후처리 알고리즘입니다. 이 알고리즘의 주요 목적은 중복 및 겹치는 경계 상자를 필터링하여 각 객체가 한 번만 식별되도록 함으로써 감지 모델의 출력을 정리하는 것입니다. Ultralytics YOLO와 같은 객체 탐지 모델이 예측을 수행할 때, 동일한 객체 주변에 각각 다른 신뢰도 점수를 가진 여러 개의 후보 상자를 생성하는 경우가 많습니다. NMS는 각 객체에 대해 가장 적합한 단일 경계 상자를 지능적으로 선택하고 최대값이 아닌 것으로 간주되는 다른 모든 겹치는 상자를 억제하거나 제거합니다.
NMS 알고리즘은 예측된 바운딩 박스를 반복하고 두 가지 주요 메트릭인 신뢰도 점수와 IoU(Intersection over Union) 임계값을 기반으로 의사 결정을 내리는 방식으로 작동합니다. 이 프로세스는 다음 단계로 요약할 수 있습니다:
IoU 임계값은 중요한 사용자 정의 하이퍼파라미터입니다. IoU 임계값이 낮으면 조금이라도 겹치는 상자를 억제하기 때문에 탐지 횟수가 줄어들고, 임계값이 높으면 동일한 개체에 대해 여러 번 탐지할 수 있습니다. 이 임계값을 미세 조정하는 것은 종종 특정 데이터 세트에서 모델의 성능을 최적화하는 작업의 일부입니다.
NMS는 정확한 객체 감지에 의존하는 많은 실제 AI 애플리케이션에서 중요한 구성 요소입니다.
NMS는 특히 객체 감지 모델이 초기 후보 경계 상자 집합을 생성한 후에 적용되는 후처리 단계입니다. 앵커 기반 감지기와 앵커가 없는 감지기의 차이점과 같은 감지 아키텍처 자체와 혼동해서는 안 됩니다. 이러한 아키텍처는 잠재적 박스가 제안되는 방식을 정의하며, NMS는 이러한 제안을 구체화합니다.
흥미롭게도 NMS와 관련된 계산 비용과 잠재적인 병목 현상으로 인해 NMS가 없는 객체 탐지기에 대한 연구가 활발히 진행되고 있습니다. YOLOv10과 같은 모델은 훈련 중에 메커니즘을 통합하여 본질적으로 중복 박스 예측을 피함으로써 추론 대기 시간을 줄이고 진정한 엔드투엔드 탐지를 가능하게 합니다. 이는 NMS가 추론 파이프라인의 표준이자 필수적인 부분으로 남아 있는 Ultralytics YOLOv8 또는 YOLOv5와 같은 기존 접근 방식과는 대조적입니다. 설명서에서 YOLOv10과 YOLOv8 등의 기술 비교를 살펴볼 수 있습니다. Soft-NMS와 같은 변형은 겹치는 상자의 점수를 완전히 제거하는 대신 점수를 감쇄하는 대체 접근 방식을 제공합니다.
NMS는 Ultralytics 에코시스템 내에 원활하게 통합되어 있습니다. Ultralytics YOLO 모델은 자동으로 NMS를 적용합니다. 예측 (predict
) 그리고 유효성 검사 (val
) 모드를 사용하여 사용자가 기본적으로 깨끗하고 정확한 탐지 출력을 받을 수 있도록 합니다. NMS 동작을 제어하는 매개변수(예: IoU 임계값 및 신뢰도 임계값)는 종종 특정 애플리케이션 요구 사항에 맞게 조정할 수 있습니다.
Ultralytics HUB와 같은 플랫폼은 이러한 세부 사항을 더욱 추상화하여 사용자가 모델을 훈련하고 최적화된 파이프라인의 일부로 NMS가 자동으로 처리되는 곳에 배포할 수 있도록 합니다. 이러한 통합을 통해 사용자는 MLOps에 대한 깊은 기술 전문 지식에 관계없이 다양한 컴퓨터 비전 작업에 대한 최첨단 객체 감지 결과를 활용할 수 있습니다. Ultralytics 프레임워크 내의 구체적인 구현 세부 사항은 Ultralytics 유틸리티 참조에서 살펴볼 수 있습니다. 자세한 정의는 기본 Ultralytics 용어집에서 확인하세요.