Você está na página 1de 20

133

RECONHECIMENTO AUTOMTICO DE PLACAS DE VECULOS UTILIZANDO PROCESSAMENTO DIGITAL DE IMAGENS E INTELIGNCIA ARTIFICIAL
Guilherme Stfano Silva de Souza; Paulo Henrique Passella Acadmicos do Curso de Cincia da Computao Centro Universitrio UNISEB. Jean Jacques De Groote Doutor em Fsica pela Universidade de So Paulo; Docente do Centro Universitrio UNISEB.

Resumo
Neste trabalho apresentado o desenvolvimento de um software projetado para reconhecer automaticamente placas de veculos. A metodologia adotada consiste na aplicao de filtros para o pr-processamento das imagens, na localizao da placa do veculo utilizando segmentao, e no reconhecimento dos caracteres da placa. Para reconhecer os caracteres so utilizadas Redes Neurais Artificiais. Uma pesquisa sobre os modelos de placas permitidos tambm foi discutida. Palavras-chave: software; segmentao; Redes Neurais Artificiais.

Abstract
This works presents the development of a software able to automatically recognize license plates. The methodology adopted consists of applying filters to images pre-processing, the localization of the license plate using segmentation and character recognition of the license plates. To the characters recognition artificial neural networks are used. To the development of this work a research had been made on the models of license plates. Keywords: software; segmentation; artificial neural networks. 1. Introduo Com os avanos no processamento digital de imagens, o mesmo passou a ser aplicado em diversas reas como na medicina em ressonncias magnticas, na agricultura para localizao de doenas em plantaes, na indstria para reconhecimento de placas de circuitos com peas faltantes, e na segurana pblica, para reconhecimento de placas de veculos automotores, tema que pode ser aplicado tambm em engenharia de trfego e que o tema desse trabalho. Com o constante aumento de nmero de veculos, conforme citado por Guindo, Thom e Rodrigues (2002), a necessidade de um sistema capaz de reconhecer placas de veculos automotores cada vez maior, como por exemplo, na engenharia de trfego para conseguir dados rpidos e precisos, e com, isso podendo aumentar a eficincia e controle do trfego. Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

134

A soluo de reconhecimento automtico de placas de veculos pode ser usada tambm em vrias outras reas como identificar veculos permitindo ou negando o acesso a reas restritas em condomnios fechados, por exemplo, procurar e alertar a polcia em caso de roubo ou seqestro, dentre outras aplicaes. Uma aplicao interessante para esse projeto seria a utilizao dessa tecnologia para achar um veculo perdido em um estacionamento, onde o usurio, por meio da numerao da placa de seu veculo, poderia ser informado em que setor do estacionamento se encontra seu carro. Pois atualmente, como descrito no artigo escrito por Conci e Monteiro (2004) e tambm no artigo escrito por Guindo, Thom e Rodrigues (2002), muitos dispositivos eletrnicos utilizados para aplicar multas na maioria dos estados no possuem um sistema que reconhea automaticamente os caracteres das placas dos veculos. Outro dispositivo em que o reconhecimento automtico de placas seria til no controle eletrnico de estacionamentos, onde emitido um recibo automaticamente, mas no comum o controle de registro das placas de veculos ou identificao das placas dos veculos. Tudo isso seria possvel sem muito custo, pois com o desenvolvimento tecnolgico e com o preo cada vez mais acessvel das filmadoras, mquinas fotogrficas digitais e WebCams, tornam-se viveis utilizaes de reconhecimento por imagens aplicadas problemas do cotidiano como o reconhecimento de placas de veculos. Os sistemas de reconhecimento de placas de veculos automotores ou SRPLV geralmente so compostos pelos seguintes itens, Sensor de presena, Cmera de vdeo, Computador e o Software que o item mais importante, e ele que ser abordado nesse trabalho. Assim como o SRPLV dividido em vrios itens, o software para reconhecimento tambm ser dividido em vrios itens ou mdulos. O trabalho desenvolvido tem como objetivo o desenvolvimento de um prottipo de um software que seja capaz de detectar de forma automtica placas de veculos automotivos em qualquer lugar de uma imagem. Alm de desenvolver esse prottipo, o trabalho tem como objetivo apresentar um estudo sobre os tipos de placas existentes e suas especificaes.

Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

135

