μ½˜ν…μΈ λ‘œ κ±΄λ„ˆλ›°κΈ°

YOLOv8

κ°œμš”

YOLOv8 λŠ” μ‹€μ‹œκ°„ 물체 감지기 YOLO μ‹œλ¦¬μ¦ˆμ˜ μ΅œμ‹  λ²„μ „μœΌλ‘œ, 정확도와 속도 λ©΄μ—μ„œ μ΅œμ²¨λ‹¨ μ„±λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. 이전 버전( YOLO )의 λ°œμ „λœ κΈ°λŠ₯을 기반으둜 ν•˜λŠ” YOLOv8 은 λ‹€μ–‘ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ λ‹€μ–‘ν•œ 물체 감지 μž‘μ—…μ— 이상적인 선택이 될 수 μžˆλ„λ‘ μƒˆλ‘œμš΄ κΈ°λŠ₯κ³Ό μ΅œμ ν™”λ₯Ό λ„μž…ν–ˆμŠ΅λ‹ˆλ‹€.

Ultralytics YOLOv8



Watch: Ultralytics YOLOv8 λͺ¨λΈ κ°œμš”

μ£Όμš” κΈ°λŠ₯

  • κ³ κΈ‰ λ°±λ³Έ 및 λ„₯ μ•„ν‚€ν…μ²˜: YOLOv8 은 μ΅œμ²¨λ‹¨ λ°±λ³Έ 및 λ„₯ μ•„ν‚€ν…μ²˜λ₯Ό μ±„νƒν•˜μ—¬ νŠΉμ§• μΆ”μΆœ 및 객체 감지 μ„±λŠ₯을 ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€.
  • 액컀 프리 μŠ€ν”Œλ¦Ώ Ultralytics ν—€λ“œ: YOLOv8 액컀 프리 μŠ€ν”Œλ¦Ώ Ultralytics ν—€λ“œλŠ” 액컀 기반 μ ‘κ·Ό 방식에 λΉ„ν•΄ 더 λ‚˜μ€ 정확도와 더 효율적인 탐지 ν”„λ‘œμ„ΈμŠ€μ— κΈ°μ—¬ν•˜λŠ” 액컀 프리 μŠ€ν”Œλ¦Ώμ„ μ±„νƒν•©λ‹ˆλ‹€.
  • μ΅œμ ν™”λœ 정확도-속도 νŠΈλ ˆμ΄λ“œμ˜€ν”„: 정확도와 속도 κ°„μ˜ 졜적의 κ· ν˜•μ„ μœ μ§€ν•˜λŠ” 데 쀑점을 λ‘” YOLOv8 은 λ‹€μ–‘ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ μ˜μ—­μ—μ„œ μ‹€μ‹œκ°„ 물체 감지 μž‘μ—…μ— μ ν•©ν•©λ‹ˆλ‹€.
  • λ‹€μ–‘ν•œ 사전 ν•™μŠ΅ λͺ¨λΈ: YOLOv8 μ—μ„œλŠ” λ‹€μ–‘ν•œ μž‘μ—… 및 μ„±λŠ₯ μš”κ΅¬ 사항을 μΆ©μ‘±ν•˜λŠ” λ‹€μ–‘ν•œ 사전 ν•™μŠ΅ λͺ¨λΈμ„ μ œκ³΅ν•˜λ―€λ‘œ νŠΉμ • μ‚¬μš© 사둀에 μ ν•©ν•œ λͺ¨λΈμ„ μ‰½κ²Œ 찾을 수 μžˆμŠ΅λ‹ˆλ‹€.

μ§€μ›λ˜λŠ” μž‘μ—… 및 λͺ¨λ“œ

