Discente: Marconi Amorim Martins Título: Identificação de Placas de Trânsito através da classificação de imagens usando redes neurais artificiais
Links: https://repositorio.ufu.br
O TCC do graduando Marconi Amorim Martins, no curso de engenharia Eletrônica e de Telecomunicações, pela UFU no campus Patos de Minas, apresentou a proposta de um estudo teórico e simulado de reconhecimento de placas de transito através de uma câmera acoplada a um Raspberry, bem como todo o processo de tratamento de imagens e treinamento de redes neurais para a devida classificação.
INTRODUÇÃO
Recentemente, veículos automotores têm incluído sistemas de auxílio ao motorista, que analisam o ambiente através da aquisição e processamento digital de imagens, incluindo módulos para identificação e reconhecimento de placas de trânsito. Para este processo, o passo inicial é identificar, na imagem, as placas de trânsito presentes. Este trabalho mostra os passos desenvolvidos, como a conversão para escala de cinza, limiarização e segmentação da imagem, para isolar placas de trânsito em imagens adquiridas por uma câmera acoplada a um Raspberry Pi B+. Logo após, foi realizada a aprendizagem da rede neural artificial, e esta mostrar resultados promissores com o reconhecimento de uma determinada placa. Assim, o Raspberry Pi B+ envia comandos para um Arduino Uno, para que este faça o controle de um carro autônomo seguidor de linha, executando ações nos motores para realizar manobras de acordo com a placa reconhecida.
RASPBERRY PI 2 B+
Raspberry Pi 2 B+ é um microcomputador de baixo custo, criado pela Fundação Raspberry Pi no Reino Unido.
REDES NEURAIS ARTIFICIAIS (RNA)
De modo análogo ao cérebro humano, as redes neurais artificiais trabalham com processamentos complexos ao mesmo tempo graças à divisão do processamento para os neurônios. Assim, a rede neural 8 artificial deve ser capaz de aprender e qualificar decisões a partir da aprendizagem.
Existem várias aplicações de uma RNA com finalidade de resolver problemas. Atualmente, é empregada para reconhecimento de voz humana, robôs com inteligência artificial, scanners com tradutor de texto, mercado financeiro, reconhecimento de objetos em imagens digitais, entre outros. Uma rede neural artificial implementada não significa que terá 100% de acertos em relação com a saída desejada, pois nenhuma máquina ainda criada é tão poderosa como o cérebro humano.
TÉCNICAS DE PROCESSAMENTO DIGITAL DE IMAGENS
Para que o carro autônomo consiga reconhecer uma placa, devem ser aplicadas técnicas de processamento digital de imagens, como: aquisição, digitalização, conversão dos pixels de uma imagem em escala de cinza, limiarização (binarização) da imagem em escala cinza, e segmentação da imagem limiarizada. Esses processamentos devem ser feitos para que o reduza o número de informações a ser inserida na RNA, afim de que possa ter melhores e mais eficientes resultados. Os códigos serão implementados usando as linguagens de programação C++, usando a biblioteca do OpenCV instalada no Raspberry Pi 2 B+.
OPENCV
OpenCV (Open Source Computer Vision Library) é uma biblioteca que funciona em várias plataformas e equipamentos diferentes, e tem como finalidade ajudar no desenvolvimento de softwares ou aplicativos. Foi criada pela Intel em meados do ano 2000 usando os códigos da linguagem de programação C/C++, e também transferida para códigos em Java, Python e Visual Basic
SIMULAÇÃO
Pelo software Fritizing foi montado o circuito final.
Com o circuito montado e os softwares devidamente configurados, deu-se inicio ao reconhecimento, tratamento e identificação das imagens.
RESULTADOS
A seguir, estão os resultados dos testes realizados.
Observando todos os testes, percebe-se principalmente que quanto maior o número de imagens contidas na aprendizagem, e mais camadas intermediárias com mais neurônios, melhor é o resultado. Porém, o tempo para aprendizagem e o tamanho do arquivo da RNA salvo aumenta consideravelmente, bem como o tempo de predição. A acurácia chegou a 96.6% de acertos quando se teve 250 imagens segmentadas de placa para a aprendizagem, e três camadas intermediarias contendo 350 neurônios na primeira camada, 250 na segunda e 150 na terceira.
Com base nesses resultados, o arquivo da RNA usado para o teste em tempo real utilizando o carrinho seguidor de linha foi o Teste 9. Devido a WebCam usada ter baixa taxa de captura, quando o carrinho seguidor de linha estava em movimento, a imagem era capturada com distorções na imagem, atrapalhando na predição da RNA. Assim, o carrinho seguidor de linha foi programado para parar de tempo em tempo para realizar a captura sem distorções.
CONCLUSÃO
Por meio da biblioteca OpenCV instalada em um Raspberry Pi 2 B+, foi possível identificar e reconhecer placas de trânsito durante o percurso de um carro seguidor de linha, através de artifícios de processamento digital de imagens e da aprendizagem da rede neurais artificiais.
Com base em todos os testes realizados, percebe-se principalmente que quanto maior o número de imagens contidas na aprendizagem, e mais camadas intermediárias com mais neurônios, melhor é o resultado. Porém, o tempo para aprendizagem e o tamanho do arquivo da RNA salvo aumenta consideravelmente, bem como o tempo de predição. A acurácia chegou a 96.6% de acertos quando se teve 250 imagens segmentadas de placa para a aprendizagem, e três camadas intermediarias contendo 350 neurônios na primeira camada, 250 na segunda e 150 na terceira.
Sendo assim, o trabalho se mostrou eficaz na identificação de placas por redes neurais artificiais.
Comments