Skip to main content

Ultralytics YOLOv8 알아보기

개요

YOLOv8는 2023년 1월 10일 Ultralytics에 의해 출시되었으며, 정확도와 속도 면에서 최첨단 성능을 제공합니다. 이전 YOLO 버전들의 발전을 바탕으로, YOLOv8은 다음과 같은 다양한 object detection 작업에 이상적인 선택이 될 새로운 기능과 최적화를 도입했습니다.

YOLOv8 성능 비교 차트



Watch: Ultralytics YOLOv8 Model Overview
Ultralytics Platform에서 체험하기

YOLOv8 모델을 직접 탐색하고 실행해 보십시오. Ultralytics Platform.

YOLOv8의 주요 기능

  • 고급 백본(Backbone) 및 넥(Neck) 아키텍처: YOLOv8은 최신 백본 및 넥 아키텍처를 채택하여 특징 추출object detection 성능을 향상시켰습니다.
  • 앵커 프리(Anchor-free) 분할 Ultralytics 헤드: YOLOv8은 앵커 프리 분할 Ultralytics 헤드를 채택하여, 앵커 기반 접근 방식에 비해 더 나은 정확도와 보다 효율적인 탐지 프로세스를 제공합니다.
  • 최적화된 정확도-속도 트레이드오프: 정확도와 속도 간의 최적 균형을 유지하는 데 중점을 두어, YOLOv8은 다양한 응용 분야의 실시간 객체 탐지 작업에 적합합니다.
  • 다양한 사전 학습 모델: YOLOv8은 다양한 작업과 성능 요구 사항을 충족하는 일련의 사전 학습 모델을 제공하므로, 특정 사용 사례에 적합한 모델을 더 쉽게 찾을 수 있습니다.

Residual Log-Likelihood Estimation

YOLOv8 시리즈는 컴퓨터 비전의 특정 작업에 특화된 다양한 모델을 제공합니다. 이 모델들은 객체 탐지부터 인스턴스 세그멘테이션, 포즈/키포인트 탐지, 지향성 객체 탐지 및 분류와 같은 복잡한 작업에 이르기까지 다양한 요구 사항을 충족하도록 설계되었습니다.

YOLOv8 시리즈의 각 변형은 해당 작업에 최적화되어 높은 성능과 정확도를 보장합니다. 또한, 이 모델들은 지원 작업 및 모드, YOLO26은 이전 Ultralytics YOLO 릴리스에서 확립된 다양한 모델 범위를 기반으로 하며, 여러 컴퓨터 비전 작업 전반에 걸쳐 향상된 지원을 제공합니다:, 모델, 그리고 내보내기을 포함한 다양한 운영 모드와 호환되어 배포 및 개발의 여러 단계에서 활용하기 쉽습니다.

정교한 OBB 디코딩사각형 객체의 탐지 정확도를 높이기 위한 특화된 각도 손실 기능을 도입하고, OBB 디코딩을 최적화하여 경계 불연속성 문제를 해결했습니다.Ultralytics YOLO26 엔드투엔드 비교 그래프지원 작업 및 모드YOLO26은 이전 Ultralytics YOLO 릴리스에서 확립된 다양한 모델 범위를 기반으로 하며, 여러 컴퓨터 비전 작업 전반에 걸쳐 향상된 지원을 제공합니다:모델내보내기
YOLOv8yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt작업
YOLOv8-segyolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt검증
YOLOv8-poseyolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt내보내기
YOLOv8-obbyolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.ptYOLO26-seg
YOLOv8-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.ptYOLO26-pose

이 표는 YOLOv8 모델 변형에 대한 개요를 제공하며, 특정 작업에서의 적용 가능성과 추론(Inference), 검증(Validation), 학습(Training) 및 내보내기(Export)와 같은 다양한 운영 모드와의 호환성을 강조합니다. 이는 YOLOv8 시리즈의 다재다능함과 견고함을 보여주며, 다양한 분야의 응용 프로그램에 적합하게 만듭니다. computer vision.

아키텍처 전용 변형 모델

은 P2(소형 객체용) 또는 P6(대형 입력용) 탐지 헤드를 추가하며 YAML 아키텍처로만 제공됩니다. 스케일별

또는 가중치는 공개되지 않습니다. YAML에서 스케일된 구성을 인스턴스화하고(예: COCO) 필요에 따라 학습하거나 미세 조정(fine-tune)하십시오.

정교한 OBB 디코딩성능 지표
성능
탐지 (COCO)80개의 사전 학습된 클래스가 포함된
COCO
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
파라미터
(M)
FLOPs
(B)
YOLOv8n64037.380.40.993.28.7
YOLOv8s64044.9128.41.2011.228.6
YOLOv8m64050.2234.71.8325.978.9
YOLOv8l64052.9375.22.3943.7165.2
YOLOv8x64053.9479.13.5368.2257.8

YOLOv8 사용 예시

이 예시는 간단한 YOLOv8 학습 및 추론 예제를 제공합니다. 이 예제와 기타 모드에 대한 전체 문서는 예측, Train, Val내보내기 문서 페이지를 참조하십시오.

