Tradutor inteligente de Língua Brasileira de Sinais (LIBRAS) em tempo real utilizando visão computacional e machine learning.
O LibrasFlow é uma aplicação que utiliza Visão Computacional e Machine Learning para reconhecer sinais do alfabeto em LIBRAS em tempo real via webcam.
A solução captura os movimentos da mão, transforma em dados estruturados e realiza a classificação das letras, permitindo a formação de palavras com feedback visual instantâneo.
🎯 Objetivo: Tornar a comunicação mais acessível por meio de tecnologia leve e eficiente.
- 🖐️ Detecção de mãos em tempo real com MediaPipe
- 📍 Extração de 21 landmarks tridimensionais
- 🧠 Classificação com Machine Learning (Random Forest)
- 🔄 Normalização de coordenadas (independente da posição da mão)
- ⏱️ Filtro de estabilidade para evitar falsos positivos
- 🖥️ Interface interativa na câmera (botão virtual)
O sistema segue um fluxo estruturado de processamento:
- Captura de imagem (Webcam)
- Detecção da mão (MediaPipe)
- Extração dos landmarks (x, y, z)
- Normalização das coordenadas
- Geração de features
- Classificação com Random Forest
- Pós-processamento (filtro de estabilidade)
- Exibição do resultado na interface
O projeto não utiliza diretamente a imagem bruta. Em vez disso, trabalha com a representação geométrica da mão, tornando o sistema:
- Mais rápido
- Mais preciso
- Menos sensível a iluminação e ruído
| Métrica | Valor |
|---|---|
| Modelo | Random Forest |
| Tempo de resposta | < 30ms (tempo real) |
| Dataset | ~34.000 imagens |
| Acurácia (ambiente controlado) | ~100% |
⚠️ A acurácia foi obtida em ambiente controlado. Em cenários reais, pode variar devido a iluminação, ângulo e execução dos sinais.
├── data/ # Dados processados (CSV)
├── dataset/ # Imagens para treinamento
├── models/ # Modelos treinados
├── scripts/
│ ├── coleta.py # Extração de dados
│ ├── treinar.py # Treinamento do modelo
│ └── main.py # Execução em tempo real
├── requirements.txt
└── README.md├── data/ # Arquivos CSV gerados (libras_dados.csv)
├── dataset/ # Imagens originais para treino (A-Z)
├── models/ # Modelos serializados (.p)
├── scripts/ # Código fonte do projeto
│ ├── coleta.py # Extração de dados das imagens
│ ├── treinar.py # Treinamento do modelo
│ └── main.py # Aplicação em tempo real
├── requirements.txt # Dependências do projeto
└── README.md
git clone [https://github.com/seu-usuario/projeto-libras.git](https://github.com/seu-usuario/projeto-libras.git)
cd projeto-libras
pip install -r requirements.txtCertifique-se de que o dataset está na pasta dataset/train e execute:
python scripts/coleta.pypython scripts/treinar.pypython scripts/main.py- Implementar reconhecimento de sinais que envolvem movimento (letras J, K, X, Z).
- Criar suporte para detecção de ambas as mãos simultaneamente.
- Exportar o modelo para rodar no navegador via TensorFlow.js.

