Reconhecimento de Sinais de Trânsito Utilizando Deep Learning

Documentos relacionados
2. Redes Neurais Artificiais

Redes Neurais Convolucionais

SEMINÁRIO DOS ARTIGOS:

Classificação de Padrões. Abordagem prática com Redes Neurais Artificiais

Inteligência Artificial

Redes Neurais Convolucionais

RECONHECIMENTO DE CARACTERES EM IMAGENS COM RUÍDO

Uma Abordagem Genética Para Redes Neurais Convolucionais

Aplicação de Histograma de Gradientes Orientados para detecção de hidrômetros em imagens de fundo complexo

Classificação de Sinais de Trânsito Usando Otimização por Colmeias e Random Forest

RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ

Face Recognition using RGB-D Images

READING DIGITS IN NATURAL IMAGES WITH UNSUPERVISED FEATURE LEARNING

Roberto Lotufo Big Data Brasil São Paulo, 23 de junho de 2018

TÍTULO: IDENTIFICAÇÃO DE CARACTERES APRESENTADOS A UMA CÂMERA POR MEIO DO MOVIMENTO DOS DEDOS DA MÃO DE UM SER HUMANO

Aprendizado de Máquina. Combinando Classificadores

Descritores de Imagens

Classificação Hierárquica Multirrótulo Utilizando Redes Neurais Artificiais

Análise Quantitativa de Tecidos em Úlceras de Perna

Reconhecimento Ótico de Caracteres em Placas Veiculares

Aprendizagem de Máquina

GoogLeNet - Going Deeper with Convolutions

Reconhecimento de texturas utilizando padrão binário local e classificador knn.

Region Based CNNs. Francisco Calaça Xavier. Programa de pós-graduação em Ciências da Computação Mestrado e Doutorado. Instituto de Informática UFG

Aprendizagem de Máquina

Transformação de Imagens Digitais em Código CNC Aprimoradas com Redes Neurais Artificiais

Usando MLP para filtrar imagens

SEMINÁRIO Visão Computacional Aluno: Afonso Pinheiro

Descritores de Imagem

5 Estudo de Caso e Resultados

Classificadores Lineares

Reconhecimento de Faces Utilizando Redes Neurais MLP

Introdução à Redes Neurais. Prof. Matheus Giovanni Pires EXA 868 Inteligência Artificial Não-Simbólica B Universidade Estadual de Feira de Santana

Workshop de Inteligência Artificial e Redes Neurais

MouseCam: aplicação de controle do mouse via câmera

Reconhecimento de Gestos

Redes Neurais Artificiais

Determinação de vícios refrativos oculares utilizando Support Vector Machines

Aprendizado de Máquina (Machine Learning)

Aprendizado de Máquinas. Multi-Layer Perceptron (MLP)

Aprendizado de Máquina (Machine Learning)

Palavras chave: ensaios não destrutivos, processamento digital de sinal, redes neurais, pulso eco, ultrassom

O reconhecimento facial é dividido em três etapas: i) detecção da face, ii) extração de características e iii) reconhecimento da face.

Diego Martin Mancini Orientador: Prof. Paulo A. V. de Miranda Instituto de Matemática e Estatística Universidade de São Paulo

Previsão de Vazões utilizando Redes Neurais Artificiais MLP e NSRBN

Tópicos Especiais: Inteligência Artificial REDES NEURAIS

Orientação de Bordas em Imagens Digitais: Abordagem por Análise de Vizinhança Local

Máquinas de suporte vetorial e sua aplicação na detecção de spam

Deep Learning para Classificação de Imagens

CÁLCULO DO EQUILIBRIO DE TROCA-IÔNICA DO SISTEMA Na + -Pb 2+ -Cu 2+ USANDO REDES NEURAIS ARTIFICIAIS.

Modelagem para previsão/estimação: uma aplicação Neuro-Fuzzy

O Algoritmo de Treinamento: Máquina de Aprendizado Extremo (Extreme Learning Machine - ELM)

INF 1771 Inteligência Artificial

Object Tracking. Fernando Medeiros Dufour Ciência da Computação - UFPR Tópicos em Visão Computacional

Projeto da Disciplina

Aprendizado de Máquina (Machine Learning)

Inteligência Artificial Redes Neurais

3 Técnica Baseada em Treinamento e Cascata de Classificadores

IDENTIFICAÇÃO DE MARCADORES DE PAVIMENTAÇÃO NA ORIENTAÇÃO DE CEGOS. André Zuconelli 1 ; Manassés Ribeiro 2

