v semana estadual de tecnologia da informação e ...§ões/iv setic... · entender o que é um...

99
Visão Computacional As aplicações e os impactos em nosso cotidiano V Semana Estadual de Tecnologia da Informação e Comunicação - TIC Lançamento do Livro Introdução à Visão Computacional Palestrante Felipe da Costa Barelli

Upload: others

Post on 02-Sep-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Visão ComputacionalAs aplicações e os impactos em nosso cotidiano

V Semana Estadual de Tecnologia da Informação e Comunicação - TICLançamento do Livro Introdução à Visão Computacional

Palestrante

Felipe da Costa Barelli

Page 2: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Quem é esse rapaz aí?

❏ Bacharel em Ciência da Computação pela Universidade Vila Velha

❏ Especialista em Engenharia Elétrica pelo Instituto Federal do Espírito Santo

❏ Sistema de controle de nível com realimentação por imagem.

❏ Sistema de monitoramento do uso de Equipamentos de Proteção Individual.

❏ Mestrando em Informática pela Universidade Federal do Espírito Santo

❏ Linha de pesquisa em Inteligência Computacional.

❏ Programador de Sistemas na Sollo Brasil

❏ Desenvolvimento de chatbots.

❏ Desenvolvimento de sistemas inteligentes para monitoria de qualidade.

Page 3: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Quem são vocês?

❏ Estudantes ou profissionais da área de desenvolvimento de software?

❏ Profissionais de outras áreas?

❏ Alguém já trabalhou no desenvolvimento de um sistema de Visão Computacional?

Page 4: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

O que posso esperar desta palestra?

❏ Entender o que é um sistema de Visão Computacional.

❏ Conversar sobre as aplicações desses sistemas em nosso cotidiano.

❏ Aprender técnicas e conhecer ferramentas para desenvolvê-los.

Page 5: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Qual o motivo para ação?

❏ Conhecer melhor a tecnologia que está substituindo homens por máquinas.

❏ Para quem deseja seguir carreira em uma empresa.

❏ Ser capaz de propor soluções para automatizar processos manuais.

❏ Desenvolver ferramentas de baixo custo comparadas as disponíveis no mercado.

❏ Para quem deseja empreender ou iniciar uma startup de tecnologia.

❏ Conhecer as tecnologias que viabilizam o desenvolvimento desses sistemas.

❏ Desenvolver soluções para automatizar processos realizados por humanos.

❏ Para quem deseja atuar na área de pesquisa.

❏ Conhecer e estudar os algoritmos utilizados nesses sistemas.

❏ Propor novos algoritmos ou otimizações dos algoritmos existentes.

Page 6: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Expectativa x Realidade

Expectativa Realidade

29 GRÃOS

Page 7: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Beleza! Mas o que é Visão Computacional?

❏ Visão Computacional é a ciência que estuda e desenvolve tecnologias que permitem

máquinas enxergar e extrair características do meio, através de imagens

capturadas por câmeras de vídeo, sensores, scanners e outros dispositivos.

Computer Vision

Dana H. Ballard, Christopher M. Brown

Prentice Hall; First edition (May 1, 1982)

Page 8: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Aplicações da Visão Computacional

❏ Detecção, classificação e contagem de objetos.

❏ Rastreamento de objetos em movimento.

❏ Estimar a velocidade e a posição de um alvo em movimento.

❏ Reconstrução de cena.

❏ Desenvolver um modelo tridimensional da cena a partir de duas ou mais imagens.

❏ Restauração de imagens.

❏ Remoção de ruídos e reconstrução de regiões com falhas.

Page 9: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Supermercados inteligentes

❏ Loja sem caixas de atendimento e

sem filas. O cliente entra, escolhe o

que quer, põe tudo em uma sacola e

vai embora. Simples assim.

Page 10: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Análise de tráfego

❏ Sistemas capazes de analisar o fluxo

de veículos e a velocidade de cada um

deles em uma rodovia.

Page 11: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Sistema de inspeção visual

❏ Indústria utiliza sistemas de Visão

Computacional para inspecionar se

peças metálicas foram cortadas

corretamente e não possuem falhas.

Page 12: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Campos de estudo relacionados

Processamentode Imagens

Física,Biologia,

Matemática

Aprendizado deMáquina

VisãoComputacional

Page 13: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Fluxo comum desses sistemas

AQUISIÇÃO DEIMAGEM

Page 14: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Fluxo comum desses sistemas

