• Português (Brasil) Português (Brasil)
  • English English
  • Español Español
Acessibilidade
Ir para o conteúdo (1/4) 1Ir para o menu (2/4) 2Ir para a busca (3/4) 3Ir para o rodapé (4/4) 4
Acesso Rápido
EmpresaInsightsPrivacidadeSuporteDownload e SoftwareImprensaContatoÁrea do clienteAcesso à informação Loja Serpro
Área do cliente
Serpro, impulsionado pelos próximos 60 anos
Provendo soluções inteligentes para transformação e inclusão digital
Redefinir Cookies
Serpro
Institucional
  • Quem somos
  • Marca Serpro
  • Iniciativas Sociais
  • Privacidade
  • Eventos
    • 3ª Semana Serpro de Privacidade e Proteção de Dados
    • Hackathon - Compras Governamentais
    • Hackathon Rede +Brasil
    • Desafio Fiscal Inovador
  • Governança
  • Ética e integridade
  • Acesso à informação
Soluções
  • Insights e notícias
  • Loja Serpro
  • Inovação aberta
Suporte
  • Ajuda ao cliente
  • Central de Serviços Serpro
  • Atendimento Gestão de Consignação
  • Transformação Digital da Justiça
  • Download & Software
    • Assinador digital
    • Certificado Digital
    • Emulador HOD
    • SAR - Acesso remoto
    • Drivers de token
  • Central de Ajuda
Sustentabilidade
  • ESG Serpro
  • Conheça nosso trabalho
  • Objetivos de Desenvolvimento Sustentável
  • Jornada Ser ESG
  • Notícias e artigos
Contato
  • Fale conosco
  • Imprensa
  • Endereços
  • Ouvidoria
  • Fala BR
Consultas públicas Prestação de Contas
Redes Sociais
Serpro Sede - SGAN Quadra 601 Módulo "V" Brasília - DF CEP: 70836-900
Horário de atendimento: 8h às 18h
Você está aqui: Página Inicial  ›  Menu  ›  Notícias  ›  Notícias 2020  ›  Visão computacional: o que é e como funciona
Info

Notícias

notícias

Artigo

Artigo

Visão computacional: o que é e como funciona

Uma breve explicação sobre os sistemas artificiais que permitem que computadores “enxerguem”
abstração colorida que remeta a inteligência artificial
  • Facebook
  • Linkedin
  • Twitter
  • Whatsapp
por Loreane Brandizzi — 03 de abril de 2020

Com diversas aplicações na solução de problemas reais, as tecnologias voltadas à visão computacional têm se proliferado em inúmeras áreas. Um dos usos populares dessas tecnologias está na medicina, nas tarefas de diagnóstico por meio da extração de informações das imagens de radiografias, ultrassonografias, ressonâncias, por exemplo. Outros cases conhecidos sobre visão computacional são os carros autônomos, que são capazes de reconhecer as sinalizações das vias por meio do processamento das imagens das placas em tempo real, obtendo assertividade até maior que a humana. Tais soluções são usadas inclusive na exploração espacial em veículos autônomos como o usado na Mars Exploration Rover da NASA.

Figura 1

 

As aplicações não param por aí: a indústria utiliza esses métodos para análise de qualidade de produtos; a agronomia aplica a visão computacional na irrigação das plantações; classificação de áudios, etc.

Uma questão intrigante é: como o computador consegue “ver” se ele não é detentor das complexas fisiologias dos seres vivos? De fato a visão computacional não é trivial e só foi possível graças ao trabalho de diversos pesquisadores que estudaram intensivamente a aplicação de Redes Neurais Convolucionais (CNN) em tarefas reais.

Uma das primeiras demonstrações ocorreu nos anos 90, quando o cientista de computação francês Yann LeCun construiu uma CNN para reconhecimento de caracteres manuscritos da famosa base de dados MNIST.

Outro famoso desafio de aplicação das CNN é no reconhecimento dos objetos da eclética base de dados ImageNet que possui mais de 14 milhões de imagens. Em 2011, a taxa de erro obtida nessas competições era em torno de 25%, já em 2012, um modelo de CNN chamado AlexNet conseguiu uma taxa menor, de 16%. Em 2017, a acuracia obtida pela maioria dos times da competição era maior que 95%.

