Você está na página 1de 10

IEEE LATIN AMERICA TRANSACTIONS, VOL. 7, NO.

5, SEPTEMBER 2009 497

A Complete System for Vehicle Plate Localization,


Segmentation and Recognition in Real Life Scene
A.Conci, J. E. R. de Carvalho, T. W. Rauber

1
Abstract— There are many applications of plate identification dentro da região identificada pelo módulo anterior, cada um de
in pattern recognition and machine vision. These applications seus caracteres. No terceiro módulo, os caracteres são
range from complex security systems to commons areas and from reconhecidos e os detalhes do veiculo podem ser acessados em
parking admission to urban traffic control. Car license plate um banco de dados. O primeiro destes módulos é o estágio
recognition (CLPR) has complex characteristics due to diverse
effects as fog, rain, shadows, irregular illumination conditions,
crucial do sistema, já que a sua incorreta detecção inviabiliza
partial occlusion, variable distances, cars’ velocity, scene's angle todo o processamento posterior de reconhecimento de
on frame, plate rotation and conservation, number of vehicles in caracteres e identificação do automóvel em banco de dados.
the scene and other. These factors make plate recognition much Este trabalho usa metodologias baseadas na morfologia
more complex and difficult than the traditional pattern or optical matemática para a localização das placas em cenas reais
character recognition (OCR) systems. The main objective of this complexas sob quaisquer condições e sem restrições do
work is to show a system that solves the practical problem of car posicionamento relativo do carro ou da iluminação durante a
identification for real scenes. All steps of the process, from image aquisição das imagens. Apresentam-se detalhes de todos os
scene acquisition to optical character recognition are considered módulos necessários ao reconhecimento automático de placas,
to achieve an automatic identification of plates. It can be used
with all type of country rules or plates design and adapted to
porém aspectos relacionados à consulta em banco de dados
each situation. The system is computationally very efficient and it não são tratados, pois objetiva-se concentrar o assunto na área
is suitable for others related image recognition applications. de análise de imagens.
Este artigo é organizado em mais cinco seções além desta
Keywords— Image Segmentation, Optical Character introdução. A próxima seção apresenta uma visão geral de
Recognition, Car License Plate Recognition, Pattern Recognition. trabalhos anteriores que descrevem as técnicas utilizadas no
seu desenvolvimento (os sistemas comerciais geralmente não
I. INTRODUÇÃO apresentam detalhes de suas implementações, o que

A identificação de placas pode parecer uma aplicação


simples, pois o objeto do reconhecimento é
constituído de caracteres impressos com formas bem definidas
impossibilita considerar muitos deles neste sentido). As
demais seções apresentam os detalhes de cada um dos
aspectos utilizados no sistema aqui apresentado, da etapa
inicial de localização da placa na cena capturada (seção III), à
e pouco variáveis em cada país. Pode-se pensar que um
segmentação (seção IV) e reconhecimento da placa (seção V).
sistema de reconhecimento ótico de caracteres (optical
A última seção apresenta comentários relativos aos resultados
character recognition - OCR) convencional resolveria
obtidos (seção VI) e possibilidades de melhoria no sistema
facilmente o problema, porém na realidade ocorre o contrário.
reportado.
O reconhecimento de placas de veículos apresenta
dificuldades próprias devido a diversos fatores como: neblina,
chuva, poeira, fumaça, a obstrução parcial da placa, II. TRABALHOS ANTERIORES
diversidade de distâncias, velocidade de deslocamento do Existem diversos trabalhos relacionados ao assunto. A
veículo, ângulo de tomada da imagem, variedade do metodologia utilizada em [2] é baseada na variação tonal
equipamento de captura, variação na luminosidade natural ou por granulometria. São comentadas as etapas de pré-
falta da mesma, sombras, reflexos, diferenças do padrão, processamento e segmentação de caracteres visando
estado de conservação da placa e outros. Estes fatores tornam localizar a placa de um veículo qualquer através da
o problema muito mais complexo e difícil de ser tratado que
utilização de técnicas reconstrução morfológica [3]. O
um OCR tradicional [1].
O sistema de reconhecimento de placas que se apresenta método combina um algoritmo de granulometria rápida e
neste trabalho é composto de três módulos: a localização da uma abordagem morfológica de resíduos, primeiro
placa, a segmentação de seus elementos e o reconhecimento localizando os caracteres e em seguida, a partir destes, a
dos caracteres. O primeiro módulo busca encontrar na cena a região da placa. O sistema apresenta um tempo de
região que representa a placa. O segundo módulo segmenta, processamento de 28 segundos para imagens de
(640x480 pixels) em um processador Pentium II 350
MHz com 128 MB de RAM [2].
1
Este trabalho foi apoiado em parte pelo CNPq, 302436/2004-9. Métodos mais simples usando limiares adaptativos de
Aura Conci, trabalha no Instituto de Computação da Universidade Federal
Fluminense, Niterói, RJ. Brasil, aconci@ic.uff.br. toda a imagem seguido da localização dos caracteres
J. E. R. de Carvalho, trabalha no Instituto de Computação da Universidade também foram pesquisados [4], mas devem ser usados
Federal Fluminense, Niterói, RJ. Brasil, em ambientes pouco complexos, não se mostrando muito
T. W. Rauber é professor do Dep. de Informática, Universidade Federal do
Espírito Santo, Vitória, ES. Brasil, thomas@inf.ufes.br. robustos em aplicações reais. Projeções das bordas das
498 IEEE LATIN AMERICA TRANSACTIONS, VOL. 7, NO. 5, SEPTEMBER 2009

placas nas duas direções, determinando picos dos neural usa topologia feedforward utilizando o algoritmo
histogramas como sendo possíveis posições das placas, backpropagation para treinamento. Foram desenvolvidas
foram usadas em [5], no entanto em cenas complexas duas redes distintas, uma para as letras e outra para os
muitas bordas não detectadas podem perturbar a números. Cada uma tendo 255x26x26 e 255x10x10
determinação das posições corretas da placa. No extremo neurônios nas camadas de entrada, escondida e de saída
oposto [6-8], métodos bastante complexos permitem respectivamente. A taxa de acerto final do sistema não é
uma taxa de acerto de 92,4%, baseado em transformadas divulgada [12].
de wavelets e extração de características complexas das Na análise automática de imagens, a cor é de grande
sub imagens HL, sendo inadequados para um uso em importância na identificação e extração de características
tempo real [6]. e objetos. Mas as cores devem ser analisadas de forma
Um sistema usando Transformada de Hough é não absoluta. Uma metodologia nova e muito
proposto em [7], onde o operador Sobel modificado é promissora, para imagens em cores, é apresentada e
usado na detecção dos contornos e linhas. Em seguida testada em [13] usando um subconjunto de 140 imagens
um threshold adaptativo em função da média de da base I (tabela 1). Essa metodologia considera a
luminosidade é usado. A partir da imagem binária é mistura das prováveis combinações de cores entre fundo
aplicada a Transformada de Hough com um conjunto e caracteres das placas de um determinado país. Supondo
limitado de ângulos para localizar as regiões verticais e uma distribuição Gaussiana unimodal bivariada no
horizontais. Qualquer cadeia formada de 4 linhas espaço RGB, a mistura é usada para definir um vetor de
conectadas é depois interpretada como um candidato à características cromáticas de dimensão seis [14]. Esse
placa. A imagem desta cadeia é segmentada obtendo-se vetor é o ponto chave na busca automática um ponto (i,j)
uma imagem com a placa e ruído residual (que é candidato a semente no procedimento de crescimento de
eliminado depois por abertura morfológica com um regiões cujo processamento resultará na identificação da
elemento estruturante horizontal linear de largura menor região retangular da placa. No banco de dados testados é
do que a largura mínima da placa). reportada uma taxa de acerto de 78,57% [13, 14].
Em [8] foram usadas informações de cor e redes Em [15] o método de [7] é melhorado com a
neurais para encontrar as placas, embora esse sistema utilização de Voted Block Matching, para isso utilizam-
apresente problemas devido à instabilidade da cor se imagens seqüenciais de uma câmera de vídeo com
quando as condições de iluminação mudam, muita de 100 quadros em cada caso de estudo e com taxa de
suas idéias foram usadas neste trabalho no módulo 3 [9]. quadros 1/30 segundos. É considerado que a placa tem
Uma detecção da placa robusta a ruídos, distorções de um alto contraste relativo, podendo ser visualizada em
iluminação e ângulo de captura é apresentada em [10], uma imagem gradiente devido a grande variação na
num método que extrai características baseadas nas região dos números. Assim o tamanho da área onde a
matrizes de covariância e uma rede neural multicamadas, média local do gradiente é calculada, pode ser
mas a taxa de acerto e o tempo de execução do sistema considerado como correspondente à placa. Após a
não são comentados. segmentação, é realizada a binarização. Então filtros
Um sistema completo é o denominado SIAV: Sistema morfológicos para redução do ruído, como faixas
de Identificação Automática de Veículos [12]. Nele o horizontais e verticais, são aplicados, localizando as
algoritmo de localização da placa ocorre em dois regiões que podem ser segmentadas. Em seguida usam-
procedimentos. No primeiro obtém-se a localização da se alguns critérios geométricos como a área, a razão
placa (coordenadas da posição provável) pela procura do entre o comprimento, a altura da placa e a densidade
padrão de variação tonal através da análise do gradiente entre outros.
na área; depois é feita uma binarização local na região Em [16] é proposto um algoritmo de detecção de
encontrada ou, se necessário, na imagem inteira. No bordas verticais para agrupar todas as posições possíveis
segundo procedimento há a confirmação da localização das placas, usando a hipótese das bordas verticais entre a
pela análise do número de dígitos encontrados, sendo placa e o fundo da imagem ser contrastante. Entretanto,
buscados dígitos de tamanhos predefinidos e analisados quando as cores das placas forem similares aos fundos
os dígitos selecionados verificando a formação de algum (pintura dos carros), essa suposição não é válida. O
grupo válido. Após essa etapa se obtém a confirmação principal problema nesta abordagem é o mesmo de [8]:
do local correto e segmentam-se os caracteres. Foi as características usadas dependem das diferenças de
utilizada uma técnica de crescimento controlado, dentro intensidade entre a placa e as cores dos carros, que não
de cada entidade encontrada, além de um conjunto de são estáveis, devido à condição de iluminação,
heurísticas para descartar ruídos indesejáveis e orientação da câmera, ou mudanças na cor do carro.
selecionar corretamente os caracteres. Depois de A principal vantagem do sistema aqui apresentado é
separados do resto da imagem os caracteres são que ele possibilita um reconhecimento da placa em
redimensionados para uso em uma rede neural. A rede tempo real com uma taxa de acertos bastante alta
CONCI et al.: A COMPLETE SYSTEM FOR VEHICLE 499

utilizando apenas combinações de técnicas simples de IV. BANCOS DE DADOS USADOS


