YOLOv5와 DAMO-YOLO 비교#
실시간 컴퓨터 비전 분야는 정확도, 속도, 사용성의 완벽한 균형을 찾으려는 연구자와 엔지니어의 노력 속에서 끊임없이 발전하고 있습니다. 이러한 발전을 이끈 두 주요 모델은 Ultralytics YOLOv5와 Alibaba의 DAMO-YOLO입니다.
이 가이드는 아키텍처, 성능 메트릭, 학습 방법론을 심층적으로 기술 분석하여 다음 배포에 적합한 모델을 선택할 수 있도록 돕습니다.
모델 배경#
기술적 세부 사항을 살펴보기 전에 이 영향력 있는 두 비전 모델의 기원과 핵심 설계 철학을 이해하는 것이 중요합니다.
Ultralytics YOLOv5#
Glenn Jocher와 Ultralytics 팀이 개발한 YOLOv5는 출시 이후 업계 표준으로 자리 잡았습니다. PyTorch 프레임워크 기반으로 개발되었으며, 처음부터 간소화된 개발자 경험과 견고한 배포 기능을 우선시했습니다.
- 저자: Glenn Jocher
- 조직: Ultralytics
- 날짜: 2020-06-26
- GitHub: https://github.com/ultralytics/yolov5
- 문서: Ultralytics YOLOv5 문서
DAMO-YOLO#
Alibaba Group의 연구자들이 개발한 DAMO-YOLO는 신경망 아키텍처 탐색(NAS)과 고급 지식 증류 기법에 중점을 둡니다. 하드웨어별 성능의 이론적 한계를 넓히며, 극도의 튜닝이 필요한 연구 및 엣지 환경에 특히 적합합니다.
- 저자: 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
아키텍처 혁신#
두 모델은 실시간 성능을 달성하기 위해 고유한 구조 개념을 활용하지만, 접근 방식은 크게 다릅니다.
YOLOv5: 안정성과 다용도성#
YOLOv5는 수정된 CSP(Cross Stage Partial) 백본과 PANet(Path Aggregation Network) 넥을 사용합니다. 이 구조는 학습과 추론 모두에서 CUDA 메모리 사용량을 최소화하여 효율성이 매우 높습니다.
YOLOv5의 가장 큰 장점 중 하나는 다양한 작업에 걸친 활용성입니다. 바운딩 박스 예측뿐만 아니라 이미지 분할과 이미지 분류를 위한 전용 아키텍처도 제공하여 개발자가 하나의 통합 프레임워크를 중심으로 비전 파이프라인을 표준화할 수 있습니다.
DAMO-YOLO: 자동화된 아키텍처 탐색#
DAMO-YOLO의 핵심 혁신은 MAE-NAS Backbone입니다. 최대 엔트로피 기반 탐색을 통해 Alibaba 팀은 감지 정확도와 추론 속도의 균형을 동적으로 맞추는 백본을 찾아냈습니다.
또한 특징 융합을 개선하는 Efficient RepGFPN 넥을 갖추고 있어 위성 이미지 분석에서 흔히 나타나는 복잡한 스케일 변화에 특히 유용합니다. ZeroHead 설계는 최종 예측 계층을 간소화해 지연 시간을 줄이지만, 복잡한 구조 생성 과정으로 인해 아키텍처가 경직되고 커스텀 애플리케이션에 맞게 수정하기 어려울 수 있습니다.
Transformer 기반 아키텍처는 VRAM 사용량이 큰 경우가 많습니다. YOLOv5와 DAMO-YOLO 모두 메모리 사용량을 낮추기 위해 효율적인 컨볼루션 설계를 활용하지만, Ultralytics 모델은 일반 소비자용 GPU에 맞게 특히 최적화되어 독립 연구자와 스타트업이 훨씬 쉽게 활용할 수 있습니다.
성능 및 지표#
실시간 객체 감지기를 평가하려면 mAP(평균 정밀도), 추론 속도, 모델 크기 파라미터를 종합적으로 살펴봐야 합니다.
| 모델 | 크기 (픽셀) | mAP검증 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv5n | 640 | 28.0 | - | 1.12 | 1.9 | 4.5 |
| YOLOv5s | 640 | 37.4 | - | 1.92 | 7.2 | 16.5 |
| YOLOv5m | 640 | 45.4 | - | 4.03 | 21.2 | 49.0 |
| YOLOv5l | 640 | 49.0 | - | 6.61 | 46.5 | 109.1 |
| YOLOv5x | 640 | 50.7 | - | 11.89 | 86.7 | 205.7 |
| 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 |
DAMO-YOLO는 특정 파라미터 수에서 경쟁력 있는 mAP 점수를 달성하지만, YOLOv5는 TensorRT 속도가 꾸준히 뛰어나며 nano 및 small 구성에서 파라미터 수도 매우 적습니다. 이러한 성능 균형 덕분에 YOLOv5는 다양한 엣지 배포 시나리오에서 효율적으로 작동합니다.
학습 효율성과 생태계#
모델의 이론적 정확도는 실제 구현 가능성만큼만 가치가 있습니다. 이 부분에서 두 모델은 상당히 차이를 보입니다.
지식 증류의 복잡성#
DAMO-YOLO는 다단계 학습 방법론에 크게 의존합니다. AlignedOTA 레이블 할당과 교사-학생 지식 증류 기법을 함께 사용합니다. 이를 통해 학생 모델의 성능을 극대화할 수 있지만, 먼저 대규모 교사 모델을 학습해야 합니다. 이 과정은 컴퓨팅 시간, 에너지 비용, 필요한 하드웨어를 크게 늘려 민첩한 ML 팀에 병목 현상을 일으킬 수 있습니다.
Ultralytics의 장점: 사용 편의성#
반면 Ultralytics 생태계는 직관적인 API와 학습 효율성으로 세계적인 명성을 얻고 있습니다. 활발한 개발과 방대한 오픈 소스 커뮤니티의 지원으로 개발자는 모델을 원활하게 학습하고 검증 및 배포할 수 있습니다.
from ultralytics import YOLO
# 사전 학습된 YOLOv5 모델을 불러옵니다.
model = YOLO("yolov5su.pt") # YOLOv5u: ultralytics 패키지용 앵커 프리 YOLOv5 가중치
# 사용자 지정 데이터셋을 간편하게 학습
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 배포를 위해 ONNX 형식으로 내보냅니다
model.export(format="onnx")Ultralytics는 Weights & Biases 및 Comet ML과 같은 도구를 통한 실험 추적도 기본적으로 지원하여 마찰 없는 워크플로를 제공합니다.
실제 활용 사례#
- YOLOv5는 속도가 중요한 프로덕션 환경에서 뛰어난 성능을 발휘합니다. 간편한 내보내기 기능 덕분에 스마트 리테일 분석, 고속 제조 결함 감지, CoreML을 통한 모바일 애플리케이션 통합에 최적의 선택입니다.
- DAMO-YOLO는 엄격한 학술 벤치마킹과 특정 고정 하드웨어의 미세한 mAP 개선을 목표로 장시간의 증류 학습을 실행할 수 있는 방대한 컴퓨팅 리소스가 확보된 시나리오에 매우 적합합니다.
사용 사례 및 권장 사항#
YOLOv5와 DAMO-YOLO 중 어느 것을 선택할지는 구체적인 프로젝트 요구 사항, 배포 제약 조건, 생태계 선호도에 따라 달라집니다.
YOLOv5를 선택할 경우#
YOLOv5는 다음과 같은 경우에 적합합니다:
- 프로덕션에서 검증된 시스템: YOLOv5의 오랜 안정성 기록, 방대한 문서, 대규모 커뮤니티 지원을 중요하게 여기는 기존 배포 환경입니다.
- 리소스 제약이 있는 학습: GPU 리소스가 제한된 환경에서 YOLOv5의 효율적인 학습 파이프라인과 적은 메모리 요구 사항이 유리합니다.
- 폭넓은 내보내기 형식 지원: ONNX, TensorRT, CoreML, LiteRT 등 다양한 형식으로 배포해야 하는 프로젝트입니다.
DAMO-YOLO를 선택해야 하는 경우#
다음과 같은 경우 DAMO-YOLO를 권장합니다.
- 높은 처리량의 비디오 분석: 배치 크기 1의 처리량이 주요 지표인 고정형 NVIDIA GPU 인프라에서 높은 FPS의 비디오 스트림을 처리하는 경우입니다.
- 산업 제조 라인: 조립 라인의 실시간 품질 검사처럼 전용 하드웨어에서 GPU 지연 시간 제약이 엄격한 시나리오입니다.
- 신경망 아키텍처 탐색 연구: 자동 아키텍처 탐색(MAE-NAS)과 효율적으로 재매개변수화된 백본이 감지 성능에 미치는 영향을 연구하는 경우입니다.
Ultralytics(YOLO26)를 선택해야 하는 경우#
대부분의 신규 프로젝트에는 성능과 개발자 경험을 가장 잘 조합한 Ultralytics YOLO26을 권장합니다.
- NMS가 필요 없는 엣지 배포: 비최대 억제 후처리의 복잡성 없이 일관된 저지연 추론이 필요한 애플리케이션입니다.
- CPU 전용 환경: 전용 GPU 가속 기능이 없는 디바이스에서 YOLO26의 최대 43% 빠른 CPU 추론은 결정적인 이점을 제공합니다.
- 작은 객체 탐지: 항공 드론 이미지나 IoT 센서 분석과 같이 작은 객체의 정확도를 ProgLoss와 STAL이 크게 높여 주는 까다로운 시나리오입니다.
다음 진화 단계: YOLO26#
새 프로젝트를 시작한다면 미래를 내다보는 것이 좋습니다. Ultralytics YOLO26은 YOLOv5의 뛰어난 기반을 발전시켜 최첨단 비전 AI를 새롭게 정의하는 혁신적인 기술을 통합합니다.
큰 호평 속에 출시된 YOLO26은 기본적으로 엔드투엔드 모델입니다. 엔드투엔드 NMS 없는 설계(nms=False)를 적용하여 비최대 억제 후처리를 생략함으로써 배포를 훨씬 빠르고 간편하게 만듭니다.
YOLO26의 주요 혁신은 다음과 같습니다.
- MuSGD Optimizer: LLM 학습 혁신에서 영감을 받은 SGD와 Muon의 하이브리드로, 매우 안정적인 학습과 빠른 수렴을 보장합니다.
- CPU 추론 속도 최대 43% 향상: 엣지 컴퓨팅에 맞게 고도로 최적화되어 전용 GPU 없이 작동하는 IoT 장치에 적합합니다.
- ProgLoss + STAL: 소형 객체 인식 성능을 크게 향상하는 고급 손실 함수로, 항공 드론 이미지와 로보틱스에 매우 중요합니다.
- 작업별 개선: 방향성 바운딩 박스(OBB)를 위한 특화된 각도 손실부터 정확한 포즈 추정을 위한 잔차 로그 우도 추정(RLE)까지, YOLO26은 복잡한 도메인을 손쉽게 처리합니다.
결론#
YOLOv5와 DAMO-YOLO는 모두 객체 감지 역사에 확고한 자리를 잡았습니다. DAMO-YOLO는 신경망 아키텍처 탐색과 지식 증류를 보여 주는 흥미로운 사례로 남아 있습니다. 그러나 잘 관리되는 생태계, 사용 편의성, 빠른 프로덕션 적용을 우선시하는 조직에는 Ultralytics 모델이 여전히 독보적입니다.
컴퓨터 비전 파이프라인의 미래 경쟁력과 속도, 뛰어난 정확도를 확보할 수 있도록 Ultralytics Platform을 활용해 YOLO26과 같은 차세대 모델에 주석을 추가하고, 학습하고, 배포하는 것을 적극 권장합니다.