콘텐츠로 건너뛰기

YOLOX 대 YOLOv10: 앵커 프리 및 NMS 실시간 객체 탐지 비교

실시간 컴퓨터 비전 모델의 진화는 중대한 아키텍처적 도약을 통해 이루어져 왔다. 이 여정에서 두 YOLOv10 중대한 이정표는 YOLOv10. 2021년 출시된 YOLOX는 매우 효과적인 앵커 프리(anchor-free) 설계를 도입함으로써 학술 연구와 산업적 적용 간의 격차를 성공적으로 해소했다. 3년 후 등장한 YOLOv10 후처리 과정에서 비최대 억제(NMS)의 필요성을 제거함으로써 효율성과 속도의 한계를 뛰어넘는 혁신을 YOLOv10 .

이 포괄적인 기술 비교는 두 모델의 아키텍처, 성능 지표 및 이상적인 사용 사례를 탐구하여, 다음 객체 탐지 프로젝트에 적합한 도구를 선택하는 데 도움이 되는 통찰력을 제공합니다.

모델 기원 및 메타데이터

이러한 모델의 기원을 이해하는 것은 그들의 아키텍처 선택과 의도된 배포 환경에 대한 맥락을 제공한다.

YOLOX 세부 정보
저자: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, Jian Sun
소속 기관: Megvii
날짜: 2021-07-18
Arxiv: https://arxiv.org/abs/2107.08430
GitHub: https://github.com/Megvii-BaseDetection/YOLOX
문서: https://yolox.readthedocs.io/en/latest/

YOLOX에 대해 자세히 알아보세요

YOLOv10
저자: 왕아오(王傲), 천후이(陈辉), 류리하오(刘立浩), 천카이(陈凯), 린즈자(林子佳), 한중공(韩中功), 딩구광(丁贵光)
소속 기관: 칭화대학교(清华大学)
날짜: 2024-05-23
Arxiv: https://arxiv.org/abs/2405.14458
GitHub: https://github.com/THU-MIG/yolov10
문서: ultralytics

10에 대해 자세히 알아보기

아키텍처 혁신

YOLOX와 YOLOv10 핵심 차이는 경계 상자 예측과 후처리 방식을 어떻게 처리하는지에 YOLOv10 .

YOLOX: 앵커 없는 설계의 선구자

YOLOX는 YOLO 앵커 박스 없는 아키텍처로 전환하며 파장을 일으켰습니다. 사전 정의된 앵커 박스에 의존하기보다 물체의 중심을 예측함으로써, YOLOX는 맞춤형 데이터셋에 필요한 설계 매개변수와 경험적 조정의 수를 획기적으로 줄였습니다. 또한 분리형 헤드(decoupled head)를 도입하여 분류(classification)와 회귀(regression) 작업을 별개의 경로로 분리했습니다. 이 접근법은 물체의 정체를 파악하는 것과 위치를 결정하는 것 사이의 상충 관계를 해결하여 수렴 속도와 정밀도에서 눈에 띄는 향상을 가져왔습니다.

YOLOv10: NMS-Free 혁명

YOLOX는 탐지 헤드를 단순화했지만, 여전히 중복된 경계 상자 예측을 걸러내기 NMS 의존했습니다. YOLOv10 이 근본적인 병목 현상을 YOLOv10 . 훈련 과정에서 일관된 이중 할당 방식을 활용함으로써 YOLOv10 본질적인 엔드투엔드 탐지 기능을 YOLOv10 . 훈련 시에는 풍부한 감독 신호를 보장하기 위해 일대다(one-to-many) 헤드를 사용하며, 추론 시에는 최종 예측을 직접 출력하기 위해 일대일(one-to-one) 헤드를 활용합니다. 이처럼 효율성과 정확성을 동시에 추구하는 통합 설계는 NMS 제거하여 임베디드 칩에서의 추론 지연 시간을 크게 줄입니다.

NMS 제거의 영향

비최대 억제(NMS)는 신경 처리 장치(NPU)에서 가속화하기 어려운 복잡한 연산입니다. 이를 제거함으로써 YOLOv10 전체 모델 그래프가 전용 하드웨어에서 원활하게 실행되도록 YOLOv10 OpenVINO와 같은 최적화 프레임워크와의 호환성을 획기적으로 개선합니다. OpenVINO 및 TensorRT 같은 최적화 프레임워크와의 호환성을 크게 향상시킵니다.

성과 지표 및 비교

생산 환경에서 모델을 평가할 때 정확도와 계산 오버헤드 간의 균형은 매우 중요합니다. 아래 표는 YOLOv10 다양한 스케일 간 상충 관계를 보여줍니다.

모델크기
(픽셀)
mAPval
50-95
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(M)
FLOPs
(B)
YOLOXnano41625.8--0.911.08
YOLOXtiny41632.8--5.066.45
YOLOXs64040.5-2.569.026.8
YOLOXm64046.9-5.4325.373.8
YOLOXl64049.7-9.0454.2155.6
YOLOXx64051.1-16.199.1281.9
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

데이터 분석

지표들은 YOLOv10 세대적 도약을 명확히 보여줍니다. 예를 들어, YOLOv10 평균 정밀도(mAP ) 46.7%를 달성하는데, 이는 YOLOX-m의 46.9%와 비교됩니다. 그러나 이를 달성하는 데 사용된 매개변수는 3분의 1 미만(720만 vs 2530만)이며, FLOPs도 현저히 적습니다. 또한 최상위 모델인 YOLOv10 mAP 54. mAP 끌어올려 까다로운 정확도 작업에서도 높은 경쟁력을 유지하면서도 기존 YOLOX-x 아키텍처보다 더 빠른 속도를 제공합니다.

Ultralytics 에코시스템의 이점

YOLOX는 여전히 강력한 오픈소스 연구 구현체이지만, YOLOv10 채택하면 Ultralytics 제공하는 잘 관리된 생태계에 즉시 접근할 YOLOv10 . Ultralytics 지원하는 모델을 선택하면 간단한 API와 방대한 문서로 특징지어지는 간소화된 사용자 경험을 보장받을 수 있습니다.

CUDA 자들은 프레임워크의 메모리 요구 사항으로부터 상당한 이점을 얻습니다. Ultralytics 훈련은 일반적으로 RT-DETR과 같은 무거운 트랜스포머 기반 대안보다 훨씬 적은 CUDA 메모리를 소모합니다. 이러한 효율적인 훈련 자원은 소비자 등급 하드웨어에서 더 큰 배치 크기를 허용하여 데이터 수집부터 모델 배포까지의 시간을 단축시킵니다. 또한 이 프레임워크는 타의 추종을 불허하는 다용도성을 제공하여, 최소한의 코드 변경만으로 객체 탐지, 인스턴스 분할, 자세 추정 간에 원활하게 전환할 수 있게 합니다.

훈련 및 추론 예시

통합 API는 아이디어 검증 속도를 획기적으로 높여줍니다. 다음 코드 조각은 PyTorch를 사용하여 YOLOv10 얼마나 쉽게 훈련하고 배포할 수 있는지 보여줍니다. PyTorch 백엔드를 사용하여 YOLOv10 모델을 훈련하고 배포하는 방법을 보여줍니다:

from ultralytics import YOLO

# Load a pre-trained YOLOv10 nano model
model = YOLO("yolov10n.pt")

# Train the model on the COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on a sample image
predictions = model.predict("https://ultralytics.com/images/bus.jpg")

# Export the model for edge deployment
model.export(format="engine", half=True)

내장된 내보내기 루틴을 활용하여 모델을 TensorRT와 같은 형식으로 변환함으로써 TensorRT 또는 ONNX 으로 변환하는 데 단 한 줄의 코드만 필요하며, 복잡한 컴파일 과정을 완전히 우회합니다.

이상적인 사용 사례 및 배포 시나리오

