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#
| Parkraummanagementsystem | Parkraummanagementsystem |
|---|---|
![]() | ![]() |
| Parkraummanagement aus der Luft mit Ultralytics YOLO26 | Parkraummanagement 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.
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.

Schritt 4: Jetzt kannst du das Parkraummanagement mit dem folgenden Code ausführen: Lösung.
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ßenArgumente für ParkingManagement#
Hier ist eine Tabelle mit den Argumenten für ParkingManagement:
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
model | str | None | Pfad zu einer Ultralytics-YOLO-Modelldatei. |
json_file | str | None | Pfad zur JSON-Datei mit allen Koordinatendaten für Parkplätze. |
line_width | int | 2 | Linienstärke für die Boxen, Keypoints und Zählwerte, die von der Lösung eingezeichnet werden. |
verbose | bool | True | Aktiviert 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:
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
tracker | str | 'tracktrack.yaml' | Legt den zu verwendenden Verfolgungsalgorithmus fest. Integrierte Optionen: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Legt den Konfidenzschwellenwert für Erkennungen fest. Niedrigere Werte ermöglichen die Verfolgung weiterer Objekte, können aber auch falsch positive Ergebnisse einschließen. |
iou | float | 0.7 | Legt den Schwellenwert für die Schnittmenge über Vereinigung (IoU) fest, um überlappende Erkennungen herauszufiltern. |
classes | list | None | Filtert die Ergebnisse nach Klassenindex. Beispielsweise verfolgt classes=[0, 2, 3] nur die angegebenen Klassen. |
device | str | None | Legt 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. |
imgsz | int or tuple | 640 | Zielbildgröß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_det | int | 300 | Maximale 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. |
quantize | int or str | None | Inferenzprä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:
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
show | bool | False | Wenn 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:
- Nimm einen Frame aus einem Video- oder Kamerastream auf.
- Starte mit dem bereitgestellten Code eine GUI, um ein Bild auszuwählen und Polygone zur Definition der Parkplätze einzuzeichnen.
- 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 mitmodeleinen benutzerdefiniert trainierten Detektor fest, beschränke die Erkennungen auf bestimmte Fahrzeug-classes, passe die Schwellenwerteconfundiouan, ändere dentracker, skaliere mitline_widthdie 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.