2. Modelos de Placas e Especificaes As placas de identificao de veculos no Brasil so emitidas pelos departamentos de trnsito (DETRAN) e de cada unidade da Federao. Em 15 de maro de 2007 foi criada a resoluo 231 pelo CONTRAN, especificando vrios detalhes das placas veiculares. De acordo com a resoluo 231 de 15 de maro de 2007, cada veculo dever conter duas placas, uma placa dianteira e uma placa traseira, contendo 7 caracteres, sendo eles 3 letras, variando de A a Z e permitindo repetio , e 4 dgitos, esses sendo na base decimal, variando de 0 a 10, e tanto traseiras, quanto dianteiras devero conter uma tarja com o nome do municpio e a unidade de federao. As placas excepcionalizadas devero conter, gravados nas tarjas ou em espao correspondente na prpria placa, os seguintes caracteres: B R A S I L para veculos oficiais da Unio, nome da Unidade da Federao para veculos oficiais das Unidades da Federao e sigla da Unidade da Federao e nome do Municpio para veculos oficiais dos Municpios. As placas dos veculos automotores pertencentes a Misses Diplomticas, Reparties Consulares, Organismos Internacionais, Funcionrios Estrangeiros Administrativos de Carreira e aos Peritos Estrangeiros de Cooperao Internacional devero conter as seguintes gravaes estampadas na parte central superior da placa (tarjeta), substituindo-se a identificao do Municpio: CMD, para os veculos de uso dos Chefes de Misso Diplomtica; CD, para os veculos pertencentes ao Corpo Diplomtico; CC, para os veculos pertencentes ao Corpo Consular; OI, para os veculos pertencentes a Organismos Internacionais; ADM, para os veculos pertencentes a funcionrios administrativos de carreira estrangeiros de Misses Diplomticas, Reparties Consulares e Representaes de Organismos Internacionais; CI, para os veculos pertencentes a perito estrangeiros sem residncia permanente que venham ao Brasil no mbito de Acordo de Cooperao Internacional. Na resoluo 231 de 15 de maro de 2007, existe uma tabela de cores identificando quais os modelos de placas de veculos existentes no pas e suas respectivas cores como mostrado no Quadro 1.

Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

136

Quadro 1- Cores das Placas

CATEGORIA DO VECULO Particular Aluguel Experincia/Fabricante Aprendizagem Coleo Oficial Misso Diplomtica Corpo Consular Organismo Internacional Corpo Diplomtico Organismo Consular/Internacional Acordo Cooperao Internacional : Representao

COR PLACA E TARJETA FUNDO Cinza Vermelho Verde Branco Preto Branco Azul Azul Azul Azul Azul Azul Preto

CARACTERES Preto Branco Branco Vermelho Cinza Preto Branco Branco Branco Branco Branco Branco Dourado

De acordo com a resoluo 231 de 15 de maro de 2007 as dimenses das placas dos veculos devem ter uma largura de 400 milmetros e altura de 130 milmetros como mostra a Figura 1.

Figura 1 - Dimenses de uma placa de veculo FONTE: Contran; resoluo 231 de 15 de maro de 2007; p. 9

Para motocicletas as placas de identificao devem ter uma largura de 187 milmetros e altura de 136 milmetros conforme mostra a Figura 2.

Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

137

Figura 2 - Dimenses de uma placa de motocleta FONTE: Contran; resoluo 231 de 15 de maro de 2007; p. 9

Os caracteres das placas tambm devem seguir um padro, sendo 63 milmetros de altura com espessura de 10 milmetros para veculos, e 42 milmetros de altura e 6 milmetros para motocicletas. O Quadro 2 mostra a altura dos caracteres em milmetros para veculos e a Tabela 3 para motocicletas.

Quadro 2 - A largura dos caracteres em milmetros para veculos

A 54 T 44

B 44 U 45

C 44 V 49

D 43 W 49

E 40 X 49

F 40 Y 47

G 45 Z 40

H 45 1 18

I 10 2 36

J 36 3 37

K 49 4 40

L 40 5 36

M 54 6 36

N 47 7 36

O 45 8 38

P 44 9 36

Q 51 0 36

R S 46 46

Quadro 3 - A largura dos caracteres em milmetros para motocicletas

A 36 T 30

B 30 U 30

C 30 V 33

D 30 W 33

E 27 X 33

F 27 Y 32

G 30 Z 27

H 30 1 12

I 6 2 24

J 25 3 25

K 33 4 27

L 27 5 24

M 36 6 24

N 32 7 24

O 30 8 26

P 30 9 24

Q 35 0 24

R S 31 31

Os caracteres seguem o padro da Figura 2 de fonte usando a fonte Mandatory.

Figura 3 - Padro dos caracteres na fonte Mandatory FONTE: Contran; resoluo 231 de 15 de maro de 2007; p. 5

Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

138

3. Pesquisas realizadas para a identificao de placas No artigo de CONCI e MONTEIRO (2004) o objetivo o reconhecimento de uma placa em si, sem a necessidade de encontr-la na foto. A abordagem desse problema dividida da seguinte forma: primeira parte onde realizado o pr-processamento utilizando tcnicas de binarizao e eroso, segunda parte que procura dar rtulos aos caracteres utilizando segmentao dos caracteres da placa atravs de uma verificao da vizinhana e a ltima parte que busca dar significado aos caracteres utilizando um banco de dados para comparao das caractersticas extradas nas outras etapas, esse banco de dados deve ser inicializado previamente com essas caractersticas. Carvalho (2006) define o reconhecimento de placas em trs principais mdulos: localizao da placa, segmentao dos caracteres, e reconhecimento dos caracteres. No trabalho de Carvalho (2006) enfatizada a localizao de placas que segundo ele considerada como o estgio mais crucial no sistema de RP e uma que vez que a placa foi encontrada, o resultado pode ser alimentado no segundo e terceiro mdulo. Nesse trabalho utilizada a tcnica de Morfologia Matemtica que segundo ele se diferencia de outras tcnicas onde o principal problema so as caractersticas usadas que dependem das diferenas de intensidade entre a placa e as cores do carro e que, portanto no so estveis, sendo gravemente influenciadas por iluminao, orientao da cmera, ou mudanas na cor do carro. A utilizao de redes neurais para localizar os caracteres enfatizada no trabalho de MUNIZ (2007) que cria um sistema em DELPHI 7 onde a localidade da placa recortada manualmente para que seus caracteres alfanumricos sejam identificados automaticamente. A sua aplicao tambm dividida em fases, a primeira delas o pr-processamento, onde as tcnicas de realce aplicadas so: passar a imagem colorida para tons de cinza, reduo da imagem que consiste em diminuir a quantidade de pixels de uma imagem sem que haja perda significativa da informao nela contida, binarizao e vetorizao que so aplicados de forma simultnea, onde a binarizao utilizada para diminuio das escalas de cinza da imagem e a vetorizao onde matriz da imagem resultante da binarizao transformada em um vetor para que possa ser utilizado pelas redes neurais. Como proposta de um futuro trabalho Muniz (2007) comenta que necessrio um algoritmo que localize a placa em uma imagem e retire desta, automaticamente, os caracteres para servir de entrada na rede. Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

139

O artigo publicado por Guindo, Thom e Rodrigues (2002) procura fazer todas as etapas do processamento de imagens dividindo elas em: localizao da regio da placa, seleo e extrao da regio da placa, segmentao dos caracteres da placa, extrao das caractersticas dos caracteres segmentados e reconhecimento dos caracteres. As maiores dificuldades neste trabalho foram a baixa qualidade geral das fotos disposio, dificuldades como iluminao, rudo gerado pelo ambiente (chuva, neblina, etc.), problemas com as cmeras (falta de foco, localizao inadequada, ngulo de viso imprprio, etc.).Outro fator para os baixos resultados foram as confuses que ocorreram mais freqentes entre os caracteres B, D e O e en tre os dgitos 0 e 8. No artigo de Souza et al (2006) desenvolvido um trabalho de otimizao do algoritmo de anlise de variao tonal para a localizao de placas automotivas em tempo real. A variao tonal procura localizar a impresso digital da placa fazendo uma varredura seqencial na imagem. Como se pode observar, os problemas encontrados nos trabalhos ou as propostas que foram sugeridas para prximos trabalhos pelos autores so complementados uns pelos outros, como por exemplo, Carvalho (2006) sugere um trabalho para completar o seu que a segmentao e reconhecimento dos caracteres, essa a proposta de Muniz (2007) e Conci e Monteiro (2004).

4. Metodologia 4.1 Base de dados Para desenvolver esse trabalho foi utilizada uma base de dados, pois dispor de uma quantidade significativa de imagens essencial para esse tipo de pesquisa. Todos os testes foram feitos em uma base contendo carros e caminhes parados em frente a cancelas de cobrana. As imagens foram obtidas do trabalho do Projeto de Reconhecimento de Placas de Veculos Brasileiros desenvolvido por Albuquerque (2006). Ao todo so utilizadas 100 imagens dessas 25 no possuem placas ou as placas no esto em condies de serem analisadas, pois possuem muitos desgastes, tambm existem imagens com muita luminosidade ofuscando totalmente os caracteres ou esto focalizadas pela metade cortando alguns caracteres. Das 75 imagens restantes trs esto desgastadas e 12 so de cor vermelha. Todas as imagens esto em escalas de cinza e so do formato JPG. Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

140

4.2 Filtro passa-alta O filtro passa-alta escolhido para ser utilizado no sistema foi o Sobel, por ser o que obteve os melhores resultados, deixando as retas mais grossas e assim a placa em maior evidncia comparada com o os outros filtros de deteco de bordas como est sendo mostrado na Figura 4.

(a)

(b)

(c)

Figura 4 - Deteco de bordas de uma imagem com uma placa veicular, sendo Prewitt (a), Roberts (b) e Sobel (c).

O algoritmo utilizado na filtragem de deteco de bordas foi baseado no livro de Miranda (2006), onde mostrado como realizar uma convoluo de uma mscara 3x3 utilizando as bibliotecas do Java para processamento digital de imagens. Aps a realizao de alguns experimentos foi constatado que a localizao da placa seria dificultada utilizando o filtro de deteco de bordas inteiro, pois os carros com pra-choque que possuem uma grande quantidade de linhas horizontais confundiam a localizao da placa mesmo utilizando o passo seguinte que a esqueletizao. Ento o algoritmo foi alterado para fazer somente a filtragem vertical deixando a placa em maior destaque em comparao com o restante da imagem, como exibido na Figura 5. O cdigo desenvolvido se encontra no Apndice A.

Figura 5 - Filtro Sobel Vertical

Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

141

4.3 Binarizao Foram tentados trs mtodos para binarizar a imagem, um utilizando um limiar fixo que o tom de cinza 125 implementado utilizando as bibliotecas do Java para processamento digital de imagens, outro utilizando um mtodo interno da API ImageJ e um ltimo tambm utilizando as bibliotecas do Java para processamento digital de imagem. O que obteve o melhor resultado foi o mtodo da API ImageJ. importante ressaltar que foi tentado acessar os mtodos mais avanados de limiarizao no ImageJ, como Otsu ou Huang, porm s foi possvel implementar o algoritmo padro do ImageJ. Isso ocorreu pela complexidade da API e a falta de materiais falando sobre o assunto. A Figura 6 mostra quais os mtodos disponveis na ferramenta, lembrando que pela ferramenta e no API, pois no foram encontrados materiais mostrando como utiliz-los atravs da API. Segundo Landini (2011) o algoritmo utilizado como padro no ImageJ o algoritmo IsoData ou Iterativo Intermeans. A Figura 7 mostra a binarizao utilizando a API ImageJ.

Figura 6 Imagem original e a suas limiarizales utilizando a ferramenta ImageJ

Figura 7 - Binarizao da imagem aps a aplicao do filtro Sobel vertical

Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

142

4.4. Esqueletizao A esqueletizao til no processo de localizao da placa, pois mesmo com o filtro vertical, a localizao da placa ainda difcil devido aos objetos como o farol do carro ou smbolos como a marca do carro, que podem ser confundidos com uma placa. A idia da esqueletizao fazer todas as linhas da imagem ficarem com a mesma espessura. Se a esqueletizao no for aplicada quando um farol for encontrado e tiver as linhas mais grossas que uma placa aps a filtragem passa-alta vertical, e esse farol tiver as mesmas dimenses da placa, ento ele ser confundido com uma placa. Um exemplo da esqueletizao mostrado na Figura 8.

Figura 8 - Esqueletizao de uma imagem contendo uma placa veicular aps a binarizao.

No algoritmo realizada a filtragem passa-alta vertical, depois realizado uma binarizao da imagem atravs da API ImageJ , que possui um mtodo interno para binarizao, ento realizada a esqueletizao da imagem.

5. Resultados

5.1 Localizao da Placa A primeira etapa para localizar a placa a encontrar um ponto dentro da regio da placa. Para isso utilizado como pr-processamento o Filtro Sobel vertical e depois a esqueletizao da imagem. Foi utilizada a idia de percorrer a imagem com uma mscara um pouco maior que o tamanho mdio da placa fazendo a mdia dos nveis de intensidade, e depois disso procurado o pixel com maior intensidade na imagem. Foi escolhida uma mscara com um tamanho mdio de 240 de largura e 40 pixels de altura. A Figura 9 mostra um exemplo.

Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

143

(a)

(b)

(c)
Figura 9 - Imagem normal (a). Mdia da imagem (b). Imagem esqueletizada

Aps encontrar um possvel ponto dentro da regio da placa, a sua localizao feita delimitando uma regio ao redor do ponto encontrado. Nessa janela foi testado o mtodo para encontrar a placa, varrendo a imagem com uma mscara e calculando a somatria da mscara de cada pixel, onde existir a maior somatria o local onde a placa est. Foram testadas duas mscaras, uma oca com as bordas tendo o valor 1 e o seu interior 0 e uma com todos seus valores iguais a 1. O tamanho da placa utilizado nesse mtodo foi o mesmo utilizado no mtodo de delimitao da regio da placa. Aps encontrar a regio da placa, essa regio redimensionado em 5 pixels de largura e altura para que no seja descartada alguma parte da placa que fique fora do alcance da mscara , ento essa regio salva em uma nova imagem. O mtodo utilizando uma mscara com todos os pixels tendo o seu valor igual a 1 e o prprocessamento na imagem utilizando Sobel com a matriz vertical. Aps esse pr-processamento procurado o ponto onde uma mscara possui maior somatria. Esse mtodo foi o utilizado no sistema final por ser mais simples, no necessitando da esqueletizao, e possuir maior taxa de acerto. A Figura 10 mostra um exemplo.

(a)

(b)

Figura 10 - Placa localizada (a). Mscara desenhada na imagem original (b)

Delimitar a regio da placa antes de procurar a placa til, pois delimitando a regio so eliminados faris e smbolos da imagem. Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

144

5.2. Localizao dos Caracteres

Aps a localizao da placa, necessrio encontrar os caracteres. A regio da placa que foi localizada salva em uma imagem, em cima dessa nova imagem feita a localizao dos caracteres, que foi feita utilizando duas etapas, uma que delimita a regio possvel onde os caracteres se encontram e outra que segmenta os caracteres. A delimitao da regio dos caracteres foi feita utilizando a mesma idia do algoritmo de anlise de variao tonal ou assinatura da placa do artigo de Souza et al (2006). A variao tonal procura localizar a impresso digital da placa fazendo uma varredura seqencial na imagem. A Figura 11 mostra como a assinatura de uma placa ao traar uma reta no meio da placa. (a) (b)

(c)
Figura 11 - Imagem original (a). Imagem com uma reta traada no meio da placa (b). Variaes da regio onde a reta foi traada

No algoritmo implementado no projeto a regio onde os caracteres esto delimitada buscando a regio onde existe a maior quantidade de transies na imagem. Para encontrar essa regio, a imagem percorrida no sentido vertical. Nessa etapa no foi utilizado nenhum prprocessamento. Para selecionar os pixels que esto na regio da transio foi feito um algoritmo que procura a cada 5 pixels os pixels que possuam uma diferena de intensidade de 60 tons de cinza entre o pixel anterior e o posterior. Os pixels que tiverem a diferena de intensidade s sero aceitos se estiverem entre o maior e menor espao possvel entre dois caracteres. No algoritmo o maior espao utilizado foi de 38 pixels e o menor foi de 18. Existe tambm uma quantidade mxima e mnima de pixels por linha da imagem. No algoritmo est sendo utilizado o valor de mximo de 28 pixels por linha e mnimo de 7 pixels por linha. Aps encontrar os pixels Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

145

so traadas duas retas, uma sob o pixel mais alto e outra sob o pixel mais baixo. As retas so traadas com uma taxa de erro para cima e para baixo para evitar que as retas sejam traadas em cima dos caracteres ou mesmo percam parte deles. A Figura 12 mostra a seqncia de passos para delimitar a regio dos caracteres. O primeiro passo localizar a placa, em seguida analisada a variao de cada linha da imagem, os pixels que possam ser a variao de um caractere para o fundo branco so marcados. Agora a regio entre os pixels encontrados marcada como a possvel regio do caractere.

Figura 12 - Seqncia de passos para delimitar a regio dos caracteres.

O prximo passo varrer a regio delimitada dos caracteres na vertical, procurando onde existe maior variao, mas antes de fazer essa varredura feita uma binarizao da placa utilizando a API ImageJ. A imagem varrida na posio horizontal procurando em um intervalo de pixels, se existe alguma variao maior que a variao mnima de um caractere. Como est sendo utilizada a binarizao, os valores dos pixels sero 0 ou 1 , assim ser buscada variao de 1 nvel de cinza. E como algumas placas podem ficar com os caracteres muito finos devido a binarizao, foi escolhido variao mnima de 1 e intervalo entre os pixels de 1 tambm. Cada vez que so Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

146

encontradas variaes consecutivamente medida que a imagem vai sendo varrida, a regio dessas variaes armazenada em uma lista temporria. Quando encontrada uma regio sem variao, as variaes armazenadas anteriormente podem ser consideradas um caractere. Essas regies so unidas em uma imagem em uma lista de caracteres. A Figura 13 mostra a seqncia de passos realizados para segmentar os caracteres, a delimitao da regio dos caracteres, a binarizao, a localizao das regies com maior transio na vertical e por fim essas regies so salvas em imagens para o reconhecimento.

Figura 13- Seqncia de passos para localizao dos caracteres

5.3 Reconhecimentos dos Caracteres O reconhecimento dos caracteres dividido em duas partes, o treinamento e o reconhecimento dos caracteres. O mdulo de reconhecimento de caracteres foi desenvolvido de forma que ele possa aprender conforme o usurio utilize o sistema utilizando um mtodo conhecido como Active Learning. A Figura 14 mostra a janela de treinamento e reconhecimento.

Figura 14- Janela que mostra os resultados do reconhecimento tambm serve para treinar as redes neurais

O treinamento consiste em selecionar uma amostra (imagem de um caractere obtido pela fase de segmentao) e transform-la em uma estrutura de dados no qual possa ser tratado pela rede neural.

Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

147

Para o reconhecimento dos caracteres foi utilizada uma Rede Neural de uma nica camada, o que serve muito bem para classificar sistemas distintos. Como o problema tem vrios caracteres, foi proposta a criao de vrias redes neurais, sendo que cada rede neural responsvel pelo reconhecimento de um determinado caractere. O treinamento de uma rede neural se d pela imagem reconhecida pela mesma, caso a resposta de uma rede neural no seja verdadeira, esta rede precisa ser calibrada, ou seja, precisa passar por mais um processo de treinamento. Para realizar o treinamento de uma rede neural para reconhecer determinada imagem como um caractere, esta imagem passa por trs etapas, essas so: converter segmentao do caractere para cinza , converter segmentao do caractere para uma imagem de escala conhecida, converter segmentao do caractere para uma imagem esqueletizada. necessrio que a imagem seja de um tamanho reconhecido e padronizado pela rede neural, sabemos que uma imagem nada mais que uma matriz, onde cada posio dessa matriz contm a informao de um pixel, como a intensidade desse pixel. Cada pixel de uma imagem tem um peso associado a ele em uma rede neural. O tamanho da matriz de 37 pixels de altura e 20 pixels de largura. Em um perceptron realizada a somatria da multiplicao dos pesos. Ao converter a imagem para entradas no perceptron, cada pixel ir representar uma entrada. Como um perceptron est preparado para um determinado nmero de entradas se uma imagem possuir um tamanho diferente do determinado apresentar uma falha, j que o perceptron est preparado para aquela quantidade de entradas. Como o sistema de rede neural de uma nica camada serve unicamente para realizar a classificao de sistemas distintos, quanto mais amostras distintas para a rede neural, melhor . A esqueletizao consiste em uma tcnica de eroso que deixa apenas o esqueleto do caractere, sendo os pixels da imagem convertidos entre somente dois valores, 255 e 0, onde 255 o pixel ativo e 0 o pixel desativado. No caso da Figura 15, a parte branca da imagem a parte ativa, ou seja, o valor do pixel nessa rea 255, e a parte preta da imagem a parte que no nos interessa.

Figura 15 - Imagem esqueletizada um caractere L

Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

148

Na implementao do perceptron, para o mesmo realizar o reconhecimento de uma determinada imagem, este precisa realizar a somatria da multiplicao dos pesos com a amostra. Ento, para que tal processo seja realizado, gerado um vetor da seguinte forma, as linhas da matriz de 37 de altura por 20 de largura so unidas em uma nica linha, onde o fim de uma linha unido ao comeo da linha seguinte, esse vetor ser enviado para a rede neural. Para que o perceptron reconhea o vetor so necessrias vrias iteraes e testes at que o erro seja o mnimo possvel, quanto mais amostras para o reconhecimento, melhor o desempenho do perceptron. O algoritmo de treinamento funciona da seguinte maneira: o perceptron possui vrios pesos, onde cada peso representa um atributo da amostra, em uma imagem de 20 x 37, temos um vetor de 740 posies, onde cada posio contm um valor para o atributo, no perceptron possui um vetor de mesmo tamanho, ento o resultado do processo de reconhecimento a iterao desse vetor, somando o resultado da multiplicao entre o vetor peso na determinada posio pela mesma posio s que no vetor da amostra. Aps essa somatria o resultado ser separado em 0 e 1, onde valores maiores que 0 so representados como 1, e valores menores que 0 so representados por 0. Para solucionar o problema de reconhecimento de caracteres, foi desenvolvido um gerenciador de redes neurais. Quando solicitado o treinamento de uma imagem para poder ser reconhecida, o sistema percorre todas as redes neurais instanciadas e treina cada uma, quando a rede neural for a rede neural responsvel pelo o reconhecimento da amostra em questo, essa amostra definida de uma amostra verdadeira, ou seja, o valor desejado dessa amostra 1, e quando a rede neural no for responsvel pelo o reconhecimento da amostra em questo, definido que uma amostra falsa, onde o valor desejado 0, ao total so feitas 36 iteraes, onde cada iterao o treinamento de uma rede neural, o treinamento da rede neural feita at que a amostra seja reconhecida pela rede neural em questo, ou at que exceda o limite de 1000 iteraes. Em um treinamento de uma nova placa, por exemplo, ABC-1234, todas as redes so treinadas sete vezes, uma vez para reconhecer o caractere A, uma vez para reconhecer o B e assim por diante, onde cada red rede neural treinada at o reconhecimento do caractere, ou exceder o limite de 1000 iteraes. Aps o treinamento de todas as redes neurais so salvos no XML os novos pesos de cada perceptron, fazendo com que no se perca esses esforos. Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