análise de imagens. Essas além de serem muito pouco
custosas computacionalmente abrem espaço para uma A utilização de uma base de dados pública e acessível
grande gama de melhorias posteriores quando vierem a por outros autores, é um fator importante para qualquer
ser implementadas em paralelos com técnicas mais pesquisa aplicada. Os testes deste trabalho foram
sofisticas baseadas em inteligência artificial e realizados em quatro bases de dados contendo conjuntos
reconhecimento de padrões, como redes neurais e lógica específicos de imagens: carros estacionados próximos,
nebulosa. carros estacionados mais afastados, carros parados em
frente a cancelas de cobrança e caminhões. O primeiro
III. LOCALIZAÇÃO DA PLACA NA CENA conjunto de imagens, Base I, possui 180 imagens em
A metodologia apresentada neste trabalho utiliza tons de cinzas de veículos particulares estacionados
operações de morfologia matemática para localização da afastados, adquiridas utilizando-se uma máquina
placa [3], considerando o contraste entre o fundo da fotográfica digital, com ajustes de brilho e contraste na
placa e as letras e a relação entre as dimensões e a forma padrão da câmera (marca Olympus, modelo D-
distância entre os caracteres de maneira a encontrar um 360L). Este conjunto de imagens foi cedido testes pelos
conjunto de pixels com determinada característica autores [2]. Um outro conjunto denominado Base II é
(Fig.1). Este conjunto de características é invariante a formado de 100 imagens tiradas em situação em que o
diversas transformações geométricas como a posição do carro está parado em frente a um obstáculo (uma cancela
carro, translação da câmera, rotações e escala. Mesmo para identificação) [1]. A base III tem 32 imagens que
através das mudanças de iluminação, pode ainda ser foram adquiridas com iluminação diversificada
mantido o contraste relativo entre os caracteres e o conforme características definidas na tabela 1 [9]. A base
fundo, como também suas dimensões relativas. A IV foi adquirida em um centro de distribuição de
plataforma de desenvolvimento empregada foi o combustíveis para caminhões tanques [3]. A aquisição
MATLAB. Implementou-se em paralelo dois aplicativos da base IV foi em RGB, mas neste trabalho foram
um em linguagem C++ e outro na linguagem Python convertidas em imagens com 256 tons de cinza. As
com a toolbox pymorph [11], com a finalidade de imagens são adquiridas pela câmera digital em formato
disponibilizar a implementação em ambiente Gnu-Linux JPEG com compressão mínima (qualidade máxima). Na
e também portável ao Microsoft Windows sem Fig.1 apresentamos um exemplo de imagem que faz
alterações no código. parte da base de dados IV, que corresponde ao padrão
brasileiro de veículos de aluguel ou comercial.

TABELA I
Características das Bases de Dados Usadas
Numero Base I Base II Base III Base IV
imagens
Total 180 100 32 12
Frontal 58 100 18 12
Traseira 122 0 14 0
Angulo > 30º 10 0 0 4
Com iluminação 37 4 7 0
Heterogênea
Com iluminação 143 96 25 12
Homogênea
Figura 1 – Amostra de uma cena do banco de dados IV Imagens claras 72 93 22 0
Imagens escuras 71 3 3 0
O objetivo destas diversas implementações foi de Distância da 2,0 a 3,5m 1,0 a 2,0m 1,5 a 2,5m 2,0 a 3,5m
reescrever o código de maneira mais simples e verificar Câmera

em qual plataforma o sistema se mostraria mais


adequado a aplicações em tempo real (ou seja em qual As imagens utilizadas têm resolução de 320x240 e
forma seria implementado mais rápido). Se aplicações possuem as características descritas na tabela 1. As fotos
em tempo reais forem o objetivo principal C++ deve ser foram tiradas sob várias situações de iluminação (chuva,
escolhido. Para teste de opções de código a linguagem sol e tempo nublado). Desta forma, temos nas bases
Python apresenta mais facilidades ao programador. Os diferentes situações de iluminação incidente na placa do
tempos reportados neste trabalho se referem a esta veículo. Estas situações são: placa totalmente iluminada,
última implementação. parcialmente sombreada e totalmente sombreada sendo
classificadas como heterogênea e homogênea. A
500 IEEE LATIN AMERICA TRANSACTIONS, VOL. 7, NO. 5, SEPTEMBER 2009

distribuição homogênea é ainda classificada em imagens binarização da imagem pelo método de Otsu, resultando
claras e imagens escuras. Todo o processo de em imagens como a da Fig.3. Depois, realiza-se o
classificação das imagens foi feito visualmente por fechamento com um elemento estruturante horizontal
humanos. linear, com a largura igual à maior separação entre os
caracteres possíveis. Isto converte o conjunto dos
V. ETAPAS DA LOCALIZAÇÃO DA PLACA caracteres em uma região branca continua (Fig.4). Para
eliminar os diversos pixels acesos que não satisfazem as
Os passos de processamento utilizados na localização características da placa, definem-se parâmetros que
são. (1) Conversão das imagens coloridas para níveis de representam a altura mínima e máxima e a largura
cinza; (2) Operação de Top-hat por fechamento [3] ; (3) mínima e máxima dos caracteres. Faz-se uma abertura
Binarização da imagem pelo Método de Otsu [9]; (4) com um elemento estruturante vertical linear eliminando
Localização da Placa; (5) Filtragem de componentes e os objetos de altura inferior à altura mínima dos
verificação da existência do número de algoritmos caracteres. Depois se faz outra abertura para eliminar os
previstos para as placas brasileiras (3 letras e 4 objetos de altura inferior a altura máxima dos caracteres.
números). Na conversão das imagens RGB para níveis Desta forma fica-se apenas o inicio da localização da
de cinza usou-se para o tom de um determinado pixel a placa (Fig.5). Então esta posição é localizada na imagem
média das três componentes de cor do mesmo. Assim original. Aplica-se uma dilatação para assegurar que se
sendo R, G e B as componentes de cor do pixel seu tom obtém a placa inteira. Obtendo uma imagem que conterá
será: C = 1/3 (R+G+B). apenas a placa e um pouco de ruído residual. O ruído
No desenvolvimento consideram-se os caracteres residual pode ser melhorado fazendo uma abertura com
como objetos contrastantes com o fundo e de pequena um elemento estruturante horizontal linear de largura
espessura. Para essa abordagem, as transformações menor que a largura mínima da placa. O resultado deste
morfológicas conhecidas como Top-hat ou Bottom-hat passo é uma imagem como a da Fig.6.
são usadas, tendo como função ressaltar as variações na
imagem, facilitando assim a identificação das letras da
placa do veículo. O Top-hat usado foi por fechamento
com um elemento estruturante (E.E.) circular de
diâmetro em torno da espessura esperada para os
caracteres. Em seguida subtrai-se a imagem resultante da
original destacando os caracteres. Como no Brasil,
dependendo da utilização do veículo, podem-se ter os
caracteres mais claros que o fundo da placa, neste caso
aplica-se Top-hat por abertura ou Bottom-hat (como
também é conhecido). Como mostrado na Fig. 2
aparecem depois deste processo mais pontos que apenas
os na região dos caracteres das placas, tendo-se que Figura 3 – Mesma cena da figura 2 após binarização:
eliminar áreas falsas em um próximo passo.