이러한 아키텍처 중 하나를 선택하는 것은 주로 하드웨어 제약 조건과 특정 도메인 요구 사항에 따라 달라집니다.

실시간 영상 분석

자율 주행이나 실시간 교통 모니터링과 같이 초저지연이 필요한 애플리케이션에는 YOLOv10 탁월한 YOLOv10 . 엔드투엔드 NMS 설계로 결정론적 실행 시간을 보장하므로, 가변적인 후처리 지연이 허용되지 않는 안전 시스템에 필수적입니다. 이 모델들은 NVIDIA 시리즈와 같은 장치에서 높은 프레임 속도를 손쉽게 달성합니다.

학술적 기준점과 에지 마이크로컨트롤러

YOLOX는 연구자들이 레이블 할당 전략 실험을 위한 깨끗하고 분리된 기준선을 원하는 학술 환경에서 여전히 가치를 지닙니다. 또한, 매우 작은 YOLOX-Nano(100만 개 미만의 매개변수)는 하드웨어가 표준 컨볼루션 연산을 지원할 수 있다면, 메모리가 킬로바이트 단위로 측정되는 극도로 제한된 에지 마이크로컨트롤러에도 탑재될 수 있습니다.

궁극의 기준: Ultralytics

YOLOv10 NMS 제거함으로써 큰 도약을 YOLOv10 , 컴퓨터 비전 분야는 빠르게 발전하고 있습니다. 현재 최고의 성능을 구현하려는 개발자라면 YOLOv26을 적극 검토할 것을 권장합니다.

최신 비전 AI 표준으로 출시된 YOLO26은 선행 모델들의 핵심 개념을 계승하며 성능을 극대화했습니다. 탐지, 분할, 자세 추정, 방향성 바운딩 박스를 기본 지원하는 궁극의 성능 균형을 제공합니다.

현대 컴퓨터 비전 파이프라인에 YOLO26이 권장되는 이유는 다음과 같습니다:

  • 엔드투엔드 NMS 설계: YOLOv10 혁신을 기반으로 한 YOLOv26은 본질적으로 엔드투엔드 방식으로, 후처리 병목 현상 없이 더 빠르고 결정론적인 추론 시간을 보장합니다.
  • 최대 43% 빠른 CPU : 에지 컴퓨팅에 특화되어 최적화되어 있어, 모바일 프로세서 및 별도의 GPU가 없는 장치에서도 탁월한 성능을 보장합니다.
  • MuSGD 최적화기: 대규모 언어 모델 훈련(특히 Moonshot AI의 Kimi K2)에서 영감을 받아, YOLO26은 SGD )의 하이브리드 방식을 활용하여 놀라울 정도로 안정적인 훈련과 빠른 수렴을 실현합니다.
  • ProgLoss + STAL: 이 고급 손실 함수는 항공 촬영 및 드론 항법과 같은 까다로운 분야에서 중요한 소형 물체 인식 성능을 현저히 향상시킵니다.
  • DFL 제거: 분포 초점 손실(DFL)을 제거함으로써 YOLO26은 모델 그래프를 단순화하여 에지 및 저전력 장치로의 원활한 이식을 가능하게 합니다.
  • 작업별 개선 사항: 잔차 로그 가능도 추정(RLE)을 자세 추정(pose estimation)에 사용하든, OBB(Oriented Bounding Box)를 위한 특수 각도 손실(angle loss)을 사용하든, YOLO26은 모든 주요 비전 작업에 대해 미세 조정되었습니다.

가장 효율적인 훈련 및 배포 도구로 파이프라인을 업그레이드하려는 개발자에게는 Ultralytics 전환하고 YOLO26을 활용하는 것이 인공지능의 최첨단을 유지하는 길입니다. 오래되었지만 안정적인 아키텍처에 관심이 있는 사용자는 YOLO11 또는 YOLOv8 를 검토하여 광범위한 커뮤니티 지원과 검증된 견고성을 확보할 수 있습니다.


댓글