YOLOv8 μ‹œλ¦¬μ¦ˆλŠ” 컴퓨터 λΉ„μ „μ˜ νŠΉμ • μž‘μ—…μ— νŠΉν™”λœ λ‹€μ–‘ν•œ λͺ¨λΈμ„ μ œκ³΅ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ λͺ¨λΈμ€ 객체 감지뢀터 μΈμŠ€ν„΄μŠ€ λΆ„ν• , 포즈/ν‚€ν¬μΈνŠΈ 감지, λ°©ν–₯μ„± 객체 감지 및 λΆ„λ₯˜μ™€ 같은 보닀 λ³΅μž‘ν•œ μž‘μ—…κΉŒμ§€ λ‹€μ–‘ν•œ μš”κ΅¬ 사항을 μΆ©μ‘±ν•˜λ„λ‘ μ„€κ³„λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

YOLOv8 μ‹œλ¦¬μ¦ˆμ˜ 각 λ³€ν˜•μ€ 각각의 μž‘μ—…μ— μ΅œμ ν™”λ˜μ–΄ μžˆμ–΄ 높은 μ„±λŠ₯κ³Ό 정확성을 보μž₯ν•©λ‹ˆλ‹€. λ˜ν•œ μ΄λŸ¬ν•œ λͺ¨λΈμ€ μΆ”λ‘ , 검증, ꡐ윑 및 내보내기λ₯Ό ν¬ν•¨ν•œ λ‹€μ–‘ν•œ 운영 λͺ¨λ“œμ™€ ν˜Έν™˜λ˜λ―€λ‘œ 배포 및 개발의 μ—¬λŸ¬ λ‹¨κ³„μ—μ„œ μ‰½κ²Œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λͺ¨λΈ 파일 이름 μž‘μ—… μΆ”λ‘  μœ νš¨μ„± 검사 ꡐ윑 내보내기
YOLOv8 yolov8n.pt yolov8s.pt yolov8m.pt yolov8l.pt yolov8x.pt 탐지 βœ… βœ… βœ… βœ…
YOLOv8-seg yolov8n-seg.pt yolov8s-seg.pt yolov8m-seg.pt yolov8l-seg.pt yolov8x-seg.pt μΈμŠ€ν„΄μŠ€ μ„ΈλΆ„ν™” βœ… βœ… βœ… βœ…
YOLOv8-pose yolov8n-pose.pt yolov8s-pose.pt yolov8m-pose.pt yolov8l-pose.pt yolov8x-pose.pt yolov8x-pose-p6.pt 포즈/ν‚€ν¬μΈνŠΈ βœ… βœ… βœ… βœ…
YOLOv8-obb yolov8n-obb.pt yolov8s-obb.pt yolov8m-obb.pt yolov8l-obb.pt yolov8x-obb.pt λ°©ν–₯ 탐지 βœ… βœ… βœ… βœ…
YOLOv8-cls yolov8n-cls.pt yolov8s-cls.pt yolov8m-cls.pt yolov8l-cls.pt yolov8x-cls.pt λΆ„λ₯˜ βœ… βœ… βœ… βœ…

이 ν‘œλŠ” YOLOv8 λͺ¨λΈ λ³€ν˜•μ— λŒ€ν•œ κ°œμš”λ₯Ό μ œκ³΅ν•˜λ©°, νŠΉμ • μž‘μ—…μ—μ„œμ˜ 적용 κ°€λŠ₯μ„±κ³Ό μΆ”λ‘ , 검증, ν›ˆλ ¨ 및 내보내기와 같은 λ‹€μ–‘ν•œ μž‘λ™ λͺ¨λ“œμ™€μ˜ ν˜Έν™˜μ„±μ„ κ°•μ‘°ν•©λ‹ˆλ‹€. 이 ν‘œλŠ” 컴퓨터 λΉ„μ „μ˜ λ‹€μ–‘ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— μ ν•©ν•œ YOLOv8 μ‹œλ¦¬μ¦ˆμ˜ λ‹€λͺ©μ μ„±κ³Ό 견고함을 λ³΄μ—¬μ€λ‹ˆλ‹€.

μ„±λŠ₯ μ§€ν‘œ

μ„±λŠ₯