Agregação de Algoritmos de Aprendizado de Máquina (AM) Professor: Eduardo R. Hruschka Estagiário PAE: Luiz F. S. Coletta

Redes Neurais Artificial. Prática. Inteligência Artificial

Implementação de Kernel Customizado Aplicado à Análise de Sentimentos em Resenhas de Filmes

Reconhecimento de Modelos de Veículos

Composição de música utilizando LSTM

Visão computacional. Juliana Patrícia Detroz Orientador: André Tavares Silva

Inteligência Artificial. Prof. Tiago A. E. Ferreira Aula 21 Projeto de RNA

Classificação de espécies de peixe utilizando redes neurais convolucional

INTELIGÊNCIA ARTIFICIAL

Detecção de Posicionamento no contexto de Fake News

Transcrição:

Reconhecimento de Sinais de Trânsito Utilizando Deep Learning Marcos Vinícius Oliveira Sobrinho 1, Matheus Chaves Menezes 1, Chrystian Gustavo Martins Nascimento 1, Geraldo Braz Júnior 2 1 Curso de Ciência da Computação Universidade Federal do Maranhão (UFMA) São Luís - Brasil 2 Departamento de Informática Universidade Federal do Maranhão (UFMA) São Luís - Brasil {mv.olsob,matheuschavesmenezes,chrystiang20}@gmail.com,geraldo.braz@ufma.br Abstract. There is no doubt that traffic signs are extremely important to the harmony and operation of traffic, mainly in larger urban centers. Every sign has a unique meaning that need to be understood e respected by pedestrians e drivers, because an oversight could lead to serious problems, including fatal accidents. This paper describes the creation of a computational model for classification of traffic signs boards, using techniques of Deep Learning. To train the model, a database of synthetic images of the traffic signs was created, applying image processing techniques for this. Lastly, real traffic signs images were used to validate the model created. Resumo. Não há dúvidas que os sinais de trânsito são de extrema importância para a harmonia e o funcionamento do trânsito, principalmente em grandes centros urbanos. Cada sinal possui um significado único que deve ser entendido e respeitado por pedestres e motoristas, pois um descuido pode levar a graves problemas, incluindo acidentes fatais. Este trabalho descreve a criação de um modelo computacional para classificação de sinais de trânsito em placas, utilizando técnicas de Deep Learning. Para treinar o modelo, foi criada uma base de dados com imagens sintéticas dos sinais de trânsito, aplicando-se técnicas de processamento de imagem para isto. Por fim, imagens de placas de trânsito reais foram utilizadas para validação do modelo criado. 1. Introdução Sistemas computacionais são utilizados diariamente por pessoas, máquinas ou outros sistemas, auxiliando-os seja na tomada de decisão, ou realizando tarefas de forma automatizada. Também podem ser utilizados para monitoramento e detecção de objetos específicos em ambientes com excesso de informação, bem como os sinais de trânsito presentes em avenidas movimentadas. Para quem vive nos centros urbanos, é perceptível o aumento do número de veículos e pedestres. Com isso, cresce também o número de acidentes com vítimas no trânsito, sendo a imprudência um dos principais motivos. Também há casos em que os acidentes são causados por falta de atenção na sinalização do trânsito. Portanto, pode-se pensar em sistemas que deem assistência avançada de condução, onde o reconhecimento de sinais de trânsitos é uma importante tarefa.

