TCC "SISTEMA ALPR PARA ESTACIONAMENTOS" com foco em IA, Visão Computacional e Redes Neurais Convolucionais. Projeto que me ocasionou algumas noites mal dormidas mas também bem divertidas. Praticamente o sistema ALPR é um sistema automático para reconhecimento de placas automotivas/veiculares e essa aplicação consiste em 5 etapas. Captura do vídeo ou frame, reconhecimento da placa, segmentação de caracteres, reconhecimento de caracteres e o ultimo a validação da placa trazendo algumas informações do veículo. O projeto foi feito todo em Python e utilizando algumas bibliotecas como OpenCV, Flask, BS4, Tensor Flow e KERAS. Para o reconhecimento de placa fiz um modelo de ML em YOLOv3, para segmentar os caracteres usei muita morfologia matemática e OpenCV e para Reconhecimento dos caracteres utilizei uma CNN (Rede Neural Convolucional) usando o KERAS. No final quando os caracteres da placa são reconhecidos, faço uma verificação em um crawler que criei que traz algumas informações publicas da placa como: valor da tabela fipe, modelo, cor, localização etc... Logo após essa verificação a entrada do veículo é dada no banco de dados, assim o único trabalho é dar baixa no veículo.
- Identificar Placa
- Segmentar Caracteres
- Reconhecer Caracteres
- Trazer innformações do Veículo (Crawler)
- Validar Placa
- Salvar informações no BD
- Entrada Automática de veículo
Recomendo que crie um ambiente virtual e instale as bibliotecas python
pip install -r requirements.txt
Criar Banco de dados
py create_db.py
Baixe abaixo o modelo já treinado da rede neural convolucional e salve em:
\alpr_app\yolo_utils\lapi.weights
O crawler roda no Firefox, por isso é necessario instalar o geckodriver. (Você também pode rodar no Chrome ou outro navegador) Certifique-se que apóx baixar o driver, colocar o diretório dele como variável de ambiente.
Após fazer todos os passos acima, execute o server Flask
py app.py