SlideShare uma empresa Scribd logo
1 de 21
Baixar para ler offline
Visão Computacional com Raspberry Pi
Meetup AI Brasil – 04/10/2018 @ FC Nuvem
• Corredor de media e longa distância
• Diabético
• Programa desde os 11 anos
• “Tocador” de violão e guitarra
• 29 anos de carreira
• Cientista-chefe da Foursys (RD&I)
• Tecnológo em Proc. Dados
• Pós-Graduado em Solution Architect
• Pós-Graduado em Estatística Aplicada
linkedin.com/in/fulviomascara
@fulviomascara
… E CRACHÁ!
CARA…
Agenda
FUNDAMENTOS RAMIFICAÇÕES APLICAÇÕES
RECONHECIMENTO
FACIAL
RASPBERRY PI DEMO & CODE
Fundamentos
Visão computacional é uma aplicação de inteligência artificial destinada a replicar o comportamento da
visão humana, com o uso de hardware e software, com o objetivo de extrair informações úteis através da
captura e tratamento de imagens, sejam elas estáticas ou em movimento.
RECONHECER IDENTIFICAR DETECTAR CLASSIFICAR
Ramificações
PAISAGENSPONTOS DE
INTERESSE
CENAS PESSOAS ANIMAIS
FACES MOVIMENTO TEXTO EMOÇÃO OBJETOS
Aplicações
Reconhecimento Facial
Pipeline Funcional
Encontrar nome
a partir da
codificação
FACIAL
RECOGNITION
Identificar faces
Rotular face Armazenar face
DATA
GATHERING
Capturar
imagem
Encontrar as
faces em uma
imagem
Posicionar e
projetar cada
face
Codificar face
DEFAULT
PATH
Reconhecimento Facial
Capturar imagem
DEVICES
PESSOAS DE INTERESSE
SAÍDA
Reconhecimento Facial
Encontrar faces numa imagem
Algoritmo de Viola-Jones
• Criado em 2001
• Identifica padrões que existem no rosto humano
• Classifica objetos baseado no valor de características
Haar-like para cada subseção de uma imagem
• Utiliza Adaboost para selecionar as melhores
características e formar um classificador robusto
• O objetivo é trabalhar com as melhores características
para que seja mais rápido que operar com pixels
#haar #haar-cascade #viola-jones #lienhart-maydt
Reconhecimento Facial
Encontrar faces numa imagem
HOG – Histograma de Gradientes Orientados
• Criado em 2005 pot Dalal e Triggs
• Histogramas normalizados dos gradientes orientados
presentes em uma janela de detecção
• Corta a imagem original em células de tamanho padrão
• O objetivo é descobrir o quão escuro o pixel atual é,
comparado aos seus vizinhos diretos, desenhando uma
seta mostrando a direção onde a imagem fica mais
escura
• Para detecção da face em si, temos que encontrar cada
parte da nossa imagem que se pareça com um padrão
HOG conhecido que tenha sido extraído de uma base de
faces de treinamento
#hog #histogramoforientedgradients
Reconhecimento Facial
Posicionar e projetar cada face
Face Landmark Detection
• Criado em 2014 por Kazemi e Sullivan
• Identifica 68 pontos específicos em todo rosto
(landmarks)
• Lidar com o problema de quando um rosto pode parecer
totalmente diferente para um computador quando muda
a direção
• Com base nos pontos detectados, podemos rotacionar,
escalar, cisalhar para que os olhos e a boca fiquem o
mais centralizado possível
#face-landmark-detection #kazemi-sullivan
Reconhecimento Facial
Codificar face
Convolutional Neural Network (CNN)
• Invariância de translação
• Convolução é inspirada parcialmente pela ciência
da computação e biologia
• Dividir uma imagem em recortes sobrepostos,
através de uma janela deslizante
• Passe cada recorte para uma rede neural menor
• Se o objeto de interesse aparecer no recorte,
marcar como interessante
• Salvar os resultados de cada recorte em um novo
vetor
• Redução por amostragem (downsampling)
• Realizar uma predição em outra rede neural (fully-
connected)
#cnn #convolution
Reconhecimento Facial
Codificar face
Embedding
• Criada por pesquisadores do Google em 2015
• Treinar uma Deep CNN para gerar 128 medidas
para cada rosto
• Ajusta a rede para que as medidas de imagens
diferentes de uma mesma pessoa sejam similares
• Ajusta a rede para que a medida de uma imagem
de uma pessoa X seja diferente da medida de uma
imagem de uma pessoa Y
• A ideia é que com 10 fotos diferentes da mesma
pessoa, a rede vai gerar aproximadamente as
mesmas medidas
• OpenFace já realizou o treinamento e publicou rede
prontas pra serem utilizadas
#enbedding #openface #facenet
Reconhecimento Facial
Rotular imagem
IMAGES EMBEDDINGS
Thaissa
Fulvio
Pedro
Poliana
LABELS
Reconhecimento Facial
Armazenar imagem
IMAGES EMBEDDINGS
Thaissa
Fulvio
Pedro
Poliana
LABELS PICKLE FILE
Reconhecimento Facial
Encontrar nome a partir da codificação
IMAGES
Thaissa
Fulvio
Pedro
Poliana
LABELSPICKLE FILEEMBEDDINGS
Treinar
Classificador
Confrontar com
Base
TASKS
Reconhecimento Facial
Identificar faces
Pedro
Thaissa
Reconhecimento Facial
Wrap-up
Raspberry Pi
Raspberry Pi
• Criada no Reino Unido em 2012
• Mais de 19 Milhões de unidades vendidas até
Março/2018
• Foco em ensino básico de ciência da computação
em escolas e países em desenvolvimento
• Possui um conjunto integrado para integração com
periféricos através de USB, Bluetooth e HDMI
• Permite a utilização de sensores de IoT para
projetos Maker através de uma interface GPIO
• Permite o uso de SO Linux (com ou sem ambiente
gráfico), além de SO Windows (10 IoT Core)
Dúvidas?

