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

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)
λ§€κ°œλ³€μˆ˜
(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)
λ§€κ°œλ³€μˆ˜
(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)
λ§€κ°œλ³€μˆ˜
(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

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

λͺ¨λΈ 크기
(ν”½μ…€)
acc
top1
ACC
TOP5
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
λ§€κ°œλ³€μˆ˜
(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)
λ§€κ°œλ³€μˆ˜
(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)
λ§€κ°œλ³€μˆ˜
(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 및 μ—”ν„°ν”„λΌμ΄μ¦ˆ λΌμ΄μ„ μŠ€λ‘œ μ œκ³΅λ©λ‹ˆλ‹€.



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

λŒ“κΈ€