Escolar Documentos
Profissional Documentos
Cultura Documentos
No que tange o meu projeto de iniciação científica, tenho me dedicado ao estudo e desenvolvimento
de métodos para a detecção de uma bola de tênis em um jogo real. O objetivo principal do projeto é
calcular a posição 3D da bola utilizando visão estéreo no Robot Operating System (ROS).
A detecção de uma bola de tênis em um ambiente real apresenta uma série de desafios
significativos. A bola, quando capturada em vídeo durante um jogo, frequentemente aparece
pequena na imagem, com pouco contraste em relação ao fundo. Além disso, existem momentos em
que a bola está em pontos cegos ou é deformada devido à alta velocidade, tornando a detecção ainda
mais difícil.
Atualmente, estou utilizando um filtro HSV em Python para a detecção da bola. Este método tem se
mostrado eficaz em condições onde a bola está próxima à câmera e há um contraste significativo
entre a bola e o fundo. No entanto, o desafio reside em melhorar a detecção em condições menos
ideais, que são comuns em ambientes reais, ao contrário de ambientes controlados.
A pesquisa e o desenvolvimento deste projeto têm como objetivo final aprimorar a detecção da bola
de tênis em todas as condições de jogo, contribuindo para o avanço da tecnologia de rastreamento
de objetos em ambientes dinâmicos e desafiadores.
O TrackNet é uma rede de aprendizado profundo desenvolvida para rastrear a trajetória da bola em
vídeos de transmissões de tênis. A bola de tênis em tais vídeos é geralmente pequena, borrada e às
vezes com rastros de pós-imagem ou até mesmo invisível. O TrackNet foi projetado para superar
esses desafios.
A rede TrackNet é treinada para reconhecer a imagem da bola a partir de um único quadro e
também aprender padrões de voo a partir de quadros consecutivos. Ela recebe imagens com o
tamanho de 640 × 360 para gerar um mapa de calor de detecção a partir de um único quadro ou
vários quadros consecutivos para posicionar a bola. Isso permite que o TrackNet alcance alta
precisão mesmo em vídeos de domínio público.
O TrackNet usa uma abordagem baseada em mapa de calor para rastrear a bola. A posição da bola é
representada como um pico em um mapa de calor, que é gerado usando uma distribuição gaussiana
centrada na bola. O TrackNet é capaz de rastrear a bola com precisão, mesmo quando a bola está
borrada ou oculta, aprendendo os padrões de trajetória da bola.
Em resumo, o TrackNet é uma rede de aprendizado profundo que usa uma abordagem baseada em
mapa de calor para rastrear a trajetória da bola em vídeos de tênis. Ele é capaz de rastrear a bola
com alta precisão, mesmo em condições desafiadoras, como quando a bola está borrada ou oculta.
Processo de instalação:
Aqui estão os passos para instalar e usar o TrackNet:
1. Instalação de Dependências
• Instale o CUDA, cuDNN e TensorFlow. Tutorial
• Instale as bibliotecas Python necessárias com pip:
• numpy
• matplotlib
• pillow
• keras
• opencv-python
• pydot
• h5py
• Instale o Graphviz com o comando sudo apt-get install graphviz.
2. Treinamento do TrackNet
• Crie um mapa de calor como Ground Truth e salve-o como um arquivo JPG. O
código está no arquivo TrackNet_Python.ipynb.
• O nome do arquivo de treinamento e teste do TrackNet deve ser exportado como um
arquivo csv. O código também está no arquivo TrackNet_Python.ipynb.
• Copie o arquivo training_model1.csv e testing_model1.csv para a pasta
TrackNet_One_Frames_Input.
• Abra a linha de comando e mude o diretório para a pasta
TrackNet_One_Frames_Input.
• Execute o comando de treinamento. Por exemplo: python train.py --
save_weights_path=weights/model --
training_images_name="training_model1.csv" --epochs=500
--n_classes=256 --input_height=360 --input_width=640 --
load_weights=1 --step_per_epochs=200 --batch_size=2
• O modelo treinado será salvo em weights/model.0.
3. Previsão com TrackNet
• Abra a linha de comando e mude o diretório para a pasta TrackNet
(TrackNet_Three_Frames_Input ou TrackNet_One_Frames_Input).
• Execute o comando de previsão. Por exemplo: python predict.py --
save_weights_path=weights/model.2
--test_images="/media/andersen/D/Thesis/Dataset/Clip" --
output_path="/media/andersen/D/Thesis/Prediction/Model2/C
lip" --n_classes=256 --input_height=360 --input_width=640
--output_height=720 --output_width=1280
4. Previsão de Vídeo com TrackNet
• Abra a linha de comando e mude o diretório para a pasta TrackNet
(TrackNet_Three_Frames_Input ou TrackNet_One_Frames_Input).
• Execute o comando de previsão de vídeo. Por exemplo: python
predict_video.py --save_weights_path=weights/model.3 --
input_video_path="/media/andersen/D/Test/Clip1.mp4" --
output_video_path="/media/andersen/D/Test/Clip1_TrackNet.
mp4" --n_classes=256
Artigo:
O projeto Tennis Tracking, hospedado no GitHub por ArtLabs, é um sistema de código aberto para
rastreamento de bolas de tênis, detecção de linhas de quadra e detecção de jogadores em vídeos de
tênis. Ele usa a rede de aprendizado profundo TrackNet para rastrear a bola e a ResNet50 para
detectar os jogadores.
Para executar o projeto, é necessário ter uma GPU compatível para instalar o TensorFlow. Os vídeos
de entrada devem ser de jogos de tênis e não devem conter comerciais, intervalos ou espectadores.
O projeto fornece instruções detalhadas sobre como clonar o repositório, baixar os pesos do
YOLOv3, instalar os requisitos necessários e executar o script de previsão em um vídeo de entrada.
O projeto também inclui a funcionalidade de um minimapa dinâmico que mostra a posição dos
jogadores e da bola. Isso pode ser ativado usando um argumento na linha de comando. Além disso,
o projeto usa a biblioteca de aprendizado de máquina para séries temporais, sktime, para prever os
pontos de quique da bola. A precisão do modelo é de 98% para negativos verdadeiros (sem
quique) e 83% para positivos verdadeiros (quique).
No entanto, o projeto tem algumas limitações. O algoritmo é lento e pode levar até 28 minutos para
processar um vídeo de 15 segundos. Além disso, o algoritmo só funciona em vídeos de partidas
oficiais de tênis.
Para futuros desenvolvimentos, os criadores do projeto planejam melhorar a detecção de linhas da
quadra, otimizar o código, adicionar um minimapa dinâmico da quadra com jogadores e a bola, e
encontrar as coordenadas da bola tocando a quadra.
O projeto Tennis Tracking é uma contribuição valiosa para a comunidade de código aberto e oferece
uma solução robusta para rastreamento de bolas de tênis, detecção de linhas de quadra e detecção de
jogadores em vídeos de tênis.
Processso de instalação
Aqui estão os passos para instalar e usar o projeto Tennis Tracking:
1. Clonar o Repositório
• Execute o comando: git clone
https://github.com/ArtLabss/tennis-tracking.git
2. Baixar Pesos do YOLOv3
• Baixe os pesos do YOLOv3 aqui e adicione-os à sua pasta Yolov3.
3. Instalar Dependências
• Execute o comando: pip install -r requirements.txt
4. Executar o Script de Previsão
• Execute o comando: python3 predict_video.py --
input_video_path=VideoInput/video_input3.mp4 --
output_video_path=VideoOutput/video_output.mp4 --
minimap=0 --bounce=0