reconhecimento de placas

5

Click here to load reader

Upload: vinicius-coelho

Post on 09-Jun-2015

177 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Reconhecimento de Placas

Reconhecimento de Placas de Veıculos

Arthur Ribeiro1, Joao Batista Matos1, Vinıcius Coelho1

1Instituto de Informatica – Universidade Federal de Goias (UFG)Goiania – GO – Brasil

[email protected], {joaobatistamatos, viniciuscoelho}@inf.ufg.br

Abstract. Over the years, the so-ciety needed resources that wouldaid in traffic. With this work, wetry to create a system that opti-mizes the traffic control that is sonecessary in today’s urban cen-ters.

Resumo. Com o passar dos anos,a sociedade necessitou de recur-sos que auxiliassem no transito.Com esse trabalho, tentamoscriar um sistema que otimize essecontrole de trafego que e taonecessario nos centros urbanos dehoje.

1. IntroducaoCom o constante crescimento da frotamundial de veıculos e o aumento da in-tensidade dessa frota nos centros urbanos,tornou-se cada vez mais necessario o cont-role do transito dos automoveis, afim de semanter a ordem e ate mesmo a segurancade determinados locais caso algum impre-visto aconteca. O reconhecimento de placashoje e util para varias areas distintas, comoa de controle e monitoramento de trafego,localizacao de carros roubados, aplicacaode multas aos condutores infratores, con-trolar o acesso a estacionamentos, coletarestatısticas de fluxo de entrada e saıda decertos locais ou mesmo gerar subsıdios paraa area de turismo. Mesmo nas grandesmetropoles brasileiras, a identificacao do

veıculo, a partir das fotografias dos fiscal-izadores eletronicos, ainda e feita manual-mente e nao em tempo real. E otimizar esseprocesso ja e uma necessidade para o Brasile muitos outros paıses, e um problema quevem recebendo crescente atencao na comu-nidade de Reconhecimento de Padroes dev-ido a sua praticidade e visibilidade de resul-tados diretos, logo a criacao de um sistemade reconhecimento automatico de placas setornaria um aliado a mais da sociedade notransito.

2. Reconhecimento e Localizacao da“Placa”

As placas dos automoveis possuem padroesimpostos a todos os veıculos circulantes.Por conta dessa padronizacao o sistemadeve procurar reconhecer a placa em umaimagem atraves de analises como a formada placa, a concentracao ou os agrupa-mentos de cores, a textura, as sequenciasde caracteres pre-determinadas ou aindaas assinaturas e as variacoes em escalacinza em determinado ponto da imagem.Alem da procura por padroes, os algorit-mos de segmentacao aplicados as imagensdevem ser capazes de contornar problemasde visualizacao das placas, como neblinana imagem ou deterioracao da placa pelotempo. Claro na medida do possıvel, talqual como os seres humanos so identifi-cam algo ate um certo limite. A “Figure 1”mostra a padronizacao vigente para as pla-cas de automoveis brasileiros.

Page 2: Reconhecimento de Placas

Figure 1. Padrao de placas nos automoveis brasileiros

Visto que as placas possuem car-acterısticas geometricas exclusivas, comoforma e proporcoes de comprimento e al-tura, o uso de tecnicas de segmentacao fo-cadas em operadores geometricos mostra-se bastante interessante. Assim, a buscapela placa do automovel em uma im-agem resume-se na procura por uma figurageometrica retangular a qual respeite as car-acterısticas de uma placa de automovel.Afim de resolver problemas de perspec-tiva a bibliografia especializada cita especi-ficamente tres abordagens as quais atingemtais objetivos. Sao elas: a translacao, arotacao e o “scaling” da imagem, que nadamais sao do que formas de promover oreposicionamento da placa na imagem, peloreposicionamento e interpolacao de pix-els,garantindo as proporcoes afim de vali-dar o encontro ou nao da placa. A tecnicade aproximacao Douglas-Peucker (DP), ca-paz de selecionar cada um dos objetos pre-sentes na imagem. Utilizando de vertices,um polıgono e criado contornando o objetoreal a ser considerado. No caso a placado carro o polıgono gerado deve ser anal-isado e tem de respeitar as seguintes carac-terısticas:

• O polıgono deve possuir quatrovertices;• A area do polıgono deve ser com-

patıvel com a de uma placa de au-

tomovel,a chamada proporcao.• O polıgono deve ser convexo, ou

seja, nao deve possuir reentrancias;• O angulo entre duas arestas consec-

utivas deve ser de 90 graus.

O polıgono que respeitar ascondicoes impostas acima possui grandechance de ser um retangulo e, consequente-mente, a placa de um veıculo. Todosos polıgonos encontrados com tais carac-terısticas sao marcados na imagem para queseja realizada posteriormente uma analisemais minuciosa de cada um deles.

