콘텐츠로 건너뛰기

YOLOv7 YOLOv8: 실시간 객체 탐지의 진화

컴퓨터 비전 분야의 발전은 빠른 반복과 아키텍처적 혁신으로 특징지어진다. 이 역사에서 가장 중요한 두 가지 이정표는 YOLOv7(2022년 중반 출시)와 YOLOv8Ultralytics 두 모델 모두 출시 Ultralytics 최첨단 성능(SOTA)을 달성했지만, 모델 설계와 개발자 경험 측면에서 서로 다른 철학을 보여줍니다.

YOLOv7 앵커 기반 탐지기를 위한 "bag-of-freebies" 접근법의 최적화에서 정점을 YOLOv7 , 훈련 가능한 아키텍처 전략에 집중했습니다. 반면 YOLOv8 사용자 중심의 생태계 접근법을 YOLOv8 앵커 없는 아키텍처로 전환했으며, 사용 편의성, 모델 배포, 분할 및 자세 추정과 같은 다양한 작업에 대한 통합 지원을 우선시했습니다.

성능 비교

다음 표는 YOLOv7 YOLOv8 성능 지표를 보여줍니다. YOLOv8 특히 매개변수 수와 FLOPs 측면에서 뛰어난 효율성을 YOLOv8 , 전작의 정확도(mAP)를 유지하거나 초과합니다.

모델크기
(픽셀)
mAPval
50-95
속도
CPU ONNX
(ms)
속도
T4 TensorRT10
(ms)
파라미터
(M)
FLOPs
(B)
YOLOv7l64051.4-6.8436.9104.7
YOLOv7x64053.1-11.5771.3189.9
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

YOLOv7: 앵커 기반의 강력한 성능

2022년 7월 출시된 YOLOv7 실시간 객체 탐지 속도와 정확도의 한계를 뛰어넘기 위해 YOLOv7 . 이 모델은 기울기 전파 경로를 최적화하기 위한 여러 아키텍처 혁신을 도입했습니다.

주요 아키텍처 기능

YOLOv7 확장 효율적 레이어 집계 네트워크(E-ELAN)를 YOLOv7 . 이 아키텍처는 가장 짧고 긴 기울기 경로를 제어함으로써 모델이 더 다양한 특징을 학습할 수 있게 하여, 기울기 흐름을 파괴하지 않으면서도 네트워크가 효과적으로 수렴하도록 보장합니다.

또한 블록 깊이와 너비를 동시에 조정하는 연결 기반 모델 스케일링을 활용했습니다. 효과적이긴 하지만, 이 아키텍처는 앵커 박스에 의존하여 최대 성능을 달성하기 위해 맞춤형 데이터셋에 대한 최적의 앵커 계산이 필요합니다. 이는 최신 앵커 프리 접근법에 비해 훈련 과정에 복잡성을 더합니다.

훈련 복잡성

YOLOv7 특정 연구 중심 저장소 구조와 훈련 중 보조 헤드의 수동 관리를 요구합니다. 사용자는 소규모 데이터셋에서 "bag-of-freebies"(예: MixUp Mosaic)가 제대로 작동하도록 하이퍼파라미터를 수동으로 조정해야 하는 경우가 많습니다.

YOLOv8: 통합 생태계 및 앵커 프리 설계

Ultralytics YOLOv8 순수 연구 도구에서 기업용 프레임워크로의 패러다임 전환을YOLOv8 . 데이터 주석 작업부터 배포에 이르기까지 머신러닝 라이프사이클 전체를 간소화했습니다.

8에 대해 자세히 알아보기

아키텍처 혁신

YOLOv8 최첨단 앵커 프리 모델입니다. 사전 정의된 앵커 박스의 필요성을 제거함으로써, YOLOv8 탐지 헤드를 YOLOv8 특이한 모양이나 종횡비의 물체에 대한 일반화 성능을 향상시킵니다.

  1. C2f 모듈: 이전 세대의 C3 모듈을 대체하는 C2f 모듈(ELAN에서 영감을 얻음)은 경량성을 유지하면서 경사 흐름을 개선하기 위해 고급 기능과 상황 정보를 결합합니다.
  2. 분리된 헤드: YOLOv8 객체 탐지, 분류, 회귀 작업을 서로 다른 분기로 YOLOv8 . 이러한 분리를 통해 모델은 더 빠르고 정확하게 수렴할 수 있습니다.
  3. 작업 다용도성: 주로 탐지 모델인 YOLOv7 달리, YOLOv8 이미지 분류, 자세 추정, 방향성 바운딩 박스(OBB), 인스턴스 분할을 지원합니다.

상세 비교: 개발자들이 Ultralytics 선택하는 이유

YOLOv7 유능한 모델임에도 불구하고, YOLOv8 그리고 최신 버전인 YOLO26)을 둘러싼 Ultralytics 개발자와 연구자들에게 뚜렷한 이점을 제공합니다.

1. 사용 편의성과 생태계

YOLOv7 주로 연구용 저장소로 YOLOv7 . 이를 훈련시키려면 특정 GitHub 저장소를 복제하고, 폴더를 엄격한 구조로 구성하며, 복잡한 CLI 실행해야 하는 경우가 많습니다.

반면, Ultralytics 표준 Python 제공됩니다(pip install ultralytics)가 이미 설치되어 있다고 가정합니다. Ultralytics Platform 데이터셋 관리 및 훈련 모니터링을 위한 그래픽 인터페이스를 제공함으로써 이를 더욱 간소화합니다. 이러한 '초보자도 전문가처럼' 경험은 AI 개발 진입 장벽을 크게 낮춥니다.

