Visão geral dos conjuntos de dados de rastreamento de múltiplos objetos#
O rastreamento de múltiplos objetos é um componente essencial da análise de vídeo, que identifica objetos e mantém IDs exclusivos para cada objeto detectado ao longo dos quadros do vídeo. O Ultralytics YOLO oferece recursos avançados de rastreamento que podem ser aplicados a vários domínios, incluindo vigilância, análise esportiva e monitoramento de tráfego.
Formato do conjunto de dados#
O modo de rastreamento não treina um rastreador nem exige um conjunto de dados específico para rastreadores. Treina um modelo de detecção, segmentação, pose ou OBB usando o formato padrão do conjunto de dados dessa tarefa e, em seguida, usa os pesos resultantes com model.track() ou yolo track. O rastreador selecionado associa as previsões do modelo entre os quadros durante a inferência.
Rastreadores disponíveis#
O Ultralytics YOLO oferece suporte aos 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)Manter o rastreamento entre quadros#
Para manter o rastreamento contínuo entre os quadros do vídeo, podes usar o parâmetro persist=True:
import cv2
from ultralytics import YOLO
# Carregar o modelo YOLO
model = YOLO("yolo26n.pt")
# Abre o arquivo de vídeo
cap = cv2.VideoCapture("path/to/video.mp4")
while cap.isOpened():
success, frame = cap.read()
if success:
# Executar o rastreamento mantendo a persistência entre quadros
results = model.track(frame, persist=True)
# Visualizar os resultados
annotated_frame = results[0].plot()
cv2.imshow("Tracking", annotated_frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
break
cap.release()
cv2.destroyAllWindows()Perguntas frequentes#
Para usar o rastreamento de múltiplos objetos com o Ultralytics YOLO, podes começar com os exemplos fornecidos para Python ou CLI. Vê como começar:
Exemplofrom ultralytics import YOLO model = YOLO("yolo26n.pt") # Carrega o modelo YOLO26 results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)Estes comandos carregam o modelo YOLO26 e usam-no para rastrear objetos na fonte de vídeo indicada, com limiares específicos de confiança (
conf) e interseção sobre união (iou). Para mais detalhes, consulta a documentação do modo de rastreamento.O Ultralytics YOLO é um modelo de última geração para detecção de objetos, conhecido pelo desempenho em tempo real e pela precisão. Usar YOLO para rastreamento de múltiplos objetos oferece várias vantagens:
- Rastreamento em tempo real: Obtém um rastreamento eficiente e de alta velocidade, ideal para ambientes dinâmicos.
- Flexibilidade com modelos pré-treinados: Não precisas 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 facilita a configuração de pipelines de rastreamento.
- Documentação abrangente e suporte da comunidade: A Ultralytics oferece documentação completa e um fórum comunitário ativo para solucionar problemas e aprimorar os teus modelos de rastreamento.
Para mais detalhes sobre como configurar e usar YOLO para rastreamento, consulta o nosso guia de uso do rastreamento.
Sim. Treina um modelo de detecção, segmentação, pose ou OBB no teu conjunto de dados personalizado e, em seguida, passa os respetivos pesos para
model.track(). O próprio rastreador é executado durante a inferência e não requer dados de treino separados.Depois de executar uma tarefa de rastreamento com o Ultralytics YOLO, os resultados incluem vários pontos de dados, como os IDs dos objetos rastreados, as respetivas caixas delimitadoras e os valores de confiança. Aqui está uma breve visão geral de como interpretar esses resultados:
- IDs rastreados: Cada objeto recebe um ID exclusivo, que ajuda a rastreá-lo entre os quadros.
- Caixas delimitadoras: Indicam a localização dos objetos rastreados no quadro.
- Valores de confiança: Indicam o grau de confiança do modelo na detecção do objeto rastreado.
Para obter orientações detalhadas sobre como interpretar e visualizar esses resultados, consulta o guia de tratamento de resultados.
Podes personalizar o rastreador criando uma versão modificada do arquivo de configuração do rastreador. Copia um arquivo de configuração existente de ultralytics/cfg/trackers, modifica os parâmetros conforme necessário e especifica esse arquivo ao executar o rastreador:
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model.track(source="video.mp4", tracker="custom_tracker.yaml")