SlideShare uma empresa Scribd logo
1 de 41
Como o e o .
reconhecem nas fotos?
#computer-vision
#deep-learning
#data-science
https://www.linkedin.com/in/rafaelleonhardt
rafaelleonhardt@gmail.com
Photo Tag
Visão Computacional
Visão Computacional x Visão Humana
Imagem: http://datascienceacademy.com.br
Atividades comuns
Imagem: http://datascienceacademy.com.br
Imagem
Imagem: http://blog.kleinproject.org/?p=588
MATRIZ
Imagem colorida
R
RED
G
GREEN
B
BLUE
3 MATRIZES
#channels
O início
Características
#DEMO1
=
Convolução
Filtros
(bordas)
Aprendizagem
Supervisionada
Big Data+
Deep Learning
Anotações
Anotações
Anotações
FACE LOCATION
FACE LANDMARKS
Redes Neurais Convolucionais - CNNs
Arquiteturas
Convolução Pooling
Arquiteturas – GoogleLeNet Inception
Parâmetros: 5 milhões (V1) e 23 milhões (V3)
Arquiteturas – Microsoft ResNet
Parâmetros: 25 milhões (ResNet 50)
Parâmetros: 193 milhões (ResNeXt 101)
Arquiteturas – Facebook ResNeXt
Tempo de processamento: 22 dias (treinando)
Imagens utilizadas: 35 bilhões
Processamento: 336 GPUs com 42 servidores
Arquiteturas - Evolução
Processo de Aprendizagem
Angelina Jolie
(ground thruth)
correct?
bias
pixels
pesos
aleatórios
learning rate
RESULTADO: VALOR DOS PESOS – (Wx)
[1] Face Detection – Estratégias
Sliding Window YOLO (You Only Look Once)
#DEMO2
[2] Feature Extraction [3] Classification
#DEMO3
Face Recognition
Transfer Learning
ARQUITETURA + PESOS
Opção: trocar a camada de classificação
(dense layer)
#DEMO5
Spoofing
Anti-spoofing
#DEMO7
• Liveness
– Piscar
– Movimentos específicos
– Textura
– Qualidade em Zoom
– Veias sanguíneas
• 3D Face points
– Sensor Infravermelho
Métricas
• False Acceptance Rate (FAR): proporção de vezes que autoriza alguém não autorizado (erro);
• False Rejection Rate (FRR): proporção de vezes que não autoriza alguém autorizado (erro);
• Equal Error Rate (EER): proporção igual para FAR e FRR
SEGURANÇA X CONFORTO
Toolbox
Quer saber mais?
Prof. Amaral &
Jones Granatyr
Andrew Ng
#computer-vision
#deep-learning
#data-science
https://www.linkedin.com/in/rafaelleonhardt
http://hackerspaceblumenau.slack.com #IA
Vamos conversar?

Mais conteúdo relacionado

Semelhante a Introdução à Visão Computacional com Deep Learning

Realidade Aumentada aplicada na visualização de plantas baixas
Realidade Aumentada aplicada na visualização de plantas baixasRealidade Aumentada aplicada na visualização de plantas baixas
Realidade Aumentada aplicada na visualização de plantas baixas
Fabrício Martinezzi Beazim
 
Arquitetura de Informação - Personas e Cenários
Arquitetura de Informação - Personas e CenáriosArquitetura de Informação - Personas e Cenários
Arquitetura de Informação - Personas e Cenários
posgraduacaorj
 
Crystalfinal 100906101303-phpapp02
Crystalfinal 100906101303-phpapp02Crystalfinal 100906101303-phpapp02
Crystalfinal 100906101303-phpapp02
Aldemir Almeida
 

Semelhante a Introdução à Visão Computacional com Deep Learning (20)

Introdução à Teoria dos Grafos e Análise de Redes Sociais
Introdução à Teoria dos Grafos e Análise de Redes SociaisIntrodução à Teoria dos Grafos e Análise de Redes Sociais
Introdução à Teoria dos Grafos e Análise de Redes Sociais
 
Análise de Redes Sociais / Gephi
Análise de Redes Sociais / GephiAnálise de Redes Sociais / Gephi
Análise de Redes Sociais / Gephi
 
Big data e data science
Big data e data scienceBig data e data science
Big data e data science
 
Realidade Aumentada aplicada na visualização de plantas baixas
Realidade Aumentada aplicada na visualização de plantas baixasRealidade Aumentada aplicada na visualização de plantas baixas
Realidade Aumentada aplicada na visualização de plantas baixas
 
