콘텐츠로 건너뛰기

YOLOv10 YOLOv5: 아키텍처 및 성능 심층 분석

빠르게 진화하는 컴퓨터 비전 환경에서 올바른 객체 감지 모델을 선택하는 것은 프로젝트 성공을 위해 매우 중요합니다. 이 비교에서는 다음과 같은 기술적 차이점을 살펴봅니다. YOLOv10과 최근 학술용으로 출시된 NMS 훈련에 초점을 맞춘 YOLOv5와 견고하고 업계 전반에 걸쳐 채택된 것으로 유명한 Ultralytics 전설적인 모델입니다. 두 모델 모두 You Only Look Once 계보에서 비롯되었지만, 서로 다른 엔지니어링 우선순위와 배포 환경에 적합합니다.

모델 개요

YOLOv10: 효율성 전문가

칭화대학교 연구진이 2024년 5월에 발표한 YOLOv10 추론 중 비최대 억제(NMS) 가 필요하지 않도록 설계된 아키텍처 메커니즘을 도입했습니다. 훈련 중에 일관된 이중 할당을 활용하여 엔드투엔드 지연 시간을 줄이는 것을 목표로 하는 YOLOv10 밀리초 단위의 추론 지연 시간이 중요한 엣지 애플리케이션에 적합한 후보입니다.

YOLOv10 대해 자세히 알아보기

Ultralytics YOLOv5: 업계 표준

2020년에 출시된 이후 Ultralytics에서 출시한 이후, YOLOv5 AI 커뮤니티에서 사용 편의성을 정의해 왔습니다. 속도, 정확성, 엔지니어링 유용성 간의 균형을 우선시합니다. 원시 메트릭 외에도, YOLOv5 모바일 배포 도구, 실험 추적 플랫폼, 데이터 세트 관리 워크플로우와 원활하게 통합되는 성숙한 에코시스템을 제공합니다. 탐지 기능을 넘어 이미지 분류인스턴스 세분화까지 다양한 기능을 제공합니다.

  • 작성자: Glenn Jocher
  • Organization: Ultralytics
  • 날짜: 2020-06-26
  • GitHub:yolov5

YOLOv5에 대해 자세히 알아보세요

아키텍처의 차이점

주요 차이점은 예측이 처리되는 방식에 있습니다. YOLOv5 NMS 의존하는 고도로 최적화된 앵커 기반 아키텍처를 사용하여 겹치는 바운딩 박스를 필터링합니다. 이 방식은 다양한 데이터 세트에서 실전을 통해 검증되었으며 강력합니다.

이와는 대조적으로 YOLOv10 일관된 이중 할당 전략을 사용합니다. 이를 통해 모델은 추론 중에 각 객체에 대해 하나의 최적 박스를 예측할 수 있으므로 이론적으로 NMS 단계가 완전히 제거됩니다. 이러한 후처리 오버헤드 감소는 YOLOv10 주요 장점으로, NVIDIA Jetson Orin Nano와 같은 엣지 디바이스에서 지연 시간을 줄여줍니다. 또한 YOLOv10 백본과 헤드에 전체적인 효율성 설계를 통합하여 매개변수(params)와 부동 소수점 연산(FLOPs)을 최소화합니다.

메모리 효율성

YOLOv5 같은 Ultralytics 모델(그리고 최신 YOLO11)의 특징 중 하나는 최적화된 메모리 사용 공간입니다. 방대한 양의 CUDA 메모리를 소비하는 일부 트랜스포머 기반 탐지기와 달리, Ultralytics 모델은 소비자급 하드웨어에서 효율적으로 학습하도록 설계되어 최첨단 AI에 대한 액세스를 대중화합니다.

성능 지표

아래 표는 성능의 절충점을 강조하고 있습니다. YOLOv10 일반적으로 더 적은 수의 파라미터로 더 높은 평균 정밀도(mAP)를 달성하며, 이전 YOLOv5 아키텍처에 비해 더 높은 평균 정밀도를 제공합니다. 그러나 특정 하드웨어 구성에서, 특히 다음과 같이 최적화된 내보내기 형식을 사용할 때 YOLOv5 원시 추론 속도에서 여전히 경쟁력을 유지합니다. TensorRT 또는 ONNX.

모델크기
(픽셀)
mAPval
50-95
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(M)
FLOPs
(B)
YOLOv10n64039.5-1.562.36.7
YOLOv10s64046.7-2.667.221.6
YOLOv10m64051.3-5.4815.459.1
YOLOv10b64052.7-6.5424.492.0
YOLOv10l64053.3-8.3329.5120.3
YOLOv10x64054.4-12.256.9160.4
YOLOv5n64028.073.61.122.67.7
YOLOv5s64037.4120.71.929.124.0
YOLOv5m64045.4233.94.0325.164.2
YOLOv5l64049.0408.46.6153.2135.0
YOLOv5x64050.7763.211.8997.2246.4

강점과 약점

YOLOv10 분석

강점:

  • NMS: 비최대 억제 단계를 제거하면 배포 파이프라인이 간소화되고 추론 대기 시간이 안정화됩니다.
  • 파라미터 효율성: 더 작은 모델 가중치로 높은 정확도를 달성하여 스토리지 제약이 있는 디바이스에 유용합니다.
  • 최첨단 정확도: COCO 벤치마크의 순수 mAP 메트릭에서 이전 YOLO 버전보다 뛰어난 성능을 발휘합니다.

