YOLOv8 YOLOv7: 종합적인 기술 비교
물체 감지 모델의 진화는 빠르게 진행되어 왔으며, 실시간 성능을 선도하는 YOLO (You Only Look Once) 제품군이 그 선두에 서 있습니다. 다음 중 선택 YOLOv8 과 YOLOv7 을 선택하려면 원시 지표뿐만 아니라 이를 둘러싼 아키텍처 철학, 개발자 경험, 에코시스템 지원도 이해해야 합니다. YOLOv7 출시와 동시에 인상적인 벤치마크를 설정했다면, Ultralytics YOLOv8 사용성과 다목적성에서 패러다임의 전환을 가져왔습니다.
이 가이드는 개발자와 연구자가 컴퓨터 비전 프로젝트에 적합한 도구를 선택하는 데 도움이 되는 상세한 기술 분석을 제공합니다.
성능 분석
성능을 비교할 때는 추론 속도와 탐지 정확도 간의 절충점을 살펴보는 것이 중요합니다(mAP). YOLOv8 일반적으로 균형이 뛰어나며, 최신 하드웨어에서 유사한 모델 크기에 대해 더 높은 정확도와 더 빠른 추론 속도를 제공합니다.
다음 표는 COCO 데이터 세트의 성능 차이를 강조합니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| YOLOv8n | 640 | 37.3 | 80.4 | 1.47 | 3.2 | 8.7 |
| YOLOv8s | 640 | 44.9 | 128.4 | 2.66 | 11.2 | 28.6 |
| YOLOv8m | 640 | 50.2 | 234.7 | 5.86 | 25.9 | 78.9 |
| YOLOv8l | 640 | 52.9 | 375.2 | 9.06 | 43.7 | 165.2 |
| YOLOv8x | 640 | 53.9 | 479.1 | 14.37 | 68.2 | 257.8 |
| YOLOv7l | 640 | 51.4 | - | 6.84 | 36.9 | 104.7 |
| YOLOv7x | 640 | 53.1 | - | 11.57 | 71.3 | 189.9 |
주요 내용
- 효율성: 효율성 YOLOv8n (나노) 모델은 놀라운 속도( GPU 1.47ms)를 달성하여 지연 시간이 중요한 엣지 AI 애플리케이션에 이상적입니다.
- 정확성:YOLOv8x 는 경쟁력 있는 매개변수 수를 유지하면서 정확도(53.9% 대 53.1% mAP)에서 YOLOv7x를 능가합니다.
- 최적화: YOLOv8 모델은 더 나은 매개변수 효율을 보여주며, FLOP당 더 높은 성능을 제공하여 추론 중 에너지 소비를 낮춥니다.
Ultralytics YOLOv8: 최신 표준
2023년 초 Ultralytics 출시, YOLOv8 은 성능뿐 아니라 유연성과 사용 편의성 면에서 최첨단(SOTA)으로 설계되었습니다. 여러 컴퓨터 비전 작업을 하나의 간소화된 프레임워크로 통합합니다.
- 작성자: Glenn Jocher, Ayush Chaurasia, Jing Qiu
- 조직:Ultralytics
- 날짜: 2023-01-10
- GitHub:ultralyticsultralytics
- Docs:YOLOv8 문서
아키텍처 및 혁신
YOLOv8 수동 앵커 박스 계산이 필요 없는 앵커 프리 감지 메커니즘을 도입해 훈련 과정을 간소화합니다. 따라서 박스 예측 횟수가 줄어들고 비최대 억제(NMS) 속도가 빨라집니다.
이 아키텍처는 이전 반복보다 높은 수준의 기능과 컨텍스트 정보를 더 효과적으로 결합하는 C2f 모듈 (두 개의 컨볼루션이 있는 교차 단계 부분 병목 현상)을 특징으로 합니다. 이를 통해 더욱 풍부한 그라데이션 흐름과 향상된 학습 수렴이 가능합니다. 또한 YOLOv8 디커플링 헤드를 사용하여 객체성, 분류, 회귀 작업을 독립적으로 처리하여 정확도를 높입니다.
강점
- 에코시스템 통합: Ultralytics 에코시스템과 완벽하게 통합되어 간단한 Python API 또는 CLI 통해 원활한 모델 학습, 검증 및 배포가 가능합니다.
- 다목적성: 객체 감지, 인스턴스 세분화, 포즈 추정, 이미지 분류, 오리엔티드 바운딩 박스(OBB)를 기본적으로 지원합니다.
- 개발자 경험: 설치는 다음과 같이 간단합니다.
pip install ultralytics에 대한 광범위한 문서와 활발한 커뮤니티 지원을 제공합니다. GitHub 및 Discord.
YOLOv7: 효율성의 벤치마크
YOLOv7 출시와 동시에 추론 비용을 늘리지 않고 정확도를 높이는 '공짜 가방'에 초점을 맞춘 아키텍처 최적화를 도입하여 큰 반향을 일으켰습니다.
- 저자: Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao
- 조직:정보 과학 연구소, 아카데미아 시니카
- 날짜: 2022-07-06
- Arxiv:YOLOv7: 훈련 가능한 공짜 가방으로 새로운 최첨단 기술을 선보입니다.
- GitHub:WongKinYiu/yolov7
아키텍처 및 접근 방식
YOLOv7 네트워크가 더 많은 특징을 효율적으로 학습할 수 있도록 최단 및 최장 경사 경로를 제어하는 확장된 효율적인 레이어 집계 네트워크(E-ELAN)를 활용합니다. 모델 스케일링 (깊이와 폭을 동시에 변경)을 강조하고 추론 중에 레이어를 병합하는 재파라미터화 기술을 도입하여 학습 정확도를 잃지 않고 모델 속도를 높입니다.
장점과 한계
YOLOv7 특히 GPU 장치에서 뛰어난 속도 대 정확도 비율을 제공하는 강력한 모델입니다. '공짜 백' 접근 방식 덕분에 배포 시에도 가벼운 무게를 유지할 수 있습니다. 하지만 YOLOv8 비해 기본적으로 통합된 멀티태스크 지원이 부족하고 저장소를 복제하고 종속성을 수동으로 관리하는 등 더 복잡한 설정 절차가 필요합니다. 주로 객체 탐지 전문이며, 다른 작업은 별도의 브랜치 또는 구현이 필요한 경우가 많습니다.
심층적인 기술 비교
사용성 및 에코시스템
가장 뚜렷한 차이점 중 하나는 사용 편의성에 있습니다. Ultralytics YOLOv8 표준 Python 라이브러리로 패키징되어 있습니다. 즉, 개발자는 최소한의 코드만으로 기존 파이프라인에 통합할 수 있습니다. 반면, YOLOv7 일반적으로 복제 및 수정해야 하는 독립형 코드베이스로 작동합니다.
개발자 경험
YOLOv8 사용하면 단 세 줄의 Python 코드로 모델을 학습시킬 수 있습니다. 이렇게 간소화된 사용자 경험은 AI 솔루션의 시장 출시 기간을 크게 단축합니다.
from ultralytics import YOLO
# Load a model
model = YOLO("yolov8n.pt") # load a pretrained model
# Train the model
results = model.train(data="coco8.yaml", epochs=100)
작업의 다양성
최신 컴퓨터 비전 프로젝트에는 종종 단순한 바운딩 박스 이상의 것이 필요합니다.
- YOLOv8: 진정한 멀티태스크 모델. 감지 기능에서 다음과 같이 전환할 수 있습니다. 분할 또는 포즈 추정 모델 웨이트 파일을 변경하기만 하면 됩니다(예
yolov8n-seg.pt)입니다. - YOLOv7: 주로 탐지에 중점을 둡니다. 확장 기능이 존재하지만, 단일 통합 프레임워크 내에서 긴밀하게 통합되거나 유지 관리되지는 않습니다.
교육 효율성 및 메모리
YOLOv8 훈련 중 메모리 요구 사항을 최적화합니다. 훈련이 끝날 때 종료되는 스마트 데이터 증강 전략을 구현하여 정밀도를 개선합니다. 또한 Ultralytics 프레임워크는 다양한 데이터 세트 형식을 지원하고 표준 데이터 세트의 자동 다운로드를 처리하여 훈련 효율을 크게 높입니다.
트랜스포머 기반 모델은 종종 방대한 양의 CUDA 메모리가 필요하고 훈련 속도가 느립니다. 이에 비해 YOLOv7 YOLOv8 모두 CNN 기반이며 효율적이지만, YOLOv8 최신 아키텍처 선택(예: C2f 블록)으로 인해 소비자급 하드웨어에서 더 빠른 컨버전스와 메모리 효율성이 향상되는 경우가 많습니다.
실제 사용 사례
소매 및 재고 관리
리테일 분석에서는 속도가 가장 중요합니다. YOLOv8n 은 카메라나 NVIDIA 젯슨 모듈과 같은 엣지 디바이스에서 실행하여 실시간으로 재고를 track 수 있습니다. 빠른 추론 속도를 통해 움직이는 제품을 지연 없이 정확하게 계산할 수 있습니다.
자율 시스템 및 로보틱스
로봇 공학은 정확한 공간 이해가 필요합니다. YOLOv8 분할 기능을 사용하면 로봇이 단순한 경계 상자가 아닌 장애물의 정확한 모양을 구분할 수 있습니다. 이러한 다재다능함은 내비게이션 안전성을 향상시킵니다. YOLOv7 가능하지만 세분화를 구현하려면 더 많은 노력과 서로 다른 코드베이스가 필요합니다.
농업
정밀 농업에서 모델은 작물의 질병을 detect 성장을 모니터링합니다. 잘 관리된 Ultralytics 에코시스템은 연구자들이 이러한 틈새 데이터 집합을 위해 특별히 사전 학습된 가중치와 커뮤니티 튜토리얼에 액세스할 수 있어 진입 장벽이 낮다는 것을 의미합니다.
결론
YOLOv7 컴퓨터 비전 역사에서 존경할 만한 강력한 아키텍처로 남아 있지만, 최신 개발을 위한 탁월한 선택은 바로Ultralytics YOLOv8 . 최첨단 성능, 탁월한 다용도성, 개발자 우선 에코시스템이 결합된 이 솔루션은 학술 연구와 엔터프라이즈 배포 모두에 적합한 솔루션입니다.
효율성과 아키텍처 개선에 있어 최고의 최신 기술을 원하는 분들을 위해, Ultralytics 또한 YOLO11을 출시하여 한계를 더욱 확장했습니다. 그러나 v7 세대와 직접 비교한다면 강력하고 안정적이며 사용하기 쉬운 YOLOv8 승자로 돋보입니다.
추가 자료
다른 모델 비교를 통해 YOLO 환경에 대한 이해를 넓힐 수 있습니다:
- YOLO11 YOLOv8 - 최신 반복을 비교합니다.
- YOLOv5 YOLOv8 - v5에서 아키텍처가 어떻게 발전했는지 알아보세요.
- YOLOv10 YOLOv8 - 다양한 아키텍처 접근 방식을 분석합니다.
- Ultralytics 용어집 - mAP 및 IoU 같은 주요 용어를 이해합니다.