DAMO-YOLO vs YOLOv10: 효율적인 실시간 객체 탐지의 진화
컴퓨터 비전 분야는 실시간 객체 탐지 아키텍처 측면에서 급격한 발전을 이루었습니다. DAMO-YOLO와 YOLOv10을 비교하면 모델 설계에 있어 두 가지 뚜렷한 철학, 즉 자동화된 아키텍처 탐색과 엔드투엔드(end-to-end) NMS-free 최적화의 차이를 볼 수 있습니다. 두 모델 모두 정확도와 속도의 한계를 뛰어넘고 있지만, 기반 구조와 이상적인 사용 사례는 상당히 다릅니다.
DAMO-YOLO: 대규모 신경 아키텍처 검색(NAS)
Alibaba Group에서 개발한 DAMO-YOLO는 구조적 효율성을 위해 자동화된 탐색 방식을 활용하는 강력한 탐지기로 등장했습니다.
- 저자: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, Xiuyu Sun
- 날짜: 2022년 11월 23일
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
아키텍처 주요 특징
DAMO-YOLO는 성능과 지연 시간 간의 균형을 맞추기 위해 신경망 아키텍처 탐색(NAS)에 크게 의존합니다. MAE-NAS라고 불리는 백본은 엄격한 컴퓨팅 예산 내에서 다중 목표 진화 탐색을 사용하여 최적의 레이어 깊이와 너비를 찾아냅니다.
다양한 스케일에 걸쳐 특징을 융합하기 위해 이 모델은 효율적인 RepGFPN(Reparameterized Generalized Feature Pyramid Network)을 사용합니다. 이러한 헤비-넥(heavy-neck) 설계는 복잡한 공간 계층 구조를 추출하는 데 특히 능숙하여 항공 이미지 분석과 같은 시나리오에서 유용합니다. 또한 DAMO-YOLO는 훈련 중 강력한 증류(distillation) 향상 프로세스에 의존하여 최종 예측 레이어의 복잡성을 크게 줄이는 간소화된 탐지 헤드인 ZeroHead를 도입했습니다.
DAMO-YOLO는 종종 다단계 지식 증류 과정을 활용합니다. 더 작은 "학생(student)" 모델을 안내하기 위해 더 무거운 "교사(teacher)" 모델을 훈련시켜야 하며, 이는 더 높은 mAP(평균 정밀도)를 추출할 수 있지만 GPU 연산 시간을 상당히 증가시킵니다.
YOLOv10: 엔드투엔드 객체 탐지의 개척자
1년 반 후에 출시된 YOLOv10은 추론 중 NMS(Non-Maximum Suppression)의 필요성을 완전히 제거함으로써 패러다임의 전환을 가져왔습니다.
- 저자: Ao Wang, Hui Chen, Lihao Liu 외
- 소속: Tsinghua University
- 날짜: 2024년 5월 23일
- Arxiv: 2405.14458
- 문서: Ultralytics YOLOv10
아키텍처 주요 특징
YOLOv10의 가장 큰 특징은 NMS-free 훈련을 위한 **일관된 이중 할당(consistent dual assignments)**입니다. 기존의 탐지기들은 단일 객체에 대해 여러 개의 중복된 경계 상자를 예측하여 이를 필터링하기 위해 NMS가 필요했습니다. 이러한 후처리 단계는 특히 엣지 디바이스에서 병목 현상을 일으킵니다. YOLOv10은 모델이 자연스럽게 객체당 하나의 정확한 경계 상자를 예측하도록 하여 이 문제를 해결합니다.
개발자들은 전체적인 효율성과 정확도를 고려한 모델 설계에도 집중했습니다. 기존 아키텍처의 계산 중복성을 정밀하게 분석하여 FLOPs와 파라미터 수를 줄이도록 백본과 헤드를 최적화했습니다. 이러한 경량 설계는 TensorRT나 OpenVINO와 같은 형식으로 내보낼 때 YOLOv10이 뛰어난 추론 지연 시간을 제공하도록 보장합니다.
성능 및 벤치마크
아래 표는 COCO 데이터셋에서의 원시 성능 지표를 보여줍니다. 각 열에서 가장 우수한 값은 굵게 표시되어 있습니다.
| 모델 | 크기 (픽셀) | mAPval 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
DAMO-YOLO는 정확도 면에서 경쟁력을 유지하지만, YOLOv10은 지속적으로 더 낮은 지연 시간과 훨씬 작은 모델 가중치를 제공합니다. 예를 들어, YOLOv10s는 DAMO-YOLOs(46.0%)보다 약간 더 높은 mAP(46.7%)를 달성하면서도 파라미터 수는 절반 미만(7.2M 대 16.3M)입니다. 낮은 메모리 요구 사항 덕분에 YOLOv10은 임베디드 시스템에 매우 다재다능한 선택지가 됩니다.
학습 효율성 및 사용 편의성
학술 연구에서 실제 프로덕션으로 전환할 때는 사용 편의성이 가장 중요합니다. DAMO-YOLO의 다단계 증류 과정과 복잡한 NAS 설정은 엔지니어링 팀에게 높은 진입 장벽이 될 수 있습니다.
Conversely, YOLOv10 benefits immensely from being fully integrated into the Ultralytics Python SDK. Training a custom model involves minimal boilerplate code. Ultralytics handles data augmentation, hyperparameter tuning, and experiment tracking automatically.
from ultralytics import YOLO
# Load a pretrained YOLOv10 nano model
model = YOLO("yolov10n.pt")
# Train on a custom dataset with built-in validation
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image seamlessly
prediction = model("path/to/image.jpg")
prediction[0].show()Ultralytics 생태계를 사용하면 개발자는 복잡한 환경 설정 없이도 몇 줄의 코드만으로 프로토타입에서 내보낸 ONNX 모델 단계까지 빠르게 이동할 수 있습니다.
실제 사용 사례
- 스마트 리테일(DAMO-YOLO): DAMO-YOLO의 정확도는 고객 행동을 분석하는 고밀도 서버 환경에 적합하며, GPU 자원이 풍부하고 실시간 NMS 병목 현상을 관리할 수 있는 경우에 유용합니다.
- 자율 주행(YOLOv10): NMS-free 아키텍처는 자율 주행 안전 시스템에 필수적인 결정론적이고 예측 가능한 지연 시간을 보장합니다.
- Industrial Automation (YOLOv10): Detecting defects on fast-moving assembly lines requires models that maximize real-time inference speeds without consuming vast VRAM, making YOLOv10 a prime candidate for edge deployment.
사용 사례 및 권장 사항
DAMO-YOLO와 YOLOv10 중 무엇을 선택할지는 프로젝트의 특정 요구 사항, 배포 제약 조건 및 생태계 선호도에 따라 달라집니다.
DAMO-YOLO를 선택해야 할 때
DAMO-YOLO는 다음에 적합한 강력한 선택입니다:
- 고처리량 비디오 분석: batch-1 처리량이 주요 지표인 고정 NVIDIA GPU 인프라에서 고FPS 비디오 스트림을 처리할 때.
- 산업 제조 라인: 조립 라인의 실시간 품질 검사와 같이 전용 하드웨어에 대한 엄격한 GPU 지연 시간 제약 조건이 있는 시나리오.
- 신경 아키텍처 검색 연구: 자동화된 아키텍처 검색(MAE-NAS) 및 효율적인 재매개변수화 백본이 탐지 성능에 미치는 영향을 연구할 때.
YOLOv10을 선택해야 하는 경우
YOLOv10은 다음과 같은 경우에 권장됩니다:
- NMS-free 실시간 탐지: Non-Maximum Suppression 없이 엔드투엔드 탐지 기능을 활용하여 배포 복잡성을 줄여야 하는 애플리케이션.
- 균형 잡힌 속도-정확도 트레이드오프: 다양한 모델 규모 전반에서 추론 속도와 탐지 정확도 간의 강력한 균형이 필요한 프로젝트.
- Consistent-Latency Applications: Deployment scenarios where predictable inference times are critical, such as robotics or autonomous systems.
Ultralytics(YOLO26)를 선택해야 할 때
대부분의 신규 프로젝트에서 Ultralytics YOLO26은 성능과 개발자 경험의 최적의 조합을 제공합니다:
- NMS-free 엣지 배포: Non-Maximum Suppression 후처리의 복잡성 없이 일관되고 낮은 지연 시간의 추론이 필요한 애플리케이션.
- CPU 전용 환경: 전용 GPU 가속기가 없는 장치에서 YOLO26의 최대 43% 더 빠른 CPU 추론 속도가 결정적인 이점을 제공합니다.
- 소형 객체 탐지: 항공 드론 이미지나 IoT 센서 분석과 같은 도전적인 시나리오에서 ProgLoss와 STAL이 작은 객체에 대한 정확도를 크게 향상시킵니다.
차세대 모델: Ultralytics YOLO26
YOLOv10이 NMS-free 탐지의 기반을 마련했지만, 기술은 빠르게 발전했습니다. 현대적인 애플리케이션을 위해 Ultralytics YOLO26 모델은 이전 세대의 장점을 취하고 프로덕션을 위해 개선하여 타의 추종을 불허하는 성능과 사용성을 제공합니다.
YOLO26 features a strictly natively end-to-end design, eliminating NMS post-processing for simpler deployment pipelines across edge devices. Furthermore, the removal of Distribution Focal Loss (DFL) has dramatically improved compatibility with low-power edge AI hardware.
훈련 측면에서 YOLO26은 대규모 언어 모델(LLM) 훈련 기법에서 영감을 받은 하이브리드인 MuSGD Optimizer를 도입했습니다. 이는 더욱 안정적인 훈련과 빠른 수렴을 보장합니다. ProgLoss + STAL 손실 함수와 결합된 YOLO26은 야생 동물 보호 및 드론 운영 분야에서 매우 중요한 소형 객체 인식 능력에서 놀라운 향상을 보여줍니다.
중요하게도 YOLO26은 단순한 객체 탐지기가 아닙니다. 인스턴스 분할, RLE(Residual Log-Likelihood Estimation)를 사용하는 자세 추정, 그리고 회전 경계 상자(OBB)를 위한 특수 각도 손실을 기본적으로 지원하며 전반적인 작업별 개선을 제공합니다. 이전 모델보다 최대 43% 빠른 CPU 추론 속도를 자랑하며, 민첩한 엔지니어링 팀을 위한 확실한 선택입니다.
YOLO26 모델의 중앙 집중식 관리, 주석 작업 및 클라우드 훈련을 위해 Ultralytics Platform은 전체 컴퓨터 비전 수명 주기를 간소화하는 직관적인 인터페이스를 제공합니다.
다른 최근 발전 사항을 탐구하는 데 관심이 있는 개발자는 Ultralytics YOLO11이나 서로 다른 아키텍처 솔루션이 필요한 시나리오를 위해 트랜스포머 기반의 RT-DETR 프레임워크를 평가할 수 있습니다.