desenvolvimento de aplicações de visão computacional para dispositivos móveis baseados em...
TRANSCRIPT
Desenvolvimento de aplicações de visão computacional para dispositivos móveis baseados em Android.
Luis Felipe de Araujo Zeni
Apresentação Luis Felipe de Araujo Zeni
Mestre em computação pela UFRGS Professor @ Centro Universitário Ritter dos Reis Programador Android @ Compuletra
Cervejeiro Caseiro =)
Programação1. Introdução à Visão Computacional2. Aplicações3. Perfil do Profissional4. OpenCV5. OpenCV + Android
Visão Computacional Habilidade dos computares em
ver. Compreensão de imagens Visão de Maquina Visão de Robôs Analise de Imagens Compreensão de vídeos
Processamento de SinaisProcessamento de
Imagens
Visão Computacional
Aprendizado de Máquina
Uma Imagem, muitos significados
Muitas Imagens, um significado
Imagem Matriz 2D de números (valores de intensidade de níveis de cinza) Níveis de cinza entre 0 (preto) até 255 (branco) Uma imagem colorida é composta de 3 Matrizes 2D
Vermelho Verde Azul
Resolução (número de linhas x colunas) 640x480 1280x720 1920x1080 3840x2160
Imagem 2D
=
Imagem 2D Colorida
Vídeo Sequência de Imagens
Vetor de Matrizes 3D Usualmente 30 quadros por segundo
Formação de uma Imagem
Fonte da Imagem: http://szeliski.org/Book
Fonte de luz Posição da Câmera e Lentes Cena (Tipo de superfície) Perde a informação de
profundidade
Recuperando a profundidade da cena Visão Estéreo Movimento Sombreamento Textura Perspectiva
Câmera Estéreo Com duas imagens podemos recuperar a profundidade com
uma triangulação
=
Câmera Estéreo
Zed
Vídeo: https://www.youtube.com/watch?v=P-QEnnMHYt0
Structure From Motion Recuperar a profundidade utilizando o movimento da câmera
Vídeo: https://www.youtube.com/watch?v=R1xvrYu592Q
Vídeo: https://www.youtube.com/watch?v=i7ierVkXYa8
3D from Shadding
3D from Texture
Structured Light
Vídeo: https://www.youtube.com/watch?v=dTKlNGSH9Po
Vídeo: https://www.youtube.com/watch?v=C9ZCnaNxNQE
Outros Tópicos Filtragem de Imagens
Suavização Bordas
Detectores de Formas Pontos (Cantos) Linhas Círculos
Descritores Detecção de Objetos Segmentação de Objetos Subtração do Fundo
AplicaçõesContagem
Rastreamento
Vídeo: https://www.youtube.com/watch?v=z1Cvn3_4yGo
Vídeo: https://www.youtub
e.com/watch?v=Jdu-cfxZXBA
Vídeo: https://www.youtube.com/watch?v=3BJFxnap0AI
Vídeo: https://www.youtube.com/watch?v=Z9X3IhHytrQ
AplicaçõesReconhecimentode Caracteres
Biometria
Vídeo: Indisponível
Vídeo: https://www.youtube.com/watch?v=h2OfQdYrHRs
Vídeo: https://www.youtube.com/watch?v=C39zOFvXflI
AplicaçõesRealidade Aumentada
SegurançaImagens MédicasInspeção de Máquinas e Componentes
Vídeo: https://www.youtube.com/watch?v=Wn9yUZm1fqY
Conhecimentos do profissional de Visão Computacional Matemática
Álgebra Linear Calculo Probabilidade e Estatística
Modelagem de Dados Programação
Matlab Python C e C++ OpenCV
OpenCV Open Source Computer Vision Em desenvolvimento desde 2000 Atualmente na versão 3.0 Multiplataforma Escrita em C++
Com wrappers para: Java C# Matlab Android iOS
Android ou iOS?
Fonte: http://www.idc.com/prodserv/smartphone-os-market-share.jsp
Android + OpenCV Ferramentas Necessárias ADT Bundle Android Studio
JDK 7 > OpenCV4Android Smartphone com Android
Arquitetura do Android
http://androidteam.googlecode.com/files/Anatomy-Physiology-of-an-Android.pdf
Exemplo Prático
Vamos Programar
Espaço para interação Obrigado pela presença
Contato: [email protected]