DAMO-YOLO와 YOLOv5#
컴퓨터 비전은 실시간 객체 탐지 분야의 지속적인 혁신을 바탕으로 발전해 왔습니다. 오늘날 개발자와 연구자는 비전 파이프라인을 설계할 때 다양한 아키텍처 중에서 선택해야 합니다. 이 종합적인 기술 비교에서는 DAMO-YOLO와 Ultralytics YOLOv5의 차이를 살펴보고, 각 모델의 아키텍처, 학습 방법론, 성능 지표, 적합한 배포 시나리오를 소개합니다.
DAMO-YOLO 소개#
Alibaba Group이 출시한 DAMO-YOLO는 탐지 속도와 정확도의 한계를 넓히기 위한 몇 가지 새로운 기술을 도입했습니다.
- 저자: Xianzhe Xu, Yiqi Jiang, Weihua Chen, Yilun Huang, Yuan Zhang, Xiuyu Sun
- 기관: Alibaba Group
- 날짜: 2022년 11월 23일
- Arxiv: 2211.15444v2
- GitHub: tinyvision/DAMO-YOLO
- 문서: README.md
아키텍처 혁신#
DAMO-YOLO는 신경망 아키텍처 탐색(NAS)을 기반으로 합니다. 저자는 MAE-NAS를 활용해 지연 시간과 정확도의 균형을 맞추는 백본을 자동으로 설계했습니다. 이 모델은 효율적인 RepGFPN(재매개변수화된 일반화 특징 피라미드 네트워크)을 도입하여 다양한 스케일의 특징 융합을 개선합니다. 또한 DAMO-YOLO는 복잡한 다중 분기 예측 헤드를 제거하고 더 단순하고 효율적인 구조를 채택한 "ZeroHead" 설계를 적용합니다. 이 구조는 추론 중 재매개변수화에 크게 의존합니다.
학습을 개선하기 위해 모델은 레이블 할당에 AlignedOTA를 사용하고 강도 높은 증류 개선 과정을 적용합니다. 이 과정에서는 더 큰 "교사" 모델이 더 작은 "학생" 모델을 지도하여 정확도를 높입니다.
Ultralytics YOLOv5 소개#
Ultralytics YOLOv5는 세계에서 가장 널리 채택된 비전 아키텍처 중 하나로, 안정성과 사용 편의성, 광범위한 배포 생태계로 잘 알려져 있습니다.
- 저자: Glenn Jocher
- 조직: Ultralytics
- 날짜: 2020년 6월 26일
- GitHub: ultralytics/yolov5
- 문서: YOLOv5 문서
생태계 표준#
YOLOv5는 사용 편의성 측면에서 업계 표준을 새롭게 정의했습니다. PyTorch로 네이티브 구현되었으며, 최적화된 CSPNet 백본과 견고한 특징 통합을 위한 PANet 넥을 사용합니다. 이후 모델에서 나타난 앵커 프리 추세보다 앞서 개발되었지만, 자동 앵커 학습과 결합된 고도로 개선된 앵커 기반 접근 방식으로 즉시 뛰어난 성능을 제공합니다.
YOLOv5의 진정한 강점은 잘 관리되는 생태계에 있습니다. Comet, Weights & Biases와 같은 추적 도구와 원활하게 통합되며, ONNX, TensorRT, CoreML과 같은 형식으로 원클릭 내보내기를 지원합니다.
YOLOv5는 사용자 지정 데이터셋으로 매우 쉽게 학습할 수 있습니다. 간소화된 API는 프로토타입에서 프로덕션으로 전환할 때의 부담을 줄여 민첩한 엔지니어링 팀에서 선호하는 모델입니다.
성능 및 지표 비교#
이 모델들을 비교할 때는 평균 정밀도(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 |
| 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-YOLO는 파라미터 규모에 비해 인상적인 mAP 점수를 달성하며, 이는 증류 학습 단계의 이점을 크게 반영합니다. 그러나 학습 효율성에는 비용이 따릅니다. 다단계 증류 과정에서는 먼저 대규모 교사 모델을 학습해야 하므로 필요한 GPU 연산 리소스 시간과 VRAM이 크게 증가합니다.
반면 YOLOv5는 메모리 요구 사항 측면에서 뛰어납니다. Ultralytics YOLO 모델은 복잡한 증류 파이프라인이나 RT-DETR과 같은 Transformer 기반 모델보다 학습과 추론 중 메모리 사용량이 적은 것으로 알려져 있습니다. 따라서 YOLOv5는 일반 소비자용 하드웨어나 Google Colab과 같이 쉽게 사용할 수 있는 클라우드 환경에서 효율적으로 학습할 수 있습니다.
실제 애플리케이션 및 활용성#
적합한 아키텍처는 배포 환경에 따라 달라지는 경우가 많습니다.
DAMO-YOLO가 강점을 보이는 경우#
DAMO-YOLO는 객체 탐지 전용 모델입니다. 특히 신경망 아키텍처 탐색을 연구하거나 논문에 설명된 재매개변수화 기술을 재현하려는 팀의 학술 연구에 적합합니다. 증류 학습을 수행할 충분한 연산 리소스가 있고 2D 경계 상자의 정확도를 조금이라도 더 높이는 데만 집중하는 프로젝트라면 DAMO-YOLO는 유력한 후보입니다.
Ultralytics의 강점#
실제 프로덕션 환경에서는 Ultralytics 모델의 사용 편의성과 범용성 덕분에 선호되는 선택지가 됩니다. YOLOv5는 탐지와 이미지 분류의 주요 모델로 계속 사용되고 있으며, 더 폭넓은 Ultralytics 생태계를 활용하면 개발자가 작업 간에 손쉽게 전환할 수 있습니다.
예를 들어 Ultralytics 제품군의 최신 모델은 인스턴스 분할, 포즈 추정, 방향성 경계 상자(OBB) 탐지를 네이티브로 지원합니다. 이러한 다중 작업 기능을 통해 팀은 자동 번호판 인식과 차량 분할을 결합하는 복잡한 파이프라인에서도 통합 Python API 하나만 사용할 수 있습니다.
사용 사례 및 권장 사항#
DAMO-YOLO와 YOLOv5 중 어떤 모델을 선택할지는 프로젝트의 구체적인 요구 사항, 배포 제약 조건, 생태계 선호도에 따라 달라집니다.
DAMO-YOLO를 선택해야 하는 경우#
DAMO-YOLO는 다음과 같은 경우에 적합합니다:
- 높은 처리량의 비디오 분석: 배치 크기 1의 처리량이 주요 지표인 고정형 NVIDIA GPU 인프라에서 높은 FPS의 비디오 스트림을 처리하는 경우입니다.
- 산업 제조 라인: 조립 라인의 실시간 품질 검사처럼 전용 하드웨어에서 GPU 지연 시간 제약이 엄격한 시나리오입니다.
- 신경망 아키텍처 탐색 연구: 자동 아키텍처 탐색(MAE-NAS)과 효율적으로 재매개변수화된 백본이 감지 성능에 미치는 영향을 연구하는 경우입니다.
YOLOv5를 선택할 경우#
다음과 같은 경우 YOLOv5를 권장합니다.
- 프로덕션에서 검증된 시스템: YOLOv5의 오랜 안정성 기록, 방대한 문서, 대규모 커뮤니티 지원을 중요하게 여기는 기존 배포 환경입니다.
- 리소스 제약이 있는 학습: GPU 리소스가 제한된 환경에서 YOLOv5의 효율적인 학습 파이프라인과 적은 메모리 요구 사항이 유리합니다.
- 폭넓은 내보내기 형식 지원: ONNX, TensorRT, CoreML, LiteRT 등 다양한 형식으로 배포해야 하는 프로젝트입니다.
Ultralytics(YOLO26)를 선택해야 하는 경우#
대부분의 신규 프로젝트에는 성능과 개발자 경험을 가장 잘 조합한 Ultralytics YOLO26을 권장합니다.
- NMS가 필요 없는 엣지 배포: 비최대 억제 후처리의 복잡성 없이 일관된 저지연 추론이 필요한 애플리케이션입니다.
- CPU 전용 환경: 전용 GPU 가속 기능이 없는 디바이스에서 YOLO26의 최대 43% 빠른 CPU 추론은 결정적인 이점을 제공합니다.
- 작은 객체 탐지: 항공 드론 이미지나 IoT 센서 분석과 같이 작은 객체의 정확도를 ProgLoss와 STAL이 크게 높여 주는 까다로운 시나리오입니다.
미래: YOLO26으로 전환하기#
YOLOv5는 전설적인 모델이고 DAMO-YOLO는 흥미로운 학술적 통찰을 제공하지만, 최신 기술은 계속 발전해 왔습니다. 2026년 1월에 출시된 Ultralytics YOLO26은 비전 커뮤니티에 큰 도약을 가져왔습니다.
YOLO26은 엣지 배포와 학습 불안정성의 기존 병목 현상을 해결합니다.
- 엔드투엔드 NMS 프리 설계: YOLO26의 선택적 엔드투엔드 헤드(
nms=False)는 비최대 억제 후처리를 제거합니다. 이 획기적인 설계는 배포 로직을 단순화하고 지연 시간 변동을 크게 줄여 고속 로보틱스와 자율 시스템에 적합합니다. - MuSGD Optimizer: Moonshot AI의 Kimi K2와 같은 LLM 학습 혁신에서 영감을 얻은 YOLO26은 MuSGD 옵티마이저(SGD와 Muon의 하이브리드)를 사용합니다. 이를 통해 학습이 매우 안정적으로 진행되고 수렴 속도가 크게 향상됩니다.
- CPU 추론 속도 최대 43% 향상: 분포 초점 손실(DFL)을 전략적으로 제거하여 YOLO26n은 CPU ONNX에서 YOLO11n보다 최대 43% 빠르게 실행됩니다. YOLO11과 YOLOv8과 같은 이전 모델보다 CPU와 엣지 디바이스에서 더 높은 속도를 제공합니다.
- ProgLoss + STAL: 이 고급 손실 함수는 소형 객체 인식 성능을 크게 향상합니다. 이는 드론 항공 이미지와 IoT 센서 피드를 분석할 때 특히 중요합니다.
코드 예제: 간편한 사용법#
Ultralytics 패키지를 사용하면 몇 줄의 코드만으로 모델을 학습하고 배포할 수 있습니다. YOLOv5를 사용하든 권장 모델인 YOLO26으로 업그레이드하든 인터페이스는 일관되고 직관적입니다.
from ultralytics import YOLO
# 최신 YOLO26 소형 모델 불러오기
model = YOLO("yolo26s.pt")
# 사용자 지정 데이터셋을 간편하게 학습
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 이미지에 대해 추론을 실행하고 결과 표시
predictions = model("https://ultralytics.com/images/bus.jpg")
predictions[0].show()
# 엣지 배포를 위해 모델 내보내기
model.export(format="onnx")결론#
DAMO-YOLO와 YOLOv5는 모두 컴퓨터 비전 분야에 크게 기여했습니다. DAMO-YOLO는 신경망 아키텍처 탐색과 증류의 강점을 보여 주어 연구자에게 흥미로운 연구 대상이 됩니다. 그러나 성능 균형, 낮은 메모리 요구 사항, 탁월한 사용 편의성 덕분에 YOLOv5는 여전히 실용성이 뛰어납니다.
오늘날 새 프로젝트를 시작하는 개발자에게는 Ultralytics Platform을 활용하고 YOLO26을 채택할 것을 권장합니다. YOLO26은 YOLOv5의 친숙하고 사용자 친화적인 생태계에 획기적인 아키텍처 개선을 결합하여 클라우드와 엣지 AI 애플리케이션 모두에서 최고 수준의 정확도와 빠른 추론을 제공합니다. 특정 레거시 하드웨어 제약 조건에 따라 YOLOv6 또는 YOLOX와 같은 다른 효율적인 모델도 살펴볼 수 있습니다.