RECONHECIMENTO DE PLACAS DE VEÍCULOS UTILIZANDO PROCESSAMENTO DE ... - UFF

RECONHECIMENTO DE PLACAS DE VE?CULOS POR IMAGEM

Aura Conci PGMEC/UFF - Passo da P?tria 156 Niter?i, RJ - 24210 -240 aconci@ic.uff.br

Leonardo Hiss Monteiro PGCC/UFF - Passo da P?tria 156 Niter?i, RJ - 24210 -240 aconci@ic.uff.br

RESUMO: Atualmente o desenvolvimento tecnol?gico aliado ao relativo baixo custo das filmadoras e m?quinas fotogr?ficas digitais tornam vi?veis utiliza??es de reconhecimento por imagens aplicadas ? problemas do cotidiano como o reconhecimento de placas de ve?culos. Os dispositivos eletr?nicos para aplicar multas nos ve?culos utilizados nos departamentos de transito da maioria dos estados do pa?s, n?o disp?em de nenhum sistema de reconhecimento autom?tico. Tamb?m os sistemas de controle eletr?nico de estacionamento, onde o comprovante ? emitido automaticamente, mas sem nenhuma identifica??o da placa do carro, s?o exemplos de aplica??es imediatas do trabalho que aqui ? apresentado, que mostra como ? poss?vel obter resultados corretos na identifica??o autom?tica das placas de ve?culos, depois de sua imagem ser capturada e processada adequadamente por t?cnicas de processamento de imagens e reconhecimento ?tico de caracteres.

Palavras chave: Processamento de imagens; Reconhecimento de padr?es; Reconhecimento ?tico de caracteres (OCR)

1. INTRODU??O

Cada vez mais, observa-se a utiliza??o de computadores como auxiliar do homem na execu??o de tarefas que antes eram executadas visualmente. Na ?ltima d?cada observamos um crescimento do uso de computadores em tarefas que antes pareciam ser imposs?veis tais como o reconhecimento do conte?do de imagens e cores. O desenvolvimento dessas ?reas s? foi poss?vel devido ao fato de que s? no ?ltimos anos conseguimos obter m?quinas com capacidade suficiente para executar essas tarefas ligadas ao reconhecimento de padr?es visuais complexos.

Atualmente existem sistemas de s?o capazes de ajudar em reconhecimento de dados meteorol?gicos e econ?micos a partir de fotos de sat?lite; no auxilio ao diagn?stico m?dico por imagens como nas tomografias computadorizados e no reconhecimento de elementos importantes em radiografias; na contagem de c?lulas em exames biol?gicos e de objetos em diversas aplica??es industriai; na identifica??o de defeitos e no controle de qualidade e metrologia de industrias automatizadas, no reconhecimento de faces, express?es na e leitura labial e muitas outras aplica??es. Todas estas aplica??es visuais s?o fundamentadas no desenvolvimento de t?cnicas que possibilitam usar os computadores trabalhando com imagens. Estas imagens depois de capturadas devem ser processadas e reconhecidas, possibilitando a execu??o de tarefas muitas vezes extremamente trabalhosas e repetitivas, ou que sem a vis?o de m?quina seria imposs?vel existir como as provenientes de sonares, radares, ultra-som, ultravioleta, infravermelho, t?rmicas, raios x, etc.

2. T?CNICAS UTILIZADAS NO RECONHECIMENTO

No desenvolvimento utilizou-se v?rias t?cnicas para realizar o reconhecimento. Essas t?cnicas v?o desde t?cnicas para o reconhecimento da posi??o da placa a se identificada at? m?tricas desenvolvidas para estabelecer de qual padr?o est? mas pr?ximo cada caracter da imagem que est? sendo analisada. Este sistema poderia tamb?m ser utilizado para o reconhecimento de elementos alfanum?ricos em qualquer outro tipo de imagens. O que seria ?til, por exemplo, no reconhecimento de embalagens ou da numera??o de containers. Neste ?ltimo caso, poderia ser ?til em estacionamentos portu?rios ou em p?tios de carga e descarga onde se conseguiria um controle praticamente sem falhas e a possibilidade de associar o sistema a um banco de dados. Na forma atual o sistema ? empreg?veis nos DETRAN para aplica??o de multas eletr?nicas sem que seja necess?rio manter uma equipe realizando a mesma fun??o. Uma qualidade superior se

