Reconhecimento de Objetos em Veículos Autônomos

Tipo de documento:TCC

Área de estudo:Tecnologia da informação

Documento 1

Há diversas aplicações desta tecnologia, no entanto, a mais utilizada é a que tem um emissor de luz, sob a forma de um laser, que manda pulsos de luz que são refletidos nas barreiras e são capturados por um sensor que a cada mudança de quadro, consegue saber a distância que o alvo se encontra. Trata-se de um recurso que possui várias utilidades e uma que merece destaque é a detecção de objetos nas proximidades, pois possibilita conseguir as distâncias dos objetos que estão no seu campo de visão e isso não implica em um maior custo de cálculo com a utilização de algoritmos de visão por computador (BATISTA, 2011). Sistema LIDAR – Light Detection and Ranging Esses sistemas usam um feixe de luz rotativo para realizar o mapeamento em três dimensões (3D) do local que o cerca.

O benefício é que, com feixes de luz bem ajustados, permitem alcançar uma resolução bem alta, sendo o recomendado para propósitos críticos, como pousar as sondas da NASA. Usam métodos de backscattering para obter valores precisos de distância (além de certas peculiaridades do objeto), precisando de alguns ajustes preliminares sobre o local onde o laser será emitido para saber qual o melhor comprimento de onda será utilizado (BATISTA, 2011). Geralmente, são usados nas simulações na Engenharia e na Medicina, composto dos aspectos a seguir: voxel, árvore BSP, CSG, Sweep e Octree. Modelos de superfície são menos complicados de modelar por mostrarem apenas a casca do elemento. São representados por superfícies de polígonos, nuvens de pontos e malha. Com base nas representações supracitadas, as mais usadas para reconhecer obstáculos tridimensionais são voxel, malha e nuvem de pontos (MIYAZAKI, 2017).

Figura 2 – Representações 3D. A figura 2 (c) mostra essa representação. Cada voxel tem uma densidade distinta, onde as cores mais escuras sugerem maior densidade e as mais claras, menor. Embora possa ter propriedades importantes, ela é computacionalmente mais dispendiosa no que se refere à memória, comparando-se com a nuvem de pontos. No entanto, isso se traduz em resultados interessantes (MIYAZAKI, 2017).  MÉTODOS DE INVESTIGAÇÃO DE PADRÕES 2D e 3D Um dos enfoques essenciais que a análise de elementos se preocupa é a modelagem matemáticaan para esse fim. Ele retira informações das propriedades das imagens e as decompõe em vetores com particularidades locais, e assim, eles são utilizados para estabelecer as relações entre as representações e identificá-las (MIYAZAKI, 2017). A qualidade deste método está relacionada à habilidade de extração das características e, também, à inexistência de variação que elas sofrem, mesmo com as modificações aplicadas à imagem.

A retirada de características é realizada em várias etapas. A primeira corresponde ao emprego da função gaussiana na direção horizontal a todas as linhas de pixels e, posteriormente, na vertical em todas as colunas. É usada também uma pirâmide de imagens onde é realizada uma gradativa interpolação bilinear para abrandar a reprodução, sendo que a função gaussiana é utilizada em todos os grupos de modo que cada uma seja confrontada com suas adjacentes, para estimar os máximos e os mínimos. Fundamenta-se também em pontos específicos conseguidos a partir de uma série de três pontos não colineares a partir dos quais, os outros números são encontrados. Desse modo, os pontos específicos não se alteram conforme as mudanças que são aplicadas aos objetos.

