Você está na página 1de 11

Identicando Cdulas de Real para Portadores de Decincia Visual

Douglas Veronez Santana Filipe Coelho Rodolfo Arajo

Objetivo O objetivo deste trabalho demonstrar a utilizao de tcnicas de processamento de imagens e reconhecimento de padres para reconhecer cdulas de Real, moeda corrente brasileira. A imagem da cdula dever ser processada para realizao de uma comparao com as notas conhecidas. Para isso, ser desenvolvido o prottipo de uma aplicao para desktop que ir capturar a imagem da cdula atravs de uma webcam, realizar o processo de identicao da cdula e ento exibir sua identicao atravs de um arquivo de udio. A aplicao dever reconhecer notas de 2, 5, 10, 20, 50 e 100.

Abaixo feita uma reviso bibliogrca que abrange tcnicas e procedimentos que podero ser utilizados para solucionar o problema proposto. A partir disso ser proposta a soluo a ser utilizada neste trabalho.

Referncias Bibliogrcas

Artigo 1: Recognition of Brazilian Currency Notes via Feature Point Extraction


Ideia Geral O artigo aborda o uso de algoritmos de pontos de atributo no desenvolvimento de um aplicativo que auxilia consumidores decientes visuais a identicar cdulas de Real no momento da compra. Nesse trabalho, foram desenvolvidos dois prottipos, um para execuo em computador pessoal e outro para execuo no sistema operacional Android. Para isso, empregado o algoritmo ORB para extrao dos pontos de atributos e o algoritmo de fora bruta para etapa de matching. Dessa forma, o sistema extrai os pontos de interesse nos frames capturados pela cmera ou webcam. Os descritores destes pontos de interesse so comparados com os modelo arquivados em disco que descreve cada cdula. Caso essa etapa seja concluda com sucesso, executado um arquivo de udio que informa valor da cdula reconhecida. Cada cdula a ser reconhecida pelo sistema possui dois descritores armazenados previamente em disco para posterior comparao. Esses descritores representam a frente e o verso da mesma.

Figura 1 - Diagrama de execuo do sistema proposto.

Algoritmos Utilizados Algoritmo ORB um algoritmo para extrair pontos de interesse. Este algoritmo utilizado, em primeiro lugar, para categorizar as cdulas coletando caractersticas especcas de cada nota para que posteriormente estas caractersticas sejam comparadas com as caractersticas das cdulas que o usurio informar.

Algoritmo de Fora Bruta utilizado para obter correspondncia entre os pontos de interesse encontrados no frame e os arquivados nos descritores das cdulas. De maneira geral, os descritores so vetores N dimensionais que descrevem um ponto. Assim, o algoritmo executa uma busca na qual, para cada ponto de interesse da imagem no frame, buscado um semelhante na imagem de arquivo, percorrendo-se todo o campo de possibilidades de correlao. O resultado um vetor de instncias, que utilizado para representar as correspondncias entre as imagens. Sistema de Captao A estratgia proposta consiste em captar o frame recebido pela cmera e extrair os pontos de interesse contidos nesse frame, usando o algoritmo ORB. Cada ponto de interesse consiste em uma posio central em coordenadas(xf, yf) e um vetor que descreve a vizinhana deste ponto. Os pontos de interesse extrados do frame so comparados com aqueles arquivados em disco para identicao de correspondncia entre os descritores. Isso resultar em uma estrutura de dados que indicar a correspondncia entre os pontos de interesse contidos no frame e no arquivo. Aps isso, utilizado um algoritmo para calcular a correspondncia entre dois descritores em questo. Cada ponto de interesse passa por um teste que verica se ele satisfaz a seguinte equao:

f(sx, sy) o valor da distncia dos pontos de interesse entre duas vizinhanas na posio x, y da imagem capturada pelo frame e delta consiste em um valor limite pr-determinado. Para cada ponto de interesse avaliado no frame , calculado o valor de f( sx, sy) . Caso ele seja maior ou igual a um limite especco , um ponto em comum entre a descrio da nota em arquivo e o frame associado regio, caso contrrio ele descartado. Algoritmo para determinar um bom ponto de interesse. For If End if End for

Resultados O algoritmo proposto neste trabalho foi testado em uma aplicao para desktop e em uma aplicao para o sistema operacional Android.

Em ambas as aplicaes foram quinze testadas notas de cada valor, sendo elas de 2, 5, 10, 20, 50 e 100 reais. As notas estavam sujeitas a rasuras, amassados e outros tipos de imperfeies. Dessa forma, para o teste realizado em sistema desktop, o algoritmo obteve 93,33% de acerto mdio avaliando o verso das cdulas e obteve 85,3% de acerto mdio avaliando a frente das cdulas. Para o teste realizado no sistema para o sistema operacional Android, obteve-se 97,77% de acerto mdio avaliando a frente das cdulas, e 100% avaliando o verso das cdulas. Relacionamento com este projeto: Este projeto e o artigo 1, utilizado como referncia, tm o mesmo objetivo. Entretanto, neste projeto no ser implementada uma verso para o sistema operacional Android. Mesmo assim, o artigo 1 demonstrou uma tcnica eciente para o reconhecimento das notas. O algoritmo ORB mostra-se bem prtico, j que invariante rotao, alm disso, o algoritmo de fora bruta tambm mostrou-se eciente na busca por correspondncia entre as imagens. Estes so os principais motivos para que este projeto utilize a tcnica demonstrada no artigo 1.

Artigo 2: Recognition of Indian Paper Currency based on LBP


Ideia Geral O objetivo deste artigo propor um algoritmo para reconhecer cdulas indianas utilizando processamento de imagens. Assim, nesse trabalho utilizado o algoritmo LBP(Local Binary Pattern). um algoritmo muito utilizado para tcnicas de anlise de textura e para extrao de atributos. Local Binary Pattern Nesse algoritmo os pixels da vizinhana so convertidos em cdigo binrio 0 ou 1 utilizando o valor de cinza do pixel central com threshold, fazendo com que seja formado um padro ordenado de acordo com suas posies relativas ao pixel central. Ou seja, formada uma matriz na qual realizada uma comparao do valor do pixel central com o valor dos pixels vizinhos, atribuindo 0 aos pixels vizinhos com valor inferior e 1 aos pixels vizinhos com valor superior. Aps esta etapa realiza-se o somatrio dos valores da nova matriz, resultando no valor do LBP. Este procedimento representado pela seguinte equao:

(1) - gc o valor de cinza do pixel central p e gi o valor de cinza do i-simo pixel num raio de at oito pixels onde i = 0, 1, ..., 7. Onde S(x) a funo de threshold denida pela funo abaixo:

Abaixo, uma ilustrao detalhada do processo descrito pela equao (1) e (2):

Fig 2: Ilustrao do algoritmo LBP

Procedimentos do Algoritmo para Reconhecer as Notas O algoritmo estabelece quatro procedimentos para realizar o reconhecimento das cdulas: . Antes de tudo so selecionadas as notas para o reconhecimento. Para ns de teste, foram considerados 6 tipos de cdulas(10, 20, 50, 100, 500, 1000 rpias). So consideradas tambm quatro posies de anlise das cdulas. . Extrao de atributo. Todas as imagens devidamente vetorizadas so salvas e sero utilizadas para posterior comparao. . Ler a imagem de teste da cdula e extrair suas caractersticas como descrito anteriormente.

Figura 3 - Quatro direes de insero da cdula

. Calcular a similaridade entre as imagem de teste a cada template das imagens salvas de acordo com a equao abaixo. A imagem de teste classicada de acordo com o template que for mais similar.

Para realizar o reconhecimento da cdula, utilizada a equao (3) acima, que calcula a distncia euclidiana. Resultados Nesse trabalho foram testadas 504 cdulas indianas de valores variados. Para os casos em que as imagens estavam com boa qualidade, obteve-se 100% de acerto. Para simular cdulas com imagem de baixa qualidade (j em circulao h muito tempo), foi utilizado o rudo sal e pimenta nas imagens. Ainda sim, obteve-se 98% de acerto. Relacionamento com este projeto: Este artigo forneceu uma abordagem diferente para o reconhecimento de cdulas. Para o caso das cdulas indianas, o algoritmo LBP juntamente com a equao de clculo de distncia euclidiana foram ecientes para solucionar o problema. Entretanto, no sabemos se esse procedimentos seriam efetivos para as cdulas de real. Alm disso, para o procedimento proposto neste artigo, so consideradas as posies das cdulas, caracterstica que no queremos abordar no nosso projeto.

Artigo 3: Mtodo para auxiliar o reconhecimento de cdulas monetrias pelos decientes visuais
Ideia Geral O objetivo geral deste artigo foi identicar qual o melhor algoritmo de processamento de imagem para reconhecimento de cdulas. Nesse sentido, foi utilizada a linguagem Java e a biblioteca OpenCV para realizao do prprocessamento e extrao de caractersticas. Na etapa de classicao foi utilizada a platafroma WEKA (Waikato Environment for Knowledge Analysis). Etapas do Algoritmo - Pr-processamento; - Extrao de caractersticas; - Classicao;

Fig: Diagrama do funcionamento simplicado do algoritmo Algoritmo de Pr-processamento A etapa de pr-processamento consistiu na converso da imagem contendo a nota do espao de cores sRGB para escalas de cinza. Para isso foi utilizada a equao abaixo: Y = (0.299) * R + (0.587) * G + (0.114) * B Onde R, G , B so os receptivos valores dos canais red, green e blue do pixel no espao sRGB. Extrao de Caractersticas utilizando o algoritmo SURF um descritor invariante rotao e aos efeitos de escala. Esse algoritmo procura detectar e descrever os pontos-chave da imagem para etapa de classicao.

Classicao SVM O classicador Support Vector Machines-Sequential Minimal Optimization utilizado para a classicao de caractersticas calculadas por algoritmos como SURF e SIFT(Scale-invariant feature transform). O SVM uma tcnica de aprendizado de mquina e se baseia na teoria de aprendizagem estatstica, tendo como objetivo a separao tima de dados entre classes distintas, buscando sempre a maior minimizao de erros possvel. Neste trabalho foi testado o conjunto de dados dos keypoints e descriptors de uma dada imagem. Nessa etapa, o mtodo de rotao (n-fold cross validation) foi aplicado com o valor n = 10. Esse mtodo utiliza 90% dos dados para treinamento e o restante, 10% dos dados para etapa de teste. Para avaliar o desempenho do mtodo proposto foram calculados os seguintes parmetros: sensibilidade e especicidade. A sensibilidade representa a frequncia com que o teste detectar o que est sendo testado, ou seja, num teste com sensibilidade de 90% dar um resultado positivo em 90 das 100 amostras que efetivamente apresentam o que est sendo investigado. A especicidade representa a frequncia com que o resultado negativo est correto. Resultados Para a realizao de testes foi utilizado um banco de dados com 1440 imagens digitais, sendo 240 para cada cdula brasileira. Nesse banco foram utilizadas para testes 30 imagens de cada cdula(2, 5, 20, 50, 100), sendo que cada nota possui 8 imagens, variando posio, horizontal, vertical em relao camera, frente e verso da nota. Dessa forma, utilizando o conjunto de dados dos descriptors para classicao na SVM obteve-se 99% de xito na identicao das cdulas. Relacionamento com o projeto Esta soluo, apesar de ter se mostrado eciente tambm, utiliza a tcnica de aprendizado de mquina. Infelizmente, para o nosso projeto, esta tcnica est alm do que podemos implementar.

Proposta de Soluo
Abaixo, apresentamos nossa proposta de soluo para o problema abordado com base no levantamento bibliogrco realizado anteriormente. O procedimento utilizado no nosso projeto ser baseado nos seguintes passos:

. Capturar o Frame
Utilizaremos uma webcam para obter uma imagem da cdula a ser reconhecida. O ideal seria uma aplicao para um dispositivo mvel, dessa forma seria possvel utilizar a cmera do dispositivo. Entretanto, como estamos propondo um prottipo para um desktop, apenas para testar os procedimentos de reconhecimento de cdulas, o melhor dispositivo de captura para esse caso uma webcam.

. Extrair Pontos de Interesse


Nessa etapa utilizaremos, o algoritmo ORB para extrao dos pontos de interesse, j implementado em um biblioteca da linguagem opencv. Este algoritmo ir extrair as caractersticas da cdula a ser comparada para posterior comparao com as caractersticas das cdulas j cadastradas em um arquivo ou banco de dados.

. Comparar Descritores
Aps extrair os descritores da cdula a ser reconhecida, ser utilizado um algoritmo de fora bruta para comparar os descritores das cdulas. Caso a cdula no seja reconhecida, ser emitida uma imagem de erro e o programa retornar etapa de captura de frames. Caso a cdula seja reconhecida, ser executada a prxima etapa do programa, detalhado abaixo.

. Executar udio

Esta etapa s ativada caso haja sucesso no reconhecimento de uma cdula. Quando isso acontecer, o programa executar um arquivo de udio correspondente cdula identicada. Essa a etapa nal do nosso prottipo.

Você também pode gostar