Construis un système de gestion de parking avec Ultralytics YOLO26#
Qu'est-ce qu'un système de gestion du stationnement ?#
Un système de gestion du stationnement basé sur Ultralytics YOLO26 détecte les véhicules en temps réel pour suivre les places occupées ou disponibles, puis fournit en direct le taux d'occupation du parking. Il associe la détection d'objets de YOLO26 à une configuration du parking définie en JSON afin que tu puisses surveiller un parking entier depuis un seul flux vidéo ou une seule caméra.
Watch: How to Build a Parking Management System with Ultralytics YOLO26 | Real-Time Spot Detection 🚗
Avantages d'un système de gestion du stationnement#
- Efficacité : Optimise l'utilisation des places de stationnement et réduit les embouteillages dans tout le parking.
- Sûreté et sécurité : Améliore la sûreté des personnes et des véhicules grâce à une surveillance continue.
- Réduction des émissions : Gère la circulation afin de réduire le temps d'attente moteur allumé et les émissions dans les parkings.
Applications concrètes#
| Système de gestion du stationnement | Système de gestion du stationnement |
|---|---|
![]() | ![]() |
| Vue aérienne de la gestion du stationnement avec Ultralytics YOLO26 | Vue de dessus de la gestion du stationnement avec Ultralytics YOLO26 |
Flux de travail du code du système de gestion du stationnement#
La sélection des points est désormais facile
Le choix des points de stationnement est une tâche essentielle et complexe dans les systèmes de gestion du stationnement. Ultralytics simplifie ce processus en fournissant un outil d'« annotation des places de stationnement » qui te permet de définir les zones du parking, lesquelles pourront ensuite être utilisées pour un traitement supplémentaire.
Étape 1 : Capture une image de la vidéo ou du flux de la caméra à l'endroit où tu veux gérer le parking.
Étape 2 : Utilise le code fourni pour lancer une interface graphique, dans laquelle tu peux sélectionner une image et commencer à délimiter les zones de stationnement en cliquant avec la souris pour créer des polygones.
Étape supplémentaire pour installer `tkinter`
En général, tkinter est fourni avec Python. Toutefois, si ce n'est pas le cas, tu peux l'installer en suivant les étapes mises en évidence :
- Linux : (Debian/Ubuntu) :
sudo apt install python3-tk - Fedora :
sudo dnf install python3-tkinter - Arch :
sudo pacman -S tk - Windows : Réinstalle Python et coche la case
tcl/tk and IDLEdans les Fonctionnalités facultatives pendant l'installation. - MacOS : Réinstalle Python depuis https://www.python.org/downloads/macos/ ou avec
brew install python-tk.
from ultralytics import solutions
solutions.ParkingPtsSelection()Étape 3 : Après avoir défini les zones de stationnement avec des polygones, clique sur save pour enregistrer les données dans bounding_boxes.json dans ton répertoire de travail — il s'agit du même nom de fichier que celui chargé ci-dessous par le script de gestion.

