YOLOv5 YOLOv7: 에코시스템과 아키텍처의 균형 맞추기
올바른 객체 감지 모델을 선택하는 것은 개발자와 연구자 모두에게 중요한 결정입니다. YOLO (You Only Look Once) 제품군의 진화에서, YOLOv5 와 YOLOv7 은 컴퓨터 비전의 지형을 형성한 중추적인 아키텍처로 두드러집니다. YOLOv7 정확성을 위한 중요한 아키텍처 혁신을 도입한 반면, Ultralytics YOLOv5 사용성, 배포 및 강력한 에코시스템에 중점을 두고 개발자 경험을 혁신했습니다.
이 가이드에서는 두 모델을 심층적으로 기술적으로 비교하여 아키텍처, COCO 데이터 세트의 성능 지표, 실제 애플리케이션에 대한 적합성을 분석합니다.
Ultralytics YOLOv5: 엔지니어링 표준
2020년에 출시된 YOLOv5 오픈 소스 객체 감지 소프트웨어에 대한 기대치를 재정의했습니다. 주로 연구용 코드로 존재했던 이전 버전과 달리 YOLOv5 제품화할 수 있는 프레임워크로 설계되었습니다. 사용 편의성, 내보내기 가능성, 속도에 우선순위를 두어 실시간 추론 애플리케이션을 구축하는 기업이 가장 먼저 선택하는 프레임워크가 되었습니다.
저자 작성자: Glenn Jocher
조직:Ultralytics
날짜: 2020-06-26
깃허브yolov5
문서yolov5
YOLOv5 주요 이점
- 사용자 중심 설계: YOLOv5 사용자 지정 객체 감지 모델 학습의 진입 장벽을 낮추는 간소화된 API와 원활한 학습 워크플로우를 도입했습니다.
- 배포 유연성: 내보내기 모드에 대한 기본 지원으로 YOLOv5 모델을 다음과 같은 형식으로 쉽게 변환할 수 있습니다. ONNX, CoreML, TFLite 및 TensorRT 와 같은 형식으로 쉽게 변환하여 다양한 하드웨어에 배포할 수 있습니다.
- 효율적인 리소스 사용: 이 아키텍처는 낮은 메모리 소비에 최적화되어 있어 NVIDIA Jetson 또는 Raspberry Pi와 같은 엣지 AI 디바이스에 이상적입니다.
에코시스템 지원
YOLOv5 포괄적인 Ultralytics 에코시스템의 지원을 받습니다. 여기에는 다음과 같은 실험 추적 도구와의 원활한 통합이 포함됩니다. Comet 및 MLflow와 같은 실험 추적 도구 및 데이터 세트 관리 플랫폼과의 원활한 통합이 포함됩니다.
YOLOv7: "공짜 가방" 접근 방식
2022년에 출시된 YOLOv7 아키텍처 최적화를 통해 정확도의 한계를 뛰어넘는 데 중점을 두었습니다. 저자들은 추론 비용을 늘리지 않고 기능 학습을 개선하기 위한 몇 가지 새로운 개념을 도입했는데, 이를 "훈련 가능한 공짜 가방"이라고 불렀습니다.
저자 왕치엔야오, 알렉세이 보흐코브스키, 홍위안 마크 리아오
조직: 대만 학술원 정보과학연구소
날짜: 2022-07-06
아카이브:https://arxiv.org/abs/2207.02696
깃허브:https://github.com/WongKinYiu/yolov7
문서ultralytics
아키텍처 혁신
YOLOv7 네트워크의 학습 능력을 향상시키기 위해 확장된 효율적인 계층 집계 네트워크(E-ELAN)를 통합합니다. 또한 아키텍처의 깊이와 폭을 동시에 수정하는 모델 스케일링 기술을 활용합니다. mAP 점수를 높이는 데는 효과적이지만, 이러한 복잡한 아키텍처 변경으로 인해 YOLOv5 볼 수 있는 보다 간단한 CSP-Darknet 백본에 비해 모델을 수정하거나 배포하기가 더 어려워질 수 있습니다.
기술 성능 비교
두 모델을 비교할 때, 일반적으로 원시 정확도와 실제 배포 속도 사이의 절충점이 존재합니다. YOLOv7 모델(특히 더 큰 변종)은 일반적으로 COCO val2017 데이터 세트에서 더 높은 mAP 달성합니다. 그러나 Ultralytics YOLOv5 추론 속도와 파라미터 효율성에서 우위를 유지하며, 특히 모바일 배포에 중요한 더 작은 변형(Nano 및 Small)에서 우위를 점하고 있습니다.
아래 표는 성능 메트릭을 강조한 것입니다. 리소스가 극도로 제한된 환경에서 가장 빠른 옵션 중 하나인 YOLOv5n의 탁월한 속도에 주목하세요.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
메트릭 분석
- 속도와 정확도 비교: YOLOv7x는 53.1%의 높은 mAP 달성하여 모든 픽셀이 중요한 고급 보안 또는 의료 분석에 적합합니다. 그러나 비디오 분석이나 자율 주행과 같은 애플리케이션의 경우, TensorRT 1.12ms 추론 시간은 더 무거운 모델이 따라올 수 없는 프레임 속도 기능을 제공합니다.
- 훈련 효율성: Ultralytics YOLOv5 '자동 앵커' 전략과 고급 하이퍼파라미터 진화를 활용하므로 YOLOv7 필요한 복잡한 재파라미터화 방식에 비해 훈련 중에 더 빠르게 수렴하는 경우가 많습니다.
- 메모리 풋프린트: 트랜스포머나 YOLOv7 같은 복잡한 아키텍처를 훈련하려면 하이엔드 GPU(예: A100)가 필요한 경우가 많습니다. 반면, YOLOv5 효율적인 설계를 통해 일반 소비자용 하드웨어에서도 학습이 가능하기 때문에 AI 개발에 대한 접근이 대중화되었습니다.
코드 구현
Ultralytics YOLOv5 대한 가장 강력한 주장 중 하나는 Python API의 단순성입니다. 사전 학습된 모델을 로드하고 추론을 실행하는 데 몇 줄의 코드만 필요하며, 이는 프레임워크의 성숙도를 입증하는 증거입니다.
import torch
# Load the YOLOv5s model from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s", pretrained=True)
# Define an image (url, local path, or numpy array)
img = "https://ultralytics.com/images/zidane.jpg"
# Run inference
results = model(img)
# Print results and show the image with bounding boxes
results.print()
results.show()
이러한 수준의 추상화를 통해 개발자는 모델 아키텍처를 디버깅하는 대신 비즈니스 솔루션을 구축하는 데 집중할 수 있습니다.
이상적인 사용 사례
YOLOv7 선택해야 하는 경우
YOLOv7 학술 연구 및 하드웨어 제약이 원시 탐지 성능에 부차적인 영향을 미치는 시나리오에 탁월한 선택입니다.
- 학술 연구: 최첨단 탐지 기술을 벤치마킹하기 위한 목적.
- 고정밀 검사: 미세한 결함을 감지하는 것이 중요하고 지연 시간이 문제가 되지 않는 제조 품질 관리와 같은 분야.
Ultralytics YOLOv5 선택해야 하는 경우
YOLOv5 신속한 개발 및 프로덕션 배포를 위한 업계 표준으로 남아 있습니다.
- 엣지 배포: TFLite 또는 CoreML 내보내기를 통해 iOS 및 Android 기기에서 실행하는 데 적합합니다.
- 로봇 공학: 짧은 지연 시간은 자율 로봇 공학에 필요한 피드백 루프에 매우 중요합니다.
- 다목적성: YOLOv5 저장소는 감지 외에도 인스턴스 분할 및 이미지 분류를 지원하여 여러 비전 작업을 위한 통합 코드베이스를 제공합니다.
결론 결론: 현대의 나아갈 길
YOLOv7 아키텍처 튜닝의 힘을 보여주었습니다, Ultralytics YOLOv5 는 안정적이고 잘 문서화되어 있으며 배포하기 쉬운 솔루션이 필요한 개발자에게 여전히 탁월한 선택입니다. 속도, 정확성, 에코시스템 지원이 균형을 이루고 있어 전 세계 프로덕션 환경에서도 여전히 적합성을 유지할 수 있습니다.
하지만 컴퓨터 비전 분야는 빠르게 변화하고 있습니다. 최고의 성능을 추구하는 사람들을 위해, YOLO11 은 Ultralytics 최신 진화 버전입니다. YOLO11 YOLOv5 유용성을 기반으로 하지만 최첨단 트랜스포머 기반 모듈과 앵커가 없는 설계를 통합하여 정확도와 효율성 면에서 YOLOv5 YOLOv7 모두 뛰어넘습니다.
객체 감지, 포즈 추정 및 OBB(Oriented Bounding Box)를 지원하는 미래형 솔루션의 경우, Ultralytics YOLO11 프레임워크로 마이그레이션하는 것을 적극 권장합니다.
더 많은 비교 알아보기
다른 모델과 Ultralytics YOLO 제품군의 비교를 살펴보세요: