Skip to content

angualberto/ProcesasamentodeimagemIA

Repository files navigation

Sistema de Reconhecimento Emocional Rizomático

Sistema completo de reconhecimento facial e emocional com rede neural adaptativa, integração Voronoi/Delaunay e banco de dados histórico.

📁 NOVA ESTRUTURA ORGANIZADA (Setembro 2025)

🗂️ Diretórios Reorganizados:

  • databases/ - Bancos SQLite organizados separadamente
  • banco_local/ - Modelos de IA (Gemma 2B + emotion_model.h5)
  • banco_publico/ - Dataset de emoções (7 categorias)
  • training_data/ - Logs, modelos treinados, exports

Status: Sistema 100% funcional com estrutura otimizada!

🚀 Características

✨ Funcionalidades Principais

  • 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)

🧠 Rede Neural Adaptativa (Rizomática)

  • 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

📊 Análise Spatial

  • 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

🛠️ Instalação

1. Dependências do Sistema (Ubuntu/Debian)

sudo apt update
sudo apt install libopencv-dev python3-opencv libgtk-3-dev libgstreamer1.0-dev

2. Dependências Python

# Instalar automaticamente
python install_dependencies.py

# Ou manualmente
pip install opencv-python numpy scipy matplotlib requests tensorflow pillow

3. Kaggle CLI (Opcional - para download automático)

pip install kaggle

# Configurar credenciais
mkdir -p ~/.kaggle
# Baixar kaggle.json da sua conta Kaggle
cp kaggle.json ~/.kaggle/
chmod 600 ~/.kaggle/kaggle.json

🎯 Como Usar

Execução Principal

# Iniciar sistema de reconhecimento
python imagen.py

# Controles durante execução:
# 'q' - Sair
# 's' - Salvar frame atual

Funcionalidades Extras

# 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 --treinar

📁 Estrutura de Diretórios

projeto/
├── 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

🔬 Datasets Suportados

FER2013 (Download Automático)

  • 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

Banco Local

  • Adicione imagens nas pastas banco_local/[Emocao]/
  • Formato suportado: PNG, JPG, JPEG
  • Resolução recomendada: 48x48 ou maior
  • Usado para fine-tuning personalizado

🧮 Parâmetros da Rede Adaptativa

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 temporal

📊 Banco de Dados

Tabela historico

  • timestamp: Data/hora da detecção
  • entrada: Tipo de entrada processada
  • resposta: Resposta gerada
  • emocao_detectada: Emoção classificada
  • confianca: Nível de confiança (0-1)
  • posicao_x, posicao_y: Coordenadas da face

Tabela pontos_faciais

  • timestamp: Data/hora da captura
  • pontos_x, pontos_y: Arrays JSON das coordenadas
  • num_faces: Número de faces detectadas

🎨 Visualizações

Tempo Real

  • 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

Análise Offline

# 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
"

🔧 Configuração Avançada

Otimização de Performance

# 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

Câmeras Canon

# O sistema tenta automaticamente:
# /dev/video1 (Canon via USB)
# /dev/video0 (webcam padrão)
# Índices 0-4 (outras câmeras)

📈 Métricas e Monitoramento

Performance

  • FPS em tempo real
  • Latência de processamento
  • Uso de memória
  • Acurácia do modelo

Análise Emocional

  • Distribuição de emoções por tempo
  • Padrões espaciais (Voronoi)
  • Histórico individual
  • Correlações temporais

🐛 Troubleshooting

Erro: "Nenhuma câmera disponível"

# Verificar câmeras disponíveis
ls /dev/video*
v4l2-ctl --list-devices

# Dar permissões
sudo chmod 666 /dev/video*

Erro: TensorFlow não encontrado

# Instalar TensorFlow
pip install tensorflow

# Para GPU (opcional)
pip install tensorflow-gpu

Erro: OpenCV não funciona

# Reinstalar OpenCV
pip uninstall opencv-python
pip install opencv-python-headless

Performance baixa

  • Reduza resolução do frame
  • Aumente scaleFactor na detecção
  • Use menos neurônios na rede adaptativa
  • Desabilite Voronoi/Delaunay temporariamente

🔬 Extensões Futuras

Possíveis Melhorias

  1. Reconhecimento Individual: Identificar alunos específicos
  2. Interface Web: Dashboard para psicólogos
  3. Análise Temporal: Padrões de humor ao longo do tempo
  4. Integração IoT: Sensores ambientais
  5. Alertas Automáticos: Detecção de estados críticos
  6. Realidade Aumentada: Sobreposições interativas

Integração com APIs

  • Google Vision API
  • Azure Cognitive Services
  • AWS Rekognition
  • OpenAI GPT para análise textual

📞 Suporte

Para dúvidas ou problemas:

  1. Verifique os logs no terminal
  2. Consulte a documentação dos erros
  3. Teste com diferentes câmeras
  4. Verifique permissões de arquivo

📄 Licença

Este projeto está licenciado sob a MIT License - veja o arquivo LICENSE para detalhes.

🆓 Open Source

  • ✅ Uso livre para fins pessoais, educacionais e comerciais
  • ✅ Modificação e distribuição permitidas
  • ✅ Código aberto e transparente
  • ✅ Contribuições bem-vindas

🤝 Contribuindo

Contribuições são muito bem-vindas! Para contribuir:

  1. Faça um Fork do projeto
  2. Crie sua Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a Branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

🙏 Agradecimentos

  • 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.

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors