Yolo 비전 선전
선전
지금 참여하기

Ultralytics NMS 제거하는 이유 NMS 그로 인한 배포 방식의 변화

Ultralytics 진정한 엔드투엔드 방식의 NMS(네트워크 관리 시스템) 없이도 추론을 가능하게 하는 방법과, 후처리 제거가 내보내기 및 에지 배포를 단순화하는 이유를 알아보세요.

1월 14일, 우리는 컴퓨터 비전 모델의 최신 세대인 Ultralytics 출시했습니다. YOLO26을 통해 우리의 목표는 단순히 정확도나 속도를 개선하는 데 그치지 않고, 객체 탐지 모델이 실제 시스템에서 구축되고 배포되는 방식을 재고하는 것이었습니다.

컴퓨터 비전이 연구 단계에서 생산 단계로 넘어가면서, 모델들은 점점 더 CPU, 에지 디바이스, 카메라, 로봇, 임베디드 하드웨어에서 실행될 것으로 기대되고 있습니다. 이러한 환경에서는 성능만큼이나 신뢰성, 낮은 지연 시간, 쉬운 배포가 중요합니다. 

YOLO26은 이러한 현실을 염두에 두고 설계되었으며, 추론 파이프라인에서 불필요한 복잡성을 제거하는 간소화된 종단 간 아키텍처를 사용합니다. YOLO26에서 이루어진 가장 중요한 혁신 중 하나는 일반적으로 NMS 알려진 비최대 억제( Non-Maximum Suppression)의 제거입니다. 

수년간 NMS 객체 탐지 시스템의 표준 구성 요소로, 중복 탐지 결과를 정리하는 후처리 단계로 활용되어 NMS . 효과적이긴 하지만, 특히 에지 하드웨어에서 추가적인 계산 및 배포 문제를 야기하기도 했습니다.

YOLO26에서는 다른 접근법을 채택했습니다. 예측 생성 및 훈련 방식을 재고함으로써 진정한 엔드투엔드 방식의 NMS 추론을 가능하게 했습니다. 이 모델은 외부 정리 단계나 수작업 규칙에 의존하지 않고 최종 탐지 결과를 직접 생성합니다. 이로 인해 YOLO26은 더 빠르고, 내보내기가 쉬우며, 다양한 하드웨어 플랫폼에 걸쳐 배포할 때 더 안정적입니다.

그림 1. Ultralytics 이용한 이미지 내 객체 탐지.

이 글에서는 기존 객체 탐지가 NMS 의존했던 이유, 이것이 배포 병목 현상이 된 과정, 그리고 YOLO26이 우회 방법을 필요 없게 만든 방식을 자세히 살펴보겠습니다. 시작해 보죠!

기존 객체 탐지 방식은 중복 탐지를 생성합니다

NMS YOLO26에서 이를 제거한 이유를 살펴보기 전에, 먼저 전통적인 객체 탐지 모델이 예측을 생성하는 방식을 되짚어 보겠습니다.

전통적인 객체 탐지 모델은 동일한 객체에 대해 여러 개의 겹치는 경계 상자를 생성하는 경우가 많습니다. 이러한 상자들은 모두 이미지 내 동일한 객체를 가리키지만, 각각 고유한 신뢰도 점수를 동반합니다.

이런 현상이 발생하는 데는 몇 가지 이유가 있습니다. 첫째, 모델은 동시에 여러 공간적 위치와 서로 다른 규모에서 예측을 수행합니다. 이는 모델이 다양한 크기의 detect 도움이 되지만, 동시에 인접한 위치들이 모두 동일한 물체를 독립적으로 식별할 수 있음을 의미하기도 합니다.

둘째, 많은 객체 탐지 시스템은 앵커 기반 접근법을 사용하는데, 이는 각 위치 주변에 다수의 후보 박스를 생성합니다. 이는 객체를 정확히 찾을 가능성을 높이지만, 동시에 중복 예측의 수를 증가시킵니다.

마지막으로, 그리드 기반 탐지 자체는 자연스럽게 중복을 초래합니다. 객체가 여러 그리드 셀의 경계 근처에 위치할 경우, 여러 셀이 해당 객체에 대한 박스를 예측할 수 있으며, 이로 인해 중복되는 탐지 결과가 발생합니다. 

이로 인해 모델의 원시 출력에는 종종 단일 객체에 대해 여러 개의 박스가 포함됩니다. 결과를 활용 가능하게 하려면 이러한 중복 예측을 필터링하여 최종적으로 하나의 탐지 결과만 남도록 해야 합니다.

비최대 억제 이해하기

객체 탐지 모델이 동일한 객체에 대해 여러 개의 겹치는 바운딩 박스를 생성하면, 해당 결과를 활용하기 전에 정리해야 합니다. 이때 비최대 억제(NMS)가 적용됩니다.

비최대 억제(NMS)는 모델이 예측을 완료한 후 실행되는 후처리 단계입니다. 이 단계의 목적은 중복 탐지를 줄여 각 객체가 하나의 최종 경계 상자로 표현되도록 하는 것입니다.

그림 2. NMS 개요. 저자 제작.

이 과정은 경계 상자의 신뢰도 점수와 중첩 정도를 기준으로 비교하여 작동합니다. 신뢰도가 매우 낮은 예측은 먼저 제거됩니다. 

남은 박스들은 신뢰도 순으로 정렬되며, 가장 높은 점수를 받은 박스가 최상의 탐지로 선택됩니다. 선택된 박스는 다른 박스들과 비교됩니다. 

다른 박스가 지나치게 겹칠 경우, 해당 박스는 억제되어 제거됩니다. 겹침은 일반적으로 교집합 대비 합집합(Intersection over Union)을 사용하여 측정되며 , 이는 두 박스가 공유하는 영역과 두 박스가 모두 덮는 총 영역 간의 비율을 계산하는 지표입니다. 이 과정은 가장 신뢰도가 높고 겹치지 않는 탐지 결과만 남을 때까지 반복됩니다.

NMS 배포를 복잡 NMS 이유

비최대 억제(NMS)는 중복 탐지를 걸러내는 데 도움이 되지만, 모델이 연구 단계에서 벗어나 실제 환경에 배포되면 더욱 두드러지는 문제점도 야기합니다.

가장 큰 문제점 중 하나는 성능입니다. NMS 추론 후 NMS , 어떤 경계 상자를 유지할지 결정하기 위해 서로 비교해야 합니다. 

이 과정은 계산 비용이 높고 효율적으로 병렬화하기 어렵습니다. 에지 디바이스 및 CPU 시스템에서는 이러한 추가 작업으로 인해 눈에 띄는 지연 시간이 발생하여 실시간 요구 사항을 충족하기가 더 어려워집니다.

NMS 배포 복잡성을 증가시킵니다. 모델 자체의 일부가 아니기 때문에, 별도의 후처리 코드로 구현되어야 합니다. 

다양한 런타임과 플랫폼은 NMS 다른 NMS 처리하므로, 각 대상 환경마다 맞춤형 구현을 유지해야 하는 경우가 많습니다. 한 환경에서 작동하는 방식이 다른 환경에서는 약간 다르게 동작할 수 있어 배포가 더 취약해지고 확장하기 어려워집니다.

하드웨어 최적화는 또 다른 과제입니다. NMS 신경망 연산을 효율적으로 실행하도록 설계된 전용 AI 가속기에 깔끔하게 매핑되지 NMS . 그 결과, 모델이 최적화된 하드웨어에서 빠르게 실행되더라도 NMS 전체 성능을 제한하는 병목 현상이 될 NMS .

이러한 요소 외에도 NMS 신뢰도 임계값 및 중첩 임계값과 같은 수동으로 선택된 매개변수에 NMS . 이러한 설정은 결과에 상당한 영향을 미칠 수 있으며, 종종 다양한 데이터셋, 애플리케이션 또는 하드웨어에 맞게 조정해야 합니다. 이로 인해 운영 환경에서의 동작이 예측하기 어려워지고 추가적인 구성 오버헤드가 발생합니다.

엔드투엔드 객체 탐지 추론 설명