Figura 4. Mesma cena da figura 3 após Fechamento

Figura 2. Mesma cena da figura 1 após processamento pela operação Bottom -


Hat

A redução da complexidade da imagem se faz


necessária para a eliminação dos pequenos ruídos ainda
existentes. Para redução da complexidade é feita a
CONCI et al.: A COMPLETE SYSTEM FOR VEHICLE 501

Localização incorreta caracteriza o caso no qual


nenhuma região da placa foi identificada. As placas com
localização parciais podem ser identificadas
corretamente quando outras características como a
segmentação e avaliação da existência dos sete
caracteres são incluídas o que aumenta a taxa final de
placas localizadas corretamente.
TABELA II
Resultado da Localização das Placas.
Base Correta Parcial Incorreta
I 63,88 % 15,0 % 21,11 %
II 78,0 % 5,0 % 17,0 %
III 84,38 % 6,25 % 9,38 %
Figura 5. Mesma cena da figura 4 após Abertura Máxima seguida de
IV 66,67 % 25,0 % 8,3 %
Eliminação Largura Mínima, e Abertura: localização da placa.

Figura 7. Etapas do processo de localização da placa

Figura 6. Imagem de Placa segmentada após dilatação e posicionamento sobre


a imagem original da figura 1 convertida para tons de cinza.

VI. RESULTADOS DE LOCALIZAÇÃO


As etapas do processo são sumarizadas no diagrama
da Fig.7. Resultados obtidos nas bases de dados
(a) (b)
utilizadas estão apresentados na Tabela 2. O tempo de
processamento para cada imagem foi menor que 1
segundo, considerando da leitura da imagem até a
entrega da imagem com a região da placa recortada,
utilizando a implementação mais lenta em um
computador equipado com processador Atlhon XP
2000+ e 512 MB de memória RAM. A programação das (c) (d)
rotinas que compõem o método proposto, por
apresentarem tempo satisfatório, não foram otimizadas,
mas podem ser aperfeiçoadas para melhorar o
desempenho do processo de localização de placas em
versões futuras.
Em [3] mostra-se detalhadamente os resultados (e) (f)
obtidos na etapa de localização das placas. Uma Figura 8. Exemplos de resultados obtidos pelo sistema: (ao alto) Imagem com
detecção correta; (ao centro) exemplos de detecção parcial; (em baixo)
localização como as das figuras 6 e 8 (a,b,e,f) são detecção correta apesar de cenas complexas como placa muito inclinada e
consideradas corretas; nelas a região da placa foi diversos objetos em cena.
identificada completamente. Uma localização parcial VII. ANÁLISE DE RESULTADOS
ocorre quando a região identificada corresponde à área
O maior número de localização incorreta ocorreu na
da placa e uma região do veículo, ou a placa e outra
Base I, devido a uma grande variedade de situações em
região (como nas Fig.8c e Fig.8d) de modo a precisar ser
que as imagens foram obtidas, algumas até mesmo não
usado algum critério adicional para identificação.
consistentes com as condições comuns de obtenção de
502 IEEE LATIN AMERICA TRANSACTIONS, VOL. 7, NO. 5, SEPTEMBER 2009

