Görüntü Sınıflandırma
Görüntü sınıflandırma, üç görevden en basit olanıdır ve tüm bir görüntünün önceden tanımlanmış bir dizi sınıftan birine sınıflandırılmasını içerir.
Bir görüntü sınıflandırıcının çıktısı tek bir sınıf etiketi ve bir güven puanıdır. Görüntü sınıflandırma, bir görüntünün yalnızca hangi sınıfa ait olduğunu bilmeniz gerektiğinde ve bu sınıftaki nesnelerin nerede bulunduğunu veya tam şekillerinin ne olduğunu bilmeniz gerekmediğinde kullanışlıdır.
İzle: Ultralytics YOLO Görevlerini keşfedin: Ultralytics HUB kullanarak Görüntü Sınıflandırma
İpucu
YOLOv8 Sınıflandırma modelleri -cls
son ek, yani yolov8n-cls.pt
ve önceden eğitilmiş ImageNet.
Modeller
YOLOv8 ön eğitimli Classify modelleri burada gösterilmektedir. Detect, Segment ve Pose modelleri COCO veri kümesi üzerinde, Classify modelleri ise ImageNet veri kümesi üzerinde ön eğitime tabi tutulmuştur.
Modeller ilk kullanımda en son Ultralytics sürümünden otomatik olarak indirilir.
Model | boyut (piksel) |
acc top1 |
acc top5 |
Hız CPU ONNX (ms) |
Hız A100 TensorRT (ms) |
params (M) |
FLOPs (B) 640'da |
---|---|---|---|---|---|---|---|
YOLOv8n-cls | 224 | 69.0 | 88.3 | 12.9 | 0.31 | 2.7 | 4.3 |
YOLOv8s-cls | 224 | 73.8 | 91.7 | 23.4 | 0.35 | 6.4 | 13.5 |
YOLOv8m-cls | 224 | 76.8 | 93.5 | 85.4 | 0.62 | 17.0 | 42.7 |
YOLOv8l-cls | 224 | 76.8 | 93.5 | 163.0 | 0.87 | 37.5 | 99.7 |
YOLOv8x-cls | 224 | 79.0 | 94.6 | 232.0 | 1.01 | 57.4 | 154.8 |
- acc değerleri model doğruluklarıdır. ImageNet veri kümesi doğrulama seti.
Tarafından çoğaltınyolo val classify data=path/to/ImageNet device=0
- Hız kullanarak ImageNet val görüntüleri üzerinde ortalama Amazon EC2 P4d örnek.
Tarafından çoğaltınyolo val classify data=path/to/ImageNet batch=1 device=0|cpu
Tren
Görüntü boyutu 64'te 100 epok için MNIST160 veri kümesi üzerinde YOLOv8n-cls'yi eğitin. Kullanılabilir bağımsız değişkenlerin tam listesi için Yapılandırma sayfasına bakın.
Örnek
from ultralytics import YOLO
# Load a model
model = YOLO('yolov8n-cls.yaml') # build a new model from YAML
model = YOLO('yolov8n-cls.pt') # load a pretrained model (recommended for training)
model = YOLO('yolov8n-cls.yaml').load('yolov8n-cls.pt') # build from YAML and transfer weights
# Train the model
results = model.train(data='mnist160', epochs=100, imgsz=64)
# Build a new model from YAML and start training from scratch
yolo classify train data=mnist160 model=yolov8n-cls.yaml epochs=100 imgsz=64
# Start training from a pretrained *.pt model
yolo classify train data=mnist160 model=yolov8n-cls.pt epochs=100 imgsz=64
# Build a new model from YAML, transfer pretrained weights to it and start training
yolo classify train data=mnist160 model=yolov8n-cls.yaml pretrained=yolov8n-cls.pt epochs=100 imgsz=64
Veri kümesi formatı
YOLO sınıflandırma veri kümesi formatı ayrıntılı olarak Veri Kümesi Kılavuzunda bulunabilir.
Val
MNIST160 veri kümesi üzerinde eğitilmiş YOLOv8n-cls model doğruluğunu doğrulayın. Herhangi bir argüman geçilmesine gerek yoktur. model
eğitimini sürdürür data
ve model öznitelikleri olarak argümanlar.
Örnek
from ultralytics import YOLO
# Load a model
model = YOLO('yolov8n-cls.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.top1 # top1 accuracy
metrics.top5 # top5 accuracy
Tahmin Et
Görüntüler üzerinde tahminleri çalıştırmak için eğitilmiş bir YOLOv8n-cls modeli kullanın.
Örnek
Tamamı görün predict
modunun ayrıntıları Tahmin Et Sayfa.
İhracat
Bir YOLOv8n-cls modelini ONNX, CoreML, vb. gibi farklı bir formata aktarın.
Örnek
Kullanılabilir YOLOv8-cls dışa aktarma biçimleri aşağıdaki tabloda yer almaktadır. kullanarak herhangi bir formata dışa aktarabilirsiniz. format
argümanı, yani format='onnx'
veya format='engine'
. Doğrudan dışa aktarılan modeller üzerinde tahmin veya doğrulama yapabilirsiniz, örn. yolo predict model=yolov8n-cls.onnx
. Dışa aktarma tamamlandıktan sonra modeliniz için kullanım örnekleri gösterilir.
Biçim | format Tartışma |
Model | Metadata | Argümanlar |
---|---|---|---|---|
PyTorch | - | yolov8n-cls.pt |
✅ | - |
TorchScript | torchscript |
yolov8n-cls.torchscript |
✅ | imgsz , optimize , batch |
ONNX | onnx |
yolov8n-cls.onnx |
✅ | imgsz , half , dynamic , simplify , opset , batch |
OpenVINO | openvino |
yolov8n-cls_openvino_model/ |
✅ | imgsz , half , int8 , batch |
TensorRT | engine |
yolov8n-cls.engine |
✅ | imgsz , half , dynamic , simplify , workspace , batch |
CoreML | coreml |
yolov8n-cls.mlpackage |
✅ | imgsz , half , int8 , nms , batch |
TF SavedModel | saved_model |
yolov8n-cls_saved_model/ |
✅ | imgsz , keras , int8 , batch |
TF GraphDef | pb |
yolov8n-cls.pb |
❌ | imgsz , batch |
TF Lite | tflite |
yolov8n-cls.tflite |
✅ | imgsz , half , int8 , batch |
TF Kenar TPU | edgetpu |
yolov8n-cls_edgetpu.tflite |
✅ | imgsz , batch |
TF.js | tfjs |
yolov8n-cls_web_model/ |
✅ | imgsz , half , int8 , batch |
PaddlePaddle | paddle |
yolov8n-cls_paddle_model/ |
✅ | imgsz , batch |
NCNN | ncnn |
yolov8n-cls_ncnn_model/ |
✅ | imgsz , half , batch |
Tamamı görün export
detaylar İhracat Sayfa.
Oluşturuldu 2023-11-12, Güncellendi 2024-04-27
Yazarlar: glenn-jocher (12), Burhan-Q (1), RizwanMunawar (2), fcakyon (1), Laughing-q (1), AyushExel (1)