Você está na página 1de 45

VISÃO COMPUTACIONAL: O GUIA COMPLETO

PLAN
LOREM OF ATTACK
Parte 1 IPSUM Parte 2 – FACE DETECTION
Parte 3 Parte 4 Parte 5
Redes neurais para Redes neurais
Detecção de Reconhecimento Rastreamento convolucionais para
classificação de
faces facial de objetos imagens classificação de
imagens

Parte 6 Parte 7 Parte 8 Parte 9 Parte 10

Transferência de Redes neurais para Autoencoders Detecção de Reconhecimento


aprendizagem e classificação de objetos com de textos com
fine tuning emoções OCR
YOLO

Parte 11
Parte 12 Parte 13 Parte 14 Parte 15
Reconhecimento
Deep dream Transferência de GANs (Generative Segmentação
de gestos e Adversarial
estilo de imagens
ações Networks)
DETECÇÃO DE FACES

1. Detecção de faces com Haarcascade e OpenCV


2. Detecção de faces com HOG e Dlib
3. Detecção de faces com CNN e Dlib
4. Detecção de faces pela webcam
PIXELS

RGB
32 pixels

32 pixels

32 x 32 = 1024 pixels
32 x 32 x 3 = 3072
CLASSIFICADOR CASCADE

AdaBoost
Training

Não faces Feature


selection

Faces

Aplicado em cada “sub-janela”


CLASSIFICADOR CASCADE

Soma dos pixels brancos –


soma dos pixels pretos

Mais de 160.000
2356
combinações em uma 8921
imagem 24x24!
CLASSIFICADOR CASCADE
CLASSIFICADOR CASCADE
HOG – HISTOGRAMS OF ORIENTED GRADIENTS

Derivada permite medir o grau de mudança


(derivada zero, derivada pequena e derivada alta)

Gradient vector (direção que os valores aumentam)

Fonte das imagens: https://www.learnopencv.com/histogram-of-oriented-gradients/


HOG – HISTOGRAMS OF ORIENTED GRADIENTS
HOG – HISTOGRAMS OF ORIENTED GRADIENTS
RECONHECIMENTO FACIAL

1. Reconhecimento facial com LBPH e OpenCV


2. Reconhecimento facial com Dlib, CNN e cálculos de distância
3. Reconhecimento facial pela webcam
LBPH (LOCAL BINARY PATTERNS HISTOGRAMS)

42 55 48

35 38 33

38 30 32
12 15 18
Binário = 11100010
5 8 3
Se >= 8: 1 1 1 1
8 1 2 Se < 8: 0
0 8 0

1 0 0

Binário = 11100010 (226 – decimal)


LBPH (LOCAL BINARY PATTERNS HISTOGRAMS)

Edge Corner

110 201
240

Fonte: https://bytefish.de/blog/local_binary_patterns/
LBPH (LOCAL BINARY PATTERNS HISTOGRAMS)

1. Radius 12 15 18
2. Neighbors 5 8 3
3. grid_x and grid_y 8 1 2
4. Threshold

Fonte: https://en.wikipedia.org/wiki/Local_binary_patterns
RASTREAMENTO DE OBJETOS

1. Rastreamento de objetos x Detecção de objetos


2. KCF (Kernel Correlation Filters)
3. CSRT (Discriminative Correlation Filter with Channel and Spatial
Reliability)
4. Implementações com OpenCV
RASTREAMENTO X DETECÇÃO
KCF (KERNEL CORRELATION FILTERS)

Source: https://www.groundai.com/project/enkcf-ensemble-of-kernelized-correlation-filters-for-high-speed-object-tracking/1
CSRT (DISCRIMINATIVE CORRELATION FILTER WITH
CHANNEL AND SPATIAL RELIABILITY)

1. Da esquerda para direira: “training patch” com a seleção do objeto a ser rastreado
2. HOG para extrair informação útil da imagem
3. Apliação de “Random Markov Test” para gerar probabilidades
4. “Training patch” mascarado usando um mapa de confiança

Fonte: https://www.arxiv-vanity.com/papers/1611.08461/
REDES NEURAIS ARTIFICIAIS PARA
CLASSIFICAÇÃO DE IMAGENS
1. Intuição sobre redes neurais artificiais
2. Redes neurais usando todos os pixels das imagens
3. Extração de características com o OpenCV
4. Redes neurais usando as características das imagens
PIXELS

