Desenvolvimento de aplicações de visão computacional para dispositivos móveis baseados em...

Preview:

Citation preview

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

3D from perspective

Fonte da Imagem: http://szeliski.org/Book

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: luisfelipezeni@gmail.com

Recommended