RANSAC – RANdom SAmple Consensus Trata-se de um algoritmo que possibilita retirar, de um conjunto de dados, os indicadores do modelo matemático que possuem as particularidades do objeto analisado. Ele trabalha de maneira iterativa e a cada iteração realizada, há uma otimização do nível de qualidade nos indicadores apresentados. Esse procedimento significa uma grande evolução dos métodos de mínimos quadrados por não permitir que possível desvios dos dados atrapalhem a qualidade do modelo empregado. Elas permitem que os pontos sejam distribuídos por grupos conforme várias peculiaridades que possuem e condições prévias fornecidas. REDES NEURAIS ARTIFICIAIS E REDES CONVOLUCIONAIS Esse capítulo contempla alguns pressupostos acerca das Redes Neurais Artificiais (RNA), as funções de ativação mais comuns (Sigmoide, ReLU e Tangente Hiperbólica), as redes neurais de várias camadas, a função Softmax, a função custo, cross entropy, método do gradiente descendente, sobreajuste e subajuste, treinamento e, finalmente, as redes convolucionais, sua arquitetura, estrutura das camadas e aplicações (MIYAZAKI, 2017).

 RNA As RNAs são padrões computacionais de aprendizado de máquina baseados em redes neurais biológicas, que foram descobertas em 1943, por McCulloch e Pitts. São muito usadas em trabalhos de validação de padrões, como o diagnóstico de fala, de objetos, de células cancerígenas, entre outros. As unidades essenciais da RNA são os neurônios e eles podem ser concebidos como na Figura 6. Caso esse potencial chegue ao limite para ativação da célula, um pulso com intervalo fixo é transmitido para os demais neurônios e eles estarão ativados. Acontece de maneira bastante parecida em RNAs, isto é, a rede possui um agrupamento de neurônios artificiais que fazem as transmissões de acordo com os outros neurônios conectados. Encontram-se arranjados em camadas, a partir de ligações de neurônios de camadas sucessivas.

As ligações entre eles são ponderadas por valores denominados pesos. A menor estrutura de RNA possível é que possui um único neurônio, possuem maior restrição por somente realizar procedimentos com apenas dois resultados possíveis (binários) e separadas por funções de Boole, como a E e a OU. As camadas podem estar relacionadas como entrada ou saída. A Figura 8 mostra como cada Perceptron é como se fosse um no, e a distribuição das camadas, sendo a primeira camada denominada entrada, a última de saída, e todas as camadas intermediarias são as ocultas. Figura 8 – Rede neural de várias camadas. Fonte: Miyazaki (2017) 3. Função Softmax São geralmente usadas como especificadores na camada de saída e possuem como objetivo mostrar o relacionamento de cada classe para cada valor de entrada.

O cálculo é feito a partir da média de cada cross entropy. Cross Entropy É a técnica que mede o intervalo entre os valores da codificação anterior em relação à saída da rede. A equação 9 mostra a fórmula e D representa o cross entropy e S é o vetor de saída do Softmax e L consiste no vetor da codificação one-hot (MIYAZAKI, 2017). Método do Gradiente Descendente Trata-se de uma teoria de otimização que busca diminuir a falha da rede neural. Este processo é feito trocando os pesos e os limiares de ativação objetivando achar o mínimo local da função perda. Treinamento de uma RNA de várias camadas Representa a adaptação dos pesos e limiares de maneira que o vetor de saída fique próximo da saída desejada.

O processo acontece em dois passos fundamentais: a propagação e a retropropagacao (MIYAZAKI, 2017). O primeiro passo acontece quando é aplicada a equação de um neurônio artificial para cada nós da rede. Considerando serviços de classificação, o fluxo se propaga da camada de entrada para a de saída, sendo que nesta, usa-se a função do Softmax, que gera uma saída conveniente para fins de comparação com o rótulo de codificação one-hot. Depois da difusão, a rede oferece como saída, os valores medidos por ela. No caso de coloridas, seriam três vezes mais, considerando como base, as cores RGB (BEZERRA, 2016). Além de ter um número alto de critérios, essa arquitetura não considera a estrutura espacial típica que existe nos dados que correspondem a imagens, ou seja, tanto pixels que estão perto quanto os que estão longe, são tratados da mesma maneira.

