Os esportes estão evoluindo dia a dia e a tecnologia que os apoia está evoluindo a um ritmo exponencial. Muitos esportes implementaram a visão computacional para melhorar as decisões dos árbitros e a justiça geral do jogo. O tênis usa câmeras para detectar se uma bola está fora, o atletismo usa câmeras para detectar quem ganhou uma corrida e muito mais. Um esporte, porém, que não conseguiu fazê-lo em escala significativa é o basquete. Além disso, o basquete é um dos esportes notórios por chamadas de árbitros flagrantes e que mudam o campeonato. A implementação da visão computacional para monitorar jogos de basquete pode não apenas tornar o jogo uma experiência muito mais justa para jogadores e fãs, mas também ser uma forma de coletar dados para usar em melhores modelos e estatísticas de aprendizado de máquina.
O AI Basketball Referee é um sistema baseado em visão computacional que usa um modelo de aprendizado de máquina YOLO (You Only Look Once) personalizado, treinado em 3.000 imagens anotadas para detectar bolas de basquete em tempo real. Além disso, utiliza a estimativa de pose YOLO para detectar pontos-chave no corpo dos jogadores. Ao combinar essas duas técnicas, o Árbitro de Basquete AI é capaz de identificar com precisão viagens e dribles duplos em jogos de basquete.
A primeira etapa no processo do Árbitro de Basquete AI é a detecção do basquete. O modelo de aprendizado de máquina YOLO é treinado para reconhecer bolas de basquete nos quadros do vídeo. Ele foi treinado em um conjunto de dados diversificado de 3.000 imagens anotadas contendo várias poses de basquete, condições de iluminação e planos de fundo. Durante o tempo de execução, o modelo analisa cada quadro em tempo real e prevê caixas delimitadoras em torno das bolas de basquete detectadas.
Para permitir a detecção de viagens e dribles duplos, o árbitro de basquete AI também emprega a estimativa de pose YOLO. Essa técnica permite que o sistema identifique e rastreie pontos-chave no corpo dos jogadores. As principais articulações do corpo, como tornozelos, joelhos, quadris, cotovelos e pulsos, são cruciais para determinar com precisão os movimentos do jogador.
Assim que as bolas de basquete e os pontos-chave dos jogadores forem detectados, o Árbitro de Basquete AI aplica um conjunto de regras predefinidas para determinar se ocorreu uma violação de deslocamento. Ao analisar a posição e o movimento dos pontos-chave do jogador em quadros consecutivos, o sistema pode detectar casos em que um jogador deu passos sem driblar a bola ou se moveu mais do que a distância permitida sem driblar ou passar.
Da mesma forma, o árbitro de basquete AI aproveita as bolas de basquete detectadas e os pontos-chave dos jogadores para identificar dribles duplos. Ao rastrear a posição e o movimento dos pontos-chave do jogador e analisar as interações com a bola de basquete, o sistema pode detectar situações em que um jogador dribla a bola, para e depois começa a driblar novamente sem que outro jogador toque ou possua a bola nesse meio tempo.
O Árbitro de Basquete AI fornece feedback em tempo real sobre viagens e violações de drible duplo durante jogos de basquete. Ele destaca as violações detectadas no feed de vídeo, facilitando aos árbitros ou usuários a identificação e avaliação da precisão das decisões do sistema. Além disso, o sistema pode gerar logs ou alertas para registrar violações detectadas para análise ou revisão posterior.
O Árbitro de Basquete AI foi projetado para ser personalizável e expansível. Os usuários podem ajustar os parâmetros do sistema, como o limite de detecção para bolas de basquete e a sensibilidade da detecção de deslocamento e drible duplo, para atender às suas necessidades específicas. Além disso, regras adicionais e capacidades de detecção podem ser incorporadas ao sistema para resolver outras violações de basquete ou situações de jogo.
No geral, o AI Basketball Referee combina técnicas de visão computacional de última geração, incluindo detecção de objetos YOLO e estimativa de pose, para detectar com precisão viagens e dribles duplos em jogos de basquete em tempo real. Ele fornece uma ferramenta valiosa para árbitros, treinadores e jogadores analisarem a jogabilidade, melhorarem o desempenho dos jogadores e melhorarem a imparcialidade geral das partidas de basquete.
Clonar projeto
Abra o projeto no VSCode
Crie um novo ambiente conda: conda create -n exercise-tracking python=3.11
Ativar ambiente conda: conda activate exercise-tracking
Instale o pacote ultralíticos: pip install ultralytics
Execute qualquer um dos scripts Python que você gostaria de experimentar. double_dribble.py
e travel_detection.py
são os que fornecem chamadas de árbitro em tempo real.
Altere a entrada do vídeo para sua webcam ( cv2.VideoCapture(0)
) ou um arquivo de vídeo com o caminho relativo ( cv2.VideoCapture('video.mp4')
).
Este arquivo é o núcleo do modelo de detecção de basquete. Infelizmente, o arquivo é muito grande e excedeu os limites de armazenamento do GitHub. Faça download do arquivo aqui: https://drive.google.com/file/d/1e6HLRuhh1IEmxOFaxHQMxfRqhzD92t3B/view?usp=sharing
https://news.gatech.edu/news/2023/07/25/tech-student-brings-artificial-intelligence-basketball-officiating
https://www.hackster.io/news/ai-basketball-referee-detects-traveling-ed1ed45f8ccd
https://aifinityhub.com/2023/06/03/hoops-and-algorithms-ais-role-in-nbas-refereeing/
https://www.fry-ai.com/p/ai-basketball-referee-days-yelling-human-officials-soon
Webinar SingleStore https://www.singlestore.com/resources/webinar-how-to-build-an-openai-basketball-referee-system-with-computer-vision-2023-07/
Horas extras (7M+) https://www.instagram.com/reel/CtMd6LgAAMo/?igshid=ZmZiYTY5ZDNhOA%3D%3D
Barsee AI https://twitter.com/WGMImedia/status/1664205786644455424