Constrói um Sistema de Gestão de Estacionamento com Ultralytics YOLO26#
O que é um sistema de gestão de estacionamento?#
Um sistema de gestão de estacionamento criado com o Ultralytics YOLO26 deteta veículos em tempo real para acompanhar quais lugares de estacionamento estão ocupados ou disponíveis e, em seguida, apresenta a ocupação atual do parque. Combina a deteção de objetos do YOLO26 com um layout de estacionamento definido em JSON, para que possas monitorizar um parque inteiro a partir de uma única transmissão de vídeo ou câmara.
Watch: How to Build a Parking Management System with Ultralytics YOLO26 | Real-Time Spot Detection 🚗
Vantagens de um sistema de gestão de estacionamento#
- Eficiência: Otimiza a utilização dos lugares de estacionamento e reduz o congestionamento em todo o parque.
- Segurança e proteção: Melhora a segurança de pessoas e veículos através de vigilância contínua.
- Redução de emissões: Gere o fluxo de tráfego para minimizar o tempo de imobilização e as emissões nos parques de estacionamento.
Aplicações no mundo real#
| Sistema de gestão de estacionamento | Sistema de gestão de estacionamento |
|---|---|
![]() | ![]() |
| Vista aérea da gestão de estacionamento com o Ultralytics YOLO26 | Vista superior da gestão de estacionamento com o Ultralytics YOLO26 |
Fluxo de trabalho do código do sistema de gestão de estacionamento#
A seleção de pontos é agora fácil
Escolher os pontos de estacionamento é uma tarefa crítica e complexa nos sistemas de gestão de estacionamento. A Ultralytics simplifica este processo ao disponibilizar uma ferramenta de "anotação de lugares de estacionamento" que te permite definir as áreas do parque, que podem ser utilizadas posteriormente para processamento adicional.
Passo 1: Captura um frame do vídeo ou da transmissão da câmara onde queres gerir o parque de estacionamento.
Passo 2: Utiliza o código fornecido para iniciar uma interface gráfica, onde podes selecionar uma imagem e começar a delinear as regiões de estacionamento através de cliques do rato para criar polígonos.
Passo adicional para instalar o `tkinter`
Geralmente, o tkinter vem pré-instalado com Python. No entanto, se isso não acontecer, podes instalá-lo seguindo os passos destacados:
- Linux: (Debian/Ubuntu):
sudo apt install python3-tk - Fedora:
sudo dnf install python3-tkinter - Arch:
sudo pacman -S tk - Windows: Reinstala o Python e ativa a caixa de seleção
tcl/tk and IDLEem Funcionalidades opcionais durante a instalação - macOS: Reinstala o Python a partir de https://www.python.org/downloads/macos/ ou através de
brew install python-tk
from ultralytics import solutions
solutions.ParkingPtsSelection()Passo 3: Depois de definires as áreas de estacionamento com polígonos, clica em save para guardares os dados como bounding_boxes.json no teu diretório de trabalho — o mesmo nome de ficheiro que o script de gestão carrega abaixo.