Diversos m?todos de computa??o visual s?o empregados, combinando aspectos de computa??o gr?fica, processamento de imagem e intelig?ncia artificial. A implementa??o do sistema compreende a implementa??o de diversas etapas. Na primeira etapa a imagem ? adquirida. Na segunda, a imagem ? pr?-processada, visando identificar a regi?o de poss?vel placa nas imagens. Na terceira, s? a regi?o da placa (como mostrada na Fig. 1) ? processada visando obter caracter?sticas de cada caracter que extra?das possibilitem sua an?lise. Finalmente os caracteres s?o classificadas para posterior identifica??o da placa. A seguir apresentaremos as t?cnicas que foram utilizadas no processamento das duas ?ltimas etapas do processa, detalhes sobre as etapas iniciais do processamento destas imagens, est?o dispon?veis em outros trabalhos.

2.1 Binariza??o

Para fazer a separa??o do fundo da regi?o da placa dos elemtos que desejamos analisar utilizamos a binariza??o ou limiariza??o (thresholding). A binariza??o ? o m?todo mais simples de segmenta??o de imagens. Resumidamente consiste em separar um imagem, originalmente em tons de cinza para que tenha s? pixels pretos e brancos. Essa decis?o da nova cor que ter? o pixel ? realizada de acordo com o ponto de corte (threshold). Qualquer pixel com intensidade menor ou igual ao ponto de corte passa a ser preto. Se o pixel tiver intensidade maior que o ponto de corte passa a ter a cor branca. Como sabemos uma imagem digital pode ser escrita como uma fun??o f(x,y), a resposta da binariza??o ? a fun??o g(x,y), dada por:

g(x,

y)

=

R1 R2

se se

f f

( x, ( x,

y,) T y) > T

onde R1 e R2 s?o os valores estipulados para os n?veis de cinza da imagem binaria , no caso utiliza-se 0 (preto) e 255 (branco).Alguns autores se referem ao m?todo de binariza??o como um m?todo para retirar o fundo (background) da imagem. Por exemplo na primeira imagem da Fig.1 observemos uma imagem os objetos de interesse em preto. O ponto de corte nesse caso deve ser escolhido com o cuidado para que n?o capture elementos que n?o fa?am parte dos objetos. O valor escolhido automaticamente para essa imagem ? 101, como mostrado.

A escolha do ponto de corte T ? fundamental. Uma ferramenta auxiliar na escolha deste ponto de corte ? o histograma da imagem. A observa??o desse gr?fico permite a localiza??o do melhor valor de T para a imagem. Esta localiza??o ? t?o mais f?cil quanto mais bimodal for o histograma. Quando a imagem, por exemplo, for composta objetos e fundo de cores distintas mas uniformes, podemos estabelecer atrav?s de t?cnicas que ajudam a definir o ponto de corte atrav?s de um isolamento das regi?es que representem o fundo e os objetos. Para imagem compostas por mais de um objeto de tons diferentes sob um fundo constante, pode-se utilizar t?cnica de binariza??o multi-n?vel (multilevel thresholding).

No caso real de placas a ilumina??o n?o uniforme, impossibilita ter tons de fundo e objetos constantes, e n?o ? poss?vel estabelecer as regi?es de tons precisas de cada objeto no histograma, de modo que se torna mais dif?cil encontrar o ponto de corte ideal. Como o trabalho precisava de m?todos autom?ticos para a escolha e ajuste do ponto de corte, depois de diversos testes usando histogramas da imagem reais como refer?ncia comparados com conhecimentos pr?vios sobre par?metros da imagem e pontos de corte ideais tamb?m conhecidos utilizamos o m?todo de Otsu para identifica??o autom?tica do ponto de corte (Hiss Monteiro,2002).

Figura 1. Exemplo de uma imagem inicial a ser analisada nesta etapa, seu histograma (bimodal) ? direita com a linha vertical mostrando o ponto de corte usado para a separa??o entre o fundo e

os objetos. Na imagem inferior a direita observa-se o resultado: a imagem bitonal.

Esse m?todo ? baseado na parti??o do histograma da imagem com L n?veis de cinza em duas classes C0 e C1., ou duas regi?es que definam um limiar ?timo. Esta otimiza??o ? definida pela maximiza??o da fun??o crit?rio, descrita pela raz?o entre a vari?ncia entre as classes que o limiar definir no histograma da imagem usando o ponto de corte a ser definito e o histograma total da imagem:

=

2 b

2 t

onde a vari?ncia entre classes, ser? expressa por 2b = wo(?0-?t)2 + w1(?1-?t)2 , sendo ?0 a m?dia, ou valor esperado para a classe C0, descrita pelo histograma com tons de cinza variando

de 1 a t, e ?1 ? a m?dia, ou valor esperado para a classe C1, com tons variando de t+1 a M-1, ?t ?

a m?dia do histograma total. Fazendo-se ni = h(i), aonde h(i) ? a freq??ncia do tom de cinza i no histograma e considerando N ou total de pixels da imagem. A fra??o pi = (ni / N) representa o percentual de cada tom de cinza no total da imagem. Assim w0 ser? o somat?rio de pi na classe

C0, ou seja, variando-se i de 1 ate t, e w1 o somat?rio de pi na classe C1, ou seja, variando-se i t+1 at? M-1. Finalmente o denominador da express?o anterior indica a vari?ncia do histograma

total da imagem a ser binarizada. O resultado obtido pelo m?todo pode ser observado na imagem

esquerda inferior da Fig.1.

2.2 Eros?o

Eros?o foi a t?cnica utilizada para resolver um problema que apareceu freq?ente nesta aplica??es real. Imagine que durante a captura da placa os caracteres que desejamos reconhecer pare?am estar contato um com o outro de forma que pare?am um ?nico objeto, ou ligados a ru?dos que modifiquem suas formas (como os mostrado pelas pequenas elipses marcadas na imagem superior esquerda da Fig. 2). Nesse caso ter?amos s?rios problemas para reconhec?-los.

Ficou evidente ent?o a necessidade de desenvolver algum pr?-processamento que seja capaz de separar objetos que possivelmente venham estar em contato entre si, devido ao uma maior sombreamento, ou pelo movimento do carro. A solu??o adotada para esse tipo de problema foi a utiliza??o de um recurso conhecido como eros?o. Esse recurso faz com que uma imagem original sofra diminui??o de tamanho sem que perca suas caracter?sticas geom?tricas que s?o de suma import?ncia para o reconhecimento da mesma.

Para o processo de eros?o primeiramente escolhemos o elemento estruturante que vai ser utilizado para realizar a "eros?o da imagem". A escolha do elemento que vai fazer a opera??o ? muito importante pois esse elemento ? que vai determinar o quanto a imagem vai reduzir de tamanho cada vez que ? submetida ao processo. Outro fato relevante ? a perda das caracter?sticas geom?tricas da imagem que pode ser causada por uma m? escolha do elemento. No programa foi adotado um elemento simples mas que depois de todos os testes se mostro capaz de garantir que a imagem original n?o perdesse suas caracter?sticas. A Figura 2 apresenta uma placa antes e depois do processo de eros?o e o elemento que foi utilizado na opera??o.

Figura 2. Uma placa antes (imagem superior esquerda) e depois (imagem inferior direta) de submetida ao processo de eros?o, e elemento (? direita) utilizado para fazer a eros?o.

Depois da escolha do elemento a ser utilizado devemos analisar a vizinhan?a de cada um dos pixels da imagem atrav?s do elemento. Fazemos essa an?lise da seguinte forma: Colocamos o pixel a ser analisado na coordenada (i,j) e a partir da? analisamos os outros pixels do elemento. Se todos eles estiverem acesos ( com o valor 1 ) o pixel que esta sendo analisado continua aceso. Caso contr?rio o pixel ? apagado ( tem seu valor modificado para 0).

Observando a Fig. 2 notamos que os objetos foram realmente separados dos ruidos, mas sofreram uma apreci?vel mudan?a de tamanho, o que poderia acarretar num problema para a identifica??o do objeto. Na verdade isso n?o acontece se utilizarmos o n?mero de eros?es suficiente apenas para identificar um determinado n?mero de elementos posicionados entre limites superiores e inferiores que alinhamos objetos (Fig. 3 ). Utiliza-se desta maneira a caracter?stica fundamental das placas brasileiras que ? ter sempre 3 letras e 4 n?meros, isso ? 7 elementos.

