Você está na página 1de 6

Identificação de Assinaturas Falsificadas Utilizando Métodos de Reconhecimento

de Imagem com Aplicação de Machine Learning


Audrey Marcella Akazawa. Enzo Biagio Toriello
Gabriele Miranda França. Tainara Ribeiro Silvério

Instituto Federal de São Paulo. Tel: (12) 3901-4440


audrey.akazawa@aluno.ifsp.edu.br; enzo.t@aluno.ifsp.edu.br; gabriele.franca@aluno.ifsp.edu.br;
tainara.ribeiro@aluno.ifsp.edu.br.

Abstract: The following project will present address the development of an artificial intelligence for the
recognition of false signatures. For that purpose, machine learning techniques will be utilized for the
detection and classification of images, such as the TensorFlow library, the programming environment
Google Colab e the application of neural networks. The results will be presented, along with the
performance metrics associated with the training of the neural networks and some examples of detection.
Resumo: O presente projeto abordará o desenvolvimento de uma inteligência artificial para reconhecimento
de assinaturas falsificadas. Para esse propósito, serão utilizadas técnicas de machine learning voltadas para
a detecção e classificação de imagens, como a biblioteca TensorFlow, o ambiente de programação Google
Colab e aplicações de redes neurais. Serão apresentados os resultados, bem como as métricas de
desempenho associadas ao treinamento das redes neurais e alguns exemplos de detecção.
Keywords: Machine Learning; AI; Artificial Intelligence; Embedded Machine Learning.
Palavras-chaves: Aprendizagem de Máquina; IA; Inteligência Artificial; Machine Learning Embarcado.

comprovar a sua autenticidade ou fraude. Para fazer este


1. INTRODUÇÃO
exame, o perito precisa de basicamente o documento onde
Pensando na expansão da abordagem remota para consta a assinatura falsificada, de preferência o original e
realizar atividades do cotidiano que envolvem documentos e a alguns outros documentos de autoria da vítima.
necessidade de sua aprovação por escrito pelo responsável
solicitante, precisa-se de uma atenção crítica na validação 2. OBJETIVO
dessas atividades, pois essas são suscetíveis a fraudes. Essa
O projeto tem como objetivo desenvolver um
validação tende a ser facilmente corrompida devido ao amplo
algoritmo para a identificação de assinaturas falsificadas
acesso à tecnologia por qualquer indivíduo, onde a falsificação
utilizando técnicas de machine learning por meio do
de informações e assinaturas podem ser facilmente acessadas.
reconhecimento de imagens. Dessa forma, a partir da
Dada a problemática, um sistema capaz de detectar tais
classificação, validação e detecção de um dataset, as
falsificações é de extrema utilidade, principalmente para
assinaturas falsificadas serão diferenciadas das assinaturas
aplicações em ambientes como cartórios, bancos e instituições
verdadeiras.
no geral, removendo a obrigatoriedade de resolver pendências
documentais presencialmente e diminuindo os episódios de 3. FUNDAMENTAÇÃO TEÓRICA
fraudes.
3.1. GOOGLE COLAB
Segundo DocSales (2022), as assinaturas digitais são
mais seguras pelo fato de que documentos assinados O Google Colab é a plataforma onde será executada
manualmente são alvos mais comuns de falsificação de e armazenada a lógica programável realizada em Python do
assinatura. Além disso, o Tribunal de Justiça do Distrito código referente ao projeto. É possível acessar o Colab em
Federal e dos Territórios (2019) narra o processo de qualquer navegador sem necessidade de instalação de
indenização de uma companhia telefônica a um indivíduo que softwares, portanto os códigos realizados em notebooks serão
recebeu cobranças indevidas como resultado da fraude de sua armazenados em nuvem. Mais uma de suas vantagens seria a
assinatura. No caso indenizatório, foi necessária a
possibilidade de compartilhamento online entre os integrantes
comprovação da divergência documental por um profissional
do grupo, assim as modificações serão salvas
especializado, o grafotécnico.
instantaneamente e o acesso disponível a qualquer momento.
De acordo com Direito Diário (2020), o grafotécnico (ROVEDA, 2020)
é um profissional que faz um trabalho de perícia utilizando
diversos métodos e ferramentas científicas que são capazes de 3.2. INTELIGÊNCIA ARTIFICIAL
avaliar detalhadamente a grafia da pessoa, e por fim,
A inteligência artificial nasceu da ideia de que capaz de classificar essa imagem para o seu dono real ou como
máquinas pudessem atuar de forma similar a seres humanos falsificada. O interesse está em pegar uma imagem bem
sem suas próprias intervenções, apenas seguindo uma delimitada e classificá-la.
sequência de algoritmos que determinam quais informações
receber, como processar e assim conseguir atuar de forma Resumidamente, para o reconhecimento, um
inteligente. (FIA, 2021) conjunto de imagens é coletado e tratado, assim usa-se redes
neurais artificiais utilizando bibliotecas como TensorFlow e
Dentro da inteligência artificial existem técnicas que Keras, porém existem outras bibliotecas compatíveis. Essas
se aplicam a diferentes tipos de atividades, assim é possível imagens depois são divididas em treino e teste, depois os dados
identificar qual seria a melhor para cada tipo de aplicação. são pré-processados e criada as classes desejadas, assim o
(GRANATYR, 2016). Aqui serão apresentadas modelo pode ser gerado e testado. (EQUIPE TECMUNDO,
resumidamente algumas dessas técnicas. 2020)

