O IALibras é um sistema completo e funcional para detecção e classificação de sinais da Língua Brasileira de Sinais (LIBRAS) em tempo real, utilizando Visão Computacional e Aprendizado de Máquina.
O projeto utiliza a biblioteca MediaPipe para a detecção precisa de pontos de referência (landmarks) da mão em um stream de vídeo, extraindo características robustas como coordenadas normalizadas, distâncias e ângulos dos dedos. Essas características são então utilizadas para treinar e classificar os sinais usando um modelo Random Forest Classifier.
- Extração de Características: Uso avançado de landmarks do MediaPipe para engenharia de features, incluindo distâncias relativas entre dedos e avaliação de extensão dos dedos.
- Coleta de Dados Interativa: Módulo dedicado para coletar amostras de treino (gestos) de forma interativa, permitindo a especificação da letra e do número de amostras.
- Treinamento de Modelo: Treinamento do classificador Random Forest com avaliação de desempenho (acurácia e relatório de classificação) em um conjunto de teste.
- Detecção em Tempo Real: Interface de detecção em vídeo ao vivo que exibe a letra classificada e o nível de confiança da predição.
- Persistência: Capacidade de salvar e carregar os dados coletados (
libras_data.pkl) e o modelo treinado (libras_model.pkl).
Para rodar o projeto, você precisará de Python (versão 3.10 ou superior é recomendada) e das seguintes dependências.
- Python 3.x
- Uma webcam funcional
Siga os passos abaixo (baseado em init.txt) para configurar e executar o sistema:
-
Crie e Ative um Ambiente Virtual:
py -3.10 -m venv venv .\venv\Scripts\activate
-
Instale as Dependências: O projeto requer as bibliotecas essenciais para visão computacional e machine learning:
pip install opencv-python mediapipe numpy scikit-learn
-
Execute o Sistema: Inicie o script principal para acessar o menu de opções (Coleta, Treino, Detecção):
python ialibras.py
Ao executar o ialibras.py, você terá acesso ao menu de interação:
| Opção | Descrição |
|---|---|
| 1 | Coletar dados de treino (você definirá a letra e o número de amostras). |
| 2 | Treinar o modelo de classificação com os dados coletados. |
| 3 | Testar a detecção em tempo real usando a webcam. |
| 4 | Ver dados coletados (lista as letras e o número de amostras disponíveis). |
| 5 | Sair do sistema. |