TrackZone usando Ultralytics YOLO26

Abrir TrackZone no Colab

O que é o TrackZone?

O TrackZone é especializado em monitorar objetos dentro de áreas designadas de um quadro em vez de todo o quadro. Construído sobre Ultralytics YOLO26, ele integra detecção e rastreamento de objetos especificamente dentro de zonas para vídeos e feeds de câmera ao vivo. Os algoritmos avançados e as tecnologias de deep learning do YOLO26 o tornam a escolha perfeita para casos de uso em tempo real, oferecendo rastreamento de objetos preciso e eficiente em aplicações como monitoramento de multidões e vigilância.



Watch: How to Track Objects in Region using Ultralytics YOLO26 | TrackZone 🚀

Vantagens do Rastreamento de Objetos em Zonas (TrackZone)

  • Análise Direcionada: Rastrear objetos dentro de zonas específicas permite insights mais focados, possibilitando monitoramento e análise precisos de áreas de interesse, como pontos de entrada ou zonas restritas.
  • Eficiência Melhorada: Ao restringir o escopo de rastreamento a zonas definidas, o TrackZone reduz a sobrecarga computacional, garantindo processamento mais rápido e desempenho ideal.
  • Segurança Aprimorada: O rastreamento zonal melhora a vigilância ao monitorar áreas críticas, auxiliando na detecção precoce de atividades incomuns ou violações de segurança.
  • Soluções Escaláveis: A capacidade de focar em zonas específicas torna o TrackZone adaptável a vários cenários, desde espaços de varejo até configurações industriais, garantindo integração perfeita e escalabilidade.

Aplicações no Mundo Real

AgriculturaTransporte
Rastreamento de plantas no campo usando Ultralytics YOLO26Rastreamento de veículos na estrada usando Ultralytics YOLO26
Rastreamento de Plantas no Campo usando Ultralytics YOLO26Rastreamento de Veículos na Estrada usando Ultralytics YOLO26
TrackZone usando Ultralytics YOLO
# Run a trackzone example
yolo solutions trackzone show=True

# Pass a source video
yolo solutions trackzone source="path/to/video.mp4" show=True

# Pass region coordinates
yolo solutions trackzone show=True region="[(150, 150), (1130, 150), (1130, 570), (150, 570)]"

O TrackZone depende da lista region para saber qual parte do quadro monitorar. Defina o polígono para corresponder à zona física de seu interesse (portas, portões, etc.) e mantenha show=True ativado durante a configuração para que você possa verificar se a sobreposição se alinha com o feed de vídeo.

Argumentos do TrackZone

Aqui está uma tabela com os argumentos do TrackZone:

ArgumentoTipoPredefiniçãoDescrição
modelstrNoneCaminho para um arquivo de modelo Ultralytics YOLO.
regionlist'[(20, 400), (1260, 400)]'Lista de pontos definindo a região de contagem.

A solução TrackZone inclui suporte para parâmetros de track:

ArgumentoTipoPredefiniçãoDescrição
trackerstr'botsort.yaml'Especifica o algoritmo de rastreamento a ser usado, por exemplo, bytetrack.yaml ou botsort.yaml.
conffloat0.1Define o limite de confiança para as detecções; valores mais baixos permitem que mais objetos sejam rastreados, mas podem incluir falsos positivos.
ioufloat0.7Define o limite de Intersection over Union (IoU) para filtrar detecções sobrepostas.
classeslistNoneFiltra resultados pelo índice da classe. Por exemplo, classes=[0, 2, 3] rastreia apenas as classes especificadas.
verboseboolTrueControla a exibição dos resultados de rastreamento, fornecendo uma saída visual dos objetos rastreados.
devicestrNoneEspecifica o dispositivo para inferência (por exemplo, cpu, cuda:0 ou 0). Permite que os usuários selecionem entre CPU, uma GPU específica ou outros dispositivos de computação para a execução do modelo.

Além disso, as seguintes opções de visualização estão disponíveis:

ArgumentoTipoPredefiniçãoDescrição
showboolFalseSe True, exibe as imagens ou vídeos anotados numa janela. Útil para feedback visual imediato durante o desenvolvimento ou teste.
line_widthint or NoneNoneEspecifica a largura da linha das caixas delimitadoras. Se None, a largura da linha é ajustada automaticamente com base no tamanho da imagem. Oferece personalização visual para clareza.
show_confboolTrueExibe a pontuação de confiança para cada deteção ao lado do rótulo. Dá uma noção da certeza do modelo para cada deteção.
show_labelsboolTrueExibe rótulos para cada deteção na saída visual. Proporciona uma compreensão imediata dos objetos detetados.

FAQ

Como rastrear objetos em uma área ou zona específica de um quadro de vídeo usando Ultralytics YOLO26?

Rastrear objetos em uma área ou zona definida de um quadro de vídeo é simples com o Ultralytics YOLO26. Basta usar o comando fornecido abaixo para iniciar o rastreamento. Esta abordagem garante uma análise eficiente e resultados precisos, tornando-a ideal para aplicações como vigilância, gestão de multidões ou qualquer cenário que exija rastreamento zonal.

yolo solutions trackzone source="path/to/video.mp4" show=True

Como posso usar o TrackZone em Python com Ultralytics YOLO26?

Com apenas algumas linhas de código, você pode configurar o rastreamento de objetos em zonas específicas, tornando fácil a integração em seus projetos.

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]

# Video writer
video_writer = cv2.VideoWriter("object_counting_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init trackzone (object tracking in zones, not complete frame)
trackzone = solutions.TrackZone(
    show=True,  # display the output
    region=region_points,  # pass region points
    model="yolo26n.pt",
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    results = trackzone(im0)
    video_writer.write(results.plot_im)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

Como configuro os pontos da zona para processamento de vídeo usando o Ultralytics TrackZone?

Configurar pontos de zona para processamento de vídeo com o Ultralytics TrackZone é simples e personalizável. Você pode definir e ajustar diretamente as zonas através de um script Python, permitindo um controle preciso sobre as áreas que você deseja monitorar.

# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]

# Initialize trackzone
trackzone = solutions.TrackZone(
    show=True,  # display the output
    region=region_points,  # pass region points
)

Comentários