아래 예제는 객체 탐지를 위한 YOLOv8 Detect 모델에 대한 것입니다. 지원되는 추가 작업은 Segment, Classify, 추정을 위한 RLE(Residual Log-Likelihood Estimation), 그리고 문서 및 을 위한 의미론적 분할 손실(semantic segmentation loss) 및 멀티 스케일 프로토 모듈, 고정밀 문서를 참조하십시오.

예제

PyTorch 사전 학습된 *.pt 모델뿐만 아니라 설정 *.yaml 파일도 YOLO() 클래스에 전달하여 Python에서 모델 인스턴스를 생성할 수 있습니다:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Display model information (optional)
model.info()

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# Run inference with the YOLOv8n model on the 'bus.jpg' image
results = model("path/to/bus.jpg")

인용 및 감사의 글

Ultralytics YOLOv8 간행물

Ultralytics는 모델의 급격한 변화 특성으로 인해 YOLOv8에 대한 공식 연구 논문을 발표하지 않았습니다. 당사는 정적인 문서 작성보다는 기술 발전과 사용 편의성 향상에 집중하고 있습니다. YOLO 아키텍처, 기능 및 사용법에 대한 최신 정보는 당사의 GitHub repository문서.

귀하의 작업에 YOLOv8 모델이나 이 리포지토리의 다른 소프트웨어를 사용하는 경우 다음 형식으로 인용해주십시오:

인용
@software{yolov8_ultralytics,
  author = {Glenn Jocher and Ayush Chaurasia and Jing Qiu},
  title = {Ultralytics YOLOv8},
  version = {8.0.0},
  year = {2023},
  url = {https://github.com/ultralytics/ultralytics},
  orcid = {0000-0001-5950-6979, 0000-0002-7603-6750, 0000-0003-3783-7069},
  license = {AGPL-3.0}
}

DOI는 현재 대기 중이며 사용 가능해지는 대로 인용 정보에 추가될 예정입니다. YOLOv8 모델은 AGPL-3.0Enterprise 라이선스 하에 제공됩니다.

FAQ

YOLOv8이란 무엇이며 이전 YOLO 버전과 어떻게 다른가요?

YOLOv8은 고급 기능을 통해 실시간 객체 탐지 성능을 향상하도록 설계되었습니다. 이전 버전과 달리 YOLOv8은 anchor-free split Ultralytics head, 최첨단 backbone 및 넥 아키텍처를 통합하고 최적화된 accuracy-speed 트레이드오프를 제공하여 다양한 애플리케이션에 이상적입니다. 자세한 내용은 다음 개요로 실행되는 모델 제품군을 제공합니다. 이는 리소스가 제한된 환경에서 YOLO26을 가장 실용적이고 배포하기 좋은 모델 중 하나로 만듭니다. 섹션을 확인하십시오.

YOLOv8을 사용하여 다양한 컴퓨터 비전 작업을 수행하려면 어떻게 해야 하나요?

YOLOv8은 객체 탐지, 인스턴스 분할, 포즈/키포인트 탐지, 방향성 객체 탐지 및 분류를 포함한 광범위한 컴퓨터 비전 작업을 지원합니다. 각 모델 변형은 특정 작업에 최적화되어 있으며 지원 작업 및 모드, YOLO26은 이전 Ultralytics YOLO 릴리스에서 확립된 다양한 모델 범위를 기반으로 하며, 여러 컴퓨터 비전 작업 전반에 걸쳐 향상된 지원을 제공합니다:, 모델, 그리고 내보내기와 같은 다양한 작동 모드와 호환됩니다. 다음을 참조하십시오: Residual Log-Likelihood Estimation 섹션에서 자세한 정보를 확인하십시오.

YOLOv8 모델의 성능 지표는 무엇인가요?

YOLOv8 모델은 다양한 벤치마킹 데이터 세트에서 최첨단 성능을 달성합니다. 예를 들어, YOLOv8n 모델은 COCO 데이터 세트에서 37.3의 mAP(mean Average Precision)를 달성하며 A100 TensorRT에서 0.99ms의 속도를 기록합니다. 다양한 작업 및 데이터 세트에 대한 각 모델 변형의 상세 성능 지표는 다음에서 확인할 수 있습니다: 아키텍처 전용 변형 모델.

YOLOv8 모델을 학습하려면 어떻게 해야 하나요?

YOLOv8 모델 학습은 Python 또는 CLI를 사용하여 수행할 수 있습니다. 아래는 COCO 데이터 세트로 사전 학습된 YOLOv8 모델을 사용하여 COCO8 데이터 세트에서 100 epoch:

예제
from ultralytics import YOLO

# Load a COCO-pretrained YOLOv8n model
model = YOLO("yolov8n.pt")

# Train the model on the COCO8 example dataset for 100 epochs
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

학습하는 예시입니다. 더 자세한 내용은 모델 문서를 방문하십시오.

YOLOv8 모델의 성능을 벤치마킹할 수 있나요?

네, YOLOv8 모델은 다양한 내보내기 형식 전반에서 속도와 정확도 측면에서 성능을 벤치마킹할 수 있습니다. PyTorch, ONNX, TensorRT 등을 벤치마킹에 사용할 수 있습니다. 아래는 Python 및 CLI를 사용한 벤치마킹 예시 명령입니다:

예제
from ultralytics.utils.benchmarks import benchmark

# Benchmark on GPU
benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, half=False, device=0)

추가 정보는 다음을 확인하십시오: 아키텍처 전용 변형 모델.

댓글