Amigos, decidimos que falar sobre a aplicação prática de redes neurais é impossível sem dizer o que são as próprias redes neurais e, portanto, parte de nossos artigos será dedicada a esse tema. E começaremos com uma pequena introdução…

Introdução

Uma das inovações mais significativas no mundo da pesquisa na última década foi a introdução de tecnologias de reconhecimento. Desde meados do século passado, o problema do reconhecimento de objetos era considerado a tarefa mais difícil na área da visão computacional.

O reconhecimento de imagens é uma das características mais importantes do nosso sistema visual. Isso é a base de outras funções cognitivas do cérebro, como movimentos e interações sociais. Portanto, automatizar reconhecimento de imagens é uma das tarefas principais na área da neurofisiologia computacional.

A percepção visual é considerada o mais importante dos cinco sentidos que usamos na vida cotidiana. Quase dois terços das informações que recebemos de nossos sentidos são de natureza visual. Durante a percepção visual, processamos a gama mais ampla de tarefas: localizamos objetos em imagem que atraem nossa atenção, entendemos o que são esses objetos, independentemente de mudanças de posição, tamanho, mudança de iluminação ou mudança de cor da imagem; reconhecemos objetos confusos e muito mais. Uma pessoa executa essas tarefas sem nenhum esforço. No entanto, eles são extremamente difíceis de modelar no nível de um sistema artificial.

s processos de percepção que são a base dos mecanismos neurais foram estudados por especialistas em neurofisiologia computacional por muitas décadas. Um dos pioneiros mais famosos no estudo do funcionamento das células nervosas pode ser considerado Santiago Ramon y Cajal, que pela primeira vez estudou detalhadamente (na medida do possível no século XIX), desenhou e descreveu os principais tipos de células nervosas no cérebro humano. Seus belos desenhos podem ser vistos aqui.

Desde os anos 50 do século passado, os cientistas tentam simular o cérebro usando no inicio as redes neurais analógicas [1] e depois as digitais. O conceito de uma rede neural artificial foi introduzido por Warren McCulloch e Walter Pitts em 1943 [2]. Os princípios do treinamento de redes neurais foram originalmente retirados com base no funcionamento do cérebro e das regras para a construção de sinapses, as conexões entre os neurônios físicos [3].

Como resultado, foi proposta uma representação hierárquica do sistema visual humano, com base em camadas de células complexas e simples localizadas nas zonas visuais do cérebro. Na segunda metade do século passado, esse conceito de hierarquias no fluxo do processamento visual foi usado pela primeira vez por cientistas na área da visão computacional para construir o primeiro modelo hierárquico teórico para reconhecimento de objetos [4].

Sendo modelos biologicamente plausíveis, essas redes neurais têm sido usadas na área da visão computacional nas décadas subsequentes. No entanto, até recentemente, a complexidade computacional desse tipo de arquitetura não permitia que os pesquisadores criassem e treinassem um modelo complexo de vários níveis com base nessa estrutura teórica. Apenas recentemente começaram a aparecer os primeiros modelos desse tipo. Devido à estrutura complexa de várias camadas, essas arquiteturas foram chamadas de «profundas».

A precisão do reconhecimento nos sistemas modernos de visão computacional em muitas tarefas é mais alta do que das pessoas [4]. Esses sistemas são capazes de executar várias tarefas ao mesmo tempo: tarefas de reconhecimento visual de baixo nível (por exemplo, detectando os limites de um objeto), tarefas de nível médio (destacando partes visíveis de uma imagem), tarefas de nível médio (identificação de objeto) e tarefas de nível superior (segmentação semântica). Vamos tentar descrever brevemente a tecnologia que é a base de todas essas tarefas, bem como o princípio básico do uso dessa tecnologia no problema de reconhecimento facial.

Dificuldades de reconhecimento facial

Comparado ao reconhecimento de objetos comuns, o reconhecimento de rostos humanos é uma tarefa mais difícil, pois requer ferramentas mais precisas para detectar um rosto e sua identificação. Existem muitos problemas com isso.

