| @@ -1,3 +1,45 @@ | |||
| # captcha-solver | |||
| Neural Network Model for solving captchas in Python | |||
| # 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. | |||