Ultralytics YOLO27:
Get Started

Erstelle ein Parkraummanagementsystem mit Ultralytics YOLO26#

Was ist ein Parkraummanagementsystem?#

Ein mit Ultralytics YOLO26 erstelltes Parkraummanagementsystem erkennt Fahrzeuge in Echtzeit, erfasst, welche Parkplätze belegt oder frei sind, und meldet die aktuelle Auslastung des Parkplatzes. Es kombiniert die Objekterkennung von YOLO26 mit einem in JSON definierten Parkplatzlayout. So kannst du einen ganzen Parkplatz über einen einzigen Videostream oder Kamerastream überwachen.



Ansehen: So entwickelst du mit Ultralytics YOLO26 ein Parkraummanagementsystem | Freie Parkplätze in Echtzeit erkennen 🚗

Vorteile eines Parkraummanagementsystems#

  • Effizienz: Optimiert die Nutzung der Parkplätze und verringert den Verkehr auf dem gesamten Parkplatz.
  • Sicherheit: Erhöht durch kontinuierliche Überwachung die Sicherheit von Personen und Fahrzeugen.
  • Geringere Emissionen: Steuert den Verkehrsfluss, um Leerlaufzeiten und Emissionen auf Parkplätzen zu minimieren.

Anwendungen in der Praxis#

ParkraummanagementsystemParkraummanagementsystem
Parkplatzanalysen mit Ultralytics YOLO26Parkraummanagement aus der Draufsicht mit Ultralytics YOLO26
Parkraummanagement aus der Luft mit Ultralytics YOLO26Parkraummanagement aus der Draufsicht mit Ultralytics YOLO26

Codeablauf für das Parkraummanagementsystem#

Punkte lassen sich jetzt ganz einfach auswählen

Die Auswahl von Parkplätzen ist eine wichtige und komplexe Aufgabe bei Parkraummanagementsystemen. Ultralytics vereinfacht diesen Prozess mit dem Werkzeug „Annotierung von Parkplätzen“, mit dem du Parkflächen definieren kannst, die sich später weiterverarbeiten lassen.

Schritt 1: Nimm einen Frame aus dem Video- oder Kamerastream auf, in dem du den Parkplatz verwalten möchtest.

Schritt 2: Starte mit dem bereitgestellten Code eine grafische Benutzeroberfläche. Dort kannst du ein Bild auswählen und per Mausklick Parkbereiche mit Polygonen umreißen.

Annotierung von Parkplätzen mit Ultralytics YOLO
Zusätzlicher Schritt zur Installation von `tkinter`

Normalerweise wird tkinter zusammen mit Python installiert. Falls das nicht der Fall ist, kannst du es mit den folgenden Schritten installieren:

  • Linux: (Debian/Ubuntu): sudo apt install python3-tk
  • Fedora: sudo dnf install python3-tkinter
  • Arch: sudo pacman -S tk
  • Windows: Installiere Python erneut und aktiviere während der Installation unter Optional Features das Kontrollkästchen tcl/tk and IDLE.
  • MacOS: Installiere Python erneut von https://www.python.org/downloads/macos/ oder mit brew install python-tk.
from ultralytics import solutions

solutions.ParkingPtsSelection()

Schritt 3: Klicke nach dem Definieren der Parkbereiche mit Polygonen auf save, um die Daten als bounding_boxes.json in deinem Arbeitsverzeichnis zu speichern – unter demselben Dateinamen, den das Verwaltungsskript weiter unten lädt.

Demo zur Punktauswahl mit Ultralytics YOLO26

Schritt 4: Jetzt kannst du das Parkraummanagement mit dem folgenden Code ausführen: Lösung.

Parkraummanagement mit Ultralytics YOLO
import cv2

from ultralytics import solutions

