Ultralytics YOLO27:
Get Started

Ultralytics YOLOv8 살펴보기#

개요#

Ultralytics는 2023년 1월 10일 YOLOv8을 출시했으며, 정확도와 속도 면에서 최첨단 성능을 제공합니다. 이전 YOLO 버전의 발전을 바탕으로 새로운 기능과 최적화를 도입한 YOLOv8은 다양한 애플리케이션의 객체 감지 작업에 이상적인 선택입니다.

YOLOv8 성능 비교 차트



시청: Ultralytics YOLOv8 모델 개요
Ultralytics Platform에서 사용해 보기

Ultralytics 플랫폼에서 YOLOv8 모델을 직접 살펴보고 실행하세요.

YOLOv8 주요 기능#

  • 고급 백본 및 넥 아키텍처: YOLOv8은 최첨단 백본 및 넥 아키텍처를 적용하여 특징 추출 및 객체 탐지 성능을 향상합니다.
  • 앵커 프리 분리형 Ultralytics 헤드: YOLOv8은 앵커 프리 분리형 Ultralytics 헤드를 채택하여 앵커 기반 방식보다 정확도를 높이고 탐지 프로세스를 더욱 효율적으로 수행합니다.
  • 최적화된 정확도-속도 균형: 정확도와 속도 간의 최적의 균형을 유지하는 데 중점을 둔 YOLOv8은 다양한 응용 분야의 실시간 객체 탐지 작업에 적합합니다.
  • 다양한 사전 학습 모델: YOLOv8은 다양한 작업과 성능 요구 사항에 맞는 여러 사전 학습 모델을 제공하므로, 특정 사용 사례에 적합한 모델을 더 쉽게 찾을 수 있습니다.

지원 작업 및 모드#

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

YOLOv8 시리즈의 각 변형 모델은 해당 작업에 맞게 최적화되어 높은 성능과 정확도를 보장합니다. 또한 이 모델들은 추론, 검증, 학습, 내보내기 등 다양한 운영 모드와 호환되어 배포 및 개발의 여러 단계에서 사용할 수 있습니다.

모델파일 이름작업학습검증추론내보내기
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-clsyolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.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.pt방향성 객체 감지✅✅✅✅

이 표에서는 YOLOv8 모델 변형을 개괄하고, 특정 작업에 대한 적합성과 추론, 검증, 학습, 내보내기 등의 다양한 운영 모드와의 호환성을 강조합니다. 또한 YOLOv8 시리즈의 다용도성과 견고성을 보여 주며, 컴퓨터 비전의 다양한 응용 분야에 적합함을 설명합니다.

성능 지표#

성능

COCO에서 학습되고 사전 학습된 클래스 80개를 포함하는 이 모델의 사용 예제는 탐지 문서를 참조하세요. COCO를 참조하세요.

모델크기
(픽셀)
mAP검증
50-95
속도
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.1
YOLOv8x64053.9479.13.5368.2257.8

YOLOv8 사용 예제#

이 예제에서는 간단한 YOLOv8 학습 및 추론 예제를 제공합니다. 이 예제와 다른 모드에 대한 전체 문서는 예측, 학습, 검증, 내보내기 문서 페이지를 참조하세요.

아래 예제는 객체 탐지를 위한 YOLOv8 탐지 모델에 해당합니다. 지원되는 다른 작업에 대해서는 분할, 분류, 포즈, OBB 문서를 참조하세요.

예제

PyTorch 사전 학습된 *.pt 모델과 구성 *.yaml 파일을 YOLO() 클래스에 전달하여 Python에서 모델 인스턴스를 생성할 수 있습니다:

from ultralytics import YOLO

# COCO로 사전 학습된 YOLOv8n 모델 로드
model = YOLO("yolov8n.pt")

# 모델 정보 표시(선택 사항)
model.info()

# COCO8 예제 데이터셋으로 100 에포크 동안 모델 학습
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

# 'bus.jpg' 이미지에서 YOLOv8n 모델로 추론 실행
results = model("path/to/bus.jpg")

인용 및 감사의 글#

Ultralytics YOLOv8 간행물

모델이 빠르게 발전하고 있어 Ultralytics는 YOLOv8에 관한 공식 연구 논문을 발표하지 않았습니다. 정적인 문서를 작성하기보다는 기술을 발전시키고 사용을 더 쉽게 만드는 데 주력하고 있습니다. YOLO 아키텍처, 기능, 사용법에 관한 최신 정보는 GitHub 저장소와 문서를 참조하세요.

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.0 및 엔터프라이즈 라이선스에 따라 제공됩니다.

자주 묻는 질문#

  • YOLOv8은 고급 기능을 통해 실시간 객체 탐지 성능을 개선하도록 설계되었습니다. 이전 버전과 달리 YOLOv8은 앵커 프리 분리형 Ultralytics 헤드, 최첨단 백본 및 넥 아키텍처를 도입하고, 정확도와 속도 간의 균형을 최적화하여 다양한 응용 분야에 적합합니다. 자세한 내용은 개요 및 주요 기능 섹션을 확인하세요.

  • YOLOv8은 객체 탐지, 인스턴스 분할, 분류, 포즈/키포인트 탐지, 방향성 객체 탐지 등 폭넓은 컴퓨터 비전 작업을 지원합니다. 각 모델 변형은 해당 작업에 맞게 최적화되어 있으며 추론, 검증, 학습, 내보내기와 같은 다양한 운영 모드와 호환됩니다. 자세한 내용은 지원되는 작업 및 모드 섹션을 참조하세요.

  • YOLOv8 모델은 다양한 벤치마크 데이터셋에서 최첨단 성능을 달성합니다. 예를 들어 YOLOv8n 모델은 COCO 데이터셋에서 mAP(평균 정밀도) 37.3을 달성하고, A100 TensorRT에서 0.99ms의 속도를 기록합니다. 다양한 작업과 데이터셋에서 각 모델 변형의 상세한 성능 지표는 성능 지표 섹션에서 확인할 수 있습니다.

  • YOLOv8 모델은 Python 또는 CLI를 사용하여 학습할 수 있습니다. 아래에는 COCO로 사전 학습된 YOLOv8 모델을 사용해 COCO8 데이터셋에서 100 에포크 동안 모델을 학습하는 예제가 나와 있습니다:

    예제
    from ultralytics import YOLO
    
    # COCO로 사전 학습된 YOLOv8n 모델 로드
    model = YOLO("yolov8n.pt")
    
    # COCO8 예제 데이터셋으로 100 에포크 동안 모델 학습
    results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

    자세한 내용은 학습 문서를 참조하세요.

  • 예. 다양한 내보내기 형식에서 속도와 정확도를 기준으로 YOLOv8 모델의 성능을 벤치마크할 수 있습니다. 벤치마킹에는 PyTorch, ONNX, TensorRT 등을 사용할 수 있습니다. 아래는 Python 및 CLI를 사용한 벤치마킹 명령어 예제입니다:

    예제
    from ultralytics.utils.benchmarks import benchmark
    
    # GPU에서 벤치마크
    benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, device=0)

    자세한 내용은 성능 지표 섹션을 확인하세요.

댓글