Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- == Motivação ==
- Existem consultas que exigem o preenchimento de um [http://pt.wikipedia.org/wiki/CAPTCHA Catpcha] para serem executadas, nestes casos, fazemos uso de [http://pt.wikipedia.org/wiki/Rede_neural Redes Neurais] para conseguirmos quebrar estes Captchas de modo a fazer desnecessária a presença de alguem digitando estes Captchas em cada consulta.
- Mais sobre Redes neurais,e exemplos de Captchas, podem ser encontrados para Download neste [http://www.mediafire.com/?mwahh86oj0tc4ad Link].
- == Descrevendo o Passo a Passo ==
- Existem passos que devem ser realizados, apenas uma vez, antes do processo de usar de fato a rede para fazer a quebra dos Captchas. Estes passos são conhecidos como o processo de "treinamento" da rede que será utilizada para cada Consulta. Uma rede diferente é treinada para cada Fonte de consulta que precise de uma, elas são usadas para cada aplicação específica.
- Os passos a serem seguidos são:
- 1 - Salvar imagens diversas (uma grande amostragem), de Catpchas da fonte de consulta a ser usada. Mil imagens é um número bom.
- 2 - Tendo as imagens baixadas, temos que realizar um tratamento em cima delas (cada conjunto de captchas precisa de um tratamento diferente) de modo a conseguirmos extrair as letras/números desta imagem.
- 3 - Com as letras extraídas, o próximo passo é "dizer para a rede" oque significa cada uma destas letras manualmente. Nós usamos dois softwares que trabalham de maneira diferente para tal tarefa (mais em "Ferramentas de Apoio").
- 4 - Tendo feito o reconhecimento manual das Letras, agora devemos submeter os arquivos gerados no passo anterior para um terceiro software, que realiza o treinamento da rede. Este é um processo automático mas requer uma máquina que não esteja sendo utilizada, já que o processamento nesta etapa chega a níveis muito altos.
- == Processo de Tratamento de Imagem ==
- Esta etapa do processo é basicamente "tentativa e erro", não existe uma sequência fixa de tratamentos a serem aplicados que funcione para todos os Catpchas de todas as Fontes de consultas diferentes.
- Para começar, um exemplo de Captcha deve ser aberto com o Image Processing Lab, onde você deverá aplicar os filtros e ver os resultados. O seu objetivo aqui, é conseguir deixar as letras todas brancas, e o fundo da imagem preto. Feito isso, você deverá replicar estes passos do tratamento, em código usando a Biblioteca interna "NeuralNetLib" ou a oferecida pela AForge.net .
- Fazendo assim, é possível gerar um arquivo binário representando cada letra, onde os pixels "ligados" ( brancos, ou seja, referente as letras e não ao fundo da imagem ), são representados pelo número 1, analogamente os pixels "desligados", que representam o fundo, são representados por Zero. Um Exemplo de Arquivo contendo Letras e suas representações binárias pode ser encontrado [http://www.mediafire.com/?36hfee7r7ztxob7 aqui] .
- Cada Linha deste arquivo possui 401 caracteres, sendo 400 digitos binários ( visto que a imagem de cada letra possuia 20 x 20 Pixels de dimensão) e no final de linha, é colocado a letra que representa este conjunto de pixels. Este arquivo é gerado automaticamente depois de usarmos as ferramentas de identificação manual de letras desenvolvida internamente ("ClassifyLetters").
- == Ferramentas de Apoio ==
- Como ferramentas de apoio, como está documentado na [http://www.mediafire.com/?mwahh86oj0tc4ad exibição de slides deste tema], nós fazemos uso atualmente de:
- 1 - Para processamento de imagens, o [http://www.aforgenet.com/projects/iplab/ Image Processing Lab], da AForge é usado para simular em cima de uma imagem, os passos que devem ser realizados em código, mais tarde, para conseguirmos extrair as letras de um Captcha.
- 2 - Para uso dos métodos de processamento de imagens do Image Processing Lab, nós fazemos uso da [http://www.aforgenet.com/news/2011.12.12.releasing_framework_2.2.3.html Biblioteca do AForge] (dll) juntamente com a "NeuralNetLib" (dll) desenvolvida por nós, que faz uso dos métodos presentes no framework da AForge.
- 3 - Links para as Ferramentas internas de identificação de imagens e treinamento da rede serão colocados em breve, juntamente com a documentação de cada uma.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement