Esse projeto é um sistema de reconhecimento de dígitos manuscritos utilizando uma Convolutional Neural Network (CNN). O sistema permite treinar um modelo CNN para reconhecer dígitos manuscritos de 0 a 9, armazenar o modelo treinado e testá-lo em novas entradas de dígitos desenhados no momento de execução.
Number_CNN/
├── data/
│ ├── n0/
│ │ ├── n0_1.png
│ │ ├── ...
│ │ └── n0_200.png
│ ├── ...
│ └── n9/
│ ├── n9_1.png
│ ├── ...
│ └── n9_200.png
├── models/
│ ├── modelo0.keras
│ ├── modelo1.keras
│ ├── modelo2.keras
├── src/
│ ├── main.py
│ ├── load.py
│ └── digits.py
├── test/
│ └── image.py
data/
: Contém imagens de 64 * 64 pixels dos dígitos manuscritos organizados em subpastas de 0 a 9.models/
: O local onde o modelos CNNs treinados são salvos.src/
: Contém os scripts Python para treinamento, carregamento de modelo e captura de novos dígitos manuscritos.test/
: Usado para armazenar a imagem de dígito manuscrito para teste de rede.
O script main.py
é responsável pelo treinamento de um CNN, após o carregando das imagens de dígitos, adequação dos valores, e criando do modelo.
O script load.py
permite carregar um modelo previamente treinado e utilizá-lo para reconhecer dígitos em novas imagens desenhadas através da interface gerada com pygame.
O script digits.py
permite desenhar dígitos na tela e salvá-los como imagens para fins de treinamento do modelo, ele foi inicialmente usado para a criação do dataset.
Para utilizar este projeto, siga os passos abaixo:
- Clone o Repositório: Para começar, clone o repositório do projeto para o seu sistema local. Use o seguinte comando no terminal:
git clone https://github.com/Daniel-Alvarenga/Number_CNN.git
- Navegue para a Pasta do Projeto: Navegue para a pasta do projeto usando o comando
cd
. Por exemplo:
cd Number_CNN
- Crie um Ambiente Virtual (Opcional): Recomenda-se criar um ambiente virtual para isolar as dependências deste projeto. Use
venv
(Python 3) ouvirtualenv
:
python -m venv venv
Ative o ambiente virtual:
- No Windows:
venv\Scripts\activate
- No macOS e Linux:
source venv/bin/activate
- Instale as Dependências: Certifique-se de que as dependências necessárias estejam instaladas. Você pode usar o
requirements.txt
fornecido para instalar todas as dependências de uma vez:
pip install -r requirements.txt
- Execute o
load.py
: Após configurar o ambiente e instalar as dependências, você pode executar oload.py
para carregar o modelo treinado e reconhecer dígitos em novas imagens. Use o seguinte comando:python src/load.py
- Selecione a tela após o carregar da mesma e desenhe um dígito de 0 a 9 e tecle 's', a previsão irá ser exibida no terminal.