149

O reconhecimento dos caracteres consiste em perguntar para todas as redes neurais instanciadas se alguma delas reconhece a amostra. Como o sistema foi desenvolvido de maneira que cada rede neural reconhea um caractere, mais de uma rede pode reconhecer uma determinada amostra, um exemplo disso o caractere O e 0, onde at mesmo para o ser humano, difcil de ser diferenciado. Para saber se uma rede neural reconhece uma determinada amostra, essa amostra confrontada com cada peso de cada perceptron, caso retorna verdadeiro significa que essa rede neural reconhece a amostra em questo, caso a resposta seja falsa, isso significa que essa rede neural no reconhece essa amostra. O sistema foi desenvolvido de forma que aprenda conforme o uso do mesmo, utilizando Active Learning, onde a cada imagem testada nas redes neurais e tambm podem ser treinadas com novas imagens. Quando o sistema encontra os caracteres pela primeira vez e as redes neurais ainda no esto treinadas, no possvel reconhecer os caracteres, pois nenhuma rede est calibrada para isso. O processo de treinamento um processo de treinamento monitorado, onde, o usurio treina a rede indicando o resultado correto e testa ao mesmo tempo. Como visto na Figura 16, no foi possvel reconhecer nenhum caractere, pois foi a primeira vez que o sistema utilizado.

Figura 16 - Reconhecimento de caracteres sendo executado pela primeira vez

Ao realizar os treinamentos das amostras uma vez e alguns caracteres foram reconhecidos, porm no todos, pois essas redes neurais precisam ser mais treinadas. A Figura 17 ilustra essa situao.

Figura 17 - Mesma placa aberta logo aps as redes serem treinadas

Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

150

6. Resultados Foram consideradas somente as 75 imagens com placas em bom estado. A taxa de acerto do algoritmo que busca um ponto dentro da placa de 95%. O mtodo funcionou para todas as 12 placas vermelhas, as placas que tiveram problemas estavam em tonalidades muito claras ou escuras. O mtodo para localizar um ponto dentro da placa teve uma taxa de acerto de 95%. Na delimitao da regio dos caracteres foram utilizadas as 100 imagens, testando o mtodo para ver se o mesmo consegue identificar que no existem caracteres na imagem. Das 25 imagens sem placa o sistema identificou que 10 imagens no possuem caracteres, ou seja, no possuem placas, 15 imagens(sem placas ou com placas sem condies de serem analisadas) foram falsamente identificadas com caracteres, 12 imagens com placa no tiveram seus caracteres delimitados corretamente e 63 imagens tiveram a regio dos caracteres delimitada corretamente. Pode ser constatado ento que a delimitao dos caracteres obteve um acerto de 73%, sendo 63% de delimitaes corretas e 10% de imagens que foram constatadas sem placas. Das 12 placas que no tiveram seus caracteres delimitados corretamente, 4 so devido a no localizao da placa. A segmentao dos caracteres foi o mtodo o que obteve o pior desempenho. O erro se deu na verdade devido ao mtodo de binarizao utilizado que no destacou os caracteres com muita nitidez, e tambm porque o mtodo no funcionou nas placas de cor vermelha. Das 100 imagens 34 tiveram os caracteres das placas dos carros segmentados, 8 tiveram os caracteres parcialmente segmentados onde foi considerado at 3 caracteres segmentados com erro, 33 placas com caracteres no segmentados corretamente ou no encontrados, 12 imagens sem placa onde foram encontrados caracteres , e 13 imagens sem placa onde no foram encontrados caracteres. A taxa de acerto pode considera como sendo de 47% somando as 34 segmentaes corretas com as 13 identificaes de ausncia de placa na imagem. Mas se no for levado em considerao o detalhe de que o algoritmo no consegue segmentar caracteres de placas vermelhas, a taxa de acerto aumenta para 53%. Na identificao dos caracteres o teste foi feito com 49 imagens, que obtiveram melhor resultado na segmentao. Inicialmente foram realizados testes utilizando 12% das amostras onde o caractere L que esteve em 32 amostras e foi reconhecido em 15 amostras, obteve uma taxa de 46,87% e foi treinado em 4 amostras, o caractere 8 que esteve em 19 amostras e foi reconhecido em 8 amostras, obteve uma taxa de 42,10% e foi treinado em 5 amostras.

Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