Mais conteúdo relacionado

Semelhante a AI BRASIL - Visão Computacional com Raspberry Pi

Inteligência Artificial e o Ensino da Informática.pdf
Inteligência Artificial  e o Ensino da Informática.pdfInteligência Artificial  e o Ensino da Informática.pdf
Inteligência Artificial e o Ensino da Informática.pdfFernanda Ledesma
 
10 Fatos que você precisa saber sobre Design de Serviços
10 Fatos que você precisa saber sobre Design de Serviços10 Fatos que você precisa saber sobre Design de Serviços
10 Fatos que você precisa saber sobre Design de Serviços.add
 
10 coisas que você precisa saber sobre Service Design
10 coisas que você precisa saber sobre Service Design10 coisas que você precisa saber sobre Service Design
10 coisas que você precisa saber sobre Service DesignVictor Gonçalves
 
InovaSession - Design Thinking 2012
InovaSession - Design Thinking 2012InovaSession - Design Thinking 2012
InovaSession - Design Thinking 2012rcmello13
 
BootCamp Design Thinking - Como criar estratégias criativas para expansão nac...
BootCamp Design Thinking - Como criar estratégias criativas para expansão nac...BootCamp Design Thinking - Como criar estratégias criativas para expansão nac...
BootCamp Design Thinking - Como criar estratégias criativas para expansão nac...Laboratorium
 
Face Detection
Face DetectionFace Detection
Face Detectionjaulomag
 
Inovação Centrada no Usuário
Inovação Centrada no UsuárioInovação Centrada no Usuário
Inovação Centrada no UsuárioMourylise Heymer
 
Aula 1 - Técnicas de PrototipaçãoI
Aula 1 - Técnicas de PrototipaçãoIAula 1 - Técnicas de PrototipaçãoI
Aula 1 - Técnicas de PrototipaçãoIPaolo Passeri
 
Como transformar pesquisa em ideias
Como transformar pesquisa em ideiasComo transformar pesquisa em ideias
Como transformar pesquisa em ideiasAmyris Fernandez
 
Project Kickoff Worshop with Cervejaria Ambev Innovation Specialist
Project Kickoff Worshop with Cervejaria Ambev Innovation SpecialistProject Kickoff Worshop with Cervejaria Ambev Innovation Specialist
Project Kickoff Worshop with Cervejaria Ambev Innovation SpecialistProduct School
 
Como construir uma boa realidade aumentada
Como construir uma boa realidade aumentadaComo construir uma boa realidade aumentada
Como construir uma boa realidade aumentadaVinícius da Costa
 
[IEC - PUC Minas] Redes e Mídias Sociais - Panorama, arquétipos e personas
[IEC - PUC Minas] Redes e Mídias Sociais - Panorama, arquétipos e personas[IEC - PUC Minas] Redes e Mídias Sociais - Panorama, arquétipos e personas
[IEC - PUC Minas] Redes e Mídias Sociais - Panorama, arquétipos e personasCamila Florêncio
 
Criando produtos e serviços reais para o mundo virtual.
Criando produtos e serviços reais para o mundo virtual.Criando produtos e serviços reais para o mundo virtual.
Criando produtos e serviços reais para o mundo virtual.Jane Vita
 
Android things, machine learning e maquinas de doces
Android things, machine learning e maquinas de doces Android things, machine learning e maquinas de doces
Android things, machine learning e maquinas de doces Alvaro Viebrantz
 
