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

YOLOv5

κ°œμš”

YOLOv5uλŠ” 객체 감지 λ°©λ²•λ‘ μ˜ 진보λ₯Ό λ‚˜νƒ€λƒ…λ‹ˆλ‹€. κΈ°λ³Έ μ•„ν‚€ν…μ²˜μ—μ„œ μΆœλ°œν•œ YOLOv5 λͺ¨λΈ( Ultralytics)의 κΈ°λ³Έ μ•„ν‚€ν…μ²˜μ—μ„œ μœ λž˜ν•œ YOLOv5uλŠ” 이전에 μ†Œκ°œλœ 액컀가 μ—†κ³  물체가 μ—†λŠ” λΆ„ν•  ν—€λ“œλ₯Ό ν†΅ν•©ν•˜μ—¬ YOLOv8 λͺ¨λΈμ— λ„μž…λœ κΈ°λŠ₯μž…λ‹ˆλ‹€. μ΄λŸ¬ν•œ 쑰정은 λͺ¨λΈμ˜ μ•„ν‚€ν…μ²˜λ₯Ό κ°œμ„ ν•˜μ—¬ 물체 감지 μž‘μ—…μ—μ„œ 정확도와 속도 κ°„μ˜ νŠΈλ ˆμ΄λ“œ μ˜€ν”„κ°€ κ°œμ„ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. κ²½ν—˜μ  결과와 κ·Έλ‘œλΆ€ν„° λ„μΆœλœ νŠΉμ§•μ„ κ³ λ €ν•  λ•Œ, YOLOv5uλŠ” 연ꡬ와 μ‹€μ œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λͺ¨λ‘μ—μ„œ κ°•λ ₯ν•œ μ†”λ£¨μ…˜μ„ μ°ΎλŠ” μ‚¬λžŒλ“€μ—κ²Œ 효율적인 λŒ€μ•ˆμ„ μ œκ³΅ν•©λ‹ˆλ‹€.

Ultralytics YOLOv5

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

  • 액컀 프리 λΆ„ν•  Ultralytics ν—€λ“œ: 기쑴의 객체 감지 λͺ¨λΈμ€ 사전 μ •μ˜λœ 액컀 λ°•μŠ€μ— μ˜μ‘΄ν•˜μ—¬ 객체 μœ„μΉ˜λ₯Ό μ˜ˆμΈ‘ν•©λ‹ˆλ‹€. ν•˜μ§€λ§Œ YOLOv5uλŠ” μ΄λŸ¬ν•œ μ ‘κ·Ό 방식을 ν˜„λŒ€ν™”ν•©λ‹ˆλ‹€. 액컀 프리 λΆ„ν•  Ultralytics ν—€λ“œλ₯Ό μ±„νƒν•¨μœΌλ‘œμ¨ 보닀 μœ μ—°ν•˜κ³  적응적인 감지 λ©”μ»€λ‹ˆμ¦˜μ„ 보μž₯ν•˜μ—¬ 결과적으둜 λ‹€μ–‘ν•œ μ‹œλ‚˜λ¦¬μ˜€μ—μ„œ μ„±λŠ₯을 ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€.

  • μ΅œμ ν™”λœ 정확도-속도 νŠΈλ ˆμ΄λ“œ μ˜€ν”„: 속도와 μ •ν™•λ„λŠ” μ’…μ’… μ„œλ‘œ λ°˜λŒ€ λ°©ν–₯으둜 μ›€μ§μž…λ‹ˆλ‹€. ν•˜μ§€λ§Œ YOLOv5uλŠ” 이 νŠΈλ ˆμ΄λ“œμ˜€ν”„μ— λ„μ „ν•©λ‹ˆλ‹€. 이 μ œν’ˆμ€ λ³΄μ •λœ 밸런슀λ₯Ό μ œκ³΅ν•˜μ—¬ 정확도 μ €ν•˜ 없이 μ‹€μ‹œκ°„ 감지λ₯Ό 보μž₯ν•©λ‹ˆλ‹€. 이 κΈ°λŠ₯은 특히 자율 μ£Όν–‰ μ°¨λŸ‰, λ‘œλ΄‡ 곡학, μ‹€μ‹œκ°„ λΉ„λ””μ˜€ 뢄석과 같이 μ‹ μ†ν•œ 응닡을 μš”κ΅¬ν•˜λŠ” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— 맀우 μœ μš©ν•©λ‹ˆλ‹€.

  • 사전 ν•™μŠ΅λœ λ‹€μ–‘ν•œ λͺ¨λΈ: μž‘μ—…λ§ˆλ‹€ λ‹€λ₯Έ νˆ΄μ…‹μ΄ ν•„μš”ν•˜λ‹€λŠ” 점을 μ΄ν•΄ν•œ YOLOv5uλŠ” λ‹€μ–‘ν•œ 사전 ν•™μŠ΅λœ λͺ¨λΈμ„ μ œκ³΅ν•©λ‹ˆλ‹€. μΆ”λ‘ , 검증, ꡐ윑 쀑 μ–΄λ–€ 뢄야에 μ§‘μ€‘ν•˜λ“  λ§žμΆ€ν˜• λͺ¨λΈμ΄ μ—¬λŸ¬λΆ„μ„ 기닀리고 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ 닀양성을 톡해 천편일λ₯ μ μΈ μ†”λ£¨μ…˜μ΄ μ•„λ‹ˆλΌ κ³ μœ ν•œ κ³Όμ œμ— 맞게 νŠΉλ³„νžˆ λ―Έμ„Έ μ‘°μ •λœ λͺ¨λΈμ„ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

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

