Skip to main content

Objekterkennung

YOLO object detection with bounding boxes

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

Die Ausgabe eines Objektdetektors ist eine Menge von Begrenzungsrahmen (Bounding Boxes), die die Objekte im Bild umschließen, zusammen mit Klassenbeschriftungen und Konfidenzwerten für jeden Rahmen. Die Objekterkennung ist eine gute Wahl, wenn du Objekte von Interesse in einer Szene identifizieren musst, aber nicht genau wissen musst, wo sich das Objekt befindet oder welche Form es genau hat.



Watch: Object Detection with Pretrained Ultralytics YOLO Model.
Tipp

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

Modelle

YOLO26 vortrainierte Detect-Modelle sind hier dargestellt. Detect-, Segment- und Pose-Modelle sind auf dem COCO Datensatz vortrainiert, während Classify-Modelle auf dem ImageNet Datensatz vortrainiert sind.

Modelle werden automatisch von der neuesten Ultralytics Release bei der ersten Verwendung 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.4
YOLO26s64048.647.887.2 ± 0.92.5 ± 0.09.520.7
YOLO26m64053.152.5220.0 ± 1.44.7 ± 0.120.468.2
YOLO26l64055.054.4286.2 ± 2.06.2 ± 0.224.886.4
YOLO26x64057.556.9525.8 ± 4.011.8 ± 0.255.7193.9
  • mAPval Werte gelten für Einzelmodelle mit einer Skalierung auf dem COCO val2017 Datensatz.
    Reproduktion durch yolo val detect data=coco.yaml device=0
  • Geschwindigkeit gemittelt über COCO val-Bilder unter Verwendung einer Amazon EC2 P4d Instanz.
    Reproduktion durch yolo val detect data=coco.yaml batch=1 device=0|cpu
  • Params und FLOPs Werte gelten für das fusionierte Modell nach model.fuse(), welches Conv- und BatchNorm-Schichten zusammenführt und bei End-to-End-Modellen den zusätzlichen One-to-Many-Detektionskopf entfernt. Vortrainierte Checkpoints behalten die vollständige Trainingsarchitektur bei und können höhere Anzahlen aufweisen.

Train

Trainiere YOLO26n auf dem COCO8-Datensatz für 100 Epochen bei einer Bildgröße von 640. Für eine vollständige Liste der verfügbaren Argumente siehe die Konfiguration Seite erkundest.

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)

Siehe vollständige train Modus-Details auf der Train Seite. Detektionsmodelle können auch über Cloud-GPUs mit Ultralytics Plattform.

Datensatzformat

Das YOLO-Detektionsdatensatzformat findest du im Detail im Datensatz-Leitfaden. Um deinen existierenden Datensatz aus anderen Formaten (wie COCO usw.) in das YOLO-Format zu konvertieren, verwende bitte das JSON2YOLO Tool von Ultralytics. Du kannst Detektionsdatensätze auch direkt auf Ultralytics Plattform mit KI-unterstützten Etikettierungswerkzeugen annotieren und verwalten.

Val

Validiere das trainierte YOLO26n-Modell Genauigkeit auf dem COCO8-Datensatz. Es sind keine Argumente erforderlich, da das model seine Trainings-data und Argumente als Modellattribute 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 auf Bildern 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

Siehe vollständige predict Modus-Details auf der Vorhersage Seite erkundest.

Export

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

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")

Verfügbare YOLO26 Exportformate sind in der Tabelle unten aufgeführt. Du kannst in jedes Format unter Verwendung des format Argument verwendest, z. B. format='onnx' oder format='engine'. Du kannst direkt auf exportierten Modellen vorhersagen oder validieren, d. h. yolo predict model=yolo26n.onnx. Anwendungsbeispiele werden für dein Modell nach Abschluss des Exports angezeigt.