“Ativando inteligência com Big Data”.
“Ativando inteligência com Big Data”.“Ativando inteligência com Big Data”.
“Ativando inteligência com Big Data”.digitaltuesday
 

Semelhante a AI BRASIL - Visão Computacional com Raspberry Pi (20)

Inteligência Artificial e o Ensino da Informática.pdf
Inteligência Artificial  e o Ensino da Informática.pdfInteligência Artificial  e o Ensino da Informática.pdf
Inteligência Artificial e o Ensino da Informática.pdf
 
Design Centrado no Ser Humano
Design Centrado no Ser HumanoDesign Centrado no Ser Humano
Design Centrado no Ser Humano
 
10 Fatos que você precisa saber sobre Design de Serviços
10 Fatos que você precisa saber sobre Design de Serviços10 Fatos que você precisa saber sobre Design de Serviços
10 Fatos que você precisa saber sobre Design de Serviços
 
10 coisas que você precisa saber sobre Service Design
10 coisas que você precisa saber sobre Service Design10 coisas que você precisa saber sobre Service Design
10 coisas que você precisa saber sobre Service Design
 
InovaSession - Design Thinking 2012
InovaSession - Design Thinking 2012InovaSession - Design Thinking 2012
InovaSession - Design Thinking 2012
 
BootCamp Design Thinking - Como criar estratégias criativas para expansão nac...
BootCamp Design Thinking - Como criar estratégias criativas para expansão nac...BootCamp Design Thinking - Como criar estratégias criativas para expansão nac...
BootCamp Design Thinking - Como criar estratégias criativas para expansão nac...
 
27 05-10-final se liga3
27 05-10-final se liga327 05-10-final se liga3
27 05-10-final se liga3
 
Face Detection
Face DetectionFace Detection
Face Detection
 
Inovação Centrada no Usuário
Inovação Centrada no UsuárioInovação Centrada no Usuário
Inovação Centrada no Usuário
 
Aula 1 - Técnicas de PrototipaçãoI
Aula 1 - Técnicas de PrototipaçãoIAula 1 - Técnicas de PrototipaçãoI
Aula 1 - Técnicas de PrototipaçãoI
 
Como transformar pesquisa em ideias
Como transformar pesquisa em ideiasComo transformar pesquisa em ideias
Como transformar pesquisa em ideias
 
Project Kickoff Worshop with Cervejaria Ambev Innovation Specialist
Project Kickoff Worshop with Cervejaria Ambev Innovation SpecialistProject Kickoff Worshop with Cervejaria Ambev Innovation Specialist
Project Kickoff Worshop with Cervejaria Ambev Innovation Specialist
 
Como construir uma boa realidade aumentada
Como construir uma boa realidade aumentadaComo construir uma boa realidade aumentada
Como construir uma boa realidade aumentada
 
[IEC - PUC Minas] Redes e Mídias Sociais - Panorama, arquétipos e personas
[IEC - PUC Minas] Redes e Mídias Sociais - Panorama, arquétipos e personas[IEC - PUC Minas] Redes e Mídias Sociais - Panorama, arquétipos e personas
[IEC - PUC Minas] Redes e Mídias Sociais - Panorama, arquétipos e personas
 
Criando produtos e serviços reais para o mundo virtual.
Criando produtos e serviços reais para o mundo virtual.Criando produtos e serviços reais para o mundo virtual.
Criando produtos e serviços reais para o mundo virtual.
 
Android things, machine learning e maquinas de doces
Android things, machine learning e maquinas de doces Android things, machine learning e maquinas de doces
Android things, machine learning e maquinas de doces
 
Design thinking E-info
Design thinking E-infoDesign thinking E-info
Design thinking E-info
 
“Ativando inteligência com Big Data”.
“Ativando inteligência com Big Data”.“Ativando inteligência com Big Data”.
“Ativando inteligência com Big Data”.
 
R4 ipe blog
R4 ipe blogR4 ipe blog
R4 ipe blog
 
ISA11 - Isabel Fróes: Métodos de Design
ISA11 - Isabel Fróes: Métodos de DesignISA11 - Isabel Fróes: Métodos de Design
ISA11 - Isabel Fróes: Métodos de Design
 

