Neural Network Model for solving captchas in Python
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
LucasUnioIT dab6c2c1d4 #feat: readme update 6 maanden geleden
__pycache__ #feat: Create function to decode base64 and return captcha, and creating the main.py with the endpoint to receive the request 7 maanden geleden
base_letras #feat: Criacao do modelo de Rede Neural para rotulacao e identificacao dos captchas 7 maanden geleden
captcha_teste #feat: last configs 6 maanden geleden
README.md #feat: readme update 6 maanden geleden
captcha_miner.py #feat: last configs 6 maanden geleden
main.py #feat: Create function to decode base64 and return captcha, and creating the main.py with the endpoint to receive the request 7 maanden geleden
modelo_treinado.keras #feat: Criacao do modelo de Rede Neural para rotulacao e identificacao dos captchas 7 maanden geleden
rotulos_modelo.dat #feat: Criacao do modelo de Rede Neural para rotulacao e identificacao dos captchas 7 maanden geleden
separar_letras.py #feat: last configs 6 maanden geleden
solve_captcha.py #feat: Create function to decode base64 and return captcha, and creating the main.py with the endpoint to receive the request 7 maanden geleden
testar_modelo.py #feat: Criacao do modelo de Rede Neural para rotulacao e identificacao dos captchas 7 maanden geleden
tratar_captcha.py #feat: Create function to decode base64 and return captcha, and creating the main.py with the endpoint to receive the request 7 maanden geleden
treinar_modelo.py #feat: Criacao do modelo de Rede Neural para rotulacao e identificacao dos captchas 7 maanden geleden

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.