Estratégia de Mensuração para Produtos Digitais - UXConfBR 2018 - Huxley Dias
Estratégia de Mensuração para Produtos Digitais - UXConfBR 2018 - Huxley DiasEstratégia de Mensuração para Produtos Digitais - UXConfBR 2018 - Huxley Dias
Estratégia de Mensuração para Produtos Digitais - UXConfBR 2018 - Huxley Dias
 
Mensuração e Visualização de Dados
Mensuração e Visualização de DadosMensuração e Visualização de Dados
Mensuração e Visualização de Dados
 
Arquitetura de Informação - Personas e Cenários
Arquitetura de Informação - Personas e CenáriosArquitetura de Informação - Personas e Cenários
Arquitetura de Informação - Personas e Cenários
 
Pensamento Computacional, Programação e Robótica no 1º CEB
Pensamento Computacional, Programação e Robótica no 1º CEBPensamento Computacional, Programação e Robótica no 1º CEB
Pensamento Computacional, Programação e Robótica no 1º CEB
 
[Ci2015] sim rva
[Ci2015] sim  rva[Ci2015] sim  rva
[Ci2015] sim rva
 
Redes Complexas aplicadas a Redes Sociais (09/05/2012 - FMU)
Redes Complexas aplicadas a Redes Sociais (09/05/2012 - FMU)Redes Complexas aplicadas a Redes Sociais (09/05/2012 - FMU)
Redes Complexas aplicadas a Redes Sociais (09/05/2012 - FMU)
 
Tcc final - fsa2006
Tcc   final - fsa2006Tcc   final - fsa2006
Tcc final - fsa2006
 
PARAGRAM - Design Computacional aplicado ao BIM
PARAGRAM - Design Computacional aplicado ao BIMPARAGRAM - Design Computacional aplicado ao BIM
PARAGRAM - Design Computacional aplicado ao BIM
 
Arquitetura da Informação
Arquitetura da InformaçãoArquitetura da Informação
Arquitetura da Informação
 
Introdução á disciplina de Webdesign - turma 1 Sem 2015
Introdução á disciplina de Webdesign - turma 1 Sem 2015Introdução á disciplina de Webdesign - turma 1 Sem 2015
Introdução á disciplina de Webdesign - turma 1 Sem 2015
 
Vitor portfólio prof tecnico 2016 free lance
Vitor portfólio prof tecnico 2016   free lanceVitor portfólio prof tecnico 2016   free lance
Vitor portfólio prof tecnico 2016 free lance
 
Cv alexandre rezendedecastro
Cv alexandre rezendedecastroCv alexandre rezendedecastro
Cv alexandre rezendedecastro
 
Crystalfinal 100906101303-phpapp02
Crystalfinal 100906101303-phpapp02Crystalfinal 100906101303-phpapp02
Crystalfinal 100906101303-phpapp02
 
Uma DSL de Engenharia Reversa para Modelagem de Banco de Dados Relacionais e ...
Uma DSL de Engenharia Reversa para Modelagem de Banco de Dados Relacionais e ...Uma DSL de Engenharia Reversa para Modelagem de Banco de Dados Relacionais e ...
Uma DSL de Engenharia Reversa para Modelagem de Banco de Dados Relacionais e ...
 
Questionário sobre modelagem revisão da tentativa
Questionário sobre modelagem  revisão da tentativaQuestionário sobre modelagem  revisão da tentativa
Questionário sobre modelagem revisão da tentativa
 
5ª Edição da P.G. DSI
5ª Edição da P.G. DSI5ª Edição da P.G. DSI
5ª Edição da P.G. DSI
 

Introdução à Visão Computacional com Deep Learning

Notas do Editor

  1. INTRODUÇÃO CV E DL PERGUNTAS: CV, DL . (quanto já fizeram algo?) CONTATOS
  2. FUNCIONALIDADE DE RECONHECIMENTO DE FACE E PESSOA PERMITE: tag, busca, relacionar, albuns LINKED => MAS antes, vamos entender um pouco onde esta sendo aplicado CV
  3. https://www.youtube.com/watch?v=aE1kA0Jy0Xg AREAS DE GRANDE CIRCULAÇÃO, POLICIA, FAIXA DE PEDESTRES PROTESTOS, MANIFESTANTES USANDO LASER PARA EVITAR O RECONHECIMENTO LINK => Mas não apenas reconhcer alguem, mas tambem entender o que está acontecendo…
  4. CARRO AUTONOMO, PESSOAS, PLACAS, SACOLAS, SEMAFARO LINK => PARA ENTAO chegarmos a soluções que nos ajudem em nosso dia a dia como é o caso de uma proposta de carro autonomo focado no ser humano.
  5. MIT, CAPACIDADE AUMENTADA LINK => E PODERIAMOS ficar horas dando exemplos bem sucedidos de aplicação de IA e Visão computacional nos dias de hojes… Esse é um modelo de IA que eu considerado que nos trará resultados mais rápidos no momento, onde aumentamos a capacidade humana e ajudamos o ser humano em atividades do dia a dia, sem substituir totalmente as decisões e sem tilar a liberdade do ser humano. Source: https://www.youtube.com/watch?v=OoC8oH0CLGc Monitora se esta olhando apra a Estrada, tempo de uso do cellular, risco de seguranca. Chega num ponto que o carro pede para assumir o controle e dirigir sozinho. Impacto para seguradoras.
  6. ENTENDER E INTERPRETAR AS IMAGENS LINK => IMITAR ----- E TENTA de certa forma, imitar a forma que nós enxergamos e interpretamos o mundo atraves da visão… Um dos grandes responsaveis é a visão computacional…. Conceito: area que tenta fazer os computadores terem um alto entendimento a partir de informacoes visuais como imagens e videos. Area que utiliza inteligencia artificial, matematica e processamento de imagens. Morfologia – estudo da forma (formato e estrutura)
  7. LINK => E TEMOS algumas atividades que são muito comuns quando trabalhamos com CV.
  8. LINK - IMAGEM Todas estas atividades são realizadas analisando imagens….. LINK => MAS o que é uma imagem para o computador?
  9. LINK => IMG MAIORES COMPLEXA MAS temos imagens muito maiores e mais complexas…
  10. LINK - COMO RECONHECE OBJETOS EM MATRIZES FONTE RGB - https://mylearningsinaiml.wordpress.com/deep-learning/dl4cv/image-fundamentals/ 3D - https://www.researchgate.net/figure/A-three-dimensional-RGB-matrix-Each-layer-of-the-matrix-is-a-two-dimensional-matrix_fig6_267210444
  11. LINK -> BASEOU as tecnicas de cv Cerebro detecta formas mais simples e vai juntando tudo para detector e entender formas mais complexas. 1981 – ganharam premio nobel de medicina LINK => ENTAO isso deu base para que programasse uma forma de explicar pro computador o que ele deveria fazer.
  12. DESCARTAR, DESTACAR, EXTRAIR, INSTAGRAM DEMO: LOGO, NOTA, ROSTO LINK -> CENARIOS COMUNS Tentou-se simular o funcionamento do cerebro humano, identificando primeiro formas mais simples como bordas horizontas e verticias, para depois formar formas mais complexas. Citar quando aplicamos Filtros no Instagram, o que estamos fazendo é multiplicando a imagem original por um filtro/matriz pré-definida. Assim extraimos caracteristicas da imagem, eliminando coisas que não agregam informação. Canny, Sobel, Prewitt, Edge Detector. --- PERCORRRE A IMAGEM MULTIPLICANDO Kernels / Mask / Filters / Convolução Percorre a matriz original multiplicando pelo kernel e dando origem a uma nova matriz (imagem) Objetivo: remover informação não essencial e destacar informações uteis. DEMO: LOGO DA SENIOR, minha MAO, ROSTO e um CUPOM FISCAL FILTRO DO INSTAGRAM é a mesma coisa!!! Na demo usar diferentes tectnicas de borda => https://handmap.github.io/gradients-and-edge-detection/ Fonte GIF: https://www.analyticsindiamag.com/computer-vision-primer-how-ai-sees-an-image/ A feature descriptor is a representation of an image or an image patch that simplifies the image by extracting useful information and throwing away extraneous information. LINK => ISSO funcionou bem em cenarios comuns https://handmap.github.io/gradients-and-edge-detection/
  13. CABECA PARA BAIXO LINK -> NOVA ABORDAGEM Tentava-se programar o raciocinio logico que fazemos, mas no mundo real nem sempre isso é facil. Funcionava bem, mas nao era muito bom e dependendia de varias situacoes para dar certo. Precisavam de uma nova abordagem, que é onde entra o Deep Learning. A variedade de imagem de um mesmo objeto é muito grande, pode estar de cabeca pra baixo, ocluso, etc. Ficando quase impossivel programar algo realmente preciso e generico. LINK => ENTAO precisávamos de uma nova abordagem para avancar…
  14. GRANDE EVOLUCAO, SUPERAR CAPACIDADE HUMANA, OBVIO http://healthland.time.com/2012/07/09/study-why-dogs-and-cats-make-babies-healthier/ http://theconversation.com/babies-and-pets-a-guide-for-new-parents-96494 DAD+CAT https://www.freepik.com/free-photo/daughter-dad-looking-cat-autumn-park_2816544.htm IMPORTANTE: Aprendizagem supervisionada já se usava com Machine Learning, a diferenca com Deep Learning é o volume de dados e a feature selection.
  15. LINK -> NAO BASTA BIGDATA CRU, SUPERVISAO (PAI) LEFT https://www.argility.com/argility-ecosystem-solutions/iot/machine-learning-deep-learning/ Vantagem da Deep Learning: Quanto mais dados melhor ela fica, enquanto que em ML a performace se estabiliza mesmo com mais dados. Em DL, o trabalho do cientista não está mais na escolha das caracteristicas, mas na montage da arquitetura da rede neural. Daqui a pouco vamos entender como funciona uma rede neural. LINK => MAS, não basta pegar um monte de imagens e jogar para a rede neural…
  16. FAZER PARA SENTADO, CORRENDO, CADA CASO DE USO AWS, REDUZIR Trabalho manual absurdo. Pessoas andando, correndo, sentadas, deitadas, cabeca pra baixo, etc Já tem algumas tecnicas para reduzir o esforco, mas ainda hoje dá muito trabalho. Amazon Mechanical Turkey. ImageNet – 50 mil pessoas em 167 paises anotando imagens e usando Amazon Mechanical Turkey, é o maior case de anotação até hoje – 5 bilhoes de imagens em 22 mil categorias. LINK => E PARA CADA tipo de problema, você precisa anotar um volume muito grande de imagens,…
  17. NUMERO DE CASA, TRECHO DE LIVRO, ETC
  18. MANUAL, AUTOMATIZAR, AWS TURKEY, SNAPCHAT, ASSINATURA DIGITAL DO ROSTO, DATASETS PUBLICOS ANOTADOS LINK - > ENTAO ...IA Trabalho manual absurdo. Já tem algumas tecnicas para reduzir o esforco, mas ainda hoje dá muito trabalho. Amazon Mechanical Turkey. Snapchat que coloca acessorios nos locais certos do rosto e manipula a imagem. Precisa da colicalizaçao da boca, olhos, etc nao só do rosto como um todo LINK => ENTAO digamos que fizemos todo esse trabalho de anotação….
  19. BORDAS, PARTES DOS OBJETOS, OBJETOS O trabalho do cientista está em definer a arquitetura da rede, fazer ajustes finos (hyper-parametros), etc. LEARN FEAT: https://medium.com/intro-to-artificial-intelligence/simple-image-classification-using-deep-learning-deep-learning-series-2-5e5b89e97926
  20. EXPLICAR TRABALHO DO CIENTISTA (ARQ) (COM RELU ou TANH, AO INVES DE TERMOS UMA MUDANCA SUAVE DE COR (LINEAR), ELA FORCA UMA MUDANCA MAIS BRUCAS (NAO LINEAR). As funções de ativação permitem que pequenas mudanças nos pesos e bias causem apenas uma pequena alteração no output. Esse é o fato crucial que permitirá que uma rede de neurônios artificiais aprenda. Elas basicamente decidem se um neurônio deve ser ativado ou não. Ou seja, se a informação que o neurônio está recebendo é relevante para a informação fornecida ou deve ser ignorada. (POOLING reduz a dimensionalidade e melhora a generalização usando por exemplos valores médios, e evitando o overfitting para algumas imagens (mesmo tamanho e angulao)) DEPTH é a quantidade de camadas, profyndidade NORMALIZACAO (técnica de regualizaçao, ajuste para evitar uma dificuldade na convergencia do aprendizado e melhorando a generalizacao) https://devblogs.nvidia.com/accelerate-machine-learning-cudnn-deep-neural-network-library/ https://www.rsipvision.com/exploring-deep-learning/ https://www.michaelchimenti.com/tag/cnn/ Pesos aleatorios nos filtros. The Rectified Linear Unit, or ReLU, is not a separate component of the convolutional neural networks' process. It's a supplementary step to the convolution operation. The purpose of applying the rectifier function is to increase the non-linearity in our images. (COM RELU, AO INVES DE TERMOS UMA MUDANCA SUAVE DE COR (LINEAR), ELA FORCA UMA MUDANCA MAIS BRUCAS (NAO LINEAR). The reason we want to do that is that images are naturally non-linear. When you look at any image, you'll find it contains a lot of non-linear features (e.g. the transition between pixels, the borders, the colors, etc.). The rectifier serves to break up the linearity even further in order to make up for the linearity that we might impose an image when we put it through the convolution operation. https://www.superdatascience.com/blogs/the-ultimate-guide-to-convolutional-neural-networks-cnn Batch normalization is used to address the issues related to internal covariance shift within feature maps. The internal covariance shift is a change in the distribution of hidden units’ values, which slow down the convergence (by forcing learning rate to small value) and requires careful initialization of parameters. Furthermore, it smoothen the flow of gradient and acts as a regulating factor, which improves generalization of the network without relying on dropout. (https://arxiv.org/pdf/1901.06032.pdf)
  21. https://devblogs.nvidia.com/accelerate-machine-learning-cudnn-deep-neural-network-library/ https://www.rsipvision.com/exploring-deep-learning/ https://www.michaelchimenti.com/tag/cnn/ Pesos aleatorios nos filtros. Para cada imagem, calcula 5 a 23 milhoes de parametros.
  22. Para cada imagem, calcula 25 milhoes de parametros.
  23. Evolucao: https://towardsdatascience.com/illustrated-10-cnn-architectures-95d78ace614d Ranking: https://paperswithcode.com/sota/image-classification-on-imagenet The number of paths inside the ResNeXt block is defined as cardinality.
  24. Simular o trainmento com a brincadeira de quente ou frio (sala escura e precisa encontrar a porta) Mostrar entao os assuntos do slide com imagens (gradiente, back, formulas, etc) No final, temos um conjunto de PESOS que é o resultado do aprendizado de máquina. O desafio é chegar nesses pesos, pois precisa de muitas imagens, de muita CPU e GPU para processor todos os calculos. Felizmente, emprersas como Google, Microsoft, Facebook, fizeram esse trabalho e distribuiram para a comunidade arquivos já com esses pesos e as arquiteturas de redes neurias que eles usaram Funcoes de ativacao: Relu, Sigmoid, Tanh https://missinglink.ai/guides/neural-network-concepts/complete-guide-artificial-neural-networks/
  25. DEMO: carregar rede neural, resize 300, foward, shapes demo usa SSD para Object Detection Sliding Window – roda uma rede para cada window YOLO : roda uma rede para a imagem toda (usa Anchors) SSD?????? : : roda uma rede para a imagem toda https://towardsdatascience.com/yolo-you-only-look-once-real-time-object-detection-explained-492dc9230006 https://heartbeat.fritz.ai/gentle-guide-on-how-yolo-object-localization-works-with-keras-part-2-65fe59ac12d
  26. FACE EMBEDDING -> CLASSIFICACAO Resultado é um hash (assinatura digital do meu rosto baseado na posicao dos 64 pontos do rosto (landmarks). Mesma pessoa tem uma distancia pequena, enquanto pessoas diferentes tem uma grande distancia. Triple Loss – minimiza a distancia da mesma pessoa e maximiza a distancia de pessoas distintas. http://www.pinchofintelligence.com/simple-introduction-to-tensorboard-embedding-visualisation/
  27. DEMO - URL DA PHILIPS Chamar duas pessoas para tirar foto e treinar o reconhecimento….no final da palestra, ver se reconheceu eles. Face Alignment pode usar alguns pontos (olhos, nariz)
  28. ARQUITETURA + PESOS PESOS INICIAIS NAO ALEATORIOS DEMO = LINK (tamanho dos arquivos, codigo, etc) - Mostrar o arquivo que esta sendo carregado. TensorFlow Ao inves de comecar de pesos aleatorios, nosso treinamento já comeca com os pesos finais do Google e Facebook. Ou seja, é como se tivessemos todas aquelas imagens e CPU e mais as nossas imagens.
  29. Demo com foto do cellular reconhecendo uma pessoa.
  30. Demo com uma imagem no Celular (blink liveness) Algumas técnicas: textura, infrared, etc. FaceId da Apple, problema com gemeos. RealSence Camera https://github.com/rishikksh20/Liveness-Detection/blob/master/opencv_video.py
  31. DSA Coursera Udemy PyImageSearch #IA