Computer Vision é um campo de inteligência artificial (IA) que permite que computadores e sistemas obtenham informações significativas a partir de imagens digitais, vídeos e outras entradas visuais. Como base nessas informações, é possível tomar ações ou fazer recomendações. Se a IA permite que os computadores pensem, o Computer Vision permite que eles vejam, observem e compreendam.
A Computer Vision funciona de uma forma muito parecida com a visão humana, porém os seres humanos têm um diferencial. A visão humana tem a vantagem de vidas inteiras de contexto para a treinar como distinguir objetos, a que distância estão, se estão em movimento e se há algo errado em uma imagem.
A Computer Vision treina máquinas para realizar estas funções, mas tem que fazê-lo em muito menos tempo com câmeras, dados e algoritmos em vez de retinas, nervos ópticos e um córtex visual. Como um sistema treinado para inspecionar produtos ou observar um ativo de produção analisar milhares de produtos ou processos por minuto, notando defeitos imperceptíveis ou problemas, ele pode rapidamente superar as capacidades humanas.
A Computer Vision é utilizada em indústrias que vão desde energia e utilidades até fabricação e automotiva, e o mercado continua a crescer. Espera-se que atinja USD 48,6 bilhões em 2022.1
A Computer Vision precisa de muitos dados. Ele faz análises de dados repetidas vezes até descobrir distinções e finalmente reconhecer imagens. Por exemplo, para treinar um computador para reconhecer pneus de automóveis, ele precisa ser alimentado com grandes quantidades de imagens de pneus e itens relacionados a pneus para aprender as diferenças e reconhecer um pneu, especialmente um sem defeitos.
Duas tecnologias essenciais são usadas para realizar isto: um tipo de machine learning chamado de deep learning e uma rede neural convolucional (CNN).
A máquina de aprendizado usa modelos algorítmicos que permitem que um computador ensine a si mesmo sobre o contexto dos dados visuais. Se dados suficientes são alimentados através do modelo, o computador "olha" os dados e se ensina a distinguir uma imagem de outra. Os algoritmos permitem que a máquina aprenda sozinha, ao invés de alguém programá-la para reconhecer uma imagem.
Uma CNN ajuda um modelo de machine learning ou deep learning a "olhar", dividindo as imagens em pixels onde são atribuídos tags ou rótulos. Ele usa os rótulos para realizar convoluções (uma operação matemática de duas funções para produzir uma terceira função) e faz previsões sobre o que está "vendo". A rede neural executa convoluções e verifica a precisão de suas previsões em uma série de iterações até que as previsões comecem a se tornar realidade. É então reconhecer ou ver imagens de uma forma semelhante à humana.
Assim como um ser humano decifrando uma imagem à distância, uma CNN primeiramente discerne bordas duras e formas simples, depois preenche informações enquanto faz iterações de suas previsões. Uma CNN é usada para entender imagens únicas. Uma rede neural recorrente (RNN) é usada de maneira semelhante em aplicativos de vídeo para ajudar os computadores a entender como as imagens em uma série de quadros estão relacionadas umas com as outras.
Há cerca de 60 anos, cientistas e engenheiros vêm tentando desenvolver formas que permitam às máquinas ver e compreender os dados visuais. Os experimentos começaram em 1959 quando os neurofisiologistas mostraram a um gato um conjunto de imagens, tentando correlacionar uma resposta em seu cérebro. Descobriram que ele respondia primeiro a bordas ou linhas duras, e cientificamente, isto significava que o processamento de imagens começa com formas simples como bordas retas.(2)
Por volta da mesma época, foi desenvolvida a primeira tecnologia de digitalização de imagens de computador, permitindo que os computadores digitalizassem e adquirissem imagens. Outro marco foi alcançado em 1963 quando os computadores foram capazes de transformar imagens bidimensionais em formas tridimensionais. Na década de 1960, a IA surgiu como um campo acadêmico de estudo, e também marcou o início da busca da IA para resolver o problema da visão humana.
Em 1974 foi introduzida a tecnologia de reconhecimento de caractere ótico (OCR), que podia reconhecer textos impressos em qualquer fonte ou tipo de letra.(3) Da mesma forma, o reconhecimento inteligente de caracteres (ICR) poderia decifrar textos escritos à mão usando redes neurais.(4) Desde então, OCR e ICR têm encontrado seu caminho no processamento de documentos e faturas, reconhecimento de placas de veículos, pagamentos móveis, tradução por máquina e outras aplicações comuns.
Em 1982, o neurocientista David Marr estabeleceu que a visão funciona hierarquicamente e introduziu algoritmos às máquinas para detectar bordas, cantos, curvas e formas básicas similares. No mesmo período, o cientista da computação Kunihihiko Fukushima desenvolveu uma rede de células que poderia reconhecer padrões. A rede, chamada Neocognitron, incluía camadas convolutivas em uma rede neural.
Em 2000, o foco do estudo estava no reconhecimento de objetos, e em 2001, apareceram as primeiras aplicações de reconhecimento facial em tempo real. A padronização de como os conjuntos de dados visuais são marcados e anotados surgiu durante os anos 2000. Em 2010, o conjunto de dados da ImageNet tornou-se disponível. Ela continha milhões de imagens marcadas em mil classes de objetos e forneceu uma base para as CNNs e os modelos de deep learning usados hoje em dia. Em 2012, uma equipe da Universidade de Toronto participou com uma CNN em um concurso de reconhecimento de imagem. O modelo, chamado AlexNet, reduziu significativamente a taxa de erro para o reconhecimento da imagem. Após este avanço, as taxas de erro caíram para apenas um pequeno percentual.(5)
Acesse vídeos, documentos, workshops e muito mais.
Há muita pesquisa sendo feita no campo da Computer Vision, mas não se trata apenas de pesquisa. As aplicações do mundo real demonstram como a Computer Vision é importante para os empreendimentos nos negócios, entretenimento, transporte, saúde e vida cotidiana. Um fator-chave para o crescimento dessas aplicações é o fluxo de informações visuais que flui dos smartphones, sistemas de segurança, câmeras de trânsito e outros dispositivos visualmente instrumentados. Estes dados poderiam desempenhar um papel importante nas operações em todas as indústrias, mas hoje não são utilizados. As informações criam um banco de testes para treinar os aplicativos da Computer Vision e uma plataforma de lançamento para que eles se tornem parte de uma série de atividades humanas:
Muitas organizações não têm os recursos para financiar laboratórios de Computer Vision e criar modelos de deep learning e redes neurais. Eles também podem não ter o poder computacional necessário para processar enormes conjuntos de dados visuais. Empresas como a IBM estão oferecendo serviços de desenvolvimento de software Computer Vision. Estes serviços proporcionam modelos de aprendizagem pré-construídos disponíveis na cloud, e também facilitam a demanda de recursos computacionais. Os usuários se conectam aos serviços através de uma interface de programação da aplicação (API) e os utilizam para desenvolver aplicativos de Computer Vision.
A IBM também introduziu uma plataforma Computer Vision que aborda tanto as preocupações de desenvolvimento quanto as de recursos computacionais. O IBM Maximo Visual Inspection inclui ferramentas que permitem aos especialistas rotular, treinar e implementar modelos de visão de deep learning, sem codificação ou experiência de deep learning. Os modelos de visão podem ser implementados em data centers locais, na cloud e em dispositivos de borda.
Embora esteja ficando mais fácil obter recursos para desenvolver aplicativos Computer Vision, uma pergunta importante a ser respondida desde o início é: o que exatamente esses aplicativos farão? Ao compreender e definir tarefas específicas de Computer Vision, é possível focar e validar projetos e aplicativos e facilitar os primeiros passos.
Aqui estão alguns exemplos de tarefas de Computer Vision estabelecidas:
Libere rapidamente a potência da visão computacional para a automação de inspeção sem a necessidade de ter conhecimentos em deep learning.
A IBM Research é um dos maiores laboratórios de pesquisa corporativa do mundo. Saiba mais sobre a pesquisa que está sendo feita em todas as indústrias.
Saiba mais sobre como começar a usar o reconhecimento visual com o IBM Maximo Visual Inspection. Descubra recursos e cursos para desenvolvedores.
1. https://www.forbes.com/sites/bernardmarr/2019/04/08/7-amazing-examples-of-computer-and-machine-vision-in-practice/#3dbb3f751018 (link externo à IBM.com)
2. https://hackernoon.com/a-brief-history-of-computer-vision-and-convolutional-neural-networks-8fe8aacc79f3 (link externo à IBM.com)
3. Reconhecimento óptico de caracteres, Wikipedia (link externo à IBM.com)
4. Reconhecimento inteligente de caracteres, Wikipedia (link externo à IBM.com)
5. Uma breve história da Computer Vision (e redes neurais convolucionais), Rostyslav Demush, Hacker Noon, 27 de fevereiro de 2019 (link externo à IBM.com)
6. 7 exemplos surpreendentes de Computer Vision e Machine Vision, Bernard Marr, Forbes, 8 de abril de 2019 (link externo à IBM.com)
7. 5 técnicas de Computer Vision que mudarão a forma como você vê o mundo, James Le, Heartbeat, 12 de abril de 2018 (link externo à IBM.com)