Skip to content

docClassifier é um sistema inteligente baseado em Visão Computacional e Deep Learning (Redes Neurais Convolucionais - CNN) para a classificação e validação de documentos de identificação.

Notifications You must be signed in to change notification settings

anamariapego/docClassifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

65 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

docClassifier: API de Classificação de Documentos

docClassifier é um sistema inteligente baseado em Visão Computacional e Deep Learning (Redes Neurais Convolucionais - CNN) para a classificação e validação de documentos de identificação.

O objetivo principal é predizer o tipo de documento enviado (RG, CNH, Passaporte) e comparar essa previsão com a classificação esperada pelo usuário.


Contribuições

Componentes Responsável Contato
Modelo (IA) & Backend (API) Ana Pinheiro GitHub / LinkedIn
Frontend (Interface Web) Adonis Oliveira GitHub / LinkedIn

Visão Geral do Projeto

Este projeto demonstra a construção de uma solução de IA robusta e escalável, combinando o poder do Deep Learning com princípios avançados de Engenharia de Software (Clean Architecture e Atomic Design).

A arquitetura modular garante que o processamento de imagem, a lógica do modelo e a interface do usuário sejam independentes, facilitando a manutenção, testes e futuras expansões.

Modelo de Machine Learning

O modelo central é uma Rede Neural Convolucional (CNN) treinada para categorizar imagens nos seguintes tipos: cnh, rg e passporte

Fluxo de Classificação e Validação

  1. Envio: O usuário interage com o Frontend e submete uma imagem de documento, informando também o tipo de documento esperado (ex: "CNH").
  2. Pré-processamento: O Backend recebe a imagem, aplica validações de segurança e otimiza a imagem (redimensionamento e normalização) para o modelo.
  3. Predição (CNN): O modelo CNN processa a imagem pré-processada e retorna o tipo de documento previsto (ex: "CNH").
  4. Validação: O sistema compara o tipo previsto pelo modelo ("CNH") com o tipo informado pelo usuário ("CNH").
  5. Resultado: A resposta é retornada ao usuário, indicando se houve correspondência (classificação bem-sucedida) ou falha.

Diagrama de Sequência - Fluxo da Requisição


Tecnologias e Metodologias

Backend (Python)

  • Python 3.10+
  • TensorFlow / Keras
  • FastAPI
  • Pillow
  • Clean Architecture
  • Testes Unitários (pytest + mock)

Frontend (Web)

  • TypeScript / Angular
  • SCSS e HTML5
  • RxJS
  • Atomic Design

Como Executar o Projeto

Backend (API Python)

  1. Clonar o repositório:

    git clone https://github.com/adonisoliveiradasilva/docClassifier.git
    cd docClassifier
  2. Criar e ativar o ambiente virtual (Windows PowerShell)

    python -m venv venv
    
    .\venv\Scripts\Activate.ps1
  3. Instalar dependências

    python -m pip install --upgrade pip
    
    pip install -r requirements.txt  
  4. Configurar pré-commit

    pre-commit install -t pre-push 
  5. Rodar a API

    python -m api.app

    A documentação interativa da API estará disponível em http://localhost:8000/docs

Frontend (Angular)

  1. Instalar Node.js e Angular CLI (se ainda não tiver).
  2. Navegar para a pasta do Frontend:
    cd ui/
  3. Instalar dependências do Node:
    npm install
  4. Executar o servidor de desenvolvimento:
    npm start
    A interface será aberta em http://localhost:4200.

Documentação Completa

Para detalhes técnicos sobre a arquitetura do modelo, estrutura de pastas, endpoints da API, acesse:

/docs

About

docClassifier é um sistema inteligente baseado em Visão Computacional e Deep Learning (Redes Neurais Convolucionais - CNN) para a classificação e validação de documentos de identificação.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published