YOLOv8 YOLOv10: 종합적인 기술 비교
올바른 객체 감지 모델을 선택하는 것은 모든 컴퓨터 비전 프로젝트의 성공에 있어 매우 중요합니다. 이 가이드에서는 다음과 같은 기술 비교를 자세히 설명합니다. Ultralytics YOLOv8 과 YOLOv10의 아키텍처 혁신, 성능 메트릭 및 이상적인 사용 사례를 분석합니다. YOLOv10 새로운 효율성 최적화 기능을 도입했지만, 강력한 에코시스템, 탁월한 다용도성, 다양한 배포 시나리오에서 입증된 안정성으로 인해 Ultralytics YOLOv8 여전히 지배적인 위치를 차지하고 있습니다.
Ultralytics YOLOv8: 다용도 표준
2023년 1월 출시, Ultralytics YOLOv8 은 단순한 모델이 아닌 비전 AI를 위한 포괄적인 프레임워크로 설계된 YOLO 시리즈의 중요한 도약을 의미합니다. 이 제품은 사용성과 유연성을 우선시하여 애호가부터 엔터프라이즈 엔지니어까지 다양한 개발자가 선택할 수 있는 제품입니다.
- 작성자: Glenn Jocher, Ayush Chaurasia, Jing Qiu
- 조직:Ultralytics
- 날짜: 2023-01-10
- GitHub:ultralyticsultralytics
- Docs:YOLOv8 문서
아키텍처 및 기능
YOLOv8 앵커가 필요 없는 감지 메커니즘을 채택하여 수동으로 앵커 박스를 지정할 필요가 없어 훈련 과정을 간소화합니다. 이 접근 방식은 다양한 물체 형태에 대한 일반화를 향상시킵니다. 이 아키텍처는 계산 비용과 높은 정확도의 균형을 맞추는 디커플링 헤드와 최첨단 백본이 특징입니다.
YOLOv8 가장 큰 특징은 기본 멀티태스킹 지원입니다. 많은 특수 모델과 달리 YOLOv8 다음과 같은 기능을 기본으로 제공합니다:
주요 이점
YOLOv8 둘러싼 잘 관리된 에코시스템은 큰 장점입니다. 모델 훈련 및 관리를 위해 Ultralytics HUB와 원활하게 통합되며, ONNX, TensorRT, CoreML 같은 형식으로의 광범위한 내보내기 옵션을 제공합니다. 또한, 훈련 및 추론 시 메모리 요구량이 트랜스포머 기반 아키텍처보다 훨씬 낮기 때문에 표준 하드웨어에서 효율적으로 실행할 수 있습니다.
YOLOv10: 효율성의 한계를 뛰어넘다
YOLOv10은 칭화대학교 연구진이 개발한 것으로, 후처리와 관련된 병목 현상을 제거하여 추론 파이프라인을 최적화하는 데 중점을 두고 있습니다.
- 저자: Ao Wang, Hui Chen, Lihao Liu 외
- 조직:조직: 칭화 대학교
- 날짜: 2024-05-23
- Arxiv:arXiv:2405.14458
- GitHub:THU-MIG/yolov10
- Docs:YOLOv10 문서
아키텍처 혁신
YOLOv10 가장 두드러진 특징은 NMS 훈련 전략입니다. 기존의 객체 감지기는 추론 중에 겹치는 바운딩 박스를 필터링하기 위해 비최대 억제(NMS) 에 의존하기 때문에 지연 시간이 발생할 수 있습니다. YOLOv10 훈련 중에 일관된 이중 할당을 활용하여 풍부한 감독 신호를 위한 일대다 감독과 효율적인 추론을 위한 일대일 매칭을 결합합니다. 이를 통해 모델은 NMS 없이도 정확한 바운딩 박스를 예측할 수 있으므로 엔드투엔드 지연 시간을 줄일 수 있습니다.
이 아키텍처에는 경량 분류 헤드와 공간 채널 분리형 다운샘플링을 통해 계산 중복성(FLOP)과 파라미터 수를 줄이는 등 전체적인 효율성-정확성 설계도 포함되어 있습니다.
성능 지표 및 분석
이 두 모델을 비교할 때는 단순한 정확도 수치를 넘어서는 것이 중요합니다. YOLOv10 매개변수 측면에서 인상적인 효율성을 보여줍니다, YOLOv8 은 더 다양한 하드웨어와 작업에서 강력한 성능을 유지합니다.
비교 표
아래 표는 COCO 데이터 세트에서의 성능을 강조하고 있습니다. YOLOv10 경우에 따라 더 적은 수의 매개 변수로 더 높은 mAP 달성하지만, 특히 표준 CPU 및 GPU 벤치마크에서 추론 속도에서 YOLOv8 여전히 높은 경쟁력을 유지합니다.
| 모델 | 크기 (픽셀) | 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 |
| YOLOv10n | 640 | 39.5 | - | 1.56 | 2.3 | 6.7 |
| YOLOv10s | 640 | 46.7 | - | 2.66 | 7.2 | 21.6 |
| YOLOv10m | 640 | 51.3 | - | 5.48 | 15.4 | 59.1 |
| YOLOv10b | 640 | 52.7 | - | 6.54 | 24.4 | 92.0 |
| YOLOv10l | 640 | 53.3 | - | 8.33 | 29.5 | 120.3 |
| YOLOv10x | 640 | 54.4 | - | 12.2 | 56.9 | 160.4 |
중요 분석
- 성능 균형: YOLOv8 속도와 정확성 사이의 훌륭한 균형을 제공합니다. CPU ( ONNX 통한)의 속도는 잘 문서화되고 최적화되어 있어 특수 GPU 하드웨어가 없는 배포에 안정적인 선택이 될 수 있습니다.
- 교육 효율성: Ultralytics 모델은 효율적인 훈련 프로세스로 잘 알려져 있습니다. 사용자는 YOLOv8 최적화된 하이퍼파라미터와 즉시 사용 가능한 사전 학습된 가중치를 통해 더 빠르게 컨버전스를 달성할 수 있습니다.
- 에코시스템 성숙도: YOLOv10 이론적인 효율성 향상을 제공하지만, YOLOv8 수년간에 걸친 Ultralytics 에코시스템의 개선으로 인한 이점을 누릴 수 있습니다. 여기에는 데이터 보강, 활발한 커뮤니티 디버깅, 다음과 같은 도구와의 통합에 대한 광범위한 지원이 포함됩니다. Weights & Biases 및 Comet.
다재다능함의 중요성
포즈 추정을 통한 신체 언어 이해나 세분화를통한 정확한 경계 묘사 등 프로젝트에 단순한 경계 상자 이상의 기능이 필요한 경우, 현재 물체 인식에 특화된 YOLOv10 확실한 승자가 될 것입니다.
이상적인 사용 사례
Ultralytics YOLOv8 선택해야 하는 경우
YOLOv8 다목적성과 사용 편의성으로 인해 대부분의 실제 애플리케이션에 권장되는 선택입니다.
- 다각적인 AI 솔루션: 탐지와 함께 인스턴스 세분화 또는 분류가 필요한 프로젝트에 적합합니다.
- 엔터프라이즈 배포: 명확한 라이선스 옵션과 기존 MLOps 파이프라인과의 통합을 통해 안정적이고 지원되는 프레임워크가 필요한 비즈니스에 이상적입니다.
- 스마트 리테일: 여러 작업을 처리할 수 있어 진열대 모니터링 및 고객 행동 분석과 같은 복잡한 소매업 분석에 적합합니다.
- 신속한 프로토타이핑: 개발자는 간단한 Python API를 사용하여 몇 분 만에 개념에서 학습된 모델로 전환할 수 있습니다.
YOLOv10 선택해야 하는 경우
YOLOv10 하드웨어 제약이 극심한 특정 틈새 시장에 가장 적합합니다.
- 지연 시간이 중요한 엣지 AI: 밀리초 단위의 추론 지연 시간이 중요한 마이크로 컨트롤러 또는 레거시 임베디드 시스템의 애플리케이션입니다.
- 고처리량 비디오 처리: 트래픽 관리와 같이 프레임당 후처리 시간을 줄이면 누적적으로 상당한 컴퓨팅 리소스를 절약할 수 있는 시나리오입니다.
코드 구현
Ultralytics 에코시스템의 특징 중 하나는 바로 사용 편의성. 두 모델 모두 통합된 ultralytics Python 패키지로 일관된 개발자 환경을 보장합니다.
다음은 추론을 실행하는 방법의 예입니다. YOLOv8을 사용하여 추론을 실행하는 예제입니다.
from ultralytics import YOLO
# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")
# Perform object detection on a local image
results = model("path/to/image.jpg")
# Display the results
results[0].show()
마찬가지로, Ultralytics 더 광범위한 에코시스템을 지원하기 때문에 라이브러리 내에서 지원되는 경우 다른 아키텍처를 실험하기 위해 가중치를 쉽게 교체할 수 있습니다.
원활한 내보내기
Ultralytics 학습된 모델을 배포하기 쉬운 형식으로 내보낼 수 있는 한 줄 명령을 제공합니다. 이 명령은 YOLOv8 완벽하게 작동하여 프로덕션에 최적화된 모델을 생성합니다:
# Export YOLOv8 model to ONNX format
model.export(format="onnx")
결론
YOLOv8 YOLOv10 모두 컴퓨터 비전 엔지니어링의 인상적인 업적입니다. YOLOv10 NMS 설계로 아키텍처 효율성의 한계를 뛰어넘어 지연 시간에 민감한 고도로 전문화된 탐지 작업에 강력한 경쟁자가 될 것입니다.
그러나 강력하고 다재다능하며 미래 지향적인 개발을 위해, Ultralytics YOLOv8 이 여전히 최고의 선택입니다. 단일 프레임워크 내에서 분류, 세분화 및 포즈 추정을 처리할 수 있는 이 솔루션은 탁월한 가치를 제공합니다. 광범위한 문서, 활발한 커뮤니티 지원, Ultralytics HUB와의 원활한 통합과 함께 YOLOv8 개발자가 포괄적인 AI 솔루션을 보다 빠르고 안정적으로 구축할 수 있도록 지원합니다.
최신 성능을 원하는 분들을 위해 다음과 같은 제품도 추천합니다. YOLO11의 강점을 기반으로 더욱 뛰어난 정확도와 속도를 제공하는 YOLOv8 사용해 보세요.