YOLOv8 vs. YOLOX: 심층 기술 비교
정확도, 속도 및 배포 복잡성의 균형을 맞추는 올바른 객체 감지 모델을 선택하는 것은 매우 중요한 결정입니다. 이 페이지에서는 Ultralytics YOLOv8과 YOLOX라는 YOLO 제품군의 두 가지 강력한 모델 간의 포괄적인 기술 비교를 제공합니다. 둘 다 앵커가 없고 고성능을 위해 설계되었지만 아키텍처, 다재다능성 및 생태계 지원에서 상당한 차이가 있습니다. 컴퓨터 비전 프로젝트에 가장 적합한 모델을 선택하는 데 도움이 되도록 이러한 차이점을 자세히 살펴보겠습니다.
Ultralytics YOLOv8: 다재다능성 및 성능
- 작성자: Glenn Jocher, Ayush Chaurasia, Jing Qiu
- 조직: Ultralytics
- 날짜: 2023-01-10
- GitHub: https://github.com/ultralytics/ultralytics
- 문서: https://docs.ultralytics.com/models/yolov8/
Ultralytics YOLOv8은 이전 YOLO 버전의 성공을 기반으로 구축된 Ultralytics의 최첨단 모델입니다. 새로운 백본 네트워크, 새로운 앵커 프리 감지 헤드 및 새로운 손실 함수를 도입하여 속도와 정확성 모두에 대한 새로운 벤치마크를 설정합니다. YOLOv8의 주요 차별화 요소는 단순한 객체 감지기가 아닌 포괄적인 프레임워크로 설계되었다는 점입니다.
아키텍처 및 주요 기능
YOLOv8의 아키텍처는 고도로 개선되었으며, YOLOv5의 C3 모듈을 대체하는 C2f(2개의 컨볼루션이 있는 Cross Stage Partial BottleNeck) 모듈이 특징입니다. 이 변경 사항은 더 풍부한 그래디언트 흐름을 제공하고 성능을 향상시킵니다. 앵커 프리 방식으로 객체의 중심을 직접 예측하여 박스 예측 수를 줄이고 NMS(Non-Maximum Suppression) 속도를 높입니다.
강점
- 뛰어난 성능 균형: YOLOv8 모델은 다양한 규모에서 (아래 표 참조) YOLOX를 포함한 다른 많은 실시간 감지기보다 뛰어난 정확도(mAP)와 추론 속도 간의 뛰어난 균형을 보여줍니다.
- 작업 다양성: 탐지에만 집중된 모델과 달리 YOLOv8은 다중 작업에 특화되어 있습니다. 단일 통합 프레임워크 내에서 객체 탐지, 인스턴스 분할, 이미지 분류, 포즈 추정 및 객체 추적을 지원합니다. 이러한 다재다능함 덕분에 복잡한 프로젝트에 이상적인 선택입니다.
- 사용 편의성: Ultralytics는 간단한 Python API와 강력한 CLI commands를 통해 간소화된 사용자 경험을 제공합니다. 광범위한 documentation과 다양한 tutorials를 통해 초보자와 전문가 모두 모델을 쉽게 학습, 검증 및 배포할 수 있습니다.
- 잘 관리되는 에코시스템: YOLOv8은 Ultralytics 팀의 활발한 개발 및 지원과 대규모 오픈 소스 커뮤니티에 의해 뒷받침됩니다. 이는 MLOps를 위한 Ultralytics HUB 및 Weights & Biases와 같은 실험 추적 플랫폼과 원활하게 통합됩니다.
- 학습 및 메모리 효율성: 이 모델은 효율적인 학습을 위해 설계되었으며 COCO와 같은 데이터 세트에 대한 즉시 사용 가능한 사전 훈련된 가중치가 있습니다. 일반적으로 더 복잡한 아키텍처에 비해 학습 및 추론 중에 더 적은 CUDA 메모리가 필요합니다.
약점
- 모든 고성능 모델과 마찬가지로 더 큰 YOLOv8 변형(L/X)은 고해상도 입력에 대한 훈련 및 실시간 추론에 상당한 컴퓨팅 리소스가 필요합니다.
이상적인 사용 사례
YOLOv8은 다재다능함과 사용 편의성 덕분에 높은 정확도와 실시간 성능 간의 균형이 필요한 응용 분야에 이상적입니다.
- 실시간 객체 감지: 보안 시스템, 로봇 공학 및 자율 주행 차량과 같은 애플리케이션.
- 다재다능한 비전 AI 솔루션: 농업, 제조 및 헬스케어와 같은 산업 전반에서 활용됩니다.
- 신속한 프로토타이핑 및 배포: 사용자 친화적인 인터페이스와 TensorRT 및 OpenVINO와 같은 통합으로 인해 빠른 프로젝트 개발 주기에 탁월합니다.
YOLOX: 고성능 및 단순성
- 작성자: Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, Jian Sun
- Organization: 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는 단순화된 디자인으로 높은 성능을 달성하고자 하는 또 다른 앵커 프리(anchor-free) YOLO 모델입니다. 2021년 Megvii에서 소개되었으며, 객체 감지 분야의 고급 기술을 YOLO 프레임워크에 통합하여 상당한 기여를 했습니다.
아키텍처 및 주요 기능
YOLOX는 또한 앵커 프리(anchor-free) 접근 방식을 사용하여 훈련을 단순화하고 일반화(generalization)를 개선합니다. 주요 아키텍처 혁신에는 분류 및 지역화 작업을 분리하는 디커플드 헤드와 SimOTA(Simplified Optimal Transport Assignment)라는 고급 레이블 할당 전략이 포함됩니다. 또한 MixUp과 같은 강력한 데이터 증강 기술도 사용합니다.
강점
- 높은 정확도: YOLOX는 경쟁력 있는 정확도를 달성했으며, 이는 출시 당시 최첨단 기술이었으며 특히 더 큰 모델 변형에서 두드러집니다.
- 효율적인 추론: 특히 GPU 하드웨어에서 많은 실시간 애플리케이션에 적합한 빠른 추론 속도를 제공합니다.
- 유연한 백본: 다양한 백본을 지원하므로 어느 정도 사용자 정의가 가능합니다.
약점
- Task Limitation: YOLOX는 주로 객체 탐지에 중점을 두고 있으며, YOLOv8의 기본 제공 다중 작업 다용성(분할, 포즈 등)이 부족합니다. 이러한 작업을 구현하려면 상당한 사용자 정의 코드와 노력이 필요합니다.
- 생태계 및 지원: 오픈 소스이긴 하지만, 통합된 생태계, 광범위한 툴링(예: Ultralytics HUB) 및 Ultralytics YOLOv8에서 볼 수 있는 높은 수준의 지속적인 유지 관리 및 커뮤니티 지원이 부족합니다.
- 성능 저하: 아래 표에서 볼 수 있듯이 YOLOX 모델은 정확도라는 중요한 지표에서 일반적으로 YOLOv8 모델보다 성능이 떨어집니다.
- CPU 성능: YOLOv8이 명확한 CPU 성능 지표를 제공하는 것과 달리 CPU 추론 속도는 공식 벤치마크에서 쉽게 구할 수 없어 CPU 바운드 배포에 대한 평가가 더 어렵습니다.
이상적인 사용 사례
YOLOX는 멀티태스킹 기능이 필요하지 않은 높은 객체 감지 정확도를 우선시하는 애플리케이션에 적합합니다.
- 고성능 객체 탐지: 산업 검사와 같이 강력한 객체 탐지 정확도를 요구하는 시나리오에 적합합니다.
- Edge 배포: YOLOX-Nano와 같은 더 작은 변형은 리소스가 제한된 엣지 장치에 적합합니다.
- 연구 개발: 이러한 디자인 덕분에 앵커 프리(anchor-free) 감지기 관련 학술 연구에 적합한 선택 사항입니다.
성능 분석: YOLOv8 vs. YOLOX
COCO 데이터 세트에서 성능 지표를 직접 비교하면 YOLOv8과 YOLOX 간의 주요 절충점을 알 수 있습니다. 가장 중요한 지표인 정확도(mAP)는 YOLOv8이 훨씬 우수함을 보여줍니다. 모든 비교 가능한 모델 크기에서 YOLOv8은 훨씬 더 높은 mAP 점수를 제공합니다. 예를 들어 YOLOv8x는 53.9 mAP를 달성하여 YOLOX-x의 51.1 mAP를 결정적으로 능가합니다.
효율성을 분석할 때는 그림이 더 미묘해집니다. YOLOX 모델은 파라미터와 FLOP 측면에서 소형(s) 및 중형(m) 스케일에서 약간 더 컴팩트한 경향이 있습니다. 그러나 YOLOv8 모델은 대형(l) 및 초대형(x) 스케일에서 파라미터 효율성이 훨씬 더 높아집니다. 추론 속도 면에서는 YOLOX가 GPU에서 중간 크기 모델에 대해 약간의 우위를 보이는 반면, YOLOv8은 가장 큰 스케일에서 더 빠릅니다.
결정적으로, 이러한 효율성은 YOLOv8의 뛰어난 정확성과 비교 평가되어야 합니다. 더욱이, Ultralytics는 투명한 CPU 벤치마크를 제공하여 YOLOv8이 CPU 추론에 매우 최적화되어 있음을 보여줍니다. 이는 GPU를 사용할 수 없는 많은 실제 애플리케이션에서 중요한 요소이며, YOLOX는 이에 대한 공식 데이터가 없습니다.
모델 | 크기 (픽셀) |
mAPval 50-95 |
속도 CPU ONNX (ms) |
속도 T4 TensorRT10 (ms) |
파라미터 (M) |
FLOPs (B) |
---|---|---|---|---|---|---|
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 |
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 |
결론: Ultralytics YOLOv8이 선호되는 이유
YOLOX는 앵커 프리 객체 검출기에 대한 중요한 진전이었지만, Ultralytics YOLOv8은 더욱 발전되고 다재다능하며 사용자 친화적인 솔루션을 나타냅니다. YOLOv8은 정확도라는 핵심 객체 검출 지표에서 YOLOX를 능가할 뿐만 아니라 광범위한 비전 작업으로 기능을 확장합니다.
개발자 및 연구자에게 선택은 분명합니다. YOLOv8은 다음을 제공합니다.
- 더 높은 정확도 및 효율성: 경쟁력 있는 속도를 유지하면서 정확도를 우선시하는 더 나은 전체 성능 패키지입니다.
- 다중 작업 지원: 감지, 분할, 분류, 자세 및 추적을 위한 통합 프레임워크입니다.
- 번성하는 생태계: 지속적인 업데이트, 광범위한 문서, 전문적인 지원 및 Ultralytics HUB와 같은 강력한 도구를 제공합니다.
- 배포 유연성: GPU 및 CPU 모두에 대한 투명한 성능 지표를 제공하며, ONNX 및 TensorRT와 같은 형식으로 쉽게 내보낼 수 있습니다.
최첨단 성능, 사용 편의성, 강력하고 잘 관리되는 프레임워크를 요구하는 프로젝트의 경우 YOLOv8이 확실한 선택입니다.
다른 모델 살펴보기
객체 감지 모델에 대한 탐색이 여기서 멈추지 않아야 합니다. 이 분야는 끊임없이 진화하고 있습니다. 완전한 그림을 얻으려면 이러한 모델을 다른 모델과 비교해 보십시오.
- YOLOv8 vs. YOLOv7
- YOLOv8 vs. YOLOv5
- RT-DETR vs. YOLOv8
- YOLOX 대 YOLOv7
- 성능의 경계를 더욱 확장하는 YOLOv10 및 YOLO11과 같은 Ultralytics의 최신 모델을 살펴보세요.