Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel

classify.md 11 KB

You have to be logged in to leave a comment. Sign In
comments description keywords
true YOLOv8 λΆ„λ₯˜ λͺ¨λΈμ— λŒ€ν•œ 이미지 λΆ„λ₯˜ 정보λ₯Ό μ•Œμ•„λ³΄μ„Έμš”. 사전 ν›ˆλ ¨λœ λͺ¨λΈ λͺ©λ‘κ³Ό λͺ¨λΈ ν•™μŠ΅, 검증, 예츑, 내보내기 방법에 λŒ€ν•œ μžμ„Έν•œ 정보λ₯Ό ν™•μΈν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€. Ultralytics, YOLOv8, 이미지 λΆ„λ₯˜, 사전 ν›ˆλ ¨λœ λͺ¨λΈ, YOLOv8n-cls, ν•™μŠ΅, 검증, 예츑, λͺ¨λΈ 내보내기

이미지 λΆ„λ₯˜

Image classification examples

이미지 λΆ„λ₯˜λŠ” κ°€μž₯ λ‹¨μˆœν•œ μ„Έ κ°€μ§€ μž‘μ—… 쀑 ν•˜λ‚˜λ‘œ, 전체 이미지λ₯Ό 미리 μ •μ˜λœ 클래슀 μ§‘ν•© 쀑 ν•˜λ‚˜λ‘œ λΆ„λ₯˜ν•˜λŠ” μž‘μ—…μž…λ‹ˆλ‹€.

이미지 λΆ„λ₯˜κΈ°μ˜ 좜λ ₯은 단일 클래슀 라벨과 신뒰도 μ μˆ˜μž…λ‹ˆλ‹€. 이미지 λΆ„λ₯˜λŠ” 클래슀의 μ΄λ―Έμ§€λ§Œ μ•Œκ³  μ‹Άκ³  ν•΄λ‹Ή 클래슀의 객체가 어디에 μœ„μΉ˜ν•˜κ³  μžˆλŠ”μ§€ λ˜λŠ” κ·Έ μ •ν™•ν•œ ν˜•νƒœκ°€ 무엇인지 μ•Œ ν•„μš”κ°€ 없을 λ•Œ μœ μš©ν•©λ‹ˆλ‹€.

!!! Tip "팁"

YOLOv8 λΆ„λ₯˜ λͺ¨λΈμ€ `-cls` 접미사λ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. 예: `yolov8n-cls.pt`이며, [ImageNet](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/ImageNet.yaml)μ—μ„œ 사전 ν›ˆλ ¨λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

λͺ¨λΈ

μ—¬κΈ°μ—λŠ” 사전 ν›ˆλ ¨λœ YOLOv8 λΆ„λ₯˜ λͺ¨λΈμ΄ ν‘œμ‹œλ©λ‹ˆλ‹€. Detect, Segment 및 Pose λͺ¨λΈμ€ COCO λ°μ΄ν„°μ…‹μ—μ„œ 사전 ν›ˆλ ¨λ˜κ³ , λΆ„λ₯˜ λͺ¨λΈμ€ ImageNet λ°μ΄ν„°μ…‹μ—μ„œ 사전 ν›ˆλ ¨λ©λ‹ˆλ‹€.

λͺ¨λΈμ€ 첫 μ‚¬μš© μ‹œ μ΅œμ‹  Ultralytics λ¦΄λ¦¬μŠ€μ—μ„œ μžλ™μœΌλ‘œ λ‹€μš΄λ‘œλ“œλ©λ‹ˆλ‹€.

λͺ¨λΈ 크기
(ν”½μ…€)
정확도
top1
정확도
top5
속도
CPU ONNX
(ms)
속도
A100 TensorRT
(ms)
λ§€κ°œλ³€μˆ˜
(M)
FLOPs
(B) at 640
YOLOv8n-cls 224 66.6 87.0 12.9 0.31 2.7 4.3
YOLOv8s-cls 224 72.3 91.1 23.4 0.35 6.4 13.5
YOLOv8m-cls 224 76.4 93.2 85.4 0.62 17.0 42.7
YOLOv8l-cls 224 78.0 94.1 163.0 0.87 37.5 99.7
YOLOv8x-cls 224 78.4 94.3 232.0 1.01 57.4 154.8
  • 정확도 값은 ImageNet 데이터셋 검증 μ„ΈνŠΈμ—μ„œμ˜ λͺ¨λΈ μ •ν™•λ„μž…λ‹ˆλ‹€.
    ImageNetμ—μ„œ μž¬ν˜„ κ°€λŠ₯ν•©λ‹ˆλ‹€: yolo val classify data=path/to/ImageNet device=0
  • μ†λ„λŠ” Amazon EC2 P4d μΈμŠ€ν„΄μŠ€λ₯Ό μ‚¬μš©ν•΄ ImageNet 검증 μ΄λ―Έμ§€λ“€μ˜ 평균 μ†λ„μž…λ‹ˆλ‹€.
    ImageNetμ—μ„œ μž¬ν˜„ κ°€λŠ₯ν•©λ‹ˆλ‹€: yolo val classify data=path/to/ImageNet batch=1 device=0|cpu

