Skip to content

leandroph/smile-detection-cnn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

🙂 Smile Detector AI - Convolutional Neural Network

Open In Colab Python TensorFlow Senac RS License

Um classificador de expressões faciais baseado em Deep Learning capaz de distinguir entre Sorrindo e Neutro/Sério com alta precisão. Desenvolvido e otimizado para execução no Google Colab.

🎓 Contexto do Projeto

Este projeto foi desenvolvido durante uma aula experimental prática do curso de Inteligência Artificial do Senac RS (Unidade Santa Rosa). O objetivo foi aplicar conceitos de Redes Neurais Convolucionais (CNNs) em um problema real de Visão Computacional.

📋 Sobre o Projeto

Este projeto consiste em uma Rede Neural Convolucional (CNN) construída do zero. O sistema processa imagens faciais, extrai características complexas e classifica a emoção.

O projeto foi estruturado inteiramente em Notebook (.ipynb), facilitando a reprodução do experimento na nuvem sem necessidade de configurações locais complexas ou GPUs dedicadas.


⚙️ Funcionalidades

  • Ambiente Cloud: Configurado para rodar no Google Colab com acesso direto ao Google Drive.
  • Download Automático: Script integrado que baixa o dataset CelebA do Kaggle diretamente para a sessão.
  • Pipeline de ETL: Organiza automaticamente as imagens descompactadas em pastas de treino/teste.
  • Data Augmentation: Aplicação de transformações nas imagens para evitar overfitting.
  • Teste Interativo: Célula de inferência com botão de Upload para testar fotos da sua própria webcam ou computador.

🧠 Arquitetura da Rede Neural

O modelo utiliza uma arquitetura sequencial (Sequential) otimizada:

  1. Entrada: Imagens (64x64 pixels).
  2. Convoluções: 3 camadas (Conv2D) com filtros progressivos (32 -> 64 -> 128) e MaxPooling.
  3. Classificador:
    • Flatten para vetorização.
    • Dense (128 neurônios) + ReLU.
    • Dropout (0.5) para regularização.
    • Saída: Sigmoid (Probabilidade Binária: Sorrindo vs Neutro).

📊 Resultados

O modelo foi treinado por 15 épocas no ambiente do Colab:

Métrica Performance
Acurácia (Validação) ~89.0%
Tempo de Treino ~10 min (com GPU T4)

🚀 Como Executar (Google Colab)

A maneira mais fácil de rodar este projeto é clicando no botão "Open in Colab" no topo deste arquivo.

Caso queira fazer manualmente:

  1. Baixe o arquivo .ipynb deste repositório.
  2. Acesse Google Colab.
  3. Faça upload do arquivo.
  4. Configuração do Dataset:
    • Você precisará do seu arquivo kaggle.json (Token de API) para baixar os dados automaticamente.
    • Ou, altere a célula de download para carregar um dataset local.
  5. Vá no menu Ambiente de Execução > Executar tudo (Run All).

Estrutura do Notebook

O código está dividido em células lógicas:

  1. Configuração: Montagem do Drive e Download de dependências.
  2. Engenharia de Dados: Script que separa as fotos em pastas.
  3. Treinamento: Construção e fit do modelo.
  4. Inferência: Upload de imagem para teste real.

🛠️ Tecnologias

  • Google Colab (IDE Nuvem)
  • Python 3
  • TensorFlow & Keras
  • Pandas & NumPy

🤝 Autor

Desenvolvido por Leandro Perius Heck

Projeto realizado no curso de IA do Senac RS Santa Rosa.

LinkedIn GitHub

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors