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

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)
params
(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-01-15
μž‘μ„±μž: glenn-jocher (8)

λŒ“κΈ€