AI BRASIL - Visão Computacional com Raspberry Pi

  • 1. Visão Computacional com Raspberry Pi Meetup AI Brasil – 04/10/2018 @ FC Nuvem
  • 2. • Corredor de media e longa distância • Diabético • Programa desde os 11 anos • “Tocador” de violão e guitarra • 29 anos de carreira • Cientista-chefe da Foursys (RD&I) • Tecnológo em Proc. Dados • Pós-Graduado em Solution Architect • Pós-Graduado em Estatística Aplicada linkedin.com/in/fulviomascara @fulviomascara … E CRACHÁ! CARA…
  • 4. Fundamentos Visão computacional é uma aplicação de inteligência artificial destinada a replicar o comportamento da visão humana, com o uso de hardware e software, com o objetivo de extrair informações úteis através da captura e tratamento de imagens, sejam elas estáticas ou em movimento. RECONHECER IDENTIFICAR DETECTAR CLASSIFICAR
  • 5. Ramificações PAISAGENSPONTOS DE INTERESSE CENAS PESSOAS ANIMAIS FACES MOVIMENTO TEXTO EMOÇÃO OBJETOS
  • 7. Reconhecimento Facial Pipeline Funcional Encontrar nome a partir da codificação FACIAL RECOGNITION Identificar faces Rotular face Armazenar face DATA GATHERING Capturar imagem Encontrar as faces em uma imagem Posicionar e projetar cada face Codificar face DEFAULT PATH
  • 9. Reconhecimento Facial Encontrar faces numa imagem Algoritmo de Viola-Jones • Criado em 2001 • Identifica padrões que existem no rosto humano • Classifica objetos baseado no valor de características Haar-like para cada subseção de uma imagem • Utiliza Adaboost para selecionar as melhores características e formar um classificador robusto • O objetivo é trabalhar com as melhores características para que seja mais rápido que operar com pixels #haar #haar-cascade #viola-jones #lienhart-maydt
  • 10. Reconhecimento Facial Encontrar faces numa imagem HOG – Histograma de Gradientes Orientados • Criado em 2005 pot Dalal e Triggs • Histogramas normalizados dos gradientes orientados presentes em uma janela de detecção • Corta a imagem original em células de tamanho padrão • O objetivo é descobrir o quão escuro o pixel atual é, comparado aos seus vizinhos diretos, desenhando uma seta mostrando a direção onde a imagem fica mais escura • Para detecção da face em si, temos que encontrar cada parte da nossa imagem que se pareça com um padrão HOG conhecido que tenha sido extraído de uma base de faces de treinamento #hog #histogramoforientedgradients
  • 11. Reconhecimento Facial Posicionar e projetar cada face Face Landmark Detection • Criado em 2014 por Kazemi e Sullivan • Identifica 68 pontos específicos em todo rosto (landmarks) • Lidar com o problema de quando um rosto pode parecer totalmente diferente para um computador quando muda a direção • Com base nos pontos detectados, podemos rotacionar, escalar, cisalhar para que os olhos e a boca fiquem o mais centralizado possível #face-landmark-detection #kazemi-sullivan
  • 12. Reconhecimento Facial Codificar face Convolutional Neural Network (CNN) • Invariância de translação • Convolução é inspirada parcialmente pela ciência da computação e biologia • Dividir uma imagem em recortes sobrepostos, através de uma janela deslizante • Passe cada recorte para uma rede neural menor • Se o objeto de interesse aparecer no recorte, marcar como interessante • Salvar os resultados de cada recorte em um novo vetor • Redução por amostragem (downsampling) • Realizar uma predição em outra rede neural (fully- connected) #cnn #convolution
  • 13. Reconhecimento Facial Codificar face Embedding • Criada por pesquisadores do Google em 2015 • Treinar uma Deep CNN para gerar 128 medidas para cada rosto • Ajusta a rede para que as medidas de imagens diferentes de uma mesma pessoa sejam similares • Ajusta a rede para que a medida de uma imagem de uma pessoa X seja diferente da medida de uma imagem de uma pessoa Y • A ideia é que com 10 fotos diferentes da mesma pessoa, a rede vai gerar aproximadamente as mesmas medidas • OpenFace já realizou o treinamento e publicou rede prontas pra serem utilizadas #enbedding #openface #facenet
  • 14. Reconhecimento Facial Rotular imagem IMAGES EMBEDDINGS Thaissa Fulvio Pedro Poliana LABELS
  • 15. Reconhecimento Facial Armazenar imagem IMAGES EMBEDDINGS Thaissa Fulvio Pedro Poliana LABELS PICKLE FILE
  • 16. Reconhecimento Facial Encontrar nome a partir da codificação IMAGES Thaissa Fulvio Pedro Poliana LABELSPICKLE FILEEMBEDDINGS Treinar Classificador Confrontar com Base TASKS
  • 19. Raspberry Pi Raspberry Pi • Criada no Reino Unido em 2012 • Mais de 19 Milhões de unidades vendidas até Março/2018 • Foco em ensino básico de ciência da computação em escolas e países em desenvolvimento • Possui um conjunto integrado para integração com periféricos através de USB, Bluetooth e HDMI • Permite a utilização de sensores de IoT para projetos Maker através de uma interface GPIO • Permite o uso de SO Linux (com ou sem ambiente gráfico), além de SO Windows (10 IoT Core)
  • 20.