λ€μμ μ¬μ©νμ¬ λͺ¨λΈ λ΄λ³΄λ΄κΈ° Ultralytics YOLO
μκ°
λͺ¨λΈ νμ΅μ κΆκ·Ήμ μΈ λͺ©νλ μ€μ μ ν리μΌμ΄μ μ λ°°ν¬νλ κ²μ λλ€. Ultralytics YOLOv8 μ λ΄λ³΄λ΄κΈ° λͺ¨λμμλ νμ΅λ λͺ¨λΈμ λ€μν ν¬λ§·μΌλ‘ λ΄λ³΄λΌ μ μλ λ€μν μ΅μ μ μ 곡νμ¬ λ€μν νλ«νΌκ³Ό λλ°μ΄μ€μ λ°°ν¬ν μ μμ΅λλ€. μ΄ ν¬κ΄μ μΈ κ°μ΄λλ λͺ¨λΈ λ΄λ³΄λ΄κΈ°μ λ―Έλ¬ν μ°¨μ΄λ₯Ό μλ΄νκ³ νΈνμ±κ³Ό μ±λ₯μ κ·Ήλννλ λ°©λ²μ 보μ¬μ€λλ€.
Watch: μ¬μ©μ μ§μ νμ΅λ Ultralytics YOLOv8 λͺ¨λΈμ λ΄λ³΄λ΄κ³ μΉμΊ μμ λΌμ΄λΈ μΆλ‘ μ μ€ννλ λ°©λ².
YOLOv8 μ λ΄λ³΄λ΄κΈ° λͺ¨λλ₯Ό μ ννλ μ΄μ λ 무μμΈκ°μ?
- λ€μ©λμ±: ONNX , TensorRT, CoreML, λ± λ€μν νμμΌλ‘ λ΄λ³΄λΌ μ μμ΅λλ€.
- μ±λ₯: TensorRT μΌλ‘ μ΅λ 5λ°°μ GPU μλ ν₯μ, ONNX λλ OpenVINO μΌλ‘ 3λ°°μ CPU μλ ν₯μ.
- νΈνμ±: λ€μν νλμ¨μ΄ λ° μννΈμ¨μ΄ νκ²½μμ λͺ¨λΈμ λ²μ©μ μΌλ‘ λ°°ν¬ν μ μμ΅λλ€.
- μ¬μ© νΈμμ±: κ°λ¨ν CLI λ° Python APIλ‘ λΉ λ₯΄κ³ κ°νΈνκ² λͺ¨λΈμ λ΄λ³΄λΌ μ μμ΅λλ€.
λ΄λ³΄λ΄κΈ° λͺ¨λμ μ£Όμ κΈ°λ₯
λ€μμ λͺ κ°μ§ λμ λλ κΈ°λ₯μ λλ€:
- μν΄λ¦ λ΄λ³΄λ΄κΈ°: λ€μν νμμΌλ‘ λ΄λ³΄λ΄κΈ°λ₯Ό μν κ°λ¨ν λͺ λ Ήμ΄μ λλ€.
- μΌκ΄ λ΄λ³΄λ΄κΈ°: μΌκ΄ μΆλ‘ μ΄ κ°λ₯ν λͺ¨λΈμ λ΄λ³΄λ λλ€.
- μΆλ‘ μ΅μ ν: λ΄λ³΄λΈ λͺ¨λΈμ λ λΉ λ₯Έ μΆλ‘ μκ°μ μν΄ μ΅μ νλμ΄ μμ΅λλ€.
- νν λ¦¬μΌ λμμ: μνν λ΄λ³΄λ΄κΈ° νκ²½μ μν μ¬μΈ΅ κ°μ΄λ λ° νν 리μΌμ λλ€.
ν
- ONNX λλ OpenVINO μΌλ‘ λ΄λ³΄λ΄λ©΄ CPU μλκ° μ΅λ 3λ°°κΉμ§ λΉ¨λΌμ§λλ€.
- TensorRT μΌλ‘ λ΄λ³΄λ΄λ©΄ GPU μλκ° μ΅λ 5λ°°κΉμ§ λΉ¨λΌμ§λλ€.
μ¬μ© μ
YOLOv8n λͺ¨λΈμ ONNX λλ TensorRT κ³Ό κ°μ λ€λ₯Έ νμμΌλ‘ λ΄λ³΄λ΄κΈ° λ΄λ³΄λ΄κΈ° μΈμμ μ 체 λͺ©λ‘μ μλ μΈμ μΉμ μ μ°Έμ‘°νμΈμ.
μ
μΈμ
μ΄ νμλ YOLO λͺ¨λΈμ λ€μν νμμΌλ‘ λ΄λ³΄λ΄λ λ° μ¬μ©ν μ μλ κ΅¬μ± λ° μ΅μ μ΄ μμΈν μ€λͺ λμ΄ μμ΅λλ€. μ΄λ¬ν μ€μ μ λ΄λ³΄λΈ λͺ¨λΈμ μ±λ₯, ν¬κΈ° λ° λ€μν νλ«νΌκ³Ό νκ²½μμμ νΈνμ±μ μ΅μ ννλ λ° λ§€μ° μ€μν©λλ€. μ μ ν ꡬμ±μ ν΅ν΄ λͺ¨λΈμ΄ μ΅μ μ ν¨μ¨μ±μΌλ‘ μλν μ ν리μΌμ΄μ μ λ°°ν¬λ μ μλλ‘ μ€λΉν μ μμ΅λλ€.
μΈμ | μ ν | κΈ°λ³Έκ° | μ€λͺ |
---|---|---|---|
format |
str |
'torchscript' |
λ΄λ³΄λΈ λͺ¨λΈμ λμ νμμ λ€μκ³Ό κ°μ΅λλ€. 'onnx' , 'torchscript' , 'tensorflow' λ±μ μ¬μ©νμ¬ λ€μν λ°°ν¬ νκ²½κ³Όμ νΈνμ±μ μ μν©λλ€. |
imgsz |
int λλ tuple |
640 |
λͺ¨λΈ μ
λ ₯μ μ¬μ©ν μνλ μ΄λ―Έμ§ ν¬κΈ°μ
λλ€. μ μ¬κ°ν μ΄λ―Έμ§μ κ²½μ° μ μ λλ ννμΌ μ μμ΅λλ€. (height, width) λ₯Ό μ
λ ₯ν©λλ€. |
keras |
bool |
False |
TensorFlow SavedModel μ λν΄ Keras νμμΌλ‘ λ΄λ³΄λ΄κΈ°λ₯Ό νμ±ννμ¬ TensorFlow μλΉμ€ λ° APIμμ νΈνμ±μ μ 곡ν©λλ€. |
optimize |
bool |
False |
TorchScript μΌλ‘ λ΄λ³΄λΌ λ λͺ¨λ°μΌ μ₯μΉμ λν μ΅μ νλ₯Ό μ μ©νμ¬ λͺ¨λΈ ν¬κΈ°λ₯Ό μ€μ΄κ³ μ±λ₯μ κ°μ ν μ μμ΅λλ€. |
half |
bool |
False |
FP16(λ°μ λ°) μμνλ₯Ό νμ±ννμ¬ λͺ¨λΈ ν¬κΈ°λ₯Ό μ€μ΄κ³ μ§μλλ νλμ¨μ΄μμ μΆλ‘ μλλ₯Ό λμΌ μ μμ΅λλ€. |
int8 |
bool |
False |
INT8 μμνλ₯Ό νμ±ννμ¬ λͺ¨λΈμ λμ± μμΆνκ³ μ£Όλ‘ μμ§ λλ°μ΄μ€μ κ²½μ° μ νλ μμ€μ μ΅μννλ©΄μ μΆλ‘ μλλ₯Ό λμ λλ€. |
dynamic |
bool |
False |
ONNX λ° TensorRT λ΄λ³΄λ΄κΈ°μ λμ μ λ ₯ ν¬κΈ°λ₯Ό νμ©νμ¬ λ€μν μ΄λ―Έμ§ ν¬κΈ°λ₯Ό μ μ°νκ² μ²λ¦¬ν μ μμ΅λλ€. |
simplify |
bool |
False |
ONNX λ΄λ³΄λ΄κΈ°μ λͺ¨λΈ κ·Έλνλ₯Ό λ¨μννμ¬ μ μ¬μ μΌλ‘ μ±λ₯κ³Ό νΈνμ±μ κ°μ ν©λλ€. |
opset |
int |
None |
λ€λ₯Έ ONNX νμ λ° λ°νμκ³Όμ νΈνμ±μ μν΄ ONNX μ΅μ λ²μ μ μ§μ ν©λλ€. μ€μ νμ§ μμΌλ©΄ μ§μλλ μ΅μ λ²μ μ μ¬μ©ν©λλ€. |
workspace |
float |
4.0 |
TensorRT μ΅μ νλ₯Ό μν μ΅λ μμ κ³΅κ° ν¬κΈ°λ₯Ό GB λ¨μλ‘ μ€μ νμ¬ λ©λͺ¨λ¦¬ μ¬μ©λκ³Ό μ±λ₯μ κ· νμ λ§μΆ₯λλ€. |
nms |
bool |
False |
μ ννκ³ ν¨μ¨μ μΈ νμ§ νμ²λ¦¬λ₯Ό μν΄ νμμ μΈ λΉμ΅λ μ΅μ (NMS)λ₯Ό CoreML λ΄λ³΄λ΄κΈ°μ μΆκ°ν©λλ€. |
batch |
int |
1 |
λ΄λ³΄λ΄κΈ° λͺ¨λΈ μΌκ΄ μΆλ‘ ν¬κΈ° λλ λ΄λ³΄λΈ λͺ¨λΈμ΄ λμμ μ²λ¦¬ν μ΅λ μ΄λ―Έμ§ μλ₯Ό μ§μ ν©λλ€. predict λͺ¨λλ‘ μ νν©λλ€. |
μ΄λ¬ν 맀κ°λ³μλ₯Ό μ‘°μ νλ©΄ λ°°ν¬ νκ²½, νλμ¨μ΄ μ μ½ μ‘°κ±΄, μ±λ₯ λͺ©ν λ± νΉμ μꡬμ¬νμ λ§κ² λ΄λ³΄λ΄κΈ° νλ‘μΈμ€λ₯Ό μ¬μ©μ μ§μ ν μ μμ΅λλ€. λͺ¨λΈ ν¬κΈ°, μλ, μ νλ κ°μ μ΅μ μ κ· νμ μ΄λ£¨λ €λ©΄ μ μ ν νμκ³Ό μ€μ μ μ ννλ κ²μ΄ νμμ μ λλ€.
λ΄λ³΄λ΄κΈ° νμ
μ¬μ© κ°λ₯ν YOLOv8 λ΄λ³΄λ΄κΈ° νμμ μλ νμ λμ μμ΅λλ€. λ΄λ³΄λ΄λ νμμ format
μΈμ, μ¦ format='onnx'
λλ format='engine'
. λ΄λ³΄λΈ λͺ¨λΈμμ μ§μ μμΈ‘νκ±°λ κ²μ¦ν μ μμ΅λλ€. yolo predict model=yolov8n.onnx
. λ΄λ³΄λ΄κΈ°κ° μλ£λ ν λͺ¨λΈμ λν μ¬μ© μκ° νμλ©λλ€.
νμ | format μΈμ |
λͺ¨λΈ | λ©νλ°μ΄ν° | μΈμ |
---|---|---|---|---|
PyTorch | - | yolov8n.pt |
β | - |
TorchScript | torchscript |
yolov8n.torchscript |
β | imgsz , optimize , batch |
ONNX | onnx |
yolov8n.onnx |
β | imgsz , half , dynamic , simplify , opset , batch |
OpenVINO | openvino |
yolov8n_openvino_model/ |
β | imgsz , half , int8 , batch |
TensorRT | engine |
yolov8n.engine |
β | imgsz , half , dynamic , simplify , workspace , batch |
CoreML | coreml |
yolov8n.mlpackage |
β | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model |
yolov8n_saved_model/ |
β | imgsz , keras , int8 , batch |
TF GraphDef | pb |
yolov8n.pb |
β | imgsz , batch |
TF Lite | tflite |
yolov8n.tflite |
β | imgsz , half , int8 , batch |
TF Edge TPU | edgetpu |
yolov8n_edgetpu.tflite |
β | imgsz , batch |
TF.js | tfjs |
yolov8n_web_model/ |
β | imgsz , half , int8 , batch |
PaddlePaddle | paddle |
yolov8n_paddle_model/ |
β | imgsz , batch |
NCNN | ncnn |
yolov8n_ncnn_model/ |
β | imgsz , half , batch |