Forca em Sinais é um jogo interativo de forca onde os jogadores utilizam sinais de Libras (Língua Brasileira de Sinais) para adivinhar as letras da palavra secreta. O jogo utiliza visão computacional para detectar e reconhecer os sinais feitos pelo jogador. Vale ressaltar, que tal jogo foi desenvolvido, inicialmente, para a disciplina de Tópicos Avançados em Inteligência Artificail,do curso de Engenharia de Computação da UFSC.
- Python 3.6+
- Git
- OpenCV
- PyQt5
- Ultralytics YOLO
-
Faça um fork do repositório:
git clone https://github.com/seu-usuario/forca-em-sinais.git cd forca-em-sinais
-
Crie um ambiente virtual e ative-o:
python -m venv .venv source .venv/bin/activate # Para Windows: .venv\Scripts\activate
-
Instale as dependências:
pip install -r requirements.txt
-
Certifique-se de que você tem o modelo YOLO treinado em
src/data/train/weights/best.pt
. Se necessário, ajuste o caminho no código para corresponder à localização do seu modelo. Ajuste o caminho emsrc/app/gui.py
. -
Ajuste o caminho dos plugins do Qt no
main.py
:import os # Trocar o path para o diretório onde estão os plugins do Qt os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = "seu_caminho_aqui/forca_em_sinais/.venv/lib/python3.12/site-packages/cv2/qt/plugins"
Para iniciar o jogo, execute o script main.py
:
python src/main.py
- Iniciar Jogo: Começa uma nova partida de forca.
- Sair: Fecha a aplicação.
- Pressionar 'Q': Fecha a janela do jogo.
- O jogo seleciona uma palavra aleatória de uma lista predefinida.
- O jogador deve fazer os sinais de Libras para adivinhar as letras da palavra.
- Se a letra estiver correta, ela aparecerá na palavra.
- Se a letra estiver incorreta, ela será adicionada à lista de letras usadas.
- O jogo termina quando o jogador adivinha a palavra ou errar por 6 (seis) tentativas.
A visão computacional é uma área da inteligência artificial que permite aos computadores interpretar e compreender o mundo visual. Utilizando técnicas de processamento de imagem, os sistemas de visão computacional podem realizar tarefas como reconhecimento de objetos, detecção de movimento e análise de imagem. No projeto Forca em Sinais, a visão computacional é utilizada para detectar e reconhecer os sinais de Libras feitos pelos jogadores, convertendo-os em letras que são usadas no jogo da forca.
O YOLOv5 (You Only Look Once) é uma família de modelos de detecção de objetos desenvolvida pela Ultralytics. Ele é conhecido por sua precisão e eficiência em tempo real, tornando-o ideal para aplicações que exigem processamento rápido de imagens, como jogos interativos. No nosso projeto, utilizamos o YOLOv5 para treinar um modelo capaz de reconhecer sinais de Libras.
- Entrada de Imagem: O modelo recebe uma imagem de entrada e a divide em uma grade.
- Predição de Caixa: Em cada célula da grade, o modelo faz várias previsões de caixas delimitadoras, cada uma com uma pontuação de confiança e uma previsão de classe.
- Filtragem de Caixas: As caixas com baixa confiança são descartadas, e as previsões restantes são refinadas para melhorar a precisão.
- Classificação e Localização: O modelo retorna as classes dos objetos detectados e suas localizações precisas na imagem.
O YOLOv5 é treinado usando um conjunto de dados de sinais de Libras, permitindo que ele reconheça e categorize corretamente os diferentes sinais durante o jogo.
Contribuições são bem-vindas! Por favor, leia o guia de contribuição para mais detalhes sobre como começar.
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para mais detalhes.
Veja a lista completa de colaboradores que participaram deste projeto.
Helder Henrique |