Ela precisa perceber as dependências que existem na composição espacial da distribuição de imagens de entrada. Ela costuma a ter problemas com a maldição da dimensionalidade, graças à conectividade alta e, por isso, não é apropriada para imagens com grande resolução, devido ao alto nível de sobreajuste dos dados, além do tempo gasto para estimar as pré-ativações de todas as unidades pertencentes a cada camada. A rede convolucional usa conectividade local. Assim, uma camada oculta é partida em vários filtros e cada um deles precisa fazer a mesma operação sobre a imagem, realizando a mesma operação em certa região da imagem. Cada unidade em um filtro faz um procedimento chamado convolução. Considere que a imagem de entrada possui 28x28 pixels e que estão em escala de cinza.

Em processamento de imagens, uma convolução sobre uma imagem I significa empregar o produto de Hadamard entre a matriz de pixels de I e outra matriz, chamada de núcleo da convolução. A Figura 10(a) exibe o efeito da aplicação de uma forma particular de convolução sobre uma imagem (BEZERRA, 2016). Figura 11 – Sugestões de palavras importantes que descrevem a cena realizada por uma ConvNet. Fonte: Araújo et al. Figura 12 – Observação de pessoas e animais realizados por uma ConvNet. Fonte: Araújo et al. Há várias bibliotecas que permitem a realização das intervenções fundamentais usadas pelas redes convolucionais, como Caffe, MatConv-Net, Theano, Torch e TensorFlow. Considerando que as imagens utilizadas como entrada para C sejam de dimensões 28x28 pixels, que o campo receptivo local de cada unidade possua dimensão 5x5 e que o passo utilizado seja igual a 1.

Assim, cada filtro em C terá 24x24 unidades. As redes convolucionais também possuem a camada de subamostragem que é formada por uma série de filtros que realizam a associação das ativações do conjunto de unidades referentes à camada precedente. Essa camada permite uma rede mais robusta quanto a mudanças especiais, sobretudo a mudanças de translação dos objetos numa imagem (BEZERRA, 2016). Também possuem as camadas de normalização de contraste local. A Figura 13 mostra como funciona a convolução, onde o filtro de dimensões 3x3 justapõe uma região dos dados, a multiplicação matricial entre eles e computada e, posteriormente, a soma é passada para o filtro (MIYAZAKI, 2017). Ao longo do processo de treinamento, os mapas são adaptados, de forma automática, para estarem ativos quando perceberem características importantes, como manchas de cores ou bordas.

Cada camada possui vários filtros que estão empilhados, constituindo uma matriz tridimensional para imagens de duas dimensões e uma matriz de quatro dimensões para imagens tridimensionais. Figura 14 – Operação de convolução. Fonte: Miyazaki (2017) A figura 14 ainda mostra que cada camada altera a altura e a largura de acordo com a passagem dos dados por ela. Fonte: Miyazaki (2017) Onde K é o tamanho do filtro. Depois da definição dos critérios definir de convolução, determina-se o tamanho da saída com a equação CL 13: onde O e a dimensão da saída, W e a dimensão da entrada, K e o tamanho do filtro, P é o preenchimento e S é o passo do filtro. Aplicações As redes convolucionais permitem encontrar os padrões em imagens de maneira mais pertinente, por proporcionar a investigação das particularidades dos dados, visando conseguir os resultados mais efetivos e tem sido assim desde o seu surgimento, sempre muito efetivo no diagnóstico de faces, caracteres e manuscritos (BEZERRA, 2016).

Esse tipo de rede passou a ser mais popular no ano de 2012 quando foram utilizadas para minimizar a taxa de falha em uma renomada competição de reconhecimento de objetos, a ImageNet. O campo de Visão Computacional tem experimentado bastante do conhecimento que as redes neurais convolucionais possuem, para atividades de classificação e constataçãore de imagens, inclusive sendo usadas atualmente também, para placas de sinais de trânsito e identificação de pedestres. em certa população de pessoas que têm peculiaridades distintas e elas não possuem atributos específicos. Assim, poderia se usar um treinamento que dividisse esse conjunto de indivíduos por semelhança. No aprendizado por reforço, a máquina é instruída a partir da influência ambiental, não precisando de um tutor.

