1 of 41

Fundamentos de Visão Computacional

2 of 41

Objetivos de Aprendizagem

Compreender os conceitos básicos de Visão Computacional.

Compreender as habilidades práticas de Visão Computacional, fomentando a resolução de desafios e a criatividade.

Proporcionar as habilidades necessárias para compreender e utilizar a Visão Computacional que lhe permita ampliar suas capacidades de programação e explorar diferentes áreas de aplicação.

3 of 41

Índice de conteúdos

  1. O que é Visão Computacional?
  2. Como o Computador vê Imagens
  3. Representação de Cores em Imagens
  4. Visão Computacional e Matemática
  5. Detecção de Bordas e Gradiente
  6. Convolução e Reconhecimento de Padrões
  7. Aplicação Prática de Matrizes
  8. Fechamento
  9. Desafio Final

4 of 41

Introdução

5 of 41

O que é Visão Computacional?

A Visão Computacional é um campo da inteligência artificial que permite que computadores extraiam, analisem e interpretem informações de imagens e vídeos.

A ideia é fazer com que os computadores 'vejam' e tomem decisões baseadas nas informações visuais.

6 of 41

O que é Visão Computacional?

Exemplos do cotidiano:

  • Reconhecimento facial no celular
  • Carros autônomos identificando obstáculos
  • Câmeras de segurança inteligentes

Veremos detalhes de aplicações na próxima aula

7 of 41

Como o computador

reconhece imagens

8 of 41

Pixels

  • As imagens que vemos são compostas por pequenos pontos chamados pixels.
  • Cada pixel carrega informações sobre a cor e a intensidade da luz.
  • O computador transforma essas imagens em uma matriz de pixels, onde cada número representa a intensidade da cor.

Um Pixel

9 of 41

Representação de cores em imagens

As cores em uma imagem digital são representadas por combinações de vermelho, verde e azul (Red, Green and Blue) - RGB.

Cada pixel contém um valor numérico entre 0 e 255 que indica a intensidade dessas três cores, combinando-as é possível formar diferentes cores.

10 of 41

Visão computacional e matemática

11 of 41

Visão computacional e matemática

Você sabe por que a matemática é importante para a Visão Computacional?

12 of 41

Visão computacional e matemática

A matemática é fundamental para a visão computacional, pois permite que o computador processe imagens de maneira eficiente.

A imagem é convertida em uma matriz de pixels, onde cada número representa a intensidade de cor de um pixel.

Operações matemáticas aplicadas a essa matriz permitem que o computador encontre padrões, formas e bordas.

13 of 41

Visão computacional e matemática

  • Operações com Matrizes são usadas para modificar e interpretar imagens.
    • Multiplicação de Matrizes: utilizada para transformar e ajustar imagens.
    • Produto interno: extrair características

14 of 41

Fases da visão computacional

A evolução da visão computacional pode ser dividida em duas fases:

  • Métodos clássicos (engenharia de características) - detecção de bordas, extração manual de descritores, classificadores tradicionais.�
  • Modelos modernos (Convoluções e Redes Neurais) - aprendizado automático de características e melhor desempenho com grandes volumes de dados.

15 of 41

Detecção de bordas

16 of 41

Detecção de bordas

A detecção de bordas é uma técnica de visão computacional que identifica as áreas de uma imagem onde há uma mudança de cor ou luminosidade. Isso permite que o computador identifique o contorno de objetos.

É útil para tarefas como identificação de objetos, reconhecimento de formas e navegação de robôs.

17 of 41

Detecção de Bordas e Gradientes

O computador calcula o gradiente de uma imagem, ou seja, a variação na intensidade de cor entre os pixels vizinhos, para identificar onde as bordas estão localizadas.

18 of 41

Convolução e

reconhecimento de padrões

19 of 41

Convolução e reconhecimento de padrões

A Convolução é uma operação matemática essencial na Visão Computacional.

Função Principal: Permite ao computador identificar padrões específicos em uma imagem de forma indireta, sem a extração direta desses elementos.

Mecanismo: A matriz de convolução atua como um filtro que percorre a imagem, aplicando cálculos para destacar automaticamente características importantes, como: bordas, texturas e formas

Aplicação: Esta técnica é fundamental em diversos algoritmos de Visão Computacional, sendo amplamente utilizada para o reconhecimento de objetos e a segmentação de imagens.

20 of 41

Convolução e reconhecimento de padrões

A matriz de convolução é aplicada sobre diferentes regiões da imagem usando o conceito de produto interno.

HORA

DA REVISÃO!

21 of 41

Revisão de Matemática

Imagine dois vetores:

a=[1, 2, 3] e b=[4, 5, 6]

O resultado do produto interno é a⋅b = (1x4)+(2x5)+(3x6) = 4+10+18 = 32

Na operação de convolução, o procedimento é o mesmo, mas usamos matrizes ao invés de vetores.

22 of 41

Convolução e reconhecimento de padrões

Como realizar uma convolução sobre uma imagem?

Vamos entender melhor a figura ao lado

23 of 41

Convolução e reconhecimento de padrões

O que estamos vendo?

  • A matriz maior representa os píxeis de uma imagem;�
  • A matriz do meio é o filtro de convolução;�
  • A menor matriz é o resultado da operação de convolução.

24 of 41

Convolução e reconhecimento de padrões

