You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

12 KiB

comments description keywords
true Offizielle Dokumentation für YOLOv8 von Ultralytics. Erfahren Sie, wie Sie Modelle trainieren, validieren, vorhersagen und in verschiedenen Formaten exportieren. Einschließlich detaillierter Leistungsstatistiken. YOLOv8, Ultralytics, Objekterkennung, vortrainierte Modelle, Training, Validierung, Vorhersage, Modell-Export, COCO, ImageNet, PyTorch, ONNX, CoreML

Objekterkennung

Beispiele für Objekterkennung

Objekterkennung ist eine Aufgabe, die das Identifizieren der Position und Klasse von Objekten in einem Bild oder Videostream umfasst.

Die Ausgabe eines Objekterkenners ist eine Menge von Begrenzungsrahmen, die die Objekte im Bild umschließen, zusammen mit Klassenbezeichnungen und Vertrauenswerten für jedes Feld. Objekterkennung ist eine gute Wahl, wenn Sie Objekte von Interesse in einer Szene identifizieren müssen, aber nicht genau wissen müssen, wo das Objekt ist oder wie seine genaue Form ist.



Sehen Sie: Objekterkennung mit vortrainiertem Ultralytics YOLOv8 Modell.

!!! Tip "Tipp"

YOLOv8 Detect Modelle sind die Standard YOLOv8 Modelle, zum Beispiel `yolov8n.pt`, und sind vortrainiert auf dem [COCO](https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/coco.yaml)-Datensatz.

Modelle

Hier werden die vortrainierten YOLOv8 Detect Modelle gezeigt. Detect, Segment und Pose Modelle sind vortrainiert auf dem COCO-Datensatz, während die Classify Modelle vortrainiert sind auf dem ImageNet-Datensatz.

Modelle werden automatisch von der neuesten Ultralytics Veröffentlichung bei Erstbenutzung heruntergeladen.

Modell Größe
(Pixel)
mAPval
50-95
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
A100 TensorRT
(ms)
params
(M)
FLOPs
(B)
YOLOv8n 640 37.3 80.4 0.99 3.2 8.7
YOLOv8s 640 44.9 128.4 1.20 11.2 28.6
YOLOv8m 640 50.2 234.7 1.83 25.9 78.9
YOLOv8l 640 52.9 375.2 2.39 43.7 165.2
YOLOv8x 640 53.9 479.1 3.53 68.2 257.8
  • mAPval Werte sind für Single-Modell Single-Scale auf dem COCO val2017 Datensatz.
    Reproduzieren mit yolo val detect data=coco.yaml device=0
  • Geschwindigkeit gemittelt über COCO Val Bilder mit einer Amazon EC2 P4d-Instanz.
    Reproduzieren mit yolo val detect data=coco128.yaml batch=1 device=0|cpu

Training

YOLOv8n auf dem COCO128-Datensatz für 100 Epochen bei Bildgröße 640 trainieren. Für eine vollständige Liste verfügbarer Argumente siehe die Konfigurationsseite.

!!! Example "Beispiel"

=== "Python"

    ```python
    from ultralytics import YOLO

    # Modell laden
    model = YOLO('yolov8n.yaml')  # ein neues Modell aus YAML aufbauen
    model = YOLO('yolov8n.pt')  # ein vortrainiertes Modell laden (empfohlen für Training)
    model = YOLO('yolov8n.yaml').load('yolov8n.pt')  # aus YAML aufbauen und Gewichte übertragen

    # Das Modell trainieren
    results = model.train(data='coco128.yaml', epochs=100, imgsz=640)
    ```
=== "CLI"

    ```bash
    # Ein neues Modell aus YAML aufbauen und Training von Grund auf starten
    yolo detect train data=coco128.yaml model=yolov8n.yaml epochs=100 imgsz=640

    # Training von einem vortrainierten *.pt Modell starten
    yolo detect train data=coco128.yaml model=yolov8n.pt epochs=100 imgsz=640

    # Ein neues Modell aus YAML aufbauen, vortrainierte Gewichte übertragen und Training starten
    yolo detect train data=coco128.yaml model=yolov8n.yaml pretrained=yolov8n.pt epochs=100 imgsz=640
    ```

Datenformat

Das Datenformat für YOLO-Erkennungsdatensätze finden Sie detailliert im Dataset Guide. Um Ihren vorhandenen Datensatz von anderen Formaten (wie COCO etc.) in das YOLO-Format zu konvertieren, verwenden Sie bitte das JSON2YOLO-Tool von Ultralytics.