PRÉ PROCESSAMENTO

AQUISIÇÃO DEIMAGEM

Page 15: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Fluxo comum desses sistemas

PRÉ PROCESSAMENTO

AQUISIÇÃO DEIMAGEM

SEGMENTAÇÃO

Page 16: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Fluxo comum desses sistemas

EXTRAÇÃO DECARACTERÍSTICAS

PRÉ PROCESSAMENTO

AQUISIÇÃO DEIMAGEM

SEGMENTAÇÃO

Page 17: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Fluxo comum desses sistemas

RECONHECIMENTODE PADRÕES

EXTRAÇÃO DECARACTERÍSTICAS

PRÉ PROCESSAMENTO

AQUISIÇÃO DEIMAGEM

SEGMENTAÇÃO

Page 18: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Fluxo comum desses sistemas

RECONHECIMENTODE PADRÕES

RESULTADOEXTRAÇÃO DE

CARACTERÍSTICAS

PRÉ PROCESSAMENTO

AQUISIÇÃO DEIMAGEM

SEGMENTAÇÃO

Page 19: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Sistema Contador de Grãos

Page 20: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Sistema Contador de Grãos

29

Page 21: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Fluxo do sistema de contagem de grãos

RESULTADOEXTRAÇÃO DE

CARACTERÍSTICAS

PRÉ PROCESSAMENTO

AQUISIÇÃO DEIMAGEM

SEGMENTAÇÃO

Page 22: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Aquisição de Imagem

Page 23: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Capturar cena

Page 24: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Pré-processamento

Page 25: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Converter imagem RGB para Tons de Cinza

Page 26: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Imagem em Tons de Cinza

Page 27: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Redimensionar imagem

Page 28: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Segmentação do objeto de interesse

Page 29: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

❏ Considerando o valor 180 como limiar.

Segmentação por binarização

153 255 255 153 217 153

153 255 255 153 217 153

153 153 153 153 153 153

153 153 183 153 255 153

153 153 183 153 153 153

153 153 153 153 153 153

0 1 1 0 1 0

0 1 1 0 1 0

0 0 0 0 0 0

0 0 1 0 1 0

0 0 1 0 0 0

0 0 0 0 0 0

Page 30: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Segmentação por binarização

Page 31: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Obtendo o total de objetosem imagens binárias

Page 32: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Algoritmo baseado na área do objeto

❏ Total de pixels brancos: 20

Page 33: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Algoritmo baseado na área do objeto

❏ Total de pixels brancos: 20

❏ Área de um objeto:

Page 34: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Algoritmo baseado na área do objeto

❏ Total de pixels brancos: 20

❏ Área de um objeto: 4

❏ Total de objetos:

20 / 4 = 5 objetos

Page 35: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Vamos pensar um pouco?

❏ Qual seria uma limitação desse

algoritmo de contar objetos em

imagens a partir do valor médio

de pixels brancos que os

representam?

Page 36: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 x 0 0 0 0 0 0 0 0

0 x x 0 x x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 37: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 x 0 0 0 0 0 0 0 0

0 x x 0 x x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 38: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 x x 0 x x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 39: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 x x 0 x x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 40: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 x x 0 x x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 41: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 x x 0 x x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 42: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 x x 0 x x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 43: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 x x 0 x x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 44: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 x x 0 x x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 45: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 x x 0 x x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 46: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 x x 0 x x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 47: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 x x 0 x x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 48: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 x x 0 x x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 49: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 x 0 x x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 50: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 x 0 x x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 51: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 0 x x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 52: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 0 x x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 53: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 0 x x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 54: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 0 2 x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 55: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 0 2 x 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 56: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 0 2 2 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 57: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 0 2 2 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 58: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 0 2 2 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 59: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 0 2 2 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 60: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 0 2 2 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 61: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 0 2 2 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 62: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 0 2 2 0 0 0 0

0 x 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 63: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 0 2 2 0 0 0 0

0 1 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 64: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 0 2 2 0 0 0 0

0 1 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 65: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 0 2 2 0 0 0 0

0 1 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 66: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 0 2 2 0 0 0 0

0 1 0 0 x 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 67: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 0 2 2 0 0 0 0

0 1 0 0 2 0 0 0 0 0

0 0 0 0 0 0 x x x 0

0 0 x 0 0 0 x x 0

0 x x x 0 0 x x x 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

Page 68: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Componentes conectados

0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0

0 1 1 0 2 2 0 0 0 0

