콘텐츠로 건너뛰기

YOLOv8 vs YOLOv7: 포괄적인 기술 비교

컴퓨터 비전 분야는 실시간 객체 탐지에서 가능한 한계를 넓히는 새로운 아키텍처와 함께 끊임없이 진화하고 있습니다. 이번 심층 분석에서는 두 가지 매우 영향력 있는 모델을 비교합니다: Ultralytics YOLOv8YOLOv7을 비교합니다. 두 모델 모두 복잡한 시각적 과제 해결을 위한 독특한 접근법을 제시하며 개발자 커뮤니티와 학술 연구에 상당한 영향을 미쳤습니다.

이 두 모델 간의 구조적 및 방법론적 차이를 이해하는 것은 배포 파이프라인을 최적화하려는 머신러닝 엔지니어에게 매우 중요합니다. YOLOv7 원시 처리량에 특화된 강력한 "bag-of-freebies" 접근법을 YOLOv7 반면, Ultralytics YOLOv8 높은 정확도와 낮은 메모리 소비, 다중 작업 유연성을 균형 있게 조화시킨 전체적이고 사용하기 쉬운 생태계 구축에YOLOv8 .

Ultralytics YOLOv8: 다목적 생태계 표준

2023년 Ultralytics 공개한 YOLOv8 기존 모델들과 비교해 주요한 아키텍처적 변화를 YOLOv8 . 단순한 실시간 객체 탐지기를 넘어, 다양한 비전 작업을 즉시 처리할 수 있는 통합 프레임워크로 설계되었습니다.

아키텍처 혁신

YOLOv8 혁신적인 앵커 박스 없는 탐지 헤드를 YOLOv8 . 이는 사용자 정의 데이터셋의 특정 분포에 따라 앵커 박스를 수동으로 구성할 필요가 없어 훈련 과정을 근본적으로 단순화합니다. 이러한 설계 선택은 모델을 매우 견고하게 만들고 다양한 환경에서 일반화하기 쉽게 합니다.

또한 이 아키텍처는 C2f 모듈 (두 개의 컨볼루션으로 구성된 크로스 스테이지 부분 병목)을 특징으로 하는데, 이는 기울기 흐름을 개선하고 신경망이 계산 비용을 크게 증가시키지 않으면서도 더 풍부한 특징 표현을 학습할 수 있도록 하는 구조적 업그레이드입니다. 이로 인해 모델은 PyTorch와 같은 표준 딥러닝 프레임워크를 통해 추론을 실행할 때 매우 효율적입니다. PyTorch과 같은 표준 딥러닝 프레임워크를 통해 추론을 실행할 때 매우 효율적입니다

8에 대해 자세히 알아보기

메모리 효율성

Ultralytics YOLO 훈련 효율 극대화를 위해 설계되었습니다. 트랜스포머 기반 아키텍처나 더 무거운 CNN에 비해 훈련 시 CUDA 요구량이 현저히 적습니다. 이를 통해 소비자용 하드웨어에서도 더 큰 배치 크기로 훈련할 수 있어 개발 주기를 가속화할 수 있습니다.

YOLOv7: "Bag-of-Freebies" 접근 방식

YOLOv7 2022년 중반에 YOLOv7 이후 학계에서 빠르게 대중적인 기준 모델로 자리 잡았습니다. 이 모델은 고급 GPU에서 실시간 물체 탐지의 한계를 넘어서기 위해 아키텍처 재매개변수화와 기울기 경로 최적화에 중점을 두었습니다.

  • 저자: Chien-Yao Wang, Alexey Bochkovskiy, Hong-Yuan Mark Liao
  • Organization: Institute of Information Science, Academia Sinica, Taiwan
  • 날짜:06
  • Arxiv:2207.02696
  • GitHub:WongKinYiu/yolov7

아키텍처 혁신

YOLOv7 확장 효율적 레이어 집계 네트워크(E-ELAN)를 YOLOv7 모델이 지속적으로 더 다양한 특징을 학습할 수 있도록 합니다. 이 모델은 앵커 기반 패러다임에 크게 의존하며, 추론 비용을 증가시키지 않으면서 정확도를 향상시키는 일련의 최적화 기법인 훈련 가능한 "무료 기능 모음(bag-of-freebies)"을 도입합니다.

YOLOv7 MS COCO 같은 표준 학술 벤치마크에서 우수한 성능을 YOLOv7 , 그 아키텍처는 서버급 가속기에 크게 최적화되어 있습니다. 이러한 모델을 에지 디바이스로 내보내고 배포하는 것은 현대적이고 간소화된 프레임워크에 비해 때때로 더 많은 수동 구성이 필요할 수 있습니다.

7에 대해 자세히 알아보기

상세한 성능 비교

이러한 모델을 평가할 때 속도, 정확도, 모델 크기 간의 균형이 주요 고려 사항입니다. 아래 표는 두 모델의 지표를 요약하여 보여줍니다.

모델크기
(픽셀)
mAPval
50-95
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(M)
FLOPs
(B)
YOLOv8n64037.380.41.473.28.7
YOLOv8s64044.9128.42.6611.228.6
YOLOv8m64050.2234.75.8625.978.9
YOLOv8l64052.9375.29.0643.7165.2
YOLOv8x64053.9479.114.3768.2257.8
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9

데이터에서 볼 수 있듯이, YOLOv8x 가장 높은 절대 정확도(53.9 mAP)를 YOLOv8x 반면, 나노 변형(YOLOv8n)은 탁월한 추론 속도와 놀라울 정도로 가벼운 메모리 사용량을 제공합니다. 이러한 다양성 덕분에 YOLOv8 제한된 하드웨어 환경에 YOLOv8 더 유연하게 적용될 수 있습니다.

