Sistema de Reconhecimento Facial Baseado em Redes Neurais Convolucionais Profundas com Aplicação no Comércio Varejista

Tamanho: px
Começar a partir da página:

Download "Sistema de Reconhecimento Facial Baseado em Redes Neurais Convolucionais Profundas com Aplicação no Comércio Varejista"

Transcrição

1 UNIVERSIDADE DE SÃO PAULO ESCOLA DE ENGENHARIA DE SÃO CARLOS Gustavo Henrique Rigamonti Sistema de Reconhecimento Facial Baseado em Redes Neurais Convolucionais Profundas com Aplicação no Comércio Varejista São Carlos 2018

2

3 Gustavo Henrique Rigamonti Sistema de Reconhecimento Facial Baseado em Redes Neurais Convolucionais Profundas com Aplicação no Comércio Varejista Monografia apresentada ao Curso de Engenharia Elétrica com Ênfase em Eletrônica, da Escola de Engenharia de São Carlos da Universidade de São Paulo, como parte dos requisitos para obtenção do título de Engenheiro Eletricista. Orientador: Prof. Dr. Marcelo Andrade da Costa Vieira São Carlos 2018

4

5

6

7 Este trabalho é dedicado aos meus pais, ao meu irmão e à minha namorada.

8

9 AGRADECIMENTOS Aos meus pais, Paulo e Claudete, ao meu irmão, Rafael, por todo o apoio e suporte durante minha vida e graduação, sempre me incentivando e acreditando no meu potencial. À minha namorada e melhor amiga, Bruna, pelo companheirismo e apoio e por ter me incentivado e acreditado muito em mim nesta etapa final desta fase tão importante da minha vida. Ao Professor Doutor Marcelo Andrade da Costa Vieira pelo incentivo e inspiração passados durantes suas aulas e este período de orientação. À Técnica Administrativa Jussara Ramos Zoia e à Auxiliar Administrativa Aura Aparecido Brisolar, pessoas maravilhosas que não mediram esforços para me auxiliar em todas as questões que precisei durante a minha gradução. Aos amigos que fiz durante este período da minha graduação. À Escola de Engenharia de São Carlos, todos os professores e técnicos que contribuíram para minha formação.

10

11 Aprender é a única coisa de que a mente nunca se cansa, nunca tem medo e nunca se arrepende. Leonardo da Vinci

12

13 Este trabalho foi desenvolvido em conjunto com uma empresa privada e, portanto, alguns dados e informações aqui apresentados são limitados ou não puderam ser incluídos.

14

15 RESUMO RIGAMONTI, G. H. Sistema de Reconhecimento Facial Baseado em Redes Neurais Convolucionais Profundas com Aplicação no Comércio Varejista p. Monografia (Trabalho de Conclusão de Curso) - Escola de Engenharia de São Carlos, Universidade de São Paulo, São Carlos, A inteligência competitiva é uma questão cada vez mais presente no cotidiano de gestores e gerente em grandes lojas, além de empresários e pessoas que trabalham em mercados varejistas. As pesquisas de campo, importantes para a inteligência competitiva, requerem uma grande quantidade de tempo, experiência e esforço humano para o levantamento de informações. Dessa maneira, trata-se de um processo não eficiente, perdendo-se muito tempo, especialmente quando se deve fazer a pesquisa em grandes lojas. Este trabalho tem como objetivo desenvolver um método baseado em visão computacional para realizar automaticamente o cálculo e a oferta de índices importantes para ações de otimização em lojas e de grande contribuição para a inteligência competitiva. A escolha do reconhecimento facial para o levantamento de índices foi feita pelo fato de se tratar de um método de biometria menos invasivo, em comparação com outros métodos mais convencionais (reconhecimento de digitais, íris etc.). As características das faces são obtidas por mapas de informações gerados por Redes Neurais Convolucionais Profundas e do algoritmo HOG. Em seguida, é feita uma comparação dos mapas das faces de entrada e saída de uma loja utilizando a distância L2, ou ainda, distância euclidiana. Os índices levantados pelo software permitem que sejam feitas análises importantes para a otimização de resultados e até mesmo a atuação em tempo real. A máquina, utilizando o HOG e um modelo de DCNN, realiza a identificação da face. Por fim, o uso do método desenvolvido permitiu mensurar o desempenho das DCNN em conjunto com os descritores HOG em ambientes não controlados: a maior acurácia dentro dos conjuntos das amostras disponíveis foi de 60,7%; resultado superior ao de outras soluções que podem ser encontradas no mercado. Palavras-chave: Inteligência competitiva. Reconhecimento Facial. Visão computacional. Identificação de faces. Reconhecimento facial. HOG. DCNN.

16

17 ABSTRACT RIGAMONTI, G. H. Face Recognition System Based on Deep Convolutional Neural Networks with Application to Retail Business p. Monografia (Trabalho de Conclusão de Curso) - Escola de Engenharia de São Carlos, Universidade de São Paulo, São Carlos, Competitive intelligence is an increasingly more present matter to the routine of managers from big retail stores, entrepreneurs and employees. Field research, which are important tool to competitive intelligence, require lot of time, experience and human effort to gather important information. In that context, such process has low efficiency, wasting time specially when the research needs to be undertaken at big retails. This work aims to develop a method based on computer vision that automatically calculates and manages the offer of important indexes for actions of optimization in retail stores, contributing for competitive intelligence. Facial recognition was chosen to gather the indexes because it is less invasive when compared to conventional biometry methods such as iris and digital recognition. The facial features were acquired from information maps obtained from Deep Convolutional Neural Networks (DCNN) and Histogram of Oriented Gradients (HOG) algorithms. Next, the input and output facial maps were compared using L2 or Euclidian distance. The indexes gathered by the software have allowed important analysis for the optimization of results, even in real time. The machine operating with HOG and a DCNN model performs the facial identification. Finally, the application of the method has allowed to measure the performance of the DCNN in conjunction with the HOG descriptors in non-controlled environments, resulting in greater accuracy (60.7%) for the available samples when compared to similar solutions found in the market. Keywords: Competitive intelligence. Facial recognition. Computer vision. Identification of faces. Facial recognition. HOG. DCNN..

18

19

20 LISTA DE FIGURAS Figura 1 Faces com 194 Landmarks cada Figura 2 Descritores HOG Figura 3 Exemplo de captura dos dois tipos de obturadores Figura 4 Neurônio Artificial Figura 5 Função sigmóide Figura 6 Função Tangente Hiperbólica Figura 7 Função ReLU Figura 8 Função Softmax Figura 9 Rede Neural Multicamadas Figura 10 Arquitetura da Rede LeNet Figura 11 Convolução com Laplaciano Figura 12 Convolução de um filtro 3 x 3 e o volume de entrada Figura 13 Exemplo de zero-padding Figura 14 Exemplo de imagens de entradas e regiões de ativação Figura 15 As 6 diferentes arquiteturas VGG Figura 16 Arquitetura da GoogLeNet Figura 17 Arquitetura dos blocos Inceptions Figura 18 Arquitetura do bloco residual Figura 19 Fluxograma do método proposto Figura 20 Câmera IP Bullet NDVLM4MCM-2.8A12 e Câmera IP Dome NDVLM4MCM- 2.8A Figura 21 Imagem de entrada no pré-processamento Figura 22 Resultados do pré-processamento Figura 23 Buffer Figura 24 Matriz de confusão da classificação de gênero

21 LISTA DE TABELAS Tabela 1 Acurácia dos testes de detecção facial Tabela 2 Acurácia dos testes de reconhecimento facial

22

23 LISTA DE ABREVIATURAS E SIGLAS IC HOG IA ML DCNN RNA MLNN DL GD SGD CNN CL Inteligência Competitiva Histograms of Oriented Gradients Inteligência Artificial Machine Learning Deep Convolutional Neural Network Rede Neural Artificial Multi-layer Neural Network Deep Learning Gradient Descent Stochastic Gradient Descent Convolutional Neural Network Convolutional layer

24

25 SUMÁRIO 1 INTRODUÇÃO Contextualização Justificativa Objetivos CONCEITOS E BASE TEÓRICA Inteligência Competitiva Pré-processamento de imagens digitais Landmarks ou Pontos de controle Histograms of Oriented Gradients (HOG) Efeito rolling-shutter Machine Learning (ML) Redes Neurais Artificiais Função de ativação Função ReLU Função Softmax Rede Neural Multicamadas Treinamento de uma Rede Neural Artificial Multicamadas Deep Learning (DL) Gradient Descent (GD) Stochastic Gradient Descent (SGD) Convolutional Neural Network (CNN) Operação de Convolução Convolução contínua Convolução discreta Convolução em imagens Convolutional layer (CL) Profundidade (do inglês Depth) Passo (do inglês Stride) Padding Camada de Pooling Camada Fully-Connected Dropout Redes Neurais Convolucionais Multicanais Exemplos de arquiteturas de CNNs AlexNet

26 ZF Net Rede Visual Geometry Group VGG GoogLeNet e Inception Microsoft e Resnet Resnet MATERIAIS E MÉTODOS Método proposto Imagens capturadas na entrada, saída dos compradores e saída dos não compradores Banco de imagens de entrada, saída dos compradores e saída dos não compradores Detecção de faces Dlib Pré-processamento Opencv Aplicação da rede neural Buffer no fluxo de entrada Cálculo da distância euclidiana Decisão sobre o resultado da distância euclidiana Processamento das informações recebidas RESULTADOS E DISCUSSÃO Auditoria visual da detecção facial Acurácia Dlib e HOG Tempo de processamento Dlib e HOG Auditoria visual do reconhecimento facial Resultados da DCNN modelo ResNet-29 para a obtenção dos matches Resultados da DCNN modelo ResNet-29 para o reconhecimento de gênero TRABALHOS FUTUROS CONCLUSÃO REFERÊNCIAS

