Visão geral de conjuntos de dados de rastreamento de múltiplos objetos#
O rastreamento de múltiplos objetos é um componente crítico em análise de vídeo que identifica objetos e mantém IDs únicos para cada objeto detectado ao longo dos quadros de vídeo. O Ultralytics YOLO fornece capacidades de rastreamento poderosas que podem ser aplicadas a vários domínios, incluindo vigilância, análise de esportes e monitoramento de tráfego.
Formato do Dataset#
O modo Track não treina um rastreador nem requer um dataset específico para rastreadores. Treina um modelo de detecção, segmentação, pose ou OBB com o formato de dataset padrão dessa tarefa, depois usa os pesos resultantes com model.track() ou yolo track. O rastreador selecionado associa as predições do modelo entre os quadros no momento da inferência.
Rastreadores disponíveis#
O Ultralytics YOLO suporta os seguintes algoritmos de rastreamento:
- BoT-SORT - Usa
botsort.yamlpara ativar este rastreador - ByteTrack - Usa
bytetrack.yamlpara ativar este rastreador - OC-SORT - Usa
ocsort.yamlpara ativar este rastreador - Deep OC-SORT - Usa
deepocsort.yamlpara ativar este rastreador - FastTracker - Usa
fasttrack.yamlpara ativar este rastreador - TrackTrack - Usa
tracktrack.yamlpara ativar este rastreador (padrão)
Uso#
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)Persistindo rastreamentos entre quadros#
Para rastreamento contínuo em quadros de vídeo, podes usar o parâmetro persist=True:
import cv2
from ultralytics import YOLO
# Load the YOLO model
model = YOLO("yolo26n.pt")
# Open the video file
cap = cv2.VideoCapture("path/to/video.mp4")
while cap.isOpened():
success, frame = cap.read()
if success:
# Run tracking with persistence between frames
results = model.track(frame, persist=True)
# Visualize the results
annotated_frame = results[0].plot()
cv2.imshow("Tracking", annotated_frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
break
cap.release()
cv2.destroyAllWindows()FAQ#
Para usar o rastreamento de múltiplos objetos com o Ultralytics YOLO, você pode começar usando os exemplos em Python ou CLI fornecidos. Veja como você pode começar:
Exemplofrom ultralytics import YOLO model = YOLO("yolo26n.pt") # Load the YOLO26 model results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)Estes comandos carregam o modelo YOLO26 e utilizam-no para rastrear objetos na fonte de vídeo fornecida com limiares específicos de confiança (
conf) e Intersection over Union (iou). Para mais detalhes, consulta a documentação do modo de rastreamento.O Ultralytics YOLO é um modelo de object detection de última geração conhecido pelo seu desempenho em tempo real e alta accuracy. Usar o YOLO para rastreamento de múltiplos objetos oferece várias vantagens:
- Rastreamento em tempo real: Obtenha um rastreamento eficiente e de alta velocidade, ideal para ambientes dinâmicos.
- Flexibilidade com modelos pré-treinados: Não é preciso treinar do zero; basta usar modelos pré-treinados de detecção, segmentação, pose ou OBB.
- Facilidade de uso: A integração simples da API com Python e CLI torna a configuração de pipelines de rastreamento direta.
- Documentação extensa e suporte da comunidade: O Ultralytics fornece documentação abrangente e um fórum comunitário ativo para solucionar problemas e aprimorar seus modelos de rastreamento.
Para mais detalhes sobre como configurar e usar o YOLO para rastreamento, visita o nosso guia de uso de rastreamento.
Sim. Treina um modelo de detecção, segmentação, pose ou OBB no teu dataset personalizado, depois passa os respetivos pesos para
model.track(). O próprio rastreador é executado durante a inferência e não requer dados de treino separados.Após executar um trabalho de rastreamento com o Ultralytics YOLO, os resultados incluem vários pontos de dados, como IDs de objetos rastreados, suas caixas delimitadoras e as pontuações de confiança. Aqui está uma breve visão geral de como interpretar esses resultados:
- IDs rastreados: Cada objeto recebe um ID único, o que ajuda a rastreá-lo entre os quadros.
- Caixas delimitadoras: Estas indicam a localização dos objetos rastreados dentro do quadro.
- Pontuações de confiança: Estas refletem a confiança do modelo na detecção do objeto rastreado.
Para orientações detalhadas sobre como interpretar e visualizar estes resultados, consulta o guia de tratamento de resultados.
Podes personalizar o rastreador criando uma versão modificada do ficheiro de configuração do rastreador. Copia um ficheiro de configuração de rastreador existente de ultralytics/cfg/trackers, modifica os parâmetros conforme necessário e especifica este ficheiro ao executar o rastreador:
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model.track(source="video.mp4", tracker="custom_tracker.yaml")