O resultado da convolução é obtido pela multiplicação das matrizes:

(1×1) + (0×0) + (0×1) + (1×0) + (1×1) + (0×0) + (1×1) + (1×0) + (1×1) = 4

25 of 41

Convolução e reconhecimento de padrões

Essa operação é repetida diversas vezes até que toda a imagem tenha sido processada pela matriz de convolução. Com isso, a convolução vai extraindo, em diferentes regiões, por exemplo:

  • bordas, horizontais, verticais e diagonais
  • cantos e mudanças bruscas de intensidade, claro para escuro e vice-versa
  • texturas e padrões repetitivos, como listras e granulações
  • contornos de objetos e partes relevantes, como olhos, rodas, placas
  • formas mais complexas, combinando padrões simples em estruturas maiores

26 of 41

Imagens x Vídeos

Em geral, as mesmas técnicas usadas em imagens servem para vídeos

  • Vídeo = sequência de imagens, cada imagem é um quadro (frame)�
  • FPS (Frames Por Segundo): quantas imagens aparecem em 1 segundo, exemplos comuns: 24, 30, 60 fps �
  • Resolução do vídeo: por exemplo, 1280×720 (HD), 1920×1080 (Full HD), quanto maior, mais detalhes para processar nos frames

27 of 41

Tarefas que usam visão computacional

Classificação: responder “o que é isso?”, exemplo: “é um cachorro ou um gato?”�

28 of 41

Tarefas que usam visão computacional

Detecção: responder “o que é e onde está?”, exemplo: “tem 3 pessoas e estão aqui”, usando caixas delimitadoras (bounding boxes)

29 of 41

Tarefas que usam visão computacional

Segmentação: responder “quais píxeis são do objeto?”, exemplo: “pintar” somente a pessoa e o carro, separando do fundo

30 of 41

Tarefas que usam visão computacional

Rastreamento: responder “para onde ele foi?”, exemplo: seguir a mesma pessoa ao longo do vídeo → outras pessoas e objetos são ignorados, e o mesmo identificador (ID) é mantido entre os frames

31 of 41

Tarefas que usam visão computacional

Estimativa de pose: identificar pontos do corpo, exemplo: cotovelos, joelhos, ombros, …

32 of 41

Tarefas que usam visão computacional

Reconhecimento de ações: inferir ações, exemplo: “correndo”, “pulando”, “sentando”�

33 of 41

Atividade Principal

34 of 41

Desafio Final

  1. Escolha uma imagem do seu celular ou da internet. Identifique as principais bordas e áreas de contraste. Pense: como o computador detectaria esses objetos usando as operações que aprendemos, como convolução e detecção de bordas?
  2. Além disso, pense em uma aplicação prática de visão computacional no seu cotidiano. Onde ela poderia ser útil? Pode ser em um aplicativo que você usa, na sua casa ou até na escola.

Compartilhe sua ideia com a turma.

35 of 41

Fechamento

36 of 41

Fechamento

  • Aprendemos como os computadores conseguem interpretar imagens, extraindo informações e identificando objetos.
  • Imagens são representadas como matrizes de píxeis, onde cada valor representa a cor e a intensidade de luz de cada ponto.
  • Exploramos como a álgebra linear e a geometria são usadas para processar e manipular imagens.
  • A detecção de bordas nos ajuda a identificar onde há mudanças bruscas de cor ou luz, facilitando o reconhecimento de objetos.
  • A convolução é uma operação que aplica filtros para detectar bordas, texturas e formas nas imagens, sendo usada no reconhecimento de objetos.

37 of 41

Referências

38 of 41

Referências

KAUER, Gisele. Anonimização, pseudonimização e criptografia: Perguntas frequentes, definições e o que diz a LGPD. Disponível em: <https://www.infranewstelecom.com.br/anonimizacao-pseudonimizacao-e-criptografia-perguntas-frequentes-definicoes-e-o-que-diz-a-lgpd/>. Acesso em: 16 ago. 2024.

Salgado, Danielle. Técnicas de coleta de dados: tudo que você precisa saber. Opinion Box. 2023. Disponível em: <https://blog.opinionbox.com/tecnicas-de-coleta-de-dados/>. Acesso em: 25 out. 2024.

TUDOCELULAR.COM. Google é processada no Arizona por uso indevido de dados de localização. TudoCelular.com. Disponível em: <https://www.tudocelular.com/seguranca/noticias/n157363/google-processada-no-arizona.html>. Acesso em: 15 ago. 2024.

Entenda o escândalo de uso político de dados que derrubou valor do Facebook e o colocou na mira de autoridades. G1. Disponível em: <https://g1.globo.com/economia/tecnologia/noticia/entenda-o-escandalo-de-uso-politico-de-dados-que-derrubou-valor-do-facebook-e-o-colocou-na-mira-de-autoridades.ghtml>. Acesso em: 15 ago. 2024.

38

39 of 41

Produção do Material

  • Universidade Federal da Bahia (UFBA)�
  • Universidade do Estado da Bahia (UNEB)�
  • SENAI/CIMATEC�
  • Universidade Estadual de Feira de Santana (UEFS)�
  • Universidade Estadual do Sudoeste da Bahia (UESB)�
  • Universidade Estadual de Santa Cruz (UESC)�
  • Instituto Federal Baiano (IFBaiano)

39

40 of 41

Apoio

41 of 41

Apoio

41