RGB
32 pixels

32 pixels

32 x 32 = 1024 pixels
32 x 32 x 3 = 3072
PIXELS

0,1,1,1,0,0,1,0,1,0,0,1,1,1,0,0,0,0,1,0,0,1,1,1,0,9

0,1,1,1,0,0,1,0,0,0,0,1,1,1,0,0,1,0,1,0,0,1,1,1,0,6
EXTRAÇÃO DE CARACTERÍSTICAS

Marrom (boca) Laranja (camisa)


Azul (calça) Azul (calça)
Cinza (sapatos) Azul (tênis)
REDES NEURAIS CONVOLUCIONAIS PARA
CLASSIFICAÇÃO DE IMAGENS
1. Intuição sobre redes neurais convolucionais
2. Redes neurais convolucionais para classificação de imagens
TRANSFERÊNCIA DE APRENDIZAGEM E FINE
TUNING
1. Intuição sobre transferência de aprendizagem
2. Implementação
3. Intuição sobre “fine tuning”
4. Implementação
TRANSFERÊNCIA DE APRENDIZAGEM

TRANSFERÊNCIA
TRANSFERÊNCIA DE APRENDIZAGEM
0 1 0 1 0 2
0 1 0 1 0 2 1 2
0 20 11 10 21 0 2 1 2 1
0 2 1 1 2 3 32 21 2
1 20 02
2 13
1 01 12 0 3 32 21 2
2 Elefante
ImageNet 1
1
3123
2
20 31 1 0
03
2 123 11
2
12 0 3
3
33
3
523
52
3
12
12
2
2
3 Cobra
1 3 3 0 302 211 01 12 0 3 33 35 2
1 31 113 233 253 32 1
1 3 1 1 302 522 13 11 2
3
3
33
3
35
5
2
3 Leão
1 13 31 33 35 2
3 3 5
13 13 23 23 32 1 2
1 1 3 5
1 13 31 33 35 2 3

Características 1 3 1 3 5
3

gerais 5

Transferência dos pesos Camadas específicas para


classificação
2
0 1 0 1 0
0 1 0 1 0 2 1 2 1
0 20 11 10 21 0 2 1 2
0 2 1 1 2 3 32 21 2 2
1 20 02
2 13
1 01 12 0 3 32 21 2
Imagens
1
1
3123
2
20 31 1 0
03 12 0 3 33 523 12 2 3 Gato
2 123 11
2 3 3 52
3 12 2
personalizadas 1 3
3 30 21 01 12 0 3 33 35 2 Cachorro
1 31 113 0233 2253 132 1 3 33 35 2
3
1 3 1 1 302 522 1 11 2 3 3 5
1 13 31 33 35 32 2
3 3 5
1 13 31 33 235
1 2 32 1
3
1 13 31 33 35 2
3
1 3 1 3 5
5
FINE TUNING
0 1 0 1 0 2
0 1 0 1 0 2 1 2
0 20 11 10 21 0 2 1 2 1
0 2 1 1 2 3 32 21 2
1 20 02
2 13
1 01 12 0 3 32 21 2
2 Elefante
ImageNet 1
1
31
23
2
20 31 1 0
03
2 123 112
12 0 3
3
33
3
523
52
3
12
12
2
2
3 Cobra
1 3 3 0 302 211 01 12 0 3 33 35 2
1 31 13 33 253 32
1 2 1
1 3 1 1 302 522 13 11 2
3
3
33
3
35
5
2
3 Leão
1 13 31 33 35 2
3 3 5
13 13 23 23 32 1 2
1 1 3 5
1 13 31 33 35 2 Treinar algumas 3

Características 1 3 1 3 5 camadas convolucionais 3

gerais 5

Transferência dos pesos Camadas específicas para