비최대 억제(NMS)의 한계로 인해 우리는 객체 탐지 모델이 추론 시점에 어떻게 동작해야 하는지 재고하게 되었습니다. 수많은 중첩된 예측을 생성한 후 이를 정리하는 대신, 우리는 보다 근본적인 질문을 던졌습니다. 

모델이 최종 탐지 결과를 직접 생성할 수 있다면 어떨까? 이 질문은 엔드투엔드 객체 탐지 추론의 핵심에 자리한다. 엔드투엔드 시스템에서는 모델이 외부 정리 단계에 의존하지 않고 탐지 과정 전체를 처음부터 끝까지 처리하도록 훈련된다.

추론 후 후보 박스를 다수 생성하여 필터링하는 대신, 모델은 자체적으로 중복되지 않는 소수의 확신도 높은 예측값을 생성하도록 학습됩니다. 중복 탐지 결과는 후처리 단계에서 제거되지 않고 네트워크 내부에서 해결됩니다.

새로운 모델 아키텍처는 이 접근법이 가능할 뿐만 아니라 실용적임을 보여주었다. 적절한 훈련 전략을 통해 모델은 각 객체를 여러 경쟁 예측이 아닌 단일 예측과 연관시키는 법을 학습할 수 있었으며, 이는 중복을 근원에서 줄여주었다.

그림 3. Ultralytics 이용한 객체 탐지 예시.

이를 위해 훈련 방식도 바뀌어야 합니다. 수많은 예측이 동일한 객체를 두고 경쟁하는 대신, 모델은 하나의 명확한 결정을 내리는 법을 배워 더 적고 더 확신 있는 탐지 결과를 생성합니다.

전체 결과는 더 단순한 추론 파이프라인입니다. 중복 검출이 이미 내부적으로 해결되었기 때문에 추론 시점에 비최대 억제(NMS)가 필요하지 않습니다. 모델 출력이 이미 최종 검출 세트입니다.

이 종단 간 설계는 배포도 용이하게 합니다. 후처리 단계나 플랫폼별 NMS 없이도 내보낸 모델은 완전히 독립적이며, 다양한 추론 프레임워크와 하드웨어 대상에서 일관된 동작을 보여줍니다.

우리의 수석 파트너십 엔지니어인 프란체스코 마티올리가 설명하듯이, "진정한 엔드투엔드 학습이란 모델이 픽셀부터 예측까지 모든 것을 처리해야 하며, 미분 가능성을 깨고 배포를 복잡하게 만드는 수작업 후처리 단계를 배제해야 합니다."

Ultralytics NMS 제거하는 방법

YOLO26은 탐지 결과를 후처리로 정리하는 대신, 탐지 방식의 학습 및 생성 방식을 변경하여 비최대 억제(NMS)를 제거합니다. 동일한 객체를 두고 여러 예측이 경쟁하는 대신, YOLO26은 객체와 출력 간의 명확한 일대일 관계를 학습하도록 훈련됩니다.

이는 부분적으로 학습 가능한 쿼리 기반 탐지 기술에 의해 가능해지며, 이 기술은 모델이 여러 개의 중복 후보 대신 각 객체에 대해 단일하고 확신 있는 예측을 생성하는 데 집중하도록 돕습니다. 각 객체는 하나의 예측과 연결되어 중복 탐지를 자연스럽게 줄입니다.

이러한 행동은 훈련 과정에서 일관된 매칭 전략을 통해 강화되어, 모델이 중복 예측을 생성하기보다는 개체당 하나의 확신 있는 결정을 내리도록 유도합니다. 결국 모델은 더 적은 수의 예측을 생성하지만, 각각이 최종 탐지 결과를 나타냅니다. 

DFL 제거가 NMS 검출을 가능하게 한 이유

YOLO26에서 NMS 추론을 가능하게 하는 또 다른 중요한 혁신은 분포 초점 손실(DFL)의 제거입니다. 이전 YOLO 단일 값 대신 가능한 박스 위치의 분포를 예측함으로써 바운딩 박스 회귀 성능을 향상시키기 위해 DFL이 사용되었습니다. 

이 접근법은 위치 추정 정확도를 향상시켰지만, 동시에 탐지 파이프라인에 복잡성을 가중시켰습니다. 이러한 복잡성은 진정한 종단간 추론으로 전환하는 과정에서 한계로 작용했습니다. 

