Visão computacional e 10 bases de dados para desenvolver seu portfólio
Diferente de dados tabulares, imagens e vídeos são dados não estruturados e, portanto, exigem metodologias diferentes de manipulações.
Nesse post, vamos falar sobre como o computador enxerga as imagens e os vídeos, um exemplo de manipulação e 10 projetos para o seu portfólio de visão computacional!
Para o computador, o que é uma imagem?
Imagens são matrizes! Sua cores são representadas por um ou mais números, dependendo do espaço de cores utilizado.
No espaço RGB, por exemplo, as imagens são um conjunto de três números R, G e B. A figura abaixo, apresenta um exemplo de como a imagem é vista pelo computador.
Aumento de brilho
Manipular uma imagem significa manipular números, onde, em escala de cinza:
0 = preto
255 = branco
Se você quer aumentar o brilho da imagem, por exemplo, basta adicionar um valor x em todos os valores da imagem. Quando maior x, mais brilho a imagem terá (limitando a soma a 255).
De forma lógica, o processo de aumento de brilho em 100 pontos de intensidade funciona da seguinte forma:
- leia a imagem I
- para cada pixel y da imagem I, adicione 100.
- mostre a imagem
Na prática, em python podemos utilizar a biblioteca opencv de forma simplificada no Google Colab:
#importe as bibliotecas necessárias#opencv
import cv2 #necessárias para mostrar a imagem
from google.colab.patches import cv2_imshow#necessária para criar a imagem de brilho
import numpy as np
#caminho da imagem
imagePath = 'Fruit-Vegetable-Processing.jpg'
#link para a imagem utilizar - https://www.jbtc.com/foodtech/wp-content/uploads/sites/2/2021/08/Fruit-Vegetable-Processing.jpg
#lendo a imagem
image = cv2.imread(imagePath)#criando image imagem do mesmo tamanho para ser o 'brilho'
bright = np.zeros_like(image);#adicionaremos um brilho de 100 em cada pixel
bright[:,:] = [100,100,100]; # (b,g,r)#some 100 em cada pixel da imagem
brilho = cv2.add(image, bright);#caso a soma ultrapasse 255 (máximo), limite-o a 255 (branco)
brilho[brilho > 255] = 255#mostre a imagem original
cv2_imshow(image)#mostre a imagem de brilho
cv2_imshow(brilho)#espere um comando
cv2.waitKey()
Resultado:
E vídeos, o que são?
Vídeos são apenas uma sequência de imagens!
Quando vemos 60fps, significa que temos 60 imagens por segundo no vídeo.
Vídeos em câmera lenta têm, em geral, 240 fps, ou seja, são tiradas 240 fotos por segundo.
A figura abaixo mostra um exemplo de imagens por segundo para cada ‘frame rate’
Visão computacional
Quando falamos sobre inteligência artificial, lembramos de máquinas imitando o poder humano em todos os sentidos.
A visão é um deles! Isso significa, não apenas enxergar e exibi-las, mas também processá-las. Compreender o que está contido e, em muito casos, tomar decisões.
O carro autonomo é um exemplo de sistema inteligente. O veículo deve ser capaz de:
- enxergar através de cêmeras e sensores 3D
- identificar os itens no cenário e
- decidir qual a próxima posição tomar.
Agora que você aprendeu os principais conceitos da visão computacional, vamos a alguns dados/projetos para construir seu portfólio?
10 Projetos de visão computacional para montar seu porfólio:
1. Face Mask detection
2. Capa de invisibilidade
3. Face recognition
4. CT scans for COVID detection
5. Análise de dados geospaciais do INPE
6. Reconhecimento de gestos
7. Detecção — OCR
8. Detecção de carro
9. Detecção de pose
10. Detecção de roupas (Fashion MNIST)
Gostou? Não deixe de seguir o blog para mais!