imagens de veículos (casos especiais evidenciam a


versatilidade do método proposto). Nos casos em que a
placa do veículo não está corretamente fixada (como na (a)
Fig.8c) ou posicionada (não centralizada como na Fig.1 (b)
e Fig.8a), os resultados da localização da placa podem
sofrer alguma interferência, aumentando a dificuldade de
acordo com o ângulo de inclinação, e também com o
número de carros na cena (Fig. 8f). Em alguns casos em
que aparecem dois ou mais veículos na imagem, o (c) (d)
método não apresenta um bom desempenho, pois
depende da distância da câmera até os veículos. Nos Fig. 9. a) Imagem inicial utilizada para a etapa de segmentação: composta pela
região da placa apenas; b) imagem binarizada; c) Identificação de 7 elementos
casos que os veículos possuam adesivos colados ou desconectados; d) imagens esqueletizadas com extremidades identificadas
pinturas, o processo não apresenta falhas desde que o (quadrados), áreas de possíveis furos (círculos) e furos verdadeiros (áreas
verdes) marcados.
padrão destes tenha alguma diferença do padrão das
letras da placa do veículo, como pode ser visto na Fig.1. X. MOMENTOS INVARIANTES EXTRAÍDOS DE CADA
O processo também mostra boa independência do CARACTERE.
paralelismo entra a câmera e o plano de captura. Na Esta forma de reconhecimento supõe que cada letra
Fig.1 e Fig.8b é mostrado um exemplo desta situação em ou número a ser analisado, é representado por um
que a placa é corretamente identificada apensar do arranjo retangular de M x N pontos, onde o fundo tem
angulo entre a placa e a câmera ser considerável. valor 0 e o caracter 1. Denomina-se B(i,j) o valor destes
VIII. SEGMENTAÇÃO DOS CARACTERES pontos e ( i, j ) suas coordenadas. Nesta notação o
Logo após a localização da placa e sua extração da cena momento geométrico do conjunto B, de ordem (p, q),
original (figura 9a) utiliza-se o método de limiarização multi- pode ser definido como:
nível de Otsu [9] para a sua transformação para preto e branco
(figura 9b). Os limites inferiores e superiores são usados para mp q =∑ k=1 n B( ik ,jk)( ik )p(jk )q p,q=0 1,2 ... (1)
definir duas linhas paralelas limitantes dos caracteres. Estas Segundo a teoria dos momentos, existe apenas um
linhas são usadas para girar o conjunto até transformar essas objeto B que pode produzir o mesmo valor para os
retas em paralelas horizontais. Erosões sucessivas por
momentos de todas as ordens, ou em outras palavras se
elemento estruturante 3x3 em cruz, são usadas até se encontrar
sete elementos desconectados de tamanhos maiores que um
dois objetos têm os mesmos momentos em todas as
limiar (função da área inicial da placa localizada). A contagem ordens, estes objetos são idênticos. Considerando uma
de objetos conectados e seu tamanho fazem parte do processo translação das coordenadas (i,j) de um valor ( io , io ) de
de segmentação das imagens. Essa parte do processamento é modo que o objeto possa ser descrito em relação a um
fundamental para o reconhecimento de cada caractere. Para sistema de coordenadas que passa pelo centróide,
isso foi desenvolvido um algoritmo que basicamente verifica a definido pelas coordenadas:
vizinhança de cada pixel e a partir daí vai identificando quem
io =∑ k=1 n B (ik ,j k ) ik / ∑ k=1 n B ( ik , jk ) = m10 / m00
faz parte, ou não, do mesmo objeto. O pixel de cada objeto é
identificado por uma cor até haver sete cores na imagem jo =∑ k=1 n B (ik ,jk ) jk / ∑ k=1 n B ( ik , jk ) = m01 / m00 (2)
(Fig.9c). Para otimizar o processo de segmentação pode-se definir os momentos centrais como:
desenvolveu-se um único algoritmo que faz a contagem e a
segmentação das imagens [9]. Depois de conseguir-se que os mo p q=∑ k1 n B(ik , jk)(ik - io)p(jk - jo)q p,q = 0,1,2, ... (3)
objetos sejam devidamente segmentados e separados em
imagens distintas, pode-se submeter cada uma delas ao Os momentos centrais são invariantes a translação do
processo de extração de características para o reconhecimento. objeto em relação ao sistema de coordenadas usado. O
momento (m00 = mo00) de ordem zero representa a área de
IX. RECONHECIMENTO
B, e é um invariantes a translação e rotação. A soma dos
O processo de reconhecimento baseia-se nos momentos momentos de área de segunda ordem em relação ao
invariantes de cada caractere segmentado (figura 9c) ou em centróide, que corresponde ao momento polar de inércia
dados obtidos de seus esqueletos (figura 9d). (Ix+Iy), é independente da orientação dos eixos usados
para descrever estes momentos. Assim outro invariante a
rotação dos eixos é mo02+mo20. A excentricidade de uma
área é um valor invariante à rotação dos eixos [9], sendo
medida por:
F2 = 4 (mo11 )2 + ( mo20 - mo02 ) 2 (4)
CONCI et al.: A COMPLETE SYSTEM FOR VEHICLE 503