ν•™μŠ΅

YOLOv8n-cls λͺ¨λΈμ„ MNIST160 λ°μ΄ν„°μ…‹μ—μ„œ 100 에포크 λ™μ•ˆ ν•™μŠ΅μ‹œν‚€κ³  이미지 ν¬κΈ°λŠ” 64둜 μ„€μ •ν•©λ‹ˆλ‹€. κ°€λŠ₯ν•œ λͺ¨λ“  μΈμžλŠ” μ„€μ • νŽ˜μ΄μ§€μ—μ„œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

!!! Example "예제"

=== "Python"

    ```python
    from ultralytics import YOLO

    # λͺ¨λΈ 뢈러였기
    model = YOLO('yolov8n-cls.yaml')  # YAMLμ—μ„œ μƒˆ λͺ¨λΈ ꡬ좕
    model = YOLO('yolov8n-cls.pt')  # 사전 ν›ˆλ ¨λœ λͺ¨λΈ 뢈러였기 (ν•™μŠ΅μš© μΆ”μ²œ)
    model = YOLO('yolov8n-cls.yaml').load('yolov8n-cls.pt')  # YAML둜 κ΅¬μΆ•ν•˜κ³  κ°€μ€‘μΉ˜ 전솑

    # λͺ¨λΈ ν•™μŠ΅
    result = model.train(data='mnist160', epochs=100, imgsz=64)
    ```

=== "CLI"

    ```bash
    # YAMLμ—μ„œ μƒˆ λͺ¨λΈμ„ κ΅¬μΆ•ν•˜κ³  μ²˜μŒλΆ€ν„° ν•™μŠ΅ μ‹œμž‘
    yolo classify train data=mnist160 model=yolov8n-cls.yaml epochs=100 imgsz=64

    # 사전 ν›ˆλ ¨λœ *.pt λͺ¨λΈμ—μ„œ ν•™μŠ΅ μ‹œμž‘
    yolo classify train data=mnist160 model=yolov8n-cls.pt epochs=100 imgsz=64

    # YAMLμ—μ„œ μƒˆ λͺ¨λΈμ„ κ΅¬μΆ•ν•˜κ³  사전 ν›ˆλ ¨λœ κ°€μ€‘μΉ˜λ₯Ό μ „μ†‘ν•œ λ’€ ν•™μŠ΅ μ‹œμž‘
    yolo classify train data=mnist160 model=yolov8n-cls.yaml pretrained=yolov8n-cls.pt epochs=100 imgsz=64
    ```

데이터셋 ν˜•μ‹

YOLO λΆ„λ₯˜ 데이터셋 ν˜•μ‹μ€ 데이터셋 κ°€μ΄λ“œμ—μ„œ μžμ„Ένžˆ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

검증

ν•™μŠ΅λœ YOLOv8n-cls λͺ¨λΈμ˜ 정확도λ₯Ό MNIST160 λ°μ΄ν„°μ…‹μ—μ„œ κ²€μ¦ν•©λ‹ˆλ‹€. model은 λͺ¨λΈ μ†μ„±μœΌλ‘œ ν›ˆλ ¨ μ‹œ data 및 인자λ₯Ό μœ μ§€ν•˜λ―€λ‘œ μΆ”κ°€ 인자λ₯Ό 전달할 ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€.

!!! Example "예제"

=== "Python"

    ```python
    from ultralytics import YOLO

    # λͺ¨λΈ 뢈러였기
    model = YOLO('yolov8n-cls.pt')  # 곡식 λͺ¨λΈ 뢈러였기
    model = YOLO('path/to/best.pt')  # μ‚¬μš©μž λͺ¨λΈ 뢈러였기

    # λͺ¨λΈ 검증
    metrics = model.val()  # μΆ”κ°€ 인자 λΆˆν•„μš”, 데이터셋 및 μ„€μ • 기얡함
    metrics.top1   # top1 정확도
    metrics.top5   # top5 정확도
    ```
=== "CLI"

    ```bash
    yolo classify val model=yolov8n-cls.pt  # 곡식 λͺ¨λΈ 검증
    yolo classify val model=path/to/best.pt  # μ‚¬μš©μž λͺ¨λΈ 검증
    ```

예츑

ν•™μŠ΅λœ YOLOv8n-cls λͺ¨λΈμ„ μ‚¬μš©ν•˜μ—¬ 이미지에 λŒ€ν•œ μ˜ˆμΈ‘μ„ μ‹€ν–‰ν•©λ‹ˆλ‹€.

