Visão computacional — 1

Henrique Peixoto Machado
3 min readMay 28, 2020

Essa semana concluí uma especialização em visão computacional e reparei que grande parte dos conteúdos que estudei eram em inglês. Há um gap muito grande de conteúdos em nosso idioma e para tentar ajudar nessa produção de conteúdo nacional, vou contar sobre o meu aprendizado neste curso feito pela deeplearning.ai.

Dividirei em três partes: a primeira trazendo a introdução do tema; a segunda focada nos conceitos e a terceira com o meu projeto mostrando o poder da ferramenta.

Então começando, o que é visão computacional?

Enxergar o mundo para nós humanos é algo natural, quando nascemos abrimos os olhos e vemos o mundo. Entretanto para computadores é algo muito difícil. Desde que criados computadores vem superando humanos em áreas como matemática e memória, mas até pouco tempo atrás se você pegasse uma foto contendo uma imagem de carro e perguntasse se tinha um carro ou não na foto ele não saberia responder ou teria muita dificuldade.

Hoje vivemos numa era que milhões de imagens são geradas por minuto, por exemplo, mesmo ficando o dia todo no instagram é difícil acompanhar todas as fotos do seu feed. Agora imagina como é difícil para o próprio Instagram saber quais fotos você gosta para lhe mostrar?

É aí que entra o campo da visão computacional, atualmente visão computacional vem resolvendo problemas desde análise de diagnóstico na medicina à se a foto que você postou na sua rede social vai contra alguma regra de uso (mamilos são polêmicos até hoje).

Mas como computadores vêem o mundo?

Computadores não vêem o mundo por imagens, mas sim por matrizes de RGB (red, green and blue), quando se junta essa matrizes uma imagem é formada:

Como computadores enxergam as imagens.
Como que apenas com vermelho, verde e azul conseguimos atingir todas as cores.

Todas as imagens do seu computador/celular/câmera podem ser traduzidas para matrizes RGB. Entretanto olhar para os valores RGB e saber se tem um carro ou não na foto são coisas bem diferentes.

Até pouco tempo, computadores só sabiam reconhecer imagens que tivessem uma matrix RGB exatamente igual a outra, então uma pequena mudança de luz ou posição a imagem já seria classificada como uma nova foto, então ao invés de aprender quais características constituem o objeto os programas apenas comparavam matrizes.

Desde os anos 2000 com os avanços na área de Machine Learning computadores começaram a aprender por si mesmo, e vem revolucionando diversas áreas, e visão computacional foi uma delas.

Com algoritmos chamados de Convolutional neural network (ConvNet) é possível identificarmos os mais variados tipos de objetos em uma imagem, ao invés de procurar por matrizes exatamente iguais, às ConvNets aprendem quais features (características) o objeto possui, e após isso é capaz de identifica-lo em qualquer lugar da imagem:

Já dá para imaginar que os usos para isso são dos mais variados!

Agora sobre os detalhes de como uma convolutional neural network funciona é um assunto mais técnico, e ficará para o segundo post dessa série que você pode acessar neste link: https://medium.com/@h.peixoto.m/convolutional-neural-network-convnet-cnn-2-bbc9c01bee9b?sk=7dd1233436e94572c33c48bd1cb8501c

Posso te pedir um favor? ❤

Se você gostou desse conteúdo, curta e comente. Isso ajuda esse conteúdo a atingir mais interessados e me motiva a continuar escrevendo e publicando por aqui. Obrigado! Grande abraço e até o próximo conteúdo

--

--