# Videoaufnahme
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Video-Writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("parking management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Parkraummanagement-Objekt initialisieren
parkingmanager = solutions.ParkingManagement(
    model="yolo26n.pt",  # Pfad zur Modelldatei
    json_file="bounding_boxes.json",  # Pfad zur Datei mit den Parkplatzannotierungen
)

while cap.isOpened():
    ret, im0 = cap.read()
    if not ret:
        break

    results = parkingmanager(im0)

    # print(results)  # auf die Ausgabe zugreifen

    video_writer.write(results.plot_im)  # das verarbeitete Bild schreiben.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # Alle geöffneten Fenster schließen

Argumente für ParkingManagement#

Hier ist eine Tabelle mit den Argumenten für ParkingManagement:

ArgumentTypStandardBeschreibung
modelstrNonePfad zu einer Ultralytics-YOLO-Modelldatei.
json_filestrNonePfad zur JSON-Datei mit allen Koordinatendaten für Parkplätze.
line_widthint2Linienstärke für die Boxen, Keypoints und Zählwerte, die von der Lösung eingezeichnet werden.
verboseboolTrueAktiviert das Protokoll der Lösung für jedes Bild, das Eingabeform, Klassenanzahlen und Verarbeitungsgeschwindigkeit enthält. Der Tracking-Aufruf selbst gibt grundsätzlich keine Meldungen aus.

Die Lösung ParkingManagement unterstützt mehrere Parameter von track:

ArgumentTypStandardBeschreibung
trackerstr'tracktrack.yaml'Legt den zu verwendenden Verfolgungsalgorithmus fest. Integrierte Optionen: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Legt den Konfidenzschwellenwert für Erkennungen fest. Niedrigere Werte ermöglichen die Verfolgung weiterer Objekte, können aber auch falsch positive Ergebnisse einschließen.
ioufloat0.7Legt den Schwellenwert für die Schnittmenge über Vereinigung (IoU) fest, um überlappende Erkennungen herauszufiltern.
classeslistNoneFiltert die Ergebnisse nach Klassenindex. Beispielsweise verfolgt classes=[0, 2, 3] nur die angegebenen Klassen.
devicestrNoneLegt das Gerät für die Inferenz fest (z. B. cpu, cuda:0 oder 0). So kannst du für die Modellausführung zwischen CPU, einer bestimmten GPU oder anderen Rechengeräten wählen.
imgszint or tuple640Zielbildgröße für die Inferenz: eine Ganzzahl für ein quadratisches Bild oder ein (height, width)-Paar. Die Formen werden an den Modellschritt angepasst.
max_detint300Maximale Anzahl der Erkennungen, die pro Bild vor der Verfolgung beibehalten werden. Dadurch wird die Anzahl der Objekte begrenzt, die eine Lösung in dichten Szenen verarbeitet.
quantizeint or strNoneInferenzpräzision: 16 (FP16) oder 32/unset (FP32) für PyTorch- und TorchScript-Modelle außerhalb der CPU; andere Formate verwenden die Präzision, die ihr Artefakt und ihre Laufzeitumgebung vorgeben. Ersetzt das veraltete Argument half.

Außerdem werden die folgenden Visualisierungsoptionen unterstützt:

ArgumentTypStandardBeschreibung
showboolFalseWenn True aktiviert ist, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Nützlich für unmittelbares visuelles Feedback während der Entwicklung oder beim Testen.

Häufig gestellte Fragen#

  • Ultralytics YOLO26 ermöglicht Fahrzeugerkennung in Echtzeit und die Überwachung von Parkplätzen. Dadurch werden Parkflächen besser genutzt, Staus verringert und die Sicherheit durch kontinuierliche Überwachung erhöht. Der Einsatz mit einem Live-Kamerastream hilft außerdem, den Verkehrsfluss zu steuern und die Leerlaufzeit von Fahrzeugen zu minimieren. Die vollständige Einrichtung findest du im Codeablauf für das Parkraummanagement.

  • Der Einsatz von Ultralytics YOLO26 für intelligentes Parken bietet zahlreiche Vorteile:

    • Effizienz: Optimiert die Nutzung der Parkplätze und verringert Staus.
    • Sicherheit: Verbessert die Überwachung und sorgt für die Sicherheit von Fahrzeugen und Fußgängern.
    • Umweltauswirkungen: Hilft, Emissionen zu verringern, indem Leerlaufzeiten von Fahrzeugen minimiert werden. Weitere Vorteile findest du im Abschnitt Vorteile eines Parkraummanagementsystems.
  • Mit Ultralytics YOLO26 lassen sich Parkplätze ganz einfach definieren:

    1. Nimm einen Frame aus einem Video- oder Kamerastream auf.
    2. Starte mit dem bereitgestellten Code eine GUI, um ein Bild auszuwählen und Polygone zur Definition der Parkplätze einzuzeichnen.
    3. Speichere die annotierten Daten zur weiteren Verarbeitung im JSON-Format. Eine ausführliche Anleitung findest du oben im Abschnitt zur Punktauswahl.
  • Die wichtigste parkplatzspezifische Einstellung ist json_file: Verweise damit auf die JSON-Datei mit den Parkbereichen, die du mit dem Punkte-Annotierungswerkzeug erstellst, um die Lösung an ein neues Layout anzupassen. Außerdem kannst du die Lösung über weitere Argumente anpassen: Lege mit model einen benutzerdefiniert trainierten Detektor fest, beschränke die Erkennungen auf bestimmte Fahrzeug-classes, passe die Schwellenwerte conf und iou an, ändere den tracker, skaliere mit line_width die Beschriftungen im Frame und die Anzeige der Belegung oder wähle den Inferenz-device. Informationen zur Überwachung anhand von Bereichen findest du in der Anleitung zur Objektzählung.

  • Ultralytics YOLO26 wird in verschiedenen Anwendungen aus der Praxis für die Parkraumbewirtschaftung eingesetzt, darunter:

    • Erkennung von Parkplätzen: Freie und belegte Parkplätze präzise erkennen.
    • Überwachung: Die Sicherheit durch Echtzeitüberwachung erhöhen.
    • Verkehrsflussmanagement: Leerlaufzeiten und Staus durch eine effiziente Verkehrssteuerung reduzieren. Bilder, die diese Anwendungen zeigen, findest du unter Anwendungen aus der Praxis.

Kommentare