Este projeto utiliza técnicas de visão computacional e aprendizado de máquina para criar um sistema capaz de reconhecer sinais em Libras (Língua Brasileira de Sinais). A base do sistema são landmarks de mãos capturados com MediaPipe e um modelo treinado para realizar as previsões.
- Descrição:
Este script processa as imagens localizadas na pasta
data/para extrair landmarks das mãos utilizando a biblioteca MediaPipe. Os landmarks são normalizados e organizados em um formato adequado para treinamento de modelos de aprendizado de máquina. - Saída:
- Um arquivo
data.picklecontendo:data: Lista com as características extraídas de cada imagem.labels: Rótulos associados às imagens.
- Um arquivo
- Descrição:
Este script treina um classificador Random Forest com os dados do arquivo
data.pickle. - Entrada:
- Arquivo
data.pickle.
- Arquivo
- Saída:
- Modelo treinado salvo como
model.p.
- Modelo treinado salvo como
- Funcionalidades:
- Divide os dados em conjuntos de treino e teste.
- Avalia o modelo usando métricas como acurácia e relatório de classificação.
- Descrição: Realiza uma busca exaustiva pelos melhores hiperparâmetros para o classificador Random Forest.
- Entrada:
- Arquivo
data.pickle.
- Arquivo
- Saída:
- Arquivo
hyperparameter_search_results.csvcontendo os resultados das combinações testadas.
- Arquivo
- Diferenciais:
- Explora várias combinações de parâmetros como número de árvores, profundidade máxima e critérios de divisão.
- Utiliza validação cruzada para avaliar o desempenho de cada combinação.
- Descrição: Realiza inferência em tempo real utilizando a câmera do computador para capturar imagens das mãos e prever o sinal correspondente.
- Entrada:
- Modelo treinado salvo como
model.p.
- Modelo treinado salvo como
- Funcionamento:
- Captura frames de vídeo da webcam.
- Processa os landmarks das mãos com MediaPipe.
- Utiliza o modelo Random Forest para prever o sinal correspondente.
- Saída:
- Exibe o frame da webcam com a previsão do sinal e a área delimitada da mão.
-
Clone o repositório:
git clone https://github.com/seu-usuario/seu-repositorio.git cd seu-repositorio -
Baixe os arquivos necessários:
- Acesse a seção de Releases do repositório.
- Faça o download da pasta
data/.
-
Crie um ambiente virtual Python:
python -m venv venv
-
Ative o ambiente virtual:
- Windows:
Caso encontre o erro "execução de scripts está desabilitada no sistema", use:
venv\Scripts\activate
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
- Linux/Mac:
source venv/bin/activate
- Windows:
-
Instale as dependências:
pip install -r requirements.txt
- Para criar seu próprio dataset, execute:
python create_dataset.py
- Isso processará as imagens em
data/e gerará um novo arquivodata.pickle.
- Para treinar o modelo com os dados fornecidos ou gerados, execute:
python train_classifier.py
- O modelo treinado será salvo como
model.p.
- Para explorar diferentes configurações de hiperparâmetros, execute:
python hyperparameter_search.py
- Os resultados serão salvos em um arquivo
hyperparameter_search_results.csv.
- Para rodar a inferência em tempo real com a webcam, execute:
python inference_classifier.py
- Isso abrirá uma janela de vídeo com a previsão do sinal exibida na tela.
Sinta-se à vontade para abrir issues ou enviar pull requests caso tenha sugestões ou melhorias para o projeto.
- Certifique-se de que sua câmera esteja funcionando corretamente antes de rodar o script de inferência.
- Para melhores resultados, utilize um ambiente bem iluminado ao capturar imagens para o dataset ou realizar inferências.