• English English
  • Português (Brasil) Português (Brasil)
  • Español Español
  • Prestação de Contas
  • Transparência
  • Privacidade e Proteção de Dados
  • Assinador Digital
  • HOD
  • PSS Serpro
  • Intranet
Área do Cliente
  • Loja
  • Soluções
    • Por Público
      • Empresas
        • Certificação Digital
        • Datavalid
        • SNE
        • NeoID
        • Integra Loja Franca
        • Vio
        • Renave
        • Nova Placa Veicular
        • Consulta Denatran
        • Inteligência de Negócio
        • Conexão de Redes Anexadas
        • Arquivos Estatísticos Denatran
        • Integra COMEX
        • Biovalid
      • Governo
        • Certificação Digital
        • Infovia
        • Margem Consignável
        • Radar
        • Autua
        • SNE
        • Integra Siafi
        • NeoID
        • Vio
        • DaaS
        • Govdata
        • ProID
        • Serpro Mail
        • Conexão de Redes Anexadas
        • Cartório Data
        • Biovalid
      • Cidadão
        • Certificação Digital
        • SNE
        • CDT Carteira Digital de Trânsito
        • Vio
        • NeoID
        • ProID
    • Por Linha de Negócio
      • Operações de Governo
        • SNE
        • CBIO
        • Notificação e Registro de Recall
        • Consulta Denatran
        • Emplaca
        • Integra Loja Franca
        • Painel de Inteligência Veicular
        • Renave
      • Informação e Análise
        • DaaS
        • Cartório Data
        • Plataforma de Inteligência de Negócios
        • GovData
        • Biovalid
        • Datavalid
        • Consulta CND
        • b-Cadastros
      • Software
        • SerproMail
        • Gestão de Margem Consignável
        • Radar
        • ProID
        • VendasGov
        • Cidades GOV.BR
      • Ambientes e Conectividade de TI
        • Serpro MultiCloud
        • Infovia
      • Privacidade e Segurança
        • Emissão de Carimbo de Tempo
        • Certificação Digital
        • Hospedagem de Autoridade Certificadora
        • NeoID
        • PSBio
        • Serpro LGPD
        • Vio
        • GovShield
    • Por Cliente
      • Receita Federal
      • Senatran
      • Secretaria de Portos
      • Tesouro Nacional
      • Ministério da Economia
      • Secex
      • MRE e PF
  • Suporte
    • Central de Ajuda
    • Central de Serviços
    • Atendimento Gestão de Consignação
      • Sistema de Consignação
      • Preço dos serviços
      • Cronograma Vigente
      • Cronograma 2020
      • Cronograma 2021
      • Cronograma 2022
    • Treinamentos
    • Central de Serviços - Transformação Digital da Justiça
  • Insights
  • Imprensa
  • A empresa
    • Estrutura Organizacional
    • Transparência
    • Endereços
    • Visite o Serpro
    • Livro da Marca
    • Inovação Aberta
      • Serpro Ventures
      • HackSerpro
        • Hackathon - Compras Governamentais
        • Hackathon Rede +Brasil
    • Eventos
      • 1ª Semana Serpro de Privacidade e Proteção de Dados
        • Participantes
      • Serpro Talks
      • Semana Nacional de Ciência e Tecnologia
      • Webinar Serpro
        • Riscos à Privacidade e Proteção de Dados
        • Inteligência Artificial - Desafios para a privacidade e proteção de dados
        • Avaliação de adequação à LGPD
        • Serpro e Fecomércio MG
        • Escritório Virtual
        • LGPD e Open Banking
        • LGPD: desafios e perspectivas
        • Pix - Pagamentos Instantâneos
        • Identificação digital e experiência do cliente
        • Privacidade e proteção de dados
      • Desafio Cultural POG
      • Lançamento da Plataforma LGPD Educacional
      • 1º Prêmio Serpro de Privacidade e Proteção de Dados
        • Aviso de Privacidade
      • 2º Prêmio Serpro de Privacidade e Proteção de Dados
        • Aviso de Privacidade
    • Nossos Endereços
    • Eleições CA - 2022
    • Processo Seletivo COAUD
    • Certificações e Reconhecimento
  • Contato
  • Acesso à informação
  • Área do Cliente
    Redefine Cookies
    Info

    Notícias

    notícias

    Artigo

    Artigo

    Visão computacional: O que é? Como funciona?

    Uma breve explicação sobre os sistemas artificiais que permitem que computadores "enxerguem"
    Composição digital de um olho humano
    • Facebook
    • Linkedin
    • Twitter
    • Whatsapp
    by Loreane Brandizzi — 07 de april de 2020

    Com diversas aplicações na solução de problemas reais, as tecnologias voltadas à visão computacional têm se proliferado em diversas áreas. Um dos usos populares destas tecnologias está na medicina, nas tarefas de diagnóstico por meio da extração de informações das imagens de radiografias, ultrassonografias, ressonâncias etc.

    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.

    Imagem1Artigo.png
    Imagem 1 - 
    Fonte

    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; os sistemas de reconhecimento facial identificam pessoas univocamente 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, entretanto é composta por modelos muito interessantes que vale a pena compreender.

    Este artigo traz uma visão introdutória sobre as CNN. Para um entendimento mais aprofundado, é necessário uma leitura mais técnica e completa.

    Visão Humana x Visão Computacional

    De forma resumida, 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 como: rodas, quadro, manopla, selim, pedais, entre outros.

    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 desse 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.

    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.

    Imagem2Artigo.png
    Imagem 2 - Fonte


    Caso não se possua um dataset extenso o bastante para trazer maior generalização para o algoritmo, pode-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. Essas imagens são compreendidas pelo computador como matrizes. No exemplo abaixo, da base MNIST, é possível observar matriz da imagem referente ao 4 manuscrito. Observe que se trata de uma matriz de 28 x 28 pixels, onde os pixels responsáveis por representar a letra estão em tons de cinza.

    Imagem3Artigo.png
    Imagem 3 - Fonte

    Extração de características

    Na visão humana, há o reconhecimento de características que classificam um objeto, já as CNN realizam esse 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 a matriz da Imagem de Entrada (I) e Filtro (K), gerando os Feature Maps (I*K). Esse processo é denominado Convolução.

    Imagem4Artigo.png
    Imagem 4 - Fonte

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

    Imagem5Artigo.png
    Imagem 5 - Fonte

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

    Imagem6Artigo.png
    Imagem 6 - Fonte

    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 1 coluna e N linhas, que dará entrada na camada densa da rede, responsável por classificar a imagem.

    Imagem7Artigo.png
    Imagem 7 - Fonte

    Camada Densa

    Esta camada é uma rede neural que será treinada para classificar os vetores resultantes do processo de Flattening.

    Ela possuirá uma quantidade razoável de neurônios que receberão como entrada o vetor. Esta rede poderá possuir diferentes camadas e utilizar algumas técnicas específicas como DropOut, para aprimorar os resultados.

    Imagem8Artigo.png
    Imagem 8 - Fonte

    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 algoritmo 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:

    Imagem9Artigo.png
    Imagem 9 - Fonte

    Após o treinamento dessa rede, é gerado um modelo de classificação 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, um equipamento de irrigação diferenciando as plantas...

    Essa é uma explicação bem sintética e despretensiosa de uma das mais populares tecnologias aplicadas na visão computacional. É importante mencionar o imenso 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

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

    Apesar de servidores com processadores tradicionais do tipo CPU (Unidades de Processamento Central) serem utilizados nessas 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 dessas 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 esse 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.

    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

    Marca Serpro
    Quem Somos
    Integridade
    Transparência
    Carreiras
    Simplifique

    Contato

    Contatos
    Imprensa

    Empregado

    Intra Serpro
    PAS Serpro
    Plano Odontológico

    Serpro Sede

    SGAN Quadra 601 Módulo "V"

    CEP: 70836-900

    FAX: (61) 2021-8531

    Horário de atendimento: 8h às 18h

    Serpro Ministério da Fazenda Governo Federal

    Contato

    • Quero Adquirir uma Solução
    • Problemas com uma Solução
    • Assessoria de Imprensa
    • Ouvidoria
    • Outro Assunto