Étape 4 : Tu peux maintenant exécuter la solution de gestion du stationnement avec le code ci-dessous.
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 windowsArguments de ParkingManagement#
Voici un tableau présentant les arguments de ParkingManagement :
| Argument | Type | Valeur par défaut | Description |
|---|---|---|---|
model | str | None | Chemin vers un fichier de modèle Ultralytics YOLO. |
json_file | str | None | Chemin vers le fichier JSON contenant toutes les données de coordonnées des places de stationnement. |
line_width | int | 2 | Épaisseur des lignes des boîtes, des points clés et des comptages dessinés par la solution. |
verbose | bool | True | Active le journal par image de la solution, qui indique la forme d'entrée, les comptages par classe et la vitesse de traitement. L'appel de suivi lui-même est toujours silencieux. |
La solution ParkingManagement permet d'utiliser plusieurs paramètres track :
| Argument | Type | Valeur par défaut | Description |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Indique l'algorithme de suivi à utiliser. Options intégrées : botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Définit le seuil de confiance des détections ; des valeurs plus faibles permettent de suivre davantage d'objets, mais peuvent inclure des faux positifs. |
iou | float | 0.7 | Définit le seuil d'intersection sur union (IoU) pour filtrer les détections qui se chevauchent. |
classes | list | None | Filtre les résultats par indice de classe. Par exemple, classes=[0, 2, 3] ne suit que les classes spécifiées. |
device | str | None | Indique le périphérique utilisé pour l'inférence (par exemple, cpu, cuda:0 ou 0). Permet de choisir entre le CPU, un GPU spécifique ou d'autres périphériques de calcul pour l'exécution du modèle. |
imgsz | int or tuple | 640 | Taille de l'image d'inférence cible : un entier pour un carré ou une paire (height, width). Les formes sont ajustées au pas du modèle. |
max_det | int | 300 | Nombre maximal de détections conservées par image avant le suivi, ce qui limite les objets traités par une solution dans les scènes denses. |
quantize | int or str | None | Précision de l'inférence : 16 (FP16) ou 32/non définie (FP32) pour les modèles PyTorch et TorchScript ; les autres formats s'exécutent à la précision sélectionnée par leur artefact et leur environnement d'exécution. Remplace l'indicateur déprécié half. |
De plus, les options de visualisation suivantes sont prises en charge :
| Argument | Type | Valeur par défaut | Description |
|---|---|---|---|
show | bool | False | Si True, affiche les images ou vidéos annotées dans une fenêtre. Utile pour obtenir un retour visuel immédiat pendant le développement ou les tests. |
FAQ#
L'utilisation d'Ultralytics YOLO26 pour le stationnement intelligent présente de nombreux avantages :
- Efficacité : Optimise l'utilisation des places de stationnement et réduit les embouteillages.
- Sûreté et sécurité : Renforce la surveillance et garantit la sécurité des véhicules et des piétons.
- Impact environnemental : Contribue à réduire les émissions en limitant le temps d'attente des véhicules moteur allumé. Découvre d'autres avantages dans la section consacrée aux avantages d'un système de gestion du stationnement.
La définition des places de stationnement est simple avec Ultralytics YOLO26 :
- Capture une image à partir d'une vidéo ou d'un flux de caméra.
- Utilise le code fourni pour lancer une interface graphique permettant de sélectionner une image et de dessiner des polygones afin de définir les places de stationnement.
- Enregistre les données annotées au format JSON pour un traitement ultérieur. Pour obtenir des instructions détaillées, consulte la section sur la sélection des points ci-dessus.
Le paramètre le plus spécifique à ton parking est
json_file: indique-lui le fichier JSON des zones de stationnement que tu crées avec l'annotateur de points afin d'adapter la solution à une nouvelle configuration. Tu peux également l'ajuster à l'aide des autres arguments — définismodelsur un détecteur entraîné sur mesure, limite les détections à certainsclassesde véhicules, ajuste les seuilsconfetiou, change letracker, utiliseline_widthpour redimensionner les libellés affichés sur l'image et l'indicateur d'occupation, ou sélectionne ledevicepour l'inférence. Pour une surveillance connexe basée sur les zones, consulte le guide du comptage d'objets.Ultralytics YOLO26 est utilisé dans diverses applications concrètes de gestion des parkings, notamment :
- Détection des places de stationnement : Identification précise des places disponibles et occupées.
- Surveillance : Renforcement de la sécurité grâce à une surveillance en temps réel.
- Gestion de la circulation : Réduction des temps d'attente et des embouteillages grâce à une gestion efficace du trafic. Des images présentant ces applications sont disponibles dans les applications concrètes.


Ultralytics YOLO26 fournit une détection de véhicules en temps réel et une surveillance pour les systèmes de stationnement, ce qui optimise l'utilisation des places, réduit les embouteillages et améliore la sécurité grâce à une surveillance continue. Son exécution sur un flux de caméra en direct contribue également à gérer la circulation et à réduire le temps d'attente des véhicules moteur allumé. Pour la configuration complète, consulte le flux de travail du code de gestion du stationnement.