3.2.1. Classificação 3.4. ANDROID STUDIO

A técnica tem como objetivo verificar um item se ele Android Studio é um ambiente de desenvolvimento
irá satisfazer pré-requisitos e assim classificá-lo em subgrupos integrado para a plataforma android (ANDROID
com base em informações fornecidas que se relacionam entre DEVELOPERS, 2022). Foi lançado pelo o Google em maio
si. As tecnologias que utilizam reconhecimentos de imagem e de 2013. Suporta as linguagens de programação Java, Kotlin e
som normalmente utilizam a técnica de classificação para C++. No ambiente também é possível importar modelos do
chegar a um resultado final. (GRANATYR, 2016) TensorFlow Lite para embarcar em aplicativos

3.2.2. Regressão

A técnica tem o mesmo objetivo da classificação, 4. METODOLOGIA


porém agora a previsão será realizada com base em números e
Para o projeto apresentado, inicialmente foi pensada
não classes. (GRANATYR, 2016)
a utilização da plataforma Edge Impulse para cadastrar o
3.2.3. Detecção de desvios dataset, treinar as redes neurais, gerar o modelo e realizar a
validação e detecção usando um Raspberry Pi 4 e uma câmera
A técnica visa encontrar itens fora de um padrão webcam logitech.
previamente conhecido. (GRANATYR, 2016)
Os problemas com o Edge Impulse começaram a
3.2.4. Regras de associação surgir na etapa de inserção de fotos no dataset, pois os
chamados labels não estavam funcionando corretamente em
A técnica tem como objetivo realizar associações de paridade com o smartphone selecionado. Depois de alguns
itens com características semelhantes (padrões) de acordo com ajustes manuais nos labels, a separação do dataset foi
regras pré-estabelecidas. (GRANATYR, 2016) concluída. Apesar disso, o modelo obtido depois dos treinos
das redes neurais geradas pelo Edge Impulse apresentava baixa
3.2.5. Padrões sequenciais eficiência, de acordo com a Figura 1. A matriz confusão
informa as taxas de assertividade entre a previsão e o dado real,
Essa técnica pode ser considerada um complemento assim, a Figura 1 pode ser compreendida da seguinte forma:
da regra de associação, já que ela tem como objetivo prever o para a verdadeira assinatura “Audrey”, 100% das imagens
que pode vir depois dessas decisões padrões também baseados foram classificadas como “Audrey” e nenhuma como branco
em informações pré-reconhecidas. (GRANATYR, 2016) ou “Tainara”; para as fotos em branco 50% foram classificadas
como “Audrey” e os outros 50% como “Branco”; já a
3.2.6. Agrupamento assinatura original “Tainara” 14,3% das imagens foram
classificadas como “Audrey”, 14,3% classificadas como
O objetivo dessa técnica é analisar uma base de dados
“Branco” e 71,4% classificadas corretamente como “Tainara”.
e agrupar esses dados de acordo com características
semelhantes, ou seja, quais dados pertencem ao mesmo grupo.
(GRANATYR, 2016)

3.3. RECONHECIMENTO DE IMAGEM

O reconhecimento de imagem está muito presente nos


dias atuais seja no celular pessoal ou até mesmo no acesso a
alguns locais específicos. Para o projeto o intuito de
reconhecer imagens entra no conceito de classificação, técnica
já abordada em 3.2.1, onde a ideia é cadastrar assinaturas reais
e quando uma nova assinatura for reconhecida o sistema será
das imagens; e uma camada Dropout fazendo com que a rede
desligue 30% dos neurônios aleatoriamente e testando outras
arquiteturas com a finalidade de evitar o fenômeno chamado
‘overfitting’. No primeiro momento, a última camada
totalmente conectada foi composta com 4 filtros referente as 4
classes presentes no dataset ‘Audrey’, ‘Branco’, ‘Enzo’ e
‘Tainara’ conectada a função de ativação ‘softmax’,
amplamente utilizada para problemas multicategóricos com a
finalidade de observar o desempenho do modelo apenas com
as assinaturas dos integrantes. Depois de avaliado tal modelo,
fez-se uma alteração na última camada totalmente conectada
adicionando mais 3 neurônios representando as classes com as
assinaturas falsificadas.
Figura 1 – Performance do Modelo e Matriz Confusão
A rede foi compilada com o otimizador Adam, que
Fonte: Autores (2022) tem como objetivo minimizar a função de erro Sparse
Categorical Crossentropy utilizando um learning rate de 5.5e-
Nessa etapa, o treino foi configurado para 30 épocas,
4. Com o objetivo de obter o melhor modelo e evitar
taxa de aprendizado de 0,005 e parcela de 20% do dataset para
overfitting. Foi usado o callback ModelCheckpoint, que salva
validação. As camadas da rede neural, por sua vez, foram
o modelo que apresentou a maior acurácia de validação. Para
configuradas com duas camadas convolucionais com 32 e 16
a fase de treinamento, foi adotado o valor de épocas igual a 15
filtros, uma camada flatten e uma camada dropout de taxa 0,25.
e um batch size de 32.
A fase de conexão da câmera com o Rapsberry
Para a construção das métricas de desempenho do
também apresentou falhas. Foi feita a inicialização do
modelo, optou-se por utilizar a biblioteca sklearn, importando
Raspberry e o grupo conseguiu verificar o endereço da câmera
as classes classification reporte matrix confusion.
webcam logitech conectada, mas não foi possível realizar a
coleta de imagens pelos códigos encontrados e desenvolvidos. Após feita a etapa de classificação no Goole Colab,
foi necessário embarcar o modelo em um dispositivo para fazer
Após alguns testes e pesquisas, a equipe decidiu
as classificações das assinaturas de forma móvel e em tempo
migrar o projeto para a plataforma Google Colab, para a qual
real. O melhor modelo gerado durante o treinamento foi
foi criado um novo dataset com fotos de melhor qualidade e
convertido para a versão TensorFlow Lite. Optou-se por
enquadramento. Além disso, a utilização do Raspberry Pi 4,
embarcar o modelo em um aplicativo android que foi
que seria empregado na detecção, foi alterada para a câmera
desenvolvido na plataforma Android Studio nas linguagens
de um smartphone comum através de uma aplicação
kotlin e java. A interface gráfica do aplicativo é bem simples,
desenvolvida pelo grupo para sistema Android.
consiste em dois botões, um para buscar a imagem da
Na próxima sessão serão apresentados os resultados assinatura na galeria do celular e outro para abrir a câmera e
obtidos na fase de testes, bem como a porcentagem de acurácia tirar a foto da assinatura, conforme Figura 2
alcançada pelas novas técnicas e aprimoramento do modelo
Figura 2 – Interface Gráfica do Aplicativo
com as assinaturas falsificadas.
Para a construção do algoritmo da IA, foi utilizada a
plataforma Google Colab, que permite rodar códigos em
python usando o servidor do Google. O código foi
desenvolvido com o uso da biblioteca de código aberto
TensorFlow, amplamente utilizada para algorítimos de
aprendizado de máquina. As imagens do dataset de treino e
validação foram inseridas com a classe ImageDataGenerator,
que funciona como um gerador de lote de imagens onde foi
possível aumentar o número de imagens com a técnica de Data
Augumentation.
Foi construído uma rede neural com a técnica de
transfer learning com a rede pré treinada MobileNetV2, que é
bastante usada em dispositivos embarcados. Para a camada de
saída da rede neural foi usado uma camada convolucional
GlobalAverage Pooling 2D para realizar a operação de pooling
nas imagens de entrada; uma camada Flatten com o objetivo
de vetorizar todas as imagens; uma camada totalmente Fonte: Autores (2022)
conectada com 20 filtros com função de ativação ‘relu’ com o
objetivo de trazer a não linearidade para a rede neural,
diminuindo significativamente a dificuldade de classificação
5. RESULTADOS E DISCUSSÃO