Fazendo variações dos estados, até mesmo qualitativa, consegue-se otimizar o sistema a partir de uma finalidade. Nas várias iterações, ao se conseguir um fim, um estímulo é empregado e, depois de muitos empregos, é admissível a realização de uma política de ações que conduzam para o intuito (MARQUES, 2017). Os critérios são atualizados conforme as propriedades do otimizador; quando a condição de parada é alcançada, os critérios são usados para constituir a máquina. Quadro 1 – Aprendizado de máquina. Fonte: Marques (2017) 4. TÉCNICAS PARA TREINAMENTO DE REDES PROFUNDAS Mesmo possuindo diversos ganhos computacionais e de se aproximar bastante do funcionamento do cérebro humano, o treinamento de redes neurais era complicado de se fazer até dez anos atrás, graças a dois motivos fundamentais: o desaparecimento dos gradientes provocado por unidades carregadas e a grande quantidade de critérios para ajustar, pois os critérios estão relacionados com os pesos e eles crescem com o número de camadas, aumentando a chance de sobreajuste.

Quando o algoritmo de retropropagação é empregado, o gradiente da ativação das unidades escondidas é utilizado como um multiplicativo para a atualização dos pesos correlatos. Esse processo pode ser usado na implementação de redes com uma quantidade aleatória de camadas intermediárias (BEZERRA, 2016). Depois da fase de pré-treinamento não supervisionado, a camada de saída é, então, acrescentada à rede. A rede completa é treinada de maneira supervisionada, dando origem à fase de sintonia fina. Um ganho do pré-treinamento é não precisar de dados rotulados e, geralmente, o seu aprendizado converge mais rápido. Utilização de unidades lineares retificadas Por vários anos, houve concordância entre as pessoas que trabalhavam com redes neurais, que a função de ativação a ser usada era a sigmoide, com o intuito de não produzir linearidades.

m(k): Essa mudança acaba fazendo com que a ativação das unidades correlatas a valores iguais a zero na máscara m(k) seja também igual a zero. A figura 16 mostra o resultado da aplicação do desligamento: a representação da esquerda é a configuração original da rede, e a da direita se relaciona com a configuração após o desligamento de algumas unidades. Figura 16 – Efeito da aplicação do desligamento em uma rede neural. Fonte: Bezerra (2016) O desligamento solicita o conceito de hiperparâmetro, isto é, a chance p que faz o controle da amplitude do desligamento. Caso p seja igual a um, não há desligamento e quanto mais baixo for o seu valor, maior também será o percentual de desligamento. H. D. et al.

Redes neurais convolucionais com Tensorflow: teoria e prática. III Escola Regional de Informática do Piauí. BEZERRA, E. Introdução à aprendizagem profunda. Disponível em: https://www. researchgate. net/publication/309321510_Introducao_a_Aprendizagem_Profunda?enrichId=rgreq-181f40c64d60d6010fe4613ae0d9e22f-XXX&enrichSource=Y292ZXJQYWdlOzMwOTMyMTUxMDtBUzo0MTk1NzQ1NTUxMzYwMDFAMTQ3NzA0NTc3NzU4Mw%3D%3D&el=1_x_2&_esc=publicationCoverPdf >. Monografia apresentada ao Curso de Engenharia Elétrica com ênfase em Sistema de Energia e Automação, da Escola São Carlos da Universidade de São Paulo, como parte dos requisitos para obtenção do título de Engenheiro Eletricista. São Carlos, SP.

217 R$ para obter acesso e baixar trabalho pronto

Apenas no StudyBank

Modelo original

Para download