27 25 1 INTRODUÇÃO 1.1 Contextualização Em um mercado cada vez mais competitivo, as grandes empresas varejistas têm incentivado e tentado constantemente desenvolver soluções que ofereçam uma experiência de compra única, ou seja, mais personalizada para cada um de seus clientes e seus hábitos de compra. Para que estes objetivos sejam alcançados, um dos grandes mecanismos que têm sido cada vez mais utilizado é a realização do monitoramento em tempo real de uma série de variáveis que possam causar alguma interferência nos negócios das empresas (CUNHA, 2017), a este mecanismo dá-se de Inteligência Competitiva (IC). Em posse das informações fornecidas pela IC, ou seja, através da aquisição, interpretação e análise de dados a respeito das atividades de concorrentes, fornecedores, tecnologias, comportamento de clientes, tendências gerais do negócio e seu monitoramento constante, visando fortalecer um direcionamento estratégico e a tomada de decisões em tempo real (ROEDEL, 2005), uma empresa consegue obter conclusões importantes que podem trazer melhoras consideráveis em seu resultados. Um dos meios para o levantamento de dados e análises das variáveis envolvidas com o sucesso do negócio é a realização de pesquisas de campo. Todavia, realizar os processos relacionados à pesquisa de campo demanda um grande número de pessoas dentro das lojas realizando as análises em tempo real que em muitas vezes, ainda que indiretamente, interferem no processo de compra dos clientes, podendo comprometer os resultados naquele período, além de demandar um grande esforço humano especializado. Logo, fica evidente a necessidade do desenvolvimento de tecnologias que facilitem este processo e não é absurdo, por exemplo, considerar nesse contexto a utilização de tecnologias de visão computacional como o reconhecimento facial em mercados varejistas visando a obtenção de dados para o entendimento de comportamentos e auxílio na tomada de decisão. Uma das principais razões pelas quais algoritmos de reconhecimento facial têm sido estudados e desenvolvidos pelas última décadas é o enorme potencial que esta tecnologia tem para aplicações governamentais e comerciais (LI; JAIN, 2011) em áreas como a do entretenimento, cartões inteligentes, segurança da informação, aplicação da lei, vigilância e biometria etc.(zhao et al., 2003) e sendo um método de identificação biométrica menos intrusivo em relação aos outros, as tecnologias de reconhecimento facial já estão e estarão cada vez mais presentes na vida das pessoas (LI; JAIN, 2011). Ainda que os estudos em torno do reconhecimento facial aconteçam desde antes de 1960, esta questão ainda continua sendo amplamente discutida; ainda mais diante

28 26 do crescimento da aplicação em diversos segmentos. Nos últimos anos pode-se notar um progresso significativo nesta área em função dos avanços nas modelagens e análises técnicas; uma série de novos sistemas foram e são desenvolvidos com o propósito de realizarem detecção e rastreamento facial (LI; JAIN, 2011). Mais que os avanços nas modelagens e análises, o advento da Inteligência Artificial, mais especificamente da subárea chamada de Aprendizado de Máquina (do termo em inglês Machine Learning - ML) também têm sido um forte colaborador para o desenvolvimento das tecnologias de reconhecimento facial. 1.2 Justificativa Atualmente muito se desenvolve acerca das tecnologias de reconhecimento facial dentro de centros de pesquisas, universidades e orgãos governamentais. Entretanto, a maioria destas soluções impelem uma necessidade de processamento e, consequentemente, de hardware muito grande, encarecendo estas soluções e inviabilizando a aplicação na iniciativa privada, por exemplo, em mercados varejistas. A escolha pelo uso de redes neurais convolucionais profundas se deu, uma vez que se tem interesse em um reconhecimento com variação de detalhes faciais, expressões e diferentes poses, de modo que este reconhecimento aconteça aproximadamente em tempo real, comparando faces encontradas com faces previamente armazenadas (LAWRENCE et al., 1997). Com o advento e evolução da inteligência artificial, o desenvolvimento desta aplicação numa linguagem código aberto em conjunto com Redes Neurais Convolucionais supre, em partes, esta demanda de um menor custo e menor processamento neste tipo de sistema de visão computacional. Desta forma, este tipo de solução aplicada no varejo deixa de ser inviável e passa a ser um aliado utilizado como meio de obtenção de informações e de comportamento de clientes no ambiente desejado. Em outras palavras, esta tecnologia ajudará a desenvolver uma ferramenta que consiga superar obstáculos inerentes a um ambiente de aquisição de imagens, real e não controlado, tal qual o cenário esperado em um grade comércio varejista. 1.3 Objetivos Nesse contexto, o presente trabalho tem como objetivo o desenvolvimento de uma solução baseada em visão computacional que permita a identificação e reconhecimento facial através de características faciais para a aquisição de dados no mercado varejista. Em linhas gerais, a face a qual se quer realizar a identificação e reconhecimento será analisada utilizando redes neurais convolucionais profundas e pontos de controle (landmarks). Após a identificação da face serão geradas informações únicas que posteriormente serão comparadas

29 27 e armazenados em banco de dados visando se obter informações sobre clientes e seus comportamentos durante todo o processo de compra em uma loja.

30

31 29 2 CONCEITOS E BASE TEÓRICA 2.1 Inteligência Competitiva Em um mercado cada vez mais competitivo, as grandes empresas do mercado se vêem forçadas a buscar e desenvolver soluções inovativas. Muito se tem trabalhado para condicionar ao consumidor uma experiência de compra única e personalizada, buscando a fidelização ou a atração de potenciais compradores. O ato de monitorar em tempo real variáveis que possam influenciar nas vendas das empresas, como questões ambientais, econômicas, políticas, culturais, sociais e hábitos de consumo dos clientes pode revelar informações e gerar intrepretações valiosas para otimizar os resultados dos negócios seja por meio de ações paliativas, por exemplo retirando um produto que constantemente apresenta defeitos de fábica do mercado, seja por ações comerciais, como por exemplo realizar promoções em produtos em dias e horários específicos da semana para um público que historicamente frequenta uma loja naquele momento. Ao ato de adquirir, processar, analisar e disseminar informações sobre atividades de clientes, fornecedores, concorrentes, tecnologias e tendências de negócio e seu acompanhamento constante, buscando fortalecer um direcionamento estratégico e a tomada de decisões em tempo real (ROEDEL, 2005), dá-se o nome de Inteligência Competitiva. Dados importantes como taxa de conversão, tempo de permanência em loja, gênero, faixa etária e ticket médio, podem, se interpretados da maneira correta, resultar em alterações estratégicas fundamentais para a competitividade e saúde de um negócio no mercado. 2.2 Pré-processamento de imagens digitais Após a obtenção de uma imagem, o passo imediatamente seguinte consiste no pré-processamento daquela imagem capturada. A ideia principal no pré-processamento é melhorar a imagem de forma a ampliar as chances de sucesso do processos sucessores, eliminando ruídos e informações indesejadas (GONZALEZ; WOODS, 2000). O objetivo do software é encontrar faces geradas por uma câmera de entrada e reconhecer esta mesma face em imagens geradas por uma câmera de saída, de modo que sejam retornadas informações de tempo de permanência em um determinado ambiente. Assim, tudo que não é considerado uma face deve ser removido, seja fisicamente, antes da captura da imagem por meio de configurações de filtro nas câmeras, ou posteriormente, por meio de métodos computacionais.

32 Landmarks ou Pontos de controle O reconhecimento da face e a comparação entre faces são diretamente afetados pela posição da face na imagem, sendo a posição frontal a de melhor desempenho. A correlação entre duas faces da mesma pessoa que aparecem em ângulo e rotação diferentes é muito baixa. Por este motivo, antes da comparação das faces, deve-se localizar pontos de controle chave na face. Figura 1: Faces com 194 Landmarks cada. (KAZEMI; SULLIVAN, 2014) A técnica que será utilizada neste trabalho é proposta por Vahid Kazemi e Josephine Sullivan (KAZEMI; SULLIVAN, 2014); ela consiste basicamente na realização de uma série de regressões em cascata que essencialmente localizam os pontos que compõe a estrutura de uma face (Figura 1). 2.4 Histograms of Oriented Gradients (HOG) A fundamentação principal acerca do descritor Histograma de Gradientes Orientados (do inglês Histogram of Oriented Gradients) é que a forma e aparência de objetos em qualquer imagem pode ser descrito por meio da distribuição de intensidade dos pixels ou pelas orientações das bordas. O processo para geração dos descritores HOG é: cálculo de gradiente dos pixels; agrupamento de pixels em células; agrupamento de células em blocos; obtenção de descritor.

33 31 Em um primeiro momento aplicam-se máscaras derivada discreta pontual, tanto no eixo vertical como no horizontal para realizar o cálculo de gradiente de cada um dos pixels. Na sequência realiza-se o agrupamento dos pixels, criando o que se chama de célula. Em um terceiro momento, após o agrupamento de pixels, realiza-se o agrupamento de células para a criação dos blocos. Por fim cria-se o descritor que é basicamente uma lista dos histogramas de todas as células dos blocos. Por fim deve-se realizar o treinamento alimentando os descritores em um sistema de aprendizado supervisionado. Figura 2: Descritores HOG. Modificada de (DALAL; TRIGGS, 2005). 2.5 Efeito rolling-shutter Um ponto importante que deve ser falado sobre a construção das câmeras é sobre o modo de funcionamento do obturador no momento de captura e o tempo de exposição da matriz de sensores. Existem disponíveis no mercado duas opções de obturador: rolling shutter e global shutter e câmeras com o tempo de exposição ajustável. O obturador global shutter tem a grande vantagem de expor a matriz de sensores CMOS, responsável pela captura da imagem, de maneira aproximadamente instantânea. Já o obturador rolling shutter expõe a matriz de sensores CMOS por partes. Em câmeras com o obturador de modelo rolling shutter ou com configuraçãoes de tempo de exposição alto, nota-se a ocorrência do efeito rolling-shutter exemplificado pela Figura 3. É possível notar que a fotografia da bola, para o obturador rolling shutter, apresenta uma distorção causada pelo movimento desta enquanto se adquiria a imagem, o resultado seria semelhante no caso de longos tempos de exposição na captura de frames.

34 32 Figura 3: Exemplo de captura dos dois tipos de obturadores. (PUEO et al., 2016) 2.6 Machine Learning (ML) Uma vez que o presente trabalho faz uso de DCNN (do inglês Deep Convolutional Neural Network) deve-se entender alguns conceitos básicos de ML. Parte-se de uma breve introdução sobre Redes Neurais Artificiais (RNA), apresentando algumas técnicas e nomes, como por exemplo, regressão logística, a função Softmax, codificação one-hot e Cross entropy e na sequência serão introduzidos os fundamento teóricos de Aprendizagem Profunda (do inglês Deep Learning) e Redes Neurais Convolucionais Redes Neurais Artificiais As Redes Neurais Artificiais (RNA) foram desenvolvidas em meados do ano de 1940 pelo matemático Pitts e o neurofisiologista McCulloch, que propuseram o uso de resistores variáveis conectados a amplificadores para terem comportamento semelhante ao dos neurônios biológicos (ARTERO, 2009). As RNA podem ser utilizadas para resolver uma série de problemas práticos, entretanto, hoje, sua maior aplicação é na resolução de questões que podem ser consideradas como reconhecimento de padrões, por exemplo, reconhecimento de voz, objeto e, o cerne deste trabalho, reconhecimento facial. As unidades mais básicas de uma RNA são os neurônios artificiais, representações de neurônios biológicos que seguem o modelo da Figura 4.

