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 detetado ao longo dos fotogramas 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 desportiva e monitorização de tráfego.
Formato do conjunto de dados#
O modo de rastreamento não treina um rastreador nem requer um conjunto de dados específico para rastreamento. Treine um modelo de deteção, segmentação, pose ou OBB usando o formato padrão do conjunto de dados dessa tarefa e, em seguida, use os pesos resultantes com model.track() ou yolo track. O rastreador selecionado associa as previsões do modelo entre fotogramas durante a inferência.
Rastreadores disponíveis#
O Ultralytics YOLO é compatível com os seguintes algoritmos de rastreamento:
- BoT-SORT - Use
botsort.yamlpara ativar este rastreador - ByteTrack - Use
bytetrack.yamlpara ativar este rastreador - OC-SORT - Use
ocsort.yamlpara ativar este rastreador - Deep OC-SORT - Use
deepocsort.yamlpara ativar este rastreador - FastTracker - Use
fasttrack.yamlpara ativar este rastreador - TrackTrack - Use
tracktrack.yamlpara ativar este rastreador (predefinido)
Utilização#
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 os rastreamentos entre fotogramas#
Para realizar um rastreamento contínuo entre fotogramas do vídeo, você pode 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()Perguntas frequentes#
Para usar o rastreamento de múltiplos objetos com o Ultralytics YOLO, você pode começar pelos exemplos de Python ou CLI fornecidos. Veja como 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 usam-no para rastrear objetos na fonte de vídeo indicada, com limiares específicos de confiança (
conf) e de Interseção sobre União (iou). Para mais detalhes, consulte a documentação do modo de rastreamento.O Ultralytics YOLO é um modelo de deteção de objetos de última geração, conhecido pelo desempenho em tempo real e pela elevada precisão. Usar o YOLO para o 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 é necessário treinar do zero; basta usar modelos pré-treinados de deteção, segmentação, pose ou OBB.
- Facilidade de utilização: a integração simples da API com Python e CLI torna direta a configuração de pipelines de rastreamento.
- Documentação abrangente e suporte da comunidade: a Ultralytics disponibiliza documentação completa e um fórum comunitário ativo para resolver problemas e melhorar os seus modelos de rastreamento.
Para mais detalhes sobre como configurar e usar o YOLO para rastreamento, consulte o nosso guia de utilização do rastreamento.
Sim. Treine um modelo de deteção, segmentação, pose ou OBB no seu conjunto de dados personalizado e, em seguida, passe 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 dados, como os IDs dos objetos rastreados, as respetivas caixas delimitadoras e as pontuações de confiança. Veja uma breve visão geral de como interpretar estes resultados:
- IDs rastreados: cada objeto recebe um ID exclusivo, que ajuda a rastreá-lo entre fotogramas.
- Caixas delimitadoras: indicam a localização dos objetos rastreados dentro do fotograma.
- Pontuações de confiança: refletem a confiança do modelo na deteção do objeto rastreado.
Para obter orientações detalhadas sobre como interpretar e visualizar estes resultados, consulte o guia de gestão de resultados.
Você pode personalizar o rastreador criando uma versão modificada do ficheiro de configuração do rastreador. Copie um ficheiro de configuração existente de ultralytics/cfg/trackers, modifique os parâmetros conforme necessário e especifique este ficheiro ao executar o rastreador:
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model.track(source="video.mp4", tracker="custom_tracker.yaml")