Diversos trabalhos orientados para o reconhecimento e classificação de sinais de trânsito mostram que técnicas computacionais são eficientes para este trabalho, a utilização de descritores locais [da Silva et al. 2012] gerou resultados com 84,78% de êxito na classificação; outro trabalho, utilizando Support Vector Machine (SVM), apresentou resultados positivos com 93,24% de acurácia [Maldonado-Bascon et al. 2007]. Também há casos onde são extraídas as características dos sinais de trânsito com algoritmos de otimização, e classificando-os com o algoritmo Random Forest [Silva et al. 2015], com uma taxa de erro de 12,50% em relação a base de dados The German Traffic Sign Recognition Benchmark (GTSRB) [Stallkamp et al. 2012] Aprendizado de máquina é uma área de Inteligência Artificial, cujo objetivo é o desenvolvimento de técnicas computacionais sobre o aprendizado, construindo sistemas capazes de adquirir conhecimento de forma automática. Através das experiências acumuladas, esses sistemas de aprendizado conseguem encontrar soluções mais eficientes a determinados problemas [Deng 2004]. A área de aprendizado de máquina desenvolveu-se rapidamente através dos estudos de reconhecimento de padrões, transformando-se na base da análise preditiva. Assim, sistemas de aprendizado de máquina são utilizados para identificar objetos em imagens, classificar pessoas em redes sociais, transcrever voz em texto, recomendar produtos a usuários em sites de comércio eletrônico, entre várias outras aplicações. Cada vez mais, estas aplicações fazem uso de um conjunto de técnicas chamado de Deep Learning [LeCun et al. 2015]. Este trabalho propõe a criação de modelo de aprendizado de máquina utilizando técnicas de Deep Learning para classificação de sinais de trânsito em placas. Na seção 2, são apresentados conceitos introdutórios sobre Deep Learning, além do modelo de rede neural utilizado neste trabalho. Na seção 3, explana-se a geração da base de dados, o treinamento e a classificação da rede. Na seção de 4, são exibidos os resultados alcançados ao testar a rede com imagens dos sinais de trânsitos adquiridos da internet. 2. Redes Neurais Convolucionais e Deep-Learning Entre as diversas variações de redes neurais artificiais, uma das que mais ganhou destaque é a Rede Neural Convolucional, que é o conjunto de múltiplas tarefas de aprendizado de máquina que lida com diferentes tipos de abstração, sendo que sua característica mais marcante é a resolução de problemas a partir de estruturas de representação dos dados de diferentes maneiras [Deng 2004]. As Redes Neurais Convolucionais (RNCs) foram inspiradas no sistema de visão humana. Elas recebem como entrada, pequenas porções de imagens, na camada mais baixa da estrutura hierárquica. A arquitetura mais complexa permite estabilidade mesmo com alterações em relação a escala, ou rotação. A rede é composta basicamente de neurônios, que possuem peso e inclinações treináveis, e acesso a recursos básicos, como por exemplo, bordas [Sarraf and Tofighi 2016]. Representação de aprendizagem são métodos que fornecem a uma máquina um conjunto de dados não processados, e esta descobre automaticamente representações de classificação ou detecção. O método de representação de aprendizagem Deep Leaning realiza esse processo com vários níveis, através de um conjunto de módulos simples e não-lineares, em que a cada nível essa representação se torne mais abstrata. Quando se trata de classificação, grande parte das variações consideradas irrelevantes são descartadas

nas camadas mais altas, enquanto que características distintas de borda, por exemplo, são separadas. O importante a se notar é que essas camadas de aprendizagem são criadas a partir dos dados aprendidos, durante um procedimento chamado de aprendizagem de uso geral, sem nenhuma participação direta de um humano [LeCun et al. 2015]. Uma famosa arquitetura de RNC é a rede LeNet-5. Esta foi desenvolvida por [LeCun 1998] e está ilustrada na Figura 1. Essa rede foi utilizada primeiramente para classificação de dígitos e então foi aplicada para verificar números escritos à mão com resultados bem sucedidos. A sua aplicação foi expandida para problemas mais complicados, como classificação de imagens cerebrais de pessoas portadoras de Alzheimer [Sarraf and Tofighi 2016] e não portadoras. Com seus parâmetros ajustados para outras questões, a rede LeNet-5 apresenta bons resultados para classificação. Neste trabalho, a rede foi utilizada com poucas alterações iniciais para classificação das 16 classes de sinais de trânsito. Figura 1. Arquitetura da RNC LeNet-5 3. Metodologia Este trabalho foi conduzido em duas etapas. A primeira foi a aquisição da base de dados dos sinais de trânsito e a segunda foi a geração de modelo treinado para classificação destes sinais. É comum em trabalhos de classificação e aprendizado de máquina que as bases de dados sejam adquiridas de forma manual e em grande quantidade para que não haja classificações errôneas no modelo, principalmente se este modelo necessitar de grande acurácia em seus resultados. 3.1. Geração da Base de Dados Sistemas de classificação normalmente precisam de uma boa quantidade de dados para treinar e validar seu modelo, principalmente quando esses sistemas necessitam de uma boa acurácia. No trabalho apresentado por [Greenhalgh and Mirmehdi 2002], a obtenção dessa grande quantidade dos dados não era possível sem um considerável esforço manual. Aplicando-se técnicas de processamento de imagens, foram geradas imagens sintéticas de forma automatizada. Neste trabalho, aplicou-se procedimentos parecidos para a obtenção dos sinais de trânsito, o que levou à uma boa quantidade de dados gerados para o treino da RNC. As imagens padrões utilizadas para a criação da base de dados sintética foram obtidas da base de dados online do Departamento de Transporte do Maranhão

[DETRAN-MA 2016]. Para este trabalho, foram utilizadas 19 imagens-classes, representadas na Figura 2. Em cada imagem sintética gerada, são aplicadas distorções geométricas aleatórias, a fim de torná-la mais parecida com imagens reais de sinais em placas de trânsito. Após a aplicação das distorções, cada placa é sobreposta a uma imagem de fundo, escolhida aleatoriamente, entre as 32 disponíveis no gerador sintético. Depois de sobrepor as duas imagens, foram aplicados efeitos aleatórios de brilho, contraste, borrões e ruídos. Cada imagem foi salva em uma proporção de 28x28 pixels e em escala de cinza. Para cada classe, 1300 novas imagens sintéticas foram geradas com o processo descrito acima. A Figura 3 mostra uma comparação da base de dados gerada sinteticamente e imagens manualmente capturadas para teste. Figura 2. Classes utilizadas para o treino da rede. O número abaixo de cada imagem representa seu rótulo. Figura 3. (a) Imagens criadas artificialmente. (b) Imagens manualmente adquiridas. 3.2. Ajuste de Modelo A rede RNC utilizada neste trabalho foi configurada com 30 épocas, utilizando a função de ativação sigmóide e com uma taxa de aprendizado igual a 0.15 para seu treino.

Os experimentos foram realizados dividindo as imagens em grupo de treinamento, validação e teste. Para cada classe, 500 exemplares foram aleatoriamente separados para serem utilizados no teste. O restante foi utilizado no treinamento, sendo que 1/3 foi usado especificamente para validação. Os resultados apresentados abaixo utilizam unicamente a base de teste. 4. Resultados A Figura 4 mostra a matriz confusão da classificação durante a etapa de teste da rede, utilizando as imagens da base conhecida e também as imagens geradas de maneira sintética. A acurácia do modelo foi de 99,98%. Figura 4. Matriz de confusão para o classificador da RNC (acurácia = 99.89%) A Tabela 1 apresenta os resultados separados por classe em termos de precisão do método, na qual podemos observar que para todas as classes testadas a metodologia obteve alta precisão. Tabela 1. Resultado da classificação dos sinais com a metodologia proposta

5. Conclusão Neste trabalho, um modelo de RNC de classificação de sinais de trânsito foi apresentado, utilizando um conjunto de técnicas de representação de aprendizagem chamada Deep Learning. O modelo criado foi testado utilizando imagens geradas de forma sintética, no qual obteve-se resultados satisfatórios. Entre os trabalhos futuros, deseja-se criar uma base de imagens reais, com a captura dos sinais realizada por uma câmera dentro de um veículo para realizar testes práticos da eficiência do método. Também sugere-se a detecção automática destes sinais, visando tanto a detecção quanto a classificação em tempo real. Referências da Silva, F. A., Artero, A. O., de Paiva, M. S. V., and Barbosa, R. L. (2012). Uma metodologia para detectar e reconhecer placas de sinalização de trânsito. VIII Workshop de Visão Computacional. Deng, L. (2004). Deep learning: Methods and applications. In BISHOP, C.M. Pattern Recognition and Machine Learning. Amazon.com. DETRAN-MA (2016). Departamento nacional de trânsito do maranhão. http://www. detran.ma.gov.br/. Accessed: 2016-04-19. Greenhalgh, J. and Mirmehdi, M. (2002). Real-time detection and recognition of road traffic signs. In IEEE, editor, IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS. IEEE. LeCun, Y. (1998). Gradient-based learning applied to document recognition. In IEEE, editor, Proceedings of the IEEE. IEEE. LeCun, Y., Bengio, Y., and Hinton, G. (2015). Deep learning. Nature, 521(7553):436 444. Maldonado-Bascon, S., Lafuente-Arroyo, S., Gil-Jimenez, P., Gomez-Moreno, H., and López-Ferreras, F. (2007). Road-sign detection and recognition based on support vector machines. IEEE Transactions on Intelligent Transportation Systems, 8(2):264 278. Sarraf, S. and Tofighi, G. (2016). Classification of alzheimer s disease using fmri data and deep learning convolutional neural networks. arxiv preprint arxiv:1603.08631. Silva, J., Farias, F., Lima, V., Silva, V., Seijas, L., and Bastos-Filho, C. (2015). Classificação de sinais de trânsito usando otimização por colmeias e random forest. XII BRAZILIAN CONGRESS ON COMPUTATIONAL INTELLIGENC. Stallkamp, J., Schlipsing, M., Salmen, J., and Igel, C. (2012). Man vs. computer: Benchmarking machine learning algorithms for traffic sign recognition. Neural Networks, (0):.