35 33 Figura 4: Neurônio Artificial. (ARTERO, 2009) O modelo acima representa, graficamente, o corpo do neurônio artificial e cada elemento representado possui a seguinte atribuição: (a) Sinais de entrada E i : conjunto de dados que servirão de base para o treinamento da rede; (b) Pesos ou pesos sinápticos ω i : parâmetro que determina a influência da entrada para o resultado final; (c) Somatório : parte responsável por realizar a soma do produto de cada entrada por seu respectivo peso; (d) Função de ativação f: a função de ativação aplica uma não-linearidade no valor do neurônio e determina o modo como ele deverá ser ativado; (e) Saída Y : resultado estimado pelo neurônio. Além das entradas E i demonstradas acima, também é prevista a existência de uma entrada extra (ω v ) chamada de viés (do inglês bias) que é responsável por determinar os graus de liberdade de modo a permitir uma melhor adaptação da rede. A partir da análise do diagrama apresentado é direta a obtenção da representação matemática do neurônio artificial: n Y = f( E i.ωi + ω v ) (2.1) i= Função de ativação As funções de ativação é que permitem que pequenas mudanças nos pesos ω i e bias ω v causem apenas pequenas alterações na saída Y e é este o ponto crucial que permite que uma RNA aprenda.

36 34 Em geral as funções de ativação são funções não-lineares acopladas ao final da estrutura de um neurônio artificial (Figura 4) e definem a saída baseando-se no dados de entrada e o limiar de ativação. A função sigmóide, Figura 5, é descrita pela seguinte equação: f(x) = e x (2.2) Figura 5: Função sigmóide. Fonte: autoria própria. A função tangente hiperbólica, Figura 6, tem como saída valores entre -1 e 1 e é escrita da seguinte forma baseada na função sigmóide: tanh(x) = 2f(2x) 1 (2.3) Figura 6: Função Tangente Hiperbólica. Fonte: autoria própria.

37 Função ReLU A Função Linear Retificada (do inglês Rectified Linear Unit), Figura 7, é uma função de ativação que pode ser considerada mais eficiente que as duas citadas acima, uma vez que não utiliza expoentes. Pode ser denotada pela seguinte função: f(x) = max(0, x) (2.4) Figura 7: Função ReLU. Fonte: autoria própria Função Softmax A função softmax, Figura 8 pode ser considerada uma generalização da função sigmóide e é extremamente útil quando são tratados problemas de classificação. Enquanto a função sigmóide 5 apresentada anteriormente consegue lidar com apenas duas classes, esta função transforma as saídas de cada uma das classes em valores entre zero e um e, no fim, divide pela soma das saídas. Essencialmente o resultado esperado aqui é a probabilidade de uma determinada entrada estar em certa classe; é denotada pela seguinte função: f(x i ) = e x i kj=0 e X j (2.5) i = 0, 1, 2,...k (2.6) Rede Neural Multicamadas Um dos modelos mais básicos de rede de apenas um neurônio é chamado de Perceptron, entretanto, apesar de ser possível classificar padrões, apresenta grandes limitações

38 36 Figura 8: Função Softmax. Fonte: autoria própria. por agrupar somente dados linearmente separáveis. Uma vez que a maioria dos problemas existentes não são lineramente separáveis, criou-se uma arquitetura mais robusta chamada de Rede Neural Multicamadas (MLNN, do inglês Multi-layer Neural Network). As MLNN (Figura 9) nada mais são que a distribuição de neurônios artificiais em camadas, ou seja, são constituídas por uma ou mais camadas escondidas de neurônios e, em geral são utilizadas problemas de classificação de padrões, otimização, robótica etc. (SILVA; SPATTI; FLAUZINO, 2010). Cada Perceptron é apresentado na Figura 9 como um nó, a primeira camada é a chamada camada de entrada, a última é a camada de saída e todas as camadas intermediárias são chamadas de camada neural escondida. Figura 9: Rede Neural Multicamadas. (SILVA; SPATTI; FLAUZINO, 2010)

39 Treinamento de uma Rede Neural Artificial Multicamadas Dá-se muito destaque às RNA em função da sua grande capacidade de aprendizado partindo da apresentação de padrões que demonstram o comportamento do sistema. Este treinamento consiste no ajustes dos pesos sinápticos ω i e do bias ω v de modo que o vetor de saída seja o mais próximo possível da saída esperada, para isso a rede deve ter aprendido qual é a relação entre as entradas e saídas. Em geral, o conjunto total de amostras disponíveis sobre o comportamento de um sistema é separado em dois conjuntos: o conjunto de treinamento e o conjunto de teste. O primeiro atribuído ao treinamento da rede e o segundo para a verificação de eficiência. 2.7 Deep Learning (DL) A motivação do desenvolvimento dos algoritmos de Aprendizado Profundo (do inglês Deep Learning) foi pela existência de falhas nos algoritmos tradicionais em generalizar, ou seja, falhas em se obter os ajustes ideais dos pesos sinápticos ω i e o bias ω v em tarefas de IA como o reconhecimento de fala e objetos (GOODFELLOW; BENGIO; COURVILLE, 2016). De forma resumida DL faz referência a modelos de MLNN com duas ou mais camadas escondidas e técnicas de treinamento eficientes para este tipo de modelo e que apresentam resultados melhores em relação aos algoritmos tradicionais. É imediata a percepção de que o aumento de camadas em uma RNA implica um crescimento no número de parâmetros a serem ajustados durante a aprendizagem, logo é de extrema importância que se tenha grande potencial de processamento e extenso banco de dados Gradient Descent (GD) O Gradiente Descendente (do inglês Gradient Descent) é um algoritmo de otimização que visa a redução do erro da rede neural. Isto é realizado alterando-se os pesos sinápticos e os limiares de ativação objetivando-se encontrar o mínimo local da função perda Stochastic Gradient Descent (SGD) O chamado Método do Gradiente Estocástico (do inglês Stochastic Gradient Descent) é um algortimo de otimização em aprendizado de máquina e aprendizado profundo muito utilizado (GOODFELLOW; BENGIO; COURVILLE, 2016). O SGD é uma adaptação do método GD abordado anteriormente, de modo que o primeiro busca a solução dos problemas apresentados pelo segundo em grandes conjuntos de dados.

40 Convolutional Neural Network (CNN) As Redes Neurais Convolucionais (do inglês Convolutional Neural Network) são arquiteturas de DL que realizam uma subdivisão dos dados para tentarem extrair características de cada conjunto. Um objetivo da CNN é a redução do número de parâmetros ajustáveis pela rede, objetivando melhorar o processo de treinamento. Uma das caracterísiticas mais relevantes desta arquitetura é a sua invariância a escala, a translações e outras transformações no sinal de entrada, em suma, ela tem a capacidade de realizar o reconhecimento de padrões de forma mais automática e robusta. As CNN são MLNN utilizadas de forma recorrente em tarefas com estruturas em grades, como por exemplo, segmentação e classificação de imagens que são o cerne deste projeto. As principais camadas a serem consideradas neste trabalho são: convolucionais, de pooling e totalmente conectadas (do inglês fully-connected - FC). A Figura 10 mostra um exemplo de uma CNN, a arquitetura neural LeNet-5, proposta em 1998 com foco no reconhecimento de dígitos. Nota-se a presença dos três tipos de camadas: as camadas convolucionais, camadas de pooling e as camadas totalmente conectadas. Figura 10: Arquitetura da Rede LeNet-5. (LECUN et al., 1998) É importante ressaltar que toda CNN é formada por uma sequência de camadas e que cada uma dessas camadas presentes exercem uma função específica na propagação do sinal de entrada. As camadas convolucionais são encarregadas da extração de atributos dos volumes da entrada. As camadas de pooling são responsáveis pela redução da dimensão do volume resultante após as camadas convolucionais atuarem e também são auxiliares no que se diz respeito a tornar a representação invariante a pequenas translações na entrada. As camadas totalmente conectadas são as encarregadas da propagação de sinal por meio de multiplicações ponto a ponto e o uso de uma função de ativação. A saída da CNN retorna a probabilidade da imagem da entrada pertencer a algumas das classes para qual

41 39 a rede recebeu treinamento (ARAÚJO et al., 2017). As camadas convolucionais (do inglês Convolutional layers) são compostas por um conjunto de filtros não-lineares que percorrem de forma sequencial os dados recebidos na entrada, ou seja, percorrem todo o volume de entrada. No caso de uma camada convolucional interna a uma rede neural, ela percorrerá os dados anteriores à sua existência. Em suma, esta camada aplica a convolução de N filtros sobre a entrada, gerando N mapas de ativação (ou mapas de características). Cada um destes filtros possui dimensão reduzida, entretanto eles se estendem por toda a profundidade do volume de entrada. Suponha por exemplo que uma imagem colorida RGB é inserida na entrada e suponha também uma máscara 5 x 5, então esta imagem possui 3 canais (R, G e B) e o filtro da primeira camada convolucional poderá ter o tamanho 5 x 5 x 3. Após essa varredura, são retornadas matrizes que são chamadas de mapas de características (do inglês feature maps). Durante o treinamento da rede, automaticamente os filtros são ajustados para que sejam ativados na presença de características relevantes do volume de entrada, como orientação de bordas ou manchas de cores (LI; KARPATHY, 2015). Cada um dos filtros presentes nas camadas convolucionais dão origem a uma estrutura conecatada localmente que varre toda a extensão do volume de entrada; a somatória do produto ponto a ponto entre os valores de um filtro da camada convolucional e cada posição do volume de entrada é um evento conhecido como convolução, processo ilustrado na Figura 12. Os valores obtidos após o evento de convolução passam ainda por uma função de ativação que, geralmente, consiste na equação 2.4 da função ReLU citada anteriormente Operação de Convolução Convolução contínua Antes de introduzir o conceito de Redes Neurais Convolucionais deve-se realizar um breve estudo sobre a Operação de convolução. Sejam duas funções f 1 : R R e f 2 : R R. Define-se como convolução a operação linear, denotado por *, que computa a superposição de duas funções em função de um deslocamento τ: (f 1 f 2 )(t) = f 1 (τ)f 2 (t τ)dτ (2.7) Convolução discreta A equação acima descreve a operação de convolução para um intervalo contínuo. Entretanto, quando falamos em redes neurais artificiais, devemos tratar intervalos discretos,