Ultralytics : 사용 편의성과 생태계

YOLOv7 강력한 원시 탐지 지표를 YOLOv7 , Ultralytics YOLOv8 개발자 경험, 생태계 통합 및 멀티태스킹 기능 측면에서 YOLOv7을 훨씬 능가합니다.

탁월한 다용도성

YOLOv7 주로 탐지 YOLOv7 , 다른 작업을 위한 실험적 분기가 존재합니다. 반면 YOLOv8 객체 탐지, 인스턴스 분할, 이미지 분류, 자세 추정, 방향성 바운딩 박스(OBB)를 YOLOv8 지원합니다. 이러한 통합된 접근 방식 덕분에 팀은 하나의 API를 학습한 후 완전히 다른 프로젝트 요구사항 전반에 걸쳐 이를 배포할 수 있습니다.

간소화된 배포 및 통합

모델을 생산 환경으로 내보내는 작업은 종종 병목 현상이 발생합니다. Ultralytics 사용하면 개발자가 다음과 같은 형식으로 내보낼 수 있습니다. ONNX, TensorRT, CoreML 단 한 줄의 Python 수 있습니다. 이는 복잡한 앵커 기반 그래프를 내보낼 때 가끔 발생하는 연산자 지원 문제를 피할 수 있게 합니다.

또한 YOLOv8 MLOps 도구와 원활하게 YOLOv8 . 실험 추적을 위해 Weights & Biases 로 실험을 추적하든, Hugging Face 배포를 테스트하든, Ultralytics 복잡한 작업을 처리해 줍니다.

코드 예시: YOLOv8 훈련 및 내보내기

다음 코드는Python 간편함을 보여줍니다. 모델 초기화부터 훈련, 그리고 에지 배포를 위한 내보내기까지 10줄 미만의 코드로 수행할 수 있습니다.

from ultralytics import YOLO

# Load a pretrained YOLOv8 nano model for fast inference
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 dataset
# The API handles data loading, augmentation, and logging automatically
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference on a test image
predictions = model("https://ultralytics.com/images/bus.jpg")

# Export the trained model to ONNX format for deployment
model.export(format="onnx")

배포 유연성

다음을 사용하여 model.export() 이 함수는 고성능 추론 엔진과의 즉각적인 연결을 제공하여, YOLOv8 모바일 애플리케이션, 임베디드 시스템 또는 고처리량 클라우드 YOLOv8 손쉽게 통합할 수 있게 합니다.

실제 사용 사례

두 모델 간의 구조적 차이는 각각의 이상적인 배포 시나리오를 결정합니다.

YOLOv8 선택해야 할 때:

  • 엣지 AI 및 IoT 기기: 초고속 나노 및 소형 모델의 가용성 덕분에 YOLOv8 스마트 카메라나 드론과 같이 컴퓨팅 성능이 제한된 하드웨어에 YOLOv8 적합합니다.
  • 다중 작업 프로젝트: 파이프라인에서 인체 관절 추적(자세 추정)과 장애물 매핑(분할)을 동시에 수행해야 하는 경우, YOLOv8 이를 기본적으로 YOLOv8 .
  • 신속한 프로토타이핑에서 생산까지: 광범위한 Ultralytics 마찰 없는 Python 통해 팀은 제품을 시장에 더 빠르게 출시할 수 있습니다.

YOLOv7 고려해야 할 때:

  • 학술적 벤치마킹: 재매개변수화 기법의 효과를 연구하는 연구자들은 종종 YOLOv7 표준 YOLOv7 사용하며, 이는 Papers With Code에서의 인기로도 확인할 수 있다.
  • 레거시 서버 파이프라인: 기존 고성능 컴퓨팅 파이프라인이 이미 YOLOv7 특정 앵커 출력에 맞춰 엄격하게 최적화되어 있다면, 이를 유지하는 것이 단기적으로는 실용적일 수 있습니다.

앞으로 바라보기: 차세대

YOLOv8 여전히 다재다능한 강자로 YOLOv8 있지만, AI 환경은 빠르게 변화하고 있습니다. 새로운 프로젝트를 시작하는 팀이라면, Ultralytics 최신 발전을 살펴보시길 적극 권장합니다.

최신 세대, YOLO26는 현재 비전 AI의 정점을 대표합니다. 엔드투엔드 NMS 프리( End-to-End NMS-Free) 설계를 특징으로 하여, 더 간단하고 빠른 배포를 위해 비최대 억제(Non-Maximum Suppression) 후처리 단계를 제거했습니다. 분포 초점 손실(DFL)을 제거하고 LLM에서 영감을 받은 MuSGD 최적화기를 도입함으로써, YOLO26은 더 안정적인 훈련과 최대 43% 빠른 CPU 제공합니다. 고급 ProgLoss + STAL 손실 함수는 소형 물체 인식 성능을 획기적으로 향상시켜, 현대적인 엣지 컴퓨팅 및 항공 이미징을 위한 궁극적인 선택이 됩니다.

구형 시스템에서 전환하는 사용자를 위한 고성능 YOLO11 과 클래식한 YOLOv5 도 통합된 Ultralytics 내에서 완전히 지원되므로, 하드웨어 제약 조건과 관계없이 배포 준비가 완료된 간소화되고 고성능의 모델을 확보할 수 있습니다.


댓글