DAMO-YOLO와 YOLOX 비교#
실시간 컴퓨터 비전 분야는 끊임없이 발전하고 있습니다. 이 과정의 주목할 만한 이정표인 DAMO-YOLO와 YOLOX는 고속·고정확도 객체 감지 문제에 각기 다른 혁신을 도입했습니다. 두 모델 모두 오픈 소스 커뮤니티에 크게 기여했지만, 아키텍처 차이와 학습 방법론, 이상적인 배포 시나리오를 이해하는 것은 머신러닝 엔지니어에게 매우 중요합니다.
이 종합 가이드에서는 두 모델의 기술적 세부 사항을 살펴보고, 오늘날의 프로덕션 환경에서 Ultralytics YOLO26과 같은 최신 대안이 더 우수한 성능과 사용 편의성을 제공하는 이유를 설명합니다.
모델 개요#
DAMO-YOLO 세부 정보#
Alibaba Group 연구팀이 개발한 DAMO-YOLO는 자동 아키텍처 탐색을 활용하는 고효율 객체 감지 방법으로 소개되었습니다.
- 저자: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, Xiuyu Sun
- 기관: Alibaba Group
- 날짜: 2022-11-23
- Arxiv: https://arxiv.org/abs/2211.15444v2
- GitHub: https://github.com/tinyvision/DAMO-YOLO
- 문서: DAMO-YOLO 문서
YOLOX 상세 정보#
Megvii 연구진이 개발한 YOLOX는 YOLO 시리즈를 앵커 프리 설계로 전환해 연구와 산업 현장의 간극을 좁히려 했습니다. 이 과정에서 아키텍처를 크게 단순화하면서 당시 더 나은 성능을 달성했습니다.
- 저자: 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
- 문서: YOLOX 문서
아키텍처 분석#
DAMO-YOLO 아키텍처#
DAMO-YOLO는 신경망 아키텍처 탐색(NAS)에 크게 의존합니다. 핵심 구성 요소는 다음과 같습니다.
- MAE-NAS 백본: 최대 엔트로피 기반 탐색을 사용해 추론 속도와 정확도 간 최적의 균형을 제공하는 백본을 찾습니다.
- 효율적인 RepGFPN: 특징 융합을 위해 조정된 대형 넥 설계로, 다양한 객체 규모에서 모델이 높은 정확도를 유지하도록 돕습니다.
- ZeroHead: 최종 예측 계층의 연산 오버헤드를 줄이는 간소하고 경량화된 감지 헤드입니다.
YOLOX 아키텍처#
YOLOX는 구조적 단순성과 앵커 프리 설계에 초점을 맞춰 다른 접근 방식을 취했습니다.
- 앵커 프리 메커니즘: 사전 정의된 앵커 없이 경계 상자 좌표를 직접 예측하여, 필요한 설계 매개변수와 휴리스틱 조정을 줄입니다.
- 분리형 헤드: 분류와 회귀 작업을 서로 다른 특징 분기로 분리하여 수렴 속도와 전반적인 정확도를 개선합니다.
- SimOTA 레이블 할당: 정답 객체에 양성 샘플을 동적으로 할당하는 고급 레이블 할당 전략으로, 학습 효율성을 높입니다.
DAMO-YOLO는 엄격한 제약 조건에서 최적의 아키텍처를 찾기 위해 기계 주도의 NAS 탐색을 활용하는 반면, YOLOX는 앵커 프리 헤드와 같은 우아한 사람 중심의 단순화로 객체 감지 파이프라인을 간소화합니다.
성능 비교#
이러한 모델을 평가하려면 평균 정밀도(mAP), 추론 속도, 매개변수 수를 살펴봐야 합니다. 아래에는 두 아키텍처의 표준 및 경량 변형을 상세히 비교한 표가 나와 있습니다.
| 모델 | 크기 (픽셀) | mAP검증 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| DAMO-YOLOt | 640 | 42.0 | - | 2.32 | 8.5 | 18.1 |
| DAMO-YOLOs | 640 | 46.0 | - | 3.45 | 16.3 | 37.8 |
| DAMO-YOLOm | 640 | 49.2 | - | 5.09 | 28.2 | 61.8 |
| DAMO-YOLOl | 640 | 50.8 | - | 7.18 | 42.1 | 97.3 |
| 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 |
YOLOXx는 51.1로 최고 절대 mAP를 달성하지만, DAMO-YOLOl은 매개변수가 절반도 되지 않으면서(42.1M 대 99.1M) 50.8 mAP라는 매우 경쟁력 있는 성능과 훨씬 빠른 TensorRT 실행 속도를 제공합니다.
학습 방법론#
DAMO-YOLO 학습#
DAMO-YOLO는 학습 과정에서 복잡한 증류 강화 기법을 활용합니다. 일반적으로 먼저 대형 "교사" 모델을 학습한 다음, 그 지식을 더 작은 "학생" 모델에 증류합니다. 또한 동적 레이블 할당에 AlignedOTA를 사용합니다. 매우 효과적이지만, 이 다단계 학습 과정에서는 필요한 GPU 연산 시간과 메모리 오버헤드가 크게 증가합니다.
YOLOX 학습#
YOLOX는 MixUp과 Mosaic 같은 강력한 데이터 증강 전략에 의존합니다. 하지만 연구진은 마지막 15 에포크 동안 이러한 강력한 증강을 끄면 모델이 현실과의 격차를 줄이고 최종 정확도 지표를 크게 높일 수 있음을 발견했습니다.
적합한 사용 사례#
- DAMO-YOLO: 서버 측 증류 파이프라인을 지원할 수 있고, 대상 하드웨어(예: 특정 NVIDIA GPU)가 대형 넥 NAS 아키텍처의 이점을 직접 얻을 수 있는 고위험 산업 배포에 가장 적합합니다.
- YOLOX: 순수한 앵커 프리 방식을 찾는 개발자에게 적합합니다. 매우 경량화된
YOLOXnano는 구형 Android 디바이스, 엣지 컴퓨팅, 그리고 매개변수 수가 가장 중요한 제약 요소인 IoT 센서에서 사용할 수 있습니다.
Ultralytics의 장점: YOLO26 출시#
DAMO-YOLO와 YOLOX는 훌륭한 이정표이지만, 오늘날 개발자에게는 더 포괄적이고 다용성이 높으며 사용하기 쉬운 솔루션이 요구됩니다. 새롭게 출시된 Ultralytics YOLO26과 Ultralytics Platform이 바로 이러한 요구를 충족합니다.
2026년 1월에 출시된 YOLO26은 모든 컴퓨터 비전 작업에 가장 먼저 권장하는 모델입니다. 기존 아키텍처를 뛰어넘는 여러 획기적인 기능을 도입했습니다.
- 종단 간 NMS 미사용 설계: YOLO26의 선택적 일대일 헤드(
nms=False)는 비최대 억제(NMS) 후처리를 생략합니다. 이렇게 하면 기존 감지 헤드에 내재된 지연 시간 병목을 피하면서 배포를 훨씬 더 간단하고 빠르게 수행할 수 있습니다. - 최대 43% 더 빠른 CPU 추론: Distribution Focal Loss(DFL)를 전략적으로 제거하고 계층을 최적화하여 YOLO26은 CPU와 엣지 하드웨어에서 탁월한 속도를 제공합니다.
- MuSGD 옵티마이저: 대규모 언어 모델(LLM) 학습 기법에서 영감을 받은 YOLO26은 SGD와 Muon의 하이브리드인 MuSGD 옵티마이저를 도입합니다. 그 결과 YOLOX의 기존 설정에 비해 학습이 훨씬 안정적이고 수렴 속도도 더 빨라집니다.
- ProgLoss + STAL: 이러한 고급 손실 함수는 소형 객체 인식을 크게 개선하여, YOLO26이 드론 영상과 로보틱스에 훨씬 적합하도록 합니다.
- 다용성: 객체 감지만 지원하는 DAMO-YOLO와 달리, YOLO26은 잘 관리되는 하나의 에코시스템에서 인스턴스 세그멘테이션, 자세 추정, 분류, 회전 경계 상자(OBB)를 기본적으로 원활하게 처리합니다.
Ultralytics를 통한 간편한 사용#
Ultralytics Python API는 개발 경험을 간소화합니다. 최신 YOLO26 모델을 학습하는 데 필요한 보일러플레이트 코드가 훨씬 적고, DAMO-YOLO의 복잡한 증류 파이프라인도 필요하지 않습니다. 또한 Ultralytics 모델은 대형 Transformer 기반 모델과 비교해 학습 중 CUDA 메모리 요구량이 매우 낮습니다.
from ultralytics import YOLO
# 최신 Ultralytics YOLO26 나노 모델을 불러옵니다
model = YOLO("yolo26n.pt")
# 한 줄의 코드로 사용자 지정 데이터셋에 모델을 학습합니다
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 이미지에서 빠르고 NMS-free 추론을 실행합니다
results = model("https://ultralytics.com/images/bus.jpg", nms=False)
# ONNX 또는 TensorRT로 원활하게 내보냅니다
model.export(format="onnx")Ultralytics Platform을 사용하면 데이터 버전 관리와 클라우드 GPU 프로비저닝을 플랫폼이 처리하는 동안 모델에 자동으로 주석을 달고, 학습하고, 엣지에 배포할 수 있습니다.
결론#
DAMO-YOLO와 YOLOX 중 어떤 모델을 선택할지는 구체적인 제약 조건에 따라 달라집니다. DAMO-YOLO는 NAS를 통해 특정 GPU에서 탁월한 속도 대비 정확도를 제공하며, YOLOX는 경량 엣지 시나리오에 적합한 깔끔한 앵커 프리 설계를 제공합니다.
하지만 활성 커뮤니티를 갖춘 현대적이고 미래에도 유효한 솔루션을 원하는 팀에는 Ultralytics YOLO26 아키텍처가 확실한 선택입니다. 선택형 NMS-free 추론, 빠른 CPU 추론, 감지·세그멘테이션·자세 작업을 위한 통합 API를 통해 연구에서 견고한 실제 프로덕션으로 원활하게 전환하는 데 탁월합니다.
다른 최신 아키텍처를 살펴보고 싶은 개발자에게는 Ultralytics YOLO11이나 포괄적인 Ultralytics 문서에서 제공하는 RT-DETR과 같은 Transformer 기반 모델도 권장합니다.