Resumo de um sistema de visão computacional para identificação de jogadores de basquete
(blog.roboflow.com)🏀 Resumo de um sistema de visão computacional para identificação de jogadores de basquete
Este post de blog explica em detalhes o processo de construção de um sistema complexo que usa tecnologia de visão computacional para detectar, rastrear e identificar jogadores em vídeos de partidas de basquete. O sistema combina vários modelos modernos de IA em forma de pipeline para resolver desafios difíceis, como movimentos rápidos dos jogadores, oclusões causadas por contato físico, uniformes parecidos e movimento da câmera.
Principais tecnologias e pipeline
Este sistema identifica os jogadores por meio de um processo sofisticado em várias etapas.
-
Detecção de objetos (Object Detection):
- Usa o modelo RF-DETR para localizar com precisão os principais objetos no vídeo, como jogadores, números da camisa, bola de basquete e aro.
-
Rastreamento de jogadores (Player Tracking):
- Utiliza o SAM2 (Segment Anything Model 2) para rastrear os jogadores em cada frame. Graças ao recurso de memória interna do SAM2, mesmo quando um jogador fica temporariamente encoberto por outro jogador ou objeto, o sistema continua reconhecendo que se trata do mesmo jogador e mantém o rastreamento.
-
Separação por times (Team Clustering):
- Usa uma abordagem de clustering por aprendizado não supervisionado para distinguir os dois times com base nas cores dos uniformes.
- O modelo SigLIP converte as características visuais de cada jogador em vetores de embedding.
- O UMAP reduz os dados de embedding de alta dimensionalidade para baixa dimensionalidade.
- Aplica o algoritmo de clustering K-means para dividir os jogadores em dois grupos (times).
-
Identificação dos jogadores (Player Identification):
- Reconhece os números das camisas para identificar os jogadores de forma definitiva.
- Inicialmente, o SmolVLM foi usado para OCR (reconhecimento óptico de caracteres), mas um modelo ResNet ajustado para classificação de números de camisa apresentou maior precisão e foi adotado ao final.
- Usa a métrica IoS (Intersection over Smaller Area) para garantir que o número de camisa detectado seja associado corretamente à máscara do jogador correspondente.
- Para aumentar a confiabilidade do sistema, o número de um jogador só é confirmado quando a mesma previsão é repetida várias vezes.
Conclusão e código-fonte
Este sistema é um caso bem-sucedido que mostra o potencial de integrar de forma criativa vários modelos de ponta em visão computacional para resolver um problema complexo de análise esportiva no mundo real. No entanto, devido à complexidade do processo de processamento, ele não opera em tempo real.
- Código-fonte: o código completo do projeto pode ser consultado no repositório GitHub abaixo.
1 comentários
Não consigo inserir o link do código-fonte.