tchelinux 2014 visão computacional
TRANSCRIPT
![Page 2: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/2.jpg)
Quem é esse cara aí?
❏ UFPEL❏ Ciência da Computação❏ Visão Computacional❏ Rastreamento de Pedestres
![Page 3: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/3.jpg)
Visão Computacional
❏ Sub-área da Inteligência Artificial❏ Multidisciplinar❏ Inspiração neurobiológica❏ Dar significado a imagens digitais
![Page 4: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/4.jpg)
![Page 5: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/5.jpg)
![Page 6: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/6.jpg)
![Page 7: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/7.jpg)
![Page 8: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/8.jpg)
![Page 9: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/9.jpg)
![Page 10: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/10.jpg)
Também serve para fazer as
pessoas parecerem
mongolóides pulando na
frente de um televisor
![Page 11: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/11.jpg)
INTRODUÇÃO
![Page 12: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/12.jpg)
Conceito de Imagem Digital
❏ Representação numérica de uma imagem bidimensional em forma binária
❏ Assim permite seu armazenamento ou reprodução por meios eletrônicos
❏ Podem ser do tipo raster ou vetoriais
![Page 13: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/13.jpg)
Imagens do tipo raster
❏ Normalmente representadas em uma matriz m x n onde cada célula descreve um pixel
❏ Imagens de tons de cinza, por exemplo, descrevem a intensidade do tom em cada célula
❏ Imagens do tipo RGB descrevem a cor via distribuição da tripla RGB no pixel
![Page 14: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/14.jpg)
![Page 15: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/15.jpg)
RGB Triplets
![Page 16: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/16.jpg)
Conceito de Imagem Digital II
❏ Imagens digitais não possuem quaisquer informações de contexto, profundidade ou de objetos nelas representados
❏ É tarefa da Visão Computacional obter algum aprendizado a partir do análise das imagens
❏ Detectar objetos, analisar segmentação, estimar profundidade, analisar e detectar eventos e localização, etc
![Page 17: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/17.jpg)
❏ Primeira imagem digitalizada da história
❏ 176x176
❏ Russel Kirsch
❏ National Institute of Standards and Technology (NIST).
![Page 18: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/18.jpg)
Operações de filtros
❏ Filtros são operações numéricas matriciais realizadas na matriz que descreve uma imagem
❏ Ex.: Filtros de soma (tons de cinza)❏ matriz[] + 30 ← clareia imagem❏ matriz[] - 30 ← escurece imagem
❏ Cuidar Overflow e underflow
![Page 19: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/19.jpg)
Visão Computacional e Software Livre...
![Page 20: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/20.jpg)
OpenCV❏ Opensource Computer Vision❏ Originalmente desenvolvido pela Intel Russia em 1999❏ Licença BSD❏ Estrutura modular com módulos para:
❏ Processamento de Imagens❏ Estatística❏ Álgebra Linear❏ Vídeos/Imagens I/O❏ GUI
❏ É mais barato que o Matlab!
![Page 21: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/21.jpg)
![Page 22: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/22.jpg)
Linguagens e Bindings❏ OpenCV foi escrito em C/C++❏ Possui bindings para:
❏ Java❏ Python❏ Visual Basic (ECA!)
❏ Usem Python pois a vida é curta!❏ Numpy, matplotlib e estruturas simples❏ Portável e ideal para embutir em aplicações maiores
❏ Android, BSD, OpenBSD, Windows, Blackberry, Linux e OS X
![Page 23: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/23.jpg)
OpenCV e Visão Computacional
❏ OpenCV possui módulos para Visão Computacional (cv)
❏ Nele está presente os principais algoritmos da área para:❏ detecção de objetos❏ análise de segmentação de imagens❏ rastreamento de alvos❏ entre outros
![Page 24: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/24.jpg)
Detecção de ObjetosAlgoritmo de Viola-Jones e otimização de Lienhart et al (2003)
![Page 25: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/25.jpg)
Algoritmo de Viola-Jones
❏ Proposto por Paul Viola (Microsoft) e Michael Jones (Mitsubishi) em 2001
❏ Abordagem baseado em padrões de aparência treinados❏ obtenção de pontos invariantes de objetos
❏ Estrutura em cascata e em tempo real❏ Uso de imagens integrais para diminuição de custo
de operações
![Page 26: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/26.jpg)
Fluxo do algoritmo1. Treinamento de um descritor de padrões
invariantes (com algoritmo AdaBoost)2. Aplicação dos retângulos classificadores na
imagem3. Bater valor obtidos pelos retângulos com os
treinados do XML4. Caso passe todas etapas, objeto foi
encontrado
![Page 27: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/27.jpg)
Treinamento de Padrões1. Obter imagens positivas2. Obter imagens negativas3. Montar samples de aprendizado com as
possíveis combinações de positivos e negativos
4. Rodar o AdaBoost5. Produto final é um arquivo XML de padrões
haar que descrevem o alvo
![Page 28: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/28.jpg)
Tracklets positivos e samples
![Page 29: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/29.jpg)
XML haar features
![Page 30: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/30.jpg)
Imagens Integrais
![Page 31: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/31.jpg)
Janelas retangulares classificadoras
![Page 32: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/32.jpg)
![Page 33: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/33.jpg)
Otimização de Lienhart
![Page 34: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/34.jpg)
Após estas etapas, qualquer objeto pode ser detectado❏ Praticamente todos objetos do mundo real
possuem padrões invariantes de forma ou cor
❏ Objetos rígidos sólidos tendem a ter uma taxa de acerto maior nesta abordagem❏ Por exemplo: corpos humanos tendem a se dobrar
durante o movimento, o que pode diminuir a taxa de acerto
![Page 35: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/35.jpg)
Voilà
Lenna, 1972
![Page 36: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/36.jpg)
Smartcars que detectam obstáculos
![Page 37: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/37.jpg)
Qualquer objeto mesmo!
http://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.html
![Page 38: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/38.jpg)
Vídeo Viola-Jones
![Page 39: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/39.jpg)
Detectando faces na webcam com OpenCV em Python
❏ cv2.detectMultiScale()❏ scaleFactor❏ minNeighbors❏ minSize
❏ cv2.VideoCapture()
![Page 40: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/40.jpg)
Problemas e discussões
❏ Algoritmo é sensível a oclusões parciais❏ Alguns objetos variam muito de forma e
tamanho❏ É um dos não tão poucos casos que o “bom
senso” e maleabilidade da nossa cognição joga a nosso favor
![Page 41: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/41.jpg)
Detecção X Rastreamento❏ Apenas detectar não significa que algo está
sendo rastreado❏ A cada novo frame de vídeo em que o Viola-
Jones rodar, cada objeto será tratado como um novo objeto
❏ Existem ponderações para rastrear❏ Estatística, comparar histogramas, algoritmos de
associação, estimação de energia contínua, etc
![Page 42: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/42.jpg)
Rastrear partes do corpo humano para controlar interfaces
![Page 43: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/43.jpg)
Rastrear pedestres
❏ Por que seria útil um rastreador de pedestres?
![Page 44: Tchelinux 2014 visão computacional](https://reader033.vdocuments.site/reader033/viewer/2022052603/55d2eb92bb61eb9d188b45f0/html5/thumbnails/44.jpg)
Obrigado!
Perguntas?