Créer un système de gestion de stationnement avec Ultralytics YOLO26#
Qu’est-ce qu’un système de gestion de stationnement ?#
Un système de gestion de stationnement basé sur Ultralytics YOLO26 détecte les véhicules en temps réel pour suivre les places occupées et disponibles, puis indique le taux d’occupation actuel du parking. Il associe la détection d’objets de YOLO26 à une configuration de stationnement définie en JSON, afin que tu puisses surveiller tout un parking à partir d’un seul flux vidéo ou d’une seule caméra.
Regarder : Comment créer un système de gestion de stationnement avec Ultralytics YOLO26 | Détection des places en temps réel 🚗
Avantages d’un système de gestion de stationnement#
- Efficacité : optimise l’utilisation des places de stationnement et réduit la congestion dans le parking.
- Sûreté et sécurité : améliore la sécurité des personnes et des véhicules grâce à la vidéosurveillance continue.
- Réduction des émissions : régule la circulation afin de réduire les périodes d’immobilité et les émissions dans les parkings.
Applications concrètes#
| Système de gestion de stationnement | Système de gestion de stationnement |
|---|---|
![]() | ![]() |
| Vue aérienne de la gestion d’un parking avec Ultralytics YOLO26 | Vue de dessus de la gestion d’un parking avec Ultralytics YOLO26 |
Flux de travail du code du système de gestion de stationnement#
La sélection des points est désormais simple
Le choix des points de stationnement est une tâche complexe et essentielle dans les systèmes de gestion de stationnement. Ultralytics simplifie ce processus en proposant 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 d’autres traitements.
Étape 1 : Capture une image de la vidéo ou du flux de la caméra où tu veux gérer le parking.
Étape 2 : Utilise le code fourni pour ouvrir une interface graphique, sélectionner une image et commencer à dessiner des régions de stationnement sous forme de polygones en cliquant avec la souris.
Étape supplémentaire pour installer `tkinter`
En général, tkinter est fourni avec Python. Si ce n’est pas le cas, tu peux l’installer en suivant les étapes indiquées :
- 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
tcl/tk and IDLEdans Fonctionnalités facultatives pendant l’installation. - MacOS : réinstalle Python depuis https://www.python.org/downloads/macos/ ou
brew install python-tk.
from ultralytics import solutions
solutions.ParkingPtsSelection()Étape 3 : Après avoir défini les zones de stationnement sous forme de polygones, clique sur save pour enregistrer les données au format bounding_boxes.json dans ton répertoire de travail — le même nom de fichier que le script de gestion charge ci-dessous.

Étape 4 : Tu peux maintenant exécuter la solution de gestion du stationnement avec le code ci-dessous.
import cv2
from ultralytics import solutions
# Capture vidéo
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Écriture de la vidéo
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))
# Initialiser l’objet de gestion du stationnement
parkingmanager = solutions.ParkingManagement(
model="yolo26n.pt", # chemin d’accès au fichier du modèle
json_file="bounding_boxes.json", # chemin d’accès au fichier d’annotations du stationnement
)
while cap.isOpened():
ret, im0 = cap.read()
if not ret:
break
results = parkingmanager(im0)
# print(results) # accéder aux résultats
video_writer.write(results.plot_im) # Écrire l’image traitée.
cap.release()
video_writer.release()
cv2.destroyAllWindows() # fermer toutes les fenêtres ouvertesArguments de ParkingManagement#
Voici un tableau des 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 coordonnées des places de stationnement. |
line_width | int | 2 | Épaisseur des lignes des boîtes, des points clés et des compteurs dessinés par la solution. |
verbose | bool | True | Active le journal de la solution pour chaque image, qui indique la forme de l'entrée, le nombre d'éléments par classe et la vitesse de traitement. L'appel de suivi reste toujours silencieux. |
La solution ParkingManagement permet d’utiliser plusieurs paramètres track :
| Argument | Type | Valeur par défaut | Description |
|---|---|---|---|
tracker | str | 'tracktrack.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 l'union (IoU) utilisé pour filtrer les détections qui se chevauchent. |
classes | list | None | Filtre les résultats selon l'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 cible de l'image pour l'inférence : un entier pour une image carrée ou une paire (height, width). Les dimensions sont ajustées au stride du modèle. |
max_det | int | 300 | Nombre maximal de détections conservées par image avant le suivi, ce qui limite le nombre d'objets qu'une solution traite dans les scènes denses. |
quantize | int or str | None | Précision de l'inférence : 16 (FP16) ou 32/non défini (FP32) pour les modèles PyTorch et TorchScript ; les autres formats utilisent la précision sélectionnée par leur artefact et leur environnement d'exécution. Remplace l'option obsolète 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#
Ultralytics YOLO26 assure la détection de véhicules en temps réel et le suivi des parkings, ce qui optimise l’utilisation des places, réduit la congestion et améliore la sécurité grâce à une surveillance continue. Son exécution sur un flux vidéo en direct contribue également à réguler la circulation et à réduire les périodes d’immobilité des véhicules. Pour connaître la procédure complète, consulte le flux de travail du code de gestion de stationnement.
Utiliser Ultralytics YOLO26 pour le stationnement intelligent offre de nombreux avantages :
- Efficacité : optimise l’utilisation des places de stationnement et réduit la congestion.
- Sûreté et sécurité : améliore la surveillance et garantit la sécurité des véhicules et des piétons.
- Impact environnemental : contribue à réduire les émissions en limitant les périodes d’immobilité des véhicules. Découvre d’autres avantages dans la section sur les avantages d’un système de gestion de stationnement.
Définir des places de stationnement avec Ultralytics YOLO26 est simple :
- Capture une image d’une vidéo ou d’un flux de caméra.
- Utilise le code fourni pour ouvrir une interface graphique qui te permet 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 les traiter ensuite. 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 à chaque parking est
json_file: indique le fichier JSON des régions de stationnement que tu crées avec l’outil d’annotation des points pour adapter la solution à une nouvelle configuration. Tu peux aussi la personnaliser à l’aide des autres arguments : définismodelsur un détecteur entraîné sur mesure, limite les détections à desclassesde véhicules spécifiques, ajuste les seuilsconfetiou, change letracker, utiliseline_widthpour redimensionner les libellés et l’indicateur d’occupation affichés sur l’image, ou sélectionne ledeviced’inférence. Pour surveiller des 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 : identifier avec précision les places libres et occupées.
- Surveillance : renforcer la sécurité grâce à une surveillance en temps réel.
- Gestion de la circulation : réduire les temps d’attente et les embouteillages grâce à une gestion efficace du trafic. Des images illustrant ces applications sont disponibles dans les applications concrètes.