5.1 Etapa inicial apenas com as assinaturas originais

A Figura 3 apresenta a etapa de classificação do


código implementado. Dessa forma, a variável “foto” recebe
uma imagem do dataset, é redimensionada e exposta para
comparação com os dados da classificação a fim de validar
visualmente os resultados e obter a porcentagem de acurácia.

Figura 5 – Acurácia e Perdas nas Etapas de Treino e


Validação para o Modelo de 4 Classes
Fonte: Autores (2022)
Pode-se afirmar que o primeiro modelo relacionando
Figura 3 – Resultado de Classificação apenas as classes de assinaturas verdadeiras já apresentava
bons resultados. Na próxima subseção, serão apresentados os
Fonte: Autores (2022) resultados após a inserção de mais três classes representando
as assinaturas falsificadas. A partir disso, será discutido se a
Pode-se observar que a acurácia atingida pelo proposta mantém sua assertividade.
algoritmo construído no Google Colab é maior do que a
abordagem do Edge Impulse, sendo 77,4% e 95,89%, 5.2 Etapa final com as assinaturas originais e falsificadas
respectivamente. Para afirmar com certeza a eficiência desse
Para atingir o objetivo de identificação de assinaturas
novo modelo, a Figura 4 apresenta os dados da matriz confusão
para o modelo baseado nas classes “Audrey”, “Enzo”, falsificadas, foram inseridas ao dataset as imagens das classes
“Tainara” e “Branco”. Vale ressaltar que, para a matriz “AudreyFake”, “EnzoFake” e “TainaraFake”. A partir da
ampliação do dataset, foi gerado o novo modelo com as sete
confusão a concentração dos valores na diagonal principal
classes. Para analisar a qualidade dos resultados, serão
indica melhor resultado. Outra boa comparação são os gráficos
apresentadas e explicadas as imagens da Figura 6 e da Figura
de acurácia por épocas e entropia por épocas das etapas de
7.
treinamento e validação, como mostra a Figura 5, indicando
acurácia acima de 0,95 e perdas abaixo de 0,2.

Figura 6 – Matriz Confusão para o Modelo de 7 Classes


Figura 4 – Matriz Confusão para o Modelo de 4 Classes Fonte: Autores (2022)
Fonte: Autores (2022)
REFERÊNCIAS

ANDROID DEVELOPERS. Android Studio. Disponível em:


<https://developer.android.com/studio/>. Acesso em: 26
de junho de 2022
DIREITO DIÁRIO. Falsificação de assinatura: Como Provar,
Denunciar e Qual a Pena Aplicada. Disponível em: <
https://direitodiario.com.br/falsificacao-de-assinatura-
como-provar-denunciar-e-qual-a-pena-aplicada/>.
Acesso em: 05 de abril de 2022.

DOCSALES. Falsificação de assinatura: por que a digital é


mais segura? Disponível em: <
https://www.docsales.com/pt-br/2021/11/10/falsificacao-
de-assinatura/>. Acesso em: 05 de abril de 2022.

EQUIPE TECMUNDO. Reconhecimento de imagens com


