Ultralytics YOLO27:

Objekterkennung mit Ultralytics YOLO#

Ultralytics YOLO object detection with bounding boxes

Objekterkennung ist eine Aufgabe, bei der die Position und Klasse von Objekten in einem Bild oder Videostream bestimmt werden.

Die Ausgabe eines Objektdetektors besteht aus einer Reihe von Begrenzungsrahmen, die die Objekte im Bild einschließen, sowie Klassenbezeichnungen und Konfidenzwerten für jeden Rahmen. Objekterkennung ist eine gute Wahl, wenn du Objekte von Interesse in einer Szene erkennen musst, aber nicht genau wissen musst, wo sich das Objekt befindet oder welche exakte Form es hat.



Watch: Object Detection with Pretrained Ultralytics YOLO Model.
Tipp

YOLO26-Detect-Modelle sind die standardmäßigen YOLO26-Modelle, also yolo26n.pt, und wurden auf COCO vortrainiert.

Modelle#

Hier werden vortrainierte YOLO26-Detect-Modelle angezeigt. Detect-, Segment- und Pose-Modelle wurden auf dem COCO-Datensatz vortrainiert, Semantik-Modelle auf Cityscapes, und Classify-Modelle auf dem ImageNet-Datensatz.

Modelle werden bei der ersten Verwendung automatisch aus dem neuesten Release von Ultralytics heruntergeladen.

ModellGröße
(Pixel)
mAPval
50-95
mAPval
50-95(e2e)
Geschwindigkeit
CPU ONNX
(ms)
Geschwindigkeit
T4 TensorRT10
(ms)
Parameter
(M)
FLOPs
(B)
YOLO26n64040.940.138.9 ± 0.71.7 ± 0.02.45.5
YOLO26s64048.647.887.2 ± 0.92.5 ± 0.09.520.9
YOLO26m64053.152.5220.0 ± 1.44.7 ± 0.120.468.4
YOLO26l64055.054.4286.2 ± 2.06.2 ± 0.224.886.8
YOLO26x64057.556.9525.8 ± 4.011.8 ± 0.255.7194.4
  • mAPval-Werte gelten für Einzelmodelle im Einzelskalierungsmodus auf dem COCO val2017-Datensatz.
    Reproduziere dies mit yolo val detect data=coco.yaml device=0. Füge nms=False hinzu, um die e2e-Spalte zu reproduzieren.
  • Geschwindigkeit, gemittelt über COCO-val-Bilder unter Verwendung einer Amazon-EC2-P4d-Instanz.
    Reproduziere sie mit yolo val detect data=coco.yaml batch=1 device=0|cpu nms=False
  • Params- und FLOPs-Werte beziehen sich auf fusionierte Modelle nach der Conv/BatchNorm-Faltung und dem Entfernen des nicht verwendeten Erkennungszweigs. Vortrainierte Checkpoints behalten die vollständige Trainingsarchitektur bei und können höhere Anzahlen aufweisen.

Siehe die unveröffentlichte YOLO27-Vorschau für vorläufige COCO-Erkennungsergebnisse.

Trainieren#

Trainiere YOLO26n 100 Epochen lang mit dem COCO8-Datensatz bei einer Bildgröße von 640. Eine vollständige Liste der verfügbaren Argumente findest du auf der Seite Konfiguration.

Beispiel
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.yaml")  # build a new model from YAML
model = YOLO("yolo26n.pt")  # load a pretrained model (recommended for training)
model = YOLO("yolo26n.yaml").load("yolo26n.pt")  # build from YAML and transfer weights

# Train the model
results = model.train(data="coco8.yaml", epochs=100, imgsz=640)

Ausführliche Informationen zum Modus train findest du auf der Seite Train. Erkennungsmodelle können auch mit dem Cloud-Training der Ultralytics Platform trainiert werden.

Datensatzformat#

Das YOLO-Erkennungsdatensatzformat wird im Detail im Dataset Guide beschrieben. Um einen bestehenden COCO-JSON-Datensatz in das YOLO-Format zu konvertieren, nutzt du die integrierte convert_coco-Funktion, die im COCO to YOLO guide beschrieben wird. Du kannst Erkennungsdatensätze auch mit den Ultralytics Platform's AI-assisted annotation tools annotieren und verwalten.

Validierung#

Überprüfe die Genauigkeit eines trainierten YOLO26n-Modells auf dem COCO8-Datensatz. Es sind keine Argumente erforderlich, da model die Trainings-data und -Argumente als Modelleigenschaften beibehält.

Beispiel
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.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 containing mAP50-95 for each category
metrics.box.image_metrics  # per-image metrics dictionary with precision, recall, F1, TP, FP, and FN

Vorhersage#

Verwende ein trainiertes YOLO26n-Modell, um Vorhersagen für Bilder auszuführen.

Beispiel
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom model

# Predict with the model
results = model("https://ultralytics.com/images/bus.jpg")  # predict on an image

# Access the results
for result in results:
    xywh = result.boxes.xywh  # center-x, center-y, width, height
    xywhn = result.boxes.xywhn  # normalized
    xyxy = result.boxes.xyxy  # top-left-x, top-left-y, bottom-right-x, bottom-right-y
    xyxyn = result.boxes.xyxyn  # normalized
    names = [result.names[cls.item()] for cls in result.boxes.cls.int()]  # class name of each box
    confs = result.boxes.conf  # confidence score of each box

Ausführliche Informationen zum Modus predict findest du auf der Seite Predict.

Ausgabe der Ergebnisse#

Die Objekterkennung gibt ein Results-Objekt pro Bild zurück. Das wichtigste Vorhersagefeld ist result.boxes; es enthält die Koordinaten der Rahmen, Klassen-IDs und Konfidenzwerte für jedes erkannte Objekt.

AttributTypFormBeschreibung
result.boxesBoxes(N)Erkennungsboxen.
result.boxes.datatorch.float32(N,6/7)Rohdaten [x1,y1,x2,y2,conf,cls] sowie eine optionale Track-ID.
result.boxes.xyxytorch.float32(N,4)xyxy-Pixelboxen.
result.boxes.conftorch.float32(N,)Konfidenzwerte.
result.boxes.clstorch.float32(N,)Klassen-IDs; für Namen in int umwandeln.

Task-spezifische Felder Results für alle Tasks findest du im Abschnitt Vorhersageergebnisse nach Task.

Export#

Exportiere ein YOLO26n-Modell in ein anderes Format wie ONNX, CoreML usw.

Beispiel
from ultralytics import YOLO

# Load a model
model = YOLO("yolo26n.pt")  # load an official model
model = YOLO("path/to/best.pt")  # load a custom-trained model

# Export the model
model.export(format="onnx")

Die verfügbaren YOLO26-Exportformate sind in der folgenden Tabelle aufgeführt. Du kannst mit dem Argument format in jedes Format exportieren, also mit format='onnx' oder format='engine'. Du kannst Vorhersagen direkt auf exportierten Modellen ausführen oder sie validieren, also mit yolo predict model=yolo26n.onnx. Nach Abschluss des Exports werden Verwendungsbeispiele für dein Modell angezeigt.

FormatArgument formatModellMetadatenArgumente
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, quantize, dynamic, nms, batch, device
ONNXonnxyolo26n.onnximgsz, quantize, dynamic, simplify, opset, nms, batch, data, fraction, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, quantize, dynamic, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, quantize, dynamic, simplify, opset, workspace, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, quantize, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, quantize, opset, nms, batch, data, fraction, device
TF GraphDefpbyolo26n.pbimgsz, opset, batch, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, quantize, opset, data, fraction, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, dynamic, quantize, simplify, opset, nms, device
NCNNncnnyolo26n_ncnn_model/imgsz, quantize, batch, device
IMX500imxyolo26n_imx_model/imgsz, quantize, data, fraction, nms, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, quantize, simplify, opset, data, fraction, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n_axelera_model/imgsz, batch, quantize, data, fraction, device
DEEPXdeepxyolo26n_deepx_model/imgsz, quantize, simplify, opset, data, optimize, device
Qualcomm QNNqnnyolo26n_qnn.onnximgsz, batch, name, quantize, simplify, opset, data, fraction, device
LiteRTlitertyolo26n.tfliteimgsz, quantize, batch, data, fraction, device
Hailohailoyolo26n_hailo_model/imgsz, name, quantize, data, fraction, simplify, conf, iou
Huawei Ascendascendyolo26n_ascend_model/imgsz, batch, name, quantize, opset, simplify, nms
Apple Core AIcoreaiyolo26n.aimodelimgsz, batch, quantize

