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

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

자주 λ¬»λŠ” 질문

Ultralytics YOLOv5uλŠ” 무엇이며 YOLOv5 κ³Ό μ–΄λ–»κ²Œ λ‹€λ₯Έκ°€μš”?

Ultralytics YOLOv5uλŠ” YOLOv5 의 κ³ κΈ‰ λ²„μ „μœΌλ‘œ, μ‹€μ‹œκ°„ 물체 감지 μž‘μ—…μ˜ 정확도-속도 κ· ν˜•μ„ ν–₯μƒμ‹œν‚€λŠ” 액컀가 μ—†κ³  물체가 μ—†λŠ” λΆ„ν•  ν—€λ“œλ₯Ό ν†΅ν•©ν•œ μ œν’ˆμž…λ‹ˆλ‹€. κΈ°μ‘΄ YOLOv5 κ³Ό 달리 YOLOv5uλŠ” 액컀가 μ—†λŠ” 감지 λ©”μ»€λ‹ˆμ¦˜μ„ μ±„νƒν•˜μ—¬ λ‹€μ–‘ν•œ μ‹œλ‚˜λ¦¬μ˜€μ—μ„œ λ”μš± μœ μ—°ν•˜κ³  적응λ ₯이 λ›°μ–΄λ‚©λ‹ˆλ‹€. κΈ°λŠ₯에 λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©μ€ YOLOv5 κ°œμš”λ₯Ό μ°Έμ‘°ν•˜μ„Έμš”.

액컀가 μ—†λŠ” Ultralytics ν—€λ“œκ°€ YOLOv5uμ—μ„œ 물체 감지 μ„±λŠ₯을 μ–΄λ–»κ²Œ ν–₯μƒμ‹œν‚€λ‚˜μš”?

YOLOv5u의 액컀 프리( Ultralytics ) ν—€λ“œλŠ” 사전 μ •μ˜λœ 액컀 λ°•μŠ€μ— λŒ€ν•œ μ˜μ‘΄μ„±μ„ μ œκ±°ν•˜μ—¬ 물체 감지 μ„±λŠ₯을 ν–₯μƒμ‹œν‚΅λ‹ˆλ‹€. κ·Έ κ²°κ³Ό λ‹€μ–‘ν•œ 물체 크기와 λͺ¨μ–‘을 보닀 효율적으둜 μ²˜λ¦¬ν•  수 μžˆλŠ” 보닀 μœ μ—°ν•˜κ³  적응적인 감지 λ©”μ»€λ‹ˆμ¦˜μ΄ νƒ„μƒν–ˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ κ°œμ„ μ€ 정확도와 속도 κ°„μ˜ κ· ν˜• 작힌 νŠΈλ ˆμ΄λ“œμ˜€ν”„μ— μ§μ ‘μ μœΌλ‘œ κΈ°μ—¬ν•˜μ—¬ YOLOv5uλ₯Ό μ‹€μ‹œκ°„ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ— μ ν•©ν•˜κ²Œ λ§Œλ“­λ‹ˆλ‹€. μ£Όμš” κΈ°λŠ₯ μ„Ήμ…˜μ—μ„œ μ•„ν‚€ν…μ²˜μ— λŒ€ν•΄ μžμ„Ένžˆ μ•Œμ•„λ³΄μ„Έμš”.

λ‹€λ₯Έ μž‘μ—…κ³Ό λͺ¨λ“œμ— 사전 ν•™μŠ΅λœ YOLOv5u λͺ¨λΈμ„ μ‚¬μš©ν•  수 μžˆλ‚˜μš”?

예, 객체 감지와 같은 λ‹€μ–‘ν•œ μž‘μ—…μ— 사전 ν•™μŠ΅λœ YOLOv5u λͺ¨λΈμ„ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ΄λŸ¬ν•œ λͺ¨λΈμ€ μΆ”λ‘ , 검증, ν›ˆλ ¨, 내보내기 λ“± μ—¬λŸ¬ λͺ¨λ“œλ₯Ό μ§€μ›ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ μœ μ—°μ„± 덕뢄에 μ‚¬μš©μžλŠ” λ‹€μ–‘ν•œ 운영 μš”κ΅¬ 사항에 따라 YOLOv5u λͺ¨λΈμ˜ κΈ°λŠ₯을 ν™œμš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. μžμ„Έν•œ κ°œμš”λŠ” μ§€μ›λ˜λŠ” μž‘μ—… 및 λͺ¨λ“œ μ„Ήμ…˜μ„ μ°Έμ‘°ν•˜μ„Έμš”.

YOLOv5u λͺ¨λΈμ˜ μ„±λŠ₯ μ§€ν‘œλŠ” λ‹€λ₯Έ ν”Œλž«νΌμ—μ„œ μ–΄λ–»κ²Œ λΉ„κ΅λ˜λ‚˜μš”?

YOLOv5u λͺ¨λΈμ˜ μ„±λŠ₯ λ©”νŠΈλ¦­μ€ μ‚¬μš©λ˜λŠ” ν”Œλž«νΌκ³Ό ν•˜λ“œμ›¨μ–΄μ— 따라 λ‹€λ¦…λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, YOLOv5nu λͺ¨λΈμ€ COCO 데이터 μ„ΈνŠΈμ—μ„œ 34.3mAPλ₯Ό λ‹¬μ„±ν•˜λ©° CPU (ONNX) 및 A100 TensorRT μ—μ„œ 73.6ms의 속도λ₯Ό κΈ°λ‘ν•©λ‹ˆλ‹€. λ‹€μ–‘ν•œ YOLOv5u λͺ¨λΈμ— λŒ€ν•œ μžμ„Έν•œ μ„±λŠ₯ λ©”νŠΈλ¦­μ€ μ„±λŠ₯ λ©”νŠΈλ¦­ μ„Ήμ…˜μ—μ„œ 확인할 수 있으며, λ‹€μ–‘ν•œ λ””λ°”μ΄μŠ€μ— λŒ€ν•œ 쒅합적인 비ꡐλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

Ultralytics Python APIλ₯Ό μ‚¬μš©ν•˜μ—¬ YOLOv5u λͺ¨λΈμ„ ν›ˆλ ¨ν•˜λ €λ©΄ μ–΄λ–»κ²Œ ν•΄μ•Ό ν•˜λ‚˜μš”?

사전 ν•™μŠ΅λœ λͺ¨λΈμ„ λ‘œλ“œν•˜κ³  데이터 μ„ΈνŠΈμ™€ ν•¨κ»˜ ν•™μŠ΅ λͺ…령을 μ‹€ν–‰ν•˜μ—¬ YOLOv5u λͺ¨λΈμ„ ν•™μŠ΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€. λ‹€μŒμ€ κ°„λ‹¨ν•œ μ˜ˆμž…λ‹ˆλ‹€:

예

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

μžμ„Έν•œ 지침은 μ‚¬μš© μ˜ˆμ‹œ μ„Ήμ…˜μ„ μ°Έμ‘°ν•˜μ„Έμš”.



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

λŒ“κΈ€