Multi-Tracking de animais com Yolov8 e ByteTrack

Um projeto de visão computacional para rastreamento de animais (apenas vacas) em tempo real

Sobre o Projeto

Este software foi desenvolvido como resultado de meus estudos particulares e cursos realizados na área de Visão Computacional. O objetivo principal é contribuir com a comunidade, compartilhando conhecimento e ferramentas que podem ser úteis para pesquisadores e desenvolvedores interessados em tracking de objetos e animais.

Características Principais

  • Detecção e rastreamento em tempo real de múltiplos objetos
  • Utilização do YOLOv8 para detecção precisa
  • Implementação do ByteTrack para rastreamento robusto
  • Suporte para execução em GPU e CPU
  • Processamento assíncrono de frames
  • Visualização em tempo real dos resultados

Arquitetura do Sistema

Thread de Leitura de Vídeo
Leitura de Frames
Buffer Thread-Safe
Thread de Processamento
Detecção YOLOv8
Rastreamento ByteTrack
Visualização
Vídeo de Entrada
Processamento
Resultado

Como Funciona

Leitura de Vídeo

Uma thread dedicada lê frames do arquivo de vídeo e os armazena em um buffer singleton.

Buffer de Frames

Implementa um singleton thread-safe para armazenar e recuperar o último frame disponível.

Processamento

Thread separada que processa os frames, executando detecção YOLOv8 e rastreamento ByteTrack.

Visualização

Desenha caixas de detecção (azul) e rastreamento (verde) com IDs únicos.

Como Usar

  1. Instale as dependências necessárias (Python, OpenCV, Ultralytics YOLO, ByteTrack)
  2. Coloque seu arquivo de vídeo no diretório apropriado
  3. Execute o script principal: python main.py
  4. Pressione 'q' para sair da visualização

Repositório

O código fonte completo está disponível no GitHub:

Acessar Repositório