Validierung

Genauigkeit des trainierten YOLOv8n-Modells auf dem COCO128-Datensatz validieren. Es müssen keine Argumente übergeben werden, da das modell seine Trainingsdaten und Argumente als Modellattribute beibehält.

!!! Example "Beispiel"

=== "Python"

    ```python
    from ultralytics import YOLO

    # Modell laden
    model = YOLO('yolov8n.pt')  # ein offizielles Modell laden
    model = YOLO('pfad/zum/besten.pt')  # ein benutzerdefiniertes Modell laden

    # Das Modell validieren
    metrics = model.val()  # keine Argumente nötig, Datensatz und Einstellungen erinnert
    metrics.box.map    # map50-95
    metrics.box.map50  # map50
    metrics.box.map75  # map75
    metrics.box.maps   # eine Liste enthält map50-95 jeder Kategorie
    ```
=== "CLI"

    ```bash
    yolo detect val model=yolov8n.pt  # offizielles Modell validieren
    yolo detect val model=pfad/zum/besten.pt  # benutzerdefiniertes Modell validieren
    ```

Vorhersage

Ein trainiertes YOLOv8n-Modell verwenden, um Vorhersagen auf Bildern durchzuführen.

!!! Example "Beispiel"

=== "Python"

    ```python
    from ultralytics import YOLO

    # Modell laden
    model = YOLO('yolov8n.pt')  # ein offizielles Modell laden
    model = YOLO('pfad/zum/besten.pt')  # ein benutzerdefiniertes Modell laden

    # Mit dem Modell vorhersagen
    results = model('https://ultralytics.com/images/bus.jpg')  # Vorhersage auf einem Bild
    ```
=== "CLI"

    ```bash
    yolo detect predict model=yolov8n.pt source='https://ultralytics.com/images/bus.jpg'  # Vorhersage mit offiziellem Modell
    yolo detect predict model=pfad/zum/besten.pt source='https://ultralytics.com/images/bus.jpg'  # Vorhersage mit benutzerdefiniertem Modell
    ```

Volle Details über den predict-Modus finden Sie auf der Predict-Seite.

Export

Ein YOLOv8n-Modell in ein anderes Format wie ONNX, CoreML usw. exportieren.

!!! Example "Beispiel"

=== "Python"

    ```python
    from ultralytics import YOLO

    # Modell laden
    model = YOLO('yolov8n.pt')  # ein offizielles Modell laden
    model = YOLO('pfad/zum/besten.pt')  # ein benutzerdefiniert trainiertes Modell laden

    # Das Modell exportieren
    model.export(format='onnx')
    ```
=== "CLI"

    ```bash
    yolo export model=yolov8n.pt format=onnx  # offizielles Modell exportieren
    yolo export model=pfad/zum/besten.pt format=onnx  # benutzerdefiniert trainiertes Modell exportieren
    ```

Verfügbare YOLOv8 Exportformate sind in der untenstehenden Tabelle aufgeführt. Sie können direkt auf den exportierten Modellen Vorhersagen treffen oder diese validieren, zum Beispiel yolo predict model=yolov8n.onnx. Verwendungsbeispiele werden für Ihr Modell nach Abschluss des Exports angezeigt.

Format format-Argument Modell Metadaten Argumente
PyTorch - yolov8n.pt -
TorchScript torchscript yolov8n.torchscript imgsz, optimize
ONNX onnx yolov8n.onnx imgsz, half, dynamic, simplify, opset
OpenVINO openvino yolov8n_openvino_model/ imgsz, half
TensorRT engine yolov8n.engine imgsz, half, dynamic, simplify, workspace
CoreML coreml yolov8n.mlpackage imgsz, half, int8, nms
TF SavedModel saved_model yolov8n_saved_model/ imgsz, keras
TF GraphDef pb yolov8n.pb imgsz
TF Lite tflite yolov8n.tflite imgsz, half, int8
TF Edge TPU edgetpu yolov8n_edgetpu.tflite imgsz
TF.js tfjs yolov8n_web_model/ imgsz
PaddlePaddle paddle yolov8n_paddle_model/ imgsz
ncnn ncnn yolov8n_ncnn_model/ imgsz, half

Volle Details zum export finden Sie auf der Export-Seite.