42 40 ou seja: (f 1 f 2 )(n) = f 1 (τ)f 2 (n τ) (2.8) τ= Convolução em imagens No domínio espacial as imagens podem ser filtradas através de convoluções. O filtro é aplicado numa imagem original I e uma matriz bidimensional simétrica qualquer B k (também conhecida com kernel) de dimensões m n e produz uma imagem I na saída. Utilizando a equação 2.8 descreve-se a convolução na imagem como: I (i, j) = (I B)(i, j) = m I(m, n)b(i m, j n) (2.9) n A partir da interpretação da equação acima fica claro que a a operação de convolução em imagens pode ser compreendida como a ação de movimentar a matriz B (kernel) sobre toda a imagem e suas posições, calculando o produto escalar entre B e I(i,..., i + m, j,...j + n). Para exemplificar, considere um filtro Laplaciano descrito pelo kernel: B Laplaciano = O resultado da aplicação da convolução e do filtro Laplaciano descrito acima é apresentado na Figura 11, à esquerda mostra-se a imagem original e à direita o resultado da convolução. Figura 11: Convolução com Laplaciano. Fonte: autoria própria.

43 Convolutional layer (CL) As camadas convolucionais (do inglês Convolutional layers) são compostas por um conjunto de filtros não-lineares que percorrem de forma sequencial os dados recebidos na entrada, ou seja, percorrem todo o volume de entrada. No caso de uma camada convolucional interna a uma rede neural, ela percorrerá os dados anteriores à sua existência. Em suma, esta camada aplica a convolução de N filtros sobre a entrada, gerando N mapas de ativação (ou mapas de características). Cada um destes filtros possui dimensão reduzida, entretanto eles se estendem por toda a profundidade do volume de entrada. Suponha por exemplo que uma imagem colorida RGB é inserida na entrada e suponha também uma máscara 5 x 5, então esta imagem possui 3 canais (R, G e B) e o filtro da primeira camada convolucional poderá ter o tamanho 5 x 5 x 3. Após essa varredura, são retornadas matrizes que são chamadas de mapas de características (do inglês feature maps). Durante o treinamento da rede, automaticamente os filtros são ajustados para que sejam ativados na presença de características relevantes do volume de entrada, como orientação de bordas ou manchas de cores (LI; KARPATHY, 2015). Cada um dos filtros presentes nas camadas convolucionais dão origem a uma estrutura conectada localmente que varre toda a extensão do volume de entrada; a somatória do produto ponto a ponto entre os valores de um filtro da camada covolucional e cada posição do volume de entrada é um evento conhecido como convolução, processo ilustrado na Figura 12. Os valores obtidos após o evento de convolução passam ainda por uma função de ativação que, geralmente, consiste na função ReLU da equação 2.4 citada anteriormente. Figura 12: Convolução de um filtro 3 x 3 e o volume de entrada. (ARAÚJO et al., 2017)

44 42 A altura, a largura e o tamanho do volume de entrada de uma camada convolucional varia conforme os dados percorrem a CNN. Esta variação depende de três parâmetros: profundidade (do inglês depth), passo (do inglês stride) e zero-padding ou preenchimento da camada que passará pela convolução Profundidade (do inglês Depth) A profundidade no volume de entrada depende do número de filtros utilizados, ou seja, no caso de uma imagem RGB a profundidade seria três, correspondendo aos canais vermelho, verde e azul. Cada um dos filtros é responsável pela extração de características distintas no volume de entrada, logo, quanto mais filtros presentes, mais características extraídas, todavia com um custo computacional aumentado no que diz respeito ao tempo de processamento e o uso da memória Passo (do inglês Stride) Conforme colocado anteriormente, cada um dos filtros presente nas camadas convolucionais dão origem a uma estrutura que varre toda a extensão do volume de entrada de maneira sequencial. Esta varredura ocorre em passos, percorrendo cada pixel em uma imagem ou de posição para posição em matrizes. Quando se toma o passo como sendo igual a um, a altura e a largura da camada imediatamente depois será igual à entrada. Já se for considerado um passo igual a dois, a saída, ou seja, a camada imediatamente depois, terá metade do tamanho da entrada. É evidente que quanto maior o passo definido, menor o volume resultante, entretanto o uso de passos muito grandes pode comprometer algumas caracterísiticas importantes Padding O processo de padding pode ser caracterizado pela inserção simétrica de novos pixels ao redor da imagem colocada na entrada. Para filtros, em geral, realiza-se a inserção de pixels com valor 0 (0-padding). Realiza-se este processo para que se tenha controle sobre o tamanho da imagem de saída e que as bordas da imagem original sejam consideradas efetivamente no processo de convolução Camada de Pooling Em geral, após uma CL, utiliza-se uma camada de pooling. O objetivo principal dessa camada é realizar a redução progressiva da dimensão espacial do volume de entrada, o que resulta na diminuição do custo computacional da rede e evita overfitting (LI; KARPATHY, 2015), ou seja, evita que a rede neural não consiga generalizar muito bem por considerar detalhes específicos demais das amostras utilizadas para treino. A operação desta camada consiste na realização de uma subamostragem de cada um dos mapas de ativação (ou volumes da entrada). A saída desta camada é o mesmo número de volumes

45 43 Figura 13: Exemplo de zero-padding. (PADARRAY, 2018) recebidos na entrada, contudo subamostrados de um mesmo fator. A maneira mais comum de se realizar o pooling consiste em substituir os valores de uma determinada região pelo valor máximo contido nela (GOODFELLOW; BENGIO; COURVILLE, 2016), como pode ser observado no exemplo abaixo.suponha um mapa de ativação AM de tamanho 4 x 4 dado por: AM = Aplicando-se a operação de max pooling fazendo uso de um filtro de tamanho 2 x 2 e passo igual a 2, obtém-se a saída AM : AM = Nota-se pelo exemplo acima que AM foi reduzida na metade, ou seja, por um fator de 2, tornando a entrada mais simples e menor para as próximas camadas da rede neural. Percebe-se que esta operação faz com que a CNN se torne invariante a pequenas tranformações ou distorções na imagem. Todavia, existe uma perda de informação que até certo ponto pode ser benéfica para evitar o overfitting.

46 Camada Fully-Connected A saída das CL e das camadas de pooling representam caracterísiticas que foram extraídas da imagem de entrada. O objetivo das camadas totalmente conectadas (do inglês Fully-Connected Layers) é fazer uso dessas características para realizar a classificação da imagem em uma classe pré-estabelecida. As camadas totalmente conectadas são iguais a uma rede neural artificial convencional (Multi Layer Perceptron ou MLP)(HAYKIN, 2001). Esta camada, em geral, é utilizada na saída da CNN, onde as dimensões dos dados são menores que a entrada da RNA. Pode-se dizer que esta camada é utilizada como uma forma de aprender funções não lineares com base em combinações das características extraídas de camadas anteriores Dropout A técnica de dropout (GOODFELLOW; BENGIO; COURVILLE, 2016) é comumente utilizada entre as camadas totalmente conectadas buscando a redução do tempo de treinamento e como uma ferramente para se evitar overfitting. Tal técnica consiste na remoção, de maneira aleatória e a cada iteração do treinamento, uma certa quantidade dos neurônios de uma camada, adicionando-os novamente na iteração seguinte. Por meio desta técnica também se confere à rede a capacidade de aprender atributos mais robustos, pois um neurônio não pode ter uma relação de dependência com a presença de outros neurônios específicos. 2.9 Redes Neurais Convolucionais Multicanais As CNN clássicas são conhecidas por sua aplicação em apenas um canal. Ou seja, supondo uma imagem sendo inserida na entrada na rede, esta imagem será repassada de forma linear entre as camadas até que a última camada produza a saída. Uma CNN de N canais se caracteriza por receber múltiplas entradas que são processadas paralelamente até certo ponto dentro da rede, após, os fluxos de processamento se encontram para que então se realize o processamento serial. Em geral, o ponto de concatenação dos processamentos paralelos está localizado antes da primeira camada fully-connected, em outras palavras, concentra-se entre as camadas de convolução Exemplos de arquiteturas de CNNs Utilizou-se em seções anteriores a LeNet-5 para se explicar conceitos em relação às redes neurais, principalmente no que se diz respeito às camadas principais que compõe as CNNs. As arquiteturas que surgiram no decorrer da última década são, em geral, formadas basicamente pelas mesmas camadas presentes na LeNet. Algumas dessas variações serão

47 45 abordadas em sequência, incluindo a arquitetura inspiradora para a que é usada neste trabalho AlexNet Com origem no ano de 2012, a AlexNet foi criada por Krizhevsky e outros pesquisadores (KRIZHEVSKY; SUTSKEVER; HINTON, 2012) que é constituída basicamente por: cinco camadas convolucionais, camadas de max-pooling e três camadas totalmente conectadas com dropout. Esta arquitetura foi desenvolvida para poder classificar imagens em possíveis categorias; em 2012, foi vencedora do desafio de classificação ILSVRC 2012 (ImageNet Large Scale Visual Recognition Challenge) (DENG et al., 2009).Neste evento regitrou-se a primeira vez em que uma CNN atingiu o primeiro lugar e com uma diferença bem significativa em relação ao segundo colocado. Logo, esta rede proposta representou um avanço em relação às outras abordagens, inclusive porque inspirou uma série de outras redes convolucionais para o reconhecimento de padrões ZF Net Uma série de artigos foram submetidos à ILSVRC 2013 inspirados pelo sucesso da AlexNet no evento de Na ocasião o vencedor foi a rede construída por Zeiler e Fergus (ZEILER; FERGUS, 2014). A arquitetura desta rede baseou-se na AlexNet com leves alterações e diminuição dos filtros e do passo na primeira camada. Entretanto, a maior colaboração de Zeiler e Fergus se deu com o detalhamento e criação da técnica DeConvNet (Deconvolutional Network). Este algoritmo consistia numa forma de se visualizar os mapas de características das redes. O cerne desta técnica desenvolvida é relacionar a cada uma das camadas convolucionais presentes na rede a DeConvNet, reponsável por transformar os mapas de características em uma imagem constituída por pixels. A técnica DeConvNet funciona com a realização de operações de pooling reversas até que se obtenha o tamanho original da imagem recebida na entrada. Utilizando essa operação é possível verificar como cada uma das camadas convolucionais visualiza a imagem de entrada e quais são as porções da imagem que estão ativando os filtros. Na Figura 14 pode-se visualizar as regiões de ativação e suas respectivas imagens de entrada Rede Visual Geometry Group VGG A CNN VGG (do inglês Visual Geometry Group) foi proposta por Simonyan e Zisserman (SIMONYAN; ZISSERMAN, 2014) em 2014 e foi a primeira a fazer uso de filtros pequenos (3x3) em cada uma das camadas convolucionais. A inovação desta arquitetura está justamente no tamanho dos filtros, uma vez que nas arquiteturas anteriores