classificação
2
0 1 0 1 0
0 1 0 1 0 2 1 2 1
0 20 11 10 21 0 2 1 2
0 2
1 2 1 3 32 21 2 2
1 20131 01 02
2 12 0 3 32 21 2
Imagens 1 2
20 31 1 0
1 31 32 32 23 11 12 0 3 33 523 12 2 3 Gato
0 2 1 3 3 52
3 12 2
personalizadas 1 3 3 30 21 01 12 0 3 33 35 2 Cachorro
1 31 113 0233 2253 132 1 3 33 35 2
3
1 3 1 1 302 522 1 11 2 3 3 5
1 13 31 33 35 32 2
3 3 5
1 13 131 233 235 32 1
3
1 13 31 33 35 2
3
1 3 1 3 5
5
REDES NEURAIS PARA CLASSIFICAÇÃO DE
EMOÇÕES
1. Implementação de redes neurais convolucionais
2. Detecção de emoções em imagens
3. Detecção de emoções em vídeos

Fonte: EPFL
AUTOENCODERS

1. Intuição sobre autoencoders


2. Implementação de autoencoders lineares
3. Implementação de autoencoders convolucionais
DETECÇÃO DE OBJETOS COM YOLO – YOU
ONLY LOOK ONCE
1. Intuição sobre YOLO
2. Detecção de objetos em imagens - Darknet
3. Detecção de objetos em vídeos
OCR COM TESSERACT

1. Introdução ao Tesseract
2. Implementação
RECONHECIMENTO DE GESTOS E AÇÕES

1. Intuição sobre reconhecimento de gestos e ações


2. Implementação utilizando imagens e vídeos
MODELO MPII

http://human-pose.mpi-inf.mpg.de/
MPII – PONTOS CORPORAIS

0 Cabeça 9 Joelho direito


1 Pescoço 10 Tornozelo direito

2 Ombro direito 11 Quadril esquerdo

3 Cotovelo direito 12 Joelho esquerdo

4 Pulso direito 13 Tornozelo


esquerdo
5 Ombro esquerdo
14 Peito
6 Cotovelo esquerdo
15 Fundo
7 Pulso esquerdo

8 Quadril direito
DEEP DREAM

1. Intuição sobre deep dream


2. Implementação
DEEP DREAM

0 1 0 1 0 2
0 1 0 1 0 2 1 2
0 20 11 10 21 0 2 1 2 1
0 2 1 1 2 3 32 21 2
1 20 02
2 13
1 01 12 0 3 32 21 2
2 Elephant
ImageNet 1
1
31
23
2
20 31 1 0
03
2 123 112
12 0 3
3
33
3
523
52
3
12
12
2
2
3 Snake
1 3 3 0 302 211 01 12 0 3 33 35 2
1 31 13 33 253 32
1 2 1
1 3 1 1 302 522 13 11 2
3
3
33
3
35
5
2
3 Lion
1 13 31 33 35 2
3 3 5
13 13 23 23 32 1 2
1 1 3 5
1 13 31 33 35 2 3

Características gerais 1 3 1 3 5
3

Camadas para classificação


TRANSFERÊNCIA DE ESTILO

1. Intuição sobre transferência de estilo


2. Implementação

Fonte das imagens: https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Gatys_Image_Style_Transfer_CVPR_2016_paper.pdf


TRANSFERÊNCIA DE ESTILO

Activations (ReLU)
TRANSFERÊNCIA DE ESTILO
REDES ADVERSARIAIS GENERATIVAS

1. Intuição sobre GANS


2. Implementação

Fonte das imagens: https://jonathan-hui.medium.com/gan-some-cool-applications-of-gans-4c9ecca35900


SEGMENTAÇÃO DE IMAGENS

1. Intuição sobre segmentação


2. Implementação

Fonte das imagens: data-flair.training & deepsense.ai


SEGMENTAÇÃO POR INSTÂNCIA X SEMÂNTICA

Fonte: NVIDIA Developer Blog

Fonte: Garcia et al

Fonte: Pexels
MASK R-CNN

• Construída baseado em: R-CNN (2013), Fast R-CNN (2015) e Faster R-CNN
(2015), all by Girshick et al.

Fonte: https://arxiv.org/abs/1703.06870
R-CNN, FAST R-CNN E FASTER R-CNN

Original R-CNN Architecture Faster R-CNN Architecture

Fonte: Girshick et al,. 2013)

Fast R-CNN Architecture

Source: Girshick et al., 2015) Fonte: Girshick et al., 2015)

Você também pode gostar