A tecnologia por trás do processamento e classificação de imagens não é simples, mas é composta por modelos muito interessantes, que valem a pena compreender.
Este artigo traz uma visão introdutória sobre as CNN. Para um entendimento mais aprofundado é necessária uma leitura mais técnica e completa.

Visão Humana x Visão Computacional

É possível sintetizar que, na visão humana, a imagem é captada pela retina e enviada para os neurônios responsáveis por compreendê-la e classificá-la. Uma bicicleta, por exemplo, é classificada como bicicleta pelo cérebro por possuir características específicas de bicicletas tais como: rodas, quadro, manopla, selim, pedais. Caso a bicicleta esteja sem uma roda, por exemplo, mesmo assim o sistema humano consegue realizar a correta classificação, visto que pode abstrair a falta de alguma parte ou alguma diferença estética ou estrutural.

No treinamento de uma CNN acontece algo semelhante: as redes neurais convolucionais recebem imagens (que, para o computador, são matrizes de pixeis referentes às cores da imagem) e aplicam filtros, que possibilitam a extração de características. Após essa extração, utilizam a camada de rede neural para classificar a imagem. Como não se trata de um processo trivial, abaixo estão minimamente detalhadas algumas das etapas e requisitos deste processamento.

Seleção das imagens para treinamento da CNN

Para que o treinamento da rede seja eficiente é imprescindível que o dataset de imagens que serão usadas para treinamento seja extenso e possua fotos do objeto em diferentes posições, cores, iluminação, perspectiva, etc. A base ImageNet, por exemplo, possui mais de 1800 fotos de gatos. A MNIST possui também uma grande quantidade de imagens do mesmo caractere manuscrito.

 


Figura 2

 

Caso não se possua um dataset extenso o bastante para trazer maior generalização pro algoritmo, podem-se usar técnicas para rotacionar e entortar as imagens e com isso, gerar novas imagens do objeto. As imagens precisam ser tratadas a fim de possuírem a mesma dimensão. Estas imagens são compreendidas pelo computador como matrizes. 

No exemplo abaixo, da base MNIST, é possível observar matriz da imagem referente ao algarismos quatro manuscrito. Observe que se trata de matriz de 28 x 28 pixels, na qual os pixels responsáveis por representar o número estão em tons de cinza.

 


Figura 3

 

Extração de características

Na visão humana, há o reconhecimento de características que classificam um objeto. Já as CNN realizam este procedimento por meio de aplicação de filtros.

Os filtros são matrizes menores que percorrem os pixels da imagem de entrada e geram novas imagens (feature map). Na aplicação dos filtros, é realizada uma operação matemática entre as duas matrizes (imagem de entrada e filtro), gerando os feature maps. Esse processo é denominado convolução.

 


Figura 4

 

Na prática, o filtro percorre toda a imagem de entrada e gera um mapa resultante deste processamento.

 

Animação da matriz

Figura 5

 

O processo de convolução pode ser executado seguidas vezes, até se obter feature maps adequados.

 


Figura 6

 

Nesse processo, podem ser aplicadas técnicas de pooling, padding, ativação e outras funções que permitem à rede extrair boas features da imagem. Um dos grandes desafios do cientista de dados é configurar essas camadas de forma a obter a maior eficiência no processo de classificação.

Flattening

Uma vez que os mapas foram extraídos, aplica-se a técnica de flattening para transformação da matriz resultante das convoluções em um vetor com uma coluna e N linhas, que dará entrada na camada densa da rede, responsável por classificar a imagem.

 


Figura 7

 

Classificação – Camada densa

Esta camada, basicamente, é uma rede neural que será treinada para classificar os vetores resultantes do flattening. Ela possuirá uma quantidade razoável de neurônios que receberão como entrada o vetor. A rede da camada densa poderá possuir diferentes camadas e utilizar algumas técnicas específicas como dropout, para aprimorar os resultados.

Backpropagation

As redes neurais utilizam a técnica de backpropagation para atualização dos seus pesos com o objetivo de alcançar a menor taxa de erro na camada de saída, que classificará o objeto. Dada a importância desta técnica, pode-se dizer que o backpropagation é o algorítimo mais importante das redes neurais, pois sem ele seria impossível realizar o treinamento das redes com a eficiência obtida atualmente. Esse algoritmo possui duas fases: forward pass, quando há a propagação dos valores da entrada através da rede e backward pass, onde é calculado o gradiente da função de perda da camada final e aplicada recursivamente a regra da cadeia (derivadas parciais compostas) para atualização dos pesos. Com isso, a rede neural consegue aprender os melhores pesos e se adaptar para classificação do objeto.

