Sistema completo de reconhecimento facial e emocional com rede neural adaptativa, integração Voronoi/Delaunay e banco de dados histórico.
databases/- Bancos SQLite organizados separadamentebanco_local/- Modelos de IA (Gemma 2B + emotion_model.h5)banco_publico/- Dataset de emoções (7 categorias)training_data/- Logs, modelos treinados, exports
- Captura de Vídeo: Suporte para webcam e câmeras Canon
- Detecção Facial: Algoritmos Haar Cascade otimizados
- Reconhecimento Emocional: CNN + Rede Neural Adaptativa
- Banco de Dados: SQLite para histórico completo
- Mapeamento Spatial: Diagramas Voronoi/Delaunay em tempo real
- Download Automático: Datasets públicos (FER2013)
- 25 neurônios interconectados
- Atualização dinâmica de pesos baseada em afinidade
- Parâmetros configuráveis (α, β, γ, δ, λ)
- Normalização automática para evitar explosão
- Triangulação de Delaunay: Conecta faces detectadas
- Diagramas de Voronoi: Mapeia regiões de influência
- Histórico de Posições: Tracking temporal de faces
sudo apt update
sudo apt install libopencv-dev python3-opencv libgtk-3-dev libgstreamer1.0-dev# Instalar automaticamente
python install_dependencies.py
# Ou manualmente
pip install opencv-python numpy scipy matplotlib requests tensorflow pillowpip install kaggle
# Configurar credenciais
mkdir -p ~/.kaggle
# Baixar kaggle.json da sua conta Kaggle
cp kaggle.json ~/.kaggle/
chmod 600 ~/.kaggle/kaggle.json# Iniciar sistema de reconhecimento
python imagen.py
# Controles durante execução:
# 'q' - Sair
# 's' - Salvar frame atual# Ver histórico de emoções
python imagen.py --historico
# Exportar pontos Voronoi/Delaunay
python imagen.py --export
# Forçar retreinamento do modelo
python imagen.py --treinarprojeto/
├── imagen.py # Sistema principal
├── install_dependencies.py # Instalador
├── README.md # Este arquivo
├── banco_publico/ # Dataset público (FER2013)
│ ├── Feliz/
│ ├── Triste/
│ ├── Raiva/
│ └── ...
├── banco_local/ # Imagens locais da escola
│ ├── Feliz/
│ └── ...
├── emotion_model.h5 # Modelo treinado
├── chat_rizomatico.db # Banco SQLite
└── pontos_faciais.json # Export Voronoi
- Emoções: 7 classes (Raiva, Nojo, Medo, Feliz, Triste, Surpreso, Neutro)
- Resolução: 48x48 pixels
- Quantidade: ~35.000 imagens
- Download: Automático na primeira execução
- Adicione imagens nas pastas
banco_local/[Emocao]/ - Formato suportado: PNG, JPG, JPEG
- Resolução recomendada: 48x48 ou maior
- Usado para fine-tuning personalizado
N = 25 # Número de neurônios
alpha = 0.4 # Taxa de decaimento
beta = 1.2 # Força de conexão
gamma = 0.5 # Taxa de aprendizado
delta = 0.3 # Fator de esquecimento
lambda_aff = 1.0 # Parâmetro de afinidade
dt = 0.01 # Passo temporaltimestamp: Data/hora da detecçãoentrada: Tipo de entrada processadaresposta: Resposta geradaemocao_detectada: Emoção classificadaconfianca: Nível de confiança (0-1)posicao_x,posicao_y: Coordenadas da face
timestamp: Data/hora da capturapontos_x,pontos_y: Arrays JSON das coordenadasnum_faces: Número de faces detectadas
- Verde: Retângulos de detecção facial
- Amarelo: Labels de emoção + confiança
- Azul: Triangulação de Delaunay
- Vermelho: Pontos centrais das faces
- Branco: FPS e estatísticas
# Gerar gráficos do histórico
python -c "
import sqlite3
import matplotlib.pyplot as plt
import json
conn = sqlite3.connect('chat_rizomatico.db')
# Sua análise personalizada aqui
"# No código imagen.py, ajuste:
frame_small = cv2.resize(frame, (0,0), fx=0.5, fy=0.5) # Reduzir mais
scaleFactor=1.2 # Aumentar para detecção mais rápida
minNeighbors=3 # Diminuir para mais detecções# O sistema tenta automaticamente:
# /dev/video1 (Canon via USB)
# /dev/video0 (webcam padrão)
# Índices 0-4 (outras câmeras)- FPS em tempo real
- Latência de processamento
- Uso de memória
- Acurácia do modelo
- Distribuição de emoções por tempo
- Padrões espaciais (Voronoi)
- Histórico individual
- Correlações temporais
# Verificar câmeras disponíveis
ls /dev/video*
v4l2-ctl --list-devices
# Dar permissões
sudo chmod 666 /dev/video*# Instalar TensorFlow
pip install tensorflow
# Para GPU (opcional)
pip install tensorflow-gpu# Reinstalar OpenCV
pip uninstall opencv-python
pip install opencv-python-headless- Reduza resolução do frame
- Aumente
scaleFactorna detecção - Use menos neurônios na rede adaptativa
- Desabilite Voronoi/Delaunay temporariamente
- Reconhecimento Individual: Identificar alunos específicos
- Interface Web: Dashboard para psicólogos
- Análise Temporal: Padrões de humor ao longo do tempo
- Integração IoT: Sensores ambientais
- Alertas Automáticos: Detecção de estados críticos
- Realidade Aumentada: Sobreposições interativas
- Google Vision API
- Azure Cognitive Services
- AWS Rekognition
- OpenAI GPT para análise textual
Para dúvidas ou problemas:
- Verifique os logs no terminal
- Consulte a documentação dos erros
- Teste com diferentes câmeras
- Verifique permissões de arquivo
Este projeto está licenciado sob a MIT License - veja o arquivo LICENSE para detalhes.
- ✅ Uso livre para fins pessoais, educacionais e comerciais
- ✅ Modificação e distribuição permitidas
- ✅ Código aberto e transparente
- ✅ Contribuições bem-vindas
Contribuições são muito bem-vindas! Para contribuir:
- Faça um Fork do projeto
- Crie sua Feature Branch (
git checkout -b feature/AmazingFeature) - Commit suas mudanças (
git commit -m 'Add some AmazingFeature') - Push para a Branch (
git push origin feature/AmazingFeature) - Abra um Pull Request
- OpenCV pela biblioteca de visão computacional
- TensorFlow/Keras pelas ferramentas de deep learning
- Comunidade open source por tornar este projeto possível
Desenvolvido para pesquisa em Inteligência Artificial e Reconhecimento de Padrões
📧 Contato: Para dúvidas, sugestões ou colaborações, abra uma issue no GitHub.