Neural Network Model for solving captchas in Python
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
LucasUnioIT dab6c2c1d4 #feat: readme update il y a 6 mois
__pycache__ #feat: Create function to decode base64 and return captcha, and creating the main.py with the endpoint to receive the request il y a 7 mois
base_letras #feat: Criacao do modelo de Rede Neural para rotulacao e identificacao dos captchas il y a 7 mois
captcha_teste #feat: last configs il y a 6 mois
README.md #feat: readme update il y a 6 mois
captcha_miner.py #feat: last configs il y a 6 mois
main.py #feat: Create function to decode base64 and return captcha, and creating the main.py with the endpoint to receive the request il y a 7 mois
modelo_treinado.keras #feat: Criacao do modelo de Rede Neural para rotulacao e identificacao dos captchas il y a 7 mois
rotulos_modelo.dat #feat: Criacao do modelo de Rede Neural para rotulacao e identificacao dos captchas il y a 7 mois
separar_letras.py #feat: last configs il y a 6 mois
solve_captcha.py #feat: Create function to decode base64 and return captcha, and creating the main.py with the endpoint to receive the request il y a 7 mois
testar_modelo.py #feat: Criacao do modelo de Rede Neural para rotulacao e identificacao dos captchas il y a 7 mois
tratar_captcha.py #feat: Create function to decode base64 and return captcha, and creating the main.py with the endpoint to receive the request il y a 7 mois
treinar_modelo.py #feat: Criacao do modelo de Rede Neural para rotulacao e identificacao dos captchas il y a 7 mois

README.md

captcha-solver

Neural Network Model for solving captchas in Python

Instalação de Dependências do Python:

pip install selenium pip install fastapi pip install pydantic pip install opencv-python-headless # Para cv2 pip install tensorflow pip install imutils pip install numpy pip install scikit-learn

Comando para subir o endpoint:

uvicorn main:app

Atenção: O Modelo de Rede Neural já está treinado e salvo como “modelo_treinado.keras”.

Não é necessário executar arquivos além de testar_modelo.py para teste do modelo.

Para caso de modificação do modelo, seguir os passos abaixo:

Treinamento do Modelo:

Passo 1 - Mineração de Captcha:

Crie um diretório novo chamado “captcha_images”

Execute o arquivo “captcha_miner.py”, que abrirá o navegador do Chrome e salvará no diretório criado 2000 captchas novos

Obs: É necessário baixar o chromedriver e adicionar no diretório onde fica o python.exe

Passo 2 - Tratamento das imagens:

Crie um diretório novo chamado “captcha_tratado”

Execute o arquivo “tratar_captcha.py”, que tratará todos os captchas do diretório “captcha_images” e os salvará no novo diretório criado

Passo 3 - Separação das Letras:

Crie um diretório chamado “caracteres” e outro chamado “identificado”

Execute o arquivo “separar_letras.py”, que recortará todas as letras dos captchas tratados e as salvará no diretório “caracteres”

Na pasta “identificado” será salva uma visualização do recorte na imagem inteira

Passo 4 - Rotulação dos Caracteres existentes:

Manualmente, dentro da pasta “base_letras”, crie um diretório para cada caractere existente nos captchas (o diretório deve ter o nome do caractere), letras, números etc.

Abra a pasta caracteres e coloque de 30 a mais exemplos de cada caractere em sua respectiva pasta

Passo 5 - Treinar o Modelo(IA):

Execute o “treinar_modelo.py”, que treinará o novo modelo e o salvará como “modelo_treinado.keras”

A acurácia do modelo pode ser verificada no terminal, utilizando 3 epochs. A taxa de acerto de 95% já é considerada ótima.

Nota: Não aumente o número de epochs além do necessário para evitar overfitting.