• Nenhum resultado encontrado

Localização de placas em imagens de veículos. Resumo

N/A
N/A
Protected

Academic year: 2021

Share "Localização de placas em imagens de veículos. Resumo"

Copied!
11
0
0

Texto

(1)

Localização de placas em imagens de veículos

Geovane Hilário Linzmeyer

Curso de Inteligência Computacional Pontifícia Universidade Católica do Paraná

Curitiba, dezembro de 2005

Resumo

Um dos maiores problemas no reconhecimento de placas em imagens de automóveis hoje em dia constitui-se exatamente na localização da placa do veículo dentro da imagem. Para solucionar este problema e desenvolver um procedimento que identifique a imagem da placa dentro da imagem do carro, este projeto procura localizar a placa utilizando-se da cor como característica principal, buscando após a extração desta característica da imagem pelo formato da placa para a definição da área da imagem.

Neste projeto foi desenvolvida uma aplicação no MATLAB que busca dentro da imagem pela região da placa procurando pelos padrões de cores e formas para a melhor localização da mesma, obtendo em 60,78% dos casos a imagem da placa dentro do resultado obtido com o processamento.

Durante os testes foi possível observar que o ajuste na definição da cor cinza pode fazer o resultado variar bastante e o programa pode vir a ter o seu desempenho bastante aumentado no caso de se efetuarem novos testes com uma faixa de tonalidades mais definida.

1

Introdução

O objetivo deste trabalho é localizar uma placa de um automóvel dentro do contexto de uma imagem maior onde está contida a imagem do veículo obtida através de uma máquina analógica ou mesmo de um equipamento digital. Facilitando assim o processo de reconhecimento de caracteres que terá uma área menor para processar, tornando assim o processamento mais ágil e eficiente.

A maior dificuldade em localizar a imagem da placa do carro dentro de outra imagem, está na extração das características da mesma. Pensando nisto, foi realizada uma análise do que, nós, seres humanos, buscamos para identificar uma placa de um automóvel.

Como, por definição sabemos que o que vemos é um carro, sabemos que podemos procurar por uma área retangular em uma determinada região deste carro.

Se for feita uma abstração da definição do carro passaríamos a procurar por uma região retangular em diversos tons de cores conforme a definição da legislação do Contran que é representada pelos diversos tipos de placas mostradas abaixo na Figura 1:

(2)

Figura 1. Modelos de placas permitidas no Brasil. Analisando a Figura 1 temos iniciando pela coluna da esquerda:

a. Placa verde, somente é utilizada por veículos em teste por concessionárias e oficinas mecânicas, sempre que o veículo em manutenção necessita ser testados nas ruas.

b. A placa branca é aquela utilizada por veículos oficiais.

c. Placa cinza com letras pretas é o tipo de placa que é utilizada pelos veículos particulares.

d. Esta placa cinza, é usada pelos consulados, também aparece nas cores azul e branca, elas levam as letras CC, que indicam Corpo Consular.

Neste caso específico, existem oficialmente dois modelos, a do Cônsul de carreira, que tem o fundo azul e os caracteres em branco e a do Cônsul Honorário que aparece na foto. Essa placa é igual a comum, porém é adicionada uma chapa ovalada em azul com as letras CC escritas na cor branca.

e. Placa preta, utilizada em veículos de coleção, com mais de 30 anos de fabricação. f. Placa azul, utilizada em veículos em testes pelas fábricas quando estes necessitam

(3)

g. Placa na cor bronze, utilizada em carros oficiais do presidente da república, governadores, prefeitos, presidentes de câmaras, presidente da assembléia, presidente de

tribunais... Também traz na placa o brasão da república.

h. Placa branca com letras vermelhas é aquela utilizada em veículos de auto-escolas onde o motorista está em treinamento.

i. Placa vermelha, utilizada em veículos de aluguel, como caminhões, ônibus e táxi. Devido a esta grande variedade de cores e tonalidades encontradas nas placas brasileiras como demonstrado acima, temos no caso do Brasil a dificuldade em dificuldade de desenvolver um sistema que localize com eficiência a placa dentro da imagem aumenta consideravelmente.

Neste aspecto sistemas de outros países podem ser várias vezes mais eficientes pois, na maioria dos países, o padrão das placas é único de cor e tamanho.

Para facilitar o nosso trabalho na extração da placa, buscamos auxílio na legislação resolução 45/98 do Conselho Nacional de Trânsito – CONTRAN – que define as dimensões em milímetros das placas, sendo:

a) Ideal: Altura = 130mm – largura = 400mm; b) Máxima: Altura = 143mm – largura = 440mm; c) Mínima: Altura = 117mm – largura = 360mm.

Esta informação foi transportada para o programa onde foram definidas as dimensões da imagem da placa a fim de facilitar a localização da mesma.

2

Método proposto

Para desenvolver o programa, foi tomada por base a placa utilizada pelos veículos particulares, ou seja, a placa cinza com letras pretas conforme apresentado acima, buscando a placa em imagens obtidas por radares de trânsito, bem como capturadas de veículos em movimento com o auxílio de uma câmera digital.

Nos testes o programa também consegue reconhecer a região de placas de veículos de aluguel como ônibus de transporte interurbano através do formato da mesma, que é o segundo critério utilizado na busca da imagem.

Com o objetivo de fazer uma demonstração detalhada do processo utilizado para a obtenção da placa, estarei reproduzindo este processo com a apresentação das imagens que representam cada estágio da localização da placa.

O projeto parte de uma imagem inicial como a que é demonstrada abaixo na figura 2 e, apenas a última imagem, que está demonstrada na figura 9, será gravada juntamente com esta imagem original, as demais aparecem apenas de maneira informativa e foram obtidas através da inclusão do comando ‘imwrite’ em determinados pontos do programa.

Todas as imagens aqui apresentadas se encontram em tamanho real.

Para cada imagem processada o programa irá gravar uma imagem a qual terá o mesmo nome da imagem original, apenas com o acréscimo do sufixo ‘_ext’ – de extração – no final do nome do arquivo, antes da extensão do nome da imagem dentro da pasta de imagens.

Para rodar o programa, é necessário criar uma pasta com uma sub-pasta ‘imagens’ em seu interior, onde as imagens deverão ser gravadas sendo que todos os programas ficam gravados fora desta sub-pasta, o diretório de trabalho do Matlab deve ser alterado para esta pasta.

(4)

Figura 2. Exemplo de imagem processada pelo programa.

Para começar a procurar dentro da imagem, inicialmente é extraída a barra de informações apresentada pelas imagens extraídas pelo radar para evitar maiores problemas no momento de rotacionar a imagem para a extração da imagem. O próximo passo é verificar se existe alguma região na tonalidade de cinza dentro da imagem.

Para facilitar a procura na faixa de tons de cinza, a imagem sofreu uma transformação para o padrão de cores CIE-XYZ, no qual é mais fácil delimitar uma região de valores que compõe uma determinada tonalidade de cor, um exemplo deste processamento está apresentado abaixo na figura 3.

Basicamente a conversão de RGB para CIE-XYZ se dá através de uma equação matemática aplicada aos tons de Red, Green e Blue da imagem, onde temos que:

x = ( RED * 0.412453 + GREEN * 0.35758 + BLUE * 0.180423); y = ( RED * 0.212671 + GREEN * 0.715160 + BLUE * 0.072169); z = ( RED * 0.019334 + GREEN * 0.119193 + BLUE * 0.950227);

(5)

Figura 3. A detecção dos pontos de cinza dentro da imagem, já sem a barra de informações.

Caso não haja um tom de cinza dentro da faixa informada, a imagem toda é utilizada para a procura da placa.

Neste processo são definidos os parâmetros para a busca da placa: area_min_placa = 2670;

raio_max_placa = 0.67; raio_min_placa = 0.16;

Em seguida, utilizando a função imdilate do matlab, os pontos encontrados são dilatados a fim de que os pontos próximos fiquem agrupados em um só ‘ponto’ para facilitar o reconhecimento do padrão.

Após a dilatação da imagem, os pedaços agrupados são analisados em separado para a detecção das áreas candidatas à placa dentro da imagem, onde cada área deve estar dentro das regras abaixo:

a. Ter uma área > area_min_placa

b. Ter um tamanho/comprimento maior ou igual ao raio_min_placa e menor ou igual ao raio_max_placa

A figura 4 demonstra o resultado da busca acima para a imagem que estamos processando como exemplo.

(6)

Figura 4. A região da placa com os pontos de cinza realçados.

Após o recorte da região da placa, o programa passa a trabalhar apenas com a imagem encontrada, que neste caso é a apresentada abaixo na figura 5, novamente em RGB:

Figura 5. O corte da placa na imagem original.

O próximo passo, com o objetivo é chegar mais próximo à imagem da placa, extraindo as partes que não fazem parte da imagem da placa que está sendo procurada. Para conseguir isso com uma boa aproximação é detectado se a imagem apresenta alguma inclinação, para isso são detectadas as linhas mais fortes na imagem. Para verificar a necessidade de rotação da figura, o programa faz uma busca por linhas paralelas na imagem, ou por uma linha que se destaque sobre as outras. Com base na(s) linha(s) encontradas o programa calcula o ângulo de inclinação da imagem e faz a rotação.

O processo de detecção das linhas está demonstrado abaixo, na figura 6.

Figura 6. As linhas demonstram a inclinação da imagem.

Após este processamento, será feito o corte da imagem no contorno apresentado, para evitar que se percam detalhes da imagem é deixada uma sobra de espaço fora das bordas.

Para selecionar a região da placa com base no formato da placa, a imagem passa por um processo de binarização onde são extraídos os contornos que compõe a região da imagem extraída da original. Este processo está demonstrado abaixo, na figura 7.

(7)

Figura 7. Contornos da imagem, após o rotacionamento.

Uma vez detectada a região que pode conter a imagem da placa, o programa passa a trabalhar com a imagem reduzida para a área próxima a esta região, conforme aparece abaixo, na figura 8.

Figura 8. Após o corte.

Para finalizar, no último passo é realizado um novo corte na imagem, ainda mais justo e próximo à região do contorno externo detectado, para, desta maneira selecionar apenas a região da placa, diminuindo o tamanho da imagem que deverá ser processada para fazer a leitura da placa e identificação do veículo. A imagem final apresentada aparece abaixo representada na figura 9.

Figura 9. A imagem salva para pronta para o reconhecimento dos caracteres.

3

Resultados Experimentais

Para realização da experimentação foi utilizada uma base de imagens de cerca de 10 mil imagens extraídas dos radares de trânsito de Curitiba bem como imagens obtidas com o auxílio de uma câmera fotográfica digital de 5.1 megapixeis, onde a imagem foi reduzida para facilitar o trabalho do programa que faz o processamento das imagens.

Para a confecção dos testes, foram selecionadas apenas 283 imagens entre as imagens dos radares e as imagens obtidas com o auxílio da câmera digital.

Os testes foram executados num microcomputador com processador Intel Pentium 4 de 2,4GHz com 512Mb de memória Ram e tiveram a duração aproximada de 15 minutos, com uma média de processamento de 20 imagens por minuto.

A maior dificuldade no desenvolvimento do programa constitui-se em desenvolver a aplicação partindo da extração das características da placa do automóvel dentro da imagem

Os resultados estão apresentados no quadro abaixo:

Tipo de resultado Quantidade %

Região exata da placa 18 6,36

Região em torno da placa 65 22,97

Diminuiu a imagem 89 31,45

Não encontrou nada relacionado à placa 110 38,87

Erro 1 0,35

(8)

4

Exemplos com outros resultados

Quando falamos em região exata da placa, podemos utilizar o exemplo demonstrado acima, para facilitar a visualização dos outros resultados os mesmos serão exemplificados abaixo:

A – Região em torno da placa

Nestes casos, conforme será demonstrado abaixo, o programa não consegue fazer um corte justo na placa, trazendo com a imagem da mesma uma região em volta dela.

Figura 10 – Imagem original

Figura 11 – Região em torno da placa B – Diminuiu a imagem

(9)

Nestes casos o programa deixa uma área de imagem bem maior que o contorno exato da placa.

Figura 12 – Imagem original

(10)

C – Não encontrou nada relacionado à placa

Nestas situações o programa traz uma imagem que não contém nada relacionado à placa ou ainda traz uma parte da placa, que não é suficiente para ser reconhecida.

Figura 14 – Imagem original

Figura 15 – Imagem retornada D – Erro

Em algumas imagens, o programa não detectou uma região de cinza específica e os contornos processados também não tiveram um padrão que pudesse ser utilizado pelo programa, o que acabou gerando um arquivo vazio para o processamento.

Nestes casos o programa apresentou um erro no MATLAB que inibiu o processamento destas imagens.

(11)

5

Conclusão e Trabalhos Futuros

Como foi descrito anteriormente, o objetivo do trabalho era encontrar e extrair a placa do veículo dentro de uma imagem maior. Com base nisto, podemos verificar que a análise do principal resultado obtido nos mostra que o método pode ser aplicado na prática apenas com a inclusão de pequenos ajustes.

Uma proposta para um trabalho futuro em cima deste projeto poderia estar envolvida no ajuste fino do programa de modo a selecionar uma faixa de cinza mais abrangente, a fim de reconhecer mais variações dos tons de cinza nas imagens das placas.

6

Referências

[1]

AS

PLACAS

dos

veículos.

Disponível em

http://www.pontosevirgulas.hpg.ig.com.br/pontos_interessantes/placas_veiculos.htm. Acesso em: 11 dez. 2005.

[2] GUINGO, Bruno Clemente; RODRIGUES, Roberto José; THOMÉ, Antônio Carlos Gay.

RECONHECIMENTO AUTOMÁTICO DE PLACAS DE VEÍCULOS automotores através de redes neurais artificiais. Universidade Federal do Rio de Janeiro – 2003.

[3] RIOS, Israel; FRANZEN, Marcelo. PROJETO LÓGICO REPLACA – Universidade Estadual de Ponta Grossa – UEPG - 2004

[4] MATLAB. Disponível em http://atlas.ucpel.tche.br/~vbastos/matlab.htm. Acesso em 04 dez. 2005.

Referências

Documentos relacionados

Encha a garrafa até um pouco abaixo do nível desejado e feche o canal de drenagem girando a válvula de controle de fluxo no sentido horário até que ela pare.. CRAFTAP 3 | Breve

¾ Segundo nível • Terceiro nível – Quarto nível A FAMÍLIA PROFIBUS A FAMÍLIA PROFIBUS PROFIBUS-FMS PROFIBUS-FMS é a solução de propósito geral para comunicação de

Além disso, as despesas com vendas nos restaurantes (excluindo depreciação e amortização) representaram 49,3% da receita operacional líquida, uma redução de 180

Considerando que a maioria dos métodos publicados até os dias de hoje realizam a separação de um, ou no máximo dois metais de transição, e que a aplicabilidade

Disponibilizar dados mais realistas quanto ao numero de produtores e quantidade de erva-mate produzida na região do Planalto Norte Catarinense, favorecendo a cadeia

libras ou pedagogia com especialização e proficiência em libras 40h 3 Imediato 0821FLET03 FLET Curso de Letras - Língua e Literatura Portuguesa. Estudos literários

Para o desdobramento do objetivo principal, são propostos os seguintes objetivos específicos: - Identificar os mecanismos do processo de criação do conhecimento nas empresas

(Fonte: quadro composto a partir dos dados referentes as planilhas das instituições constantes nos anexos). Todas as instituições representam essa categoria por meio dos