Um guia sobre Visão Computacional: Como os computadores enxergam?

Ensinar um computador a ver não é uma tarefa trivial. Você até pode colocar uma câmera incrível nele, mas ainda assim, isso não vai resolver o seu problema. Para que uma máquina realmente veja o mundo e identifique pessoas, animais ou objetos, ela depende da Visão Computacional associada a técnicas de Machine Learning.

Neste momento, estamos numa fase bem parecida com os primeiros anos de vida de uma criança . A visão computacional consegue sim ver os objetos, mas isso não vem com uma compreensão exata do que é aquele objeto visto. Para isso, precisamos realizar um treinamento exatamente como fazemos com as crianças. Se você mostrar a ela um objeto e dizer o seu nome algumas vezes, logo ela aprenderá a reconhecer este objeto.

A câmera que utilizamos, são equivalente aos nossos olhos e a visão computacional está associada a parte do cérebro humano que processa a informação recebida pelos olhos e associa aquilo a um nome.

No 4° episódio da ótima série Silicon Valley, vemos um grupo de amigos que desenvolveu um aplicativo de Visão Computacional, capaz de identificar se qualquer objeto é um cachorro-quente, ou não.

No exemplo do hotdog acima, os desenvolvedores ofereceram várias fotos de cachorros-quentes. E a partir dai a aplicação desenvolve uma ideia geral do que uma imagem de um cachorro-quente e o que deveria ter nela. Coisas como cores, formatos e extremidades são levadas em consideração.

Quando você oferece uma nova imagem, ela compara cada pixel a ideia geral de cachorro-quente que já foi criada. Se a imagem nova atingir um limite mínimo de pixels semelhantes, declaramos que é um cachorro-quente.

E afinal de contas, como as máquinas enxergam?

Já sabemos que as câmeras são equivalentes aos nossos olhos, mas precisamos saber que elas atuam como sensores. O que significa que elas convertem informações que estão ai no nosso mundo biológico para informações discretizadas, ou seja, as câmeras convertem tudo que pode ser visto, em números para que o computador entenda esta informação.

Você já deve ter chegado bem perto do seu monitor ou da sua televisão, a ponto de ter visto vários quadradinho coloridos, certo? Se não fez ainda, faça isso agora! Cada quadradinho é um pixel, que é a menor unidade da imagem.

Em cada pequeno espaço deste preenchemos com certa quantidade de três cores: Vermelho, Verde e Azul. E por que utilizamos apenas estas cores? Simplesmente porque após estudos, descobrimos que os nossos olhos possuem receptores sensíveis a estas três cores e a partir da combinação delas, podemos criar todas as outras. Isto é chamado espaço de cores RGB (Red, Green, Blue)

De forma simplificada, atribuímos valores de 0 a 255 para a cada uma das cores. Observe na imagem abaixo, para formar a cor Vermelho, “enchemos” o balde de cor Red com 255 e zeramos todos os outros e assim sucessivamente com a cor Verde, colocamos o valor 255, no segundo item que representa o Green e zeramos todos os outros, na cor Azul, colocar o 255 no terceiro item, que representa o Blue e zeramos os outros. No caso da cor preta, que é a ausência de todas as cores, colocamos o valor zero em todos os três campos e a cor branca “enchemos” o red, green e blue.

Em cada pixel, temos um valor associado para cada cor e a partir dai as técnicas de Machine Learning procuram padrões numéricos para identificar bordas, cores semelhantes e texturas.

Quando as imagem estão em preto e branco, tudo se torna mais simples, os pontos pretos se tornam 0 e os brancos se tornam 1. E o processo segue o mesmo, a máquina observa os exemplos e procura identificar um padrão nestes valores.

Em próximos artigos, vamos começar a explorar exemplos práticos e você vai começar a desenvolver suas primeiras aplicações em Visão Computacional.

Acompanhe esta série e deixe seu comentário com dúvidas, sugestões e dicas! 🙂

Leia também

Deixe uma resposta

O seu endereço de e-mail não será publicado.