약점:

  • 제한된 활용성: 주로 객체 감지에 중점을 두고 있으며, 최신 Ultralytics 모델에서 볼 수 있는 포즈 추정이나 OBB(Oriented Bounding Box) 감지와 같은 복잡한 작업에 대한 기본 지원이 부족합니다.
  • 개발 중인 에코시스템: 연구 중심 모델로서, 광범위한 커뮤니티 플러그인, 실전 테스트를 거친 통합 및 기업 지원은 Ultralytics 모델에 비해 부족할 수 있습니다.

YOLOv5 분석

강점:

  • 탁월한 다목적성: 탐지, 세분화 및 분류를 즉시 지원합니다.
  • 강력한 에코시스템: 지원 대상 Ultralytics를 통해 Ultralytics HUB, Roboflow, Comet ML과 같은 도구와 손쉽게 통합됩니다.
  • 배포 준비 완료: CoreML, TFLite, TensorRT 및 OpenVINO 내보내기 위한 광범위한 문서가 제공되어 원활한 프로덕션 롤아웃을 보장합니다.
  • 훈련 효율성: 안정적인 트레이닝 다이내믹스와 낮은 메모리 사용량으로 알려져 있어 GPU GPU 설정을 사용하는 개발자도 쉽게 사용할 수 있습니다.

약점:

  • Aging Architecture: 여전히 강력하지만 순수한 mAP/FLOPs 비율은 YOLOv8YOLO11과 같은 최신 반복에 의해 능가되었습니다.
  • 앵커 의존성: 극단적인 객체 종횡비를 가진 데이터 세트에 대해 수동 튜닝이 필요할 수 있는 앵커 박스에 의존합니다.

이상적인 사용 사례

이 두 가지 중 하나를 선택하는 것은 배포 환경의 특정 제약 조건에 따라 결정되는 경우가 많습니다.

  • 다음과 같은 경우 YOLOv10 선택하세요: 임베디드 디바이스를 위한 전용 객체 감지 시스템을 구축하는 경우, NMS 계산 오버헤드를 제거하면 중요한 속도 이점을 얻을 수 있거나 작은 모델 풋프린트에서 절대적으로 가장 높은 mAP 필요한 경우입니다.
  • 다음과 같은 경우 YOLOv5 선택하세요: 프로덕션 파이프라인을 위한 안정적인 멀티태스킹 모델이 필요한 경우. 인스턴스 세분화 및 분류를 처리할 수 있어 비전 AI를 위한 '스위스 아미 나이프'와 같은 역할을 합니다. 또한 팀이 표준 MLOps 워크플로우를 사용하는 경우, YOLOv5 Ultralytics 에코시스템에 원활하게 통합하면 개발 시간을 크게 단축할 수 있습니다.

사용자 경험 및 에코시스템

Ultralytics 모델의 특징 중 하나는 개발자 경험에 중점을 둔다는 점입니다. YOLOv5 "그냥 작동"이라는 표준을 세웠으며, 이 철학은 계속 유지되고 있습니다. 사용자는 몇 줄의 코드만으로 사용자 지정 데이터에 대해 YOLOv5 모델을 훈련할 수 있으며, 미리 훈련된 가중치를 활용하여 융합을 가속화할 수 있습니다.

반면, YOLOv10 우수한 학술적 결과를 제공하지만, 복잡한 프로덕션 파이프라인에 통합하려면 더 많은 맞춤형 엔지니어링이 필요할 수 있습니다. Ultralytics 활발한 오픈 소스 커뮤니티를 유지하여 실제 사용자 피드백을 기반으로 버그를 신속하게 해결하고 기능을 추가합니다.

코드 비교

이러한 모델을 실행하는 방법은 간단합니다. 다음은 Python 사용하여 각각 로드하고 예측하는 방법의 예입니다.

YOLOv10 사용:

from ultralytics import YOLO

# Load a pre-trained YOLOv10n model
model = YOLO("yolov10n.pt")

# Perform inference on an image
results = model("path/to/image.jpg")
results[0].show()

YOLOv5 사용( PyTorch Hub를 통해):

import torch

# Load YOLOv5s from PyTorch Hub
model = torch.hub.load("ultralytics/yolov5", "yolov5s")

# Perform inference
results = model("path/to/image.jpg")
results.show()

결론

두 모델 모두 컴퓨터 비전의 중요한 성과를 나타냅니다. YOLOv10 은 NMS 사용하지 않는 설계로 지연 시간 최적화의 한계를 뛰어넘어 전문화된 고속 감지 작업에 적합한 제품입니다.

그러나 대부분의 개발자와 기업에게 Ultralytics 에코시스템은다음과 같은 지속적인 신뢰성으로 대표되는YOLOv5 의 지속적인 안정성과 YOLO11-보다 포괄적인 솔루션을 제공합니다. 사용 편의성, 광범위한 문서화, 멀티태스크 기능의 조합으로 디버깅 시간을 줄이고 가치를 배포하는 데 더 많은 시간을 할애할 수 있습니다.

에코시스템의 이점을 유지하면서 YOLOv5 업그레이드하고자 하는 분들께는 다음과 같은 제품을 적극 추천합니다. YOLO11는 최첨단 성능, 앵커 없는 감지, OBB 및 포즈 추정을 포함한 모든 범위의 비전 작업을 지원합니다.

추가 자료


댓글