De uma maneira geral, a invariância em relação à m21’= m21 cos3θ - 2 m21 sen2θ cosθ - m30 senθ cos2θ + m03
rotação do objeto pode ser obtida, utilizando-se no sen2θ cosθ + 2m12 senθ cos2θ - m12 sen3θ
cálculo dos momentos eixos que coincidam com os m30’=m30cos 3θ+3 m21 cos 2θ senθ+3m12 cosθsen2θ +m03sen3θ
eixos principais do objeto passando pelo centróide, ao Os tensores de terceira ordem também apresentam
invés de um sistema de eixos (i,j) qualquer. Para este diversos invariantes, neste trabalho, além dos F1, F2 já
cálculo, deve-se determinar o ângulo, θ , que identifica a descritos são usados os invariantes:
orientação dos eixos principais, este ângulo é:
F3 = (m30 - 3m12) 2 + (3m21 - m03) 2
tan 2θ = 2 mo11 / ( mo20 - mo02 ) (5) F4 = (m30 + m12) 2 + (m21 + m03) 2
F5 = (3m21-m03)(m30+m12) [(m30+m12)2-3(m21+m03)2]-
Na determinação do ângulo em (5), devem-se usar as (m30-3m12)(m21+m03)[3(m30+m12)2-(m21+m03)2] (10)
restrições: mo20 > mo02 e mo11>0. Qualquer momento
obtido em relação a este par de eixos é invariante a Considerando uma transformação de escala, de modo
rotação. No caso de imagens digitalizadas, descritas que i”= a i’ e j”= a j’ (onde a é uma constante) a área
através de MxN pixels, a utilização de eixos diferentes mudará de m00”= a2m00’. Os momentos de ordem
dos eixos verticais e horizontais originais da câmara de superiores podem ser modificados pelas relações:
captura pode causar muitos erros de arredondamento.
Uma forma de minimizar estes erros seria um pré- (m00’)0.5( p + q)+1∑ i” p j” q =(m00”).0.5( p + q)+1∑ i’ p j’ q (11)
direcionamento da câmara, antes da captura, de modo A utilização de momentos invariantes a escala é útil
que a imagem fosse capturada paralelamente a direção na identificação de objetos quando a distância de captura
dos eixos principais do objeto. Essa técnica é impossível pode variar, como no caso deste trabalho. Um grupo de
de ser usada na aplicação deste trabalho, pois aqui as invariantes completos pode ser obtido usando as
imagens digitais serão processadas depois de sua equações (11) em (10), (8) e (4).
captura. Neste caso a busca de outros invariantes a M0 = F1 / m00 2
transformação de translação e rotação é bem mais M1 = F2 / m
adequada. Utilizando matrizes de rotação, qualquer M2 = F3 / m00 5 (12)
ponto (i’,j’), do objeto rodado de um ângulo θ , pode ser M3 = F4 / m00 5
escrito em termos do sistema original de eixos (i,j) , M4 = F5 / m00 10
como: XI. DADOS DO ESQUELETO DOS CARACTERES
Nesta fase de reconhecimento originou-se de um estudo
⎡ i ' ⎤ ⎡ cos θ senθ ⎤ ⎡i ⎤ ⎡i ⎤
⎢ j '⎥ = ⎢− senθ cos θ ⎥⎦ ⎢ j ⎥ = [R ] ⎢ j ⎥ (6) das características que seriam relevantes para definir de
⎣ ⎦ ⎣ ⎣ ⎦ ⎣ ⎦ maneira única e simples a cada um dos caracteres das placas.
Essas características também deveriam ser suficientes para
Os momentos de segunda ordem formam um tensor de distinguir os caracteres que eram confundidos pelas técnicas
segunda ordem, estes podem ser escritos como: dos momentos invariantes (figura 10). As características
selecionadas foram o número de cavidades (ou buracos –
figura 9d) e a posição e número de extremidades de cada
⎡m20´ m11´⎤ T ⎡ 20
m
⎢ m ´ m ´⎥ = R ⎢ m [ ] m11 ⎤
m02 ⎥⎦
[R] =M2 (7) caráter depois deste ser transformado pela operação
⎣ 11 02 ⎦ ⎣ 11 morfológica de esqueletização [9]. A análise de cavidades é
muito útil, pois permite associar um grupo que era
O traço de um tensor de segunda ordem M2, denotado inicialmente composto por 26 letras e 10 números a 3 grupos
tr M2, é o primeiro invariante: distintos: elementos com 2, 1 ou nenhuma cavidade. Para
realizar essa tarefa foi necessário desenvolver dois algoritmos
IM = tr M2 = F1 = mo20 + mo02 (8) sendo um responsável pela detecção das cavidades e o outro
Os outros invariantes são IIIM, o determinante do responsável pela contagem [9]. Observamos que, com essa
tensor de segunda ordem, IIIM = det M2 e o invariante análise, conseguimos facilmente reconhecer os caracteres “B”
quadrático:IIM [9]: IIM = - mo20 mo02 + mo112 e “8” como sendo os únicos a apresentarem duas cavidades.
Quanto aos caracteres que possuem uma única cavidade,
Os momentos de terceira ordem formam um tensor de
possuímos um grupo com 6 letras e 4 números, restando ao
terceira ordem. Estes, se representados em um sistema grupo de nenhuma cavidade 19 letras e 5 números. A análise
de eixos (i’,j’) girado de um ângulo θ , em relação ao das extremidades consiste em detectar os pontos extremos de
sistema original de eixos (i,j) , podem ser escritos como: um caractere. Posteriormente é feita uma classificação dessa
extremidade de acordo com a posição em relação ao centróide
m03’=m03cos3θ - 3m12 cos2θ senθ +3m21. cosθ sen2θ -m30sen3θ
da imagem. O centróide da imagem é calculado na primeira
m12’=m12cos3θ - 2m12sen2θcosθ + m03senθcos2θ + m30sen2θ
fase de processamento da imagem quando se utiliza a técnica
cosθ - 2m21sen θcos2θ +m21sen3θ dos momentos invariantes. Utiliza-se então esse valor, como
(9) base para a classificação das extremidades. As extremidades
504 IEEE LATIN AMERICA TRANSACTIONS, VOL. 7, NO. 5, SEPTEMBER 2009

podem ser classificadas nas 6 maneiras diferentes, mostradas Apenas 4,7% dos casos apresentaram erro de reconhecimento
na tabela III. Onde as siglas usadas significam: SE=superior com o uso de momentos. Os momentos de ordem inferiores
esquerda, SC=superior central; SD=superior direita; apresentaram mais falhas no reconhecimento dos caracteres do
CE=central esquerda; CC=central central; CD=central direita; que os momentos de ordem superior. Esses erros não
IE=inferior esquerda; IC=inferior central; e ID=inferior prejudicaram o reconhecimento como um todo. 100% das
direita. Estas siglas são usadas para identificar os caracteres, placas localizadas corretamente foram reconhecidas com
conforme a tabela IV. sucesso. A figura 10 mostra os erros obtidos usando cada um
TABELA III
dos momentos invariantes e os pares de caracteres que foram
Classificação das extremidades reconhecidos com erro, respectivamente. Nos números o
SE SC SD
maior problema de reconhecimento foi na distinção entre o
CE CC CD “7” (sete) e o “3” (três). Os momentos de primeira e segunda
IE IC ID ordem apresentaram grande número de erros quando ao
reconhecimento desses caracteres. Já os momentos de ordem
XII. IDENTIFICAÇÃO DOS CARACTERES
superior não apresentaram nenhum erro para o
O processo de reconhecimento é simples. Extrai-se para cada reconhecimento desses caracteres. Quanto às letras obtemos
elemento a ser identificado todos os dados que utilizam muitos erros nos caracteres “H” e “N”, bem como “D” e “O”.
momentos e forma do esqueleto. Uma árvore de decisão define Os caracteres “H” e “N” apresentaram dificuldades de
o resultado baseado no esqueleto e comparam-se os dados dos reconhecimento em todos os momentos invariantes exceto o
momentos invariantes com os do banco de dados. No último último. Já os caracteres “D” e “O” apresentaram problemas em
caso e elemento será reconhecido como o caractere que mais reconhecimento apenas nos dois primeiros momentos de mais
se aproximar de um elemento que já exista no banco de dados. baixa ordem. Apesar de alguns momentos invariantes
TABELA IV apresentarem imprecisão no reconhecimento de alguns
Identificação das extremidades de cada caractere caracteres os outros momentos invariantes eram capazes de
B - - - - 8 - - - - reconhecer com precisão o mesmo. Esse fato assegurou um
D - - - - 0 - - - - reconhecimento correto dos caracteres.
O - - - - 3 SE CC IE -
U SE SD - - 7 SE IE - -
Erros no reconhecimento
W SE SD - - 2 SE ID - -
H SE SD IE ID 6 SD - - -
X SE SD IE ID 1 SD SE ID - 10
T SE SD IC - 5 SD CE IE - 9
Y SE SD IC - 4 SD ID ID - 8
N SE SD ID IE 9 IE - - - 7
L SE ID - - Z SE ID - - 6
I SC IC - - K SD SE IE ID 5 Erros

