Ultralytics YOLO27:
Get Started

YOLOv8과 YOLOX 비교#

컴퓨터 비전 분야는 실시간 객체 감지 아키텍처의 지속적인 발전으로 크게 변화해 왔습니다. 이 여정에서 두드러진 이정표는 Ultralytics YOLOv8과 YOLOX입니다. 두 모델 모두 바운딩 박스 예측을 간소화하기 위해 앵커 프리 설계 방식을 채택했지만, 딥러닝 연구와 배포 생태계 개발에서 서로 다른 시대와 철학을 대변합니다.

이 종합적인 기술 비교에서는 개발자와 연구자가 비전 AI 애플리케이션에 최적의 솔루션을 선택할 수 있도록 각 모델의 아키텍처, 학습 방법론, 실제 성능 지표를 살펴봅니다.

모델 배경#

각 프레임워크의 기원과 설계 목표를 이해하면 아키텍처 차이와 생태계 성숙도를 파악하는 데 중요한 맥락을 얻을 수 있습니다.

Ultralytics YOLOv8#

Glenn Jocher, Ayush Chaurasia, Jing Qiu가 Ultralytics에서 개발해 2023년 1월 10일에 출시한 YOLOv8은 Ultralytics 생태계의 중요한 도약을 이끌었습니다. 큰 성공을 거둔 YOLOv5를 기반으로 YOLOv8은 객체 감지, 인스턴스 세그멘테이션, 이미지 분류, 포즈 추정 등 다양한 작업을 기본적으로 처리할 수 있는, 크게 개선된 최첨단 아키텍처를 선보였습니다.

YOLOv8의 주요 장점은 잘 관리되는 Ultralytics 생태계입니다. 이 생태계는 통합 Python API, 방대한 문서, Weights & Biases 및 Comet과 같은 MLOps 도구와의 기본 통합을 통해 원활한 "초보자에서 전문가까지" 경험을 제공합니다.

YOLOX#

Megvii의 Zheng Ge, Songtao Liu, Feng Wang, Zeming Li, Jian Sun이 2021년 7월 18일에 공개한 YOLOX는 학술 연구와 산업 애플리케이션 간의 격차를 좁히는 것을 목표로 했습니다. Arxiv 논문에 자세히 설명된 YOLOX는 YOLO 제품군을 앵커 프리 설계로 전환하고 분리형 헤드를 통합해 학습 안정성과 수렴 속도를 높이며 주목받았습니다.

2021년에 큰 영향을 미쳤지만, YOLOX GitHub 저장소는 주로 연구에 초점을 둔 코드베이스로 남아 있습니다. 최신 프레임워크에서 제공하는 광범위한 작업 지원과 완성도 높은 배포 파이프라인이 부족해, 프로덕션 배포에는 더 많은 수동 구성이 필요합니다.

YOLOX 문서 보기

아키텍처 혁신#

두 모델은 모두 앵커 프리 방식을 활용하므로 학습 전에 복잡하고 데이터셋에 종속적인 앵커 박스 클러스터링을 수행할 필요가 없습니다. 이에 따라 휴리스틱 튜닝 파라미터 수가 줄고 감지 헤드가 단순해집니다.

분리형 헤드와 특징 추출#

YOLOX는 YOLO 시리즈에 분리형 헤드를 도입했습니다. 기존에는 분류와 회귀 작업을 하나의 통합 헤드에서 수행했으며, 이로 인해 학습 중 기울기가 서로 충돌하는 경우가 많았습니다. 분류 브랜치와 위치 추정 브랜치를 분리해 YOLOX는 더 빠른 수렴을 달성했습니다.

YOLOv8은 이 개념을 채택하고 크게 개선했습니다. 백본에 최첨단 C2f(두 개의 합성곱을 사용하는 Cross-Stage Partial 병목) 모듈을 사용해 기존 C3 모듈을 대체합니다. 이를 통해 연산 오버헤드를 크게 늘리지 않으면서 기울기 흐름과 특징 표현을 개선합니다. 또한 YOLOv8은 Task-Aligned Assigner를 사용하는 고급 앵커 프리 감지 헤드를 구현해 분류 점수와 Intersection over Union (IoU)의 조합을 기준으로 양성 샘플을 동적으로 매칭함으로써 더 높은 정확도를 제공합니다.

메모리 효율

Ultralytics YOLO 모델은 뛰어난 메모리 효율성을 갖추도록 설계되었습니다. Transformer 기반 아키텍처나 최적화되지 않은 연구용 코드베이스와 비교하면 YOLOv8은 학습 중 CUDA 메모리를 훨씬 적게 사용하므로 개발자는 일반 소비자용 하드웨어에서 더 큰 배치 크기를 사용할 수 있습니다.

성능 비교#

실제 배포용 모델을 평가할 때는 정확도(mAP)와 추론 지연 시간 및 모델 복잡성 간의 균형이 무엇보다 중요합니다. 아래 표는 COCO 데이터셋의 성능 지표를 보여줍니다.