48 46 Figura 14: Exemplo de imagens de entradas e regiões de ativação. Modificada de (DESHPANDE, 2016) trabalhava-se com filtros maiores. A colaboração da VGG está na ideia de que uma série de convoluções 3x3 em sequência podem substituir de forma satisfatória os efeitos de filtros de máscaras maiores o que resultava em um custo computacional menor. Testou-se para tanto seis diferentes arquiteturas, elencadas na Figura 14, e o melhor desempenho foi da arquitetura rotulada por D, constituída de treze camadas convolucionais, cinco de max-pooling e três Fully-Connected. Na Figura 15 é possível visualizar as 6 diferentes arquiteturas VGG, resssaltando que a arquitetura representada por D foi a que apresentou melhor desempenho GoogLeNet e Inception Em função dos resultados apresentados CNNs que começaram a surgir e do aumento da acurácia dos algoritmos, uma série de empresas, incluindo o Google, tinham um intesse muito grande em diminuir a complexidade e aumentar a eficiência de arquiteturas já existentes. Dessa forma, em 2014, uma das equipes de engenheiros do Google propuseram o modelo chamado de GoogLeNet (SZEGEDY et al., 2015), Figura 16, campeã do ILSVRC 2014.

49 47 Figura 15: As 6 diferentes arquiteturas VGG. Modificada de (DESHPANDE, 2016) Figura 16: Arquitetura da GoogLeNet. Modificada de (DESHPANDE, 2016) Pela figura 16, identifica-se que alguns blocos da rede eram executados em paralelo. Esses blocos foram chamados de Inceptions (Figura 17) e nada mais são do que combinações paralelas de camadas com filtros convolucionais de tamanhos: 1x1, 3x3 e 5x5. Este módulo tinha como maior vantagem o uso dos filtros 1x1 na convolução, pois reduziam o número

50 48 de características no bloco paralelo antes de realizar as convoluções com filtros maiores. Figura 17: Arquitetura dos blocos Inceptions. Modificada de (DESHPANDE, 2016) Nasceu naquele momento a primera arquitetura de CNNs que introduzia a ideia de que as camadas não precisavam ser executadas sempre sequencialmente. A sequência de Inceptions representaram uma diminuição considerável do custo computacional. No ano seguinte à criação da Inception, criou-se a Inception-v4 (SZEGEDY et al., 2017) que obteve ainda mais acurácia que o modelo anterior Microsoft e Resnet A rede Resnet (HE et al., 2016a) nasce no ILSVRC 2015, proposta por pesquisadores da Microsoft e, na ocasião, foi vencedora do evento. Surpreendentemente o desempenho desta rede foi superior ao de seres humanos. A Resnet consistia em 152 camadas e era formada por blocos residuais (do inglês Residual Blocks), cuja ideia fundamental era fazer com que uma entrada x passasse por uma série de operações chamadas de convolução-relu-convolução. O resultado desta operação, F (x), era adicionado à entrada original x, como ilustrado na Figura 18 e na Equação 2.10 ilustradas abaixo. H(x) = F (x) + x (2.10) Nas CNNs tadicionais o resultado do processamento H(x) é igual ao F (x), resultado diferente ao mostrado pela Equação Foram feitos testes desta arquitetura com redes de até camadas, entretanto, para valores acima de 152, começaram a sofrer overfitting

51 49 Figura 18: Arquitetura do bloco residual. Modificada de (DESHPANDE, 2016) e com isso perdiam a capacidade de generalização necessária para uma rede neural ter bom desempenho, ou seja, boa acurácia no reconhecimento de padrões Resnet-34 Inspirada na Resnet (item ) a Resnet-34 foi proposta em 2016 no paper Deep Residual Learning for Image Recognition (HE et al., 2016b) e era composta por 34 camadas. No artigo se diz que quando uma DCNN começa a convergir, surge um grande problema de degradação. Para a correção deste problema insere-se o bloco residual; solução já exibida pela Figura 18.

52

53 51 3 MATERIAIS E MÉTODOS Nesta seção são apresentados os trabalhos desenvolvidos durante este projeto; sendo que em cada uma das subseções serão tratados os assuntos relativos a cada etapa do método proposto. 3.1 Método proposto Figura 19: Fluxograma do método proposto. Fonte: autoria própria.

54 52 O método proposto para o reconhecimento facial recebe como entrada imagens do banco de dados da loja, oriundas de três câmeras diferentes: uma posicionada na entrada, uma na saída dos caixas e outra posicionada na saída dos não compradores, cujas imagens são armazenadas cada uma no seu banco. Em seguida, as imagens da entrada e das duas saídas têm as faces detectadas, são pré-processadas e após são varridas por um modelo de DCNN para gerar o mapa de informações que serão utilizados para comparação posteriormente. Na Figura 19, exibe-se o fluxo de trabalho do programa e a seguir explica-se a função de cada um dos blocos de uma forma mais profunda, bem como os materiais utilizados para que cada uma das etapas fosse cumprida. 3.2 Imagens capturadas na entrada, saída dos compradores e saída dos não compradores Nestas etapa realizou-se a captura da entrada, saída dos compradores e saída de não compradores. São três câmeras posicionadas estrategicamente dentro das lojas de modo a se fazer apenas a captura das pessoas entrando ou saindo da loja, gerando 3 frames por segundo cada uma delas. Se a câmera estiver posicionada de modo que esteja capturando clientes durante as compras, desconsidera-se as faces daquela região. As câmeras são sempre de alguns dos dois modelos apresentados na Figura 20 abaixo: Figura 20: Câmera IP Bullet NDVLM4MCM-2.8A12 e Câmera IP Dome NDVLM4MCM- 2.8A12. Fonte: Manual do representante. As principais características e diferenças entre as câmeras são:

55 53 NDVLM4MCM-2.8A12 (à esquerda): câmera IP, geralmente utilizada na entrada da loja e resolução de 2 megapixel (1920 x 1080); NDVLM4MCM-2.8A12 (à direita): câmera IP, geralmente utilizada na saída dos compradores e saída dos não compradores, resolução de 4 megapixel (2592 x 1520) e construída na forma de domo. 3.3 Banco de imagens de entrada, saída dos compradores e saída dos não compradores Após a captura das imagens, elas são enviadas para um servidor local, cujas configurações variavam de loja para loja, por meio de rede interna, já que as câmeras são câmeras acessáveis por IP. No servidor as imagens são separadas em 3 diferentes pastas que são acessadas pelo software responsável pelo processamento das imagens e informações. 3.4 Detecção de faces Rotina executada nas imagens adquiridas na entrada e nas duas saídas, funciona por meio da utilização de uma função presente na Dlib, biblioteca do Python, que funciona fazendo o uso do algoritmo HOG Dlib Uma das principais bibliotecas para o funcionamento deste projeto, a Dlib é originalmente implementada para a linguagem C++, compatível com Python, que contém uma série de algoritmos de ML e ferramentas que permitem trabalhar com uma série de problemas de detecção e reconhecimento de padrões. Uma das funções da Dlib que foi utilizada neste projeto tem como objetivo encontrar quais e quantas são as faces presentes em uma determinada imagem, ela baseia seu funcionamento no método HOG. Esta função recebe como entrada as imagens, redimensionadas pela metade, que serão processadas e retorna como saída um índice atribuído a cada detecção e as coordenadas de cada uma das faces encontradas. 3.5 Pré-processamento Após receber as coordenadas das faces detectadas, por questões de conveniência e velocidade de processamento, as imagens recebidas com um plano de fundo cheio de informações não importantes, do ponto de vista da aplicação do software, têm as faces separadas do restante da imagem. Na solução desenvolvida é importante que as faces sejam separadas do restante das informações presentes nas imagens para uma melhor descrição. A Figura 21 demonstra

56 54 a imagem que passa pelo pré-processamento e a Figura 22 mostra as duas faces préprocessadas. Figura 21: Imagem de entrada no pré-processamento. Fonte: autoria própria. Figura 22: Resultados do pré-processamento. Fonte: autoria própria. Todas as etapas de pré-processamento são feitas fazendo uso de outra ferramenta extremamente importante para o funcionamento de projeto: a biblioteca Opencv Opencv A Opencv é uma biblioteca muito utilizada em visão computacional e oferece suporte para uma série de linguagens de programação: C, C++, Python e Java. Oferece uma série de funções para a manipulação de imagens e pode ser aplicada em soluções estudantis e comerciais.

Redes Neurais Convolucionais

Redes Neurais Convolucionais André Gustavo Hochuli Orientador: Prof. Dr. Luiz Eduardo Soares de Oliveira Programa de Pós-Graduação em Informática Departamento de Informática UFPR http://www.inf.ufpr.br/aghochuli/caffe/ Redes Neurais

Leia mais

Redes Neurais Convolucionais

Redes Neurais Convolucionais André Gustavo Hochuli Orientadores: Dr. Luiz E. S. Oliveira/Dr. Alceu Britto Programa de Pós-Graduação em Informática Departamento de Informática UFPR Neurônio Artificial Redes Neurais - Vetor de Caracteristícas

Leia mais

Redes Convolucionais Aplicadas em Visão Computacional

Redes Convolucionais Aplicadas em Visão Computacional Redes Convolucionais Aplicadas em Visão Computacional Marcos José Canêjo Estevão de Azevêdo mjcea@cin.ufpe.br Sumário História Evolução Tipos Aplicações Considerações Finais 2 História Surgiram em 1980

Leia mais

VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION - VGG

VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION - VGG Exemplo de Implementação - 16 VERY DEEP CONVOLUTIONAL NETWORKS FOR LARGE-SCALE IMAGE RECOGNITION - VGG Edjalma Queiroz da Silva Programa de pós-graduação em Ciências da Computação Mestrado e Doutorado

Leia mais

JAI 6 - Deep Learning Teoria e Prática

JAI 6 - Deep Learning Teoria e Prática JAI 6 - Deep Learning Teoria e Prática Cristina Nader Vasconcelos Universidade Federal Fluminense CNNs Câmeras estão por toda parte! crisnv@ic.uff.br Aquisição de imagens digitais crisnv@ic.uff.br 3 Representação

Leia mais

Descritores de Imagens

Descritores de Imagens Descritores de Imagens André Tavares da Silva PPGCA/UDESC Outubro de 2017 André Tavares da Silva (PPGCA/UDESC) Descritores de Imagens Outubro de 2017 1 / 18 Descritores Locais e Frameworks SIFT SURF Viola-Jones

Leia mais

2. Redes Neurais Artificiais

2. Redes Neurais Artificiais Computação Bioinspirada - 5955010-1 2. Redes Neurais Artificiais Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 2.6. Deep Learning 2.6.1. O Problema da Extração de Características