De forma didática e resumida, sem a pretensão de demonstrar toda a complexidade do processo, pode-se observar que a Rede Neural Convolucional possui a seguinte estrutura:

 


Figura 8

 

Após o treinamento dessa rede, é gerado um modelo que poderá ser utilizado nos processos de classificação de uma aplicação específica, podendo ser um carro autônomo lendo placas da cidade, uma câmera identificando pessoas pela face ou um equipamento de irrigação diferenciando as plantas, dentre outras inúmeras possibilidades.

Essa é uma explicação bem sintética e despretensiosa de uma das mais populares tecnologias aplicadas na visão computacional. É importante mencionar o grande arcabouço matemático, estatístico e tecnológico que permitiu a criação e aplicação desta incrível tecnologia.

Infraestrutura para visão computacional

Técnicas como backpropagation, ativação e cálculos entre matrizes são problemas estudados há décadas pelos matemáticos, que só puderam ser aplicados com o advento de computadores capazes de realizar este complexo e pesado processamento.

Apesar de servidores com processadores tradicionais do tipo CPU (Unidades de Processamento Central) serem utilizados nestas tarefas, o reconhecimento de imagens por meio de CNN ganhou fôlego com a utilização dos chips GPU’s (Unidades de Processamento Gráfico).

As GPU’s são processadores para computação gráfica altamente otimizados para processamento de operações repetitivas como o treinamento destes algoritmos, pois são capazes de efetuar cálculos matemáticos de forma veloz e paralelizada.

Implementação de CNN

Outro fator que tornou o uso das CNN mais acessível foi o lançamento de diversas bibliotecas que abstraem boa parte da complexidade matemática destas redes, tornando o treinamento e geração de modelos CNN muito mais simples, tais como Keras, Torch, TensorFlow.

Apesar desse estado da arte, é importante mencionar que o desenvolvimento desses modelos não é trivial, pois há diversas decisões estratégicas durante a montagem dos algoritmos e na análise dos resultados que dependem de conhecimentos matemáticos, estatísticos, computacionais e de negócio. O cientista de dados precisa estar apto a realizar essas análises, o que torna este profissional muito valioso para as organizações.


 

Loreane Brandizzi

 

 

Loreane Evelyn Nazareth Brandizzi é pós-graduada em Gestão Estratégica de TI pela FGV, graduada em Computação pela Universidade de Brasília e estudante de Ciência de Dados. Trabalha no Serpro desde 2011 como analista de negócios, e hoje atua como consultora de negócios na Superintendência de Relacionamento com o Cliente Ministério da Economia.

Contato

  • Quero Adquirir uma Solução
  • Problemas com uma Solução
  • Assessoria de Imprensa
  • Ouvidoria
  • Outro Assunto
Serpro
Soluções
Loja Serpro
Inovação aberta
Insights e Notícias
Suporte
Ajuda ao cliente
Central de Ajuda
Central de Serviços
Consignatárias
Transformação Digital da Justiça
Downloads
Institucional
Quem Somos
Marca Serpro
Iniciativas Sociais – Programa Agora
Governança
Ética e Integridade
Acesso à Informação
Privacidade
Contato
Endereços
Fale conosco
Imprensa
Ouvidoria
Fala BR
Empregados
Intranet
PAS Serpro
Plano Odontológico
SOS RS
Carreira
SUSTENTABILIDADE
ESG
Jornada Ser ESG
Objetivos de desenvolvimento Sustentável
Redes Sociais
Acesso àInformação
Serpro - Ministério da Fazenda - Governo Federal
Serpro Sede - SGAN Quadra 601 Módulo "V" Brasília - DF CEP: 70836-900
Horário de atendimento: 8h às 18h

Doormat

Soluções

Por Público
Por Linha de Negócio
Proteção de Dados

Suporte

Central de Ajuda
Central de Serviços
Acesso Remoto (SAR)
Consignatários
Downloads

Institucional

Quem Somos
Integridade
Transparência
Carreiras
Simplifique
Marca Serpro

Contato

Contatos
Imprensa

Empregado

Intra Serpro
PAS Serpro
Plano Odontológico