YOLOv10 YOLOv8: 실시간 객체 감지를 위한 기술 비교
YOLO (You Only Look Once) 제품군의 진화는 컴퓨터 비전의 경계를 지속적으로 확장하여 개발자에게 더 빠르고 정확한 물체 감지 도구를 제공합니다. 다음 중에서 선택할 때 YOLOv10 과 YOLOv8을 선택할 때는 아키텍처, 효율성 및 에코시스템 지원의 미묘한 차이를 이해하는 것이 중요합니다. YOLOv10 효율성을 위한 새로운 아키텍처 변경 사항을 도입했지만, YOLOv8 사용 편의성과 포괄적인 기능 세트로 잘 알려진 강력하고 다재다능한 표준으로 남아 있습니다.
이 가이드는 머신 러닝 프로젝트에 적합한 모델을 선택하는 데 도움이 되는 상세한 기술 비교를 제공합니다.
성능 분석
COCO 데이터 세트의 성능 메트릭은 이러한 모델의 뚜렷한 설계 철학을 보여줍니다. YOLOv10 매개변수 수와 부동 소수점 연산(FLOP)을 줄이는 데 중점을 두며, 주어진 모델 크기에 대해 더 높은 평균 정밀도( mAP )를 달성하는 경우가 많습니다. 하지만 YOLOv8 은 특히 CPU에서 그리고 다음과 같은 최적화된 형식으로 내보낼 때 매우 경쟁력 있는 추론 속도를 유지합니다. TensorRT와 같은 최적화된 형식으로 내보낼 때 원시 속도와 실제 배포 기능의 균형을 유지합니다.
| 모델 | 크기 (픽셀) | mAPval 50-95 | 속도 CPU ONNX (ms) | 속도 T4 TensorRT10 (ms) | 파라미터 (M) | FLOPs (B) |
|---|---|---|---|---|---|---|
| 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 |
| 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 |
YOLOv10: 아키텍처 혁신을 통한 효율성 향상
저자들: 저자: Ao Wang, Hui Chen, Lihao Liu 등
조직:칭화대학교
날짜: 2024-05-23
Arxiv:YOLOv10: 실시간 엔드투엔드 객체 탐지
GitHub:THU-MIG/yolov10
YOLOv10 칭화대학교의 연구원들이 포스트 프로세싱 중 비최대 억제NMS에 대한 의존도를 없애는 것을 주요 목표로 개발했습니다. NMS 지연 시간이 중요한 애플리케이션에서 병목 현상을 일으킬 수 있습니다. YOLOv10 훈련 중에 일관된 이중 할당 전략을 도입하여 모델이 각 객체에 대해 하나의 최적 박스를 예측할 수 있도록 함으로써 엔드투엔드 감지기로서 효과적으로 작동합니다.
YOLOv10 주요 강점
- NMS 추론: YOLOv10 NMS 단계를 제거함으로써 후처리 단계에서 계산 오버헤드를 줄여 특정 엣지 시나리오에서 지연 시간을 줄일 수 있습니다.
- 파라미터 효율성: 전체론적 모델 설계로 이전 세대에 비해 파라미터 수와 FLOP을 크게 줄여 저장 공간이 극히 제한된 디바이스에 적합합니다.
- 높은 정확도: 크기에 비해 최첨단 mAP 점수를 달성하여 아키텍처 최적화의 효과를 입증합니다.
약점
- 작업 전문화: YOLOv10 주로 물체 감지를 위해 설계되었습니다. 인스턴스 분할이나 포즈 추정과 같은 다른 컴퓨터 비전 작업에 대한 기본 지원은 기본적으로 제공되지 않습니다.
- 에코시스템 성숙도: 새로운 학술용 릴리스로서, 기존 Ultralytics 에코시스템에 비해 타사 통합 및 커뮤니티 리소스가 적습니다.
Ultralytics YOLOv8: 다목적 산업 표준
저자 저자: 글렌 조처, 아유시 차우라시아, 징 치우
조직:Ultralytics
날짜: 2023-01-10
문서:Ultralytics YOLOv8 문서
깃허브:ultralytics
Ultralytics 출시한 YOLOv8 실용적이고 사용자 친화적인 AI에 대한 수년간의 연구의 결정체입니다. 고성능뿐만 아니라 뛰어난 개발자 경험을 위해 설계되었습니다. YOLOv8 앵커 없는 감지 메커니즘과 풍부한 그라데이션 흐름을 활용하여 강력한 학습을 보장합니다. 단일 통합 프레임워크 내에서 감지, 세분화, 분류, 포즈 추정, OBB 등 다양한 작업을 기본적으로 지원한다는 점이 가장 큰 특징입니다.
YOLOv8 추천하는 이유
- 사용 편의성: Ultralytics YOLOv8 간단하기로 유명합니다. Python 및 CLI 인터페이스로 유명합니다. 개발자는 단 몇 줄의 코드만으로 모델을 학습, 검증 및 배포할 수 있습니다.
- 잘 관리된 에코시스템: Ultralytics 에코시스템의 일원이 되면 빈번한 업데이트, 대규모 커뮤니티에 액세스할 수 있으며, 손쉬운 모델 관리를 위해 Ultralytics HUB와 같은 도구와 원활하게 통합할 수 있습니다.
- 성능 균형: 속도와 정확성 사이에서 이상적인 균형을 이룹니다. 이 모델은 CPU, GPU, 엣지 TPU 등 다양한 하드웨어 백엔드에 고도로 최적화되어 있습니다.
- 트레이닝 효율성: YOLOv8 많은 트랜스포머 기반 대안보다 낮은 메모리 요구 사항으로 효율적인 트레이닝 프로세스를 제공하여 컴퓨팅 비용을 절감합니다.
- 다용도성: 바운딩 박스로 제한된 모델과 달리 YOLOv8 프레임워크 전환 없이 세분화 마스크나 키포인트가 필요한 복잡한 프로젝트를 처리할 수 있습니다.
메모리 효율성
YOLOv8 같은 Ultralytics 모델은 메모리 효율을 높이도록 설계되었습니다. 따라서 다음과 같은 대용량 트랜스포머 모델에 비해 CUDA 메모리를 덜 필요로 하기 때문에 맞춤형 모델 훈련의 진입 장벽이 크게 낮아집니다. RT-DETR과 같은 부피가 큰 트랜스포머 모델에 비해 CUDA 메모리를 덜 필요로 하므로 소비자급 GPU에서 훈련할 수 있습니다.
비교 분석: 아키텍처 및 사용 사례
아키텍처의 차이점
근본적인 차이점은 사후 처리 및 할당 전략에 있습니다. YOLOv10 은 듀얼 헤드 아키텍처를 채택하여 한 헤드는 훈련 중 풍부한 감독 신호를 위해 기존 YOLO처럼 일대다 할당을 사용하고, 다른 헤드는 추론을 위해 일대일 할당을 사용하므로 NMS 필요하지 않습니다.
YOLOv8은 반대로 작업 할당 어사인과 앵커가 없는 결합 헤드 구조를 사용합니다. 이 설계는 탐지 헤드를 단순화하고 일반화를 개선합니다. NMS 필요하지만 다음과 같은 내보내기 형식에서 작업이 고도로 최적화되어 있습니다. ONNX 와 같은 내보내기 형식에 매우 최적화되어 있어 강력한 배포 파이프라인에서는 실제 지연 시간이 무시할 수 있을 정도로 작아지는 경우가 많습니다.
이상적인 사용 사례
둘 중 하나를 선택하는 것은 프로젝트의 특정 제약 조건에 따라 결정되는 경우가 많습니다:
고성능 엣지 AI(YOLOv10): 애플리케이션이 모든 메가바이트의 스토리지가 중요한 리소스 제약이 심한 하드웨어에서 실행되거나 NMS 작업으로 인해 대상 칩에 특정 병목 현상이 발생하는 경우 YOLOv10 탁월한 후보가 될 수 있습니다. 예를 들면 농업용 임베디드 센서나 경량 드론 등이 있습니다.
범용 및 멀티태스크 AI(YOLOv8): 대부분의 상업용 및 연구용 애플리케이션에 적합합니다, YOLOv8 이 탁월한 선택입니다. 세분화 (예: 정밀 의료 영상)와 포즈 추정(예: 스포츠 분석)을 수행할 수 있어 활용도가 매우 높습니다. 또한 광범위한 문서와 지원으로 개발자가 문제를 빠르게 해결하고 더 빠르게 배포할 수 있습니다.
코드 구현
Ultralytics 프레임워크의 주요 장점 중 하나는 통합 API입니다. YOLOv8 사용하든 최신 모델을 탐색하든 워크플로는 일관되고 직관적으로 유지됩니다.
다음은 Python 사용하여 YOLOv8 모델에 대한 교육을 얼마나 쉽게 시작할 수 있는지 설명합니다:
from ultralytics import YOLO
# Load a pre-trained YOLOv8 model
model = YOLO("yolov8n.pt")
# Train the model on your custom dataset
# The system automatically handles data downloading and processing
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
# Run inference on an image
results = model("path/to/image.jpg")
YOLOv10 경우, 연구자들이 익숙한 환경에서 아키텍처를 실험해 볼 수 있도록 Ultralytics 패키지를 통해 쉽게 액세스할 수 있습니다:
from ultralytics import YOLO
# Load a pre-trained YOLOv10 model
model = YOLO("yolov10n.pt")
# Train the model using the same simple API
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)
결론
YOLOv10 YOLOv8 모두 컴퓨터 비전 분야에서 인상적인 이정표입니다. YOLOv10 은 아키텍처 효율성의 한계를 뛰어넘어 지연 시간이 짧은 특수 애플리케이션을 위한 NMS 미래를 엿볼 수 있게 해줍니다.
하지만, Ultralytics YOLOv8 은 여전히 개발자와 조직에 권장되는 모델입니다. 강력한 에코시스템, 입증된 안정성, 멀티태스크 기능은 단순한 탐지를 넘어서는 포괄적인 솔루션을 제공합니다. Ultralytics YOLOv8 사용하면 단순한 모델이 아니라 세계적 수준의 AI 솔루션을 효율적으로 구축, 학습 및 배포할 수 있는 완벽한 툴킷을 얻을 수 있습니다.
최신 트렌드를 놓치지 않으려는 분들을 위해 다음도 꼭 확인하세요. YOLO11의 최신 버전으로, YOLOv8 훨씬 더 높은 성능과 효율성을 제공하는 Ultralytics 최신 버전입니다.
추가 자료
- 최신 SOTA 모델을 살펴보세요: YOLO11
- 메트릭을 이해합니다: YOLO 성과 지표
- 어디서나 배포하세요: 모델 내보내기 모드
- 다른 비교 보기: YOLOv5 대 YOLOv8