Sobre o projeto
Este repositório fornece um pipeline rápido para deteção de bola de voleibol, extração de rally e geração automática de reels verticais 9:16. Foi concebido para análise desportiva e investigação em visão computacional, com seguimento de bola em tempo real em hardware CPU.
O pipeline é composto por várias etapas: deteção da bola a partir de vídeo usando um modelo ONNX otimizado, que escreve as coordenadas da bola num CSV e, opcionalmente, produz um vídeo anotado; conversão do CSV em faixas de rally como JSON; criação de um vídeo horizontal combinado de rally ou de clipes de rally divididos; e geração de reels verticais centrados na trajetória da bola. Uma variante sensível ao campo também pode usar deteções de jogadores para identificar toques na bola e distinguir rallies de bolas entregues para o próximo serviço.
A instalação usa uv sync, e a instalação base suporta visualização, uma vez que opencv-python inclui um backend GUI. Um extra de desenvolvimento adiciona matplotlib e pytest para diagnósticos e testes. O fluxo de início rápido executa deteção, cálculo de faixas, processamento opcional de vídeo combinado e criação de reels através de scripts separados.
Opções principais de linha de comandos controlam limiares de confiança, visualização, saída apenas CSV, anotação de campo, parâmetros de seguimento, filtragem de rally, padding e suavização ou interpolação de reels. Um script de revisão interativo permite percorrer frames e faixas com controlos de teclado.
Também são fornecidos scripts de runtime OpenVINO, incluindo um script de deteção de jogador e bola que produz previsões JSON e vídeo anotado. Os modelos ONNX disponíveis são avaliados num setup de CPU com F1, precisão, recall e FPS de inferência reportados; o modelo mais rápido atinge mais de 1000 FPS em inferência isolada, enquanto uma execução completa do pipeline é mais lenta devido à descodificação de vídeo partilhada. Checkpoints anteriores são mantidos para referência.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.