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 o 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.
Na década de 60, o matemático Seymour Papert criou o The Summer Vision Project onde uma das atividades era colocar uma câmera em um computador e fazê-lo descrever o que via. Durante o projeto, o matemático e os alunos do curso perceberam que a tarefa era muito mais difícil do que se imaginava. Esse foi um dos primeiros marcos do nascimento da visão computacional.
Nas décadas seguintes, diversos cientistas da computação e outros pesquisadores focaram suas pesquisas para a tarefa de fazer um computador extrair informação de uma imagem. Grande parte das técnicas que são utilizadas hoje, como as redes neurais convolucionais, nasceram nessa corrida que aconteceu no final do século XX.
Foi já nos anos 2000, com avanço de hardwares, que a visão computacional foi levada para outro nível. Reconhecimento facial, aplicações na Medicina, na indústria automobilística e até em mídia começaram a ficar cada vez mais comuns devido à área.
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.
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.
Uma das técnicas mais conhecidas é o uso de redes neurais convolucionais. Essas redes foram introduzidas no final do século ado 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,
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.
Mais etapas podem ser necessárias dependendo da aplicação. Mas a base do aprendizado é essa em geral: apresentação de dados que são mapeados da entrada à saída através de uma função. Encontrar os melhores parâmetros da função é a essência.
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.