모델크기
(픽셀)
mAP검증
50-95
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.1
YOLOv8x64053.9479.114.3768.2257.8
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

확인할 수 있듯이 YOLOv8 모델은 동일한 파라미터 수에서 YOLOX 모델보다 일관되게 뛰어난 성능을 보입니다. 예를 들어 YOLOv8m은 mAP 50.2%를 달성해 YOLOXm의 46.9%보다 높으며, TensorRT를 사용한 GPU 추론 속도에서 경쟁력을 유지하면서 정밀도가 크게 향상되었습니다.

학습 및 생태계의 장점#

두 솔루션 간 가장 큰 차이 중 하나는 개발자 경험입니다. YOLOX를 학습하려면 복잡한 환경 설정과 스크립트 수동 수정이 필요한 경우가 많으며, 메모리 누수나 내보내기 문제를 디버깅하려면 PyTorch 내부 구조에 대한 깊은 지식이 필요합니다.

반면 Ultralytics 생태계는 이러한 복잡성을 추상화해 매우 직관적인 Python API와 명령줄 인터페이스(CLI)를 제공합니다.

간소화된 Python API#

사용자 지정 데이터셋으로 최첨단 YOLOv8 모델을 학습하는 데는 몇 줄의 코드만 필요합니다.

from ultralytics import YOLO

# 객체 감지를 위해 사전 학습된 YOLOv8 모델을 불러옵니다
model = YOLO("yolov8n.pt")

# COCO8 예제 데이터셋으로 모델 학습
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# 모델을 간편하게 검증합니다
metrics = model.val()

# 프로덕션용으로 ONNX에 원활하게 내보냅니다
model.export(format="onnx")

이 API는 감지, 세그멘테이션, 방향성 바운딩 박스(OBB) 작업의 워크플로를 표준화해 프로덕션 애플리케이션의 출시 기간을 크게 단축합니다. 또한 기본 제공되는 내보내기 기능을 사용하면 사용자 지정 C++ 연산자를 작성하지 않고도 ONNX, OpenVINO, CoreML로 원활하게 변환할 수 있습니다.

적합한 사용 사례#

이러한 아키텍처 중 무엇을 선택할지는 프로젝트의 제약 조건에 따라 달라지지만, YOLOv8은 훨씬 유연한 기반을 제공합니다.

  • 고속 엣지 분석: NVIDIA Jetson과 같은 장치에서 실시간 처리를 수행할 때 YOLOv8은 속도와 정확도의 탁월한 균형을 제공하며, 기본 TensorRT 통합을 통해 쉽게 배포할 수 있습니다.
  • 학술 연구: PyTorch에서 앵커 기반 방식에서 앵커 프리 방식으로 전환하는 과정을 연구하는 연구자에게 YOLOX는 여전히 유용한 교육 도구입니다.
  • 복잡한 멀티태스크 애플리케이션: 객체 추적과 인스턴스 세그멘테이션을 동시에 수행해야 하는 애플리케이션에는 이러한 기능이 Ultralytics 라이브러리에 직접 내장되어 있으므로 YOLOv8이 특히 적합합니다.

앞으로 살펴볼 대안 모델#

YOLOv8은 YOLOX보다 크게 개선되었지만 AI 분야는 놀라울 만큼 빠르게 발전하고 있습니다. 새 프로젝트를 시작하는 사용자는 Ultralytics YOLO26을 검토하는 것이 좋습니다. 2026년 1월에 출시된 YOLO26은 비전 AI의 새로운 표준을 제시합니다.

YOLO26은 혁신적인 엔드투엔드 NMS 프리 설계를 특징으로 합니다. 선택 사항인 일대일 헤드(nms=False)는 Non-Maximum Suppression 후처리를 없애 배포 파이프라인을 단순화합니다. 새로운 MuSGD Optimizer와 Distribution Focal Loss (DFL) 제거를 결합한 YOLO26은 YOLO11보다 CPU 추론 속도가 최대 43% 빠릅니다. 또한 ProgLoss + STAL(Progressive Loss 및 Small-Target-Aware Label Assignment)을 도입해 항공 이미지와 로보틱스에 중요한 소형 객체 인식 성능을 크게 향상합니다.

또 다른 대안으로 사용자는 Ultralytics 생태계에서 강력하고 폭넓게 지원되는 이전 모델인 YOLO11을 고려할 수도 있습니다. YOLO11은 다양한 작업에서 안정적인 성능을 제공합니다.

결론#

YOLOX는 YOLO 제품군에서 분리형 헤드와 앵커 프리 설계의 효과를 성공적으로 입증했습니다. 그러나 Ultralytics YOLOv8은 이러한 개념을 발전시켜 아키텍처를 개선하고, 사용 편의성과 작업 범용성 면에서 여전히 독보적인 프로덕션 준비형 생태계로 구성했습니다. Ultralytics 모델을 선택하면 개발자는 뛰어난 성능과 메모리 효율적인 학습, 그리고 실험에서 실제 성과로 원활하게 전환할 수 있도록 지원하는 강력한 배포 도구 모음을 활용할 수 있습니다.

댓글