nms=None verwendet standardmäßig Rohausgaben für externes NMS. Setze nms=False, um einen verfügbaren NMS-freien Kopf auszuwählen; nicht unterstützte Formate greifen auf ihren nativen Ausgabepfad zurück. Die Einträge nms oben identifizieren Formate, die NMS mit nms=True einbetten können.

Ausführliche Informationen zu export findest du auf der Seite Export.

FAQ#

  • Ja. Der Schnellstart der Ultralytics Platform beschreibt einen browserbasierten Workflow zum Annotieren von Datensätzen, Trainieren von Erkennungsmodellen auf Cloud-GPUs und Bereitstellen dieser Modelle an Inferenzendpunkten.

  • Das Training eines YOLO26-Modells mit einem eigenen Datensatz umfasst einige Schritte:

    1. Datensatz vorbereiten: Stelle sicher, dass dein Datensatz im YOLO-Format vorliegt. Hinweise findest du in unserem Datensatzleitfaden.
    2. Modell laden: Verwende die Ultralytics-YOLO-Bibliothek, um ein vortrainiertes Modell zu laden oder aus einer YAML-Datei ein neues Modell zu erstellen.
    3. Modell trainieren: Führe die Methode train in Python oder den Befehl yolo detect train in der CLI aus.
    Beispiel
    from ultralytics import YOLO
    
    # Load a pretrained model
    model = YOLO("yolo26n.pt")
    
    # Train the model on your custom dataset
    model.train(data="my_custom_dataset.yaml", epochs=100, imgsz=640)

    Ausführliche Konfigurationsoptionen findest du auf der Seite Konfiguration.

  • Ultralytics YOLO26 bietet verschiedene vortrainierte Modelle für Objekterkennung, Instanzsegmentierung, semantische Segmentierung und Posenschätzung. Diese Modelle wurden auf dem COCO-Datensatz, Cityscapes für semantische Segmentierung oder ImageNet für Klassifizierungsaufgaben vortrainiert. Hier sind einige der verfügbaren Modelle:

    Eine ausführliche Liste und Leistungskennzahlen findest du im Abschnitt Modelle.

  • Um die Genauigkeit deines trainierten YOLO26-Modells zu validieren, kannst du die Methode .val() in Python oder den Befehl yolo detect val in der CLI verwenden. Dadurch erhältst du Kennzahlen wie mAP50-95, mAP50 und weitere.

    Beispiel
    from ultralytics import YOLO
    
    # Load the model
    model = YOLO("path/to/best.pt")
    
    # Validate the model
    metrics = model.val()
    print(metrics.box.map)  # mAP50-95

    Weitere Informationen zur Validierung findest du auf der Seite Val.

  • Mit Ultralytics YOLO26 kannst du Modelle in verschiedene Formate wie ONNX, TensorRT, CoreML und weitere exportieren, um die Kompatibilität mit verschiedenen Plattformen und Geräten sicherzustellen.

    Beispiel
    from ultralytics import YOLO
    
    # Load the model
    model = YOLO("yolo26n.pt")
    
    # Export the model to ONNX format
    model.export(format="onnx")

    Die vollständige Liste der unterstützten Formate und Anleitungen findest du auf der Seite Export.

  • Ultralytics YOLO26 wurde entwickelt, um modernste Leistung für Objekterkennung, Instanzsegmentierung, semantische Segmentierung und Posenschätzung zu bieten. Hier sind einige wichtige Vorteile:

    1. Vortrainierte Modelle: Nutze Modelle, die auf beliebten Datensätzen wie COCO und ImageNet vortrainiert wurden, um die Entwicklung zu beschleunigen.
    2. Hohe Genauigkeit: Erzielt beeindruckende mAP-Werte und sorgt so für eine zuverlässige Objekterkennung.
    3. Geschwindigkeit: Für Echtzeitinferenz optimiert und damit ideal für Anwendungen, die eine schnelle Verarbeitung erfordern.
    4. Flexibilität: Exportiere Modelle in verschiedene Formate wie ONNX und TensorRT, um sie auf mehreren Plattformen bereitzustellen.

    Entdecke unseren Blog mit Anwendungsfällen und Erfolgsgeschichten, die YOLO26 in der Praxis zeigen.

Kommentare