Leia mais

Redes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Redes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto Redes Neurais Artificial Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Histórico 3. Conceitos Básicos 4. Aprendizado em RNA 5. Exemplo de Aprendizado com

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Aprendizado de Máquina Principais tópicos Aprendizado profundo André C P L F de Carvalho Posdoutorando: Isvani Frias-Blanco ICMC-USP Introdução Redes profundas Aprendizado profundo Redes autodecodificadoras

Leia mais

Aula 1 Introdução - RNA

Aula 1 Introdução - RNA Aula 1 Introdução - RNA Sumário 1- Conceitos Iniciais; 2- Neurônio Biológico; 3- Neurônio Artificial; 4- Funções de Ativação; 5- Comparação Neurônio Biológico e Artificial. 1- Conceitos Iniciais - Computadores

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Redes Neurais Artificiais Fabrício Olivetti de França Universidade Federal do ABC Tópicos 1. Redes Neurais Biológicas 2. Neurônio Artificial 3. Rede Neural Artificial 4. Keras 1 Redes Neurais Biológicas

Leia mais

3 Redes Neurais Artificiais

3 Redes Neurais Artificiais 3 Redes Neurais Artificiais 3.1. Introdução A capacidade de implementar computacionalmente versões simplificadas de neurônios biológicos deu origem a uma subespecialidade da inteligência artificial, conhecida

Leia mais

GoogLeNet - Going Deeper with Convolutions

GoogLeNet - Going Deeper with Convolutions - Going Deeper with Convolutions Heyde Francielle do Carmo França Prof. Dr. Anderson Soares Instituto de Informática Universidade Federal de Goiás 02 de Dezembro de 2016 1 / 35 Sumário I 1 2 3 2 / 35 3

Leia mais

RECONHECIMENTO DE CARACTERES EM IMAGENS COM RUÍDO

RECONHECIMENTO DE CARACTERES EM IMAGENS COM RUÍDO RECONHECIMENTO DE CARACTERES EM IMAGENS COM RUÍDO Fernanda Maria Sirlene Pio SUMARIO Introdução Trabalhos Relacionados Metodologia Experimentos Conclusão Referências 2 INTRODUÇÃO Reconhecimento de Padrões

Leia mais

Redes Neurais Artificiais - Introdução. Visão Computacional

Redes Neurais Artificiais - Introdução. Visão Computacional Redes Neurais Artificiais - Introdução Visão Computacional Inspiração 2 Inspiração 3 Inspiração Atividade seletivanas conexões Soma os impulsos e passa a diante 4 Inspiração As conexões entre os dendritos

Leia mais

SEMINÁRIO DOS ARTIGOS:

SEMINÁRIO DOS ARTIGOS: SEMINÁRIO DOS ARTIGOS: Text Detection and Character Recognition in Scene Images with Unsupervised Feature Learning End-to-End Text Recognition with Convolutional Neural Networks Fernanda Maria Sirlene

Leia mais

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

Redes Neurais Artificial. Prática. Inteligência Artificial Redes Neurais Artificial Prática Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Introdução a MLP 2. Base de dados e Pré-Processamento 3. Prática MLP - Introdução Redes

Leia mais

JAI 6 - Deep Learning Teoria e Prática

JAI 6 - Deep Learning Teoria e Prática JAI 6 - Deep Learning Teoria e Prática Esteban Clua e Cristina Nader Vasconcelos Universidade Federal Fluminense Fundamentos Computação baseada em modelos crisnv@ic.uff.br 2 Computação baseada em aprendizado

Leia mais

TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais

TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais TÓPICOS EM INTELIGÊNCIA ARTIFICIAL Redes Neurais Artificiais ricardo.kerschbaumer@ifc.edu.br http://professor.luzerna.ifc.edu.br/ricardo-kerschbaumer/ Introdução O Cérebro humano Mais fascinante processador

Leia mais

Reconhecimento de Modelos de Veículos

Reconhecimento de Modelos de Veículos Reconhecimento de Modelos de Veículos Fernando Benedito Veras Magalhães January 15, 2018 1 Introdução Em 2017, 2,1 milhões de automóveis, incluindo picapes e furgões, foram vendidos no Brasil. A variedade

Leia mais

RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ

RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ RECONHECIMENTO DE GÊNERO ATRAVÉS DA VOZ Marcela Ribeiro Carvalho marcela@enecar.com.br IFG/Câmpus Goiânia Hipólito Barbosa Machado Filho hipolito.barbosa@ifg.edu.br IFG/Câmpus Goiânia Programa Institucional

Leia mais

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

Roberto Lotufo Big Data Brasil São Paulo, 23 de junho de 2018 Roberto Lotufo roberto@neuralmind.ai Big Data Brasil São Paulo, 23 de junho de 2018 Classificação dedo falso/dedo vivo Desempenho atual: 200ms Intel I5 99% acurácia LivDet 2015 - Fingerprint Liveness Competition

Leia mais

Descritores de Imagem

Descritores de Imagem Descritores de Imagem André Tavares da Silva 31 de março de 2014 1 Descritores de imagem (continuação) 1.1 Frameworks de detecção de objetos SIFT (scale-invariant features transform) (Lowe, 1999) SIFT

Leia mais

Inteligência Artificial Redes Neurais

Inteligência Artificial Redes Neurais Inteligência Artificial Jarley P. Nóbrega, Dr. Faculdade Nova Roma Bacharelado em Ciência da Computação jpn@jarley.com Semestre 2018.2 Jarley P. Nóbrega, Dr. (Nova Roma) Inteligência Artificial Semestre

Leia mais

Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos

Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos Minicurso: Inteligência Artificial Aplicada a Sistemas Elétricos Introdução a Machine Learning: Teoria, Aplicações e IA na Arquitetura Intel Vitor Hugo Ferreira, DSc - UFF Flávio Mello, DSc UFRJ e Ai2Biz

Leia mais

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

Transformação de Imagens Digitais em Código CNC Aprimoradas com Redes Neurais Artificiais Transformação de Imagens Digitais em Código CNC Aprimoradas com Redes Neurais Artificiais Abstract. Jader Teixeira 1, Alex Vinícios Telocken 1 1 Universidade de Cruz Alta (UNICRUZ) jader033139@unicruz.edu.br,

Leia mais

Detecção e Correção Automáticas de Olhos Vermelhos

Detecção e Correção Automáticas de Olhos Vermelhos Setor de Tecnologia da Universidade Federal do Paraná Curso de Engenharia Elétrica TE 072 Processamento Digital de Sinais Detecção e Correção Automáticas de Olhos Vermelhos Trabalho elaborado pelo aluno

Leia mais

Inteligência Artificial

Inteligência Artificial Universidade Federal de Campina Grande Departamento de Sistemas e Computação Pós-Graduação em Ciência da Computação Inteligência Artificial Aprendizagem (Redes Neurais - Complementar) Prof. a Joseana Macêdo

Leia mais

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

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 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 Prof. Anderson Soares Agenda O problema Estado da arte R-CNN

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Redes Neurais Artificiais Marcelo K. Albertini 24 de Julho de 2014 2/34 Conteúdo Perceptron Gradiente descendente Redes multicamadas Retropropagação de erros 3/34 Modelos conexionistas Humanos Tempo de

Leia mais

REDES NEURAIS ARTIFICIAIS

REDES NEURAIS ARTIFICIAIS REDES NEURAIS ARTIFICIAIS REDES NEURAIS ARTIFICIAIS O QUE É UMA REDE NEURAL NEURÔNIOS BIOLÓGICOS CÉREBRO HUMANO E CAPACIDADE DE GENERALIZAÇÃO. Modelo McCulloch e Pitts FUNÇÕES DE ATIVAÇÃO APRENDIZADO APRENDIZADO

Leia mais

serotonina (humor) dopamina (Parkinson) serotonina (humor) dopamina (Parkinson) Prozac inibe a recaptação da serotonina

serotonina (humor) dopamina (Parkinson) serotonina (humor) dopamina (Parkinson) Prozac inibe a recaptação da serotonina Redes Neurais O modelo biológico O cérebro humano possui cerca 100 bilhões de neurônios O neurônio é composto por um corpo celular chamado soma, ramificações chamadas dendritos (que recebem as entradas)

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Redes Neurais Artificiais Neurônio Natural Dendritos: recebe os estímulos transmitidos por outros neurônios Soma Sinapse Axônio Soma: coleta e combina informações vindas de outros neurônios Sinapse Dendrito

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 22 Redes Neurais Edirlei Soares de Lima Formas de Aprendizado Aprendizado Supervisionado Árvores de decisão. K-Nearest Neighbor (KNN). Support