Um outra caracter?stica importante observada durante a eros?o das imagens foi o fato desse processamento "limpar" ru?dos pr?vios na imagem para que n?o haja problemas com o reconhecimento das mesmas. Pequenos objetos que contenham at? 5 pixeis s?o simplesmente apagados pelo processo de eros?o. Esse recurso ? importante para um bom funcionamento das etapas posteriores.

2.3 Segmenta??o dos Caracteres A segmenta??o da imagem consiste num processo cujo objetivo ? separar em imagens

distintas cada caracter. Essa etapa permitir? a identifica??o em separado de cada letra ou n?mero que comp?em a placa. A identifica??o de pixels conectados faz parte de um pr?-processamento

para a segmenta??o das imagens. Para isso foi desenvolvido um algoritmo que basicamente verifica a vizinhan?a de cada pixel e a partir da? vai identificando quem faz parte, ou n?o , do mesmo objeto, isso ? est? com a mesma cor que ele.

O algoritmo analisa a partir de um pixel de coordenadas (i,j) sua vizinhan?a que s?o os p?xels de coordenadas (i-1,j-1) , (i-1,j) , (i-1,j+1) , (i,j-1) , (i,j+1) , (i+1,j-1) , (i+1,j) , (i+1,j+1) . Desta forma o algoritmo vai verificando cada um dos pixels. Sabemos que a imagem ap?s a binariza??o possui apenas pixels pretos e brancos, representando os objetos e o fundo. Os pixels brancos s?o representados pelo valor 1 e os pixels pretos s?o representados pelo valor 0 . O algoritmo de contagem , primeiramente faz uma varredura, na imagem , a procura de um pixel que represente a imagem , ou seja tenha o valor 0. Achado esse primeiro pixel o algoritmo troca o valor dele para 2 e faz uma verifica??o da vizinhan?a conforme foi descrito anteriormente. Se durante essa verifica??o for encontrado algum outro pixel acesso esse pixel ter? seu valor trocado para 3 e os que forem sendo encontrados ter?o o valor 4 , 5 , 6 e assim por diante. Quando terminar a verifica??o da vizinhan?a o algoritmo procura o pixel com o valor 3 e faz a verifica??o de sua vizinhan?a atribuindo aos pixels que forem encontrados valores subsequentes e assim o processo continua at? que o algoritmo n?o encontre nenhum outro pixel subsequente para verificar a vizinhan?a , reconhecendo assim o fim de um objeto e iniciando uma varredura na busca de um pixel acesso e reiniciando todo o processo. Desta forma conseguimos com que seja contabilizado o numero de objetos conectados, ao mesmo tempo que se separa cada objeto.

Figura 3. Coordenadas limites horizontais das imagens (? esquerda) e o resultado da segmenta??o com cada objeto representado por uma cor diferente (? direita).

O processo de segmenta??o que foi desenvolvido utiliza a forma final com que o processamento de contagem disponibiliza a imagem para realizar a segmenta??o. Para otimizar o processo de segmenta??o um ?nico algoritmo que faz a contagem e a segmenta??o das imagens . Esse processo foi nomeado como processo de contagem de elementos modificado. O algoritmo funciona da seguinte forma: Utilizamos o algoritmo original de contagem sendo que quando for terminada a identifica??o de um objeto para ser contabilizado, seja armazenado em alguma matriz o valor que foi atribu?do ao ?ltimo pixel desse objeto. Dessa forma conseguimos uma matriz que contenham todos os valores dos ?ltimos pixels referente a cada objeto. Ent?o separamos as imagens atrav?s desses valores da seguinte forma. Finalmente conseguimos que os objetos sejam devidamente segmentados e separados e imagens distintas. Dessa forma conseguimos obter imagens em condi??es de serem submetidas a etapa de reconhecimento de caracteres. Cada subimagem colorida mostrada na Fig. 3 vai ser submetida a ?ltima etapa do processamento, sendo composta apenas pelo objeto e pelo fundo.

2.4 Momentos Invariantes

Como o sistema desenvolvido para o reconhecimento objetiva 100% de acerto, foram usados duas formas de extra??o de caracter?sticas geom?tricas de cada um dos caracteres. A primeira forma utiliza diretamente o objeto separado na forma como se apresenta em cada subimagem da Fig. 3. A segunda forma considera apenas as caracter?sticas essenciais dos

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download