151

Depois foram feitos treinamentos utilizando abaixo 20% da base de imagens onde o caractere L que esteve em 28 amostras e foi reconhecido em 10 amostras, obteve uma taxa de 35,71% e foi treinado em 8 amostras.

7. Concluso A metodologia proposta nesse estudo foi criar um sistema que possa localizar e identificar placas de veculos automaticamente, o que se pode dizer que foi alcanado em partes, pois ainda preciso aprimorar a segmentao dos caracteres, os resultados tambm poderiam ter sido melhores no reconhecimento dos caracteres, pois a pequena base de 100 imagens no foi o suficiente para um treinamento adequado das redes neurais. As principais dificuldades foram encontrar mtodos que resolvessem o problema de forma simples e que funcionasse para placas vermelhas e brancas e que diferenciassem smbolos e faris, o que ocorreu na maioria dos mtodos. Os resultados como um todo foi satisfatrio, mas pode ainda ser aprimorado. Outra grande dificuldade foi a segmentao dos caracteres, muito mais trabalhoso que a identificao da placa. Como trabalhos futuros poderiam ser aprimorados os algoritmos e tcnicas, principalmente a segmentao dos caracteres, e encontrar uma maneira de fazer com que a mscara que busca a placa na imagem seja varivel automaticamente de acordo com o tamanho da placa e depois portar o sistema para a plataforma mvel android que utiliza a linguagem Java.

REFERNCIAS
ALBUQUERQUE, M. P. de. Projeto de Reconhecimento de Placas de Veculos Brasileiros. CENTRO BRASILEIRO DE PESQUISAS FSICAS, 2006. Disponvel em: <http://www.cbpf.br/cat/pdsi/lpr/lpr.html> Acesso em: 22/05/2011. CARVALHO, Jonh. Uma Abordagem de Segmentao de Placas de Automveis Baseada em Morfologia Matemtica. Dissertao de Mestrado. UFF, RJ, 2006. Disponvel em: < http://www.ic.uff.br/PosGraduacao/Dissertacoes/296.pdf> Acesso em: 22/05/2011. CONCI, Aura; MONTEIRO, Leonardo H. Reconhecimento de placas de veculos por imagem. UFF, RJ, 2004. Disponvel em: <http://www.ic.uff.br/~aconci/CONENPLACAS.pdf> Acesso em: 22/05/2011. Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

152

CONSELHO NACIONAL DE TRNSITO. Resoluo N 241, de 22 de junho de 2007. CONTRAN Disponvel em: < http://www.denatran.gov.br/download/Resolucoes/RESOLUCAO_231.pdf > Acesso em: 22/05/2011. GUINDO Bruno G; THOM, Antonio C.; RODRIGUES, Roberto J. Reconhecimento automtico de placas de veculos automotores atravs de redes neurais artificiais. UFRJ, RJ, 2002. Disponvel em: < http://www.labic.nce.ufrj.br/downloads/2cbcomp_2002.pdf > Acesso em: 22/05/2011. LANDINI, Gabriel. Auto Threshold and Auto Local Threshold. University of Birmingham, Inglaterra, 2011. Disponvel em: < http://www.dentistry.bham.ac.uk/landinig/software/autothreshold/autothreshold.html> Acesso em: 30/10/2011. MIRANDA, Jose I. Processamento de Imagens Digitais Prtica Usando Java. SP: Embrapa, 2006. MUNIZ, Bruno D. Trabalho de Concluso de Curso. Utilizao de Redes Neurais para Identificao de Caracteres de Placas de Veculos Automotores. Instituto de Ensino Superior COC, SP, 2007. SOUZA, Caio, et al. Reconhecimento de placas de automveis atravs de cmeras ip. Universidade IMES, SP, 2006. Disponvel em: <http://www.aedb.br/seget/artigos06/916_Copia%20de%20Placas.pdf> Acesso em: 22/05/2011.

Rev. Cientfica Eletrnica UNISEB, Ribeiro Preto, v.1, n.1, p.133-152, jan./jun.2013

Você também pode gostar