Leia mais

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica REDES NEURAIS ARTIFICIAIS PERCEPTRON MULTICAMADAS Prof. Dr. André A. P. Biscaro 1º Semestre de 2018 Arquitetura Redes Perceptron de Múltiplas Camadas (PMC), também conhecidas como redes MLP (Multiple Layer

Leia mais

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO AULA 8 Redes Neurais Introdução As redes neurais são um tema da computação altamente inspirada na natureza que nos

Leia mais

Face Recognition using RGB-D Images

Face Recognition using RGB-D Images Face Recognition using RGB-D Images Helder C. R. de Oliveira N.USP: 7122065 Polyana Nunes N.USP: 9043220 Sobre o Artigo Publication: 2013 IEEE Sixth International Conference Author(s) Goswami, G. (Índia

Leia mais

Aprendizado de Máquina Introdução às Redes Neurais Artificiais

Aprendizado de Máquina Introdução às Redes Neurais Artificiais Aprendizado de Máquina Introdução às Redes Neurais Artificiais Marcos Oliveira Prates (Agradecimento Marcelo Azevedo Costa) Departamento de Estatística Universidade Federal de Minas Gerais Inteligência

Leia mais

Tópicos Especiais: Inteligência Artificial REDES NEURAIS

Tópicos Especiais: Inteligência Artificial REDES NEURAIS Tópicos Especiais: Inteligência Artificial REDES NEURAIS Material baseado e adaptado do Cap. 20 do Livro Inteligência Artificial de Russell & Norvig Bibliografia Inteligência Artificial Russell & Norvig

Leia mais

Mineração de Dados aplicada a Gestão de Negócios. Aula 2. Prof. Dr. Sylvio Barbon Junior

Mineração de Dados aplicada a Gestão de Negócios. Aula 2. Prof. Dr. Sylvio Barbon Junior Aula 2 Introdução Redes Neurais Prof. Dr. Sylvio Barbon Junior barbon@uel.br Sumário 1- Inteligência Artificial 2- Introdução às Redes Neurais Artificiais 3- Modelos de Redes Neurais supervisionados e

Leia mais

O uso de uma Rede Neural Artificial Supervisionada para obtenção do fator de carga de um alimentador.

O uso de uma Rede Neural Artificial Supervisionada para obtenção do fator de carga de um alimentador. O uso de uma Rede Neural Artificial Supervisionada para obtenção do fator de carga de um alimentador. Resumo: Lucas da Silva Assis Universidade Federal de Goiás lucasilvassis@gmail.com Esse trabalho apresenta

Leia mais

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

Diego Martin Mancini Orientador: Prof. Paulo A. V. de Miranda Instituto de Matemática e Estatística Universidade de São Paulo Estudo de comparação do descritor de imagens coloridas BIC empregando diferentes abordagens de classificação de detecção de bordas: Canny e Operador Laplaciano Diego Martin Mancini Orientador: Prof. Paulo

Leia mais

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

Previsão de Vazões utilizando Redes Neurais Artificiais MLP e NSRBN Previsão de Vazões utilizando Redes Neurais Artificiais MLP e NSRBN Alan Caio Rodrigues MARQUES 1, Gelson da Cruz JUNIOR 2, Cassio Dener Noronha VINHAL 3 Escola de Engenharia Elétrica e de Computação 1

Leia mais

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica REDES NEURAIS ARTIFICIAIS PERCEPTRONS Prof. Dr. André A. P. Biscaro 1º Semestre de 2017 Forma mais simples de configuração das RNAs Rosenblatt (1958) retina área de projeção área de associação respostas

Leia mais

COMPARAÇÃO ENTRE DIFERENTES ESTRUTURAS DE REDES NEURAIS NO PROBLEMA PRESA-PREDADOR 1

COMPARAÇÃO ENTRE DIFERENTES ESTRUTURAS DE REDES NEURAIS NO PROBLEMA PRESA-PREDADOR 1 COMPARAÇÃO ENTRE DIFERENTES ESTRUTURAS DE REDES NEURAIS NO PROBLEMA PRESA-PREDADOR 1 Márcia Da Silva 2, Eldair Fabricio Dornelles 3, Rogério S. M. Martins 4, Édson L. Padoin 5. 1 Pesquisa desenvolvida

Leia mais

3 INTELIGÊNCIA COMPUTACIONAL (IC)

3 INTELIGÊNCIA COMPUTACIONAL (IC) 40 3 INTELIGÊNCIA COMPUTACIONAL (IC) Inteligência Computacional é a área da ciência da computação que estuda a teoria e aplicação de técnicas computacionais inspiradas na natureza. Deste modo, tem por

Leia mais

Processamento Digital de Imagens

Processamento Digital de Imagens Ciência da Computação Processamento Digital de Imagens Tópicos Detecção de Pontos Isolados Detecção de Linhas Prof. Sergio Ribeiro 2 Operações lógicas e aritméticas orientadas a vizinhança utilizam o conceito

Leia mais

Uma Abordagem Genética Para Redes Neurais Convolucionais

Uma Abordagem Genética Para Redes Neurais Convolucionais Uma Abordagem Genética Para Redes Neurais Convolucionais Roberto M. Pinheiro Pereira 1, Lucas Bezerra Maia 1, Polyana Bezerra Da Costa 1, Jordan Boaz Rodrigues 1, Geraldo Braz Junior 1 João D. S. De Almeida,

Leia mais

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

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

Leia mais

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

MouseCam: aplicação de controle do mouse via câmera MouseCam: aplicação de controle do mouse via câmera Introdução ao Processamento de Imagens COS756 PESC/COPPE/UFRJ 2013 1 Renan Garrot garrot@cos.ufrj.br 1. Introdução O processo de tracking por vídeo consiste

Leia mais

Redes Neurais e Sistemas Fuzzy

Redes Neurais e Sistemas Fuzzy Redes Neurais e Sistemas Fuzzy O ADALINE e o algoritmo LMS O ADALINE No contexto de classificação, o ADALINE [B. Widrow 1960] pode ser visto como um perceptron com algoritmo de treinamento baseado em minimização

Leia mais

Introdução às Redes Neurais Artificiais

Introdução às Redes Neurais Artificiais Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Introdução às Redes Neurais Artificiais DCA0121 Inteligência Artificial Aplicada Heitor Medeiros 1 Tópicos

Leia mais

Usando MLP para filtrar imagens

Usando MLP para filtrar imagens Usando MLP para filtrar imagens Thiago Richter, Ediel Wiezel da Silva, e Adilson Gonzaga Departamento de Engenharia Elétrica, Universidade de São Paulo, Brasil thiago.richter@yahoo.com.br, edielws@gmail.com,

Leia mais

INTELIGÊNCIA ARTIFICIAL

INTELIGÊNCIA ARTIFICIAL INTELIGÊNCIA ARTIFICIAL REDES NEURAIS Caracterização Intuitiva: Em termos intuitivos, Redes Neurais Artificiais (RNAs) são modelos matemáticos inspirados nos princípios de funcionamento dos neurônios biológicos

Leia mais

Primeiras Redes Neurais Artificiais: Perceptron e Adaline

Primeiras Redes Neurais Artificiais: Perceptron e Adaline Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Primeiras Redes Neurais Artificiais: Perceptron e Adaline DCA0121 Inteligência Artificial Aplicada Heitor

Leia mais

Redes Neurais Convolucionais com Tensorflow: Teoria e Prática

Redes Neurais Convolucionais com Tensorflow: Teoria e Prática III Escola Regional de Informática do Piauí. Livro Anais - Artigos e Minicursos, v. 1, n. 1, p. 382-406, jun, 2017. www.eripi.com.br/2017 - ISBN: 978-85-7669-395-6 Capítulo 7 Redes Neurais Convolucionais

Leia mais

Redes Neurais: MLP. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação

Redes Neurais: MLP. Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Redes Neurais: MLP DCA0121 Inteligência Artificial Aplicada Heitor Medeiros 1 Tópicos Redes diretas de múltiplas

Leia mais

IA - TensorFlow. Paulo Cotta

IA - TensorFlow. Paulo Cotta IA - TensorFlow Paulo Cotta Jabá Sou voluntário do GDG Trabalho na Stefanini como Engineer ML e DL Tenho à Startup Koffee More Gosto de repassar conhecimento Faço parte do Candangos do Cerrado IA Professor

Leia mais

Rede Perceptron. Capítulo 3

Rede Perceptron. Capítulo 3 Rede Perceptron Capítulo 3 Rede Perceptron É a forma mais simples de configuração de uma RNA (idealizada por Rosenblatt, 1958) Constituída de apenas uma camada, tendo-se ainda somente um neurônio nesta

Leia mais

Occupancy grid based graph-slam using the distance transform, SURF features and SGD

Occupancy grid based graph-slam using the distance transform, SURF features and SGD Occupancy grid based graph-slam using the distance transform, SURF features and SGD Autores: Arturo Gil, Miguel Juliá, Óscar Reinoso Artur Segal Kaim Agenda Introdução Arquitetura Resultados Trabalho futuro

Leia mais

TE073 PDS II Programa de Pós-Graduação em Engenharia Elétrica

TE073 PDS II Programa de Pós-Graduação em Engenharia Elétrica TE073 PDS II Programa de Pós-Graduação em Engenharia Elétrica Prof. Alessandro Zimmer zimmer@eletrica.ufpr.br www.eletrica.ufpr.br/~zimmer/te073 Processamento Digital de Imagens PDI: Objetivos Melhoria

Leia mais

Classificação Linear. André Tavares da Silva.

Classificação Linear. André Tavares da Silva. Classificação Linear André Tavares da Silva andre.silva@udesc.br Roteiro Introduzir os o conceito de classificação linear. LDA (Linear Discriminant Analysis) Funções Discriminantes Lineares Perceptron

Leia mais

Introdução às Redes Neurais Artificiais

Introdução às Redes Neurais Artificiais Introdução às Redes Neurais Artificiais Perceptrons de Múltiplas Camadas I Prof. João Marcos Meirelles da Silva www.professores.uff.br/jmarcos Departamento de Engenharia de Telecomunicações Escola de Engenharia

Leia mais

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica PERCEPTRON MULTICAMADAS: TÉCNICAS DE VALIDAÇÃO Prof. Dr. André A. P. Biscaro 2º Semestre de 2016 UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT Aspectos de seleção topológica de redes PMC A especificação

Leia mais

Unidade 08 MATLAB Neural Network Toolkit

Unidade 08 MATLAB Neural Network Toolkit Unidade 08 MATLAB Neural Network Toolkit 1. Introdução Uma rede neural artificial (NN daqui em diante) é um modelo matemático que consiste de neurônios interconectados que imitam, em uma escala menor,

Leia mais

A evolução natural deu ao cérebro humano muitas características desejáveis que não estão presentes na máquina de von Neumann:

A evolução natural deu ao cérebro humano muitas características desejáveis que não estão presentes na máquina de von Neumann: Faculdade de Engenharia de Computação Centro de Ciências Exatas, Ambientais e de Tecnologias PUC-Campinas João Luís Garcia Rosa 2004 2 A evolução natural deu ao cérebro humano muitas características desejáveis

Leia mais

Conceitos de Aprendizagem de Máquina e Experimentos. Visão Computacional

Conceitos de Aprendizagem de Máquina e Experimentos. Visão Computacional Conceitos de Aprendizagem de Máquina e Experimentos Visão Computacional O que você vê? 2 Pergunta: Essa imagem tem um prédio? Classificação 3 Pergunta: Essa imagem possui carro(s)? Detecção de Objetos

Leia mais

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

Classificação de Padrões. Abordagem prática com Redes Neurais Artificiais Classificação de Padrões Abordagem prática com Redes Neurais Artificiais Agenda Parte I - Introdução ao aprendizado de máquina Parte II - Teoria RNA Parte III - Prática RNA Parte IV - Lições aprendidas

Leia mais

Redes Neurais MLP: Exemplos e Características

Redes Neurais MLP: Exemplos e Características Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Redes Neurais MLP: Exemplos e Características DCA0121 Inteligência Artificial Aplicada Heitor Medeiros 1

Leia mais

INF011 - Seminários de Pesquisa II

INF011 - Seminários de Pesquisa II INF011 - Seminários de Pesquisa II Doutorando: Erick Toshio Yamamoto Orientador: Prof. Dr. Ricardo Suyama Professor da Disciplina: Prof. Dr. João Henrique Kleinschmidt Santo André, 02 de maio de 2018 Agenda

Leia mais

Paradigmas de Aprendizagem

Paradigmas de Aprendizagem Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Paradigmas de Aprendizagem Redes Neurais Artificiais Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com

Leia mais

Redes Neurais. Prof. Aurora Pozo. Obs: slides baseados em Prof. Marcílio Souto e Prof. Marley Vellasco

Redes Neurais. Prof. Aurora Pozo. Obs: slides baseados em Prof. Marcílio Souto e Prof. Marley Vellasco Redes Neurais Prof. Aurora Pozo Obs: slides baseados em Prof. Marcílio Souto e Prof. Marley Vellasco CONTEÚDO Introdução Motivação, Objetivo, Definição, Características Básicas e Histórico Conceitos Básicos

Leia mais

Rede RBF (Radial Basis Function)

Rede RBF (Radial Basis Function) Rede RBF (Radial Basis Function) André Tavares da Silva andre.silva@udesc.br Roteiro Introdução à rede neural artificial RBF Teorema de Cover da separabilidade de padrões RBF x MLP RBF Função de ativação

Leia mais

VERIFICAÇÃO DO DECAIMENTO DE INFORMAÇÃO EM REDES NEURAIS RECORRENTES APLICADAS AO PROBLEMA DO MUNDO DE WUMPUS 1

VERIFICAÇÃO DO DECAIMENTO DE INFORMAÇÃO EM REDES NEURAIS RECORRENTES APLICADAS AO PROBLEMA DO MUNDO DE WUMPUS 1 VERIFICAÇÃO DO DECAIMENTO DE INFORMAÇÃO EM REDES NEURAIS RECORRENTES APLICADAS AO PROBLEMA DO MUNDO DE WUMPUS 1 Henrique Augusto Richter 2, Eldair Fabrício Dornelles 3, Márcia Da Silva 4, Rogério Samuel

Leia mais

2 Reconhecimento Facial

2 Reconhecimento Facial 2 Reconhecimento Facial Em termos gerais, o reconhecimento facial é o processo pelo qual se mede o grau de similaridade entre duas imagens faciais com o proposito de identificar a um indivíduo ou de verificar

Leia mais

SEL-0339 Introdução à Visão Computacional. Aula 5 Segmentação de Imagens

SEL-0339 Introdução à Visão Computacional. Aula 5 Segmentação de Imagens Departamento de Engenharia Elétrica - EESC-USP SEL-0339 Introdução à Visão Computacional Aula 5 Segmentação de Imagens Prof. Dr. Marcelo Andrade da Costa Vieira Prof. Dr. Adilson Gonzaga Segmentação de

Leia mais

INFORMAÇÕES DO ACADÊMICO PLANO DE TRABALHO. 1. Justificativa

INFORMAÇÕES DO ACADÊMICO PLANO DE TRABALHO. 1. Justificativa INFORMAÇÕES DO ACADÊMICO Nome: Kleber Padovani de Souza Curso: Engenharia de Computação Semestre: R.A.: Título do plano de trabalho: Extração de atributos da imagem através de momentos de imagem. Nome

Leia mais

Aprendizado de Máquina

Aprendizado de Máquina Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Aprendizado de Máquina Inteligência Artificial Site: http://jeiks.net E-mail: jacsonrcsilva@gmail.com

Leia mais

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica

UNIVERSIDADE DO ESTADO DE MATO GROSSO - UNEMAT. Faculdade de Ciências Exatas e Tecnológicas FACET / Sinop Curso de Bacharelado em Engenharia Elétrica REDES NEURAIS ARTIFICIAIS AULA 03 Prof. Dr. André A. P. Biscaro 1º Semestre de 2017 INTRODUÇÃO Aprendizagem é um processo pelo qual os parâmetros livres de uma rede neural são adaptados através de um processo

Leia mais

Reconhecimento de Gestos

Reconhecimento de Gestos Reconhecimento de Gestos Henrique Augusto Richter Tópicos em Visão Computacional Universidade Federal do Paraná Sumário Introdução Utilização Problemas Trabalhos Artigo 1 Artigo 2 Project Soli Introdução

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Universidade Federal do Espírito Santo CCA UFES Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Redes Neurais Artificiais Redes Neurais Artificiais

Leia mais

Redes Neurais Artificiais Sistemas Inteligentes Especialização em Automação Industrial SISTEMAS INTELIGENTES PROFESSOR FLÁVIO MURILO

Redes Neurais Artificiais Sistemas Inteligentes Especialização em Automação Industrial SISTEMAS INTELIGENTES PROFESSOR FLÁVIO MURILO Redes Neurais Artificiais Sistemas Inteligentes Especialização em Automação Industrial 1 Redes Neurais - Definição O que é Rede Neural ou Rede Neuronal Artificial (RNA)? É um modelo computacional que objetiva

Leia mais

Fundamentos de Inteligência Artificial [5COP099]

Fundamentos de Inteligência Artificial [5COP099] Fundamentos de Inteligência Artificial [5COP099] Dr. Sylvio Barbon Junior Departamento de Computação - UEL Disciplina Anual Assunto Aula 16 Redes Neurais Artificiais (MLP) 2 de 24 (MLP) Sumário Introdução

Leia mais

DETECÇÃO DE CORES DE SOLUÇÕES QUÍMICAS PARA PESSOAS COM NENHUMA OU BAIXA VISÃO UTILIZANDO OPENCV

DETECÇÃO DE CORES DE SOLUÇÕES QUÍMICAS PARA PESSOAS COM NENHUMA OU BAIXA VISÃO UTILIZANDO OPENCV DETECÇÃO DE CORES DE SOLUÇÕES QUÍMICAS PARA PESSOAS COM NENHUMA OU BAIXA VISÃO UTILIZANDO OPENCV Autor (1) Jéssica Fernandes Alves; Orientador (4) Suzete Élida Nóbrega Correia (1) Instituto Federal de

Leia mais

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

Visão computacional. Juliana Patrícia Detroz Orientador: André Tavares Silva Visão computacional Juliana Patrícia Detroz Orientador: André Tavares Silva Visão computacional Tentativa de replicar a habilidade humana da visão através da percepção e entendimento de uma imagem; Fazer

Leia mais

2. Redes Neurais Artificiais

2. Redes Neurais Artificiais Computação Bioinspirada - 5955010-1 2. Redes Neurais Artificiais Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 2.1. Introdução às Redes Neurais Artificiais (RNAs) 2.1.1. Motivação

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Universidade Federal do Espírito Santo CCENS UFES Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCENS UFES Departamento de Computação Redes Neurais Artificiais Redes Neurais Artificiais

Leia mais

Capítulo III Processamento de Imagem

Capítulo III Processamento de Imagem Capítulo III Processamento de Imagem Proc. Sinal e Imagem Mestrado em Informática Médica Miguel Tavares Coimbra Resumo 1. Manipulação ponto a ponto 2. Filtros espaciais 3. Extracção de estruturas geométricas

Leia mais

Introdução ao Processamento de Imagens

Introdução ao Processamento de Imagens IFSul Eng. Elétrica Processamento de Imagens Digitais Introdução ao Processamento de Imagens Material de apoio organizado por: Glaucius Décio Duarte Atualizado em 18 jul. 2017 Conceitos Processamento digital

Leia mais

ESTUDO DE TÉCNICAS PARA SOLUÇÃO DE PROBLEMAS DE PROCESSAMENTO DE IMAGENS UTILIZANDO A LINGUAGEM PYTHON

ESTUDO DE TÉCNICAS PARA SOLUÇÃO DE PROBLEMAS DE PROCESSAMENTO DE IMAGENS UTILIZANDO A LINGUAGEM PYTHON ESTUDO DE TÉCNICAS PARA SOLUÇÃO DE PROBLEMAS DE PROCESSAMENTO DE IMAGENS UTILIZANDO A LINGUAGEM PYTHON Marcus Vinícius Teodoro Silva, Marcos William da Silva Oliveira Instituto Federal de Educação, Ciência

Leia mais

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

Determinação de vícios refrativos oculares utilizando Support Vector Machines Determinação de vícios refrativos oculares utilizando Support Vector Machines Giampaolo Luiz Libralão, André Ponce de Leon F. de Carvalho, Antonio Valerio Netto, Maria Cristina Ferreira de Oliveira Instituto

Leia mais

Reconhecimento facial. uma aplicação prática do reconhecimento de padrões

Reconhecimento facial. uma aplicação prática do reconhecimento de padrões Reconhecimento facial uma aplicação prática do reconhecimento de padrões Márcio Koch, junho 2014 Pauta Apresentação Visão computacional Reconhecimento de padrões Analise de Componentes Principais Reconhecimento

Leia mais

HP UFCG Analytics Abril-Maio Um curso sobre Reconhecimento de Padrões e Redes Neurais. Por Herman Martins Gomes.

HP UFCG Analytics Abril-Maio Um curso sobre Reconhecimento de Padrões e Redes Neurais. Por Herman Martins Gomes. HP UFCG Analytics Abril-Maio 2012 Um curso sobre Reconhecimento de Padrões e Redes Neurais Por Herman Martins Gomes hmg@dsc.ufcg.edu.br Programa Visão Geral (2H) Reconhecimento Estatístico de Padrões (3H)

Leia mais

Rastreamento de objeto e estimativa de movimento

Rastreamento de objeto e estimativa de movimento Hiroito Watanabe Rastreamento de objeto e estimativa de movimento Brasil 2015 Hiroito Watanabe Rastreamento de objeto e estimativa de movimento Relatório do trabalho 2 da disciplina de Processamento Digital

Leia mais

Análise de um aproximador funcional utilizando as Redes Neurais artificiais MLP treinada com o algoritmo Backpropagation

Análise de um aproximador funcional utilizando as Redes Neurais artificiais MLP treinada com o algoritmo Backpropagation Análise de um aproximador funcional utilizando as Redes Neurais artificiais MLP treinada com o algoritmo Backpropagation Martinez, S. C. 1, Ferrara, L. F. P. 2, Mario, M. C. 2. 1 Aluna do Curso de Mestrado

Leia mais

Inteligência Artificial. IA Conexionista: Perceptron de Múltiplas Camadas Mapas Auto-Organizáveis. Renan Rosado de Almeida

Inteligência Artificial. IA Conexionista: Perceptron de Múltiplas Camadas Mapas Auto-Organizáveis. Renan Rosado de Almeida Inteligência Artificial IA Conexionista: Redes Neurais Artificiais Perceptron de Múltiplas Camadas Mapas Auto-Organizáveis Renan Rosado de Almeida rralmeida@inf.ufrgs.br Perceptron de Múltiplas Camadas

Leia mais

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

Classificação de espécies de peixe utilizando redes neurais convolucional Classificação de espécies de peixe utilizando redes neurais convolucional Andre G. C. Pacheco a,1 a Programa de Pós-Graduação em Informática (PPGI), Universidade Federal do Espírito Santo (UFES), Vitória

Leia mais