λ€μμ μ¬μ©ν λͺ¨λΈ μ ν¨μ± κ²μ¬ Ultralytics YOLO
μκ°
κ²μ¦μ λ¨Έμ λ¬λ νμ΄νλΌμΈμμ μ€μν λ¨κ³λ‘, νμ΅λ λͺ¨λΈμ νμ§μ νκ°ν μ μκ² ν΄μ€λλ€. Ultralytics YOLOv8 μ Val λͺ¨λλ κ°μ²΄ κ°μ§ λͺ¨λΈμ μ±λ₯μ νκ°νκΈ° μν κ°λ ₯ν λꡬμ λ©νΈλ¦μ μ 곡ν©λλ€. μ΄ κ°μ΄λλ Val λͺ¨λλ₯Ό ν¨κ³Όμ μΌλ‘ μ¬μ©νμ¬ λͺ¨λΈμ μ νμ±κ³Ό μ λ’°μ±μ 보μ₯νλ λ°©λ²μ μ΄ν΄νλ λ° λμμ΄ λλ μλ²½ν 리μμ€μ λλ€.
Watch: Ultralytics λͺ¨λ νν 리μΌ: μ ν¨μ± κ²μ¬
μ Ultralytics YOLO μΌλ‘ μ ν¨μ± κ²μ¬λ₯Ό ν΄μΌ νλμ?
YOLOv8 μ Val λͺ¨λλ₯Ό μ¬μ©νλ κ²μ΄ μ 리ν μ΄μ λ λ€μκ³Ό κ°μ΅λλ€:
- μ λ°λ: mAP50, mAP75, mAP50-95μ κ°μ μ νν μ§νλ₯Ό ν΅ν΄ λͺ¨λΈμ μ’ ν©μ μΌλ‘ νκ°ν μ μμ΅λλ€.
- νΈλ¦¬ν¨: κ΅μ‘ μ€μ μ κΈ°μ΅νλ κΈ°λ³Έ μ 곡 κΈ°λ₯μ νμ©νμ¬ μ ν¨μ± κ²μ¬ νλ‘μΈμ€λ₯Ό κ°μνν©λλ€.
- μ μ°μ±: λμΌνκ±°λ λ€λ₯Έ λ°μ΄ν° μΈνΈμ μ΄λ―Έμ§ ν¬κΈ°λ‘ λͺ¨λΈμ κ²μ¦νμΈμ.
- νμ΄νΌνλΌλ―Έν° νλ: μ ν¨μ± κ²μ¬ λ©νΈλ¦μ μ¬μ©νμ¬ λͺ¨λΈμ λ―ΈμΈ μ‘°μ νμ¬ μ±λ₯μ κ°μ ν μ μμ΅λλ€.
Val λͺ¨λμ μ£Όμ κΈ°λ₯
λ€μμ YOLOv8 μ Val λͺ¨λμμ μ 곡νλ μ£Όλͺ©ν λ§ν κΈ°λ₯μ λλ€:
- μλνλ μ€μ : λͺ¨λΈμ΄ νμ΅ κ΅¬μ±μ κΈ°μ΅νμ¬ κ°νΈνκ² κ²μ¦ν μ μμ΅λλ€.
- λ©ν° λ©νΈλ¦ μ§μ: λ€μν μ νλ μ§νλ₯Ό κΈ°λ°μΌλ‘ λͺ¨λΈμ νκ°ν μ μμ΅λλ€.
- CLI λ° Python API: μ ν¨μ± κ²μ¬μ λν μ νΈλμ λ°λΌ λͺ λ Ήμ€ μΈν°νμ΄μ€ λλ Python API μ€μμ μ νν©λλ€.
- λ°μ΄ν° νΈνμ±: νμ΅ λ¨κ³μμ μ¬μ©λ λ°μ΄ν° μΈνΈλ λ¬Όλ‘ μ¬μ©μ μ§μ λ°μ΄ν° μΈνΈμλ μννκ² μλν©λλ€.
ν
- YOLOv8 λͺ¨λΈμ νμ΅ μ€μ μ μλμΌλ‘ κΈ°μ΅νλ―λ‘ λμΌν μ΄λ―Έμ§ ν¬κΈ°μ μλ³Έ λ°μ΄ν° μΈνΈμμ λ€μκ³Ό κ°μ λ°©λ²μΌλ‘ λͺ¨λΈμ μ½κ² κ²μ¦ν μ μμ΅λλ€.
yolo val model=yolov8n.pt
λλmodel('yolov8n.pt').val()
μ¬μ© μ
COCO8 λ°μ΄ν° μΈνΈμμ νμ΅λ YOLOv8n λͺ¨λΈ μ νλλ₯Ό κ²μ¦ν©λλ€. μΈμλ₯Ό μ λ¬ν νμκ° μμ΅λλ€. model
κ΅μ‘ μ μ§ data
λ° μΈμλ₯Ό λͺ¨λΈ μμ±μΌλ‘ μ¬μ©ν μ μμ΅λλ€. λ΄λ³΄λ΄κΈ° μΈμμ μ 체 λͺ©λ‘μ μλμ μΈμ μΉμ
μ μ°Έμ‘°νμΈμ.
μ
from ultralytics import YOLO
# Load a model
model = YOLO('yolov8n.pt') # load an official model
model = YOLO('path/to/best.pt') # load a custom model
# Validate the model
metrics = model.val() # no arguments needed, dataset and settings remembered
metrics.box.map # map50-95
metrics.box.map50 # map50
metrics.box.map75 # map75
metrics.box.maps # a list contains map50-95 of each category
YOLO λͺ¨λΈ μ ν¨μ± κ²μ¬μ λν μΈμ
YOLO λͺ¨λΈμ κ²μ¦ν λ μ¬λ¬ μΈμλ₯Ό λ―ΈμΈ μ‘°μ νμ¬ νκ° νλ‘μΈμ€λ₯Ό μ΅μ νν μ μμ΅λλ€. μ΄λ¬ν μΈμλ μ λ ₯ μ΄λ―Έμ§ ν¬κΈ°, μΌκ΄ μ²λ¦¬ λ° μ±λ₯ μκ³κ°κ³Ό κ°μ μΈ‘λ©΄μ μ μ΄ν©λλ€. λ€μμ μ ν¨μ± κ²μ¬ μ€μ μ ν¨κ³Όμ μΌλ‘ μ¬μ©μ μ§μ νλ λ° λμμ΄ λλ κ° μΈμμ λν μμΈν λΆμμ λλ€.
μΈμ | μ ν | κΈ°λ³Έκ° | μ€λͺ |
---|---|---|---|
data |
str |
None |
λ°μ΄ν° μΈνΈ κ΅¬μ± νμΌμ κ²½λ‘λ₯Ό μ§μ ν©λλ€(μ:, coco8.yaml ). μ΄ νμΌμλ μ ν¨μ± κ²μ¬ λ°μ΄ν° κ²½λ‘, ν΄λμ€ μ΄λ¦ λ° ν΄λμ€ μκ° ν¬ν¨λ©λλ€. |
imgsz |
int |
640 |
μ λ ₯ μ΄λ―Έμ§μ ν¬κΈ°λ₯Ό μ μν©λλ€. λͺ¨λ μ΄λ―Έμ§λ μ²λ¦¬νκΈ° μ μ μ΄ ν¬κΈ°λ‘ ν¬κΈ°κ° μ‘°μ λ©λλ€. |
batch |
int |
16 |
λ°°μΉλΉ μ΄λ―Έμ§ μλ₯Ό μ€μ ν©λλ€. μ¬μ© -1 λ₯Ό μ¬μ©νλ©΄ GPU λ©λͺ¨λ¦¬ κ°μ©μ±μ λ°λΌ μλμΌλ‘ μ‘°μ λ©λλ€. |
save_json |
bool |
False |
λ§μ½ True λ₯Ό ν΄λ¦νλ©΄ μΆκ° λΆμ λλ λ€λ₯Έ λꡬμμ ν΅ν©μ μν΄ κ²°κ³Όλ₯Ό JSON νμΌμ μ μ₯ν©λλ€. |
save_hybrid |
bool |
False |
λ§μ½ True λ₯Ό ν΄λ¦νλ©΄ μλ μ£Όμκ³Ό μΆκ° λͺ¨λΈ μμΈ‘μ κ²°ν©ν νμ΄λΈλ¦¬λ λ²μ μ λ μ΄λΈμ΄ μ μ₯λ©λλ€. |
conf |
float |
0.001 |
νμ§μ λν μ΅μ μ λ’°λ μκ³κ°μ μ€μ ν©λλ€. μ΄ μκ³κ° λ―Έλ§μ μ λ’°λλ₯Ό κ°μ§ νμ§λ μμ λ©λλ€. |
iou |
float |
0.6 |
NMS(λΉμ΅λ μ΅μ )μ λν IoU(κ΅μ°¨μ μ΄κ³Ό μ°ν©) μκ³κ°μ μ€μ ν©λλ€. μ€λ³΅ νμ§λ₯Ό μ€μ΄λ λ° λμμ΄ λ©λλ€. |
max_det |
int |
300 |
μ΄λ―Έμ§λΉ μ΅λ κ°μ§ νμλ₯Ό μ νν©λλ€. κ³Όλν κ°μ§λ₯Ό λ°©μ§νκΈ° μν΄ λ°μ§λ μ₯λ©΄μμ μ μ©ν©λλ€. |
half |
bool |
True |
λ°μ λ°λ(FP16) κ³μ°μ μ§μνμ¬ μ νλμ λ―ΈμΉλ μν₯μ μ΅μννλ©΄μ λ©λͺ¨λ¦¬ μ¬μ©λμ μ€μ΄κ³ μ μ¬μ μΌλ‘ μλλ₯Ό λμΌ μ μμ΅λλ€. |
device |
str |
None |
μ ν¨μ± κ²μ¬ν μ₯μΉλ₯Ό μ§μ ν©λλ€(cpu , cuda:0 λ±). CPU λλ GPU 리μμ€λ₯Ό μ μ°νκ² νμ©ν μ μμ΅λλ€. |
dnn |
bool |
False |
λ§μ½ True λ ONNX λͺ¨λΈ μΆλ‘ μ OpenCV DNN λͺ¨λμ μ¬μ©νμ¬ PyTorch μΆλ‘ λ°©λ²μ λμμ μ 곡ν©λλ€. |
plots |
bool |
False |
λ‘ μ€μ ν κ²½μ° True λ λͺ¨λΈμ μ±λ₯μ μκ°μ μΌλ‘ νκ°ν μ μλλ‘ μ€μΈ‘κ°κ³Ό μμΈ‘κ°μ λΉκ΅ν νλ‘―μ μμ±νκ³ μ μ₯ν©λλ€. |
rect |
bool |
False |
λ§μ½ True λ μΌκ΄ μ²λ¦¬μ μ§μ¬κ°ν μΆλ‘ μ μ¬μ©νμ¬ ν¨λ©μ μ€μ΄κ³ μ μ¬μ μΌλ‘ μλμ ν¨μ¨μ±μ λμ
λλ€. |
split |
str |
val |
μ ν¨μ± κ²μ¬μ μ¬μ©ν λ°μ΄ν° μΈνΈ λΆν μ κ²°μ ν©λλ€(val , test λλ train ). μ±λ₯ νκ°λ₯Ό μν λ°μ΄ν° μΈκ·Έλ¨ΌνΈλ₯Ό μ μ°νκ² μ νν μ μμ΅λλ€. |
μ΄λ¬ν κ° μ€μ μ μ ν¨μ± κ²μ¬ νλ‘μΈμ€μμ μ€μν μν μ νλ©°, YOLO λͺ¨λΈμ μ¬μ©μ μ§μ νκ³ ν¨μ¨μ μΌλ‘ νκ°ν μ μκ² ν΄μ€λλ€. νΉμ μꡬ μ¬νκ³Ό 리μμ€μ λ°λΌ μ΄λ¬ν 맀κ°λ³μλ₯Ό μ‘°μ νλ©΄ μ νλμ μ±λ₯ κ°μ μ΅μμ κ· νμ λ¬μ±νλ λ° λμμ΄ λ μ μμ΅λλ€.
μΈμλ₯Ό μ¬μ©ν μ ν¨μ± κ²μ¬ μμ
μλ μμ μμλ Python λ° CLI μμ μ¬μ©μ μ§μ μΈμλ₯Ό μ¬μ©ν YOLO λͺ¨λΈ μ ν¨μ± κ²μ¬λ₯Ό 보μ¬μ€λλ€.
μ
μμ± 2023-11-12, μ λ°μ΄νΈ 2024-04-18
μμ±μ: glenn-jocher (9), Burhan-Q (1), RizwanMunawar (1)