!!! Example "예제"

=== "Python"

    ```python
    from ultralytics import YOLO

    # λͺ¨λΈ 뢈러였기
    model = YOLO('yolov8n-cls.pt')  # 곡식 λͺ¨λΈ 뢈러였기
    model = YOLO('path/to/best.pt')  # μ‚¬μš©μž λͺ¨λΈ 뢈러였기

    # 예츑 μ‹€ν–‰
    results = model('https://ultralytics.com/images/bus.jpg')  # 이미지에 λŒ€ν•œ 예츑 μ‹€ν–‰
    ```
=== "CLI"

    ```bash
    yolo classify predict model=yolov8n-cls.pt source='https://ultralytics.com/images/bus.jpg'  # 곡식 λͺ¨λΈλ‘œ 예츑 μ‹€ν–‰
    yolo classify predict model=path/to/best.pt source='https://ultralytics.com/images/bus.jpg'  # μ‚¬μš©μž λͺ¨λΈλ‘œ 예츑 μ‹€ν–‰
    ```

μžμ„Έν•œ predict λͺ¨λ“œ μ •λ³΄λŠ” 예츑 νŽ˜μ΄μ§€μ—μ„œ ν™•μΈν•˜μ„Έμš”.

내보내기

YOLOv8n-cls λͺ¨λΈμ„ ONNX, CoreML λ“±κ³Ό 같은 λ‹€λ₯Έ ν˜•μ‹μœΌλ‘œ λ‚΄λ³΄λƒ…λ‹ˆλ‹€.

!!! Example "예제"

=== "Python"

    ```python
    from ultralytics import YOLO

    # λͺ¨λΈ 뢈러였기
    model = YOLO('yolov8n-cls.pt')  # 곡식 λͺ¨λΈ 뢈러였기
    model = YOLO('path/to/best.pt')  # μ‚¬μš©μž ν›ˆλ ¨ λͺ¨λΈ 뢈러였기

    # λͺ¨λΈ 내보내기
    model.export(format='onnx')
    ```
=== "CLI"

    ```bash
    yolo export model=yolov8n-cls.pt format=onnx  # 곡식 λͺ¨λΈ 내보내기
    yolo export model=path/to/best.pt format=onnx  # μ‚¬μš©μž ν›ˆλ ¨ λͺ¨λΈ 내보내기
    ```

μ•„λž˜ ν‘œμ— μ‚¬μš© κ°€λŠ₯ν•œ YOLOv8-cls 내보내기 ν˜•μ‹μ΄ λ‚˜μ™€ μžˆμŠ΅λ‹ˆλ‹€. 내보낸 λͺ¨λΈμ—μ„œ λ°”λ‘œ μ˜ˆμΈ‘ν•˜κ±°λ‚˜ 검증할 수 μžˆμŠ΅λ‹ˆλ‹€. 즉, yolo predict model=yolov8n-cls.onnxλ₯Ό μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 내보내기가 μ™„λ£Œλœ ν›„ λͺ¨λΈμ— λŒ€ν•œ μ‚¬μš© μ˜ˆμ œλ“€μ΄ ν‘œμ‹œλ©λ‹ˆλ‹€.

ν˜•μ‹ format 인자 λͺ¨λΈ 메타데이터 인자
PyTorch - yolov8n-cls.pt βœ… -
TorchScript torchscript yolov8n-cls.torchscript βœ… imgsz, optimize
ONNX onnx yolov8n-cls.onnx βœ… imgsz, half, dynamic, simplify, opset
OpenVINO openvino yolov8n-cls_openvino_model/ βœ… imgsz, half
TensorRT engine yolov8n-cls.engine βœ… imgsz, half, dynamic, simplify, workspace
CoreML coreml yolov8n-cls.mlpackage βœ… imgsz, half, int8, nms
TF SavedModel saved_model yolov8n-cls_saved_model/ βœ… imgsz, keras
TF GraphDef pb yolov8n-cls.pb ❌ imgsz
TF Lite tflite yolov8n-cls.tflite βœ… imgsz, half, int8
TF Edge TPU edgetpu yolov8n-cls_edgetpu.tflite βœ… imgsz
TF.js tfjs yolov8n-cls_web_model/ βœ… imgsz
PaddlePaddle paddle yolov8n-cls_paddle_model/ βœ… imgsz
ncnn ncnn yolov8n-cls_ncnn_model/ βœ… imgsz, half

μžμ„Έν•œ export μ •λ³΄λŠ” 내보내기 νŽ˜μ΄μ§€μ—μ„œ ν™•μΈν•˜μ„Έμš”.

Tip!

Press p or to see the previous file or, n or to see the next file

Comments

Loading...