Ultralytics YOLO27:

Erstelle ein Parkverwaltungssystem mit Ultralytics YOLO26#

Was ist ein Parkplatzverwaltungssystem?#

Ein mit Ultralytics YOLO26 erstelltes Parkplatzverwaltungssystem erkennt Fahrzeuge in Echtzeit, um zu verfolgen, welche Parkplätze belegt oder frei sind, und meldet anschließend die aktuelle Auslastung des Parkplatzes. Es kombiniert die Objekterkennung von YOLO26 mit einem in JSON definierten Parkplatzlayout, sodass du einen gesamten Parkplatz über einen einzigen Videostream oder Kamerafeed überwachen kannst.



Watch: How to Build a Parking Management System with Ultralytics YOLO26 | Real-Time Spot Detection 🚗

Vorteile eines Parkplatzverwaltungssystems#

  • Effizienz: Optimiert die Nutzung von Parkplätzen und reduziert Staus auf dem gesamten Parkplatz.
  • Sicherheit und Schutz: Erhöht durch kontinuierliche Überwachung die Sicherheit von Personen und Fahrzeugen.
  • Weniger Emissionen: Steuert den Verkehrsfluss, um Standzeiten und Emissionen auf Parkplätzen zu minimieren.

Anwendungen in der Praxis#

ParkplatzverwaltungssystemParkplatzverwaltungssystem
Analyse von Parkplätzen mit Ultralytics YOLO26Draufsicht zur Parkplatzverwaltung mit Ultralytics YOLO26
Luftaufnahme zur Parkplatzverwaltung mit Ultralytics YOLO26Draufsicht zur Parkplatzverwaltung mit Ultralytics YOLO26

Code-Workflow für das Parkplatzverwaltungssystem#

Die Punktauswahl ist jetzt einfach

Die Auswahl von Parkpunkten ist eine wichtige und komplexe Aufgabe in Parkplatzverwaltungssystemen. Ultralytics vereinfacht diesen Prozess mit dem Tool „Parking slots annotator“, mit dem du Bereiche auf einem Parkplatz definieren kannst, die später für die weitere Verarbeitung verwendet werden können.

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

Schritt 2: Verwende den bereitgestellten Code, um eine grafische Oberfläche zu starten. Dort kannst du ein Bild auswählen und per Mausklick Parkbereiche umreißen, um Polygone zu erstellen.

Parking slots annotator für Ultralytics YOLO
Zusätzlicher Schritt zur Installation von `tkinter`

Im Allgemeinen wird tkinter zusammen mit Python installiert. Falls dies nicht der Fall ist, kannst du es mithilfe der hervorgehobenen Schritte 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: Nachdem du die Parkbereiche mit Polygonen definiert hast, klicke auf save, um die Daten in deinem Arbeitsverzeichnis als bounding_boxes.json zu speichern – unter demselben Dateinamen, den das Verwaltungsskript weiter unten lädt.

Demo zur Punktauswahl mit Ultralytics YOLO26

Schritt 4: Du kannst nun die Lösung zur Parkplatzverwaltung mit dem folgenden Code ausführen.

Parkplatzverwaltung mit Ultralytics YOLO
import cv2

from ultralytics import solutions

# Video capture
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))

# Initialize parking management object
parkingmanager = solutions.ParkingManagement(
    model="yolo26n.pt",  # path to model file
    json_file="bounding_boxes.json",  # path to parking annotations file
)

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

    results = parkingmanager(im0)

    # print(results)  # access the output

    video_writer.write(results.plot_im)  # write the processed frame.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

Argumente von ParkingManagement#

Hier ist eine Tabelle mit den Argumenten von ParkingManagement:

ArgumentTypStandardwertBeschreibung
modelstrNonePfad zu einer YOLO-Modell-Datei von Ultralytics.
json_filestrNonePfad zur JSON-Datei mit allen Koordinatendaten der Parkplätze.
line_widthint2Linienstärke für die von der Lösung gezeichneten Boxen, Keypoints und Zählwerte.
verboseboolTrueAktiviert das Protokoll der Lösung pro Frame mit Eingabeform, Klassenanzahlen und Verarbeitungsgeschwindigkeit. Der Tracking-Aufruf selbst bleibt immer ohne Ausgabe.

Die Lösung ParkingManagement ermöglicht die Verwendung mehrerer Parameter von track:

ArgumentTypStandardwertBeschreibung
trackerstr'botsort.yaml'Gibt den zu verwendenden Tracking-Algorithmus an. 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 das Verfolgen weiterer Objekte, können aber Fehlalarme einschließen.
ioufloat0.7Legt den Schwellenwert für Intersection over Union (IoU) zum Filtern überlappender Erkennungen fest.
classeslistNoneFiltert Ergebnisse nach Klassenindex. Beispielsweise verfolgt classes=[0, 2, 3] nur die angegebenen Klassen.
devicestrNoneGibt das Gerät für die Inferenz an (z. B. cpu, cuda:0 oder 0). Ermöglicht die Auswahl zwischen CPU, einer bestimmten GPU oder anderen Rechengeräten für die Modellausführung.
imgszint or tuple640Ziel-Inferenzbildgröße: eine ganze Zahl für ein quadratisches Bild oder ein (height, width)-Paar. Die Formate werden an die Modellschrittweite angepasst.
max_detint300Maximale Anzahl pro Frame beibehaltener Detektionen vor dem Tracking, wodurch die Objekte begrenzt werden, die eine Solution in dichten Szenen verarbeitet.
quantizeint or strNoneInferenzpräzision: 16 (FP16) oder 32/nicht gesetzt (FP32) für PyTorch- und TorchScript-Modelle; andere Formate berechnen mit der Präzision, die ihr Artefakt und ihre Laufzeit auswählen. Ersetzt das veraltete half-Flag.

Darüber hinaus werden die folgenden Visualisierungsoptionen unterstützt:

ArgumentTypStandardwertBeschreibung
showboolFalseWenn True, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Dies ist nützlich für unmittelbares visuelles Feedback während der Entwicklung oder des Testens.

FAQ#

  • Ultralytics YOLO26 ermöglicht Fahrzeugerkennung in Echtzeit und Überwachung für Parkplatzsysteme. Dadurch wird die Nutzung von Parkplätzen optimiert, Staus werden reduziert und die Sicherheit durch kontinuierliche Überwachung erhöht. Der Betrieb mit einem Live-Kamerafeed hilft außerdem dabei, den Verkehrsfluss zu steuern und die Standzeit von Fahrzeugen zu minimieren. Eine vollständige Anleitung zur Einrichtung findest du im Code-Workflow für die Parkplatzverwaltung.

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

    • Effizienz: Optimiert die Nutzung von Parkplätzen und verringert Staus.
    • Sicherheit und Schutz: Verbessert die Überwachung und gewährleistet die Sicherheit von Fahrzeugen und Fußgängern.
    • Umweltauswirkungen: Hilft, Emissionen durch die Minimierung von Fahrzeugstandzeiten zu reduzieren. Weitere Vorteile findest du im Abschnitt Vorteile eines Parkplatzverwaltungssystems.
  • Mit Ultralytics YOLO26 lassen sich Parkplätze unkompliziert definieren:

    1. Nimm ein Einzelbild aus einem Video- oder Kamerastream auf.
    2. Verwende den bereitgestellten Code, um eine grafische Oberfläche zur Auswahl eines Bildes zu starten und Polygone zu zeichnen, die die Parkplätze definieren.
    3. Speichere die beschrifteten Daten zur weiteren Verarbeitung im JSON-Format. Eine ausführliche Anleitung findest du im obigen Abschnitt zur Punktauswahl.
  • Die wichtigste parkplatzspezifische Einstellung ist json_file: Verweise damit auf die JSON-Datei mit den Parkplatzbereichen, die du mit dem Punkte-Annotator erstellst, um die Lösung an ein neues Layout anzupassen. Über die anderen Argumente kannst du die Lösung weiter anpassen – lege model auf einen individuell trainierten Detektor fest, beschränke die Erkennungen auf bestimmte Fahrzeug-classes, passe die Schwellenwerte conf und iou an, wechsle den tracker, verwende line_width, um die Beschriftungen im Bild und die Anzeige der Auslastung zu skalieren, oder wähle das Inferenz-device aus. Informationen zur verwandten zonenbasierten Überwachung findest du im Leitfaden zur Objektzählung.

  • Ultralytics YOLO26 wird in verschiedenen praktischen Anwendungen für die Parkplatzverwaltung eingesetzt, darunter:

    • Erkennung von Parkplätzen: Freie und belegte Parkplätze zuverlässig identifizieren.
    • Überwachung: Die Sicherheit durch Überwachung in Echtzeit erhöhen.
    • Verkehrsflusssteuerung: Standzeiten und Staus durch eine effiziente Verkehrssteuerung reduzieren. Bilder zu diesen Anwendungen findest du unter praktische Anwendungen.

Kommentare