DFL은 추가적인 계산과 고정된 회귀 범위를 도입하여 모델이 명확한 일대일 객체 할당을 학습하기 어렵게 만들었고, 비최대 억제(NMS)와 같은 후처리 단계에 대한 의존도를 높였습니다. YOLO26에서는 DFL을 제거하고 경계 상자 회귀를 더 단순하고 직접적으로 재설계했습니다.

분포 기반 출력에 의존하는 대신, 모델은 더 적고 확신 있는 탐지를 지원하는 방식으로 정확한 박스 좌표를 예측하도록 학습합니다. 이러한 변경은 예측 중첩을 근원에서 줄이고, 경계 박스 회귀를 YOLO26의 엔드투엔드 방식과 NMS(최소화 중복 선택)가 필요 없는 설계와 일치시킵니다. 

Ultralytics NMS 없으며 배포가 용이합니다.

NMS 설계로 인해 YOLO26은 진정한 엔드투엔드 모델이 됩니다. 이는 모델 내보내기에 중요한 영향을 미칩니다. 

내보내기는 훈련된 모델을 ONNX, TensorRT, CoreML 또는 OpenVINO 같이 훈련 환경 외부에서 실행 가능한 형식으로 변환하는 것을 의미합니다. 기존 파이프라인에서는 비최대 억제(NMS)가 모델 자체에 포함되지 않아 이 과정이 종종 중단됩니다. 

NMS 제거함으로써 YOLO26은 이 문제를 완전히 회피합니다. 내보낸 모델은 최종 탐지 결과를 생성하는 데 필요한 모든 요소를 이미 포함하고 있습니다. 

이를 통해 내보낸 모델은 완전히 독립적으로 작동하며 다양한 추론 프레임워크와 하드웨어 대상 간에 더 높은 이식성을 확보합니다. 동일한 모델이 서버, CPU 시스템, 임베디드 장치 또는 에지 가속기에 배포되더라도 일관된 성능을 유지합니다. 내보낸 모델이 실행되는 모델과 정확히 동일하므로 배포 과정이 훨씬 간소화됩니다.

이러한 단순성은 특히 에지 애플리케이션에서 중요합니다. 예를 들어, YOLO26은 드론과 같은 장치에 쉽게 배포될 수 있으며, 제한된 컴퓨팅 및 전력 예산으로 인해 복잡한 후처리 파이프라인이 실용적이지 않은 작물 모니터링, 현장 검사, 식물 건강 분석과 같은 사용 사례에 활용될 수 있습니다. 모델이 최종 탐지 결과를 직접 출력하기 때문에 추가 처리 단계 없이도 경량 하드웨어에서 안정적으로 실행됩니다.

그림 4. Ultralytics 드론과 같은 에지 디바이스에 쉽게 배포할 수 있습니다.

요약하자면, NMS 추론은 내보내기 및 배포 과정의 마찰을 제거하고 더 깔끔하고 신뢰할 수 있는 비전 시스템을 가능하게 합니다. NMS 임시 NMS . YOLO26은 더 이상 임시 해결책이 필요하지 않습니다.

주요 내용

YOLO26은 중복 탐지라는 근본적인 문제를 해결함으로써 비최대 억제(NMS)를 제거합니다. 사후 정리를 하는 방식이 아닙니다. 엔드투엔드 설계 덕분에 모델이 최종 탐지 결과를 직접 생성하므로, 다양한 하드웨어에서 내보내기 및 배포가 더 간단하고 일관성 있게 이루어집니다. NMS 초기 시스템에 유용한 임시 NMS , YOLO26은 더 이상 이를 필요로 하지 않습니다.

우리 커뮤니티에 가입하고 GitHub 저장소를 확인하여 AI에 대해 더 알아보세요. 농업 분야의 AI와 소매업의 컴퓨터 비전 솔루션 페이지를 살펴보세요. 라이선싱 옵션을 확인하고 오늘 바로 비전 AI를 시작하세요! 

함께 미래의 AI를 만들어 갑시다!

미래의 머신러닝 여정을 시작하세요

무료로 시작하기