Crie 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 desenvolvido com Ultralytics YOLO26 detecta veículos em tempo real para acompanhar quais vagas estão ocupadas ou disponíveis e, em seguida, informa a ocupação atual do estacionamento. Ele combina a detecção de objetos do YOLO26 com um layout de estacionamento definido em JSON, para que você possa monitorar todo o estacionamento usando um único fluxo de vídeo ou câmera.
Assista: Como criar um sistema de gerenciamento de estacionamento com Ultralytics YOLO26 | Detecção de vagas em tempo real 🚗
Vantagens do sistema de gestão de estacionamento#
- Eficiência: Otimiza o uso das vagas de estacionamento e reduz o congestionamento em todo o estacionamento.
- Segurança: Melhora a segurança de pessoas e veículos por meio de vigilância contínua.
- Redução de emissões: Gerencia o fluxo de tráfego para minimizar o tempo de marcha lenta e as emissões nos estacionamentos.
Aplicações no mundo real#
| Sistema de gestão de estacionamento | Sistema de gestão de estacionamento |
|---|---|
![]() | ![]() |
| Visão aérea da gestão de estacionamento com Ultralytics YOLO26 | Visão superior da gestão de estacionamento com Ultralytics YOLO26 |
Fluxo de trabalho do código do sistema de gestão de estacionamento#
Agora é fácil selecionar pontos
Escolher os pontos das vagas é uma tarefa fundamental e complexa nos sistemas de gestão de estacionamento. O Ultralytics simplifica esse processo com a ferramenta "Anotador de vagas de estacionamento", que permite definir áreas do estacionamento para uso em processamentos posteriores.
Etapa 1: Capture um frame do vídeo ou do fluxo da câmera no local onde você quer gerenciar o estacionamento.
Etapa 2: Use o código fornecido para abrir uma interface gráfica, selecionar uma imagem e começar a delimitar as áreas de estacionamento com cliques do mouse para criar polígonos.
Etapa adicional para instalar `tkinter`
Em geral, tkinter já vem incluído no Python. Caso contrário, você pode instalá-lo seguindo as etapas destacadas:
- Linux: (Debian/Ubuntu):
sudo apt install python3-tk - Fedora:
sudo dnf install python3-tkinter - Arch:
sudo pacman -S tk - Windows: Reinstale o Python e marque a caixa
tcl/tk and IDLEem Recursos opcionais durante a instalação - MacOS: Reinstale o Python a partir de https://www.python.org/downloads/macos/ ou
brew install python-tk
from ultralytics import solutions
solutions.ParkingPtsSelection()Etapa 3: Depois de definir as áreas de estacionamento com polígonos, clique em save para armazenar os dados como bounding_boxes.json no diretório de trabalho — o mesmo nome de arquivo que o script de gestão carrega abaixo.

Etapa 4: Agora você pode executar a solução de gestão de estacionamento com o código abaixo.
import cv2
from ultralytics import solutions
# Captura de vídeo
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Gravador de vídeo
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))
# Inicializar o objeto de gestão de estacionamento
parkingmanager = solutions.ParkingManagement(
model="yolo26n.pt", # caminho para o arquivo do modelo
json_file="bounding_boxes.json", # caminho para o arquivo de anotações do estacionamento
)
while cap.isOpened():
ret, im0 = cap.read()
if not ret:
break
results = parkingmanager(im0)
# print(results) # acessa a saída
video_writer.write(results.plot_im) # escreve o quadro processado.
cap.release()
video_writer.release()
cv2.destroyAllWindows() # fecha todas as janelas abertasArgumentos de ParkingManagement#
Aqui está uma tabela com os argumentos de ParkingManagement:
| Argumento | Tipo | Padrão | Descrição |
|---|---|---|---|
model | str | None | Caminho para um arquivo de modelo Ultralytics YOLO. |
json_file | str | None | Caminho para o arquivo JSON que contém todos os dados de coordenadas das vagas 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 registro por quadro da solução, com o formato da entrada, as contagens por classe e a velocidade de processamento. A chamada de rastreamento em si é sempre silenciosa. |
A solução ParkingManagement permite usar vários parâmetros de track:
| Argumento | Tipo | Padrão | Descrição |
|---|---|---|---|
tracker | str | 'tracktrack.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 das 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 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 escolher 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 destino para a inferência: um número inteiro para uma imagem quadrada ou um par (height, width). As dimensões são ajustadas ao stride do modelo. |
max_det | int | 300 | Número máximo de deteções mantidas por fotograma antes do rastreamento, limitando os objetos que uma solução processa em cenas densas. |
quantize | int or str | None | Precisão da inferência: 16 (FP16) ou 32/não definido (FP32) para modelos PyTorch e TorchScript; os outros formatos calculam com a precisão selecionada pelo artefacto e pelo ambiente de execução. Substitui a opção half, obsoleta. |
Além disso, há suporte para as seguintes opções de visualização:
| Argumento | Tipo | Padrão | Descrição |
|---|---|---|---|
show | bool | False | Se True, exibe as imagens ou os vídeos anotados em uma janela. Útil para obter feedback visual imediato durante o desenvolvimento ou os testes. |
Perguntas frequentes#
O Ultralytics YOLO26 oferece detecção de veículos em tempo real e monitoramento para sistemas de estacionamento, otimizando o uso das vagas, reduzindo o congestionamento e melhorando a segurança por meio de vigilância contínua. Executá-lo em um fluxo de câmera ao vivo também ajuda a gerenciar o fluxo de tráfego e minimizar o tempo de marcha lenta dos veículos. Para ver a configuração completa, consulte o fluxo de trabalho do código de gestão de estacionamento.
Usar Ultralytics YOLO26 em estacionamentos inteligentes oferece vários benefícios:
- Eficiência: Otimiza o uso das vagas de estacionamento e reduz o congestionamento.
- Segurança: Aprimora a vigilância e garante a segurança de veículos e pedestres.
- Impacto ambiental: Ajuda a reduzir as emissões ao minimizar o tempo de marcha lenta dos veículos. Saiba mais sobre os benefícios na seção Vantagens do sistema de gestão de estacionamento.
Definir vagas de estacionamento é simples com Ultralytics YOLO26:
- Capture um frame de um vídeo ou fluxo de câmera.
- Use o código fornecido para abrir uma GUI, selecionar uma imagem e desenhar polígonos que definem as vagas de estacionamento.
- Salve os dados anotados no formato JSON para processamento posterior. Para obter instruções completas, consulte a seção sobre seleção de pontos acima.
A configuração mais específica para cada estacionamento é
json_file: indique o JSON das regiões de estacionamento criado com o anotador de pontos para adaptar a solução a um novo layout. Você também pode personalizá-la usando os outros argumentos — definamodelpara usar um detector treinado sob medida, restrinja as detecções aclassesde veículos específicos, ajuste os limiaresconfeiou, alterne otracker, useline_widthpara ajustar o tamanho dos rótulos exibidos no frame e da indicação de ocupação, ou selecione odevicede inferência. Para monitoramento relacionado baseado em zonas, consulte o guia de contagem de objetos.O Ultralytics YOLO26 é usado em várias aplicações reais de gestão de estacionamentos, incluindo:
- Detecção de vagas de estacionamento: Identificação precisa de vagas disponíveis e ocupadas.
- Vigilância: Reforço da segurança por meio de monitoramento em tempo real.
- Gestão do fluxo de trânsito: Redução do tempo ocioso e dos congestionamentos com uma gestão eficiente do trânsito. Imagens que ilustram essas aplicações podem ser encontradas em aplicações reais.