0 1 0 0 2 0 0 0 0 0

0 0 0 0 0 0 3 3 3 0

0 0 4 0 0 0 3 3 0

0 4 4 4 0 0 3 3 3 0

0 0 0 0 0 0 0 0 0 0

❏ Percorrer toda a imagem e verificar as

conexões entre os pixels brancos.

❏ Definir um rótulo para cada grupo de

pixels brancos conectados.

❏ 4 rótulos distintos.

Page 69: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Extração de características

Page 70: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Características dimensionais

❏ Área do objeto

40.000 pixels 20.000 pixels 31.432 pixels

Page 71: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Características dimensionais

❏ Perímetro do objeto

796 pixels 593 pixels 660 pixels

Page 72: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Características topológicas

❏ Número de vértices

4 vértices 3 vértices

Page 73: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Características topológicas

❏ Número de furos

1 2 3

Page 74: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Características topológicas

❏ Número de furos

❏ Indústria utiliza sistemas de Visão

Computacional para inspecionar se

peças metálicas foram cortadas

corretamente e não possuem falhas.

Page 75: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Reconhecimento de padrões

Page 76: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Reconhecimento de padrões

❏ O Reconhecimento de Padrões é o campo da ciência que estuda técnicas para

descrever padrões de objetos a fim de classificá-los.

❏ Nos sistemas baseados em Visão Computacional, as técnicas de reconhecimento de

padrões são essenciais, pois possibilitam a classificação automática de um objeto

de interesse.

Page 77: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Aprendizagem Supervisionada

Page 78: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Classificador K-NN

Page 79: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Classificador K-NN

Page 80: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Classificador K-NN

K = 5

Page 81: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Classificador K-NN

K = 5

Page 82: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Revisando

RECONHECIMENTODE PADRÕES

RESULTADOEXTRAÇÃO DE

CARACTERÍSTICAS

PRÉ PROCESSAMENTO

AQUISIÇÃO DEIMAGEM

SEGMENTAÇÃO

Page 83: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Ferramentas para desenvolver sistemasde Visão Computacional

Page 84: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Google & Microsoft Vision API

❏ Serviços em nuvem com API para C#, Java, Python.

❏ Descrever e rotular imagem.

❏ Detectar conteúdo adulto.

❏ Detectar faces.

❏ Análisar sentimento em imagem.

Page 85: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Microsoft Vision API

Page 86: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Microsoft Vision API

Page 87: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Google Vision API

Page 88: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Google Vision API

Page 89: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Google Vision API

Page 90: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Câmera Intel REALSENSE SR300

Page 91: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Câmera Intel REALSENSE SR300

❏ Kit de desenvolvedor Intel® RealSense™

❏ Ferramentas para reconhecimento facial.

❏ Ferramentas para reconhecimento de gestos.

❏ API para análise de sentimento na imagem.

Page 92: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

MatLab

❏ Software proprietário, desenvolvido pela MathWorks Inc.

❏ Multiplataforma, com versões para Windows, MacOS e Linux.

❏ Foi desenvolvida nas linguagens de programação C e Java.

❏ É um software destinado a fazer cálculos com matrizes.

❏ MATLAB = MATrix LABoratory

Page 93: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

OpenCV

❏ Originalmente, desenvolvida pela Intel, em 2000.

❏ Biblioteca multiplataforma, totalmente livre ao uso acadêmico e comercial.

❏ Foi desenvolvida nas linguagens de programação C/C++.

❏ Foi desenvolvida também para Java e Python.

Page 94: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Leituras recomendadas

Page 95: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Introdução à Visão Computacional

Usando MATLAB

André Ricardo Backes

Jarbas Joaci de Mesquita Sá Junior

Editora Alta Books

Page 96: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Fundamentos de Processamento

Digital de Imagens: Uma Abordagem Prática

com Exemplos em Matlab

Chris Solomon

Toby Breckon

Editora LTC

Page 97: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Processamento Digital de Imagens

Rafael C. Gonzalez

Richard E. Woods

Editora Pearson

Page 98: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

Introdução à Visão Computacional:

Uma abordagem prática com Python e OpenCV

Felipe Barelli

Editora Casa do Código

Page 99: V Semana Estadual de Tecnologia da Informação e ...§ões/IV SETIC... · Entender o que é um sistema de Visão Computacional. Conversar sobre as aplicações desses sistemas em

FIMPartiu sorteio!

@felipecbarelli

+55 27 99227-4710

[email protected]