사전 ν•™μŠ΅λœ λ‹€μ–‘ν•œ κ°€μ€‘μΉ˜λ₯Ό κ°–μΆ˜ YOLOv5u λͺ¨λΈμ€ 물체 감지 μž‘μ—…μ— νƒμ›”ν•©λ‹ˆλ‹€. 포괄적인 λͺ¨λ“œλ₯Ό μ§€μ›ν•˜λ―€λ‘œ κ°œλ°œλΆ€ν„° λ°°ν¬κΉŒμ§€ λ‹€μ–‘ν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— μ ν•©ν•©λ‹ˆλ‹€.

λͺ¨λΈ μœ ν˜• 사전 ν•™μŠ΅λœ κ°€μ€‘μΉ˜ μž‘μ—… μΆ”λ‘  μœ νš¨μ„± 검사 ꡐ윑 내보내기
YOLOv5u yolov5nu, yolov5su, yolov5mu, yolov5lu, yolov5xu, yolov5n6u, yolov5s6u, yolov5m6u, yolov5l6u, yolov5x6u 물체 감지 βœ… βœ… βœ… βœ…

이 ν‘œμ—μ„œλŠ” 객체 감지 μž‘μ—…μ—μ„œμ˜ 적용 κ°€λŠ₯μ„±κ³Ό μΆ”λ‘ , 검증, ν›ˆλ ¨, 내보내기 λ“± λ‹€μ–‘ν•œ 운영 λͺ¨λ“œμ— λŒ€ν•œ 지원을 κ°•μ‘°ν•˜λŠ” YOLOv5u λͺ¨λΈ λ³€ν˜•μ— λŒ€ν•œ μžμ„Έν•œ κ°œμš”λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ 포괄적인 지원을 톡해 μ‚¬μš©μžλŠ” λ‹€μ–‘ν•œ 물체 감지 μ‹œλ‚˜λ¦¬μ˜€μ—μ„œ YOLOv5u λͺ¨λΈμ˜ κΈ°λŠ₯을 μ΅œλŒ€ν•œ ν™œμš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

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

μ„±λŠ₯

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

λͺ¨λΈ YAML 크기
(ν”½μ…€)
mAPval
50-95
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
λ§€κ°œλ³€μˆ˜
(M)
FLOPs
(B)
yolov5nu.pt yolov5n.yaml 640 34.3 73.6 1.06 2.6 7.7
yolov5su.pt yolov5s.yaml 640 43.0 120.7 1.27 9.1 24.0
yolov5mu.pt yolov5m.yaml 640 49.0 233.9 1.86 25.1 64.2
yolov5lu.pt yolov5l.yaml 640 52.2 408.4 2.50 53.2 135.0
yolov5xu.pt yolov5x.yaml 640 53.2 763.2 3.81 97.2 246.4
yolov5n6u.pt yolov5n6.yaml 1280 42.1 211.0 1.83 4.3 7.8
yolov5s6u.pt yolov5s6.yaml 1280 48.6 422.6 2.34 15.3 24.6
yolov5m6u.pt yolov5m6.yaml 1280 53.6 810.9 4.36 41.2 65.7
yolov5l6u.pt yolov5l6.yaml 1280 55.7 1470.9 5.47 86.1 137.4
yolov5x6u.pt yolov5x6.yaml 1280 56.8 2436.5 8.98 155.4 250.7

μ‚¬μš© 예

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

예

PyTorch 사전 ꡐ윑 *.pt λͺ¨λΈ 및 ꡬ성 *.yaml νŒŒμΌμ„ YOLO() 클래슀λ₯Ό μ‚¬μš©ν•˜μ—¬ python μ—μ„œ λͺ¨λΈ μΈμŠ€ν„΄μŠ€λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€:

from ultralytics import YOLO

# Load a COCO-pretrained YOLOv5n model
model = YOLO('yolov5n.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 YOLOv5n model on the 'bus.jpg' image
results = model('path/to/bus.jpg')

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

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

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

인용 및 감사

연ꡬ에 YOLOv5 λ˜λŠ” YOLOv5uλ₯Ό μ‚¬μš©ν•˜λŠ” 경우 Ultralytics YOLOv5 리포지토리λ₯Ό λ‹€μŒκ³Ό 같이 μΈμš©ν•˜μ„Έμš”:

@software{yolov5,
  title = {Ultralytics YOLOv5},
  author = {Glenn Jocher},
  year = {2020},
  version = {7.0},
  license = {AGPL-3.0},
  url = {https://github.com/ultralytics/yolov5},
  doi = {10.5281/zenodo.3908559},
  orcid = {0000-0001-5950-6979}
}

YOLOv5 λͺ¨λΈμ€ λ‹€μŒκ³Ό 같이 μ œκ³΅λ©λ‹ˆλ‹€. AGPL-3.0 및 μ—”ν„°ν”„λΌμ΄μ¦ˆ λΌμ΄μ„ μŠ€λ‘œ μ œκ³΅λ©λ‹ˆλ‹€.



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

λŒ“κΈ€