Ultralytics YOLO27:

Ultralytics YOLOv8 살펴보기#

개요#

YOLOv8은 2023년 1월 10일 Ultralytics에서 출시되었으며, 정확도와 속도 측면에서 최첨단 성능을 제공합니다. 이전 YOLO 버전의 발전을 기반으로 구축된 YOLOv8은 다양한 애플리케이션의 폭넓은 객체 검출 작업에 적합하도록 새로운 기능과 최적화를 도입했습니다.

YOLOv8 성능 비교 차트



Watch: Ultralytics YOLOv8 Model Overview
Ultralytics Platform에서 사용해 보기

Ultralytics Platform에서 직접 YOLOv8 모델을 탐색하고 실행해 보세요.

YOLOv8의 주요 기능#

  • 고급 Backbone 및 Neck 아키텍처: YOLOv8은 최첨단 Backbone 및 Neck 아키텍처를 사용하여 특징 추출객체 검출 성능을 향상합니다.
  • Anchor-free 분할 Ultralytics Head: YOLOv8은 Anchor 기반 접근 방식과 비교하여 더 높은 정확도와 효율적인 검출 프로세스를 제공하는 Anchor-free 분할 Ultralytics Head를 채택합니다.
  • 최적화된 정확도-속도 절충: 정확도와 속도 간의 최적 균형을 유지하는 데 중점을 둔 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 시리즈의 다재다능성과 견고성을 보여 주므로, 컴퓨터 비전의 다양한 애플리케이션에 적합합니다.

성능 지표#

성능

80개의 사전 학습된 클래스를 포함하는 COCO로 학습된 이 모델의 사용 예제는 검출 문서를 참조하십시오.

모델크기
(픽셀)
mAPval
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 학습 및 추론 방법을 제공합니다. 이러한 모드와 기타 모드에 대한 전체 문서는 Predict, Train, ValExport 문서 페이지를 참조하세요.

아래 예시는 객체 검출을 위한 YOLOv8 Detect 모델에 대한 것입니다. 추가로 지원되는 작업은 Segment, Classify, PoseOBB 문서를 참조하세요.

예시

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 저장소문서를 참조하세요.

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

FAQ#

  • YOLOv8은 고급 기능을 통해 실시간 객체 검출 성능을 향상하도록 설계되었습니다. 이전 버전과 달리 YOLOv8은 Anchor-free 분할 Ultralytics Head, 최첨단 Backbone 및 Neck 아키텍처를 통합하고, 최적화된 정확도-속도 절충을 제공하므로 다양한 애플리케이션에 적합합니다. 자세한 내용은 개요주요 기능 섹션을 확인하세요.

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

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

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

    예시
    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 모델은 다양한 내보내기 형식에서 속도와 정확도 측면의 성능을 벤치마크할 수 있습니다. 벤치마킹에는 PyTorch, ONNX, TensorRT 등을 사용할 수 있습니다. 아래에는 Python 및 CLI를 사용한 벤치마킹 명령어 예시가 나와 있습니다.

    예시
    from ultralytics.utils.benchmarks import benchmark
    
    # Benchmark on GPU
    benchmark(model="yolov8n.pt", data="coco8.yaml", imgsz=640, device=0)

    추가 정보는 성능 지표 섹션을 확인하세요.

댓글