Professional Documents
Culture Documents
Instituto de Informática
LOCALIZAÇÃO E SEGMENTAÇÃO
DE PLACAS PARA IDENTIFICAÇÃO
AUTOMÁTICA DE VEÍCULOS
Belo Horizonte
2004
Júlio César e Melo
LOCALIZAÇÃO E SEGMENTAÇÃO
DE PLACAS PARA IDENTIFICAÇÃO
AUTOMÁTICA DE VEÍCULOS
Belo Horizonte
ii
Júlio Cæsar
46 A.C.
v
Resumo
Lista de Figuras
Lista de Tabelas
Sumário
1 Introdução 9
2 Revisão Bibliográfica 11
2.1 Bibliografia básica de processamento de imagens . . . . . . . . . . . . . . . 11
2.1.1 Morfologia matemática . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.2 Árvore de componentes conexos . . . . . . . . . . . . . . . . . . . . 12
2.2 Técnicas de localização e segmentação de placas . . . . . . . . . . . . . . . 14
2.2.1 Localização da placa baseada em sua assinatura . . . . . . . . . . . 14
2.2.2 Segmentação de placa utilizando black top-hat . . . . . . . . . . . . 15
2.2.3 Segmentação de placa utilizando diferença de abertura e fechamento 16
2.2.4 Segmentação de placa utilizando componentes conexos . . . . . . . 18
3 Objetivo 19
4 Metodologia 19
4.1 Aprimoramento da localização de placa verificando sua assinatura . . . . . 19
4.1.1 Análise do perfil de linha . . . . . . . . . . . . . . . . . . . . . . . . 20
4.1.2 Transformação morfológica do perfil de linha . . . . . . . . . . . . . 24
4.2 Segmentação de placa utilizando árvore de componentes conexos . . . . . . 25
4.2.1 Representação da placa na árvore de componentes . . . . . . . . . . 25
4.2.2 Localização da placa . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5 Resultados 29
5.1 Resultados obtidos para o aprimoramento da localização de placa verifi-
cando sua assinatura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2 Resultados obtidos para a segmentação de placa utilizando árvore de com-
ponentes conexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6 Conclusão 32
9
1 Introdução
Após adquirida a imagem a ser processada, o primeiro desafio é definir nela a(s)
posição(ões) da(s) placa(s) do(s) veı́culo(s). Uma imagem pode conter desde nenhuma a
várias placas. A identificação precisa das regiões da imagem que contém alguma placa é
essencial para um bom desempenho dos passos seguintes. Por outro lado, a não identi-
ficação destas regiões implica em um insucesso do sistema como um todo.
Para esta etapa, foram propostas técnicas que realizam varredura vertical na ima-
gem, procurando por caracterı́sticas tonais comuns das placas [1, 2, 3], e, também, var-
redura utilizando células autômatas [4], possibilitando o processamento distribuı́do da
imagem. Estas técnicas são eficientes, porém não eficazes diante das variações de pers-
pectiva da câmera ou das inclinações da placa.
Outras técnicas mais flexı́veis a tais variações utilizam morfologia matemática como
base de seus algoritmos de localização [5, 6]. Estas, porém, apresentam um custo compu-
tacional maior, devido à presença de uma série de operações morfológicas utilizadas em
cada imagem adquirida, e restrições quanto ao tamanho relativo da placa e, conseqüente-
mente, à distância do veı́culo em relação à câmera.
Alternativas mais genéricas foram propostas utilizando detecção de bordas colo-
ridas [7], considerando a padronização de cores das placas, e análise de componentes
conexos [3], em que cada componente conexo a um outro maior é análogo ao caracter
sobre o fundo da placa.
A terceira etapa - segmentação dos caracteres - tem como finalidade separar cada
caracter para ser posteriormente reconhecido individualmente. Muitas técnicas verificam
11
uma grande ou total diminuição da projeção vertical na região da placa [4, 1, 3, 5].
Técnicas de localização baseadas em análise de componentes conexos [3] possibilitam a
execução de ambas as fases em um único processamento.
A etapa final - reconhecimento dos caracteres - depende da correta segmentação
de caracteres e pode ser realizada utilizando redes neurais [8]. Esta etapa, no entanto,
não é objeto de estudo deste trabalho.
O conteúdo deste trabalho encontra-se dividido da seguinte maneira: na Seção 2
é realizada uma revisão bibliográfica, onde são abordadas técnicas de processamento de
imagens, relacionadas às técnicas desenvolvidas, e técnicas já existentes de localização
e segmentação de placas de veı́culos; na Seção 3 é apresentado o objetivo do trabalho;
na Seção 4 são descritos o aprimoramento realizado na técnica de localização de placas
verificando suas “assinaturas” [1] e uma nova técnica desenvolvida utilizando árvore de
componentes conexos [9]. Em seguida, na Seção 5 são apresentados os resultados de ambas
técnicas trabalhadas. Por fim, na Seção 6 é apresentada a conclusão do trabalho.
2 Revisão Bibliográfica
Abertura: I ◦ S = (I ⊕ S) S
Fechamento: I • S = (I S) ⊕ S
Uma imagem em tons de cinza pode ser transformada em uma árvore de compo-
nentes conexos [9], permitindo filtragens e segmentação da imagem. Antes de definir uma
árvore de componentes conexos, é necessário conhecer a definição de componente conexo.
Considerando a imagem binária na Fig. 2, a região preta é um componente conexo
formalmente definido por um conjunto de pontos conectados entre si por pixels vizinhos
de mesma coloração.
Em uma imagem em tons de cinza (Fig. 3), cada “componente conexo” pode ser
delimitado em um nó da árvore. Nela, o nı́vel em que se encontra o nó determina a sua
tonalidade cinza. Toda folha, em uma imagem com pelo menos um componente conexo,
se encontra totalmente dentro da área de um componente conexo de um tom em um nı́vel
inferior. Já os nós internos situados a um nı́vel i, além de estarem conectados por pixels
de tonalidade i, estão também conectados por pixels de tonalidades maiores que i. Desta
maneira, a raı́z, por possuir o menor nı́vel da árvore, abrange toda a imagem.
Com esta representação, é possı́vel obter mais componentes contidos em nós que
componentes conexos extraı́dos da imagem original plana em seu conceito original, pois
para um componente conexo em um nı́vel x > 0, necessariamente existe outro em um nı́vel
13
Figura 5: Perfil de linha que corta região da placa (2) comparada a um perfil de linha de
uma região qualquer (1).
Para tanto, realiza-se uma varredura nas linhas da imagem até encontrar tais
intervalos. A identificação é feita por meio de análise no domı́nio espacial, comparando
os pontos máximos e mı́nimos consecutivos com certas caracterı́sticas pré-definidas, como
número, distância relativa e amplitude dos pontos. Os autores [1] sugerem o uso de
informações estatı́sticas para a escolha de tais caracterı́sticas, porém não explicitam os
critérios de avaliação de tais pontos máximos e mı́nimos.
Em seguida, visando precisar melhor a localização, utilizam-se projeções verticais
e horizontais numa versão binarizada da imagem. Sugere-se o uso de um limiar dinâmico,
conforme nı́veis máximos e mı́nimos obtidos na linha anteriormente analisada, para de-
terminar a localização de acordo com as projeções.
Apesar da simplicidade teórica do algoritmo, há uma dificuldade para determinar
quais máximos e mı́nimos são relevantes para a identificação da assinatura. A presença de
elementos com variação de luminância, como reflexos nos vidros do veı́culo, por exemplo,
diminuem a eficácia da técnica, pois apresentam o mesmo padrão que a assinatura da
placa no perfil de linha. Este problema, no entanto, pode ser minimizado utilizando o
15
operador Sobel antes da varredura [2]. O operador realça os pontos da linha que possuem
grande contraste, facilitando a identificação correta da assinatura ao minimizar os picos
de baixo contraste.
A cor da placa também pode influenciar o resultado final do algoritmo, conforme
caracterı́sticas escolhidas para análise. Como a largura entre os pontos máximos e mı́nimos
na região da placa corresponde à largura do caracter, placas com letras pretas em fundo
branco possuem uma largura entre os pontos máximos e mı́nimos menores que placas
com letras brancas em fundo preto. A assinatura, neste caso, obtém uma inversão de suas
caracterı́sticas, dificultando a sua identificação em pares que utilizam mais de um padrão
de cores de placa, como ocorre no Brasil.
O desempenho do algoritmo pode ser otimizado quando a imagem compreende um
único veı́culo em uma posição normalmente centralizada, como ocorre em fotos de radares
fixos que são tiradas quando o veı́culo passa sobre um sensor na pista. Nestas imagens,
a varredura pode ser realizada na direção de baixo para cima em intervalos regulares
menores que a altura esperada de uma placa, conforme trabalho realizado por Souza [2],
já que a placa se encontra na região inferior da foto e o tamanho é normalmente o mesmo,
permitindo, então, a definição prévia de um intervalo mı́nimo para a varredura.
Figura 6: Aplicação do operador morfológico black top-hat na imagem (a) com resultado
em (b). A imagem é binarizada utilizando um limiar e então sofre fechamento, obtendo
as regiões candidatas a placas em (c), destacadas com a cor verde.
As placas que contém duas linhas, cada uma delas encontra-se separada em dois
retângulos brancos distintos. Para uni-los, basta dilatar ambas regiões, obtendo então a
região total da placa.
Este algoritmo depende de caracterı́sticas pré-definidas, perdendo sua eficácia com
variações na distância do veı́culo em relação à câmera, devido à necessidade de adequação
do tamanho do elemento estruturante. Para o tratamento de placas em dois padrões de
cores diferentes, como preto no branco e branco no preto, o algoritmo requer dois conjuntos
de combinações de operações morfológicas, black top-hat e white top-hat, respectivamente,
acarretando em um pior desempenho para a identificação da placa. Hsieh, Yu e Chen [6]
propõem um algoritmo, também baseado em morfologia matemática, que não requer essa
adaptação para diferentes cores de placa (Seção 2.2.3).
caracteres da placa (Fig. 7b). Como os caracteres possuem suas bordas adjacentes e
próximas uma das outras, é possı́vel conectar a região de cada um utilizando a operação
I •S1,7 , formando a região candidata a placa. O resultado é limiarizado para então rotular
cada região remanescente (Fig. 7c).
O resultado obtido pode conter elementos que não pertencem à placa. Tais ele-
mentos são filtrados observando a sua densidade - calculada como A/(w × h), onde A é
a área do elemento, w a largura e h a altura -, a proporção entre largura e altura e o
tamanho da região (regiões muito pequenas são desconsideradas).
As regiões podem ainda conter placas cortadas, necessitando, portanto, de um
processo de reconstrução. Primeiramente, calcula-se a média da largura, wc , e da altura,
hc , dos possı́veis caracteres inseridos na região. Adotando-se um limiar para similaridade
entre o tamanho dos caracteres e o tamanho médio, conta-se o número de caracteres nc
segmentados. Caso ele seja inferior à quantidade padrão np de uma placa, a região tem
seus limites horizontais aumentados em (np −nc )×wc pontos. Se ainda algum ponto tocar
os limites verticais, distancia-se hc /5 unidades o limite tocado, proporção esta arbitrada
pelos autores. Ocorrendo qualquer alteração em seu tamanho, a região é novamente
binarizada, passando por todos os passos anteriores.
Assim como o algoritmo de Martı́n e Borges [5], o algoritmo de Hsieh, Yu e Chen [6]
falha se a distância entre os caracteres ultrapassar um valor esperado. Caso esta condição
ocorra, ambos algoritmos não conseguem conectar os caracteres segmentados para formar
a região da placa.
18
dade de regiões inseridas em cada grupo de segmentos. Aqueles que possuem o número
de caracteres de uma placa são considerados candidatos à localização da placa.
Com esta técnica, além de localizar a placa, os caracteres encontram-se segmenta-
dos nos componentes conexos extraı́dos da imagem.
3 Objetivo
4 Metodologia
sinatura1
Uma vez obtido o perfil de linha H, deve-se encontrar o conjunto P dos n pares
pi = {pmin
i , pmax
i }, em que pi é composto pelos pontos máximos pmax
i = (xmax
i , H(xmax
i ))
e mı́nimos pmin
i = (xmin
i , H(xmin
i )) consecutivos mais próximos entre si (Fig. 8), onde i
identifica o i-ésimo par.
ai = H(xmax
i ) − H(xmin
i )
At ⊆ P
At = (pt , pt+1 , ..., pt+m )
o caracter, considerando fundo claro com letras escuras, conforme Fig. 10a; o contraste
inverso (Fig. 10b) acarreta em troca dos valores de xmax com xmin . Se a linha analisada
no perfil de linha não estiver paralela à placa, ela não cortará todos caracteres, obtendo
assim um número de pares inferior a 2c. Outra consideração a ser feita ao determinar o
valor de m é a existência de placas em duas linhas.
Para cada pi ∈ At , calcula-se a distância entre os pontos do par, denominada
22
(a) (b)
Figura 10: “Assinaturas” da placa em diferentes contrastes. A placa em (a) possui letra
escura em fundo claro e em (b) o inverso.
largura li , e a sua distância di para o par anterior pi−1 , conforme fórmulas a seguir:
li = |xmax
i − xmin
i |
di = min(xmax
i , xmin
i ) − max(xmax min
i−1 , xi−1 )
Como existem apenas duas cores na placa do veı́culo, a largura dos pares é pra-
ticamente a mesma, variando conforme degradê da borda entre o caracter e o fundo. Já
a distância auxilia na identificação do agrupamento espacial dos pares, correspondendo
à distância entre os caracteres ou à largura deles. Tais informações serão utilizadas para
identificar a “assinatura” no perfil de linha.
Para tanto, extrai-se as mediatrizes a, l, d, pmax e pmin dos valores da amplitude,
largura, distância, abscissa do pico máximo e abscissa do pico mı́nimo de todos os elemen-
tos do subconjunto A, respectivamente. Considere o valor da mediatriz de um sı́mbolo x
denominado por x = (max {x} + min {x})/2. A “assinatura” é considerada encontrada
na região analisada quando as seguintes condições forem satisfeitas:
23
|ai − a| ≤ ka × a (1)
|li − l| ≤ kl × l (2)
∀pi ∈ A, |di − d| ≤ kd × lmax (3)
|di − d| ≤ αλ × λ (4)
|pmax
i − pmax | ≤ kp × a (5)
1 + kλ
αλ = 2 ×
n
(a) (b)
Figura 12: “Assinaturas” sobre o perfil de linha modificado por transformações mor-
fológicas.
Este realce pode ser utilizado no perfil de linha para auxiliar a análise da assinatura
[1] da placa (Fig. 12). Neste perfil transformado, os pequenos contrastes são suavizados
enquanto se mantém os picos na região da placa, desde que o elemento estruturante possua
uma forma horizontal e o tamanho seja maior que a largura dos caracteres, compreendido
nos di dos intervalos em que xmax
i > xmin
i do perfil de linha original de uma placa de fundo
claro e xmax
i < xmin
i para placas de fundo escuro.
Quanto menor o tamanho do elemento estruturante, menos flexı́vel o sistema se
torna às variações na imagem proporcionadas pela resolução da imagem e pelo foco da
25
câmera, por exemplo, visto que quanto mais desfocada encontra-se a placa, maior será o
degradê do caracter na mesma, proporcionando uma suavização dos picos dos caracteres.
Com a aplicação destas transformações morfológicas, o limiar de amplitude α pode
ser aguçado afim de diminuir as ocorrências de falso-positivos, que são ocorrências de
detecções incorretas de placas. A introdução de um outro limiar adaptativo αi em função
da diferença entre o maior e o menor valor encontrado em um perfil de linha para filtrar os
pares pi ∈ P permite maior flexibilidade a variações de luminosidade e, conseqüentemente,
um melhor resultado na identificação de assinaturas. Assim, pi será filtrado se ai <
max{α, αi }, tal que:
nexos2
Considere uma imagem I em 256 tons de cinza com inversão de cores, ou seja,
branco tem o valor zero e preto o valor 255. Nesta imagem, as placas brasileiras de
veı́culos de uso comum possuem fundo claro e caracteres escuros. Na representação da
árvore de componentes conexos, tais caracteres encontram-se inseridos em folhas, todas
tendo a placa inserida em um nodo interno ancestral comum (Figura 13).
2
Parte desta seção foi aceita para publicação em forma de resumo nos anais do SIBGRAPI’2004 [15].
26
(a) (b)
Figura 13: Árvore de componentes conexos simplificada (b) de uma placa de um veı́culo
(a). Os elementos não relevantes para a identificação do veı́culo foram representados em
uma única folha legendada por reticências (...).
Apesar da Fig. 13 mostrar o ancestral comum como ancestral imediato das folhas,
esta situação nunca ocorre devido à grande diferença entre os tons de ambos. Assim, exis-
27
tem diversos nı́veis intermediários entre a folha e o ancestral comum. Ademais, a altura
entre eles raramente é a mesma para todos os caracteres, devido a pequenas variações na
tonalidade de cinza dos respectivos elementos, propiciadas por variação de iluminação ou
ruı́do na imagem (Figura 14).
Figura 16: Reta r traçada pela regressão linear para verificar o alinhamento dos caracteres
em uma placa um pouco inclinada.
5 Resultados
Tabela 1: Ocorrências de falsos-positivos (FP) e placas encontradas (PE) nos testes rea-
lizados. No primeiro teste (FP1, PE1), αi era nula e no segundo αi = 0,5.
(a) (b)
Figura 17: Análise de assinatura em imagem em condições irregulares. Em (a), a linha não
corta todos os caracteres da placa. Em (b), a iluminação é precária e a imagem encontra-se
clareada artificialmente com o perfil de linha normalizado para melhor visualização.
limiar propicia muitos falso-positivos. Nos testes realizados no primeiro grupo de imagens,
a utilização de um limiar menor resultou em um acréscimo de 181% de pontos falso-
positivos nas imagens.
A utilização de clusters foi testada para verificar o impacto da não filtragem de
pares, identificando assinaturas em grupos de pares cuja amplitude é semelhante. Nos
testes realizados, o resultado foi praticamente o mesmo, variando aleatoriamente em menos
de 0,1% na quantidade de falso-positivos.
(a) (b)
6 Conclusão
ficação de sua assinatura, por exemplo, em sua proposta original, é freqüente a ocorrência
de falsos-positivos.
Neste trabalho, esta técnica foi aprimorada com a util com a utilização de ope-
radores morfológicos sobre o perfil de linha, utilizado para verificação da assinatura da
placa. Com isso, a eficácia desta técnica foi melhorada, embora a quantidade de limiares
inviabiliza a utilização prática da mesma. Ademais, a técnica não é robusta quanto a
variações de perspectiva da placa.
Também foi desenvolvida, neste trabalho, uma técnica de localização e segmentação
de placa utilizando árvore de componentes conexos. Nesta técnica é explorada a confi-
guração dos componentes conexos alinhados em um mesmo nı́vel da árvore que possuem
ancestral comum, identificando os caracteres nos nós em nı́veis superiores e o fundo da
placa no ancestral comum. Apesar desta apresentar um baixo ı́ndice de localização de pla-
cas, ela é robusta em relação a problemas tradicionais encontrados na literatura acerca da
localização de placas, como variações de perspectiva e escala, apresentando quase nenhum
falso-positivo.
Grande parte das placas não identificadas por esta técnica se deve à iluminação
não-uniforme sobre a placa. A utilização de busca em largura para encontrar os caracte-
res segmentados em um mesmo nı́vel da árvore inviabiliza a localização de placas nesta
condição, sendo este um objeto de estudo para trabalhos futuros.
Referências
[3] Halina Kwaśnicka and Bartosz Wawrzyniak. License plate localization and recogni-
35
[4] Giovanni Adorni, Federico Bergenti, and Stefano Cagnoni. Vehicle license plate recog-
nition by means of cellular automata. In Proc. of the IEEE International Conference
on Intelligent Vehicles, pages 689–693, 1998.
[5] Fernando Martı́n and David Borges. Automatic car plate recognition using a partial
segmentation algorithm. In M.H. Hamza, editor, Signal Processing, Pattern Recog-
nition, and Applications, 2003.
[6] J.W. Hsieh, S.H. Yu, and Y.S. Chen. Morphology-based license plate detection from
complex scenes. In ICPR02, volume III, pages 176–179, 2002.
[7] Shyang-Lih Chang, Li-Shien Chen, Yun-Chung Chung, and Sei-Wan Chen. Auto-
matic license plate recognition. IEEE Transactions on Intelligent Transportation
Systems, 5(1):42–53, March 2004.
[9] R. Jones. Component trees for image filtering and segmentation. In E. Coyle, editor,
Proceedings of the 1997 IEEE Workshop on Nonlinear Signal and Image Processing,
Mackinac Island, September 1997.
[10] Jean Serra. Image Analysis and Mathematical Morphology: Theoretical Advances,
volume 2. Academic Press, 1988.
[13] Júlio César e Melo and Silvio Jamil F. Guimarães. Localização de placas de veı́culos
baseada em regiões de contraste realçadas por operadores morfológicos. In SIB-
GRAPI’2004 Proceedings, Curitiba, October 2004.
36
[14] Júlio César e Melo and Silvio Jamil F. Guimarães. Definição de assinatura de pla-
cas de veı́culos com base em regiões de contraste. In Anais do V Workshop em
Tratamento de Imagens, pages 138–146, Belo Horizonte, May 2004.
[15] Júlio César e Melo and Silvio Jamil F. Guimarães. License plate segmentation using
component tree. In SIBGRAPI’2004 Proceedings, Curitiba, October 2004.