Passo 4: Agora podes executar a solução de gestão de estacionamento com o código abaixo.
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 windowsArgumentos de ParkingManagement#
Eis uma tabela com os argumentos de ParkingManagement:
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
model | str | None | Caminho para um ficheiro de modelo YOLO da Ultralytics. |
json_file | str | None | Caminho para o ficheiro JSON que contém todos os dados das coordenadas de estacionamento. |
line_width | int | 2 | Espessura das linhas das caixas, dos pontos-chave e das contagens desenhados pela solução. |
verbose | bool | True | Ativa o registo por fotograma da solução, incluindo a forma da entrada, as contagens por classe e a velocidade de processamento. A chamada de rastreamento permanece sempre silenciosa. |
A solução ParkingManagement permite utilizar vários parâmetros de track:
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Especifica o algoritmo de rastreamento a utilizar. Opções integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Define o limiar de confiança para as deteções; valores mais baixos permitem rastrear mais objetos, mas podem incluir falsos positivos. |
iou | float | 0.7 | Define o limiar de Interseção sobre a União (IoU) para filtrar deteções sobrepostas. |
classes | list | None | Filtra os resultados pelo índice da classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas. |
device | str | None | Especifica o dispositivo para a inferência (por exemplo, cpu, cuda:0 ou 0). Permite selecionar entre CPU, uma GPU específica ou outros dispositivos de computação para executar o modelo. |
imgsz | int or tuple | 640 | Tamanho da imagem de inferência alvo: um inteiro para um quadrado ou um par (height, width). As formas são ajustadas para o passo do modelo. |
max_det | int | 300 | Número máximo de detecções mantidas por quadro antes do rastreamento, limitando os objetos que uma solução processa em cenas densas. |
quantize | int or str | None | Precisão de inferência: 16 (FP16) ou 32/não definido (FP32) para modelos PyTorch e TorchScript; outros formatos computam na precisão que o artefato e o tempo de execução selecionam. Substitui a flag obsoleta half. |
Além disso, são suportadas as seguintes opções de visualização:
| Argumento | Tipo | Predefinição | Descrição |
|---|---|---|---|
show | bool | False | Se True, apresenta as imagens ou vídeos anotados numa janela. É útil para obter feedback visual imediato durante o desenvolvimento ou os testes. |
Perguntas frequentes#
O Ultralytics YOLO26 fornece deteção de veículos em tempo real e monitorização para sistemas de estacionamento, o que otimiza a utilização dos lugares, reduz o congestionamento e melhora a segurança através de vigilância contínua. A sua execução numa transmissão de câmara em direto também ajuda a gerir o fluxo de tráfego e a minimizar o tempo de imobilização dos veículos. Para veres a configuração completa, consulta o fluxo de trabalho do código de gestão de estacionamento.
Utilizar o Ultralytics YOLO26 para estacionamento inteligente oferece inúmeras vantagens:
- Eficiência: Otimiza a utilização dos lugares de estacionamento e reduz o congestionamento.
- Segurança e proteção: Reforça a vigilância e garante a segurança de veículos e peões.
- Impacto ambiental: Ajuda a reduzir as emissões ao minimizar o tempo de imobilização dos veículos. Descobre mais vantagens na secção Vantagens de um sistema de gestão de estacionamento.
Definir lugares de estacionamento é simples com o Ultralytics YOLO26:
- Captura um frame de um vídeo ou de uma transmissão de câmara.
- Utiliza o código fornecido para iniciar uma GUI, selecionar uma imagem e desenhar polígonos que definam os lugares de estacionamento.
- Guarda os dados etiquetados no formato JSON para processamento posterior. Para obteres instruções completas, consulta a secção sobre seleção de pontos acima.
A definição mais específica do parque é
json_file: indica o JSON das regiões de estacionamento que criaste com o anotador de pontos para adaptares a solução a um novo layout. Podes personalizá-la ainda mais através dos outros argumentos — definemodelcomo um detetor treinado à medida, restringe as deteções aclassesde veículos específicos, ajusta os limiaresconfeiou, altera otracker, utilizaline_widthpara dimensionar as etiquetas apresentadas no frame e a indicação de ocupação, ou seleciona odevicede inferência. Para monitorização relacionada baseada em zonas, consulta o guia de contagem de objetos.O Ultralytics YOLO26 é utilizado em várias aplicações reais de gestão de parques de estacionamento, incluindo:
- Deteção de lugares de estacionamento: Identificação precisa de lugares disponíveis e ocupados.
- Vigilância: Reforço da segurança através de monitorização em tempo real.
- Gestão do fluxo de tráfego: Redução dos tempos de imobilização e do congestionamento através de uma gestão eficiente do tráfego. Podes encontrar imagens que mostram estas aplicações em aplicações reais.

