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