YOLOv7과 YOLOv5 비교#
최신 컴퓨터 비전 파이프라인을 구축할 때 정확도, 추론 속도, 리소스 활용률의 균형을 맞추려면 적절한 객체 탐지 아키텍처를 선택하는 것이 중요합니다. 이 종합 비교에서는 컴퓨터 비전 분야에 큰 영향을 미친 두 모델인 YOLOv7과 Ultralytics YOLOv5를 살펴봅니다.
아키텍처 차이, 성능 지표, 적합한 배포 시나리오를 분석하여 개발자와 연구자가 구체적인 요구 사항에 가장 적합한 모델을 선택하도록 돕고자 합니다.
모델의 배경과 기원#
모델의 기원을 이해하면 모델의 설계 철학과 목표 사용 사례를 파악하는 데 도움이 됩니다.
YOLOv5#
Glenn Jocher와 Ultralytics 팀이 2020년 6월 26일에 출시한 YOLOv5는 성능을 저하시키지 않으면서 사용 편의성을 우선시하는 네이티브 PyTorch 구현을 제공하여 해당 분야에 혁신을 가져왔습니다. 매우 간결한 생태계와 안정적인 학습 동작 덕분에 업계 표준으로 빠르게 자리 잡았습니다. YOLOv5 GitHub 저장소에서 소스 코드를 살펴보거나 Ultralytics Platform에서 모델에 직접 접근할 수 있습니다.
YOLOv7#
대만 중앙연구원 정보과학연구소의 Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao가 2022년 7월 6일에 발표한 YOLOv7은 Extended Efficient Layer Aggregation Networks (E-ELAN) 및 학습 가능한 "bag-of-freebies"와 같은 아키텍처 혁신에 집중하여 정확도의 최첨단 성능을 끌어올렸습니다. 자세한 내용은 공식 Arxiv 논문과 YOLOv7 GitHub 저장소에서 확인할 수 있습니다. 원활한 통합을 위해 Ultralytics YOLOv7 문서를 참조하세요.
YOLOv5는 Ultralytics Python 패키지에 완전히 통합되어 있습니다. YOLOv7은 학습이나 PyTorch 추론을 네이티브로 지원하지 않지만, 업스트림 YOLOv7 체크포인트를 ONNX 또는 TensorRT로 내보내면 YOLOv7 문서에 설명된 대로 Ultralytics에서 실행할 수 있습니다.
아키텍처 혁신#
Ultralytics YOLOv5 설계#
YOLOv5는 수정된 CSPDarknet53 백본과 Path Aggregation Network (PANet) 넥을 사용합니다. 이 설계는 빠른 특징 추출과 메모리 효율성을 위해 최적화되어 있습니다. 구형 아키텍처나 대규모 Transformer 모델과 달리 YOLOv5는 학습 중 CUDA 메모리를 훨씬 적게 사용하므로 일반 소비자용 GPU에서도 더 큰 배치 크기를 사용할 수 있습니다. 또한 Ultralytics 프레임워크는 일반 바운딩 박스 외에도 이미지 분할과 이미지 분류를 비롯한 다양한 작업을 기본적으로 지원합니다.
YOLOv7 설계#
YOLOv7은 여러 구조적 재매개변수화와 E-ELAN 아키텍처를 도입했습니다. 이를 통해 원래의 그래디언트 경로를 훼손하지 않으면서 네트워크가 더욱 다양한 특징을 학습할 수 있습니다. 또한 학습 중 중간 감독을 위한 보조 헤드를 구현합니다. 이러한 발전으로 평균 정밀도 (mAP)가 높아지지만, 복잡한 텐서 구조가 추가되는 경우가 많아 ONNX나 TensorRT와 같은 엣지 형식으로 내보내는 작업이 Ultralytics 모델의 간결한 네이티브 내보내기보다 다소 까다로울 수 있습니다.
성능 분석#
이 모델을 비교할 때 개발자는 mAPval, 추론 속도, 연산 복잡도 (FLOPs)의 균형을 고려해야 합니다. 아래 표는 COCO 데이터셋에서 평가한 두 아키텍처의 성능을 보여줍니다.
| 모델 | 크기 (픽셀) | mAP검증 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 | - | 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 |
핵심 요약#
- 정확도 최고치: YOLOv7x는 53.1 mAPval로 전체 정확도가 가장 높아, 탐지 성능 극대화가 최우선인 시나리오에서 경쟁력이 매우 높습니다.
- 속도와 효율성: Ultralytics YOLOv5n은 효율성이 뛰어나며, 매우 작은 메모리 사용량과 단 1.9M개의 파라미터로 매우 빠른 추론 지연 시간(T4 TensorRT에서 1.12ms)을 제공합니다. 따라서 리소스가 매우 제한적인 엣지 배포에 더없이 적합한 선택입니다.
- 성능 균형: YOLOv5 시리즈는 모델 크기와 성능이 폭넓게 구성되어 있습니다. YOLOv5l은 훌륭한 중간 선택지로, 정확도는 YOLOv7l보다 약간 낮지만 배포 파이프라인의 성숙도가 매우 높습니다.
Ultralytics 생태계의 이점#
모델 아키텍처는 전체 방정식의 절반에 불과하며, 실제 활용 가능성은 모델을 둘러싼 생태계에 따라 결정됩니다. Ultralytics 모델이 진가를 발휘하는 지점이 바로 여기에 있습니다.
사용 편의성: Ultralytics는 통합된 직관적인 Python API를 제공합니다. 방대한 공식 문서를 바탕으로 최소한의 보일러플레이트 코드만으로 모델을 학습하고 검증하며 배포할 수 있습니다. 잘 유지 관리되는 생태계: 활발한 개발을 통해 지속적인 업데이트와 버그 수정이 이루어지며, Weights & Biases와 같은 최신 추적 도구와도 원활하게 통합됩니다. 학습 효율성: 최적화된 데이터 로더와 스마트 캐싱을 활용하여 YOLOv5의 학습 시간을 크게 단축합니다. 또한 바로 사용할 수 있는 사전 학습 가중치로 다양한 도메인의 전이 학습을 가속화합니다.
코드 예제: 간소화된 학습#
Ultralytics 패키지를 사용하면 선택한 아키텍처와 관계없이 거의 동일한 방식으로 학습을 시작할 수 있습니다.
from ultralytics import YOLO
# 사전 학습된 YOLOv5 모델 불러오기
model = YOLO("yolov5su.pt") # YOLOv5u: ultralytics 패키지용 앵커 프리 YOLOv5 가중치
# COCO8 예제 데이터셋으로 모델 학습
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# 배포를 위해 학습된 모델을 ONNX 형식으로 내보내기
success = model.export(format="onnx")적합한 사용 사례#
YOLOv7을 선택할 경우#
- 학술 벤치마킹: 문서화가 잘된 2022년 기준 모델과 새로운 기법을 비교해야 하는 연구자에게 적합합니다.
- 고성능 GPU 클라우드 처리: 강력한 서버 하드웨어에 배포하며 내보내기의 간편함보다 밀집 장면에서 가능한 한 높은 mAP를 달성하는 것이 중요한 경우에 적합합니다.
YOLOv5를 선택할 경우#
- 프로덕션 배포: 높은 안정성, 간편한 모델 배포 옵션, 폭넓은 플랫폼 간 호환성이 필요한 상용 애플리케이션에 적합합니다.
- 엣지 디바이스: 소형 변형 모델(YOLOv5n 및 YOLOv5s)은 휴대전화와 임베디드 시스템에서 매우 우수한 성능을 발휘합니다.
- 멀티태스크 요구 사항: 통합 프레임워크를 사용하여 프로젝트의 범위를 단순 탐지에서 인스턴스 분할 또는 분류로 확장해야 하는 경우에 적합합니다.
더 최신 버전을 찾고 계신가요? 앵커 프리 탐지와 멀티태스크 학습 기능이 한층 발전한 Ultralytics YOLOv8 또는 Ultralytics YOLO11을 살펴보세요.
차세대 모델: Ultralytics YOLO26#
YOLOv5와 YOLOv7은 컴퓨터 비전 AI 역사에서 중요한 위치를 차지하지만, 이 분야는 끊임없이 발전하고 있습니다. 2026년 1월에 출시된 Ultralytics YOLO26은 객체 탐지 기술의 최첨단을 대표하며 모든 지표에서 이전 세대를 능가합니다.
YOLO26은 여러 패러다임 전환 기능을 도입합니다.
- 엔드투엔드 NMS 프리 설계: 이전 버전에서 처음 선보인 개념을 발전시킨 YOLO26은 네이티브 엔드투엔드 헤드 (
nms=False)를 제공하여 비최대 억제 (NMS) 후처리를 제거하고 지연 시간 병목을 줄이며 배포 로직을 크게 단순화합니다. - MuSGD 옵티마이저: Moonshot AI의 Kimi K2에서 영감을 받은 이 혁신적인 옵티마이저는 표준 SGD의 안정성과 Muon의 가속화된 모멘텀을 결합하여 고급 LLM 학습 혁신을 컴퓨터 비전에 직접 적용합니다.
- 향상된 CPU 속도: Distribution Focal Loss (DFL)를 전략적으로 제거한 YOLO26은 CPU 추론 속도를 최대 43% 향상하여 엣지 및 저전력 IoT 디바이스 배포에 최적의 선택이 되었습니다.
- ProgLoss + STAL: 이러한 고급 손실 함수는 작은 객체 인식 성능을 크게 향상하며, 이는 항공 이미지와 정밀 로보틱스에서 매우 중요합니다.
- 작업별 개선: 마스크 생성을 위한 Semantic 분할 손실, 포즈 추정을 위한 Residual Log-Likelihood Estimation (RLE), 까다로운 Oriented Bounding Box (OBB) 경계 문제를 해결하는 특수 각도 손실을 적용합니다.
결론#
YOLOv5와 YOLOv7은 모두 실시간 객체 탐지를 위한 강력한 솔루션을 제공합니다. YOLOv7은 연산 성능이 높은 하드웨어에서 원시 정확도가 중요한 경우 여전히 강력한 선택이며, YOLOv5는 속도, 효율성, 세계적 수준의 생태계를 탁월하게 균형 잡아 개발자 친화적인 최고의 도구로 돋보입니다.
그러나 파이프라인의 미래 경쟁력을 확보하고 속도, 단순성, 최첨단 정확도를 모두 달성하려는 개발자에게는 Ultralytics YOLO26으로의 마이그레이션을 적극 권장합니다. Ultralytics 플랫폼의 탁월한 사용 편의성을 유지하면서 획기적인 아키텍처 혁신을 제공합니다.