88
Felipe Young da Silva Kleber Roberto Cancian Samuel Faria Rosa de Souza Miranda Identifica¸ ao de Placas de Ve´ ıculos Automotivos para Acionamento de Cancelas Itajub´a - MG 27 de outubro de 2008

Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

Embed Size (px)

Citation preview

Page 1: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

Felipe Young da Silva

Kleber Roberto Cancian

Samuel Faria Rosa de Souza Miranda

Identificacao de Placas de Veıculos Automotivos para

Acionamento de Cancelas

Itajuba - MG

27 de outubro de 2008

Page 2: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

Felipe Young da Silva

Kleber Roberto Cancian

Samuel Faria Rosa de Souza Miranda

Identificacao de Placas de Veıculos Automotivos para

Acionamento de Cancelas

Reconhecimento de Imagens utilizandotecnica PCA.

Orientador:

Carlos Henrique Valerio Moraes

Universidade Federal de Itajuba - UNIFEIEngenharia da Computacao

Itajuba - MG

27 de outubro de 2008

Page 3: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

Agradecimentos

Agradecemos ao corpo docente da UNIFEI - Universidade Federal de Itajuba,

pelo curso que nos foi oferecido e pelo Governo Federal por gerenciar uma Uni-

versidade gratuita de excelente qualidade. Agradecemos em especial ao Professor

Carlos Henrique Valerio Moraes por ter nos orientado neste trabalho.

Page 4: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

Resumo

Atualmente, existem inumeros problemas relacionados a engenharia de trafego

e seguranca publica no que se refere a demora no processo de obtencao de da-

dos corretos sobre automoveis. A grande demanda por sistemas computacionais

complexos cresce em ritmo acelerado, possibilitando empresas automatizarem suas

fabricas e diminuırem mao-de-obra. Nesse contexto, o reconhecimento automati-

zado de placas de automoveis surge para aumentar a eficiencia e o controle do

trafego, proporcionando agilidade aos processos hoje existentes.

Fatores como a qualidade da imagem, distancia da imagem em relacao ao ponto

de onde a foto e capturada e diferencas de luminosidade sao caracterısticas que

interferem no reconhecimento da imagem e devem ser considerados no processo

computacional.

Baseando-se nisto, utilizar-se-a a tecnica de PCA (”Principal Components

Analysis”) para a identificacao de caracteres a fim de mostrar sua eficiencia no

reconhecimento de padroes de letras e numeros. A tecnica PCA e muito utilizada

no reconhecimento de padroes, mas nao se tem nenhum relato de sua utilizacao

para reconhecimento de caracteres.

Alem disto, para simular um ambiente real, serao desenvolvidos modulos de

um sistema de controle de acesso a locais restritos para simular o funcionamento

do PCA como parte de uma aplicacao. Dividiu-se o sistema inicial em modulos a

fim de extrair de cada modulo um melhor rendimento, isolando os problemas em

cada etapa do processo. Neste ambito criar-se-a um modulo para simular o sistema

de captura da imagem e identificacao da placa, um modulo para a segmentacao

dos caracteres e um modulo final responsavel pelo reconhecimento dos caracteres

atraves da tecnica PCA.

Palavras chave: Processamento de Imagens; Reconhecimento de

Padroes; PCA - Principal Component Analysis

Page 5: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

Justi�cativa

Atualmente o desenvolvimento tecnologico aliado ao relativo baixo custo das

cameras de vigilancia tornam viaveis utilizacoes de reconhecimento por imagens

aplicadas a problemas do cotidiano como o reconhecimento de placas de veıculos.

Ha os sistemas de controle eletronico de estacionamento, sendo que o comprovante e

emitido automaticamente, mas sem nenhuma identificacao da placa do carro. Esse

e um outro exemplo de aplicacao imediata do trabalho que aqui e apresentado.

Os projetos existentes de restricao de veıculos a certos locais ou controlados

exigem um grande recurso financeiro proveniente de equipamentos eletronicos como

sensores e crachas. Existem, ainda, outros sistemas de identificacao que utilizam

RFID - Radio Frequency Identification (Identificacao por Frequencia de Radio).

Porem, os RFID exigem gastos muito superiores aos despendidos para este projeto.

A maioria dos sistemas de reconhecimento de placas de veıculos automotivos

utilizam Redes Neurais Artificiais para reconhecer os caracteres, conseguindo uma

precisao de aproximadamente 90% na maioria dos casos.

Este trabalho mostrara a utilizacao de uma tecnica estatıstica muito utilizada

em reconhecimento de padroes, destacando-se reconhecimento facial. Esta tecnica

e o PCA (”Principal Components Analysis”), e atraves dela tentar-se-a reconhecer

os caracteres com uma precisao e rapidez superiores aos sistemas atuais.

Partindo desta ideia sera elaborado um sistema que nao necessita de tantos

equipamentos eletronicos e ainda nao exige nenhum tipo de identificacao extra por

parte do motorista, que sera identificado apenas pela placa do seu veıculo auto-

motor. Este sistema podera ser utilizado em empresas ou grupos que desejam o

controle de um fluxo dos veıculos qualquer, como os que circulam por estaciona-

mentos, ruas ou pedagios.

Page 6: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

Sumário

Lista de Figuras

Lista de Tabelas

1 Introdução p. 14

1.1 Processamento Digital de Imagens . . . . . . . . . . . . . . . . . . p. 14

1.2 Trabalhos Correlatos . . . . . . . . . . . . . . . . . . . . . . . . . p. 15

1.3 PCA - Principal Component Analysis . . . . . . . . . . . . . . . . p. 16

1.4 Redes Neurais Artificiais . . . . . . . . . . . . . . . . . . . . . . . p. 17

2 Legislação Brasileira p. 18

3 Processamento Digital de Imagens p. 21

3.1 Requisitos Teoricos . . . . . . . . . . . . . . . . . . . . . . . . . . p. 21

3.1.1 Aquisicao . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 21

3.1.2 Armazenamento . . . . . . . . . . . . . . . . . . . . . . . . p. 21

3.2 Processamento de Imagens aplicado ao Reconhecimento Automatico

de Placas de Automoveis . . . . . . . . . . . . . . . . . . . . . . . p. 24

3.2.1 Aquisicao da Imagem . . . . . . . . . . . . . . . . . . . . . p. 24

3.2.2 Realce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 24

Page 7: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

3.2.3 Remocao de ruıdos . . . . . . . . . . . . . . . . . . . . . . p. 25

3.2.4 Binarizacao . . . . . . . . . . . . . . . . . . . . . . . . . . p. 25

3.2.5 Projecao das letras . . . . . . . . . . . . . . . . . . . . . . p. 26

3.2.6 Segmentacao . . . . . . . . . . . . . . . . . . . . . . . . . p. 26

3.3 O Problema da Localizacao da Placa na Imagem Capturada . . . p. 27

4 Utilizando PCA para Identi�car os Caracteres da Placa p. 30

4.1 Requisitos Teoricos . . . . . . . . . . . . . . . . . . . . . . . . . . p. 30

4.1.1 Media Aritmetica . . . . . . . . . . . . . . . . . . . . . . . p. 30

4.1.2 Desvio Padrao . . . . . . . . . . . . . . . . . . . . . . . . . p. 31

4.1.3 Variancia . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 31

4.1.4 Covariancia . . . . . . . . . . . . . . . . . . . . . . . . . . p. 32

4.1.5 A Matriz Covariancia . . . . . . . . . . . . . . . . . . . . . p. 32

4.1.6 Autovalores e Autovetores . . . . . . . . . . . . . . . . . . p. 33

4.2 Analise em Componentes Principais . . . . . . . . . . . . . . . . . p. 34

4.2.1 Conjunto de Dados . . . . . . . . . . . . . . . . . . . . . . p. 35

4.2.2 Subtraindo da media . . . . . . . . . . . . . . . . . . . . . p. 35

4.2.3 Calculando a Matriz Covariancia . . . . . . . . . . . . . . p. 36

4.2.4 Calculando os Autovetores e o Autovalores da Matriz Co-

variancia . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 37

4.2.5 Escolhendo as componentes e formando um vetor de ca-

racterısticas . . . . . . . . . . . . . . . . . . . . . . . . . . p. 38

4.2.6 Formando o Novo Conjunto de Dados . . . . . . . . . . . . p. 39

Page 8: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

4.2.7 Recompondo os dados originais . . . . . . . . . . . . . . . p. 40

4.3 Exemplo do uso de PCA para Reconhecer Faces . . . . . . . . . . p. 40

4.4 A funcao da Analise de Componentes Principais neste trabalho . . p. 42

5 O Funcionamento e Arquitetura do Sistema p. 43

5.1 Introducao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 43

5.2 Processamento Digital da Imagem - Selecao da Placa . . . . . . . p. 45

5.2.1 O RoboRealm . . . . . . . . . . . . . . . . . . . . . . . . . p. 45

5.2.2 A Interface com o RoboRealm . . . . . . . . . . . . . . . . p. 47

5.2.2.1 Algoritmo de extracao da placa na imagem . . . p. 47

5.2.2.2 Algoritmo de redimensionamento da imagem do

caractere . . . . . . . . . . . . . . . . . . . . . . p. 50

5.2.3 Dificuldades na identificacao da placa . . . . . . . . . . . . p. 51

5.2.4 Resultados obtidos para a extracao das placas . . . . . . . p. 52

5.3 Segmentacao dos Caracteres . . . . . . . . . . . . . . . . . . . . . p. 52

5.3.1 O Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . p. 52

5.3.2 Dificuldades . . . . . . . . . . . . . . . . . . . . . . . . . . p. 54

5.3.3 Resultados obtidos . . . . . . . . . . . . . . . . . . . . . . p. 54

5.4 Aplicacao da Tecnica PCA . . . . . . . . . . . . . . . . . . . . . . p. 56

5.4.1 Calculo dos Autovalores . . . . . . . . . . . . . . . . . . . p. 57

6 Análise dos Resultados Finais p. 61

6.1 Analisando os Testes . . . . . . . . . . . . . . . . . . . . . . . . . p. 61

6.1.1 Analise dos resultados para os Numeros . . . . . . . . . . . p. 67

Page 9: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

6.1.2 Analise dos resultados para as Letras . . . . . . . . . . . . p. 68

6.2 Problemas Ocorridos . . . . . . . . . . . . . . . . . . . . . . . . . p. 70

7 Futuras Melhorias e Implementações p. 74

8 Conclusão p. 76

9 Anexos p. 78

Referências p. 82

Page 10: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

Lista de Figuras

1 Placa em Detalhes. Fonte: (BRASILIENSE, 24 de outubro de 2004) p. 19

2 Categorias das Placas Brasileiras. Fonte: (BRASILIENSE, 24 de

outubro de 2004) . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 20

3 Processo de aquisicao de uma imagem. Fonte: (MELLO, ANO) . . p. 23