사전 ν•™μŠ΅λœ 80개의 클래슀λ₯Ό ν¬ν•¨ν•˜μ—¬ COCOμ—μ„œ ν•™μŠ΅λœ μ΄λŸ¬ν•œ λͺ¨λΈμ˜ μ‚¬μš© μ˜ˆλŠ” 탐지 λ¬Έμ„œλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

λͺ¨λΈ 크기
(ν”½μ…€)
mAPval
50-95
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
params
(M)
FLOPs
(B)
YOLOv8n 640 37.3 80.4 0.99 3.2 8.7
YOLOv8s 640 44.9 128.4 1.20 11.2 28.6
YOLOv8m 640 50.2 234.7 1.83 25.9 78.9
YOLOv8l 640 52.9 375.2 2.39 43.7 165.2
YOLOv8x 640 53.9 479.1 3.53 68.2 257.8

600개의 사전 ν•™μŠ΅λœ ν΄λž˜μŠ€κ°€ ν¬ν•¨λœ Open Image V7μ—μ„œ ν•™μŠ΅λœ μ΄λŸ¬ν•œ λͺ¨λΈμ˜ μ‚¬μš© μ˜ˆλŠ” 탐지 λ¬Έμ„œλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

λͺ¨λΈ 크기
(ν”½μ…€)
mAPval
50-95
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
params
(M)
FLOPs
(B)
YOLOv8n 640 18.4 142.4 1.21 3.5 10.5
YOLOv8s 640 27.7 183.1 1.40 11.4 29.7
YOLOv8m 640 33.6 408.5 2.26 26.2 80.6
YOLOv8l 640 34.9 596.9 2.43 44.1 167.4
YOLOv8x 640 36.3 860.6 3.56 68.7 260.6

μ„ΈλΆ„ν™” λ¬Έμ„œμ—μ„œ 80개의 사전 ν•™μŠ΅λœ 클래슀λ₯Ό ν¬ν•¨ν•˜μ—¬ COCOμ—μ„œ ν•™μŠ΅λœ μ΄λŸ¬ν•œ λͺ¨λΈμ˜ μ‚¬μš© μ˜ˆμ‹œλ₯Ό ν™•μΈν•˜μ„Έμš”.

λͺ¨λΈ 크기
(ν”½μ…€)
mAPbox
50-95
mAPmask
50-95
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
params
(M)
FLOPs
(B)
YOLOv8n-seg 640 36.7 30.5 96.1 1.21 3.4 12.6
YOLOv8s-seg 640 44.6 36.8 155.7 1.47 11.8 42.6
YOLOv8m-seg 640 49.9 40.8 317.0 2.18 27.3 110.2
YOLOv8l-seg 640 52.3 42.6 572.4 2.79 46.0 220.5
YOLOv8x-seg 640 53.4 43.4 712.1 4.02 71.8 344.1

1,000개의 사전 ν•™μŠ΅λœ ν΄λž˜μŠ€κ°€ ν¬ν•¨λœ μ΄λ―Έμ§€λ„·μ—μ„œ ν•™μŠ΅λœ μ΄λŸ¬ν•œ λͺ¨λΈμ˜ μ‚¬μš© μ˜ˆλŠ” λΆ„λ₯˜ λ¬Έμ„œλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

λͺ¨λΈ 크기
(ν”½μ…€)
ACC
TOP1
ACC
TOP5
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
params
(M)
FLOPs
(B) at 640
YOLOv8n-cls 224 69.0 88.3 12.9 0.31 2.7 4.3
YOLOv8s-cls 224 73.8 91.7 23.4 0.35 6.4 13.5
YOLOv8m-cls 224 76.8 93.5 85.4 0.62 17.0 42.7
YOLOv8l-cls 224 76.8 93.5 163.0 0.87 37.5 99.7
YOLOv8x-cls 224 79.0 94.6 232.0 1.01 57.4 154.8