V SD SE - - G SD CC - - 4
F SD CD IE - J SD IE - - 3
E SD CD ID - S SD IE - - 2
C SD ID - - M IE ID - - 1
P IE - - - R IE ID - - 0
Q IC ID - - A ID IE - - W; T;
S;J
M0
2;1 U Y
Momentos M2 H; D;
Considerando a comparação dos números obtidos no caso K; N O Caracteres
M4 7;3 N
dos momentos invariantes, se Mi for o momento invariante de
ordem i a ser identificado e Mibd o momento invariante de
ordem i no banco de dados, é realizado o calculo de quão 7;3 K;N H;N D;O 2;1 S;J W;U T;Y
próxima está a letra (ou número) que se quer identificar de Fig. 10. Reconhecimentos errados usando apenas momentos invariantes
alguma outra do banco de dados. Após realizar-se esse cálculo
para todas as peças e todos os momentos os dados devem ser XIII. CONCLUSÕES
contabilizados através de: Este trabalho apresenta os resultados da utilização de um
sistema que pode ser aplicado em controle de
N estacionamentos, na verificação de veículos roubados e na
Pj = ∑D
i
Pj M j segurança pública. Para verificar a aplicabilidade do proposto
foi feita experimentação em base de dados conhecidas e
públicas. Os resultados obtidos em 324 imagens, mas mais
onde
N
diferenças condições (tabela 1) têm como média 73,23% de
M N é o número de momentos que estão sendo utilizados.

j=
PD
ApósP
i esse cálculo tem-se vários Pj cada um referente a um acerto na localização das placas corretamente na primeira
caractere do banco de caracteres. O que possuir o maior Pj será tentativa e de 12,81%, em localização parcial ou na
reconhecido como o caractere que está sendo submetida ao localização de mais de uma região candidata, ou seja, um total
programa. de 86,04% de acerto.
Foram reconhecidos 51,6% dos caracteres sem a Os resultados podem ser considerados como
necessidade de utilização dos momentos invariantes, e 48,4 % satisfatórios quando são levadas em consideração as
reconhecidos utilizando a técnica dos momentos invariantes.
CONCI et al.: A COMPLETE SYSTEM FOR VEHICLE 505

diferentes situações das imagens analisadas e também