4 MatrizMxN como representacao de uma imagem. Fonte: (MELLO,

ANO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 23

5 Qualidade da Imagem. Fonte: (SITE5, Retirado em 05 de junho

de 2008; SITE6, Retirado em 10 de junho de 2008) . . . . . . . . . p. 24

6 Realce da Imagem. Fonte: (PASTORE F. M.; OLIVEIRA, ANO) . . . p. 25

7 Binarizacao da Imagem. Fonte: (SITE7, Retirado em 15 de junho

de 2008) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 25

8 Projecoes Horizontal e Vertical. Fonte: (BELVISI R.; FREITAS, ANO) p. 26

9 Segmentacao dos Caracteres. Fonte: (SITE8, Retirado em 15 de

junho de 2008) . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 27

10 Problemas com as placas. Fonte: (SITE1, Retirado em 10 de junho

de 2008; SITE2, Retirado em 10 de junho de 2008; SITE3, Retirado

em 10 de junho de 2008; SITE4, Retirado em 10 de junho de 2008) p. 28

11 Distribuicao do Conjunto de Dados (D). Fonte: (SMITH, 2002) . . p. 36

12 Autovetores plotados sobre o Conjunto de Dados D’. Fonte: (SMITH,

2002) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 38

Page 11: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

13 Matriz de Pixels para Vetor de Pixels. Fonte: (MELO G.; SOUTO,

2004) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 40

14 Matriz de Faces. Fonte: (KITANI E. C.; THOMAZ, 2005) . . . . . . p. 41

15 Media Aritmetica das Faces. Fonte: (KITANI E. C.; THOMAZ, 2005) p. 41

16 Arquitetura do Sistema de deteccao de placas atraves da tecnica

PCA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 44

17 A interface do software Roborealm. . . . . . . . . . . . . . . . . . p. 46

18 Fluxograma do Algoritmo de Selecao da Placa na Imagem Cap-

turada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 47

19 RoboRealm aplicando alguns filtros a Imagem Original do Veıculo. p. 48

20 Visual Basic .Net interagindo com o RoboRealm - Passo 1 do

Algoritmo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 49

21 Visual Basic .Net interagindo com o RoboRealm - Passo 2 do

Algoritmo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 49

22 Visual Basic .Net interagindo com o RoboRealm - Passo 3 do

Algoritmo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 50

23 Fluxograma do Algoritmo de Redimensionamento dos Caracteres

que compoem a Placa. . . . . . . . . . . . . . . . . . . . . . . . . p. 51

24 Processo de Segmentacao dos Caracteres que compoem a Placa. . p. 53

25 Fluxograma do Algoritmo de Segmentacao dos Caracteres que

compoem a Placa. . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 53

26 Exemplo 1 - Segmentacao dos Caracteres. . . . . . . . . . . . . . p. 55

27 Exemplo 2 - Segmentacao dos Caracteres. . . . . . . . . . . . . . p. 55

28 Exemplo 3 - Segmentacao dos Caracteres. . . . . . . . . . . . . . p. 55

Page 12: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

29 Caractere A, projecao vertical e projecao horizontal respectiva-

mente. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 56

30 Algoritmo dos pesos . . . . . . . . . . . . . . . . . . . . . . . . . p. 60

31 Numero 5 da Referencia Padrao Antigo. . . . . . . . . . . . . . . p. 62

32 Numero 5 da Placa 1 dos testes. . . . . . . . . . . . . . . . . . . . p. 63

33 Numero 3 na fonte Mandatory (Padrao atual da placa) e sua rotacao. p. 63

34 Caractere J e L e suas respectivas projecoes Vertical e Horizontal. p. 70

35 Caractere O e Q e suas respectivas projecoes Vertical e Horizontal. p. 70

36 Caractere V e Y e suas respectivas projecoes Vertical e Horizontal. p. 70

37 Imagem “Y” e suas projecoes de uma placa coletada para testes. . p. 71

38 Numeros 6 e 9 no padrao antigo. . . . . . . . . . . . . . . . . . . p. 72

39 Numeros 6, 8 e 9 no padrao novo. . . . . . . . . . . . . . . . . . . p. 72

40 Numeros 6 e 9 normais, projecoes Verticais e Projecoes Horizon-

tais respectivamente. . . . . . . . . . . . . . . . . . . . . . . . . . p. 73

41 Diferenca entre os 2 padroes existentes. . . . . . . . . . . . . . . . p. 78

42 Exemplo 1 - Aplicacao do algoritmo de selecao da placa na imagem. p. 79

43 Exemplo 1 - Placa Selecionada. . . . . . . . . . . . . . . . . . . . p. 79

44 Exemplo 2 - Aplicacao do algoritmo de selecao da placa na imagem. p. 79

45 Exemplo 2 - Placa Selecionada. . . . . . . . . . . . . . . . . . . . p. 79

46 Exemplo 3 - Aplicacao do algoritmo de selecao da placa na imagem. p. 80

47 Exemplo 3 - Placa Selecionada. . . . . . . . . . . . . . . . . . . . p. 80

48 Exemplo 4 - Aplicacao do algoritmo de selecao da placa na imagem. p. 80

49 Exemplo 4 - Placa Selecionada. . . . . . . . . . . . . . . . . . . . p. 80

Page 13: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

50 Exemplo 5 - Aplicacao do algoritmo de selecao da placa na imagem. p. 81

51 Exemplo 5 - Placa Selecionada. . . . . . . . . . . . . . . . . . . . p. 81

52 Exemplo 6 - Aplicacao do algoritmo de selecao da placa na imagem. p. 81

53 Exemplo 6 - Placa Selecionada. . . . . . . . . . . . . . . . . . . . p. 81

Page 14: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

Lista de Tabelas

1 Conjunto de Dados Original (D) . . . . . . . . . . . . . . . . . . . p. 35

2 Novo Conjunto de Dados (D’) . . . . . . . . . . . . . . . . . . . . p. 36

3 Resultado da Aplicacao do algoritmo de Reconhecimento sobre os

Numeros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 67

4 Resultado Geral para os Numeros . . . . . . . . . . . . . . . . . . p. 67

5 Resultado da Aplicacao do algoritmo de Reconhecimento sobre as

Letras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p. 69

6 Resultado Geral para as Letras . . . . . . . . . . . . . . . . . . . p. 69

Page 15: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

14

1 Introdução

1.1 Processamento Digital de Imagens

Processamento digital de imagens pode ser definido como a execucao de tarefas

em um sistema digital onde a entrada correspondente a uma imagem produz uma

outra imagem (GOMES J.; VELHO, 2002). Um exemplo claro e a utilizacao de

recursos computacionais para realcar detalhes de uma imagem, ou mesmo separar

objetos distintos de uma imagem. Na literatura, sao listados os principais modulos

de um ambiente que trabalhe com imagens digitais (HUGO V.N. E FILHO, 1999):

aquisicao, armazenamento e exibicao. A partir delas quaisquer outras atividades

envolvendo processamento digital de imagens sao possıveis de serem realizadas.

Os interesses no processamento de imagens digitais estao divididos em duas

principais aplicacoes:

• aprimoramento das informacoes existentes para interpretacao humana;

• processamento das imagens para armazenamento, transmissao e represen-

tacao, e tambem muito utilizado para percepcao autonoma de maquinas

(GONZALEZ R.C.; WOODS, 2003).

O primeiro interesse esta relacionado com o melhoramento das imagens digitais

em variados usos, como processamento de imagens de documentos. O segundo inte-

resse diz respeito a utilizacao da maquina como forma de emular o comportamento

humano com estudos presentes na area de Inteligencia Artificial, na construcao de

Page 16: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

15

componentes inteligentes. Dentro deste segundo assunto pode-se classificar a loca-

lizacao da placa do automovel em uma imagem real, e, o posterior reconhecimento

dos caracteres que compoem a mesma.

A localizacao da placa do automovel e talvez a principal limitadora no reconhe-

cimento de placas, ja que a nao deteccao da placa ou de seus caracteres inviabiliza

todo o processamento posterior.

1.2 Trabalhos Correlatos

Inumeros trabalhos vem sendo realizados na tentativa de identificacao de padroes

(QIU B.; PRINET, 2003; POLIDORIO A. M.; BORGES, 1996; PEREIRA D. S. A.; REZENDE,

2007), utilizando Redes Neurais Artificiais (SONG W.; SHAOWEI, 1997; SILVA L. S.

P.; GRACIOSO, 2006; BOTELHO, 2004) e tecnica PCA (KITANI E. C.; THOMAZ, 2005;

QIU B.; PRINET, 2003; CHENGJUN, 2004) na tentativa de melhorar o desempenho

computacional deste tipo de processamento.

O reconhecimento de imagens e uma area que vem sendo amplamente estudada.

Existem metodos que sao considerados eficazes para identificar padroes, como a

tecnica PCA (LEITE L.; SILVA, 2004; CUENCA W. M.; SEIXAS, 2000; HEINEN M.

R.; OSORIO, 2006; GUIDINI M. P.; RIBEIRO, 2006; SMITH, 2002; HAYKIN, 2001) e

Redes Neurais Artificiais (SILVA L. S. P.; GRACIOSO, 2006). Os caracteres, como os

conhecemos, possuem caracterısticas proprias, podendo assim serem diferenciados

dos demais por um determinado padrao. Inumeros trabalhos foram feitos acerca

deste assunto, a destacar (THOME A. C. G.; GUINGO, 2002), que utilizou redes

neurais artificiais para o tratamento de imagens visando identificar a placa de

veıculos automotores, com uma margem de precisao de 76%. Alem disto, houve

um tratamento da placa separando os caracteres um a um. Com a tecnica de PCA

buscar-se-a, primeiramente, identificar os caracteres da placa um a um, realizando

o reconhecimento da placa junto ao banco de dados.

Page 17: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

16

(POLIDORIO A. M.; BORGES, 1996) utilizaram um tratamento inicial da imagem

para, posteriormente, identificar os caracteres das placas de veıculos automotores.

Este tratamento consiste em transformar a imagem em tons de cinza e aumentar

o contraste da imagem, para assim aumentar os tracos dos caracteres e permitir

sua identificacao.

(NAKASHIMA, 2004) realizou um estudo utilizando diversos metodos para a

identificacao dos caracteres das placas de veıculos automotores, dentre eles a rede

neural artificial atraves do treinamento supervisionado. Os resultados tiveram uma

precisao pouco abaixo de 90%.

Em (TALEB-AHMED A.; HAMAD, 2003) e apresentado um sistema de analise da

imagem de um carro utilizando uma camera. A solucao permite o rastreamento da

placa do carro na imagem e sua posterior identificacao em um banco de registos.

Sao apresentadas tambem aplicacoes praticas do sistema.

Em (DRAGHICI, 1997) utiliza-se da transformada de Hough e o metodo de

Voted Block Matching para a extracao e rastreamento da placa na imagem, res-

pectivamente. A principal vantagem dos metodos utilizados e a possibilidade de

reconhecimento da placa mesmo em algumas situacoes de oclusao.

Em (LEE M.; WONG, 1999), um sistema com uma Rede Neural Artificial (RNA)

supervisionada e utilizado para a deteccao de placas de automoveis. O sistema

reconhece tanto placas de veıculos parados quanto em movimento. O sistema e

testado nas ruas e apresenta um percentual de acerto de mais de 90% das placas.

1.3 PCA - Principal Component Analysis

A Analise de Componentes Principais (ACP) ou PCA, ou ainda Transformada

de Karhunen-Loeve e uma tecnica estatıstica ja consagrada pela sua utilizacao em

diversos trabalhos (LEITE L.; SILVA, 2004; CUENCA W. M.; SEIXAS, 2000; HEINEN

M. R.; OSORIO, 2006; GUIDINI M. P.; RIBEIRO, 2006). Esta tecnica e amplamente

utilizada para o reconhecimento de padroes, compactacao de dados e extracao de

caracterısticas (SMITH, 2002; HAYKIN, 2001).

Page 18: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

17

A aplicacao da tecnica PCA obtem um dos mais valiosos resultados obtidos

pela aplicacao dos conceitos da algebra linear (SHLENS, 2005), a reducao da di-

mensao dos dados, transformando uma matriz de dados de dimensao m para uma

nova matriz de dados de dimensao n, sendo n < m. E esta reducao de dimensio-

nalidade nao retira as caracterısticas importantes contidas no conjunto de dados

(MARQUES, 2006). Apos a aplicacao do algoritmo, o que ocorre e a projecao dos

dados em uma nova forma de orientacao, em outro eixo, a fim de encontrar as n

direcoes de maior variancia, ou seja, as componentes principais (MARQUES, 2006).

Para a aplicacao em imagens, esta tecnica traz muitos benefıcios, tais como

reducao da quantidade de informacao a ser armazenada, ou seja, compactacao da

imagem sem perda significativa de informacao; extracao de padroes nas imagens,

tais como reconhecimento facial, reconhecimento de terrenos e reconhecimento de

doencas cancerıgenas (LEITE L.; SILVA, 2004; CUENCA W. M.; SEIXAS, 2000; HEINEN

M. R.; OSORIO, 2006; GUIDINI M. P.; RIBEIRO, 2006; SMITH, 2002; HAYKIN, 2001).

O reconhecimento de padroes e realizado com mais um recurso estatıstico em

complemento a tecnica PCA, o calculo da metrica, ou a distancia calculada entre

dois vetores.

1.4 Redes Neurais Arti�ciais

As Redes Neurais Artificiais (RNAs) sao compostas por inumeros elementos

computacionais relativamente simples, que processam e executam uma funcao sim-

ples, porem a RNA como um todo tem a capacidade computacional para a reso-

lucao de problemas complexos (BRAGA A. P.; CARVALHO, 2000).

Uma das caracterısticas, talvez a maior vantagem do uso das RNAs, e que elas

nao requerem, a priori, um entendimento do comportamento fısico do processo no

qual estao inseridas, ou seja, o modelamento matematico e uma “caixa preta” para

o usuario. Elas utilizam um procedimento sistematico para relacionar dados de

entrada e de saıda, substituindo modelos exigentes em termos computacionais (JR

S. S.; SANTOS, 2001). Alem disso, as RNAs tem uma grande capacidade de gene-

ralizacao e aprendizagem e por isso sao tao usadas nos dias atuais, por inumeros

autores.

Page 19: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

18

2 Legislação Brasileira

Uma placa de identificacao de veıculos no Brasil e uma chapa de metal ou

plastico, afixada a um veıculo, com a finalidade de sua identificacao oficial. As

placas de veıculos automotores sao padronizadas e seguem normas especıficas sobre

punicao por lei para quem nao utiliza-las ou nao seguir o regulamento.

Em sua maioria, as placas sao compostas por uma cor de fundo, que determina

a sua categoria e, sao sinalizadas por tres letras seguidas de quatro numeros. Alem

disso, existe uma identificacao superior com o nome do estado e a cidade ao qual

o veıculo pertence. Apenas dois tipos de placas nao seguem este padrao no Brasil:

a placa de representacao do Governo e a placa utilizada em motocicletas.

As dimensoes da placa tambem obedecem a padroes, com limite de tamanho

e altura. Somente a placa de motocicletas nao segue o padrao geral de tamanho,

porem, tambem possui sua regulamentacao em lei. Cada veıculo tem um codigo

unico que o identifica e, mesmo que um carro mude de estado, o numero continuara

sendo o mesmo. Sendo modificados apenas o estado e a cidade ao qual o veıculo

esta vinculado (Artigo 115 da Lei 9.503/97 - Codigo de Transito Brasileiro). A

Figura 1 mostra esta placa em detalhes.

Existe uma margem de erro com relacao as dimensoes da placa, que podem

ser de no maximo 10% do tamanho. A legislacao ainda determina que os carac-

teres sejam gravados em auto relevo e a fonte dos caracteres seja a Mandatory

(CONTRAN, Retirado em 05 de junho de 2008).

Page 20: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

19

Figura 1: Placa em Detalhes. Fonte: (BRASILIENSE, 24 de outubro de 2004)

No Brasil, as cores de fundo determinam a categoria do veıculo, as vezes asso-

ciada ainda a algum detalhe extra na placa. A Figura 2 mostra as categorias com

suas caracterısticas.

Considerando que a grande maioria dos carros obedece a regra geral, ou seja,

sete caracteres, cor de fundo cinza e tamanho definido, o trabalho em questao

sera focado nestas placas mais comuns, buscando-se o padrao, e considerando-se a

legislacao vigente atual.

Page 21: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

20

Figura 2: Categorias das Placas Brasileiras. Fonte: (BRASILIENSE, 24 de outubrode 2004)

Page 22: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

21

3 Processamento Digital de Imagens

3.1 Requisitos Teóricos

3.1.1 Aquisição

Aquisicao corresponde a obtencao de informacoes a partir do ambiente. O meio

mais eficiente e que transmite mais informacoes e a visao humana. A capacidade

humana para processar e interpretar imensas quantidades de dados de natureza

visual motiva o desenvolvimento de tecnicas e dispositivos, de modo a estender

ainda mais a capacidade e sensibilidade. A aquisicao das imagens, de forma geral,

e realizada com a utilizacao de sensores, pela combinacao da iluminacao do objeto

fonte de estudo e a reflexao ou absorcao da energia proveniente do objeto e dos

elementos que constituem a cena (contexto em que o objeto esta incluso) (GONZA-

LEZ R.C.; WOODS, 2003). O escaneamento de uma imagem e, em processamento

grafico, realizada principalmente por cameras de varredura de linha, produzindo

uma linha por vez. A movimentacao da camera ao longo do objeto produz imagens

bidimensionais.

3.1.2 Armazenamento

O armazenamento e possıvel atraves da conversao de sinais analogicos em

digitais. Apos o sensoriamento, sao obtidos sinais contınuos, nao sendo possıvel

armazena-los em computadores, pois esses possuem a base de informacoes estrutu-

rada em bits (STALINGS, 2002). A conversao e realizada envolvendo principalmente

tres processos:

Page 23: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

22

amostragem: trata da digitalizacao dos valores das coordenadas (x, y) tornando

discreto o domınio da funcao contınua;

quantizacao das informacoes: digitaliza os valores da amplitude, tornando dis-

creto o contradomınio da funcao contınua;

codificacao: responsavel pela obtencao de uma representacao finita a partir da

representacao discreta, ou seja, requer uma discretizacao tanto no domınio

como no contradomınio da funcao contınua. O resultado da codificacao pode

ser descrito por um conjunto finito de sımbolos organizados de acordo com

uma estrutura de dados.

A Figura 3 ilustra o processo de aquisicao de uma imagem, sendo:

(a) a partir de uma imagem contınua;

(b) seu sensoriamento e realizado entre as delimitacoes dos pontos A e B, obtendo

a funcao das amostras;

(c) a partir das amostras obtidas da imagem sao realizadas os processos de quan-

tizacao;

(d) e assim, se obtem uma representacao discreta quantizada

Na pratica, uma imagem com representacao contınua e utilizada como con-

ceito no desenvolvimento de metodos matematicos utilizados no processamento de

imagens, tais como series e transformadas de Fourier, que aproximam os sinais.

A representacao discreta quantificada e utilizada nos dispositivos graficos com-

putadorizados, enquanto que a representacao discreta contınua e o formato mais

conveniente para grande parte das operacoes com imagens, ja que a funcao imagem

assume valores de pontos flutuantes (GOMES J.; VELHO, 2002).

Page 24: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

23

Figura 3: Processo de aquisicao de uma imagem. Fonte: (MELLO, ANO)

Apos a realizacao das etapas de amostragem e da quantizacao, o resultado

e uma imagem digital (sinal digital), isto e, discretizacao das coordenadas (x, y)

codificadas em uma matriz de numeros inteiros (MxN). A Figura 4 ilustra a matriz

de codificacao de uma imagem sendo que M representa a resolucao vertical e N ,

a resolucao horizontal. Cada elemento da matriz corresponde a um elemento da

imagem, pixels ou pel (picture element). Os elementos da imagem correspondem

exatamente nas coordenadas dos pixels e das informacoes contidas em cada posicao

(GOMES J.; VELHO, 2002). Essas duas funcoes estao relacionadas com resolucao

espacial e resolucao da cor, respectivamente.

Figura 4: Matriz MxN como representacao de uma imagem. Fonte: (MELLO,ANO)

Page 25: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

24

3.2 Processamento de Imagens aplicado ao Reconhecimento

Automático de Placas de Automóveis

No campo do reconhecimento otico de caracteres existem varias tecnicas para

a segmentacao e o reconhecimento dos caracteres em uma imagem. Entre os varios

algoritmos existentes, os mais comuns sao os baseados na realizacao de uma pro-

jecao vertical dos pontos da imagem e na analise do histograma gerado. Alguns

metodos de processamento digital de imagens podem ser utilizados neste trabalho,

sao eles:

3.2.1 Aquisição da Imagem

Aquisicao da Imagem: a qualidade da imagem e fundamental para o sucesso do

sistema elaborado, pois uma imagem de baixa resolucao, por exemplo, pode fazer

com que o programa torne-se incapaz de executar a fase de segmentacao ou de

reconhecimento (SOUZA, 2000). A Figura 5(a) ilustra uma imagem considerada de

baixa qualidade e a Figura 5(b) demonstra uma imagem considerada de qualidade

adequada.

Figura 5: Qualidade da Imagem. Fonte: (SITE5, Retirado em 05 de junho de 2008;SITE6, Retirado em 10 de junho de 2008)

3.2.2 Realce

E utilizado com o objetivo de salientar caracterısticas relevantes para o pro-

cesso de classificacao. Aumentando o contraste da imagem de uma placa, por

exemplo, e possıvel tornar mais evidente a separacao entre os caracteres perten-

centes a mesma imagem. Na Figura 6(a) e apresentado um exemplo da placa com

Page 26: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

25

baixa luminosidade e, na Figura 6(b), a mesma imagem apos aplicacao do aumento

de contraste.

Figura 6: Realce da Imagem. Fonte: (PASTORE F. M.; OLIVEIRA, ANO)

3.2.3 Remoção de ruídos

Usado para eliminar ou reduzir as informacoes espurias preexistentes na aquisicao

original da imagem ou introduzidos durante a captura.

3.2.4 Binarização

Consiste na modificacao da imagem para apresentar apenas tons de preto e

branco, utilizando a Equacao 3.1.

ImgBin(i, j) =

0 se Img(i, j) =< LM

255 na Img(i, j) > LM(3.1)

sendo 0 e 255 os valores dos pixels da imagem binarizada (ImgBin), i e j sao

as coordenadas do pixel na imagem original Img, e LM e o limite que determina

a partir de qual regiao a cor do pixel tera o valor de limiar 255 ou 0. O resultado

da binarizacao e ilustrado na Figura 7.

Figura 7: Binarizacao da Imagem. Fonte: (SITE7, Retirado em 15 de junho de2008)

Page 27: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

26

3.2.5 Projeção das letras

Consiste na contagem dos pixels existentes em uma determinada linha ou co-

luna. O resultado da projecao horizontal e vertical de uma placa e mostrado na

Figura 8. E necessario realizar as duas projecoes por 2 motivos: primeiro, a pro-

jecao horizontal permite que se determine a posicao inicial e final das letras no

eixo y, facilitando a projecao vertical; e, segundo, ela permite que caracteres que

possuem projecoes verticais semelhantes sejam separados (FUJISAWA H.; NAKANO,

1992).

Figura 8: Projecoes Horizontal e Vertical. Fonte: (BELVISI R.; FREITAS, ANO)

3.2.6 Segmentação

Depois de realizadas as projecoes, os caracteres sao segmentados para serem

identificados. No processo de segmentacao e feito uma varredura vertical de forma

a localizar o inıcio e o fim dos caracteres a serem reconhecidos e depois um ras-

treamento dos espacos em branco entre os caracteres. Com isso e possıvel separar

os caracteres. A Figura 9 mostra o resultado de uma segmentacao.

Page 28: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

27

Figura 9: Segmentacao dos Caracteres. Fonte: (SITE8, Retirado em 15 de junhode 2008)

3.3 O Problema da Localização da Placa na Imagem Cap-

turada

Localizar a placa do automovel em uma imagem consiste em encontrar a regiao

que contem os caracteres que o identificam unicamente. Resolver esse problema

requer a elaboracao de uma estrategia de busca que procure por padroes que apon-

tem a ocorrencia da placa na cena, o que e uma tarefa extremamente complicada.

As placas podem aparecer nas mais diversas condicoes: sujas, tortas e ate mesmo

amassadas. Mais do que ter sua estrutura fısica comprometida, a placa tambem

pode ter tamanhos e cores diferentes, sem contar o estilo de seus caracteres, que

pode variar de uma para a outra. A estrategia tambem deve se preocupar com a

maneira em que a placa aparece na cena, isto e, deve levar em conta questoes como

angulo de rotacao e perspectiva, tamanho, resolucao e iluminacao (Figura 10). O

trabalho de (POLIDORIO, 1997) apresenta, em mais detalhes, as dificuldades do

problema de localizacao.

Grande parte das abordagens em localizacao de placas de veıculos procura por

padroes como: a forma da placa (LOTUFO R. A.; MORGAN, 1990; COWELL, 1995;

SARFRAZ M.; AHMED, 2003), concentracao ou agrupamentos (clusters) de cores

(NIJHUIS J. A. G.; BRUGGE, 1995; RAHMAN C. A.; BADAWYE, 2003), sequencias

de caracteres de comprimento fixo (PARKER J. R.; FEDERL, 1996) ou ainda, assi-

Page 29: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

28

Figura 10: Problemas com as placas. Fonte: (SITE1, Retirado em 10 de junho de2008; SITE2, Retirado em 10 de junho de 2008; SITE3, Retirado em 10 de junho de2008; SITE4, Retirado em 10 de junho de 2008)

naturas em escala de cinza (BARROSO J.; BULAS-CRUZ, 1997b, 1997a; CASTELLO

P.; COELHO, 1999) e variacoes (SETCHELL, 1997; SOUZA F. P. C.; SUSIN, 2000). No

entanto, observa-se aqui que, de todos os padroes presentes na placa do veıculo, o

texto e aquele que melhor se preserva nas condicoes mais variadas, por ser mais

presente e redundante. Dessa forma, a localizacao da placa pode se dar em duas

etapas: a primeira deve produzir uma representacao da imagem que destaque po-

tenciais fragmentos de texto (sequencias de caracteres como palavras ou frases), e

a segunda deve procurar qual (ou quais) dos fragmentos realmente corresponde-

riam a placa, realizando uma analise posterior sobre os fragmentos encontrados.

O trabalho de (CLAUDINO, 2005) apresenta um metodo de segmentacao de ima-

gens para lidar com a primeira etapa, cujo objetivo e reduzir uma cena real a um

conjunto de regioes que devem ser consideradas texto a partir do momento que

satisfacam tres principais condicoes:

Page 30: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

29

• serem principalmente formadas por bordas verticais;

• serem alongadas;

• apresentarem transicoes (ou bordas) distribuıdas regularmente por toda sua

extensao.

Como pode ser observado em outros trabalhos, o texto e modelado como um

padrao de textura (WU V.; MANMATHA, 1999) e e caracterizado atraves da de-

composicao QMF wavelet (ETEMAD K.; DOERMANN, 1997; JAIN A. K.; YU, 1998;

MENOTI, 2003). Na presente abordagem, a segmentacao e realizada mantendo-se

apenas as imagens das sub-bandas verticais, que sao borradas e posteriormente

binarizadas. Apos isso, regioes oito-conectadas sao selecionadas de acordo com seu

comportamento espacial. As regioes resultantes sao mapeadas de volta ao domınio

espacial, quando se tornam fragmentos de texto candidatos. Os verdadeiros frag-

mentos de texto sao escolhidos de acordo com a regularidade e distribuicao de

suas transicoes. Essas duas caracterısticas sao extraıdas da propria imagem do

fragmento, em um passo final.

Page 31: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

30

4 Utilizando PCA para Identi�car os

Caracteres da Placa

4.1 Requisitos Teóricos

Nesta secao dar-se-a uma breve introducao matematica para servir de fundo as

competencias que serao necessarias para compreender o processo de PCA. Estes

requisitos se fazem necessarios para a compreensao do algoritmo utilizado para

aplicar a PCA. Por se tratar de uma tecnica matematica da algebra linear, aplicada

a matrizes, todos os conceitos extraıdos foram retirados do trabalho“A Tutorial on

Principal Component Analysis”, que explica todo os funcionamento do algoritmo

do PCA (SMITH, 2002).

4.1.1 Média Aritmética

A media aritmetica por definicao e a soma de elementos de um mesmo con-

junto dividida pelo numero de elementos deste conjunto, da Equacao 4.1, tem-se

a formula, para dar um tratamento matematico:

X =

∑ni=1Xi

n(4.1)

Sendo n o numero de elementos do conjunto de dados, e X o valor de cada

valor do conjunto de dados.

Realizar este calculo e fundamental para a tecnica PCA, pois e um resultado

importante e e empregado em diversas equacoes posteriores.

Page 32: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

31

4.1.2 Desvio Padrão

O desvio padrao e uma medida de dispersao de um conjunto de dados. Esse

valor e capaz de traduzir quao disperso e o conjunto de dados em relacao ao seu

valor medio. Da Equacao 4.2, dar-se-a o devido tratamento matematico para a

obtencao deste resultado:

s =

√√√√∑ni=1(Xi −X)2

(n− 1)(4.2)

Este calculo nao sera empregado diretamente ao algoritmo de PCA, porem

faz-se necessaria a sua explicacao para que se entenda o conceito empregado em

outros calculos do algoritmo.

4.1.3 Variância

A variancia, assim como o desvio padrao, e uma medida capaz de traduzir a

dispersao dos dados em relacao a media do conjunto de dados. Da Equacao 4.3, e

evidente que a variancia e exatamente igual ao quadrado do desvio padrao, como

o modelo matematico abaixo exemplifica:

s2 =

∑ni=1(Xi −X)2

(n− 1)(4.3)

Para a tecnica PCA, esse calculo sera realizado de uma maneira particular nos

casos em que o conjunto de dados possuırem apenas uma dimensao. Para a tecnica

PCA ser empregada a conjuntos de dados com mais de uma dimensao, esse calculo

nao sera efetuado, sendo substituıdo pelo calculo da covariancia.

Page 33: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

32

4.1.4 Covariância

A covariancia, assim como a variancia e o desvio padrao, e uma medida de

dispersao dos dados com relacao a sua media. Porem as duas ultimas sao medidas

utilizadas com relacao a apenas uma dimensao, sendo necessario calcular uma

medida diferente para cada dimensao. A covariancia e uma medida que relaciona

sempre duas dimensoes entre si, relacionando o quao disperso e o conjunto de dados

com relacao as duas dimensoes. Se a covariancia for calculada para uma dimensao

ela sera na realidade a variancia do conjunto de dados. Da Equacao 4.4, dar-se-a

o devido tratamento matematico:

cov(X, Y ) =

∑ni=1(Xi −X)(Yi − Y )

(n− 1)(4.4)

Na PCA, este resultado sera de fundamental importancia, pois e deste re-

sultado que se constroi a matriz de covariancia, que e o conjunto de dados de

maior significancia na PCA. Esse conjunto representa de maneira matematica o

comportamento dos dados ou o padrao que estes dados seguem, extraindo a sua

caracterıstica.

4.1.5 A Matriz Covariância

A matriz covariancia, como ja citado, e o conjunto de dados extraıdos do con-

junto original, que extraira deste ultimo o seu padrao, conservando a caracterıstica

fundamental dos dados com relacao a dimensionalidade dos mesmos. A covariancia

so faz sentido se calculada para duas dimensoes. Todavia, se um conjunto de dados

e composto por mais de uma dimensao em seus dados, faz-se necessaria a formacao

de uma matriz covariancia, sendo esta composta pelos resultados obtidos do cal-

culo da covariancia para duas dimensoes, tomadas duas a duas, formando assim

esta matriz.

Page 34: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

33

A tıtulo de exemplo, demonstrar-se-a como sera montada a matriz covariancia

para um conjunto de dados compostos por tres dimensoes.

C =

cov(x, x) cov(x, y) cov(x, z)

cov(y, x) cov(y, y) cov(y, z)

cov(z, x) cov(z, y) cov(z, z)

(4.5)

A tıtulo de algoritmo, e importante deixar claro que, para melhorar o desem-

penho do software a ser elaborado, far-se-a necessaria a utilizacao das propriedades

matematicas da covariancia, sendo neste caso especıfico daquela que diz que nao

importa a ordem em que as dimensoes entram na formula matematica; o resultado

da covariancia para duas dimensoes sera sempre o mesmo. Em outras palavras, a

covariancia de X e Y sera a mesma de Y e X.

4.1.6 Autovalores e Autovetores

Os autovalores e os autovetores, para a tecnica PCA serao os componentes

que chamaremos de componentes principais, pois eles serao subconjuntos de dados

extraıdos a partir da matriz covariancia e, serao os componentes de estudo na

tecnica.

Os autovalores classificam-se como valores de significancia de cada autovetor

correspondente, ou seja, cada autovetor tem em seu autovalor o peso, ou a sig-

nificancia da tendencia dos dados com relacao ao conjunto de dados.

Os autovetores, de uma visao matematica, sao as diferentes direcoes que um

conjunto de dados apresenta, demonstrando qual a tendencia deste conjunto de

dados.

Da matematica, o conceito de autovalores e autovetores e retirado a partir da

seguinte concepcao: dada uma matriz, diz-se que a transformacao empregada a

esta matriz gera como resultado um numero real ou escalar, multiplicado a esta

mesma matriz. Ao numero real dar-se-a o nome de autovalor e ao vetor dar-se-

Page 35: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

34

a o nome de autovetor. Da Equacao 4.6 abaixo, dar-se-a o devido tratamento

matematico:

T (v) = Av = λv (4.6)

T (v) e a operacao que transforma o vetor v; A e chamado de autovetor e λ e o

autovalor. Fazendo-se uso das propriedades da algebra linear, extrai-se a seguinte

Equacao 4.7 mais simplificada:

(A− λI)v = 0 (4.7)

Sendo I e a matriz Identidade.

Mais uma vez fazendo-se uso da aplicacao das definicoes da algebra linear,

extrai-se a Equacao 4.8 que gerara um polinomio onde as raızes dele serao os auto-

valores. Abaixo, apresenta-se a Equacao 4.8, para o devido tratamento matematico:

det(A− λI) = 0 (4.8)

Como resultado da solucao do polinomio caracterıstico dessa equacao se ex-

traem os autovalores, e a partir destes, por substituicao, obtem-se os autovetores.

Para a tecnica PCA far-se-ao necessarios todos estes calculos e a utilizacao de

metodos matematicos para a solucao de polinomios, para, assim, se obter os au-

tovalores e autovetores. Estes calculos e que necessitam de uma maior capacidade

de processamento, para que o algoritmo de PCA tenha um alto desempenho.

4.2 Análise em Componentes Principais

A Analise em Componentes Principais consiste em uma tecnica que transforma

um conjunto de dados em um novo conjunto de dados de menor dimensao que o

Page 36: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

35

conjunto de dados inicial, sem perda significativa de informacao ou caracterıstica.

Deste ponto em diante analisar-se-a o funcionamento desta transformacao, exem-

plificando como o algoritmo opera e quais resultados serao obtidos em cada etapa.

4.2.1 Conjunto de Dados

Para exemplificar os passos do algoritmo, tomou-se certo conjunto de dados

fictıcios, a fim de demonstrar a primeira operacao a ser realizada. Como exemplo,

utilizou-se o seguinte conjunto de dados (D):

X Y2,5 2,40,5 0,72,2 2,91,9 2,23,1 3,02,3 2,72,0 1,61,0 1,11,5 1,61,1 0,9

Tabela 1: Conjunto de Dados Original (D)

4.2.2 Subtraindo da média

O primeiro procedimento executado pelo algoritmo sera o calculo da media

aritmetica de cada dimensao a ser analisada. E a partir destas medias calculadas,

calcular-se-a um novo conjunto de dados, onde este sera composto pela diferenca

entre os elementos de cada dimensao menos a media aritmetica daquela determi-

nada dimensao.

Page 37: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

36

Figura 11: Distribuicao do Conjunto de Dados (D). Fonte: (SMITH, 2002)

A partir desta operacao, obter-se-a um novo conjunto de dados (D’) que possui

a mesma dimensao e quantidade de dados que o conjunto de dados original (D).

X Y0,69 0,49-1,31 -1,210,39 0,990,09 0,291,29 1,090,49 0,790,19 -0,31-0,81 -0,81-0,31 -0,31-0,71 -1,01

Tabela 2: Novo Conjunto de Dados (D’)

4.2.3 Calculando a Matriz Covariância

A matriz covariancia e a segunda transformacao que o conjunto original de

dados sofre. A partir desta transformacao e que ocorre a compactacao dos dados

e a reducao da dimensionalidade, sem a perda de informacoes.

Page 38: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

37

A matriz covariancia e uma matriz quadrada. O numero de elementos desta

matriz e determinado pelo quadrado das dimensoes do conjunto de dados. Do

conjunto de dados original (D), extrai-se a seguinte matriz covariancia:

cov =

0, 616555556 0, 615444444

0, 615444444 0, 716555556

(4.9)

4.2.4 Calculando os Autovetores e o Autovalores da Matriz Covari-

ância

De posse da matriz de covariancia calculam-se os autovalores e os autovetores

para esta matriz. Estes sao de grande importancia, pois eles guardam informacoes

relevantes ao conjunto de dados. Abaixo vemos os autovalores e autovetores:

cov =

0, 0490833989

1, 28402771

(4.10)

cov =

−0, 735178656 −0, 677873399

0, 677873399 −0, 735178656

(4.11)

Os autovetores sao utilizados para encontrarmos as caracterısticas de relaciona-

mento do conjunto de dados. Observe a Figura 12. Dela observa-se o conjunto de

dados D’ plotado, e sobre este, de forma tracejada, observamos os dois autovetores.

Pode-se observar que um dos autovetores forma um caminho medio pelo conjunto

de dados D’, tal como a melhor aproximacao. Ja o segundo autovetor separa os

dados em dois lados, nos mostrando a quantidade de pontos proximos ao primeiro

autovetor. Porem esta analise e secundaria e menos importante que a primeira.

O processo de calculo dos autovetores da matriz covariancia e utilizado, entao,

para a extracao das linhas de caracterısticas do conjunto de dados.

Page 39: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

38

Figura 12: Autovetores plotados sobre o Conjunto de Dados D’. Fonte: (SMITH,2002)

4.2.5 Escolhendo as componentes e formando um vetor de caracte-

rísticas

Neste ponto do algoritmo e que ocorre a compressao dos dados e, como conse-

quencia, a reducao de dimensionalidade dos dados.

Analisando os autovetores e os autovalores obtidos na secao anterior, pode-se

notar que os autovalores sao muito diferentes entre si. O autovetor com maior

autovalor correspondente e o que carrega a parte mais significativa da informacao.

Em geral, o funcionamento do algoritmo neste ponto e extrair da matriz co-

variancia os autovetores e seus correspondentes autovalores. E entao ordenar os

autovetores por seus autovalores, do maior para o menor. Assim ter-se-a um vetor

ordenado, do maior grau de significancia para o de menor grau. Este vetor e o

vetor que chamamos de Vetor das Componentes Principais.

Para a reducao de dimensionalidade dos dados, o que se faz nesta etapa do al-

goritmo e ignorar os autovetores de menor significancia. Assim, se perdera alguma

informacao. Porem esta informacao perdida sera a de menor grau de importan-

cia para o conjunto de dados. Com isto, o conjunto final de dados formado tera

um numero de dimensoes menor do que o conjunto original, ocorrendo assim a

Page 40: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

39

reducao de dimensionalidade. Para o exemplo utilizado, obtemos o seguinte vetor

caracterıstica:

−0, 677873399 −0, 735178656

−0, 735178656 0, 677873399

(4.12)

Este vetor e a propria matriz de autovetores. No entanto, para a reducao da

dimensao dos dados, desconsiderar-se-a o autovetor de menor autovalor. Desta

forma obtem-se o seguinte vetor caracterıstica:

−0, 677873399

−0, 735178656

(4.13)

4.2.6 Formando o Novo Conjunto de Dados

Esta e a ultima etapa do algoritmo, e tambem a mais facil. Apos a escolha dos

componentes principais obtem-se o vetor caracterıstica. Para se obter o conjunto

de dados final, com a reducao da dimensao, basta realizar a operacao representada

pela Equacao 4.14.

(ConjuntoF inal) = (V etorCaracterstica)X(ConjuntoD′) (4.14)

Sendo que o Vetor Caracterıstica e a matriz contendo os autovetores seleciona-

dos, porem, este vetor foi transposto. O mesmo ocorreu com o Cojnuto D’, que

tambem deve ser transposto, com a finalidade de agilizar os calculos e diminuir o

esforco computacional. O Conjunto Final sera uma matriz composta da seguinte

forma: cada linha e uma dimensao e cada coluna um conjunto de dados.

Page 41: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

40

4.2.7 Recompondo os dados originais

Para a reconstrucao dos dados originais basta realizar o calculo representado

pela Equacao 4.15:

(ConjuntoD) = [(V etorCaracterstica)TX(ConjuntoF inal)] + (Media) (4.15)

Sendo que a Media e a matriz media de cada dimensao. Se forem utilizados nos

calculos todos os autovetores, o Conjunto Original sera obtido exatamente igual ao

Conjunto aplicado no inicio do algoritmo. No entanto, se algum autovetor for des-

considerado, o Conjunto Original obtido sera diferente do Conjunto inicial, porem

a diferenca sera desprezıvel tanto quanto proporcional ao autovetor desprezado.

4.3 Exemplo do uso de PCA para Reconhecer Faces

Apos as etapas de tratamento da imagem, que neste caso fez-se a transformacao

da imagem colorida para tons de cinza, inicia-se o processo de transformacao da

imagem pelo algoritmo de PCA.

Inicialmente transforma-se uma imagem, uma matriz de pixels, em um vetor

de pixels, conforme mostrado pela Figura 13.

Figura 13: Matriz de Pixels para Vetor de Pixels. Fonte: (MELO G.; SOUTO, 2004)

Cada face que sera armazenada na base de dados sofrera este processo, a fim

de obter uma matriz que sera chamada de Matriz de Faces, Figura 14.

Page 42: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

41

Figura 14: Matriz de Faces. Fonte: (KITANI E. C.; THOMAZ, 2005)

Dessa Matriz de Faces, e calculada a chamada Face Media, que nada mais e

que a media aritmetica de todas as faces. A Figura 15 mostra um exemplo de face

media:

Figura 15: Media Aritmetica das Faces. Fonte: (KITANI E. C.; THOMAZ, 2005)

Uma vez obtida a face media, realiza-se a operacao de subtracao de cada uma

das faces contidas na Matriz de Faces da Face Media, gerando, desta forma, uma

nova Matriz de Faces. Dessa nova matriz e que ocorre a reducao da dimensio-

nalidade, ocorrendo a extracao de uma matriz covariancia, e dessa, o calculo dos

autovalores e autovetores.

Dos classificadores, os autovetores e autovalores de cada face constituem-se

uma Matriz de Faces com reducao de dimensionalidade. Nessa nova matriz cons-

tarao apenas os componentes necessarios para a identificacao da face, ou seja, os

de maiores relevancia.

Para o processo de identificacao de faces, uma nova imagem devera ser adquirida

pelo sistema, e esta imagem deve passar por todo o processo ja descrito, ate que

sejam extraıdos os seus autovetores e autovalores, que sao os classificadores para

esta imagem. E para a comparacao desta imagem com as outras se utiliza a tec-

Page 43: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

42

nica da comparacao dos classificadores um a um, por metodos matematicos, como

a distancia euclidiana entre dois pontos. Atraves da menor diferenca entre os clas-

sificadores e que se realiza a identificacao do individuo. A mesma ideia e a que se

pretende empregar neste trabalho, pois tanto a face quanto os caracteres tem um

padrao definido.

4.4 A função da Análise de Componentes Principais neste

trabalho

Neste trabalho o objetivo principal da tecnica PCA e reconhecer o padrao dos

caracteres das placas dos veıculos automotores. Para que o reconhecimento ocorra

de maneira ideal, o primeiro passo do sistema sera adquirir da imagem da placa dos

veıculos os caracteres, e esses devem ser separados em imagens menores e atraves

de tecnicas de tratamento de imagens torna-los monocromaticos.

Com os caracteres separados, cada um deles deve ser transformado em uma

matriz, para que sejam processados pelo algoritmo de PCA. Apos se determinar os

vetores caracterısticas extraıdos de cada caractere, compara-se esses vetores com os

vetores caracterısticas ja armazenados na base de dados do sistema, comparando-se

com a margem de erro estipulada, a fim de determinar qual caractere foi localizado

e, desta forma, gerar uma sequencia de caracteres traduzindo a informacao extraıda

da imagem do carro com a informacao previamente cadastrada.

O conceito deste software basicamente e se comportar como um software OCR

- Optical Characther Recognition - que e um sistema capaz de traduzir imagem

de textos em caracteres. E desta forma identificar o carro previamente cadastrado

na base de dados.

Page 44: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

43

5 O Funcionamento e Arquitetura do

Sistema

5.1 Introdução

Como referencia de comparacao para as imagens das placas, adotou-se os

padroes de fontes utilizadas nos caracteres de placas de veıculos: “Din 1451 Mit-

telschrift” (utilizada nas placas mais antigas) e “Mandatory” (novo padrao desde

1o de agosto de 2007). Como descrito no Capıtulo 2, este novo padrao foi adotado

pelo CONTRAN para facilitar a identificacao dos caracteres e sua finalidade e a

padronizacao nacional das placas, visto que existem inumeras fora dos padroes,

como sera mostrado nos proximos capıtulos. Os numeros e letras sao mais bem

definidos e com contornos mais fortes. O Figura 41, apresentada como anexo a

este trabalho, mostra a diferenca entre estes 2 padroes.

Para tentar resolver o problema apresentado por este trabalho, foi elaborado

uma metologia (arquitetura) para os algoritmos do sistema. A Figura 16 apresenta

o diagrama de fluxo dos dados para o melhor entendimento da metodologia aplicada

neste trabalho. Por algumas razoes, os resultados nao foram exatamente iguais aos

esperados pelos desenvolvedores do tema. Por isso algumas etapas apresentadas

por esta metodologia nao foram aplicadas, mas mesmo assim segue abaixo uma

explicacao mais detalhada dos itens presentes na arquitetura.

• Fase 1 - Captura da Imagem do Veıculo: Foi proposto pelo trabalho uti-

lizar uma camera de vigilancia comum para capturar a imagem do veıculo,

Page 45: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

44

mas nao e permitido tirar foto das placas de veıculos sem ordem judicial e

implementar um sistema deste, para esta finalidade, seria financeiramente

inviavel e nao haveria tempo habil para sua implementacao, visto que ele

nao era o foco do trabalho. E para substituir este recurso, foi utilizado uma

camera digital comum para capturar as imagens das placas de testes, de

alguns veıculos, com autorizacao previa dos donos;

Figura 16: Arquitetura do Sistema de deteccao de placas atraves da tecnica PCA.

• Fase 2 - Processamento Digital da Imagem: Como mencionado nos capıtulos

anteriores, a selecao da placa na imagem capturada e, sem duvida, a parte

mais difıcil de ser implementada. Mas para tentar resolver este problema,

foi utilizado um software de Processamento Digital de Imagens em conjunto

com linguagem de programa Visual Basic .Net: o RoboRealm foi capaz de se-

lecionar as placas de algumas imagens capturadas. Este algoritmo de selecao

de placas sera desrito na proxima secao, ainda neste capıtulo;

• Fase 3 - Segmentacao dos Caracteres: De posse da imagem da placa, e

necessario segmentar os caracteres, e para isso foi desenvolvido um algo-

ritmo em MatLab R©, que faz esta segmentacao com uma grande performance

e precisao. Este algoritmo tambem sera descrito com maiores detalhes, ainda

neste capıtulo;

Page 46: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

45

• Fase 4 - Aplicacao da Tecnica PCA: Ja com os caracteres segmentados, o

algortimo em MatLab R© do PCA faz todo o trabalho matematico e tenta

investigar os padroes existentes entre os caracteres e as referencias, e assim,

encontrar os resultados;

• Fase 5 - Interface com o Usuario: O proposito desta interface e mostrar ao

usuario os resultados das aplicacoes de cada etapa da metologia, e assim o

usuario verifica o trabalho que esta sendo executado. Mas como a finalidade

principal e validar o PCA para encontrar padroes em caracteres, esta etapa

foi deixada para ser implementada como uma futura melhoria para o sistema.

5.2 Processamento Digital da Imagem - Seleção da Placa

Para o sistema de captura de imagens de placas de veıculos automotivos,

utilizou-se uma base de dados livre, composta por 100 imagens (SITE11, Reti-

rado em 15 de junho de 2008), e ainda, algumas fotos capturadas por camera

digital convencional. Algumas imagens da base de dados foram eliminadas ma-

nualmente apos a aplicacao dos filtros no RoboRealm, pois elas nao possuıam a

placa do veıculo ou a placa estava completamente ilegıvel. Apos este trabalho

restaram 65 placas como base de imagens para a proxima etapa do sistema que e

a Segmentacao dos Caracteres.

Essas imagens foram utilizadas para simular o sistema que seria responsavel

pela aquisicao das imagens dos veıculos. Como esse sistema e secundario ao tra-

balho, utilizou-se essas imagens a fim de simplificar esta etapa.

5.2.1 O RoboRealm

O Roborealm e uma poderosa ferramenta para aplicacoes em visao computa-

cional, processamento de imagens e tarefas para controle robotico. Esta ferramenta

foi desenvolvida para se tornar facil a aplicacoes de filtros para processamento de

imagens e controle robotico. A versao utilizada deste software (v1.8.23.10), e uma

versao livre. Maiores informacoes podem ser obtidas pelo site www.roborealm.com.

Page 47: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

46

O Roborealm e uma poderosa ferramenta para softwares com aplicacoes em

visao computacional, processamento de imagens e tarefas para visao de robos.

Esta ferramenta foi desenvolvida para se tornar facil a aplicacoes de filtros para

processamento de imagens e controle de robos.

Este software e um processador de imagens que contem todas as ferramentas

necessarias para o processamento de imagens para visao computacional. Este

software e simples o suficiente para iniciantes o utilizarem e poderoso o suficiente

para que aplicacoes mais avancadas possam ser desenvolvidas.

O coracao do processamento de imagens do Roborealm e a estrutura de uti-

lizacao dos modulos de filtros utilizados para o processamento de imagens. Esta

estrutura permite que varios filtros possam ser aplicados sequencialmente a imagem

e a facilidade em se alterar a ordem de execucao destes filtros torna esta ferramenta

extremamente flexivel para se criar os mais diferentes resultados. (ROBOREALM,

2008)

Figura 17: A interface do software Roborealm.

Todo este poder de processamento de imagens, ainda pode ser utilizado junto

a uma linguagem de programacao como, Visual Basic, C++, Java, entre outras.

Esta integracao e realizada atraves de uma biblioteca. Com esta ferramenta pode-

se ter todo o poder de processamento do Roborealm em um software dedicado.

Page 48: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

47

5.2.2 A Interface com o RoboRealm

Para o tratamento das imagens utilizou-se a interface do software RoboRealm

com o software de linguagem de programacao Visual Basic .Net. Essa interface foi

responsavel por dois passos no processamento das imagens. Em um primeiro mo-

mento, como interface responsavel pelo algoritmo de extracao da placa do veıculo

na imagem, e em um segundo momento, como sistema utilizado para redimensionar

os caracteres extraıdos das imagens das placas.

5.2.2.1 Algoritmo de extração da placa na imagem

Para a primeira etapa do sistema, desenvolveu-se um algoritmo capaz de extrair

da imagem do veıculo apenas a placa do veıculo. Essa primeira etapa do sistema

e ilustrada, com mais detalhes, pelo fluxograma da Figura 18.

Figura 18: Fluxograma do Algoritmo de Selecao da Placa na Imagem Capturada.

Page 49: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

48

Para a obtencao desse algoritmo, inicialmente, realizou-se um estudo das cores

na imagem, criando, assim, um filtro capaz de isolar a placa do veıculo do restante

da imagem. Com base nessa analise foi possıvel classificar as imagens dos veıculos

em dois tipos: imagens de veıculos claros e imagens de veıculos escuros. Para essa

separacao, utilizou-se o filtro estatıstico de cores contido no RoboRealm e atraves

da analise da variavel de variancia das cores, realizou-se a classificacao: 1 - imagens

com veıculos claros; 2 - imagens com veıculos escuros.

Os filtros responsaveis por extrair da imagem as placas dos veıculos sao consti-

tuıdos de uma sequencia de filtros processados pelo RoboRealm. Ambos os filtros

tem como objetivo criar um retangulo branco exatamente sobre a placa do veıculo

na imagem, a fim de identifica-la. Realizado esse processo, obtem-se as coorde-

nadas da regiao onde a placa se encontra na imagem e, apos a obtencao dessas

coordenadas, extrai-se a regiao da imagem original.

A Figura 19 mostra o RoboRealm aplicando os filtros, e as Figuras 20, 21

e 22 mostram o Visual Basic .Net interagindo com o RoboRealm para aplicar o

algoritmo descrito. Em anexo, a Figura 42 ate 53 sao exemplos da aplicacao do

algoritmo de selecao da placa na imagem.

Figura 19: RoboRealm aplicando alguns filtros a Imagem Original do Veıculo.

Page 50: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

49

Figura 20: Visual Basic .Net interagindo com o RoboRealm - Passo 1 do Algoritmo.

Figura 21: Visual Basic .Net interagindo com o RoboRealm - Passo 2 do Algoritmo.

Page 51: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

50

Figura 22: Visual Basic .Net interagindo com o RoboRealm - Passo 3 do Algoritmo.

5.2.2.2 Algoritmo de redimensionamento da imagem do caractere

Este algoritmo fez-se necessario para manter um tamanho padrao entre os

caracteres extraıdos das imagens dos veıculos. Para esse procedimento, utilizou-se

o filtro de redimensionamento ja existente no RoboRealm. O fluxograma da Figura

23 demonstra com mais detalhes o algoritmo.

Este sistema e bem simples, aplicando o filtro de redimensionamento a imagem

do caractere, redimensionando a mesma e salvando-a novamente. Todos os carac-

teres foram redimensionados para o tamanho de 100x100 pixels. Este tamanho foi

adotado aleatoriamente, sem nenhum estudo previo do mesmo, visto que o mesmo

nao iria interferir no procedimento de identificacao dos caracteres, ja que a base

utilizada como referencia no reconhecimento dos caracteres tambem foi redimen-

sionada por este mesmo algoritmo.

Page 52: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

51

Figura 23: Fluxograma do Algoritmo de Redimensionamento dos Caracteres quecompoem a Placa.

5.2.3 Di�culdades na identi�cação da placa

A maior dificuldade encontrada nesta etapa do processo foi a extracao da ima-

gem da placa de veıculos claros. Esta dificuldade surgiu devido a baixa resolucao

das imagens utilizadas, pois a placa do veıculo se confundia, na maioria dos ca-

sos, com a frente do veıculo, o que dificultou a extracao e identificacao da mesma.

Utilizando uma resolucao maior foi possıvel melhorar o desempenho do algoritmo

e extrair algumas placas. Entretanto, nao foi um resultado satisfatorio.

Para a extracao de imagens de veıculos claros, necessita-se de um maior estudo

dos filtros, para que possa ser possıvel extrair a imagem da placa sem confundi-la

com a cor do veıculo.

Page 53: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

52

5.2.4 Resultados obtidos para a extração das placas

No sistema de extracao das placas de veıculos o resultado foi satisfatorio para

carros escuros, visto que, nesses casos, a taxa de acerto foi de 100%. No entanto,

na extracao da placa para veıculos claros, a taxa de acerto foi de 50%, nao sendo

um resultado satisfatorio.

De todas as imagens processadas pelo sistema de extracao de placas, obteve-se

65% de aproveitamento, resultado este, considerado nao satisfatorio. Mas, com

o sucesso obtido nos filtros para veıculos escuros, demonstra-se claramente que o

algoritmo e deficiente em identificar placas de veıculos claros.

Para esta etapa, fica como melhoria para trabalhos futuros a implantacao de

um filtro mais eficiente em encontrar a regiao da placa na imagem, independente-

mente da cor do veıculo.

5.3 Segmentação dos Caracteres

A Segmentacao dos Caracteres e, sem duvida, uma das principais partes do

Sistema de Reconhecimento de Placas de Veıculos. Como foi apresentado pela

teoria, e muito mais facil para o algoritmo comparar letra com letra e numero com

numero, do que comparar a placa como um todo. Portanto a Segmentacao dos

Caracteres se torna essencial para o bom funcionamento do sistema.

5.3.1 O Algoritmo

A Segmentacao poderia ter sido aplicada tambem utilizando o RoboRealm e

o Visual Basic .Net. Mas, decidiu-se utilizar o MatLab R©, pois a tecnica escolhida

para se fazer a Segmentacao dos Caracteres foi a das Projecoes Vetical e Horizon-

tal. E, utilizando o MatLab R©, ficaria extremamente simples de implementar esta

tecnica.

Page 54: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

53

O princıpio deste algoritmo e bem facil de ser entendido. Ele esta baseado na

utilizacao das Projecoes Horizontal e Vertical. Basicamente o que acontece e: a

Projecao Horizontal obtem como resposta as coordenadas Y1 e Y2 que informam

a altura exata dos caracteres; a Projecao Vertical obtem como resposta as coor-

denadas X1 e X2 de cada caractere. De posse dessas 4 coordenadas para cada

caractere, e possıvel segmentar com perfeicao os caracteres. A Figura 24 mostra

com mais detalhes este processo.

Figura 24: Processo de Segmentacao dos Caracteres que compoem a Placa.

O fluxograma da Figura 25 demonstra com mais detalhes o algoritmo como

um todo.

Figura 25: Fluxograma do Algoritmo de Segmentacao dos Caracteres que compoema Placa.

Page 55: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

54

5.3.2 Di�culdades

Existem inumeras dificuldades na Segmentacao dos Caracteres. Algumas sao

descritas abaixo e devem ser levadas em consideracao para a construcao de um

algoritmo eficiente:

• Selecao da Placa mal executada: como descrito anteriormente, na teoria

a selecao da placa na imagem e complicada de ser aplicada. Neste trabalho

e utilizado o RoboRealm e o Visual Basic .Net para fazer essa selecao, mas

apos a selecao e aplicacao dos filtros, inumeros ruıdos foram introduzidos na

placa, o que dificultou a segmentacao dos caracteres;

• Inclinacao da Placa: deve ser levada em consideracao pelo algoritmo,

mas neste trabalho, as fotos utilizadas foram retiradas frontalmente, ou seja,

evitando a inclinacao e consequentemente a necessidade do tratamento deste

problema.

• Baixa Resolucao: a baixa resolucao pode fazer com que os caracteres

sejam completamente distorcidos apos a segmentacao, e isto pode prejudicar

o processo de reconhecimento.

5.3.3 Resultados obtidos

Caso a etapa anterior, que faz selecao da placa na imagem, seja bem sucedida

e o resultado esteja em padrao aceitavel, a segmentacao tera como resultado os

caracteres perfeitamente segmentados. Inumeros testes foram feitos e as respostas

deste algoritmo estao acima da expectativa e os resultados sao extremamente sa-

tisfatorios.

Ocorreram algumas segmentacoes incorretas, mas, nesses casos, as placas es-

tavam em pessimas condicoes de trabalho.

Page 56: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

55

Figura 26: Exemplo 1 - Segmentacao dos Caracteres.

As Figuras 26 e 27 mostram 2 exemplos de segmentacoes bem sucedidas. Re-

pare que nessas 2 figuras existem muitas sujeiras nas placas, mas, mesmo assim, o

algoritmo consegue segmentar os caracteres perfeitamente.

Figura 27: Exemplo 2 - Segmentacao dos Caracteres.

A Figura 28 mostra um exemplo mal sucedido da segmentacao dos caracteres,

mas repare que a placa esta em pessima condicao visual.

Figura 28: Exemplo 3 - Segmentacao dos Caracteres.

Page 57: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

56

5.4 Aplicação da Técnica PCA

Apos o Processamento Digital das Imagens, calculou-se o PCA, ou seja, auto-

valores e autovetores, de cada caractere no padrao velho e no padrao novo. Um fato

importante a ser comentado e que de acordo com a posicao do caractere na placa,

e possıvel determinar se este e um numero ou uma letra, podendo desta forma

criar algoritmos de comparacao independentes para as letras e para os numeros.

Desta forma, o desempenho do algoritmo foi melhorado, visto que nao ha neces-

sidade de comparacao entre numeros e letras; e tambem foi possıvel criar logicas

de comparacao diferentes entre letras e numeros, pois os resultados de PCA para

eles foram bem diferentes, como sera mostrado adiante.

Os caracteres padroes foram gerados e editados em Adobe Photoshop, para

conseguir uma certa perfeicao para os mesmos, visto que os calculos desses padroes

servirao de base para a comparacao entre os caracteres. As Projecoes Vertical e

Horizontal foram geradas a partir destes caracteres. Sendo assim, para cada letra

ou numero existem tres resultados de autovalores e tres resultados de autovetores.

A Figura 29 exibe a letra “A” e suas respectivas projecoes vertical e horizontal.

Figura 29: Caractere A, projecao vertical e projecao horizontal respectivamente.

Isto foi feito para aumentar o numero de resultados para a comparacao, visto

que o PCA, como esta sendo utilizado neste trabalho (apenas utilizando a cor

preta como base de informacoes), nao oferece um grande numero de componentes

principais para a analise estatıstica dos resultados. O calculo de comparacao do

autovalor da referencia com o autovalor do caractere e descrito com mais detalhes

ainda nesta secao.

Page 58: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

57

5.4.1 Cálculo dos Autovalores

O resultado do calculo do autovalor e uma matriz 2x2 com resultados apenas

na diagonal principal, como mostra a Equacao 5.1.

A 0

0 B

(5.1)

Sendo:

• A - autovalor de menor relevancia da imagem;

• B - autovalor de maior relevancia da imagem.

Primeiramente calculou-se a diferenca em modulo entre a Matriz de autovalor

de referencia e a Matriz de autovalor de comparacao (Caractere que se quer desco-

brir).

Ar 0

0 Br

Ac 0

0 Bc

(5.2)

Sendo:

• Ar - autovalor de menor relevancia da referencia;

• Ac - autovalor de menor relevancia da imagem comparada;

• Br - autovalor de maior relevancia da referencia;

• Bc - autovalor de maior relevancia da imagem comparada.

O calculo que foi efetuado para a analise dos resultados dos autovalores e

mostrado pela Equacao 5.3

R =abs(Ar − Ac) + abs(Br −Bc)

2(5.3)

Page 59: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

58

Este calculo e realizado para a imagem do caractere, projecoes Vertical e Hori-

zontal de todas as letras ou numeros. O valor referencia e utilizado em cada uma

das 26 letras do alfabeto ou em cada um dos 10 numeros existentes, ou seja, como

referencia, e criada uma matriz M(linha, coluna) de dimensoes M(3, 10) para os

numeros, e uma matriz M(3, 26) para as letras. Sendo que a primeira linha traz o

resultado do autovalor de cada um dos numeros ou letras do alfabeto, a segunda

linha traz a projecao vertical e a terceira linha, a projecao horizontal de cada um

dos caracteres.

Posteriormente existe um algoritmo que faz a analise de todos os resultados do

vetor e os multiplica por um peso, ou seja, os menores valores recebem os menores

pesos e os maiores valores tendem a ficar ainda maiores. Foi dado um nome para

estes tres algoritmos sendo:

• Normal: resultado de comparacao dos resultados do PCA sobre a imagem

do caractere;

• PV: resultado de comparacao dos resultados do PCA sobre a imagem da

Projecao Vertical do caractere;

• PH: resultado de comparacao dos resultados do PCA sobre a imagem da

Projecao Horizontal do caractere.

Este algoritmo foi criado para tentar eleger aquele que mais coincide com a

imagem de comparacao, de forma a evitar que algum caractere, que nao seja o

correto, venha a ser eleito como o mais provavel em uma das tres analises. Um

exemplo pratico deste algoritmo do peso e apresentado no exemplo abaixo:

Supondo-se que o vetor resposta para o calculo sobre a imagem do caractere

seja dado pela Equacao 5.4:

R = [4.43, 5.01, 3.12, 1.98, 8.76, 14.77, 1.51, 9.87, 11.76, 6.45] (5.4)

Page 60: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

59

Este mesmo vetor ordenado e mostrado na Equacao 5.5:

R = [1.51, 1.98, 3.12, 4.43, 5.01, 6.45, 8.76, 9.87, 11.76, 14.77] (5.5)

Enquanto o menor valor 1.51 recebe peso 1, o segundo valor recebera peso

2 e assim sucessivamente ate o maior valor 14.77 receber peso 10, ou seja, sera

multiplicado por 10. Assim garante-se uma melhor variedade entre os melhores

classificados. Assim a chance de um resultado interferir em outro e eliminada, pois

a diferenca dos caracteres errados sera muito maior que aquela que o algortimo

julga ser o correto.

Apos este passo do algortimo, um novo vetor de resposta e obtido, sendo este

mostrado na Equacao 5.6:

R = [1.51, 3.96, 9.36, 17.72, 25.05, 38.7, 61.32, 78.96, 105.84, 147.7] (5.6)

Este procedimento foi feito para as tres imagens de cada caractere (caractere,

projecoes vertical e horizontal). Dessa forma, nas outras duas analises, o resultado

pode estar distante do correto, recebendo entao um peso maior e distanciando-o

da eleicao da resposta (que busca o menor valor dentre aqueles do vetor), e aquele

que deve ser o correto recebe sempre pesos pequenos.

Em seguida somam-se os tres resultados de forma a obter um valor resultado

para cada caractere, como mostra a Equacao 5.7

k∑i=1

= Normal(i) + PV (i) + PH(i) (5.7)

Sendo: i um valor inteiro que varia ate 10 para os numeros e ate 26 para as

letras.

O menor valor∑

e o resultado, visto que ele indica a menor discrepancia ou

distorcao entre os resultados do PCA da imagem comparada e um dos caracteres

referencia.

Page 61: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

60

Este foi o procedimento final adotado, e o motivo da escolha deste algoritmo

sera mostrado no capıtulo de resultados e discussoes. A Figura 30 mostra um

pouco do algoritmo desenvolvido.

O codigo foi feito em MatLab R© devido a facilidade deste software resolver

equacoes como covariancia, autovalores e autovetores atraves de funcoes internas do

software. Neste trabalho de conclusao de curso, foi utilizado apenas uma referencia

para a comparacao das imagens, os padroes antingo e novo, e os caracteres foram

divididos nestes 2 grupos como tentativa de melhorar os resultados, ou seja, de

acordo com a imagem que estava sendo analisada era utilizada a referencia do

padrao antigo e para outras imagens o padrao novo.

Figura 30: Algoritmo dos pesos

Page 62: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

61

6 Análise dos Resultados Finais

6.1 Analisando os Testes

Os primeiros testes que foram executados com o PCA foram realizados uti-

lizando caracteres adquiridos manualmente, ou seja, sem a utilizacao do RoboRe-

alm ou do algoritmo de corte dos caracteres ja citados anteriormente. Primeira-

mente utilizou-se os numeros para os testes, visto que sao mais faceis de serem

obtidos e tambem devido a menor quantidade, quando comparado as letras (10

comparacoes para os numeros contra 26 comparacoes para os caracteres).

Apos o estudo da tecnica PCA, verificou-se que a identificacao dos caracteres

nao seria facil, pois a maioria dos algoritmos que utilizam a tecnica PCA para com-

paracao de padroes utilizavam inumeras caracterısticas retiradas de uma mesma

imagem, como por exemplo o padrao das cores que compoem a imagem: caso

a imagem esteja no padrao RGB, e possıvel obter varias componentes principais

desta imagem, e assim realizar um tratamento estatıstico e obter mais facilmente

o padrao desejado. Isto acontece com o PCA sendo aplicado ao reconhecimento de

faces, pois existem varias faixas de cores, sendo que cada uma destas faixas gera

um resultado de autovalores e autovetores a ser comparado e equacionado. Sendo

assim, cada imagem possui duas ou mais componentes principais, enquanto que

na analise das placas deste trabalho existe apenas a cor preta, ou seja, o vetor de

analise nada mais e que um vetor em coordenadas X e Y com as posicoes dos pon-

tos pretos da imagem, ou seja, existe uma quantidade menor de informacoes que

serao quantificadas e, consequentemente, uma grande chance de alguns caracteres

apresentarem resultados parecidos, dificultando a analise do resultado.. Tentando

aumentar a quantidade de componentes principais para as analises, foram uti-

lizadas as projecoes vertical e horizontal, consideradas como segunda e terceira

analise da resposta.

Page 63: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

62

Os primeiros testes realizados levavam em consideracao os autovalores e au-

tovetores, mas percebeu-se que os autovetores nem sempre seguiam um padrao,

diferentemente dos autovalores que sempre tendiam o resultado correto. Depen-

dendo da distorcao da imagem o autovetor mudava significativamente seu angulo

α = posicaoYposicaoX

e nao convergia ao resultado esperado do mesmo autovetor do carac-

tere de referencia para aquela imagem. Qualquer perturbacao de ruıdo, saliencia

e diferencas de resolucao na imagem interferia, e o resultado era completamente

diferente do esperado.

Figura 31: Numero 5 da Referencia Padrao Antigo.

autovalores =

747.4 0

0 1004.7

(6.1)

autovetores =

−0.86223 −0.50652

−0.50652 0.86223

(6.2)

α =0.86223

−0.50652= −1, 7022 (6.3)

Utilizando a imagem no padrao antigo do numero 5 como referencia, Figura

31, os resultados de autovalor, autovetor e α sao mostrados respectivamente nas

Equacoes 6.1, 6.2, 6.3. Agora, analisando os resultados de autovalor, autovetor e

α respectivamente as Equacoes 6.4, 6.5 e 6.6 da imagem do caractere que deseja-se

comparar, Figura 32, percebe-se que o autovalor e semelhante ao da referencia, mas

a tangente α nao, mesmo a diferenca entre a referencia e o caractere estando nas

casas decimais, ela nao e de grande utilidade para utilizacao, visto que existirao

Page 64: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

63

outros caracteres totalmente diferentes do 5, que terao valores de α mais proximos

e precisos. Sendo assim o autovetor foi descartado do algoritmo final. Para tomar

esta decisao, inumeros testes foram realizados.

Figura 32: Numero 5 da Placa 1 dos testes.

autovalores =

648.47 0

0 935.82

(6.4)

autovetores =

−0.77891 −0.62713

−0.62713 0.77891

(6.5)

α =0.77891

−0.62713= −1, 2420 (6.6)

Mas no caso do caractere acima apresentado, os resultados foram satisfatorios,

e o numero 5 foi encontrado com sucesso pelo algoritmo.

Um outro fato interessante da tecnica PCA que foi visto nos resultados do au-

tovalor, e que, independentemente da rotacao do caractere na imagem, o resultado

do autovalor nao muda. A tecnica PCA consegue identificar o caractere da mesma

maneira devido a caracterıstica matematica do algoritmo. A Figura 33 mostra esse

exemplo.

Figura 33: Numero 3 na fonte Mandatory (Padrao atual da placa) e sua rotacao.

Page 65: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

64

autovalores(3normal) =

521.7 0

0 1851.7

(6.7)

autovalores(3invertido) =

525.02 0

0 1863.8

(6.8)

Estes testes foram realizados para saber como o PCA se comportaria com

pequenas rotacoes ou caracteres que, se invertidos, sao parecidos, mas este tipo

de inversao nao ira ocorrer neste trabalho, apenas algumas variacoes nas imagens

serao levadas em consideracao.

Utilizando a Equacao 6.9, que foi apresentada no capıtulo anterior, e que e

mostrada novamente abaixo, o resultado R = 7.6353, do numero 3 invertido com-

parado ao numero 3 normal, e um valor muito pequeno. Mas comparando-se com

qualquer outro caractere, o resultado e muito maior. Um exemplo disto seria o

numero 4, que apresenta como resultado R = 463.67, ou seja, o numero 4 nao

sera escolhido pelo algoritmo, pois e 60 vezes maior que o resultado R do numero

3. Pode-se concluir deste exemplo, que mesmo com o caractere 3 invertido, o

algoritmo consegue determinar o padrao correto.

R =abs(Ar − Ac) + abs(Br −Bc)

2(6.9)

A cada teste que era feito, percebia-se uma tendencia ainda maior de utilizar

o autovalor para a analise do resultado.

Da teoria do PCA, obteve-se o conhecimento necessario para identificar o ca-

ractere, porem, a teoria mostrava que os valores a serem utilizados, apos a apli-

cacao do algoritmo PCA, deveriam ser os valores de autovetores. Entretanto, apos

analise desses resultados, viu-se que eles eram muito proximos, de um caractere

para outro, o que estava inviabilizando a identificacao inicial do caractere. Atraves

de inumeros testes e da analise visual dos resultados numericos, percebeu-se que os

Autovalores apresentavam padroes e que poderiam ser utilizados na identificacao

dos caracteres. Entao esses passaram a ser o foco das equacoes utilizadas.

Page 66: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

65

Inumeros testes de equacoes foram feitos seguindo a teoria do PCA, principal-

mente aquele que diz “O autovalor mais significativo indica qual e o autovetor que

carrega os dados mais importantes para aquele conjunto de dados”, “A Tutorial on

Principal Component Analysis”, (SMITH, 2002). Na tentativa de validar o sistema,

criou-se algumas equacoes, todas com a mesma ideia inicial (subtracao do resul-

tado da imagem de referencia pelo resultado da imagem que queria-se encontrar a

resposta). As principais equacoes e suas explicacoes sao mostradas abaixo:

OBS: Nas equacoes que serao apresentadas, serao utilizados os au-

tovalores e autovetores descritos abaixo.

Autovalor do Caractere

Ac 0

0 Bc

Autovalor da Referencia

Ar 0

0 Br

Autovetor do Caractere

Cc Dc

Ec Fc

Autovetor da Referencia

Cr Dr

Er Fr

1 - Equacao do autovetor mais Significativo

R = abs(Fr

Dr

− Fc

Dc

) (6.10)

A Equacao 6.10 utiliza a diferenca entre as tangentes α das componentes prin-

cipais da referencia e do caractere.

2 - Equacao da Primeira Componente Principal

R = abs(Ar ∗Er

Cr

− Ac ∗Ec

Cc

) (6.11)

A Equacao 6.11 utiliza-se da teoria do PCA, ou seja, dado um autovalor que

possui um autovetor associado, utilizou-se o autovalor multiplicado pelo seu cor-

respondente autovetor e fez-se a subtracao de acordo com a referencia.

Page 67: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

66

3 - Equacao da Segunda Componente Principal

R = abs(Br ∗Fr

Dr

−Bc ∗Fc

Dc

) (6.12)

O mesmo ocorre na Equacao 6.12, so que utiliza-se, neste caso, o segundo

autovalor com seu correspondente autovetor.

Lembrando que estes calculos sao realizados para a imagem do caractere, pro-

jecoes Vertical e Horizontal de todas as letras ou numeros. E o mesmo algoritmo

de Peso tambem foi utilizado nas equacoes descritas acima.

Analisando os resultados dos 4 algoritmos, o resultado final era dado pelo

caractere que fosse eleito o maior numero de vezes pelos algoritmos. Esse foi um

teste nao muito efetivo e que foi descartado logo apos algumas analises. Utilizou-

se, ainda, de um algoritmo auxiliar que dividia o resultado de cada uma das tres

equacoes (imagem normal, projecao horizontal e projecao vertical) pelo menor

ou maior resultado encontrado dentro do vetor. Isso foi feito numa tentativa de

deixar todos os resultados na mesma grandeza. Entretanto, observou-se que os

resultados nao foram muito diferentes dos que ja haviam sido encontrados. Entao,

descartou-se essa forma de analise. Logo, decidiu-se utilizar apenas as Equacoes

de Autovalores, visto que elas eram as que resolviam a maior parte dos problemas.

Alguns caracteres especıficos foram encontrados perfeitamente pelo sistema,

com uma taxa de acerto de 100% em relacao a amostragem utilizada para vali-

dacao, nesses casos os caracteres eram completamente diferentes de qualquer outro

caractere, como exemplo pode-se citar o numero ”4”: nao ha nenhum numero seme-

lhante a ele. Entretanto, alguns caracteres nao chegavam a um resultado correto

em algumas amostras, devido a semelhanca com outros caracteres, como e o caso

da letra ”O”com a letra ”Q”. Apesar disso, havia uma convergencia do resultado,

ou seja, mesmo o resultado nao sendo o correto, o caractere que deveria ser a

solucao ficava, pelo algoritmo, entre os provaveis resultados.

Page 68: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

67

Apesar de ser um bom identificador de padroes o PCA nao foi suficiente na

identificacao dos caracteres numericos. Isso ocorreu devido a baixa dimensiona-

lidade dos dados utilizados neste trabalho. Para cada caractere sao analisadas

apenas as dimensoes das coordenadas dos pixels pretos no plano cartesiano, o que

limita a analise do PCA a apenas duas dimensoes, X e Y. Para aumentar a dimen-

sionalidade dos dados, tentou-se incluir tambem a analise das projecoes horizontal

e vertical. O resultado dessa nova analise foi significativo, mas nao suficiente para

o resultado final ser considerado satisfatorio.

6.1.1 Análise dos resultados para os Números

Separou-se os resultados obtidos na identificacao dos caracteres numericos en-

tre: padrao antigo e padrao novo de placas de veıculos automotores no Brasil.

Segue abaixo a Tabela 3, apresentando os resultados obtidos para ambos os padroes.

Numero Padrao Antigo Padrao Novo0 60% 90%1 78% 0%2 61% 71%3 61% 43%4 83% 100%5 64% 100%6 68% 50%7 91% 100%8 76% 20%9 0% 0%

Tabela 3: Resultado da Aplicacao do algoritmo de Reconhecimento sobre osNumeros.

Padrao ResultadosAntigo 64%Novo 57%

Tabela 4: Resultado Geral para os Numeros

Observou-se atraves dos experimentos que o PCA e um algoritmo muito bom

para encontrar padroes. Isso foi avaliado atraves de testes realizados durante a

fase de implementacao do algoritmo de identificacao de caracteres. Esperava-se,

Page 69: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

68

ja desde essa fase, dificuldades em identificar o caractere numerico 6 e o 9, pois,

conforme ja explicado anteriormente , eles sao praticamente identicos, diferindo

apenas de 180o entre si. E isso foi confirmado com o resultado final, como e

possıvel observar atraves das Tabelas 3 e 4.

6.1.2 Análise dos resultados para as Letras

O mesmo procedimento aplicado aos numeros foi utilizado com as letras.

Separou-se cada letra em uma pasta diferente, e essas letras faziam parte das

placas da base de testes. Testou-se o algoritmo em todas as letras, tanto as do

padrao antigo, quanto as do padrao novo. Inumeros testes foram aplicados a fim de

obter um melhor resultado, mas como ja explicado anteriormente, o algoritmo que

apresentou uma melhor resposta foi o que utiliza apenas os autovalores para com-

paracao com a referencia. Com certeza, ele deve ser melhorado, mas foi possıvel

obter uma resposta razoavel do PCA para encontrar padroes entre caracteres.

A Tabela 5 mostra os resultados encontrados da aplicacao do algoritmo de

autovalores. E a Tabela 6 mostra o resultado geral para os teste.

Os resultados mostram apenas as porcentagens de acertos para cada letra, mas,

um ponto que foi observado da aplicacao do PCA, e que o resultado do autovalor

estava sempre entre os 3 primeiros resultados possıveis, mostrando que o PCA

encontra, na maioria das vezes, um certo padrao entre o caractere e as referencias.

Os resultados apresentados estao abaixo da expectativa deste trabalho, mas

devido aos inumeros problemas (que ocorrem nas fases anteriores a selecao do

caractere), pode-se considerar o PCA uma boa ferramenta para analise de padroes

de caracteres, pois esta tecnica apresenta uma margem de acertos superior a 90%

quando o caractere esta em boas condicoes. Em uma base de dados simulada com

pequenas distorcoes, o algoritmo apresenta-se eficiente e preciso.

Com uma qualidade das imagens em um nıvel aceitavel, o PCA ira responder

de maneira muito mais positiva do que a que e apresentada neste trabalho.

Page 70: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

69

Letra Padrao Antigo Padrao NovoA 100% 0%B 50% Nenhum CaractereC 42,86% Nenhum CaractereD 13,33% 10%E 100% 100%F 50% Nenhum CaractereG 60% Nenhum CaractereH 0% Nenhum CaractereI 0% Nenhum CaractereJ 100% Nenhum CaractereK 66,67% Nenhum CaractereL 28,57% 100%M 16,67% 0%N 0% 100%O 37,50% 100%P 100% 100%Q 37,50% 0%R 50% 100%S 100% 25%T 100% 100%U 33,33% 100%V Nenhum Caractere Nenhum CaractereW 33,33% Nenhum CaractereX 0% Nenhum CaractereY 0% 66,67%Z 85,71% 100%

Tabela 5: Resultado da Aplicacao do algoritmo de Reconhecimento sobre as Letras.

Padrao ResultadosAntigo 48,22%Novo 66,78%

Tabela 6: Resultado Geral para as Letras

Page 71: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

70

6.2 Problemas Ocorridos

Os resultados nao foram satisfatorios. Acreditava-se que seria possıvel uma

margem de acertos superior a 90%, mas ao longo do trabalho percebeu-se que isto

nao seria possıvel, devido a varios problemas, que serao descritos nesta secao com

detalhes.

O principal problema vinha do fato da semelhanca entre os caracteres. Nas

Figuras 34, 35 e 36 sao mostrados alguns destes exemplos.

Figura 34: Caractere J e L e suas respectivas projecoes Vertical e Horizontal.

Para efeito da imagem e do algoritmo, as letras “J” e “L” sao identicas (con-

siderando indiferente a rotacao), dificultando a identificacao.

Figura 35: Caractere O e Q e suas respectivas projecoes Vertical e Horizontal.

Ocorre uma grande dificuldade tambem entre as letras“O”e“Q”, que se diferem

por um pequeno detalhe na parte inferior do caractere “Q” e suas projecoes sao

semelhantes.

Figura 36: Caractere V e Y e suas respectivas projecoes Vertical e Horizontal.

Page 72: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

71

As letras “V” e “Y” nao sao muito parecidas, porem, o algoritmo quando exe-

cutado nao conseguiu em todos os casos validar as letras de forma correta, con-

fundindo seu resultado com a sua letra semelhante em alguns casos. Isto se deve

a distorcoes que ocorrem na imagem coletada. Um exemplo desta confusao e

mostrado pela Figura 37, que nao foi autenticada pelo algoritmo como um “Y”, e

sim como um “V”.

Figura 37: Imagem “Y” e suas projecoes de uma placa coletada para testes.

Para a analise humana, a Figura 37 e evidentemente um “Y”, mas o sistema

nao a identifica como tal. Todavia, ao analisar o resultado, percebe-se que a letra

“Y” e o segundo melhor resultado do sistema, ou seja, ela se assemelha a imagem,

porem o “V” e o mais proximo do resultado de referencia.

Outro problema ocorrido foi em relacao a quantidade de caracteres de referen-

cias, utilizou-se apenas uma referencia para os caracteres no padrao novo (fonte

Mandatory) e uma referencia para os caracteres no padrao antigo (fonte Din 1451

Mittelschrift). Isso dificultou o resultado, pois quando o caractere aparecia um

pouco mais reforcado do que o normal ou muito falho, esse nao conseguia ser

autenticado como o caractere correto.

Havia ainda o problema de algumas placas coletadas nao estarem em nenhum

dos dois padroes adotados, provavelmente devido a falta de fiscalizacao e pelo

fato de que em um passado proximo, a Fonte utilizada pelos caracteres nao era

padronizada como ocorre hoje.

Page 73: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

72

Outros problemas estao relacionados a caracteres, que dependendo da inversao,

sao parecidos, como o 6 e o 9 no padrao antigo, como mostra a Figura 38.

Figura 38: Numeros 6 e 9 no padrao antigo.

Como ja citado anteriormente, a rotacao de um dos numeros da Figura 38

resulta na identidade do outro, ou seja, o algoritmo pode se confundir e enviar o

resultado errado.

Alguns problemas podem ocorrer tambem em relacao aos numeros 6, 8 e 9 no

padrao novo como mostra a Figura 39, que sao caracteres muito parecidos.

Figura 39: Numeros 6, 8 e 9 no padrao novo.

Repare que na Figura 39 a diferenca entre o 6 e o 9 e apenas a orientacao

do caractere, se um dos dois numeros forem rotacionados e invertidos, eles sao

identicos, como ja foi descrito anteriormente. Outro fato e que o numero 8 tem

pouca diferenca em relacao ao numero 6 ou 9, considerando a comparacao de

imagens, ou seja, um mınimo de distorcao na imagem ou tamanho do contorno

pode resultar na identificacao do caractere semelhante (identificacao incorreta).

Outra analise mais precisa e exibida na Figura 40.

Percebe-se atraves das projecoes (que sao utilizadas nos calculos) a grande

semelhanca entre esses numeros.

Page 74: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

73

Figura 40: Numeros 6 e 9 normais, projecoes Verticais e Projecoes Horizontaisrespectivamente.

Verificou-se que a baixa resolucao das imagens, foi a principal causa para o

baixo desempenho do sistema como um todo. Seja no processo de extracao da

placa, no processo de extracao dos caracteres e no processo de identificacao dos

mesmos.

A baixa resolucao da imagem faz com que o formato geometrico do carac-

tere seja muito distorcido, quando o mesmo e redimensionado ou no processo da

captura, o proprio caractere fica, muitas vezes, irreconhecıvel ate a olho nu.

Esses e os demais problemas, descritos nesta secao, ocasionaram inumeras

deficiencias ao sistema criado neste trabalho.

Page 75: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

74

7 Futuras Melhorias e

Implementações

O algoritmo, apesar de nao ser totalmente confiavel, sempre coloca o caractere

correto entre os resultados provaveis. Com certeza, se for feita uma analise mais

detalhada dos resultados do PCA, sera possıvel encontrar uma maneira para colo-

car o caractere correto como resultado do algoritmo. Muitas correcoes e melhorias

podem ser aplicadas sobre este trabalho, pode-se destacar:

• Fazer um algoritmo refinado, que considere as restricoes apresentadas ante-

riormente, como o 6 e 9 , o Q e O, e analisar de outras maneiras quando cair

nesses casos;

• Utilizar Redes Neurais para analisar os resultados do PCA. As RNAs sao

muito eficazes quando se trata de analise de resultados. E, assim, pode-se

obter uma analise mais refinada dos autovalores e autovetores;

• Utilizar outras informacoes das imagens como fonte de dados para o PCA,

como, por exemplo, area da imagem, contorno, resolucao, padrao de cores,

etc;

• Desenvolver todos os algoritmos em alguma linguagem de programacao (VB

por exemplo). Assim a performance e confiabilidade do sistema aumentam

significativamente;

Page 76: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

75

• Utilizar um Banco de Dados, por exemplo, um feito em SQL Server, para

guardar os resultados das Referencias e aumentar a amplitude estatıstica das

comparacoes. Ou seja, em trabalhos futuros poder-se-ia criar um banco de

dados com varias referencias de todos os caracteres, de forma a conseguir

uma melhoria significativa nos resultados de comparacao;

• Utilizar uma quantidade maior de placas nos testes para que a amplitude de

comparacoes aumente e, assim, a confiabilidade do sistema tambem.

Essas sao algumas melhorias futuras e correcoes, que se aplicadas, podem trazer

para o sistema uma alta confiabilidade e precisao no reconhecimento de caracteres.

Page 77: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

76

8 Conclusão

Pode-se dizer em um primeiro momento que o resultado obtido nao foi sa-

tisfatorio para ser utilizado como um sistema real. No entanto deve-se levar em

consideracao que este e um trabalho inicial e inovador no que se diz respeito a

identificacao de caracteres utilizando a tecnica PCA.

Este trabalho pode ser utilizado futuramente por outros pesquisadores para

ajudar como base e dar suporte para empregar a tecnica PCA em identificacao

de padroes, nao so para caracteres como para qualquer outro tipo de identificacao

atraves de analise de dados estatısticos. O PCA ainda deve ser muito explorado

devido a facilidade de implementacao do seu algoritmo, alem disto, o PCA tem

pouca exigencia computacional, favorecendo sistemas que utilizam identificacao

em tempo real.

Da analise de imagens, conclui-se que para realizar trabalhos em que se ne-

cessita de imagens para a identificacao de padroes, deve-se sempre trabalhar com

a maior resolucao possıvel de captura da imagem, pois com uma melhor resolu-

cao se obtem uma melhor definicao de cor e formas contidas na imagem. Alem

disto, o PCA como foi empregado neste trabalho, nao permite a analise de muitos

parametros, somente a cor preta e utilizada como conjunto de dados, dificultado

muito o resultado.

A razao para o resultado negativo da aplicacao da tecnica PCA foi explicada

anteriormente com detalhes, mas e possıvel citar as principais causas desta falha

como: baixa resolucao das imagens de testes, baixa quantidade de imagens de

Page 78: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

77

testes, base de dados de referencia com pequena quantidade de caracteres. Esses

e muitos outros sao os motivos para a falha do PCA, mas em um trabalho que

contorne todos esses problemas, pode ser possıvel obter um resultado muito melhor

do que o aqui apresentado.

E importante salientar tambem que, apesar de nao satisfatorio em primeiro

momento, percebeu-se que os caracteres que deveriam ser dados como resultado

sempre se aproximavam da resposta, ficando no algoritmo da eleicao sempre entre

os tres primeiros colocados, comprovando a eficiencia do PCA na identificacao das

letras e numeros. Alem disto, notou-se por analise visual que quando se utiliza

a tecnica com caracteres em boa resolucao e sem muitas distorcoes, o resultado

apresentado e superior a 90% de acerto. Neste trabalho muitos dos caracteres

estavam ilegıveis e mesmo assim foram considerados para a estatıstica

Finalmente, no que tange como objetivo de um trabalho de graduacao, acredita-

se, que o objetivo foi alcancado. Tanto no quesito de pesquisa quanto no quesito

de desenvolvimento, pois, durante a fase de pesquisa colheu-se todo o material

necessario para o desenvolvimento de todos os algoritmos e analisou-se os resulta-

dos em particular, para depois ser definido o algoritmo final de resultado do sis-

tema, que foi sendo modificado e aperfeicoado na medida que o trabalho avancava.

Page 79: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

78

9 Anexos

Figura 41: Diferenca entre os 2 padroes existentes.

Page 80: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

79

Figura 42: Exemplo 1 - Aplicacao do algoritmo de selecao da placa na imagem.

Figura 43: Exemplo 1 - Placa Selecionada.

Figura 44: Exemplo 2 - Aplicacao do algoritmo de selecao da placa na imagem.

Figura 45: Exemplo 2 - Placa Selecionada.

Page 81: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

80

Figura 46: Exemplo 3 - Aplicacao do algoritmo de selecao da placa na imagem.

Figura 47: Exemplo 3 - Placa Selecionada.

Figura 48: Exemplo 4 - Aplicacao do algoritmo de selecao da placa na imagem.

Figura 49: Exemplo 4 - Placa Selecionada.

Page 82: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

81

Figura 50: Exemplo 5 - Aplicacao do algoritmo de selecao da placa na imagem.

Figura 51: Exemplo 5 - Placa Selecionada.

Figura 52: Exemplo 6 - Aplicacao do algoritmo de selecao da placa na imagem.

Figura 53: Exemplo 6 - Placa Selecionada.

Page 83: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

82

Referências

BARROSO J.; BULAS-CRUZ, J. Number plate reading using computer vision.In: IEEE-International Symposium on Industrial Electronics ISIE. [S.l.: s.n.],1997. p. 761 – 766.

BARROSO J.; BULAS-CRUZ, J. Real time number plate reading. In: 4thIFACWorkshop on Algorithms and Architetures for Real-time Control. Portugal:[s.n.], 1997.

BELVISI R.; FREITAS, R. Um Sistema de Reconhecimento Automatico de Placasde Automoveis. Dissertacao (Sao Paulo, Brasil) — Faculdade de EngenhariaIndustrial - FEI, ANO.

BOTELHO, M. F. Aplicacao de redes neurais artificiais na classificacao deimagens de alta resolucao espacial e dados do laser scanner, usando umaabordagem orientada a regioes. In: . Parana, Brasil: [s.n.], 2004.

BRAGA A. P.; CARVALHO, A. C. P. L. F. Redes Neurais Artificiais: teoria eaplicacoes. 1a. ed. Rio de Janeiro, Brasil: [s.n.], 2000.

BRASILIENSE correio. correio brasiliense - carros na clandestinidade. 24 deoutubro de 2004.

CASTELLO P.; COELHO, C. Trafic monitoring in motorways by real-timenumber plate recognition. In: Proceedings of the International Conference onImage Analysis and Processing. Veneza, Italia: [s.n.], 1999. p. 1128 – 1131.

CHENGJUN, L. Gabor-based kernel pca with fractional power polynomial modelsfor face recognition. IEEE, VOL. 26, n. No 25, May 2004.

CLAUDINO, L. M. B. Segmentacao de Fragmentos de Texto para a Localizacao dePlacas de Automoveis. Dissertacao (Mestrado) — Departamento de EngenhariaEletrica da Universidade Federal de Minas Gerais - UFMG, Minas Gerais, Brasil,Abril 2005.

CONTRAN. Resolucao 241 de 22 de junho de 2007 contran - conselho nacional detransito; resolucao 231 de 15 de marco 2007 contran - conselho nacional de transito.

Page 84: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

83

http://www.denatran.gov.br/download/Resolucoes/resolucao contran 241.pdf;http://www.denatran.gov.br/download/Resolucoes/resolucao 231.pdf, Retirado em05 de junho de 2008.

COWELL, J. R. Syntactic pattern recognizer for vehicle identification numbers.In: Elsevier Science, Image and Vision Computing. [S.l.: s.n.], 1995.

CUENCA W. M.; SEIXAS, J. M. Analise de componentes principais paraidentificar descargas parciais em transformadores de potencia. 2000.

DRAGHICI, S. A neural network based artificial vision system for licence platerecognition. International Journal of Neural Systems, volume 8, 1997.

ETEMAD K.; DOERMANN, D. Multiscale segmentation of unstructureddocument pages using soft decision integration. IEEE Transactions on PatternAnalysis and Machine Intelligence, p. 92 – 96, 1997.

FUJISAWA H.; NAKANO, Y. Segmentation to document structure analysis.Proceedings of the IEEE, v. 80, n. 7, p. 1079 – 1092, Julho 1992.

GOMES J.; VELHO, L. Computacao grafica: Imagem - serie de computacao ematematica. In: IMPA. Rio de Janeiro, Brasil: [s.n.], 2002. p. 421.

GONZALEZ R.C.; WOODS, R. Processamento de Imagens Digitais. Sao Paulo,Brasil: [s.n.], 2003.

GUIDINI M. P.; RIBEIRO, C. H. C. Utilizacao da biblioteca terralib paraalgoritmos de agrupamento em sistemas de informacoes geograficas. 2006.

HAYKIN, S. Redes Neurais, Princıpios e Pratica. 2a edicao. ed. [S.l.: s.n.], 2001.

HEINEN M. R.; OSORIO, F. S. Autenticacao de assinaturas utilizando analisede componentes principais e redes neurais artificiais. 2006.

HUGO V.N. E FILHO, O. Processamento Digital de Imagens. Brasil: [s.n.], 1999.

JAIN A. K.; YU, E. B. Automatic text location in images and video frames. 2055- 2076. 1998.

JR S. S.; SANTOS, A. L. B. C. Comparacao das tecnicas de analise dimensional,otimizacao de ensaios e redes neurais para determinacao da equacao de taylorexpandida no processo de fresamento de topo. In: 1o COBEF. Parana, Brasil:[s.n.], 2001.

Page 85: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

84

KITANI E. C.; THOMAZ, C. E. Abordagem PCA+LDA para Reconhecimentode Faces com Variacao de Pose. Dissertacao (Relatorio do Seminario de VisaoComputacional do Mestrado da FEI) — Faculdade de Engenharia Industrial -FEI, Sao Paulo, Brasil, 2005.

LEE M.; WONG, W. Vehicle license plate recognition in marketing application.In: Proceedings of International Joint Conference on Neural Networks. [S.l.: s.n.],1999.

LEITE L.; SILVA, E. A. B. Analise de componentes independentes aplicada aidentificacao de regioes lesionadas em mamogramas. 2004.

LOTUFO R. A.; MORGAN, A. D. Automatic number-plate recognition.Proceedings of IEEE Coloquium on Image Analisys for Transport Applications,1990.

MARQUES, G. Analise em componentes principais. 2006.

MELLO, C. Processamento Digital de Imagens. Dissertacao (Mestrado) — EscolaPolitecnica de Pernambuco, Pernambuco, Brasil, ANO.

MELO G.; SOUTO, R. Estudo da eficiencia do reconhecimento facial utilizandopca incremental. In: Simposio Brasileiro de Computacao Grafica e Processamentode Imagens - SIBGRAPI. Parana, Brasil: [s.n.], 2004.

MENOTI, D. Segmentacao de envelopes postais para localizacao do blocoendereco: Uma abordagem baseada em selecao de caracterısticas no espacowavelet. Dissertacao (Mestrado em Informatica Aplicada) — UniversidadeCatolica do Parana (PUC/PR), Parana, Brasil, 2003.

NAKASHIMA, E. K. Reconhecimento Automatico de Placas de Veıculos.Dissertacao (Instituto de Matematica e Estatıstica - IME) — Universidade deSao Paulo - USP, Sao Paulo, Brasil, 2004.

NIJHUIS J. A. G.; BRUGGE, M. H. T. Car license plate recognition with neuralnetworks and fuzzy logic. In: Proceedings of IEEE International Conference onNeural Networks. [S.l.: s.n.], 1995. volume 5, p. 2232 – 2236.

PARKER J. R.; FEDERL, E. P. An approach to licence plate recognition.Dissertacao (Mestrado) — University of Calgary, Alberta, Canada, Outubro 1996.

PASTORE F. M.; OLIVEIRA, L. R. Reconhecimento de Placas de AutomoveisUtilizando Visao Computacional. Dissertacao (Mestrado) — UniversidadeSalvador - UNIFACS, ANO.

Page 86: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

85

PEREIRA D. S. A.; REZENDE, J. A. R. Metodos de Processamento eTratamento de Imagens para Reconhecimento Facial. Dissertacao (XI EncontroLatino Americano de Iniciacao Cientıfica e VII Encontro Latino Americano dePos-Graduacao) — Universidade do Vale do Paraıba - UNIVAP, Sao Paulo,Brasil, 2007.

POLIDORIO, A. M. Segmentacao e reconhecimento de caracteres paraidentificacao de placas de veıculos. Dissertacao (Pos-Graduacao em EngenhariaEletrica e Informatica Industrial) — Centro Federal de Educacao Tecnologica doParana (CEFET/PR), Curitiba, Brasil, 1997.

POLIDORIO A. M.; BORGES, L. D. Reconhecimento de CaracteresAlfanumericos para Identificacao de Placas de Veıculos. Dissertacao (Anaisdo IX SIBGRAPI) — Centro Federal de Educacao Tecnologica do Parana -CEFET/PR, Parana, Brasil, 1996.

QIU B.; PRINET, V. Multi-Block PCA Method for Image Change Detection.Dissertacao (Mestrado) — Institut de Recherche Pour le Developpement, Bondy,France, 2003.

RAHMAN C. A.; BADAWYE, W. M. A real time vehicle’s license platerecognition system. In: Proceedings of the 2003 IEEE Conference on AdvancedVideo and Signal Based Surveillance (AVSS 2003). Miami, Florida, EUA: [s.n.],2003.

ROBOREALM. Site do roborealm. http://www.roborealm.com/, 2008.

SARFRAZ M.; AHMED, M. J. Saudi arabian license plate recognition system.In: International Conference on Geometric Modeling and Graphics (GMAG’03).[S.l.: s.n.], 2003. p. 36 – 41.

SETCHELL, C. J. Applications of Computer Vision to Roadtrafic Monitoring.Tese (Doutorado) — Faculty of Engineering Department of Electrical andElectronic Engineering of the University of Bristol, Setembro 1997.

SHLENS, J. A Tutorial on Principal Component Analysis. [S.l.], 2005.

SILVA L. S. P.; GRACIOSO, A. C. N. Reconhecimento de Padroes de Imagensruidosas Utilizando Redes Neurais Artificiais. Dissertacao (Mestrado) —Universidade de Sao Paulo - USP, Sao Paulo, Brasil, 2006.

SITE1.http://bp1.blogger.com/ 53dxi7mln94/sbp3wpuhuri/aaaaaaaaab0/pigfvw51obg/s400/vts-13.jpg. Retirado em 10 de junho de 2008.

Page 87: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

86

SITE11. Base de dados de imagens do centro brasileiro de pesquisas fısicas.http://www.cbpf.br/cat/pdsi/downloads/LPR ImageDataBase Sample.zip,Retirado em 15 de junho de 2008.

SITE2. http://www2.uol.com.br/bestcars/carros/outros2/placa-fit.jpg. Retiradoem 10 de junho de 2008.

SITE3. http://bp0.blogger.com/ irvspilj14c/rnaikawam9i/aaaaaaaaawc/4xiz4-fbauq/s1600-h/fiat+147+do+guilherme+3.jpg. Retirado em 10 de junho de2008.

SITE4. http://decio.globolog.com.br/carro20ze.jpg. Retirado em 10 de junho de2008.

SITE5. http://bp2.blogger.com/ q-2-wrehnmc/roqc4z-fsii/aaaaaaaag6c/p4gnufulpmu/s400/placa2.jpg. Retirado em 05 de junhode 2008.

SITE6. http://decio.globolog.com.br/carro20ze.jpg. Retirado em 10 de junho de2008.

SITE7. http://www.carroantigo.com/imagens/informacoes/colecao.jpg. Retiradoem 15 de junho de 2008.

SITE8. http://www.carroantigo.com/imagens/informacoes/colecao.jpg. Retiradoem 15 de junho de 2008.

SMITH, L. I. A Tutorial on Principal Component Analysis. [S.l.], 2002.

SONG W.; SHAOWEI, X. Robust pca based on neural network. In: Proceedingsof 36th Conference On Decision e Control. San Diego, California, United Statesof America: [s.n.], 1997.

SOUZA, F. P. Localizacao e leitura automatica de caracteres alfanumericos.Dissertacao (Mestrado) — Universidade Federal do Rio Grande so Sul - UFRGS,Porto Alegre, Brasil, 2000.

SOUZA F. P. C.; SUSIN, A. Siav - um sistema de identificacao automatica deveıculos. In: Anais do XIII Congresso Brasileiro de Automatica-CBA. [S.l.: s.n.],2000.

STALINGS, W. Arquitetura e Organizacao de Computadores. 5a edicao. ed. SaoPaulo, Brasil: [s.n.], 2002.

Page 88: Identificação de Placas de Veículos Automotivos para Acionamento de Cancelas

87

TALEB-AHMED A.; HAMAD, D. Vehicle license plate recognition in marketingapplication. In: Proceedings of IEEE Intelligent Vehicles Symposium. [S.l.: s.n.],2003. p. 106 – 109.

THOME A. C. G.; GUINGO, B. C. Reconhecimento Automatico de Placas deVeıculos Automotores Atraves de Redes Neurais Artificiais. Dissertacao (Area deEnsino e Pesquisa, NCE/IM) — Universidade Federal do Rio de Janeiro, Rio deJaneiro, Brasil, 2002.

WU V.; MANMATHA, R. Textfinder: An automatic system to detect andrecognize text in images. IEEE Transactions on Pattern Analysis and MachineIntelligence, p. 1224 – 1229, 1999.