3. Segmentacao de CaracteresA segmentacao da imagem e um processoque possui o objetivo de separar em im-agens distintas cada letra ou numero deuma placa permitindo a identificacao dessaplaca. Para isso um algoritmo de recon-hecimento de vizinhanca foi feito, identif-icando o caractere atraves dos pixels pretose brancos obtidos apos a binarizacao. O al-goritmo analisa a partir de um pixel de co-ordenadas (x,y) toda a sua vizinhanca, ouseja analisa tambem os 8 pixels ao seu en-torno. Desta forma o algoritmo vai verifi-cando cada um dos pixels. Apos o thresholdos pixels pretos adquirem valor 0 e os bran-cos 1, com isso o algoritmo de contagem fazuma varredura a procura de um pixel preto.Apos isso seu valor e trocado para 2 e seus

Page 3: Reconhecimento de Placas

vizinhos se forem pretos trocam de valoresde 3 em diante afim de marcar o espaco compixel de valor zero. Apos esse passo o al-goritmo pula de 2 para o 3 e faz tudo denovo analisando seus pixels de vizinhancatrocando mais valores alem dos 9 possıveisanteriormente e isso e feito ate acabaremos pixels negros da imagem e se recomecauma varredura para encontrar o proximopixel de valor zero, com isso as letras enumeros vao se formando como imagem ede formas separadas. Para otimizar o pro-cesso de segmentacao um unico algoritmoque faz a contagem e a segmentacao dasimagens sera utilizado, e ele funciona daseguinte forma, o algoritmo original de con-tagem quando for terminada a identificacaode um objeto para ser contabilizado, ele ar-mazena em alguma matriz o valor que foiatribuıdo ao ultimo pixel desse objeto. Comessa criacao de matrizes ha a separacao deobjetos em imagens distintas, ja que cadamatriz e gerada ao fim de cada contagem earmazenada de forma individual. Com issoas imagens poderao ser reconhecidas commais uma etapa de processamento, a de re-conhecimento de caracteres. Cada imagemnova criada de cada caractere separado vaiser submetida a ultima etapa do processa-mento, sendo composta apenas pelo objetoe pelo fundo que depois sera transformadoem dados, a imagem virara por exemplo odado: X, derivado da placa XAB-0000.

4. Filtragem de CaracteresSeparadas imagens menores contendo asletras e numeros, passamos entao para aparte de reconhecimento dos caracteres nes-sas figuras. Inicialmente haviamos pen-sado em selecionar os quatro pixels maisexternos em cada imagem e tentar rela-cionar as distancias entres esses pixels e ascaracteristicas de cada letra e/ou numero.Ao percebermos que isso nao seria tao efi-ciente, pensamos em usar um outro algo-ritmo. Esse novo algoritmo agora iria per-correr a imagem comparando os pixels da

imagem a ser reconhecida com os pixels deimagens em um banco de dados de imagens,para cada pixel compativel incrementava-se um contador. No fim, dividiamos essecontador pelo total de pixels e analizava-mos o percentual de compatibilidade en-tre essa imagem e a imagem do banco dedados, entao selecionavamos o caracatercom maior compatibilidade. Um problemacom esse algoritmo era o tamanho difer-ente das imagens a serem comparadas. Pararesolver esse problema percorriamos ape-nas a imagem a ser reconhecida pixel apixel, os pixels do banco de dados erampercorridos a cada “largura da imagem dobanco de dados/largura da imagem a ser re-conhecida” e “altura da imagem do bancode dados/altura da imagem a ser recon-hecida”. Esse ultimo algoritmo demonstroucerto sucesso, porem mostrou-se ineficientepor reconhecer tambem algumas imagensque nao eram caracteres, apenas lixo cap-tado pelo algoritmo. Enfim ficou claroque precisavamos reconhecer nao somenteo que era igual nas imagens, mas tambemo que diferia. O intuit do novo algorimtopassou a ser, reconhecer a imagem anal-isando as semelhancas e diferencas em cadaborda da imagem.O novo algoritmo quegera quatro vetores, dois com o tamanhoda largura da imagem a ser reconhecida edois com o tamanho da altura da mesma.Em os dois vetores com o tamanho da al-tura sao preenchidos um com a distanciado primeiro pixel preto da borda esquerdada imagem e outro com a distancia do ul-timo pixel preto da borda direita, para cadalinha da matriz imagem. O dois vetorescom o tamanho da largura sao preenchidosseguindo a mesma logica, so que por suavez com as distancia do primeiro pixel pretoda borda superios e o ultimo pixel preto daborda inferior respectivamente, para cadacoluna da matriz imagem. Para as ima-gens do banco de dados, tambem sao ger-ados os mesmos vetores e com as mesmas

Page 4: Reconhecimento de Placas

dimencoes. Para percorrer as linhas e colu-nas da imagens do banco de dados usamosa mesma logica de incrementacao usado noalgoritmo anterior. No sao comparados para par vetor base, vetor topo, vetor da es-querda e vetor da direita e novamente con-tamos o numero de distancias compatıveise dividimos pelo tamanho de cada respec-tivo vetor. No algorıtmo relacionamos oscaracteres as maiores compatibilidades en-contradas e depois de uma analise sele-cionamos um caracter como o caracter naimagem em reconhecimento. A complex-idade desde ultimo algoritmo se encontrano fato de que alguns caracteres demon-stram extrema semelhanca, casos como “B”e “D”, “R” e “P”, “U” e “V”, “Q” e “O”,“C” e “G” , “N” e “H”, “E” e “F”, “6” e“8” , “9” e “8”, “9” e “0”, “0” e “8”, “0” e“6” entre outros. Para resolver isso procu-ramos identificar como o character em si,as imagens com maior compatibilidade pos-sivel em todas as bordas, e no maior nu-mero de bordas possivel. Outro problemae a semelhanca entre letras e numeros, emcasos como “6” e “G”, “0” e “G”, “0” e

“B”, “8” e “B”, um e “I” e “1” e etc. Asolucao mais simples foi separar a deteccaode letras da deteccao de numeros, e comecara deteccao dos numeros apenas depois deidentificados as tres letras das placas.

5. Conclusao

Foi possivel perceber durante o desenvolvi-mento e testes do trabalho que o mais im-portante no reconhecimento e um rico evariado banco de imagens dos caracteres,pois quanto maior o banco maior e a efi-ciencia na deteccao. Notamos que paraas imagens que tinhamos menos caracteresno banco de dados o sucesso na dectecaoera visivelmente menor. Letras como Y eM trouxeram dificuldades na deteccao porconta do desgaste que a maioria das pla-cas do nosso banco possuiam. Um des-cuido dos motoristas hoje em dia e com asinalizacao de seu carro, facilmente vimosplacas sem cor, placas descascando, pla-cas entortadas entre outros. A “Figure 2”mostra o numero de placas utilizadas e re-conhecidas pelo software.

Figure 2. Numero de placas usadas, parcialmente e totalmente reconhecidas

Uma grande dificuldade encontradafoi quanto a qualidade das imagens dosveıculos e determiner o ponto de corteideial do Threshold para selecionar os car-acteres na placa, visto que em uma situacaoreal o carro estara em movimento a im-agem sera feita de forma rapida e eficiente

pegando toda a area da placa. O sistemadeve ser inteligente, capaz de detectar essaplaca na imagem, de nada adianta recon-hecer os caracteres se na fotografia tambemhouver placas na rua e outros sinais quepossam confundir o sistema. Por fim con-cluimos que e essencial para a sociedade

Page 5: Reconhecimento de Placas

que o processo de reconhecimento de pla-cas seja eficiente e rapido, diminuindo oserros humanos e acelerando todo o pro-cesso de fiscalizacao do trafego e do transitonas nossas cidades. Alem disso e impor-tante manter um banco de imagens muitogrande e com uma grande variedade de im-agens. Outro ponto importante e garantirque serao tiradas imagens com um deter-minado padrao e qualidade para garantir aeficiencia de todo o processo. Concluindoassim percebemos a importancia de nossotrabalho e de nossa pesquisa no assunto.

6. References-

[1] DAMBROS, A. L., “Sistema deReconhecimento de Placas de Veıculos Au-tomotores”. Centro Universitario Feevale,Novo Hamburgo, 2008.

[2] BRADSKI, G.; KAEHLER.A., “Learning OpenCV: Computer Visionwith OpenCV Library”. Sebastopol, CA,O’Reilly Media, Inc., September 2008.577p.

[3] NUNES, J. R., “SegmentacaoAutomatica e Classificacao em Vıdeos Es-portivos”. Dissertacao (Mestrado) - Pon-tifıcia Universidade Catolica do Parana,Curitiba, 2006.

[4] “Principais Interesses dePesquisa: Processamento de Imagens eVisao Computacional” - Unisinos

[5] MARANA, A. N.; BREGA, J.R. F., “Tecnicas e Ferramentas de Proces-samento de Imagens Digitais e Aplicacoesem Realidade Virtual e Misturada”, Bauru,Canal6 Editora, 2008.

[6] Duda, R. O; Hart, P. E. “PatternClassification and Scene Analysis”, JohnWiley Sons, 1973.

[7] Kupac, G. V.; Rodrigues, R.J.; Thome, A. C. G.; “Extracao de carac-terısticas para Reconhecimento de DıgitosCursivos”, VIth Brazilian Symposium onNeural Networks - SBRN2000, Rio deJaneiro, november 2000.

[8] Rodrigues, R. J.; Kupac, G. V.;Thome, A. C. G.; “Character Feature Ex-traction Using Polygonal Projection Sweep(Contour Detection)”, accepted for presen-tation at IWANN2001. Granade - Spain,June 2001.

[9] Rodrigues, R. J.; Silva, E.;Thome, A. C. G.; “Feature Extraction Us-ing Contour Projection”, accepted for pre-sentation at SCI2001. Orlando - USA, July2001.