Ultralytics YOLO27:
Get Started

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.yaml para ativar este rastreador
  • ByteTrack - Usa bytetrack.yaml para ativar este rastreador
  • OC-SORT - Usa ocsort.yaml para ativar este rastreador
  • Deep OC-SORT - Usa deepocsort.yaml para ativar este rastreador
  • FastTracker - Usa fasttrack.yaml para ativar este rastreador
  • TrackTrack - Usa tracktrack.yaml para ativar este rastreador (padrão)

Uso#

Exemplo
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:

Exemplo
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:

    Exemplo
    from 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")

Comentários