Ultralytics YOLO27:

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 estacionamentoSistema de gestão de estacionamento
Análise de parques de estacionamento com o Ultralytics YOLO26Vista superior da gestão de estacionamento com o Ultralytics YOLO26
Vista aérea da gestão de estacionamento com o Ultralytics YOLO26Vista 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.

Anotador de lugares de estacionamento Ultralytics YOLO
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 IDLE em 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.

Demonstração da seleção de pontos do Ultralytics YOLO26

Passo 4: Agora podes executar a solução de gestão de estacionamento com o código abaixo.

Gestão de estacionamento com o Ultralytics YOLO
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 windows

Argumentos de ParkingManagement#

Eis uma tabela com os argumentos de ParkingManagement:

ArgumentoTipoPredefiniçãoDescrição
modelstrNoneCaminho para um ficheiro de modelo YOLO da Ultralytics.
json_filestrNoneCaminho para o ficheiro JSON que contém todos os dados das coordenadas de estacionamento.
line_widthint2Espessura das linhas das caixas, dos pontos-chave e das contagens desenhados pela solução.
verboseboolTrueAtiva 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:

ArgumentoTipoPredefiniçãoDescrição
trackerstr'botsort.yaml'Especifica o algoritmo de rastreamento a utilizar. Opções integradas: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Define o limiar de confiança para as deteções; valores mais baixos permitem rastrear mais objetos, mas podem incluir falsos positivos.
ioufloat0.7Define o limiar de Interseção sobre a União (IoU) para filtrar deteções sobrepostas.
classeslistNoneFiltra os resultados pelo índice da classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas.
devicestrNoneEspecifica 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.
imgszint or tuple640Tamanho 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_detint300Número máximo de detecções mantidas por quadro antes do rastreamento, limitando os objetos que uma solução processa em cenas densas.
quantizeint or strNonePrecisã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:

ArgumentoTipoPredefiniçãoDescrição
showboolFalseSe 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:

    1. Captura um frame de um vídeo ou de uma transmissão de câmara.
    2. Utiliza o código fornecido para iniciar uma GUI, selecionar uma imagem e desenhar polígonos que definam os lugares de estacionamento.
    3. 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 — define model como um detetor treinado à medida, restringe as deteções a classes de veículos específicos, ajusta os limiares conf e iou, altera o tracker, utiliza line_width para dimensionar as etiquetas apresentadas no frame e a indicação de ocupação, ou seleciona o device de 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.

Comentários