Ultralytics YOLO27:

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

Utilização#

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 os rastreamentos entre fotogramas#

Para realizar um rastreamento contínuo entre fotogramas do vídeo, você pode usar o parâmetro persist=True:

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

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

Comentários