사전 ν•™μŠ΅λœ 클래슀인 'μ‚¬λžŒ' 1개λ₯Ό ν¬ν•¨ν•˜μ—¬ COCOμ—μ„œ ν•™μŠ΅λœ μ΄λŸ¬ν•œ λͺ¨λΈμ˜ μ‚¬μš© μ˜ˆλŠ” 포즈 μΆ”μ • λ¬Έμ„œλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

λͺ¨λΈ 크기
(ν”½μ…€)
mAPpose
50-95
mAPpose
50
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
params
(M)
FLOPs
(B)
YOLOv8n-pose 640 50.4 80.1 131.8 1.18 3.3 9.2
YOLOv8s-pose 640 60.0 86.2 233.2 1.42 11.6 30.2
YOLOv8m-pose 640 65.0 88.8 456.3 2.00 26.4 81.0
YOLOv8l-pose 640 67.6 90.0 784.5 2.59 44.4 168.6
YOLOv8x-pose 640 69.2 90.2 1607.1 3.73 69.4 263.2
YOLOv8x-pose-p6 1280 71.6 91.2 4088.7 10.04 99.1 1066.4

사전 ν•™μŠ΅λœ 15개의 ν΄λž˜μŠ€κ°€ ν¬ν•¨λœ DOTAv1μ—μ„œ ν•™μŠ΅λœ μ΄λŸ¬ν•œ λͺ¨λΈμ˜ μ‚¬μš© μ˜ˆλŠ” λ°©ν–₯μ„± 감지 λ¬Έμ„œλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

λͺ¨λΈ 크기
(ν”½μ…€)
mAPtest
50
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
params
(M)
FLOPs
(B)
YOLOv8n-obb 1024 78.0 204.77 3.57 3.1 23.3
YOLOv8s-obb 1024 79.5 424.88 4.07 11.4 76.3
YOLOv8m-obb 1024 80.5 763.48 7.61 26.4 208.6
YOLOv8l-obb 1024 80.7 1278.42 11.83 44.5 433.8
YOLOv8x-obb 1024 81.36 1759.10 13.23 69.5 676.7

μ‚¬μš© 예

이 μ˜ˆλŠ” κ°„λ‹¨ν•œ YOLOv8 ν›ˆλ ¨ 및 μΆ”λ‘  예제λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ λͺ¨λ“œ 및 기타 λͺ¨λ“œμ— λŒ€ν•œ 전체 μ„€λͺ…μ„œλŠ” 예츑, ν•™μŠ΅, Val 및 내보내기 λ¬Έμ„œ νŽ˜μ΄μ§€λ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

μ•„λž˜ μ˜ˆλŠ” YOLOv8 객체 감지λ₯Ό μœ„ν•œ λͺ¨λΈκ°μ§€μš© μ˜ˆμ œμž…λ‹ˆλ‹€. μΆ”κ°€λ‘œ μ§€μ›λ˜λŠ” μž‘μ—…μ€ μ„Έκ·Έλ¨ΌνŠΈ, λΆ„λ₯˜, OBB λ¬Έμ„œ 및 포즈 λ¬Έμ„œλ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

예제

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')

CLI λͺ…령을 μ‚¬μš©ν•˜μ—¬ λͺ¨λΈμ„ 직접 μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

# Load a COCO-pretrained YOLOv8n model and train it on the COCO8 example dataset for 100 epochs
yolo train model=yolov8n.pt data=coco8.yaml epochs=100 imgsz=640

# Load a COCO-pretrained YOLOv8n model and run inference on the 'bus.jpg' image
yolo predict model=yolov8n.pt source=path/to/bus.jpg

인용 및 감사

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 및 Enterprise λΌμ΄μ„ μŠ€λ‘œ μ œκ³΅λ©λ‹ˆλ‹€.



생성됨 2023-11-12, μ—…λ°μ΄νŠΈλ¨ 2024-02-03
μž‘μ„±μž: glenn-jocher (11), Laughing-q (2), AyushExel (1), fcakyon (1)

λŒ“κΈ€