Como as máquinas enxergam? Conheça o conceito de visão computacional na Inteligência Artificial

Um das aplicações mais conhecidas de inteligência artificial é o uso nos carros autônomos. Empresas, como a Tesla, investem cada vez mais em produzir carros que não necessita de um condutor e seria dirigido totalmente por uma inteligência artificial. Isso é algo que já é realidade em algumas cidades dos Estados Unidos.

Mas como que uma máquina consegue enxergar o que está ao redor? Como o software responsável pelos carros autônomos conseguem ver pedestres, sinalizações e até outros carros? Essa é uma das aplicações que necessita que máquinas sejam capazes de enxergar o mundo e compreendam o mundo visual.

Essa é um dos objetivos da área conhecida como visão computacional. A visão computacional permite que máquinas tenham acesso de forma visual ao mundo através de dados como imagens ou vídeos. É um conjunto de técnicas e métodos que analisam imagens ou vídeos e conseguem extrair informação útil.

O que é visão computacional?

A visão computacional é um campo dentro da inteligência artificial. A ideia é que computadores sejam capazes de extrair informação de imagens e vídeos. Um exemplo é se você alimentar a foto de um cachorro para um computador, ele seria capaz de reconhecer que na foto se trata de um cachorro.

Hoje em dia, a visão computacional não concentra apenas imagens mas também vídeos. Com o uso de técnicas e métodos, a máquina conseguiria compreender e interpretar o que está sendo mostrado. Isso é extremamente útil visto que a informação visual ou em vídeo é um dos tipos principais como informações estão codificadas.

Relação de machine learning com visão computacional

Atualmente, a visão computacional tem uma relação próxima com o aprendizado de máquina ou machine learning. A principal forma que um computador aprende a interpretar imagens e vídeos é através de observação de dados. É comum o uso com aprendizado supervisionado aonde imagens são dadas como entrada e também é dada uma saída pro modelo aprender.

Um exemplo é o uso em reconhecimento de padrões. Onde o modelo é treinado a realizar tarefas como classificação ou regressão. Um exemplo seria classificação de animais onde uma grande quantidade de fotos é inserida no algoritmo junto com os rótulos - os nomes dos animais. O algoritmo através de técnicas matemáticas após observar os dados diversas vezes.

Redes neurais convolucionais

Uma das técnicas mais conhecidas é o uso de redes neurais convolucionais. Essas redes foram introduzidas no final do século passado e elas são baseadas em convoluções. Em uma rede neural convolucional, há também outras camadas que são utilizadas para facilitar e melhorar o aprendizado.

Para treinar uma rede neural convolucional é comum o uso de aprendizado supervisionado ao alimentar exemplos rotulados à rede. Dessa forma, os pesos que estão nos filtros de convolução são ajustados para minimizar o erro entre o resultado da rede e a resposta esperada. O uso de camadas convolutivas permite que a rede aprenda desde bordas simples até características mais complexas,

Como funciona um algoritmo de visão computacional?

Um algoritmo de visão computacional possui algumas etapas essenciais como preparação dos dados, treinamento e análise. Cada uma dessas etapas podem ser dividias em subetapas mais detalhadas. A forma como os dados são alimentados para uma máquina é determinante no aprendizado.

  • Preparação dos dados: A parte principal é o tratamento dos dados antes de serem colocados na máquina. Nessa etapa, as imagens ou vídeos são transformados em informação numérica. Um possível preparação é separar as matrizes RGB de imagens. É com a informação numérica de matrizes e tensores que a rede aprende.
  • Treinamento: No treinamento, para um aprendizado supervisionado, os dados de entrada e saída são alimentados para a rede. Os dados de entradas são processados da camada de entrada para as camadas seguintes onde convoluções e funções são aplicadas. Ao final, a rede retorna um resultado que é comparado com o valor esperado. A comparação é feita através de uma função de erro que atualiza os pesos dos filtros para aproximar o resultado do esperado. Essa atualização é chamada de treinamento.
  • Análise: Por fim, de maneira geral, tem a parte da análise onde testes são feitos para quantificar o poder de generalização do modelo. A análise é feita com dados que a rede não foi apresentada durante o treinamento.


  • Aplicações

    A visão computacional tem uma série de aplicações no dia a dia. A mais comum é através do reconhecimento facial que alguns smartphones atuais possuem. A visão computacional também está presente nas áreas como Medicina onde serve para fazer diagnóstico por imagem.

    Talvez a aplicação mais famosa é o uso em carros autônomos. Os carros utilizam um modelo treinado de visão computacional que é capaz de reconhecer o que está acontecendo aos arredores. Além disso, biblioteca de fotos também usam o poder da visão computacional para classificar imagens.