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

No packages published