Ultralytics YOLO27:

DAMO-YOLO 대 YOLOv10#

컴퓨터 비전 분야에서는 실시간 객체 탐지 아키텍처가 빠르게 발전해 왔습니다. DAMO-YOLOYOLOv10을 비교하면 모델 설계에서 서로 다른 두 가지 철학, 즉 자동화된 아키텍처 탐색과 엔드투엔드 NMS 없는 최적화를 확인할 수 있습니다. 두 모델 모두 정확도와 속도의 한계를 확장하지만, 기본 구조와 이상적인 사용 사례는 크게 다릅니다.

Alibaba Group이 개발한 DAMO-YOLO는 구조적 효율성을 위해 자동화된 탐색을 활용하는 데 중점을 둔 강력한 detector로 등장했습니다.

아키텍처 주요 특징#

DAMO-YOLO는 성능과 지연 시간의 균형을 맞추기 위해 신경 아키텍처 검색(NAS)에 크게 의존합니다. MAE-NAS로 명명된 백본은 엄격한 연산 예산 하에서 최대 엔트로피 유도 검색을 사용하여 최적의 레이어 깊이와 너비를 찾습니다.

모델은 여러 스케일에 걸친 feature fusion을 처리하기 위해 효율적인 RepGFPN(재매개변수화된 일반화 특징 피라미드 네트워크)을 사용합니다. 이러한 heavy-neck 설계는 복잡한 공간 계층 구조를 추출하는 데 특히 뛰어나 항공 이미지 분석과 같은 시나리오에 유용합니다. 또한 DAMO-YOLO는 최종 예측 레이어의 복잡성을 크게 줄인 간소화된 detection head인 ZeroHead를 도입하며, 학습 중 강력한 distillation enhancement process에 의존합니다.

Distillation 학습

DAMO-YOLO는 다단계 knowledge distillation process를 자주 활용합니다. 더 작은 "student" 모델을 안내하려면 더 무거운 "teacher" 모델을 학습해야 하며, 이를 통해 더 높은 mAP (평균 정밀도)을 얻을 수 있지만 필요한 GPU 연산 시간이 크게 증가합니다.

YOLOv10: 엔드투엔드 객체 검출의 선구자#

약 1년 반 후에 출시된 YOLOv10은 추론 중 비최대 억제 (NMS)의 필요성을 완전히 제거하여 패러다임의 전환을 가져왔습니다.

아키텍처 주요 특징#

YOLOv10의 두드러진 특징은 NMS 없는 학습을 위한 일관된 이중 할당입니다. 기존 detector는 하나의 객체에 대해 여러 개의 겹치는 bounding box를 예측하므로 중복 항목을 필터링하기 위해 NMS가 필요합니다. 이러한 post-processing 단계는 특히 edge device에서 병목을 일으킵니다. YOLOv10은 모델이 객체당 하나의 정확한 bounding box를 자연스럽게 예측하도록 하여 이 문제를 해결합니다.

저자들은 전체적인 효율성 및 정확도 중심의 모델 설계에도 초점을 맞췄습니다. 기존 아키텍처의 연산 중복을 면밀히 분석하여 backbone과 head를 최적화하고 FLOPs와 파라미터 수를 줄였습니다. 이러한 경량 설계를 통해 YOLOv10은 TensorRT 또는 OpenVINO와 같은 형식으로 export할 때 탁월한 추론 지연 시간을 제공합니다.

YOLOv10에 대해 자세히 알아보세요

성능 및 벤치마크#

아래 표는 COCO dataset의 원시 성능 지표를 보여줍니다. 각 열의 전체 최상위 값은 굵게 표시되어 있습니다.

모델크기
(픽셀)
mAPval
50-95
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(M)
FLOPs
(B)
DAMO-YOLOt64042.0-2.328.518.1
DAMO-YOLOs64046.0-3.4516.337.8
DAMO-YOLOm64049.2-5.0928.261.8
DAMO-YOLOl64050.8-7.1842.197.3
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4

DAMO-YOLO는 정확도 측면에서 충분한 성능을 발휘하지만, YOLOv10은 일관되게 더 낮은 지연 시간과 훨씬 더 작은 model weight를 제공합니다. 예를 들어 YOLOv10s는 DAMO-YOLOs(46.0%)보다 약간 높은 mAP(46.7%)를 달성하면서도 파라미터는 절반보다 적게 사용합니다(7.2M 대 16.3M). 더 낮은 메모리 요구 사항 덕분에 YOLOv10은 embedded system에 매우 유연한 선택지가 됩니다.

학습 효율성과 사용성#

학술 연구에서 production으로 전환할 때는 사용 편의성이 가장 중요합니다. DAMO-YOLO의 다단계 distillation process와 복잡한 NAS 구성은 engineering team에 높은 학습 곡선을 요구할 수 있습니다.

반면 YOLOv10은 Ultralytics Python SDK에 완전히 통합되어 큰 이점을 얻습니다. custom model 학습에는 boilerplate code가 거의 필요하지 않습니다. Ultralytics는 data augmentation, hyperparameter tuning, experiment tracking을 자동으로 처리합니다.

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 ecosystem을 사용하면 개발자는 몇 줄의 code만으로 prototype에서 완전히 export된 ONNX model로 전환할 수 있으며, 기존 framework에 필요한 복잡한 environment 설정을 생략할 수 있습니다.

실제 사용 사례#

  • 스마트 리테일(DAMO-YOLO): DAMO-YOLO의 정확도는 GPU가 풍부하고 실시간 NMS 병목을 관리할 수 있는 고밀도 server environment에서 customer behavior를 분석하는 데 적합합니다.
  • 자율주행 차량(YOLOv10): NMS 없는 아키텍처는 결정론적이고 예측 가능한 지연 시간을 보장하며, 이는 자율주행의 safety system에 매우 중요합니다.
  • 산업 자동화(YOLOv10): 빠르게 이동하는 assembly line에서 defect를 탐지하려면 막대한 VRAM을 사용하지 않으면서 실시간 추론 속도를 극대화하는 모델이 필요하므로, YOLOv10은 edge deployment를 위한 최적의 후보입니다.

사용 사례 및 권장 사항#

DAMO-YOLO와 YOLOv10 중 무엇을 선택할지는 구체적인 project requirements, deployment constraints, ecosystem preferences에 따라 달라집니다.

DAMO-YOLO를 선택해야 하는 경우#

DAMO-YOLO가 적합한 경우:

  • High-Throughput Video Analytics: batch-1 throughput이 주요 metric인 고정 NVIDIA GPU infrastructure에서 high-FPS video stream을 처리하는 경우입니다.
  • Industrial Manufacturing Lines: assembly line에서의 real-time quality inspection과 같이 전용 하드웨어에서 엄격한 GPU latency constraint가 있는 경우입니다.
  • Neural Architecture Search Research: automated architecture search(MAE-NAS)와 효율적인 reparameterized backbone이 detection performance에 미치는 영향을 연구하는 경우입니다.

YOLOv10을 선택해야 하는 경우#

YOLOv10은 다음과 같은 경우에 권장됩니다:

  • NMS-Free 실시간 탐지: 비최대 억제 없이 엔드투엔드 탐지의 이점을 활용하여 배포 복잡성을 줄이는 애플리케이션입니다.
  • 균형 잡힌 속도-정확도 절충: 다양한 모델 규모에서 추론 속도와 탐지 정확도 사이의 뛰어난 균형이 필요한 프로젝트입니다.
  • 일관된 지연 시간이 필요한 애플리케이션: 로보틱스 또는 자율 시스템과 같이 예측 가능한 추론 시간이 중요한 배포 시나리오입니다.

Ultralytics(YOLO26)를 선택해야 하는 경우#

대부분의 신규 프로젝트에서 Ultralytics YOLO26은 성능과 개발자 경험의 최적 조합을 제공합니다.

  • NMS-Free 엣지 배포: 비최대 억제 후처리의 복잡성 없이 일관되고 지연 시간이 짧은 추론이 필요한 애플리케이션입니다.
  • CPU 전용 환경: 전용 GPU 가속 기능이 없는 디바이스에서 YOLO26의 최대 43% 더 빠른 CPU 추론이 결정적인 이점을 제공하는 경우입니다.
  • 소형 객체 탐지: 항공 드론 이미지나 IoT 센서 분석처럼 ProgLoss와 STAL이 작은 객체의 정확도를 크게 향상하는 까다로운 시나리오입니다.

차세대 모델: Ultralytics YOLO26의 등장#

YOLOv10이 NMS 없는 detection의 기반을 마련했지만 기술은 빠르게 발전했습니다. 최신 애플리케이션에서는 Ultralytics YOLO26 모델이 이전 세대의 장점을 취하고 production에 맞게 개선하여 탁월한 성능과 사용성을 제공합니다.

YOLO26은 기본적으로 엔드투엔드 설계를 채택하여 NMS 후처리를 제거함으로써 엣지 장치 전반에서 더 간단한 배포 파이프라인을 구현합니다. 나아가 분포 초점 손실(DFL)의 제거는 저전력 edge AI 하드웨어와의 호환성을 극적으로 향상시켰습니다.

학습 측면에서 YOLO26은 Large Language Model (LLM) 학습 기법에서 영감을 얻은 hybrid인 MuSGD Optimizer를 도입합니다. 이를 통해 더 안정적인 학습과 빠른 수렴을 보장합니다. ProgLoss + STAL loss function과 결합된 YOLO26은 wildlife conservationdrone operations에 중요한 기능인 small-object recognition에서 remarkable improvements를 보여줍니다.

중요한 점은 YOLO26이 단순한 object detector가 아니라는 것입니다. YOLO26은 Instance Segmentation, Residual Log-Likelihood Estimation (RLE)을 사용하는 Pose Estimation, 그리고 Oriented Bounding Boxes (OBB)를 위한 특수 angle loss를 native로 지원하며 전반적인 task-specific improvements를 제공합니다. 이전 모델보다 CPU inference가 최대 43% 빠르므로 agile engineering team을 위한 definitive choice입니다.

YOLO26 모델의 중앙 집중식 management, annotation 및 cloud training을 위해 Ultralytics Platform은 전체 computer vision lifecycle을 간소화하는 직관적인 interface를 제공합니다.

다른 최신 발전을 살펴보려는 개발자는 Ultralytics YOLO11 또는 서로 다른 architectural solution이 필요한 scenario를 위한 transformer-based RT-DETR framework도 평가할 수 있습니다.

댓글