YOLOv7 대 YOLOv5#
현대적인 computer vision 파이프라인을 구축할 때 정확도, 추론 속도, 리소스 활용도 사이의 균형을 맞추려면 올바른 객체 감지 아키텍처를 선택하는 것이 매우 중요합니다. 본 종합 비교 분석에서는 computer vision 분야에서 매우 영향력 있는 두 가지 모델, 즉 YOLOv7과 Ultralytics YOLOv5를 살펴봅니다.
아키텍처의 차이점, 성능 지표, 이상적인 배포 시나리오를 분석하여 개발자와 연구자가 자신의 특정 요구 사항에 가장 적합한 모델을 선택할 수 있도록 돕고자 합니다.
모델 배경 및 기원#
이 모델들의 기원을 이해하면 설계 철학과 목표 사용 사례에 대한 맥락을 파악할 수 있습니다.
YOLOv5#
2020년 6월 26일 Ultralytics의 Glenn Jocher와 팀원들이 출시한 YOLOv5는 성능을 희생하지 않으면서 사용 편의성을 우선시하는 기본 PyTorch 구현을 제공함으로써 해당 분야에 혁명을 일으켰습니다. 믿을 수 없을 정도로 간소화된 생태계와 안정적인 학습 역량 덕분에 빠르게 업계 표준이 되었습니다. 소스 코드는 YOLOv5 GitHub repository에서 탐색하거나 Ultralytics Platform을 통해 직접 모델에 액세스할 수 있습니다.
YOLOv7#
2022년 7월 6일 대만 아카데미아 시니카(Academia Sinica) 정보과학연구소의 Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao가 소개했습니다. YOLOv7은 정확도의 최첨단(state-of-the-art)을 끌어올리기 위해 E-ELAN(Extended Efficient Layer Aggregation Networks) 및 학습 가능한 "bag-of-freebies"와 같은 아키텍처 혁신에 큰 무게를 두었습니다. 자세한 내용은 official Arxiv paper 및 YOLOv7 GitHub repository에서 확인할 수 있습니다. 원활한 통합을 위해 Ultralytics YOLOv7 documentation을 확인하세요.
두 모델 모두 Ultralytics Python 패키지에 완전히 통합되어 있어 코드에서 모델 문자열을 변경하기만 하면 모델 간에 쉽게 전환할 수 있습니다!
아키텍처 혁신#
Ultralytics YOLOv5 설계#
YOLOv5는 수정된 CSPDarknet53 백본과 PANet(Path Aggregation Network) 넥을 활용합니다. 이 설계는 빠른 feature extraction과 메모리 효율성에 최적화되어 있습니다. 구형 아키텍처나 무거운 transformer 모델과 달리 YOLOv5는 학습 중에 훨씬 적은 CUDA 메모리를 필요로 하므로 표준 소비자용 GPU에서 더 큰 batch sizes를 사용할 수 있습니다. 또한 Ultralytics 프레임워크는 표준 바운딩 박스를 넘어 image segmentation 및 image classification을 포함한 다양한 태스크를 기본적으로 지원합니다.
YOLOv7 설계#
YOLOv7은 몇 가지 구조적 재매개변수화와 E-ELAN 아키텍처를 도입하여 네트워크가 원래 그래디언트 경로를 손상시키지 않으면서 더욱 다양한 특징을 학습할 수 있도록 합니다. 또한 학습 중 중간 감독을 위해 보조 헤드(auxiliary head)를 구현합니다. 이러한 발전은 높은 mAP(mean Average Precision)를출래내지만, Ultralytics 모델 고유의 간소화된 내보내기와 비교할 때 ONNX 또는 TensorRT와 같은 엣지 형식으로의 내보내기를 약간 더 까다롭게 만드는 복잡한 텐서 구조를 도입하는 경우가 많습니다.
성능 분석#
이들 모델을 비교할 때 개발자는 mAPval, 추론 속도, 연산 복잡도(FLOPs)의 균형을 맞추어야 합니다. 아래 표는 COCO dataset에서 평가된 두 아키텍처의 성능을 보여줍니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
| YOLOv5n | 640 | 28.0 | 73.6 | 1.12 | 2.6 | 7.7 |
| YOLOv5s | 640 | 37.4 | 120.7 | 1.92 | 9.1 | 24.0 |
| YOLOv5m | 640 | 45.4 | 233.9 | 4.03 | 25.1 | 64.2 |
| YOLOv5l | 640 | 49.0 | 408.4 | 6.61 | 53.2 | 135.0 |
| YOLOv5x | 640 | 50.7 | 763.2 | 11.89 | 97.2 | 246.4 |
핵심 요약#
- 정확도 상한: YOLOv7x는 53.1 mAPval이라는 인상적인 수치로 전체 정확도에서 최고를 달성하여, 탐지 성능을 극대화하는 것이 주된 목표인 시나리오에서 매우 경쟁력이 있습니다.
- 속도 및 효율성: Ultralytics YOLOv5n은 효율성의 경이로운 결과물로, 단 2.6M 파라미터의 매우 작은 메모리 풋프린트로 번개처럼 빠른 inference latency(T4 TensorRT에서 1.12ms)를 제공합니다. 따라서 제약이 심한 엣지 배포에 있어 타의 추종을 불허하는 선택이 됩니다.
- 성능 균형: YOLOv5 시리즈는 뛰어난 모델 구배를 제공합니다. YOLOv5l은 YOLOv7l보다 정확도 차이가 약간 나지만 매우 성숙한 배포 파이프라인을 제공하여 훌륭한 절충안을 제시합니다.
Ultralytics 생태계의 이점#
모델의 아키텍처는 방정식의 절반일 뿐이며, 그 주변 생태계가 실제 환경에서의 생존 가능성을 결정합니다. 이것이 바로 Ultralytics 모델이 진정으로 빛을 발하는 지점입니다.
사용 편의성: Ultralytics는 통합되고 직관적인 Python API를 제공합니다. 광범위한 official documentation의 지원을 받아 최소한의 상용구 코드로 모델을 학습, 검증, 배포할 수 있습니다. 잘 유지 관리되는 생태계: 활발한 개발을 통해 지속적인 업데이트, 버그 수정, 그리고 Weights & Biases와 같은 최신 추적 도구와의 원활한 통합이 보장됩니다. 학습 효율성: 최적화된 데이터 로더와 smart caching을 활용하는 YOLOv5는 학습 시간을 대폭 단축합니다. 게다가 바로 사용할 수 있는 사전 학습된 가중치는 다양한 도메인에 걸쳐 전이 학습을 가속화합니다.
코드 예제: 간소화된 학습#
Ultralytics 패키지를 사용하면 어떤 아키텍처를 선택하든 학습 시작 과정이 사실상 동일합니다.
from ultralytics import YOLO
# Load a pre-trained YOLOv5 model (can easily swap to "yolov7.pt")
model = YOLO("yolov5s.pt")
# Train the model on the COCO8 example dataset
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Export the trained model to ONNX format for deployment
success = model.export(format="onnx")이상적인 사용 사례#
YOLOv7을 선택해야 하는 경우#
- 학술적 벤치마킹: 잘 문서화된 2022년 기준 데이터와 새로운 기술을 비교해야 하는 연구자에게 완벽합니다.
- 고성능 GPU 클라우드 처리: 내보내기의 단순성보다 조밀한 장면에서 절대적으로 가장 높은 mAP를 달성하는 것이 더 중요한 강력한 서버 하드웨어에 배포할 때 유용합니다.
YOLOv5를 선택해야 하는 경우#
- 프로덕션 배포: 높은 안정성, 간편한 model deployment options, 광범위한 크로스 플랫폼 호환성이 요구되는 상업용 애플리케이션에 이상적입니다.
- 에지 디바이스: 더 작은 변형 모델(YOLOv5n 및 YOLOv5s)은 휴대폰 및 임베디드 시스템에서 매우 잘 작동합니다.
- 멀티 태스크 요구사항: 프로젝트가 단순 감지에서 통합 프레임워크를 사용하는 pose estimation 또는 세분화(segmentation)로 발전해야 하는 경우에 적합합니다.
최신 버전을 찾고 계신가요? 앵커 프리 감지 및 멀티 태스크 학습 기능의 추가적인 발전을 위해 Ultralytics YOLOv8 또는 Ultralytics YOLO11 탐색을 고려해 보세요.
차세대: Ultralytics YOLO26#
YOLOv5와 YOLOv7은 비전 AI 역사에서 중요한 위치를 차지하지만, 환경은 끊임없이 진화하고 있습니다. 2026년 1월에 출시된 Ultralytics YOLO26은 모든 지표에서 이전 세대를 능가하며 객체 탐지 기술의 절대적인 최첨단을 보여줍니다.
YOLO26은 몇 가지 패러다임을 전환하는 기능을 도입했습니다:
- 엔드투엔드 NMS-Free 설계: 초기 반복 모델에서 개척된 개념을 기반으로 하는 YOLO26은 네이티브 엔드투엔드 모델입니다. 이로써 NMS(Non-Maximum Suppression) 후처리가 완전히 제거되어 지연 시간 병목 현상을 줄이고 배포 로직을 획기적으로 단순화합니다.
- MuSGD 옵티마이저: Moonshot AI의 Kimi K2에서 영감을 받은 이 혁신적인 옵티마이저는 표준 SGD의 안정성과 Muon의 가속화된 모멘텀을 결합하여 고급 LLM 학습 혁신을 컴퓨터 비전에 직접 적용합니다.
- 향상된 CPU 속도: DFL(Distribution Focal Loss)을 전략적으로 제거함으로써 YOLO26은 CPU 추론 속도를 최대 43%까지 향상시켜 에지 및 저전력 IoT 디바이스 배포를 위한 독보적인 챔피언이 되었습니다.
- ProgLoss + STAL: 이러한 고급 손실 함수는 항공 이미지 및 정밀 로봇 공학에 필수적인 소형 객체 인식에서 엄청난 개선을 가져옵니다.
- 태스크별 개선 사항: 마스크 생성을 위한 시맨틱 세분화 손실(Semantic segmentation loss), 포즈 추적을 위한 RLE(Residual Log-Likelihood Estimation), 까다로운 Oriented Bounding Box (OBB) 경계 문제를 해결하기 위한 특화된 각도 손실(angle loss)을 특징으로 합니다.
결론#
YOLOv5와 YOLOv7은 모두 실시간 객체 탐지를 위한 강력한 솔루션을 제공합니다. YOLOv7은 고성능 컴퓨팅 하드웨어에서 원시 정확도를 위한 강력한 선택으로 남아 있으며, YOLOv5는 속도, 효율성 및 세계적 수준의 생태계의 탁월한 균형을 제공하는 궁극의 개발자 친화적 도구로 돋보입니다.
그러나 파이프라인을 미래 지향적으로 만들고 속도, 단순성, 최고 수준의 정확도의 궁극적인 조합을 달성하고자 하는 개발자에게는 Ultralytics YOLO26로 마이그레이션할 것을 강력히 권장합니다. Ultralytics 플랫폼의 전설적인 사용 편의성을 유지하면서 획기적인 아키텍처 혁신을 제공합니다.