Formatformat ArgumentModellMetadatenArgumente
PyTorch-yolo26n.pt-
TorchScripttorchscriptyolo26n.torchscriptimgsz, half, dynamic, optimize, nms, batch, device
ONNXonnxyolo26n.onnximgsz, half, dynamic, simplify, opset, nms, batch, device
OpenVINOopenvinoyolo26n_openvino_model/imgsz, half, dynamic, int8, nms, batch, data, fraction, device
TensorRTengineyolo26n.engineimgsz, half, dynamic, simplify, workspace, int8, nms, batch, data, fraction, device
CoreMLcoremlyolo26n.mlpackageimgsz, dynamic, half, int8, nms, batch, device
TF SavedModelsaved_modelyolo26n_saved_model/imgsz, keras, int8, nms, batch, data, fraction, device
TF GraphDefpbyolo26n.pbimgsz, batch, device
TF Litetfliteyolo26n.tfliteimgsz, half, int8, nms, batch, data, fraction, device
TF Edge TPUedgetpuyolo26n_edgetpu.tfliteimgsz, int8, data, fraction, device
TF.jstfjsyolo26n_web_model/imgsz, half, int8, nms, batch, data, fraction, device
PaddlePaddlepaddleyolo26n_paddle_model/imgsz, batch, device
MNNmnnyolo26n.mnnimgsz, batch, int8, half, device
NCNNncnnyolo26n_ncnn_model/imgsz, half, batch, device
IMX500imxyolo26n_imx_model/imgsz, int8, data, fraction, nms, device
RKNNrknnyolo26n_rknn_model/imgsz, batch, name, device
ExecuTorchexecutorchyolo26n_executorch_model/imgsz, batch, device
Axeleraaxelerayolo26n_axelera_model/imgsz, batch, int8, data, fraction, device

Siehe vollständige export Details auf der Export Seite erkundest.

FAQ

Kann ich Detektionsmodelle ohne Programmierung trainieren und bereitstellen?

Ja. Ultralytics Plattform bietet einen browserbasierten Workflow zur Annotation von Datensätzen, zum Training von Detektionsmodellen auf Cloud-GPUs und zur Bereitstellung an Inferenz-Endpunkte. Siehe den Plattform-Schnellstart, um loszulegen.

Wie trainiere ich ein YOLO26-Modell mit meinem eigenen Datensatz?

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

  1. Bereite den Datensatz vor: Stelle sicher, dass dein Datensatz im YOLO-Format vorliegt. Für Anleitungen beziehe dich auf unseren Datensatz-Leitfaden.
  2. Lade das Modell: Verwende die Ultralytics YOLO-Bibliothek, um ein vortrainiertes Modell zu laden oder ein neues Modell aus einer YAML-Datei zu erstellen.
  3. Trainiere das Modell: Führe die train Methode in Python oder den yolo detect train Befehl 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)

Für detaillierte Konfigurationsoptionen besuche die Konfiguration Seite erkundest.

Welche vortrainierten Modelle sind in YOLO26 verfügbar?

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

Für eine detaillierte Liste und Leistungskennzahlen beziehe dich auf die Modelle Abschnitt.

Wie kann ich die Genauigkeit meines trainierten YOLO-Modells validieren?

Um die Genauigkeit deines trainierten YOLO26-Modells zu validieren, kannst du den .val() Methode in Python oder den yolo detect val Befehl in der CLI verwenden. Dies liefert Kennzahlen wie mAP50-95, mAP50 und mehr.

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

Für weitere Details zur Validierung besuche die Val Seite erkundest.

In welche Formate kann ich ein YOLO26-Modell exportieren?

Ultralytics YOLO26 ermöglicht den Export von Modellen in verschiedene Formate wie ONNX, TensorRT, CoreML, und mehr, um die Kompatibilität über verschiedene Plattformen und Geräte hinweg sicherzustellen.

Beispiel
from ultralytics import YOLO

# Load the model
model = YOLO("yolo26n.pt")

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

Überprüfe die vollständige Liste der unterstützten Formate und Anleitungen auf der Export Seite erkundest.

Warum sollte ich Ultralytics YOLO26 für die Objekterkennung verwenden?

Ultralytics YOLO26 wurde entwickelt, um modernste Leistung für Objekterkennung, Segmentierung und Pose-Schätzung zu bieten. Hier sind einige wichtige Vorteile:

  1. Vortrainierte Modelle: Nutze Modelle, die auf populären Datensätzen wie COCO und ImageNet vortrainiert wurden, für eine schnellere Entwicklung.
  2. Hohe Genauigkeit: Erreicht beeindruckende mAP-Werte und sorgt für eine zuverlässige Objekterkennung.
  3. Geschwindigkeit: Optimiert für Echtzeit-Inferenz, was es ideal für Anwendungen macht, die eine schnelle Verarbeitung erfordern.
  4. Flexibilität: Exportiere Modelle in verschiedene Formate wie ONNX und TensorRT für die Bereitstellung auf mehreren Plattformen.

Erkunde unseren Blog für Anwendungsfälle und Erfolgsgeschichten, die YOLO26 im Einsatz zeigen.

Kommentare