Este documento apresenta um método estatístico para localizar placas de veículos em imagens digitais com três etapas: (1) análise estatística dos perfis de linha para identificar a região da placa, (2) preparação dos caracteres utilizando flood-fill adaptado, (3) reconhecimento dos caracteres com OCR. O método propõe utilizar perfis de linha para localizar a assinatura distintiva da placa e isolá-la da imagem original.
Localização de Placas de Veículos Baseada em Métodos Estatísticos
Localização de placas de veículos baseada em métodos estatísticos
1. PONTIF´ ´
ICIA UNIVERSIDADE CATOLICA DE MINAS GERAIS
Instituto de Inform´tica
a
LOCALIZACAO DE PLACAS DE VE´
¸˜ ICULOS BASEADA EM
METODOS ESTAT´
´ ISTICOS
Edgard Davidson Costa Cardoso
Belo Horizonte
2006
2. Edgard Davidson Costa Cardoso
LOCALIZACAO DE PLACAS DE VE´
¸˜ ICULOS BASEADA EM
METODOS ESTAT´
´ ISTICOS
Trabalho de Diploma¸˜o apresentado ao Curso
ca
de Gradua¸˜o em Sistemas de Informa¸˜o
ca ca
da Pontif´ıcia Universidade Cat´lica de Minas
o
Gerais, como requisito parcial para obten¸˜o do
ca
Grau de Bacharel em Sistemas de Informa¸˜o.ca
Orientador: Prof. Silvio J. F. Guimar˜es, D.Sc..
a
Belo Horizonte
2006
ii
3. Edgard Davidson Costa Cardoso
LOCALIZACAO DE PLACAS DE VE´
¸˜ ICULOS BASEADA EM
METODOS ESTAT´
´ ISTICOS
Trabalho de Diploma¸˜o apresentado ao Curso de
ca
Gradua¸˜o em Sistemas de Informa¸˜o da Pontif´
ca ca ıcia
Universidade Cat´lica de Minas Gerais, como requisito
o
parcial para obten¸˜o do Grau de Bacharel em Sistemas
ca
de Informa¸˜o.
ca
Aprovada em de 2006
BANCA EXAMINADORA:
Prof: Silvo Jamil F. Guimar˜es, D.Sc.
a
Pontif´ Universidade Cat´lica de Minas Gerais
ıcia o
Professor
Pontif´ Universidade Cat´lica de Minas Gerais
ıcia o
Professor
Pontif´ Universidade Cat´lica de Minas Gerais
ıcia o
Belo Horizonte
2006
iii
4. Resumo
No meio acadˆmico, v´rias pesquisas vem sendo apresentadas sobre o reconhe-
e a
cimento de placas de ve´ ıculos, utilizando o processamento de imagens. A utiliza¸ao de c˜
t´cnicas de OCR (Optical Character Recognition) ´ extremamente importante para a
e e
identifica¸˜o de placas de ve´
ca ıculos, em um ambiente controlado ou n˜o. Entretanto,
a
o simples fato de utiliz´-las, n˜o garante, suficientemente, a sua perfeita identifica¸˜o.
a a ca
Nesse caso, procedimentos que aux´ ıliem a localiza¸˜o e a identifica¸˜o da referida placa
ca ca
devem prover, de forma satisfat´ria, a condi¸˜o ideal para que o uso do OCR seja eficiente e
o ca
eficaz. De fato, o fator cr´ıtico de sucesso para o reconhecimento autom´tico dos caracteres
a
contidos na placa ´ uma etapa anterior de localiza¸˜o. Nesse contexto, este trabalho tem
e ca
como objetivo desenvolver um m´todo capaz de localizar a placa do ve´
e ıculo e preparar os
caracteres de tal forma que um algoritmo de OCR possa reconhecer e identific´-las, com a
a m´ınima interven¸˜o humana. O m´todo proposto utiliza t´cnicas de processamento de
ca e e
imagens aplicada na an´lise estat´
a ıstica dos perfis de linha da imagem.
iv
5. Lista de Tabelas
4.1 Tabela que demonstra as caracter´
ısticas das imagens utilizadas no trabalho 24
4.2 Tabela que demonstra as caracter´
ısticas de hardware e software utilizados . 25
4.3 Tabela que demonstra os tempos m´dios obtidos do algoritmo em cada etapa
e 25
4.4 Tabela que demonstra a taxa de acerto da etapa de localiza¸˜o da placa e
ca
da etapa de prepara¸˜o dos caracteres, utilizando placas de v´rios pa´
ca a ıses . 26
v
6. Lista de Figuras
2.1 a) flood-fill com 4 dire¸˜es; b) flood-fill com 8 dire¸˜es . . . . . . . . . . . .
co co 7
2.2 Ilustra¸˜o que demonstra o comportamento do perfil de linha em trˆs linhas
ca e
distintas da imagem. a) Imagem Original; b) Perfil de Linha 1 (linha
superior); c) Perfil de Linha 2 (linha central); d) Pefil de linha 3 (linha
inferior) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.1 Vis˜o macro da seq¨ˆncia l´gica das etapas . . . . . . . . . . . . . . . . .
a ue o . 12
3.2 Demonstra¸˜o do perfil de linha. a) Imagem original com duas an´lises
ca a
de “assinatura”ortogonais ` placa. b) Perfil de linha superior, cortando os
a
far´is. c) Perfil de linha inferior cortando a placa. . . . . . . . . . . . . .
o . 13
3.3 Identifica¸˜o dos pontos de m´ximos e m´
ca a ınimos, a partir da an´lise es-
a
tat´
ıstica do perfil de linha . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4 Linha encontrada com base na an´lise estat´
a ıstica do perfil de linha. . . . . 19
3.5 Regi˜o encontrada ap´s analisar a condensa¸˜o dos pontos de m´ximo . .
a o ca a . 20
3.6 Estruturas de dados utilizadas para localiza¸˜o da placa a) Estrutura de
ca
dados para localiza¸˜o da linha candidata; b) Estrutura de dados usada
ca
para localizar as coordenadas exatas da placa na linha candidata identifi-
cada pela estrutura da Figura a). . . . . . . . . . . . . . . . . . . . . . . . 20
´
3.7 Area dos caracteres localizada com a utiliza¸˜o do flood-fill adaptado. . .
ca . 22
4.1 Resultado do algoritmo de localiza¸˜o da placa em diversos n´
ca ıveis de lumi-
nosidade, ˆngulo de distˆncia de tomada . . . . . . . . . . . . . . . . . . . 26
a a
4.2 Resultado do algoritmo de prepara¸˜o dos caracteres em diversos n´
ca ıveis de
luminosidade, ˆngulo de distˆncia de tomada . . . . . . . . . . . . . . . . . 27
a a
4.3 Exemplo de uma situa¸˜o em que o m´todo proposto falha. 4.3(a) Imagem
ca e
da placa indicando um perfil de linha. 4.3(b) Exemplo de um perfil de linha
em que o m´todo proposto n˜o ´ capaz de identificar a “assinatura”. . . . . 27
e a e
vi
8. Cap´tulo 1
ı
¸˜
Introducao
O uso de sistemas de informa¸˜o baseados em recupera¸˜o de informa¸˜es vem, a
ca ca co
cada dia, se consolidando como uma importante ´rea de estudo, recebendo, conseq¨en-
a u
temente, uma consider´vel aten¸˜o no meio acadˆmico, devido ` sua capacidade de criar
a ca e a
mecanismos, que viabilizam o desenvolvimento de t´cnicas e m´todos, a fim de otimizar
e e
ou automatizar processos de reconhecimento, extra¸˜o, indexa¸˜o e recupera¸˜o de in-
ca ca ca
forma¸˜es de interesse em uma imagem digital.
co
Apesar de todo o desenvolvimento tecnol´gico j´ alcan¸ado na ´rea da computa¸˜o,
o a c a ca
a recupera¸˜o de informa¸˜es baseadas na an´lise de imagens mostra-se muito dif´ e
ca co a ıcil
complexa.
No entanto, mesmo com otimiza¸˜es ou automatiza¸˜es sendo realizadas nos referi-
co co
dos processos, seja no reconhecimento ou extra¸˜o de dados, seja na indexa¸˜o ou na recu-
ca ca
pera¸˜o desses dados utilizando algoritmos de buscas, ainda existem v´rios desafios cau-
ca a
sados pelo r´pido crescimento do volume de informa¸˜es definidas como “interessantes”,
a co
para um determinado grupo de pessoas ou organiza¸˜es, em detrimento da falta de ca-
co
pacidade em como administr´-las.
a
Contudo, cresce cada vez mais a necessidade de desenvolver sistemas de recu-
1
9. ´ ¸˜
CAPITULO 1. INTRODUCAO 2
pera¸˜o de informa¸˜o autom´ticos, para serem aplicados `s v´rias atividades cotidianas,
ca ca a a a
a fim de gerar procedimentos eficientes e eficazes, reduzindo, ou at´ mesmo eliminando,
e
processos que at´ ent˜o seriam caros, demorados e propensos ` erros.
e a a
Sobre esse contexto, especificamente na ´rea de processamento de imagens, ´
a e
poss´ citar v´rios exemplos de aplica¸˜o que est˜o baseadas nessas necessidades, tais
ıvel a ca a
como sensoriameto remoto, rob´tica, medicina, biometria, reconhecimento ´tico de carac-
o o
teres, assinaturas, c´digos de barras, placa de ve´
o ıculos, entre outros.
Por sua vez, ´ poss´ perceber que mesmo essas aplica¸˜es estando inseridas na
e ıvel co
a
´rea de processamento de imagens, cada uma necessita de t´cnicas ou m´todos diferentes,
e e
definindo com isso, uma grande variedade de sub-´reas de conhecimento, elevando natu-
a
ralmente uma grande varia¸˜o de pesquisas, muitas vezes utilizadas em conjunto, a fim
ca
de solucionar um determinado tipo de problema.
Um exemplo disso pode ser visto na pesquisa que aborda o reconhecimento da
placa de ve´
ıculos. Sobre esse assunto, ´ poss´ estudar uma variedade de t´cnicas, seja
e ıvel e
na compreens˜o de determinadas informa¸˜es contidas na imagem utilizando t´cnicas de
a co e
OCR (“Optical Recognition Characters”), seja na implementa¸˜o de filtros que possi-
ca
bilitem a segmenta¸˜o de elementos espec´
ca ıficos em determinadas ´reas ou na identifica¸˜o
a ca
de padr˜es que podem definir um grupo ou v´rios grupos de dados.
o a
Apesar de, inicialmente, o trabalho de reconhecimento da placa de ve´
ıculos parecer
uma aplica¸˜o de solu¸˜o trivial, pois o objeto do reconhecimento, a placa, ´ constitu´
ca ca e ıda
de caracteres impressos com formas bem definidas, induzindo ao pensamento que a simples
utiliza¸˜o de um sistema de reconhecimento ´tico de caractere OCR convencional pode,
ca o
sem grande dificuldade, resolver o problema. Entretanto, a realidade mostra o contr´rio.
a
Os algoritmos de OCR existentes no mercado n˜o s˜o suficientes para reconhecer em uma
a a
imagem, os caracteres contidos na placa de um ve´
ıculo. Esse fato poder ser entendido por
meio de v´rios fatores, entre eles o fato de que:
a
10. ´ ¸˜
CAPITULO 1. INTRODUCAO 3
• os algoritmos de OCR trabalham com imagens bin´rias, j´ as imagens de ve´
a a ıculos
s˜o coloridas ou em n´
a ıveis de cinza;
• os referidos algoritmos n˜o foram concebidos com o prop´sito de identificar carac-
a o
teres em um ambiente espec´
ıfico com o de placa de ve´
ıculos;
• a simples segmenta¸˜o por meio de uma binariza¸˜o1 da imagem da placa n˜o ´ sufi-
ca ca a e
ciente para o bom funcionamento do OCR, pois eventualmente essa t´cnica sozinha
e
n˜o ´ capaz de segmentar os caracteres.
a e
Al´m desses fatores, o reconhecimento da placa do ve´
e ıculo apresenta caracter´
ısticas
pr´prias advindas, por exemplo, de diversos efeitos introduzidos por fatores, como a ve-
o
locidade de deslocamento do ve´
ıculo, o ˆngulo de tomada da imagem, a distˆncia e a
a a
qualidade t´cnica do equipamento de captura, a luminosidade natural ou falta da mesma,
e
sombra, reflexo, diferen¸as de padr˜o, estado da placa, entre outras adversidades, que
c a
tornam o problema muito mais complexo de ser tratado.
Apesar da identifica¸˜o manual da placa ser uma atividade simples, ela ´ restrin-
ca e
gida com a intr´
ınseca limita¸˜o humana, quando se tem um grande fluxo de ve´
ca ıculos,
caracterizando-se em um processo lento, ou at´ mesmo invi´vel. Essa limita¸˜o se d´ pela
e a ca a
falta de uma ferramenta espec´
ıfica capaz de fazer a identifica¸˜o dos caracteres contidos
ca
nas placas de autom´veis. Com um sistema automatizado, o ganho n˜o se restringe
o a
t˜o somente ao tempo de resposta, mas principalmente na imediata disponibilidade da
a
informa¸˜o para uso em in´meras aplica¸˜es.
ca u co
Um sistema de informa¸˜o autom´tico de reconhecimento da placa de um ve´
ca a ıculo
pode auxiliar e aumentar o desempenho de diversos setores, que necessitam desta in-
forma¸˜o para desenvolverem seu trabalho e mesmo ampliar para outros usu´rios em
ca a
potencial. Um sistema de reconhecimento autom´tico de placas seria um excelente aliado
a
1
´
Onde a imagem e convertida de n´vel de cinza para preto e branco, a partir de um limiar determinado. Valores
ı
abaixo do limiar assumem preto. Valores acima do limiar assumem branco.
11. ´ ¸˜
CAPITULO 1. INTRODUCAO 4
aos ´rg˜os de fiscaliza¸˜o, aos estacionamentos de grande rotatividade, `s concession´rias
o a ca a a
das rodovias privatizadas e ` outros setores que possam fazer uso da informa¸˜o colocada
a ca
rapidamente ` disposi¸˜o de forma facilitada e com um custo mais baixo.
a ca
O grande problema de identifica¸˜o de placa de ve´
ca ıculos ´ que como j´ mencionado,
e a
o simples fato de utilizar um OCR ´ necess´rio, entretanto, n˜o ´ suficiente para a sua
e a a e
identifica¸˜o. Assumindo este fato como verdade, ´ necess´rio, a priori, o desenvolvimento
ca e a
de um algoritmo que seja capaz de “entender”o que ´ placa e ap´s esse “entendimento”,
e o
ser capaz de preparar os caracteres de forma satisfat´ria a ponto de que um algoritmo de
o
OCR possa reconhecˆ-los.
e
Este trabalho tem como objetivo desenvolver um m´todo capaz de localizar a placa
e
do ve´
ıculo e preparar os caracteres, de tal forma que um algoritmo de OCR possa reconhe-
cer e identific´-los, com a m´
a ınima interven¸˜o humana. Esse m´todo utiliza t´cnicas de
ca e e
processamento de imagens aplicada na an´lise estat´
a ıstica dos perfis de linha da imagem.
O trabalho est´ organizado da seguinte forma: No Cap´
a ıtulo 2, s˜o apresentadas as
a
revis˜es bibliogr´ficas e as defini¸˜es utilizadas ao longo do trabalho, al´m de uma breve
o a co e
abordagem sobre o estado da arte dos trabalhos relacionados publicados na literatura. O
Cap´
ıtulo 3 descreve o metodologia utilizada no trabalho, abordando o m´todo de local-
e
iza¸˜o e prepara¸˜o dos caracteres da placa, para serem reconhecidos por um algoritmo
ca ca
de OCR. A an´lise dos experimentos e os resultados do trabalho s˜o descritos no Cap´
a a ıtulo
4, onde ´ poss´ analisar o desempenho do m´todo desenvolvido. O Cap´
e ıvel e ıtulo 5 descreve
as conclus˜es obtidas com o desenvolvimento deste trabalho e as sugest˜es de estudos
o o
futuros.
12. Cap´tulo 2
ı
Revis˜ o Bibliogr´ fica
a a
2.1 ¸˜
Definicoes
Defini¸˜o 2.1.1 Imagem Digital ⇒ Segundo [GW02], uma imagem digital pode ser des-
ca
crita por uma fun¸˜o f(x,y), que assume M linhas e N Colunas.
ca
f (0, 0) f (0, 1) ··· f (0, N − 1)
f (1, 0) f (1, 1) ··· f (1, N − 1)
f (x, y) = . . .
.
. .
. ··· .
.
f (M − 1, 0) f (M − 1, 1) · · · f (M − 1, N − 1)
Defini¸˜o 2.1.2 M´dia Aritm´tica ⇒ A m´dia aritm´tica pode ser descrita como um
ca e e e e
conjunto de n observa¸˜es x1 , x2 , ..., xn , onde a soma dos valores dessas observa¸oes ´
co c˜ e
o quociente da divis˜o por estas n observa¸˜es. A m´dia ´ largamente empregada, para
a co e e
indicar a tendˆncia central de um conjunto de observa¸˜es[FSC98]. A m´dia aritm´tica
e co e e
´ denominada por x:
e ¯
x1 + x2 + ... + xn xi
x=
¯ = (2.1)
n n
5
13. ´ ˜ ´
CAPITULO 2. REVISAO BIBLIOGRAFICA 6
em que xi ´ o s´mbolo que indica a observa¸˜o de ordem i, onde i = 1,2,...,n.
e ı ca
Defini¸˜o 2.1.3 Variˆncia ⇒ A variˆncia ´ uma medida que indica o grau de dispers˜o,
ca a a e a
ou variabilidade, em rela¸˜o ao valor central de um determinado conjunto de observa¸˜es
ca co
[FSC98]. Considerando ent˜o a soma dos quadrados dos desvios em rela¸˜o ` m´dia, e
a ca a e
sendo denotada por s2 e ´ definida como:
e
(xi − x)2
¯
s2 = (2.2)
n
Defini¸˜o 2.1.4 Desvio Padr˜o ⇒ Ao contr´rio da variˆncia que envolve a soma dos
ca a a a
quadrados de um conjunto de observa¸˜es e que n˜o exprime a mesma unidade do conjunto
co a
de dados original, o desvio padr˜o atrav´s do c´lculo da ra´ quadrada da variˆncia ´ capaz
a e a ız a e
de obter a mesma unidade de medida dos dados originais [FSC98]. Ent˜o, o desvio padr˜o
a a
´ denotado por s e ´ definido como:
e e
(xi − x)2
¯
s= (2.3)
n
2.2 Flood Fill
O flood-fill ´ um algoritmo que tem como prop´sito preencher ´reas definidas por
e o a
componentes conexos da mesma cor, ou na sua forma estendida, componentes conexos den-
tro de um intervalo de cor. Na sua forma cl´ssica o flood-fill necessita de trˆs parˆmetros:
a e a
1- Ponto inicial P (x, y); 2- Nova cor de preenchimento; 3- Cor anterior do componente
conexo. Na sua forma estendida, a cor anterior do componente conexo n˜o precisa ser
a
uma cor espec´
ıfica, mas um intervalo de cores pr´-determinadas.
e
Existem algumas formas nas quais o algoritmo pode ser estruturado, entretanto ele
sempre usa uma estrutura expl´
ıcita ou impl´
ıcita de pilha, que ´ a sua forma recursiva. O
e
caminhamento do algoritmo pode ser implementado de duas formas: com quatro dire¸˜es,
co
14. ´ ˜ ´
CAPITULO 2. REVISAO BIBLIOGRAFICA 7
ou com oito dire¸˜es como ilustrado na Figura 2.1. A diferen¸a ´ que com oito dire¸˜es,
co c e co
o algoritmo ´ capaz preencher ´reas que o de quatro dire¸˜es n˜o tem acesso, devido `
e a co a a
vizinhan¸a que cada um consegue alcan¸ar.
c c
(a) (b)
¸˜ ¸˜
Figura 2.1: a) flood-fill com 4 direcoes; b) flood-fill com 8 direcoes
2.3 Perfil de Linha
O perfil de linha de uma imagem com 256 tons de cinza ´ uma proje¸˜o da dis-
e ca
tribui¸˜o do n´ de cinza de cada pixel contido em cada posi¸˜o ao longo de uma deter-
ca ıvel ca
minada linha. O perfil de linha P Lx de uma imagem f poder ser definido por:
P Lx = {f (x, y), ∀y ∈ [0, N − 1]} (2.4)
onde x ´ a linha que est´ sendo analisada, y ´ a coluna e N ´ a largura da imagem f
e a e e
analisada. [MG04]
(a) (b) (c) (d)
¸˜
Figura 2.2: Ilustracao que demonstra o comportamento do perfil de linha em trˆ s linhas distintas
e
da imagem. a) Imagem Original; b) Perfil de Linha 1 (linha superior); c) Perfil de Linha 2 (linha
central); d) Pefil de linha 3 (linha inferior)
15. ´ ˜ ´
CAPITULO 2. REVISAO BIBLIOGRAFICA 8
2.4 Trabalhos Relacionados
No trabalho desenvolvido por [BDRBC97], foi proposto um m´todo de localiza¸˜o
e ca
de placas, baseado no fato de que a ´rea da placa possui um padr˜o de varia¸˜o tonal
a a ca
diferente do restante da imagem. A essa caracter´
ıstica deu-se o nome de “assinatura”,
que em outras palavras, ´ a ´rea prov´vel da localiza¸˜o da placa, a partir de um padr˜o
e a a ca a
previamente observado. A referida “assinatura”´ caracterizada por sucessivos pontos de
e
m´ximos e m´
a ınimos, caracterizados pela intercala¸˜o de caracteres e fundo presentes no
ca
perfil de linha, que corta horizontalmente a regi˜o da placa. Por fim, no referido tra-
a
balho, ap´s a localiza¸˜o de uma linha que possui as caracter´
o ca ısticas de uma “assinatura”,
a localiza¸˜o da placa dar-se-´ pela compara¸˜o de caracter´
ca a ca ısticas pr´-definidas empiri-
e
camente com medidas calculadas dinamicamente, como distˆncia e amplitude dos pontos
a
de m´ximos e m´
a ınimos da linha candidata.
A t´cnica descrita em [BDRBC97] apresenta um bom desempenho, entretanto, os
e
autores n˜o explicitaram como a “assinatura”tratou da dificuldade de identificar quais
a
pontos m´ximos e m´
a ınimos s˜o relevantes para a identifica¸˜o da assinatura, que muitas
a ca
vezes retorna um falso positivo, devido ` presen¸a de outros elementos na imagem com a
a c
mesma caracter´
ıstica.
Para tratar essa dificuldade, [MG04] aperfei¸oou o m´todo de localiza¸˜o de placas
c e ca
desenvolvido por [BDRBC97], utilizando para isso operadores morfol´gicos de white-top
o
hat e black top-hat concebido por [SER88], para filtrar o perfil de linha com o prop´sito
o
de diminuir a ocorrˆncia de falsos positivos na an´lise da assinatura.
e a
J´ [CPR04] apresentou uma t´cnica baseada na variˆncia do perfil de linha, para
a e a
localizar a placa. O algoritmo proposto pelo autor identifica a linha de maior variˆncia
a
na imagem, e ap´s encontrada, ´ determinada uma faixa ´tima que segundo o autor,
o e o
´ a faixa prov´vel onde est´ localizada a placa. Ap´s encontrada essa faixa ´tima, o
e a a o o
16. ´ ˜ ´
CAPITULO 2. REVISAO BIBLIOGRAFICA 9
algoritmo percorre novamente a imagem em busca da localiza¸˜o da ´rea candidata. Nesta
ca a
nova itera¸˜o, o algoritmo encontra o valor do limiar calculado a partir dos valores do
ca
maior e menores picos da linha amostrada. Para analisar os picos encontrados na an´lise
a
anterior, o algoritmo trabalha com valores pr´-definidos, que caracterizam a largura da
e
placa. Segundo o autor, a abordagem utilizada no m´todo proposto mostrouse eficiente
e
na localiza¸˜o e extra¸˜o de placas de ve´
ca ca ıculos. Entretanto, a referida abordagem, est´
a
condicionada ao conjunto de imagens testadas. Este fato fica transparente se for observado
que o autor utilizou valores pr´-definidos para determinar a faixa ´tima e para determinar
e o
a largura da placa, al´m de n˜o levar em considera¸˜o a presen¸a de outros elementos na
e a ca c
imagem com a mesma caracter´
ıstica da “assinatura”.
O trabalho de [SS00] tamb´m aborda a t´cnica de “assinatura”para localizar o
e e
padr˜o de varia¸˜o tonal, efetuando uma busca em toda a imagem ` procura de linhas
a ca a
horizontais que possuam um padr˜o diferente do restante da imagem. Ap´s encontrar a
a o
a
´rea que mais se enquadra ao padr˜o da “assinatura”, o algoritmo passa para uma segunda
a
fase onde a regi˜o encontrada ´ binarizada, utilizando o algoritmo Niblack 1 proposto por
a e
[NIB86], para ser analisada posteriormente por um algoritmo de procura e verifica¸˜o de
ca
d´
ıgitos.
[SCY00] propˆs um m´todo que tamb´m se enquadra na categoria an´lise da “assi-
o e e a
natura”por varia¸˜o tonal. O referido trabalho, no entanto, realiza um pr´-processamento
ca e
aplicando o operador unidimensional Sobel 2 , que pode ser visto com mais detalhes em
[GW02]. Em cada linha da imagem, utiliza-se uma m´scara M = [−1, 0, 1] sobre a ima-
a
gem para real¸´-la, afim de explicitar mais o contraste existente entre os caracteres e o
ca
fundo da imagem. O operador Sobel tem o objetivo de pr´-processar a imagem, com o
e
prop´sito de facilitar a identifica¸˜o do perfil que caracteriza a placa. O referido m´todo
o ca e
pode ser visto tamb´m no trabalho desenvolvido por [FER03]. Os picos encontrados no
e
1
Algoritmo que calcula para cada pixel da imagem a m´ dia e o desvio padr˜ o da vizinhanca em torno dele, e a
e a ¸
seguir, compara o valor do pixel analisado com o limiar f (x, y). Se o valor do pixel for maior que f (x, y), ele e
´
´
considerado pertencente ao fundo, caso contr´ rio, e considerado pertencente a algum objeto.
a
2
¸˜
Operador utilizado para realizar a deteccao de borda em uma imagem.
17. ´ ˜ ´
CAPITULO 2. REVISAO BIBLIOGRAFICA 10
perfil de linha menores que um valor Θ e os picos negativos s˜o descartados. Uma codi-
a
fica¸˜o em fun¸˜o da largura dos picos ´ feita, resultando em intervalos que representam
ca ca e
as distˆncias entre os elementos encontrados. A fase subseq¨ente analisa os elementos en-
a u
contrados quanto a suas dimens˜es horizontais. Aqueles intervalos que estiverem dentro
o
das dimens˜es esperadas s˜o agrupados at´ formarem grupos com dimens˜es pr´ximas as
o a e o o
das placas. Devido ` possibilidade de existirem diversas ´reas candidatas, ´ necess´rio
a a e a
um modo de verificar qual delas ´ realmente v´lida. Este procedimento ´ feito atrav´s de
e a e e
uma procura bidirecional nas linhas adjacentes ` linha amostrada. Quando um grupo de
a
linhas ´ aproximadamente igual a dimens˜o vertical dos caracteres, este ´ considerado o
e a e
local da placa.
Outro trabalho que tamb´m apresenta a utiliza¸˜o da “assinatura”´ o desenvolvido
e ca e
por [YM05], que como o trabalho de [SCY00] e [FER03], utiliza o operador unidimen-
sional Sobel para determinar ´reas candidatas a placa e usa a morfologia matem´tica para
a a
efetivamente localizar ` placa.
a
Dentre os in´meros trabalhos relacionados na literatura que tratam do assunto
u
desta monografia, foi conveniente destacar aqueles que possuem alguma influˆncia sobre o
e
modelo proposto neste trabalho. Entretanto, existe outro grande n´mero de trabalhos que
u
utilizaram outros tipos de t´cnicas para localizar a placa que valem a pena ser brevemente
e
citados, como por exemplo o trabalho de [YS05], que utiliza de t´cnicas de l´gica Fuzzy;
e o
o desenvolvido por [GRT02], [KTK+ 03], [TK99], que utiliza de redes neurais artificiais,
o proposto por [YGN+ 03] que localiza a placa utilizando uma combina¸˜o da t´cnica de
ca e
Hough concebida inicialmente por [Hou62] para localizar linhas em uma imagens e uma
t´cnica denominada pelo autor de Voted Block Matching, para localizar a regi˜o da placa.
e a
18. Cap´tulo 3
ı
M´ todo Proposto
e
Para realizar este trabalho, foram assumidas duas premissas b´sicas, que condi-
a
cionaram a forma do desenvolvimento de uma seq¨ˆncia l´gica de etapas e, conseq¨en-
ue o u
temente, dos algoritmos necess´rios para o desenvolvimento deste trabalho. As referidas
a
premissas s˜o descritas como:
a
• Eficiente - que o algoritmo proposto percorra o m´
ınimo poss´ na imagem;
ıvel
• Adapt´vel - que o algoritmo se adapte `s situa¸˜es de varia¸˜o de luminosidade,
a a co ca
contraste e resolu¸˜o de cada imagem de forma dinˆmica.
ca a
Tendo em vista que o principal fator cr´
ıtico de sucesso para um sistema de iden-
tifica¸˜o autom´tico de placas de ve´
ca a ıculos ´ a fase de localiza¸˜o da placa, o m´todo
e ca e
proposto foca principalmente no referido fator cr´
ıtico, acreditando que o sucesso de um
OCR depende totalmente do sucesso da etapa de localiza¸˜o. Ademais, atrelando aos ob-
ca
jetivos apresentados pelas premissas, condicionou-se ao desenvolvimento de uma seq¨ˆncia
ue
l´gica de etapas, que fizesse uso das vantagens apresentadas por cada um dos algoritmos
o
dos outros trabalhos estudados, evitando suas deficiˆncias. Sendo assim, as etapas pro-
e
postas neste trabalho foram escolhidas de forma semelhante aos v´rios outros trabalhos
a
publicados na literatura sobre este mesmo assunto, que em outra palavras, s˜o etapas in-
a
11
19. ´ ´
CAPITULO 3. METODO PROPOSTO 12
tuitivas e necess´rias para o desenvolvimento de tal trabalho. Como ilustrado da Figura
a
3.1, as etapas foram divididas em aquisi¸˜o da imagem, localiza¸˜o da placa, prepara¸˜o
ca ca ca
dos caracteres e reconhecimento dos caracteres.
a uˆ
Figura 3.1: Vis˜ o macro da seq¨ encia l´ gica das etapas
o
3.1 ¸˜
Localizacao da Placa
A regi˜o onde a placa est´ localizada ´ caracterizada necessariamente por uma
a a e
varia¸˜o entre pontos de m´ximo e de m´
ca a ınimo, intercalados com amplitude e distˆncia
a
`
semelhantes. A referida caracter´
ıstica, deu-se o nome de “assinatura”, inicialmente pro-
posta por [BDRBC97] e tamb´m utilizada nos trabalhos de [MG04], [CPR04], [SS00],
e
[SCY00], [FER03]. A “assinatura”pode ser facilmente observada no perfil de linha da
Figura 3.2.
A etapa de localiza¸˜o da placa possui como entrada uma imagem digital em n´
ca ıvel
de cinza, que foi previamente adquirida por algum tipo de equipamento de aquisi¸ao de
c˜
imagem, cˆmera digital, filmadora, entre outros. Eventualmente, a imagem adquirida
a
pode ou n˜o conter uma placa. Caso n˜o haja placa na imagem, o algoritmo retorna
a a
as coordenadas da regi˜o que mais se assemelha `s caracter´
a a ısticas pr´-definidas de uma
e
20. ´ ´
CAPITULO 3. METODO PROPOSTO 13
¸˜
Figura 3.2: Demonstracao do perfil de linha. a) Imagem original com duas an´ lises de “assi-
a
`
natura”ortogonais a placa. b) Perfil de linha superior, cortando os far´ is. c) Perfil de linha
o
inferior cortando a placa.
placa. Caso contr´rio, a etapa de localiza¸˜o da placa tem como sa´ as coordenadas
a ca ıda
referentes a placa. Quem vai dizer se a regi˜o selecionada ´ placa ou n˜o ´ a etapa de
a e a e
reconhecimento dos caracteres e ser´ explicada com detalhes posteriormente.
a
O m´todo utilizado neste trabalho para localizar a placa est´ fortemente embasado
e a
na estat´
ıstica descritiva que se justifica para atender a segunda premissa enunciada na
metodologia. A escolha da estat´
ıstica, representada aqui neste trabalho por trˆs dos seus
e
v´rios conceitos: m´dia(¯), variˆncia(s2 ) e desvio padr˜o(s), adequa-se muito bem ` um
a e x a a a
ambiente com situa¸˜es de varia¸˜o de luminosidade, contraste e resolu¸˜o, como ´ uma
co ca ca e
situa¸˜o real de um sistema de localiza¸˜o autom´tica de placa de ve´
ca ca a ıculos. Esses trˆs
e
conceitos, na etapa de localiza¸˜o da placa, s˜o utilizados sobre o perfil de linha P Lx .
ca a
A ado¸˜o da estat´
ca ıstica neste trabalho ´ necess´ria, para que a an´lise de P Lx seja feita
e a a
de forma dinˆmica, afim de encontrar alguns padr˜es que caracterizam uma placa. Nesta
a o
etapa, os trˆs conceitos s˜o utilizados da seguinte forma:
e a
21. ´ ´
CAPITULO 3. METODO PROPOSTO 14
n−1
P Lx [y]
y=0
x(P Lx ) =
¯ (3.1)
n
n−1
(P Lx [y] − x(P Lx ))2
¯
y=0
s2 (P Lx ) = (3.2)
n
s(P Lx ) = s2 (P Lx ) (3.3)
A etapa de localiza¸˜o da placa inicia-se com uma varredura na imagem em busca
ca
de linhas horizontais, que possuam um padr˜o de varia¸˜o tonal esperado, caracterizando
a ca
a “assinatura”. Para reduzir o tempo gasto na procura da placa, as linhas s˜o amostradas
a
em intervalos regulares τ . A escolha do valor de τ depende do tamanho dos caracteres
procurados, devendo, entretanto, ser necessariamente menor que a sua dimens˜o vertical.
a
Embora quanto maior o valor de τ , mais a premissa de eficiˆncia citada anteriormente
e
ser´ atendida. Uma imagem f de M linhas pode ter o seu processamento reduzido, se as
a
linhas a serem analisadas na varredura respeitarem a seguinte defini¸˜o:
ca
f (x , y) = {f (x, y), ∀x ∈ [0, M − 1] ⇔ x mod τ = 0} (3.4)
onde f (x , y) representa as linhas x da imagem f (x, y), se e somente se, a linha x for
m´ltipla de τ . As linhas, s˜o representadas por x, e y s˜o as colunas.
u a a
Para a compreens˜o do m´todo desenvolvido para localizar a placa, foram criados
a e
dois conceitos: PM ax , que representa um ponto de m´ximo do perfil de linha P Lx da
a
imagem f e PM in , que representa um ponto de m´
ınimo do perfil de linha P Lx da imagem
f . Os dois conceitos s˜o definidos como:
a
s(P Lx )
PM ax = P Lx [y] ≥ x(P Lx ) +
¯ ∀y ∈ [0, N − 1] (3.5)
λ
s(P Lx )
PM in = P Lx [y] ≤ x(P Lx ) −
¯ ∀y ∈ [0, N − 1] (3.6)
λ
22. ´ ´
CAPITULO 3. METODO PROPOSTO 15
onde P Lx [y] corresponde ao valor do pixel em cada posi¸˜o do perfil de linha P Lx
ca
Como j´ citado, a regi˜o onde a placa se encontra ´ fortemente caracterizada por
a a e
um padr˜o denominado “assinatura”. No trabalho proposto por [MG04], a placa ´ lo-
a e
calizada atrav´s da an´lise das distˆncias dos pontos de m´ximo e m´
e a a a ınimo presentes no
padr˜o da “assinatura”. N˜o obstante, outro trabalho com o mesmo prop´sito desen-
a a o
volvido por [CPR04] determina, a partir da variˆncia do perfil de linha, os pontos de
a
m´ximo e m´
a ınimo.
Neste trabalho, os pontos de m´ximo e m´
a ınimo s˜o determinados de forma seme-
a
lhante aos trabalhos de [MG04] e [CPR04]. Entretanto, a estat´
ıstica ´ usada de forma
e
mais efetiva em rela¸˜o ao trabalho de [CPR04] e sem a necessidade de pr´-processamento
ca e
como ´ o caso do trabalho de [MG04]
e
Os pontos de m´ximos PM ax e m´
a ınimos PM in s˜o escolhidos, a partir de uma
a
varredura da esquerda para a direita no perfil de linha P Lx de cada linha x da ima-
gem f . A partir de observa¸˜es emp´
co ıricas do comportamento das caracter´
ısticas da
“assinatura”, nota-se que apenas a utiliza¸˜o da m´dia dos valores dos pixels do perfil de
ca e
linha ´ necess´ria, entretanto, n˜o ´ suficiente para discernir o que ´ ponto de m´ximo e
e a a e e a
o que ´ ponto de m´
e ınimo de forma coesa.
Observando a diferen¸a abrupta de tons de cinza referentes ao fundo da placa
c
em rela¸˜o aos seus caracteres, ´ poss´ notar duas caracter´
ca e ıvel ısticas marcantes da “assi-
natura”:
• Uma aplitude dos n´
ıveis de cinza entre o fundo da placa e seus respectivos caracteres.
• Uma condensa¸˜o entre os pontos de m´ximos e m´
ca a ınimos da amplitude.
A partir dessas duas caracter´
ısticas, ´ ent˜o necess´rio atribuir duas pr´-condi¸˜es,
e a a e co
para diminuir a taxa de falsos positivos:
23. ´ ´
CAPITULO 3. METODO PROPOSTO 16
• s2 (P Lx ) < (Θ.¯), onde Θ ´ um multiplicador definido empiricamente, s2 (P Lx )
x e
refere-se ao valor da variˆncia do perfil de linha. Perfil de linhas com amplitude
a
menor que (Θ.¯) s˜o descartadas.
x a
• Como a regi˜o da “assinatura”´ caracterizada por uma regi˜o com altas amplitudes
a e a
referentes aos pontos de m´ximos e m´
a ınimos e de forma condensada, conforme
ilustrado na Figura 3.3, ´ necess´rio atribuir um desvio em rela¸˜o ` m´dia para
e a ca a e
cima e para baixo, que seja suficiente para encontrar os pontos de m´ximo e m´
a ınimos
da “assinatura”e que tamb´m seja suficiente para descartar regi˜es que n˜o possuem
e o a
amplitudes como as observadas na “assinatura”. Esse desvio deve ser definido de
forma dinˆmica, atrav´s do c´lculo da m´dia, mediana e desvio padr˜o do perfil de
a e a e a
linha.
As duas caracter´
ısticas presentes na “assinatura”e a desvio atribu´ em rela¸˜o
ıdo ca
ao valor da m´dia do perfil de linha podem ser visualizados na Figura 3.3.
e
¸˜
Figura 3.3: Identificacao dos pontos de m´ ximos e m´nimos, a partir da an´ lise estat´stica do
a ı a ı
perfil de linha
Para que um ponto seja considerado como ponto de m´ximo, ele deve possuir um
a
tom de cinza maior que a m´dia somada com a metade do desvio padr˜o correspondente.
e a
Para o ponto de m´
ınimo, o racioc´
ınio ´ o mesmo, modificando apenas que o pixel deve
e
ser menor que a m´dia subtra´ da metade do desvio padr˜o correspondente. Al´m
e ıda a e
24. ´ ´
CAPITULO 3. METODO PROPOSTO 17
dessa regra para a escolha dos pontos de m´ximo e m´
a ınimo, uma vez que um ponto
foi considerado como ponto de m´ximo, o pr´ximo ponto s´ poder´ ser um ponto de
a o o a
m´
ınimo, sequenciamente, o pr´ximo ponto s´ poder´ ser um ponto de m´ximo, e assim
o o a a
sucessivamente intercalando pontos de m´ximo e m´
a ınimo, at´ atingir o final do perfil de
e
linha. Como pode ser notado na Figura 3.3, os pontos de m´ximo n˜o s˜o necessariamente
a a a
os picos do perfil de linha. Nesse caso, o ponto de m´ximo passa a ser o primeiro ponto
a
que respeita a l´gica descrita acima, o mesmo acontecendo com os pontos de m´
o ınimo.
Ap´s definido o conceito de PM ax e PM in e entendido o processo de discernir o que
o
´ ponto de m´ximo e o que ´ ponto de m´
e a e ınimo, ´ necess´rio a compreens˜o de mais dois
e a a
conceitos: LPM ax , que representa uma lista contendo as ocorrˆncias dos pontos de m´ximo
e a
de cada perfil de linha P Lx da imagem f . E, LPM in , que tem o mesmo sentido de LPM ax ,
no entanto, contendo as ocorrˆncias dos pontos de m´
e ınimo.
1, se P Lx [y] = PM ax
f lagM ax [xi ] = (3.7)
0, se P Lx [y] = PM ax
1, se P Lx [y] = PM in
f lagM in [xi ] = (3.8)
0, se P Lx [y] = PM in
onde y ∈ [0, N − 1] e xi ∈ [0, N − 1] .
N −1
LPM ax [x ] = f lagM ax [xi ] ∈ P Lx , ∀P Lx ∈ f (x , y) (3.9)
xi =0
N −1
LPM in [x ] = f lagM in [xi ] ∈ P Lx , ∀P Lx ∈ f (x , y) (3.10)
xi =0
Para definir em qual linha est´ situada a placa, as listas LPM ax e LPM in s˜o anali-
a a
sadas. As duas listas n˜o precisam ser analisadas em conjunto, sendo assim, este trabalho
a
referenciar´ apenas a lista LPM ax . No entanto, a an´lise tamb´m pode ser feita sobre a
a a e
lista LPM in .
25. ´ ´
CAPITULO 3. METODO PROPOSTO 18
Como j´ dito, a placa ´ caracterizada por sucessivos pontos de m´ximos e m´
a e a ınimos,
intercalados com amplitude e distˆncia semelhantes. Toda a metodologia de escolha
a
de pontos de m´ximo e m´
a ınimo j´ foi previamente elaborada, para que o M ax(LPM ax )
a
contenha a assinatura procurada, onde M ax(LPM ax ) ´ a posi¸˜o da lista LPM in com o
e ca
maior n´mero de pontos de m´ximo.
u a
Para verificar a veracidade do m´todo, os elementos vizinhos de M ax(LPM ax ), ou
e
seja, os V (M ax(LPM ax )), tamb´m s˜o analisados, para diminuir a taxa de falsos positivos
e a
se, eventualmente, a linha encontrada em M ax(LPM ax ) possuir ru´
ıdos ou pertuba¸˜es,
co
que possuam a mesma caracter´
ıstica esperada para a placa. A an´lise dos vizinhos ´
a e
realizada da seguinte forma: a linha de cima e a linha de baixo da linha encontrada em
M ax(LPM ax ) s˜o verificadas, a fim de saber qual das duas contˆm o maior n´mero de
a e u
PM ax . Ap´s encontrada qual das duas possui o maior n´mero de PM ax . Essa linha ´
o u e
analisada com a linha encontrada em M ax(LPM ax ). Se a linha vizinha a M ax(LPM ax )
com o maior n´mero de PM ax for pelo menos δ%deMax(LPM ax ), ent˜o a linha contida em
u a
M ax(LPM ax ) ´ caracterizada como a linha prov´vel para a placa. Caso a condi¸˜o n˜o
e a ca a
seja aceita, ´ feita uma nova busca na lista de LPM ax , buscando agora a segunda posi¸˜o
e ca
que cont´m o maior n´mero de PM ax . Os passos descritos acima se repetem at´ obter um
e u e
valor que seja pelo menos δ%deMax(LPM ax ), ou ent˜o, at´ que todas as posi¸˜es da lista
a e co
LPM ax sejam analisadas, at´ concluir que a imagem n˜o possui placa .
e a
Ap´s o processo descrito acima, ´ esperado em uma imagem que contenha a placa
o e
o seguinte resultado, conforme Figura 3.4
Para localizar a regi˜o que mais se caracteriza como uma placa ao longo da linha
a
ilustrada na Figura 3.4, o perfil de linha ´ submetido novamente a uma inspe¸˜o. Neste
e ca
ponto, a busca para de ser vertical e passa a ser horizontal, ou seja, ap´s encontrar a
o
linha x que mais se enquadra ao padr˜o esperado p´ra a ‘assinatura”, o objetivo agora
a a
´ determinar em qual posi¸˜o efetivamente come¸a e termina a regi˜o delimitada pela
e ca c a
26. ´ ´
CAPITULO 3. METODO PROPOSTO 19
Figura 3.4: Linha encontrada com base na an´ lise estat´stica do perfil de linha.
a ı
placa.
O algoritmo percorre o perfil de linha, criando uma nova lista com o c´lculo da
a
distˆncia entre cada ponto de m´ximo ou de cada ponto de m´
a a ınimo, referentes `s distˆncias
a a
de duas posi¸˜es y do perfil de linha P Lx . Ap´s percorrer o perfil de linha e preencher a
co o
estrutura de dados ilustrada na Figura 3.6 b), o algoritmo utiliza novamente os conceitos
ısticos de m´dia(¯), variˆncia(s2 ) e desvio padr˜o(s). Os trˆs valores estat´
estat´ e x a a e ısticos s˜o
a
calculados, a partir da lista que foi criada com os c´lculos das distˆncias. Esta opera¸˜o
a a ca
pode ser descrita pela defini¸˜o a seguir:
ca
s
Linf = x+
¯ (3.11)
α
Ldis [xi ] > Linf , f lag = 1 (3.12)
Ldis [xi ] ≤ Linf , f lag = 0 (3.13)
onde α ´ um valor inteiro suficiente para separar as distˆncias maiores das distˆncias
e a a
menores. Linf caracteriza o limite inferior, que servir´ como um limiar para separar
a
distˆncias entre dois pontos maior de distˆncia entre dois pontos menores. Os valores
a a
de distˆncia da lista de distˆncias Ldis [xi ] maiores que Linf assumem f lag = 1, caso
a a
contr´rio, assumem f lag = 0. E s representa o desvio padr˜o das distˆncias de pontos de
a a a
m´ximo.
a
Observando o perfil de linha da Figura 3.3, ´ not´vel que existe uma regi˜o onde
e a a
27. ´ ´
CAPITULO 3. METODO PROPOSTO 20
os pontos de m´ximo e de m´
a ınimos est˜o mais condensados. A defini¸˜o acima busca
a ca
exatamente localizar a referida condensa¸˜o, atribuindo 0 para as distˆncias maiores e 1
ca a
para as distˆncias curtas. A regi˜o da lista Ldis com a maior condensa¸˜o de valores 1
a a ca
´ considerada como a regi˜o da placa e as coordenadas s˜o remetidas como ilustrado na
e a a
Figura 3.5.
a o ¸˜
Figura 3.5: Regi˜ o encontrada ap´ s analisar a condensacao dos pontos de m´ ximo
a
As estruturas de dados usadas para localizar a linha candidata ` placa e a estrutura
a
usada para localizar as coordenadas exatas das linhas candidatas est˜o ilustradas nas
a
Figuras 3.6 a) e b), respectivamente.
(a) (b)
¸˜
Figura 3.6: Estruturas de dados utilizadas para localizacao da placa a) Estrutura de dados para
¸˜
localizacao da linha candidata; b) Estrutura de dados usada para localizar as coordenadas exatas
da placa na linha candidata identificada pela estrutura da Figura a).
28. ´ ´
CAPITULO 3. METODO PROPOSTO 21
3.2 ¸˜
Preparacao dos Caracteres
Ap´s a etapa de localiza¸˜o da placa, onde as coordenadas referentes ` poss´
o ca a ıvel
localiza¸˜o da placa s˜o identificadas. A etapa de prepara¸˜o dos caracteres tem o objetivo
ca a ca
de analisar a ´rea delimitada pelas referidas coordenadas, afim de obter as ´reas de cada
a a
caracter segmentada e binarizada da imagem original. Contudo, isso em condi¸˜es que
co
facilite e aumente a precis˜o de um algoritmo de OCR. Caso n˜o haja um caracter na
a a
a
´rea segmentada, esta etapa ter´ como sa´ coordenadas errˆneas de ´reas que mais se
a ıda o a
adequam ` l´gica do algoritmo descrito a seguir.
a o
A etapa de prepara¸˜o dos caracteres, por sua vez, tamb´m utiliza as medidas
ca e
ısticas de m´dia(¯), variˆncia(s2 ) e desvio padr˜o(s). Os trˆs valores estat´
estat´ e x a a e ısticos s˜o
a
calculados a partir do perfil de linha P Lx encontrado na etapa de localiza¸˜o da placa,
ca
que mais se assemelha ao padr˜o de “assinatura”procurado corretamente delimitado pela
a
regi˜o encontrada ap´s analisar a condensa¸˜o dos pontos de m´ximo. A estat´
a o ca a ıstica
descritiva ´ novamente utilizada nesta etapa para garantir que o m´todo continue sendo
e e
adapt´vel com varia¸˜o de ilumina¸˜o e contraste.
a ca ca
O objetivo desta etapa ´ separar cada caracter contido na placa e trat´-los separa-
e a
damente. Uma vers˜o adaptada do algoritmo flood-fill foi formulada neste trabalho, para
a
que a segmenta¸˜o dos caracteres fosse poss´
ca ıvel. Para entender como o flood-fill se tornou
adapt´vel, segue a defini¸˜o de como a CorAntiga ´ atribu´
a ca e ıda:
CorAntiga = {¯(P Lx )}
x (3.14)
ou seja, CorAntiga recebe a m´dia dos n´
e ıveis de cinza de P Lx , delimitado pela ´rea
a
encontrada ap´s analisar a condensa¸˜o dos pontos de m´ximo.
o ca a
O algoritmo percorre o perfil de linha da esquerda para direita e quando encontrar
29. ´ ´
CAPITULO 3. METODO PROPOSTO 22
um pixel menor que CorAntiga, ou seja, 0 < CorN ova < CorAntiga, o algoritmo executa
o flood-fill e a ´rea encontrada ´ caracterizada como um caractere. Essa busca ´ realizada
a e e
at´ encontrar o final de P Lx .
e
A Figura 3.7 ilustra as ´reas dos caracteres encontrados ap´s a utiliza¸˜o do flood-
a o ca
fill adaptado, onde cada caracter foi separado e binarizado, e est´ pronto para ser enviado
a
para um OCR.
´ ¸˜
Figura 3.7: Area dos caracteres localizada com a utilizacao do flood-fill adaptado.
3.3 Reconhecimento dos Caracteres
Ap´s a localiza¸˜o da placa e prepara¸˜o dos caracteres, j´ ´ poss´ utilizar um
o ca ca ae ıvel
OCR com objetivo de reconhecer os caracteres referentes ` placa. Se eventualmente n˜o
a a
for reconhecido nenhum caracter ou se os caracteres reconhecidos n˜o caracterizarem uma
a
placa com os padr˜es nacionais de trˆnsito, esta etapa tem como sa´ uma sinaliza¸˜o
o a ıda ca
que indica que o processo dever´ ser reiniciado a partir da etapa localiza¸˜o dos caracteres.
a ca
Entretanto, agora o valor de x referente n˜o mais ` M ax(LPM ax ) e M ax(LPM in ) presentes
a a
na primeira itera¸˜o, mas referente ` segunda maior quantidade de pontos de m´ximo
ca a a
e m´
ınimo. A lista completa de todos os valores em ordem decrescentes dos pontos de
m´ximo e m´
a ınimo LPM ax e LPM in j´ foi previamente armazenada em mem´ria na etapa
a o
de localiza¸˜o da placa. Se a nova itera¸˜o falhar novamente, todo processo poder´ ser
ca ca a
realizado novamente at´ o n´mero total de x ou at´ um limite de itera¸˜es previamente
e u e co
estabelecido. Para reconhecer os caracteres, este trabalho utilizou uma ferramenta OCR
de terceiros. Entendendo que o simples fato de utilizar um OCR n˜o ´ suficiente para a
a e
30. ´ ´
CAPITULO 3. METODO PROPOSTO 23
sua identifica¸˜o e que a referida ferramenta j´ ´ uma tecnologia dominada e consagrada
ca ae
no mercado e no meio acadˆmico, atingido um alto n´ de acertos.
e ıvel
31. Cap´tulo 4
ı
Experimentos e Resultados
Para realizar este trabalho, foi coletada uma base de dados de imagens, que se en-
contram em situa¸˜o de ambiente controlado. Um ambiente controlado necessariamente ´
ca e
um ambiente que propicia o mesmo ˆngulo de tomada, na mesma distˆncia e mesmo grau
a a
de luminosidade. Um ambiente dito controlado pode ser encontrado em entradas de shop-
ping ou estacionamento, como ´ o caso das imagens utilizadas neste trabalho. A escolha
e
de imagens em um ambiente controlado s˜o necess´rias para diminuir a complexidade dos
a a
algoritmos, agindo pontualmente em uma determinada dificuldade e aumentando assim a
probabilidade de acerto. A Tabela 4.1 demonstra as caracter´
ısticas das imagens utilizadas
neste trabalho. Para realizar os experimentos, foram coletadas imagens com exemplos de
placas de v´rios pa´ do mundo com diferentes dimens˜es.
a ıses o
Banco de dados de imagem
N´ mero de Imagens
u 139
¸˜
Resolucao 96 DPI
Cores 256 Cores (8BitsPorPixel)
Tipo de Arquivo JPG
Tabela 4.1: Tabela que demonstra as caracter´sticas das imagens utilizadas no trabalho
ı
Foi utilizado para processar as imagens um computador com as configura¸˜es des-
co
critas na Tabela 4.2
As etapas de localiza¸˜o da placa e prepara¸˜o dos caracteres mostrou extrema-
ca ca
24
32. ´
CAPITULO 4. EXPERIMENTOS E RESULTADOS 25
¸˜
Configuracao utilizada
Processador AMD Athlon(TM)XP 2600+ 1.92GHz
Mem´ ria
o 256MB
Sistema Operacional Windows XP Professional
¸˜
Linguagem deProgramacao Delphi 7
Tabela 4.2: Tabela que demonstra as caracter´sticas de hardware e software utilizados
ı
mente eficiente do ponto de vista de tempo de processamento. Como um dos principais
objetivos desta proposta ´ localizar a placa e preparar os caracteres para o reconheci-
e
mento em um OCR, de forma que o algoritmo percorra o m´
ınimo poss´ da imagem.
ıvel
Esse objetivo foi alcan¸ado na etapa para localizar os pontos de m´ximo PM ax e pontos
c a
de m´
ınimo PM in , onde o algoritmo passa a trabalhar com a imagem f (x , y) e n˜o mais
a
com a imagem original f (x, y), al´m das pr´-condi¸˜es como o perfil de linhas com am-
e e co
plitude menor que (Θ . x) serem descartados e perfis de linhas que n˜o se enquadram
¯ a
no padr˜o da “assinatura”tamb´m ser˜o descartados. Com a utiliza¸˜o conjunta desses
a e a ca
m´todos, a quantidade de pixels a serem analisados na imagem original f (x, y) diminuem
e
significamente, o que pode ser observado com os dados demonstrados na Tabela 4.3
Tempos Obtidos
Etapa em milesegundos em segundos
¸˜
Localizacao da Placa 32 ms p/imagem 31,25 imagens p/s
¸˜
Preparacao dos Caracteres 15 ms p/imagem 66,66 imagens p/s
OCR 80 ms p/imagem 12,50 imagens p/s
Total 127 ms p/imagem 7,87 imagens p/s
Tabela 4.3: Tabela que demonstra os tempos m´ dios obtidos do algoritmo em cada etapa
e
Cada conjunto de imagem de cada pa´ analisado possui caracter´
ıs ısticas pr´prias
o
quanto ` ilumina¸˜o, distˆncia e ˆngulo de tomada, al´m de possuir padr˜es de numera¸˜o
a ca a a e o ca
espec´
ıficos para cada pa´ como pode ser visto na Figura 4.1. Entretanto, para o algo-
ıs,
ritmo, os referidos fatos s˜o indiferentes, levando em considera¸˜o que a busca pela placa
a ca
´ realizada da mesma forma e entendendo que o fator cr´
e ıtico de sucesso do algoritmo ´
e
que apenas o ve´
ıculo esteja contido na imagem. Imagem que al´m da presen¸a do ve´
e c ıculo,
contenha tamb´m outros objetos que n˜o pertencem ao autom´vel aumenta considerav-
e a o
elmente a possibilidade de haver outra regi˜o com as mesmas caracter´
a ısticas esperadas
33. ´
CAPITULO 4. EXPERIMENTOS E RESULTADOS 26
para “assinatura”. Os conjuntos de imagens exemplificados pela Figura 4.1 demonstram
um ambiente ideal para o sucesso do algoritmo. O desempenho da etapa de localiza¸˜o
ca
da placa e da etapa de prepara¸˜o dos caracteres ´ apresentado na Tabela 4.4
ca e
Desempenho do Algoritmo
Pa´s
ı No de Images Localizacao da placa Preparacao dos Caracteres
¸˜ ¸˜
Brasil 31 27 - 87,0% 16 - 51,6%
Holanda 39 39 - 100% 31 - 79,4%
Israel 39 37 - 94,8% 29 - 74,3%
Austr´ lia
a 30 27 - 90% 14 - 46,6%
¸˜
Tabela 4.4: Tabela que demonstra a taxa de acerto da etapa de localizacao da placa e da etapa
¸˜
de preparacao dos caracteres, utilizando placas de v´ rios pa´ses
a ı
(a) Brasil (b) Holanda
(c) Israel (d) Austr´ lia
a
¸˜
Figura 4.1: Resultado do algoritmo de localizacao da placa em diversos n´veis de luminosidade,
ı
ˆ
angulo de distˆ ncia de tomada
a
Neste trabalho, foram criadas duas premissas que presavam a eficiˆncia e a adap-
e
tabilidade do algoritmo proposto. As referidas premissas foram elaboradas para efetivar
o desenvolvimento de um m´todo que diminu´ a taxa de particularidade de algoritmos
e ısse
j´ desenvolvidos. Tais particularidades podem ser percebidas no trabalho de [SCY00],
a
que apesar de ser eficiente do ponto de vista de velocidade de processamento, demonstrou
ser segundo o autor, pouco eficaz no que diz respeito ` sua exposi¸˜o em condi¸oes de
a ca c˜
ilumina¸˜o vari´veis. Entretanto, outro algoritmo desenvolvido por [CBW98] apresentou
ca a
ser eficiente quanto ` varia¸˜o de ilumina¸˜o, mas em contrapartida, tamb´m segundo o
a ca ca e
autor, apresentou ser pouco eficiente no quesito tempo de processamento.
34. ´
CAPITULO 4. EXPERIMENTOS E RESULTADOS 27
(a) Brasil (b) Holanda
(c) Israel (d) Austr´ lia
a
¸˜
Figura 4.2: Resultado do algoritmo de preparacao dos caracteres em diversos n´veis de lumi-
ı
ˆ
nosidade, angulo de distˆ ncia de tomada
a
Contudo, o algoritmo apresentado neste trabalho mostrou-se eficiente no quesito
tempo de processamento e adapt´vel `s v´rias condi¸˜es de ilumina¸˜o diferentes, sem
a a a co ca
comprometer o tempo gasto. No entanto, foi poss´ observar que em algumas situa¸˜es
ıvel co
o algoritmo falha. A Figura 4.3 demonstra uma situa¸˜o t´
ca ıpica na qual o algoritmo n˜o ´
a e
capaz de localizar a placa, levando ` sinaliza¸˜o de um ponto onde o processo n˜o alcan¸ou
a ca a c
resultado satisfat´rio.
o
Como pode ser notado, as trˆs linhas que representam a m´dia x, a m´dia mais
e e ¯ e
a ¯ s
metade do desvio padr˜o x + 2 e a linha que representa a m´dia menos a metade do desvio
e
s
padr˜o x −
a ¯ 2
passam acima da ´rea que representa a “assinatura”. Este fato se d´ pela
a a
alta concentra¸˜o de pixels com tons de cinza pr´ximos a branco, o que leva a m´dia para
ca o e
cima, gerando a ineficiˆncia do algoritmo nestes casos.
e
(a)
(b)
¸˜
Figura 4.3: Exemplo de uma situacao em que o m´ todo proposto falha. 4.3(a) Imagem da placa
e
indicando um perfil de linha. 4.3(b) Exemplo de um perfil de linha em que o m´ todo proposto
e
a ´
n˜ o e capaz de identificar a “assinatura”.
35. Cap´tulo 5
ı
Conclus˜ o
a
A partir de experimentos realizados neste trabalho em imagens de ve´
ıculo em
um ambiente controlado, notou-se que as duas premissas de adaptabilidade e eficiˆncia
e
descritas no trabalho foram alcan¸adas. Este fato pode ser observados na Tabela 4.3
c
que demonstrou o tempo gasto para processamento das imagens na etapa de localiza¸˜o
ca
e prepara¸˜o dos caracteres e, na Figura 4.3, que demonstra v´rios tipos de ˆngulo de
ca a a
tomada, distˆncia, ilumina¸˜o e contraste.
a ca
O processo de reconhecimento dos caracteres contidos em uma placa depende forte-
mente do m´todo utilizado para encontr´-la e prepar´-la. Com a utiliza¸˜o de t´cnicas de
e a a ca e
processamento de imagens aplicada na an´lise estat´
a ıstica dos perfis de linha da imagem,
possibilitou, principalmente, atrav´s da an´lise estat´
e a ıstica, que o algoritmo trabalhasse
com valores obtidos dinamicamente e, por sua vez, adapt´vel ` situa¸˜es diversas de
a a co
ilumina¸˜o.
ca
Neste trabalho, a localiza¸˜o da placa de ve´
ca ıculo em um cen´rio controlado ocorreu
a
de forma satisfat´ria do ponto de vista do que era esperado no in´ do trabalho, com
o ıcio
o´
ındice de 93% de acerto, sendo que em alguns ambientes, como o caso do grupo de
imagens de autom´veis holandesas, obteve 100% de acerto.
o
28
36. ´ ˜
CAPITULO 5. CONCLUSAO 29
Diferentemente da etapa de localiza¸˜o placa, a etapa de prepara¸˜o dos caracte-
ca ca
res apesar de tamb´m ser embasada sobre valores obtidos atrav´s de an´lise estat´
e e a ıstica,
demonstrou um n´ de acerto abaixo do esperado, com 64% de acerto. No entanto, a
ıvel
prepara¸˜o dos caracteres pode ser descartada se o algoritmo de OCR utilizado sofisticado
ca
o suficiente para realizar esta etapa. Em outras palavras, em um processo de identifica¸˜o
ca
autom´tico dos caracteres contidos em um placa de ve´
a ıculo, o fator cr´
ıtico de sucesso ´
e
a localiza¸˜o da placa, ou seja, se esta etapa falhar, todos as outras etapas subsequentes
ca
falhar˜o e foi nessa etapa que este trabalho teve seu foco.
a
5.1 Sugest˜ o de Estudos
a
Algumas melhorias podem ser realizadas como trabalhos futuros para aperfei¸oar
c
as t´cnicas utilizadas neste trabalho. Uma melhoria que poderia ser realizada ´ quanto a
e e
etapa de prepara¸˜o dos caracteres. Neste trabalho, como pode ser observado na Tabela
ca
4.4, houve um baixo ´
ındice de acerto. No entanto, ap´s a placa j´ ter sido localizada, a
o a
etapa de prepara¸˜o dos caracteres deve apenas preparar a referida ´rea, para que um
ca a
algoritmo de OCR possa ter um resultado mais efetivo. Algumas abordagens podem ser
utilizadas, como por exemplo, melhorar a forma que o flood-fill segmenta os caracteres ou
realizar binariza¸˜es adaptativas, como as conhecidas Otsu, Niblack; ou utilizar t´cnicas
co e
de realce de borda, como Cany; ou at´ mesmo utilizar morfologia matem´tica, para
e a
tentar resolver o problema. Em outras palavras, a etapa de prepara¸˜o dos caracteres
ca
deve separar os caracteres dos outros objetos conexos existentes na regi˜o resultante da
a
etapa de localiza¸˜o da placa.
ca
Outra melhoria que pode ser realizada ´ quanto a inclina¸˜o da placa. Neste tra-
e ca
balho, a tolerˆncia quanto a inclina¸˜o ´ pequena, visto que para o sucesso da localiza¸˜o,
a ca e ca
a inclina¸˜o da placa deve ser de tal forma que o perfil de linha deve pegar o primeiro e
ca
o ultimo caracter da placa.
´
37. ´ ˜
CAPITULO 5. CONCLUSAO 30
Quanto ` falha apresentada e ilustrada na Figura 4.3, uma alternativa para pesquisas
a
futuras seria talves, nos casos espec´
ıficos nas quais o algoritmo falha, executar um pr´-
e
processamento de forma que uma eventual alta concentra¸˜o de pixels pr´ximos de brancos
ca o
ou pixels pr´ximos de pretos seja contornada, com m´todos como white-top hat e black
o e
top-hat concebidos por [SER88].
38. Referˆ ncias Bibliogr´ ficas
e a
[BDRBC97] J. BARROSO, E.L. DAGLESS, A. RAFAEL, and J. BULAS-CRUZ. Number
plate reading using computer vision. IEEE - International Sympositum on
Industrial Eletronics ISIE’97 Universidade do Minho, Guimar˜es, Jul 1997.
a
[CBW98] C. COETZEE, C. BOTHA, and D. WEBER. Pc based number plate recog-
nition system. Proceedings of IEEE International Conference on Industrial
Electronics, 1998.
[CPR04] B. G. CUNHA, J. F. PEREIRA, and W. S. M. RIBEIRO. Localiza¸˜o
ca
de placas de ve´ ´
ıculos utilizando t´cnicas de variˆncia. PRAXIS - Revista do
e a
Instituto Luterano de Ensino Superior de Itumbiara, (5):23–25, jul/dez 2004.
[FER03] A. P. P. FERREIRA. Sistema de Identifica¸˜o Autom´tica de Matr´
ca a ıculas
em Ve´culos Autom´veis. PhD thesis, Instituto Superior de Engenharia de
ı o
Lisboa, 2003.
´
[FSC98] A. A. FARIAS, J. F. SOARES, and C. C. CESAR. Introdu¸˜o ` Estat´stica.
ca a ı
Rio de Janeiro :LTC 2. ed., 1998.
´
[GRT02] C.B. GUINGO, R. J. RODRIGUES, and A. C. G. THOME. Reconhecimento
autom´tico de placas de ve´
a ıculos automotores atrav´s de redes neurais arti-
e
ficiais. 2o . Congresso Brasileiro de Computa¸˜o, 2002.
ca
[GW02] R. C. GONZALEZ and R. E. WOODS. Digital Image Processing. Prentice
Hall, 2002.
31