Sistema de tradução de Libras para voz desenvolvido em Python
- Sobre o Projeto
- Objetivos
- Tecnologias
- Funcionalidades
- Pré-requisitos
- Instalação
- Como utilizar
- Estrutura do Projeto
- Contribuição
- Licença
- Contato
- Recursos Adicionais
O LibraVoice é um projeto de extensão acadêmica que utiliza visão computacional e processamento de linguagem natural para criar uma ponte comunicacional entre pessoas surdas e ouvintes
- Motivação: Carência social de sistemas faciliadores de comunicação
- Público-alvo: Bancada Avaliativa, Estudantes de Programação, Comunidade de Desenvolvimento e PCDs
- Problema resolvido: Barreira de comunicação entre surdos e ouvintes
- Diferencial: Conversão simultânea para texto e voz
- Metodologia: Desenvolvimento ágil com Scrum
- Desenvolver sistema de reconhecimento de gestos em tempo real
- Implementar pipeline completo: gesto → texto → voz
- Alcançar precisão mínima de 85% na detecção
- Aplicar conceitos de visão computacional e IA
- Implementar metodologias ágeis na prática
- Documentar processo de desenvolvimento
- Promover inclusão de pessoas com deficiência auditiva
- Facilitar acesso a serviços básicos e educação
- Impactar inicialmente 20-30 usuários
Núcleo do Sistema
- Python
- Matplotlib
- Tensorflow
- MediaPipe
- Joblib
Processamento de Imagem
- OpenCV
- Pillow
- Numpy
- ✅ Reconhecimento de Libras: Captura de gestos via câmera e conversão em tempo real para texto em tempo real.
- ✅ Conversão Texto-Áudio (TTS): Transformação do texto reconhecido em fala, permitindo a comunicação auditiva.
- ✅ Scripts de Coleta de Dados: Ferramentas para a coleta e preparação de dados, essenciais para o treinamento e aprimoramento dos modelos de IA.
- ✅ Modelos de IA Pré-treinados: Utilização de dados estáticos e dinâmicos para garantir o funcionamento preciso da inteligência artificial.
- ✅ Scripts de Treinamento de Modelo: Ferramentas para a geração e atualização dos modelos de IA (model.pkl, sequence_model.h5, label_map.npy).
Para executar o projeto localmente, você precisará de:
- Python: Uma versão compatível (recomenda-se a versão 3.9.9 ou mais recente).
- Câmera: Uma câmera funcional conectada ao seu computador para a captura de gestos.
- Bibliotecas Python: Todas as dependências listadas no requirements.txt.
- Uma IDE (Visual Studio Code, PyCharm, etc.) para desenvolvimento e execução.
- Armazenamento livre mínimo: 4GB+ RAM e 2GB+ disco
- Clone o repositório:
git clone https://github.com/seu-usuario/LibraVoice.git
- Navegue até o diretório do projeto:
cd LibraVoice
- (Opcional recomendável) Crie e ative um ambiente virtual:
É altamente recomendado usar um ambiente virtual para gerenciar as dependências.
# No Windows
python -m venv venv
.\venv\Scripts\activate
# ou # No macOS/Linux
source venv/bin/activate
- Instale as dependências:
pip install -r requirements.txt
- Inicie o programa:
python app/main.py
-
Interaja com a câmera: Posicione-se em frente à câmera para que o sistema possa capturar seus gestos em Libras.
-
Observe a tradução: O sistema exibirá a tradução em texto e reproduzirá a resposta em áudio, utilizando inteligência artificial.
Ps: Apenas algumas Letras do alfabeto foram treinadas nesse modelo. (L,U,C,A,S,J,W)
(GIF meramente ilustrativo)
LibraVoice/
├── app/ # Contém a lógica principal do software
│ ├── data_collector...py # Scripts para coleta de dados de treinamento
│ ├── tts.py # Script para conversão de texto para áudio (Text-to-Speech)
│ └── main.py # Script principal: captura imagem, converte para texto e gera áudio
├── datasets/ # Armazena dados utilizados pelos modelos
│ ├── data/ # Dados pré-treinados estáticos
│ └── data-seq/ # Dados pré-treinados dinâmicos
├── models/ # Contém os scripts e arquivos dos modelos de IA
│ ├── model.py # Script de treinamento do modelo principal
│ ├── train_sequence_model.py # Script de treinamento do modelo de sequência
│ └── (arquivos de modelo gerados: model.pkl, sequence_model.h5, label_map.npy)
├── .gitignore # Arquivo de ignorar para controle de versão
├── LICENSE # Licença MIT
├── README.md # Este arquivo
└── requirements.txt # Lista de bibliotecas Python utilizadas
Contribuições são bem-vindas! Siga estas etapas:
- Reporte bugs: Abra uma issue no GitHub.
- Sugira melhorias: Envie ideias ou pull requests com novas funcionalidades.
- Desenvolva:
- Faça um fork do projeto.
- Crie uma branch (git checkout -b feature/nova-funcionalidade).
- Envie um Pull Request.
Distribuído sob licença MIT. Veja LICENSE para mais informações.
- Autor: Lucas Leria
- LinkedIn: lucasgleria
Projeto acadêmico desenvolvido como trabalho de extensão da Estácio