Este projeto consiste em um jogo de pedra, papel e tesoura, que utiliza inteligência artificial para classificar as imagens dos gestos de mão do usuário em pedra, papel ou tesoura. O jogo utiliza a webcam do usuário para capturar as imagens e, em seguida, o modelo de IA classifica qual movimento foi feito pelo usuário. Em seguida, o computador escolhe aleatoriamente um movimento e é determinado quem venceu o jogo.
O projeto é implementado em Python, utilizando a biblioteca TensorFlow para o treinamento do modelo de IA. Além disso, é utilizado o Streamlit para criar a interface web para rodar o modelo. O objetivo final do projeto é deixar em condições de colocá-lo em produção em uma plataforma em nuvem, como o AWS, para que possa ser acessado por qualquer pessoa.
Antes de rodar o jogo, é necessário ter as seguintes dependências instaladas:
- Python 3
- TensorFlow
- OpenCV
- Streamlit
As dependências podem ser instaladas utilizando o gerenciador de pacotes pip.
Para rodar o jogo, basta seguir os seguintes passos:
- Clone este repositório para o seu computador.
- Instale as dependências utilizando o comando:
pip install -r requirements.txt
- Rode o jogo utilizando o comando
streamlit run game.py
- Abra o navegador e acesse o endereço
http://localhost:8501
Caso você queira treinar o modelo de IA novamente, basta seguir os seguintes passos:
- Colete um conjunto de dados de imagens de gestos de mão para as três classes: pedra, papel e tesoura.
- Organize as imagens em pastas separadas para cada classe.
- Utilize o script
train_model.py
para treinar o modelo de IA. Certifique-se de configurar corretamente o caminho das pastas de treinamento e validação no script.
Os próximos passos para o projeto incluem:
- Melhorar o desempenho do modelo de IA através da coleta de mais dados de treinamento e ajuste de hiperparâmetros.
- Aumentar a interatividade do jogo com o usuário através de gráficos e animações.
- Colocar o projeto em produção em uma plataforma em nuvem, como o Heroku.
- José Augusto Carvalho
Este projeto é licenciado sob a licença MIT. Consulte o arquivo LICENSE
para obter mais detalhes.