TensorFlow e Keras. TECMUNDO, 2020. Disponível
em: < https://www.tecmundo.com.br/software/155643-
reconhecimento-imagens-tensorflow-keras.htm> Acesso
Figura 7 – Acurácia e Perdas nas Etapas de Treino e em: 17 de maio de 2022.
Validação para o Modelo de 7 Classes
FIA BUSINESS SCHOOL. Inteligência Artificial: o que é,
Fonte: Autores (2022)
como funciona e exemplos. FIA Business School, 2021.
Disponível em: < https://fia.com.br/blog/inteligencia-
De acordo com as considerações anteriores a respeito artificial/#:~:text=Intelig%C3%AAncia%20artificial%20
das Figuras 4 e 5, pode-se afirmar que as Figuras 6 e 7 também %C3%A9%20a%20capacidade,l%C3%B3gica%20que%
apresentam resultados satisfatórios. Inicialmente, o grupo 20remete%20ao%20racioc%C3%ADnio. > Acesso em:
intuiu que a qualidade dos resultados fosse cair, mas não foi o 15 de maio de 2022.
que ocorreu de fato, como observa-se na Figura 6 e na Figura
7, visto que a matriz confusão continua mantendo a maior G1. Falsificação de documento representa 75% das frauds
quantidade de dados na diagonal principal e os gráficos registradas em MG. 2014. Disponível em: <
apresentam boa porcentagem de acurácia e erro para as etapas https://g1.globo.com/jornal-
de treinamento e validação do modelo com as assinaturas hoje/noticia/2014/02/falsificacao-de-documento-
verdadeiras e falsificadas. representa-75-das-fraudes-registradas-em-mg.html >.
Acesso em: 05 de abril de 2022.

GRANATYR, Jonas. 7 técnicas de inteligência artificial. IA


CONCLUSÃO Expert, 2016. Disponível em:
https://iaexpert.academy/wp-
Após a decisão de como seria o projeto, o grupo content/uploads/2016/08/eBook-Aprendizagem-de-
passou por uma fase de testes em diversos dispositivos e Ma%CC%81quina.pdf> Acesso em: 15 de maio de 2022.
plataformas que pudessem auxiliar na realização do projeto,
podendo citar principalmente o Edge Impulse e o uso do
QUINTINO, E., C. O que é IDE Arduino? Filipeflop, 2021.
Raspberry PI, mas após alguns testes decidiu-se que o
Disponível em: < https://www.filipeflop.com/blog/o-que-
algoritmo seria implementado no Google Colab e as predições
e-ide-arduino/> Acesso em: 15 de maio de 2022
seriam por meio de um aplicativo de celular utilizando o
Tensorflow Lite. Após a etapa de treinamento e conferencia
ROVEDA, Ugo. Google Colab: O que é, como usar e quais
dos resultados pode-se concluir que foram satisfatórios, já que
são as vantagens? KENZIE, 2020. Disponível em: <
a previsão das assinaturas falsificadas foi realizada com
https://kenzie.com.br/blog/google-colab/> Acesso em: 15
sucesso.
de maio de 2022.
Como projeção futura, já que o intuito do projeto é
atender agencias de serviços em geral, presume-se que ter uma STRAUB, M., G. Arduino IDE – o software para gravação de
estrutura física com uma câmera acoplada que possa realizar a códigos no arduino. Usinainfo, 2019. Disponível em: <
detecção instantaneamente sem a necessidade de um celular https://www.usinainfo.com.br/blog/arduino-ide-o-
possa ser um ponto de melhoria, para isso o algoritmo que fora software-para-gravacao-de-codigos-no-arduino/> Acesso
desenvolvido no Colab seria embarcado a um em: 15 de maio de 2022.
microcontrolador que ficaria responsável pela leitura e
interpretação das imagens.
TJDFT. Consumidor que teve assinatura fraudada deverá ser
indenizado por companhia telefônica. Tribunal de Justiça
do Distrito Federal e dos Territórios – TJDF, 2019.
Disponível em: <
https://www.tjdft.jus.br/institucional/imprensa/noticias/2
018/dezembro/consumidor-que-teve-assinatura-fraudada-
devera-ser-indenizado-por-companhia-telefonica>.
Acesso em: 05 de abril de 2022.

Você também pode gostar