Reconhecimento de marcas de carros utilizando Inteligência Artificial. André Bonna Claudio Marcelo Basckeira Felipe Villela Lourenço Richard Keller - PDF
Download "Reconhecimento de marcas de carros utilizando Inteligência Artificial. André Bonna Claudio Marcelo Basckeira Felipe Villela Lourenço Richard Keller"
Glória Corte-Real Carvalho
1 Reconhecimento de marcas de carros utilizando Inteligência Artificial André Bonna Claudio Marcelo Basckeira Felipe Villela Lourenço Richard Keller
2 Motivação Análise estatística das marcas de carros em determinadas regiões ou locais. (Ex: Shopping Center) Pode ser usado para descobrir o poder aquisitivo e quais classes frequentam uma região, como pesquisa de mercado. Também é útil para uma fábrica de carros saber em qual bairro de uma cidade deve-se criar uma central de distribuição de peças, na tentativa de se aproximar ao público alvo.
3 Objetivo A partir de um conjunto de fotos tiradas de frentes de carros, tentaremos identificar a marca dos mesmos. Queremos separar os carros em 10 marcas mais conhecidas e todos os carros que não se enquadrarem nessas 10 marcas serão classificados como "outros".
4 Por que esse é um problema de IA O problema do reconhecimento de imagens utiliza informações previamente armazenadas como base para a tomada de decisões. Podemos então classificar o nosso método de reconhecimento de marcas de carro como um problema de IA.
5 Complexidade do trabalho É necessário encontrar o símbolo da marca na imagem, com distância variável e uma pequena variação do ângulo também. Ao contrário de faces de pessoas, os símbolos das marcas de carros não possuem características comuns a todos.
6 Desenvolvimento Utilizaremos Speeded Up Robust Features(SURF) criado em 2006, que é um descritor e detector de invariante de escala e rotação de pontos de interesse. É um processo de 3 etapas: Detecção e localização dos pontos de interesse; Construção do vetor de características (descritor dos pontos de interesse); Casamento de descritores.
7 Detecção dos pontos de interesse O SURF usa o Fast-Hessian, que é baseado no determinante (Det(H)) da matriz Heissiana (H(f)). A matriz Heissiana é uma matriz das derivadas da f(i, j). A função discreta f(i, j) representa a imagem. A coordenada (i, j) representa a intensidade de um determinado pixel da imagem.
8 Construção do vetor de características O descritor de características descreve como as intensidades dos pixels são distribuídas pela vizinhança de cada ponto de interesse detectado pelo Fast-Hassian. Esse passo consiste em duas etapas: A primeira etapa é a reprodução de cada ponto de interesse como um atributo. A segunda etapa consiste em construir um quadrado, em escala apropriada, em volta de cada ponto de interesse.
10 Casamento de Descritores Para cada item do banco de dados encontra-se os pontos de interesse. Em seguida, para cada ponto de interesse da imagem sendo analisada encontra-se o ponto do banco de dados com a menor distância. Dois pontos de interesse são considerados o mesmo se o erro do melhor casamento é menor que a distância para o segundo descritor mais próximo por um fator α. Se não for, pega-se outro. No final são contados o número de descritores casados com sucesso.
11 Detecção de Placa de Carro Para cada imagem, será feito um tratamento inicial, utilizando um algoritmo de detecção de placas de carro. A proposta é reduzir a imagem ao menor tamanho possível, que contenha todas as informações necessárias. O logo da marca do carro corresponde a uma pequena parte da imagem comparando com o seu total. Reduzir a imagem de entrada tem dois efeitos positivos: Diminuir os pontos de interesse; Diminuir o tempo de execução do algoritmo. Vamos propor que o logo da marca do carro está um pouco acima da placa do mesmo, como na maioria dos carros. Para detectar a placa utilizaremos o mesmo método. Link do funcionamento do SURF:
13 Será montado um banco de dados com 1 vetor de características de imagem para cada uma das 10 marcas de carros distintas. Da área recortada, serão encontrados os descritores dos pontos de interesse e gerado um vetor de característica para cada marca. Quando uma foto nova, precisar ser reconhecida, será criado um novo descritor e comparado com os descritores de marcas previamente gerados. Utilizaremos a biblioteca opensurf, mais especificamente a extensão JopenSURF(a implementação em JAVA).
14 Porque é bom fazer assim? Durante pesquisas realizadas pelo nosso grupo constatamos que o SURF é a melhor forma de implementarmos um reconhecimento de imagens com uma precisão aceitável para nosso trabalho. Existem outras formas de reconhecimento como o método SIFT, mas nossas fontes apontaram para uma maior adequação do método SURF.