YOLOX 대 YOLOv8: 고성능 객체 탐지의 진화
컴퓨터 비전 분야의 급속한 발전 속에서 특정 애플리케이션에 적합한 아키텍처를 선택하는 것은 매우 중요합니다. 본 가이드는 2021년 출시된 고성능 앵커 프리 탐지기인 YOLOX와Ultralytics YOLOv8(범용성, 속도, 배포 용이성을 위해 설계된 최신 모델) 간의 상세한 기술적 비교를 제공합니다. 두 모델 모두 해당 분야에 상당한 기여를 해왔지만, 아키텍처 차이와 생태계 지원을 이해하는 것은 개발자가 실제 프로젝트에 대한 정보에 기반한 결정을 내리는 데 도움이 될 것입니다.
일반 개요
YOLOX는 앵커 프리 메커니즘으로 전환하고 예측 헤드를 분리함으로써 YOLO 중대한 변화를 가져왔습니다. 이는 설계 과정을 단순화하고 동시대 모델인 YOLOv3 및 YOLOv5 v5.0) 대비 성능을 향상시켰습니다. 그러나 YOLOv8 는 커뮤니티의 수년간 피드백과 연구를 바탕으로, 앵커 프리 탐지, 다중 작업을 위한 통합 프레임워크, 우수한 훈련 효율성 같은 고급 기능을 통합했으며, 이 모든 것은 포괄적인 Ultralytics 의해 뒷받침됩니다.
YOLOX
- 작성자: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, Jian Sun
- 조직조직: Megvii
- 날짜:18
- Arxiv:욜록스: 2021년 YOLO 시리즈를 뛰어넘다
- GitHub:Megvii-BaseDetection/YOLOX
8
- 작성자: Glenn Jocher, Ayush Chaurasia, Jing Qiu
- 조직:Ultralytics
- 날짜:10
- GitHub:ultralyticsultralytics
아키텍처의 차이점
핵심적인 차이는 이러한 모델들이 객체 예측과 특징 추출을 처리하는 방식에 있다.
YOLOX 아키텍처
YOLOX는 "분리된 헤드" 구조를 도입했습니다. 기존 YOLO 분류와 위치 추정(바운딩 박스 회귀) 작업을 단일 분기로 결합했습니다. YOLOX는 분류와 회귀 작업 간의 상충 관계가 성능을 제한한다고 주장하며 이를 분리했습니다. 또한 앵커 박스 없이 객체 탐지를 점 회귀 문제로 처리하는 앵커 프리 설계로 전환하여 앵커 박스에 대한 휴리스틱 튜닝의 복잡성을 줄였습니다. 동적 레이블 할당을 위해 SimOTA를 활용하여 예측값과 실제 객체를 최적의 방식으로 매칭합니다.
YOLOv8
Ultralytics YOLOv8 앵커 프리 개념을 더욱YOLOv8 . 이 모델은 백본에 C2f 모듈을 사용하며, 이는 YOLOv5 C3와 ELAN의 장점을 결합한 것입니다. YOLOv7)의 장점을 결합하여 경량성을 유지하면서도 기울기 흐름을 향상시킵니다. YOLOX와 마찬가지로 분리형 헤드를 사용하지만, 라벨 할당을 위해 Task-Aligned Assigner를 도입하여 SimOTA보다 분류 및 로컬라이제이션 점수를 더 효과적으로 균형 조정합니다. 핵심적으로, YOLOv8 인스턴스 세그멘테이션, 포즈 추정, 방향 객체 탐지(OBB), 분류를 기본적으로 지원하는 통합 프레임워크로 YOLOv8 .
성능 균형
Ultralytics 속도와 정확도 사이에서 유리한 균형을 이루고 있습니다. YOLOv8 C2f 백본은 기존 아키텍처에서 사용된 CSPDarknet에 비해 계산 오버헤드를 줄이면서 더 풍부한 특징 추출을 YOLOv8 .
성능 지표 비교
다음 표는 COCO 표준 탐지 모델들을 비교합니다. YOLOv8 동등하거나 더 빠른 추론 속도에서 더 높은mAPval을 제공하며, 특히 TensorRT 활용하는 최신 하드웨어에서 두드러집니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOXnano | 416 | 25.8 | - | - | 0.91 | 1.08 |
| YOLOXtiny | 416 | 32.8 | - | - | 5.06 | 6.45 |
| YOLOXs | 640 | 40.5 | - | 2.56 | 9.0 | 26.8 |
| YOLOXm | 640 | 46.9 | - | 5.43 | 25.3 | 73.8 |
| YOLOXl | 640 | 49.7 | - | 9.04 | 54.2 | 155.6 |
| YOLOXx | 640 | 51.1 | - | 16.1 | 99.1 | 281.9 |
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
참고: YOLOX 속도는 일반적으로 V100 GPU 기준으로 제시되는 반면, YOLOv8 T4 TensorRT10 및 CPU ONNX 기준으로 표준화됩니다. "params"는 매개변수(백만 단위)를, "FLOPs"는 부동소수점 연산(십억 단위)을 의미합니다.
교육 및 사용 편의성
YOLOX와 Ultralytics 간의 가장 중요한 차별점 중 하나는 개발자 경험입니다.
Ultralytics 에코시스템의 이점
YOLOv8 정교하게 다듬어진 Python 명령줄 인터페이스(CLI)를 YOLOv8 . 개발자는 설치부터 사용자 정의 데이터셋에 대한 훈련까지 단 몇 분 만에 진행할 수 있습니다. 생태계에는 다음과 같은 도구와의 원활한 통합이 포함됩니다. Weights & Biases 와 같은 도구와의 Ultralytics 통합을 포함합니다. 또한 Ultralytics Ultralytics 복잡한 로컬 환경 설정 없이도 웹 기반 모델 훈련 및 배포를 가능하게 합니다.
반면 YOLOX는 보다 전통적인 연구 저장소입니다. 강력하지만 훈련 스크립트와 환경 종속성에 대한 수동 구성이 더 많이 필요해 초보자나 신속한 반복 작업이 필요한 팀에게는 진입 장벽이 높습니다.
코드 예시: YOLOv8 훈련
Ultralytics API의 단순성은 유지보수가 용이한 간결한 코드를 가능하게 합니다.
from ultralytics import YOLO
# Load a model (YOLOv8n)
model = YOLO("yolov8n.pt")
# Train on COCO8 dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference
results = model("https://ultralytics.com/images/bus.jpg")
메모리 요구 사항
효율성은 Ultralytics 핵심 원칙입니다. YOLOv8 트랜스포머 기반 모델을 포함한 다른 많은 아키텍처에 비해 훈련 중 메모리 사용량을 낮추도록 최적화되어 YOLOv8 . RT-DETR과 같은 트랜스포머 기반 모델을 포함합니다. 이를 통해 연구자들은 소비자용 GPU(예: NVIDIA 3060 또는 4070)로 더 큰 배치 크기를 훈련할 수 있어 고성능 모델 훈련에 대한 접근성을 확대합니다.
실제 사용 사례
적합한 모델 선택은 종종 배포 환경과 특정 작업 요구사항에 따라 달라집니다.
YOLOv8 장점
- 다중 작업 애플리케이션: YOLOv8 세분화와 자세 추정 기능을 YOLOv8 지원하므로, 스포츠 분석 (선수 움직임 및 자세 추적)이나 자율주행 차량(차선 세분화 및 물체 탐지)과 같은 복잡한 애플리케이션에 이상적입니다.
- 엣지 배포: 단일 명령어로 다음과 같은 형식으로 내보내기 ONNX, TensorRT, CoreML, TFLite 같은 형식으로 단일 명령어 내보내기를 통해 YOLOv8 라즈베리 파이 및 휴대폰과 같은 에지 디바이스에 최적화되어 YOLOv8 .
- 신속한 프로토타이핑: 사용 편의성과 사전 학습된 가중치 덕분에 아이디어를 신속하게 검증해야 하는 스타트업과 애자일 팀에게 최적의 선택지입니다.
YOLOX가 적용되는 곳
- 레거시 연구 기준선: YOLOX는 2021년 당시의 앵커 프리 아키텍처를 비교하는 학술 논문에 여전히 견고한 기준선으로 남아 있다.
- 특정 맞춤형 구현: MegEngine 프레임워크에 깊이 투자한 사용자( PyTorch )를 위해 YOLOX는 네이티브 호환성을 제공합니다.
앞으로 바라보기: YOLO26의 힘
YOLOv8 강력하고 널리 사용되는 표준임에도 불구하고, Ultralytics 혁신을 이어가고 있습니다. 새로 출시된 YOLO26 는 다음 단계의 도약을 상징합니다.
성능에서 절대적인 우위를 추구하는 개발자들에게 YOLO26은 YOLOX와 YOLOv8 모두에 비해 다음과 같은 중요한 장점을 제공합니다:
- 엔드투엔드 NMS: YOLO26은 기본적으로 엔드투엔드 방식으로, 비최대 억제(NMS) 후처리 과정이 필요하지 않습니다. 이는 지연 시간 변동성을 줄이고 배포 파이프라인을 단순화합니다.
- 더 빠른 CPU : 엣지 컴퓨팅에 최적화된 YOLO26은 최대 43% 빠른 CPU 제공하여 전용 GPU가 없는 장치에 탁월합니다.
- MuSGD 최적화기: 대규모 언어 모델(LLM) 훈련 혁신에서 영감을 받아, MuSGD 최적화기는 보다 안정적인 훈련과 빠른 수렴을 보장합니다.
- 향상된 소형 물체 탐지: ProgLoss + STAL 함수를 통해 YOLO26은 항공 촬영 및 검사 작업에 중요한 소형 물체 인식 성능을 현저히 개선했습니다.
결론
YOLOX와 YOLOv8 모두 객체 탐지 기술 발전에 중추적인 역할을 YOLOv8 . YOLOX는 앵커 프리 탐지 메커니즘을 성공적으로 대중화시켰습니다. 그러나 YOLOv8 는 현대 AI 개발을 위한 보다 포괄적이고 사용자 친화적이며 다목적적인 솔루션을 제공합니다. Ultralytics 통합, 다양한 비전 작업 지원, 원활한 배포 옵션 덕분에 오늘날 대부분의 상업적 및 연구용 애플리케이션에서 선호되는 선택지가 되었습니다.
최신 비전 AI 기술을 도입할 준비가 된 분들께서는 NMS 빠른 속도와 효율성을 제공하는 YOLO26을 탐구하여 애플리케이션의 미래 대비를 강력히 권장합니다.