Além das dificuldades comuns, como: a presença de objetos que fechem o rosto (cabelos, óculos, máscara médica, barba); viradas de cabeça, alterações relacionadas à idade, etc., existem vários problemas específicos para o reconhecimento facial, por exemplo:

  • a necessidade de capturar algumas vezes as diferenças mais sutis entre rostos de pessoas semelhantes
  • a capacidade de descrever as classes de objetos que não estão no conjunto de treinamento

Todos esses fatores dificultam a tarefa de reconhecimento facial para obter dados biométricos.

A descrição da tecnologia

Existem muitos sistemas de visão computacional para reconhecimento de imagens. Anteriormente foram usados muitos métodos de reconhecimento, como SIFT (scale-invariant feature transform) [6], um algoritmo para identificar e descrever características locais em imagens, ou um histograma de gradientes direcionais (HOG) [7], descritores de pontos singulares usados em visão computacional para processamento de imagens, a fim de detectar e reconhecer um objeto. Os métodos tradicionais do reconhecimento de imagens geralmente combinavam um desses algoritmos com um classificador, como o método do vetor de suporte (SVM) [8], para realizar a tarefa de reconhecimento de objeto. No entanto, o método de rede neural é muito superior dos métodos tradicionais.

Desde 2010, a eficácia de vários métodos de reconhecimento de imagens começou a ser avaliada durante a competição anual de reconhecimento de imagens em escala ImageNet, o maciço banco de dados de imagens (ILSVCR), a maior competição em que vários grupos de pesquisa competiram na classificação e reconhecimento de objetos e cenas. Em 2012, a profunda rede neural convolucional alcançou a maior precisão da história, superando os concorrentes em 16%. Desde então, as redes neurais convolucionais, na presença de uma quantidade suficiente de dados, são significativamente superiores a outros métodos em todas essas competições.

No início de 2015, com base em exemplos de algumas tarefas do ILSVCR, os especialistas informaram que o computador excedeu as capacidades de reconhecimento humano (para obter mais detalhes, veja aqui e aqui). É interessante que este ano terá o último ILSVCR: os pesquisadores estão se transferindo para tarefas mais difíceis, uma das quais é o reconhecimento facial.

Um concurso parecido, mas para reconhecimento facial, foi lançado em 2015 (desafio MegaFace). O conjunto de dados para esta tarefa incluiu um milhão de fotos de mais de 690 mil pessoas diferentes. Os algoritmos criados com base nas redes neurais superaram todos os métodos tradicionais e venceram o concurso em 2015 e 2016 [9]. Em dezembro de 2015, foi o algoritmo da NtechLab que ganhou em concurso MegaFace, superando os programas de concorrentes tão sérios como Google.

Em um dos próximos artigos falaremos mais sobre o que é uma rede neural e sobre os tipos dela. Fique ligado?!

BIBLIOGRAFIA

[1] Rosenblatt, Frank (1957), The Perceptron—a perceiving and recognizing automaton. Report 85−460−1, Cornell Aeronautical Laboratory. [2] A logical calculus of the ideas immanent in nervous activity // Bulletin of Mathematical Biology. — New York: Springer New York, 1943. — Т. 5, № 4. — С. 115—133. [3] Donald Olding Hebb. The Organization of Behavior: A Neuropsychological Theory. — Wiley, 1949. — 335 p [4] Fukushima К., Miyake S., Takayuki I. Neocognitron: A neural network model for a mechanism of visual pattern recognition. IEEE Transaction on Systems, Man and Cybernetics SMC-13(5):826−34. — 1983. [5] Fukushima К., Miyake S., Takayuki I. Neocognitron: A neural network model for a mechanism of visual pattern recognition. IEEE Transaction on Systems, Man and Cybernetics SMC-13(5):826−34. — 1983. [6] Lowe D. (1999). «Object recognition from local scale-invariant features» (PDF). Proceedings of the International Conference on Computer Vision. 2. pp. 1150−1157. [7] Dalal N., Triggs B.(2005) Histograms of Oriented Gradients for Human Detection. In proc. Of CVPR conference. [8] Vapnik, Vladimir N.; The Nature of Statistical Learning Theory, Springer-Verlag, 1995. ISBN 0−387−98 780−0 [9] «The MegaFace Benchmark: 1 Million Faces for Recognition at Scale», Ira Kemelmacher-Shlizerman, Steve Seitz, Daniel Miller, Evan Brossard, IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016