levando em consideração a complexidade da imagem e REFERÊNCIAS
seu tempo de processamento. Na identificação dos [1] M. P. Albuquerque, “Projeto de Reconhecimento de Placas de
caracteres que compões as placas utilizou-se além dos Veículos Brasileiros”, Disponível:
momentos invariantes a escala, as características <http://www.cbpf.br/cat/pdsi/lpr/lpr.html/>. Acesso em:
20/01/2006.
intuitivas relacionadas ao de números de "buracos", [2] A. Bussador, “Localização Automática de Placas de Veículos
números de extremidades e posição destas extremidades em Fotos Digitais Utilizando Abordagem Granulométrica”,
em relação a um sistema de coordenadas locais, essa dissertação de mestrado, orientada por J. Facon, Pos Graduação
combinação de métodos levou a correta identificação dos em Informática Aplicada, Pontifícia Universidade Católica do
caracteres em todas as placas testadas (desde que a Paraná, 2001.
[3] J. E. R Carvalho, “Uma abordagem de Segmentação de Placas
posição tenha sido corretamente identificada). de Automóveis Baseada em Morfologia Matemática”,
A versatilidade do método em relação às diversas dissertação de mestrado, orientada por A. Conci, Pos Graduação
condições de iluminação é sua melhor característica. Além Computação, Universidade Federal Fluminense, 2006.
desta, ressalta-se a característica do método iniciar o processo Disponível:
de segmentação [17] buscando os caracteres da placa na http://www.ic.uff.br/PosGraduacao/Dissertacoes/296.pdf .
imagem da cena completa. As técnicas que foram utilizadas Acesso em: 22/10/2007.
para reconhecer placas de automóveis que atentem aos padrões [4] G. Cao, J. Chen, J. Jiang, “An adaptive approach to vehicle
nacionais (figura 11), mas podem ser facilmente adaptadas aos license plate localization”, in Proc. 2003 Industrial Electronics
Society Conf. IECON’03, vol. 2, pp.1786 - 1791.
padrões de outros países ou para serem utilizadas em outras
[5] Y. Dai, H. Q. Ma, L. Liu, L. Li, “A high performance license
aplicações de reconhecimento de caracteres. Com estas plate recognition system based on the web technique”, in Proc.
técnicas se torna viável um sistema automático de of IEEE Symp. on Transp. Systems, pp. 325-329, 2001.
reconhecimento de placas de veículos. [6] C. Hsieh, Y. Juan, K. Hung, “Multiple license plate detection for
AGRADECIMENTOS complex background”, in Proc. of Adv. Information Networking
and Appl.-AINA’05, vol. 2, pp. 389- 392, 2005.
Os autores agradecem a Leonardo Hiss Monteiro [7] V. Kamat, S Ganesan, “An efficient implementation of the
pelo desenvolvimento da etapa de reconhecimento de Hough transform for detecting vehicle license plates using
caracteres e ao professor Jacques Facon do Programa de DSP'S”, Real-Time Technology and Applications Symposium
Proceedings, pp.58 - 59, 1995.
Pós-Graduação em Informática Aplicada da Pontifícia [8] K.K Kim, K.I Kim, J.B. Kim, H.J. Kim, “Learning-based
Universidade Católica do Paraná, pelas valiosas approach for license plate recognition”, in: Proceedings of IEEE
discussões e disponibilizarão da base de dados I usada Int. Workshop on Neural Networking for Signal Proc. , vol.2,
neste trabalho. pp. 614 - 623, 2000.
[9] L. H. Monteiro, “Utilização de Técnicas de processamento de
Veículos Particulares Veículos de Aluguel imagem para o reconhecimento de placas de veículos”,
dissertação de mestrado, orientada por A. Conci, Pos Graduação
Computação, Universidade Federal Fluminense, 2002.
Disponível:
http://www.ic.uff.br/PosGraduacao/lista_dissertacao.php?ano=2
002 Acesso em: 22/10/2007.
Testes em Concessionárias Veículos Oficiais [10] F. Porikli, T. Kocak, “Robust License Plate Detection Using
Covariance Descriptor in a Neural Network Framework”, IEEE
International Conference on Advanced Video and Signal Based
Surveillance (AVSS 2006) p. 107 - November 2006 :
Disponível: http://www.merl.com/publications/TR2006-040
Acesso em: 02/11/2007
Veículos de coleção Missões Diplomáticas [11] Pymorph; Pymorph Morphology Toolbox;
<http://www.mmorph.com/pymorph/ >. Acesso 29/08/ 2006
[12] F. P. C. Souza, A. A. Susin, “Sistema de identificação
automática de veículos”, 2000. Acesso: 30/07/2005.
<http://www.lapsi.eletro.ufrgs.br/projetos/siav/>.
[13] M. R. Stein, T. W. Rauber and J. Facon, “Color Mixture Based
Segmentation for Vehicle License Plate Recognition”, in The
Aprendizagem Montadoras Seventh All-Ukrainian International Conference on
Signal/Image Processing and Pattern Recognition, Kiev, 2004.
[14] A. Conci, J. Facon, J. E. R. de Carvalho, L. H. Monteiro and T.
W. Rauber, “Vehicle Plate Detection, Segmentation and
Identification:in Real Life Scenes”, in Recent Advances in
Applied Signals, Systems and Image Processing, D. A. Karras
Fig. 11. Padronização brasileira de acordo com o tipo de utilização do veiculo (Editor), Kluwer Academic Publishers, 26 p. (January 2009).
[15] Y. Yanamura, M. Goto, D. Nishiyama, M. Soga, Nakatani and
H. Saji, “Extraction and tracking of the license plate using
Hough transform and voted block matching”, in Proc. of IEEE
of Intell. Vehicles Symp. pp. 243 - 246, 2003.
506 IEEE LATIN AMERICA TRANSACTIONS, VOL. 7, NO. 5, SEPTEMBER 2009

[16] M. Yu, Y.D. Kim, “An approach to Korean license plate


recognition based on vertical edge matching”, in Proceedings of
IEEE International Conference on Systems, Man, and
Cybernetics, vol.4, pp. 2975 - 2980, 2000.
[17] E. O. Nunes, A. Conci “Segmentação por Textura e Localização
do Contorno de Regiões em Imagens Multibandas”, IEEE Latin
America Transactions, vol. 4, pp.185-192, June 2007

Aura Conci , em 1979, obteve o grau de bacharel em


Engenharia Civil pela UFES. Em 1983 e 1988, obteve os
graus de Mestre e Doutor, respectivamente, em Ciências
de Engenharia pela PUC-RJ. Professora titular do
Departamento de Ciência da Computação da UFF desde
1994. Pesquisadora do CNPq e vem trabalhando em
Análise de Imagens, Computação Gráfica e Computação
Visual. Sua área de pesquisa concentra-se em aplicações
da análise de imagens e computação visual, como biometrias, fusão de
imagens de tipos diversos, imagens biomédicas e em busca de imagens e
vídeo por conteúdo (mais detalhes em HTTP://www.ic.uff.br/~aconci).
John Edson Ribeiro de Carvalho se graduou como
bacharel em Física na UFF. Em 2006, obteve o grau de
Mestre em Computação pela Universidade Federal
Fluminense – UFF, Niterói-RJ. Atualmente vem
estudando aspectos de reconhecimento, reconstrução e
segmentação de imagens por Morfologia Matemática.
Trabalha em ensino da distância pelo convênio
UFF/UERJ, UFRJ, UFFRJ do CEDERJ.

Thomas Walter Rauber possui graduação e mestrado em


Informatik - Universität Karlsruhe Technische
Hochschule (1989) e doutorado em Engenharia
Electrotécnica pela Universidade Nova de Lisboa (1995).
Fez Pós-doutorado na Universidade de Kaiserslautern,
Alemanha (2006) na área de Robótica. Atualmente é
professor Associado no Departamento de Informática da
Universidade Federal do Espírito Santo. Tem experiência
na área de Ciência da Computação, com ênfase em
Inteligência Computacional, atuando principalmente nos seguintes temas:
reconhecimento de padrões, processamento de imagens, processamento de
documentos, computação gráfica, detecção de falhas e inteligência artificial.

Você também pode gostar