2. 훈련 효율성 및 메모리

현대 AI에서 가장 중요한 요소 중 하나는 자원 활용도입니다. 트랜스포머 기반 모델은 대개 방대한 양의 CUDA 필요로 하며 훈련에 며칠이 소요됩니다. Ultralytics YOLO 훈련 효율성을 위해 최적화되었습니다.

YOLOv8 모자이크 증강을 동적으로 YOLOv8 , 최종 에포크에서는 정밀도를 높이기 위해 이를 비활성화합니다. 이는 최적화된 데이터 로더와 결합되어, YOLOv7 RT-DETR 같은 트랜스포머 기반 대안들에 비해 소비자용 GPU에서 더 큰 배치 크기로 실행할 수 있게 합니다.

3. 배포 및 내보내기

PyTorch 모델을 생산 환경으로 이전하는 작업은 파이프라인에서 가장 어려운 부분인 경우가 많습니다. YOLOv8 통합된 내보내기 모드를 통해 이 과정을 YOLOv8 .

개발자는 단 한 줄의 코드로 YOLOv8 내보낼 수 있습니다:

  • ONNX 범용 크로스 플랫폼 호환성을 위해.
  • TensorRTNVIDIA 최대 추론 속도를 위한.
  • CoreMLiOS macOS 앱에 통합하기 위한.
  • TFLiteAndroid Raspberry Pi에서 모바일 및 에지 배포용.

수출 예시

Python 통해 YOLOv8 원활하게 내보낼 수 있습니다:

from ultralytics import YOLO

model = YOLO("yolov8n.pt")
model.export(format="onnx", opset=12)

코드 예시: 통합 API

Ultralytics Python 사용하면 모델 아키텍처를 손쉽게 전환할 수 있습니다. 동일한 인터페이스를 통해 YOLOv8 또는 YOLOv7 (레거시 호환성을 위해 지원됨)을 로드할 수 있습니다.

from ultralytics import YOLO

# Load the latest YOLOv8 Nano model for efficiency
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 dataset
# The API handles dataset downloading and configuration automatically
results = model.train(data="coco8.yaml", epochs=50, imgsz=640)

# Run inference on a sample image
# Returns a list of Results objects containing boxes, masks, or keypoints
results = model.predict("https://ultralytics.com/images/bus.jpg")

# Display the results
results[0].show()

# NOTE: You can also load YOLOv7 weights using the same API
# model_v7 = YOLO("yolov7.pt")

이상적인 사용 사례

YOLOv7 사용 시기

  • 레거시 벤치마킹: 2022/2023년 E-ELAN 아키텍처와 구체적으로 비교한 학술 논문을 재현하는 경우.
  • 특정 고해상도 입력: 에 지정되어 있습니다. yolov7-w6 변형 모델들은 1280px 입력값에 특화되어 조정되었으나, 현대적인 Ultralytics 이제 P6/1280 해상도 원어민처럼.

YOLOv8 사용 시기

  • 에지 컴퓨팅: 모델들처럼 yolov8n ~에 완벽합니다 라즈베리 파이에서 실행 중 또는 제트슨 나노는 낮은 매개변수 수와 높은 속도로 인해 적합합니다.
  • 다중 작업 애플리케이션: 애플리케이션에서 사람 추적과 동시에 자세(스켈레톤) 식별이 필요한 경우, YOLOv8 기본 제공 자세 추정 기능이 이상적인 선택입니다.
  • 산업 자동화: 지연 시간이 중요한 대량 생산 라인에서 TensorRT로 쉽게 내보낼 수 있는 기능 TensorRT 로 내보내기 쉬운 점은 YOLOv8 .
  • 신속한 프로토타이핑: Ultralytics 통해 팀은 복잡한 인프라 관리 없이 데이터셋과 모델을 신속하게 반복 개선할 수 있습니다.

앞으로 바라보기: YOLO26의 힘

YOLOv7 비교는 YOLOv8 강점을 YOLOv7 , 해당 분야는 계속해서 진화해 왔습니다. 오늘날 새로운 프로젝트를 시작하는 개발자들에게 YOLO26은 이러한 진화의 정점을 나타냅니다.

YOLO26은 YOLOv8 사용 편의성을 YOLOv8 엔드투엔드 NMS(End-to-End NMS) 설계를 도입합니다. 비최대 억제(NMS) 후처리 단계를 제거함으로써 YOLO26은 복잡한 장면에서 훨씬 단순화된 배포 로직과 낮은 지연 시간을 달성합니다. 또한 대규모 언어 모델(LLM) 훈련 기법에서 영감을 받은 MuSGD 최적화기를 탑재하여 훈련 중 더욱 안정적인 수렴을 보장합니다.

또한 분포 초점 손실(DFL)을 제거함으로써 YOLO26은 CPU 추론에서 최대 43% 더 빠른 성능을 발휘하여 GPU를 사용할 수 없는 에지 AI 애플리케이션에 최적의 선택지가 되었습니다. 특수한 작업의 경우, 자세 추정용 잔차 로그 가능도 추정(RLE) 및 OBB 전용 각도 손실과 같은 작업별 개선 사항을 도입했습니다.

가장 미래에 대비하고 효율적이며 정확한 솔루션을 원하신다면 YOLO26을 확인해 보시길 권장합니다.


댓글