A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Seminário de Multimídia OpenCV e suas aplicações

Apresentações semelhantes


Apresentação em tema: "Seminário de Multimídia OpenCV e suas aplicações"— Transcrição da apresentação:

1 Seminário de Multimídia OpenCV e suas aplicações

2 Roteiro  Introdução  Visão computacional  OpenCV  TouchLib  ReactTable

3 Visão Computacional  Transformação de dados  De: imagem estática ou stream de vídeo  Para: decisão ou nova representação  Transformações com objetivo específico  Dados de entrada podem conter informação contextual

4 Visão Computacional  Decisão  “tem uma pessoa nessa cena”  “existem 14 células doentes nessa imagem”  Representação  Transformar uma imagem colorida em tons de cinza  Remover o movimento da câmera de uma sequência de imagens

5 Visão Computacional  Cérebro  Sistemas de atenção – identificam áreas importantes de um campo visual  Múltiplos fluxos de processamento de informação  Associações cruzadas / experiência adquirida / condicionamento  Máquina  Sequência de números

6 OpenCV

7  Open source computer vision library  Infra-estrutura de visão computacional de fácil uso  Aplicações sofisticadas de CV rapidamente construídas  Otimizada para tempo real  Multi-plataforma, C/C++  APIs low-level e high-level

8 OpenCV - Contexto  99/2000  Intel Research Initiative  Aplicações de uso intensivo da CPU  Real-time ray tracing  MIT Media Lab  Código passado de mão em mão

9 OpenCV  Infra-estrutura de visão computacional largamente disponível  Core de código implementado  Especificações de algoritmos  Intel Russia: gerenciou, codificou, otimizou

10 OpenCV - Objetivos  Avançar a pesquisa em CV  Prover código aberto e otimizado  Não reiventar a roda  Disseminar o conhecimento de CV  Infra-estrutura comum  Código prontamente legível e transferível  Avançar aplicações comerciais em CV  Código portável, otimizado e gratuito  Licença BSD Intel

11 OpenCV - Objetivos  Crescimento da área de CV  O crescimento das aplicações exigiria processadores mais rápidos  Mais lucro para a Intel

12 OpenCV  C/C++, Python, Visual Basic, Ruby, Matlab  Linux (POSIX), Windows, Mac OS X  Eficiência Computacional  Foco em tempo real, C otimizado, processadores multicore  Mais otimização: Intel’s IPP  Integrated Performance Primitives  Algoritmos de baixo nível otimizados

13 OpenCV - Funcionalidades  Manipulação de dados de imagens  E/S de imagem e vídeo  Manipulação de matrizes e vetores  Rotinas de álgebra linear  Estruturas de dados dinâmicas  Processamento de imagem básico

14 OpenCV - Funcionalidades  Análise estrutural  Calibragem de câmera  Análise de movimento ( tracking )  Reconhecimento de objetos  GUI Básica  Rotulagem de imagem

15 OpenCV - Módulos  cxcore  Estruturas de dados e álgebra linear  Transformadas de dados, persistência de objetos, gerenciamento de memória, mainpulação de erros, carregamento dinâmico de código  Desenho, texto, matemática básica  cv  Processamento de imagem, análise de estrutura, movimento e tracking, reconhecimento de padrões, calibragem de câmera (em C)

16 OpenCV - Módulos  cvcam  Interface de câmera  cvaux  Eigen objects (técnica de reconhecimento), gestures, contorno de regiões, matching de formas, descritores de texturas, tracking de olhos e bocas, descoberta de esqueletos, segmentação de background-foreground, calibragem de câmera (em C++)  Alguns migrarão para cv, outros, não

17 OpenCV - Módulos  HighGUI  Interface de usuário  Armazenamento e chamada de imagem/vídeo  ml  Aprendizagem de máquina  Clustering, classificação e análise de dados  Suficientemente genérica

18 OpenCV – Quem usa?  IBM, Microsoft, Intel, Sony, Siemens, Google  Stanford, MIT, CMU, Cambridge, INRIA  Yahoo Groups: 20,000 membros  China, Japão, Rússia, Europa, Israel  Estabilidade (?)

19 OpenCV  Câmeras de vigilância, imagens e vídeo na web, interfaces de jogos, imagens aéreas, monitoramento de segurança, veículos não-tripulados, análises biomédicas, inspeção automática de produção, robótica  Touchlib

20 OpenCV Switcher OpenCV(C++ classes, High-level C functions) Open source IPP (Optimized low level functions) (Optimized low level functions) DShow filters, Demo apps, Scripting Environment DShow filters, Demo apps, Scripting Environment Open source Low level C-functions

21 OpenCV  Alguns módulos:  Detector de bordas

22 OpenCV  Alguns módulos:  Detector de Faces  Cadeias de Markov … 1 n

23 OpenCV  Alguns módulos:  Detector de Faces  Cadeias de Markov i

24 OpenCV  Alguns módulos:  Detector de Contornos

25 OpenCV  Alguns módulos:  Detector de Objetos e orientação 3D

26 TouchLib  Biblioteca para criação de superfícies de interação multi-toque  Capaz de adquirir as imagens a partir de diversos dispositivos  Realiza detecção e tracking dos blobs  Capaz de reconhecer diversos eventos de toque e envia-los a sua aplicação

27 TouchLib  Assim, a touchlib atua como um driver para a mesa multi-toque de modo a aplicação poder interpretar os toque do usuário  A aplicação fica responsável pelo retorno ao usuário  Vem com um software para calibrar e testar a câmera que será utilizada

28 Técnicas de captura  FTIR – frustrated total internal reflection  Luz infra-vermelha ilumina internamente um painel acrílico  Capturada por uma câmera infra-vermelha  Mais popular

29 Técnicas de captura  Difused Illumination  Luz infra-vermelha é colocada embaixo de um painel de vidro/acrílico, com um difusor  Quando objeto toca a superfície, ela reflete mais luz e é detectada pela câmera  MS surface

30 Técnicas de captura  Gap method  A luz infra-vermelha é despejada sobre o painel através de um pequeno espaço  Quando alguem toca o painel, reflete a luz, que é detectada  Baseado em sensores  Teste de capacitância  Utiliza um grid eletrônico  iPhone

31 Processamento da imagem

32 Fluxo de aplicação multi-toque  Após serem capturadas, as imagens contém blobs brancos (as digitais do usuário)  A imagem é processada e as coordenadas dos blobs são obtidas  Touchlib então detecta padrões de toque e repassa pra aplicação  Usa-se um projetor para dar retorno ao usuário

33 Fluxo de aplicação multi-toque

34 Suporte para aplicações  Muitas plataformas para desenvolvimento de aplicações multi-toque:  Adobe Flash  Java  vvvv  C++  Pode interagir utilizando o protocolo TUIO

35 Sobre o projeto  Criado pelo grupo NUI – Natural User Interface  Grupo interessado em novos métodos e conceitos de IHC  Realidade aumentada  Reconhecimento de gestos, voz, escrita, etc.  Visão computacional  Visualização de informações

36 Exemplo  Lux framework: framework para design de experiencia, visualização de informação

37 reacTable  Um novo instrumento musical eletrônico e acústico  Multiusuário  IU através de uma mesa tangível

38 reacTable  O movimento e identificação de artefatos físicos na superfície da mesa controlam a sinterização de sons  Dynamic Patching  Utiliza a troca de informações através de pacotes UDP  ID  Orientacao  Localização  Utiliza o protocolo TUIO que é baseado no Open Sound Control (OSC)

39 reacTable

40

41  Atualmente fornece dois modelos para compra  Concert table  Table for public installations  O preço de uma mesa da segunda categoria pode chegar até aproximadamente $  O sintetizador gráfico pode ser configurado através de um arquivo de XML.

42 reacTable  Suporta que outros instrumentos também participem da sessão  Exemplo: trombone  Modelos colaborativos  Colaboração local  Separação espacial  Espaço compartilhado  Colaboração remota

43 reacTable  Como ele processa a informação captada pela câmera?  ReacTIVision

44 reacTIVision  Framework de visão computacional para rastrear marcadores  Open-source  Multi-plataforma  Retorna uma mensagem OpenSound Control  Para qualquer cliente ligado  Via UDP na porta 3333

45 Como funciona?  Rastreia marcadores especialmente desenvolvidos em tempo real  Também rastreia os dedos

46 Como funciona?  Pré-processamento da imagem capturada  Binarização e segmentação  Procura por padrões de alta profundidade  Recuperação do centro e orientação do marcador  Codifica a presença, localização orientação e identidade do marcador

47 Como funciona?  Na segmentação, pequenos círculos podem ser recuperados  Usa-se um algoritmo complementar para diferenciar os dedos de distorções

48 Exemplos

49

50  Projeto semelhante  Jam-O-Drum

51 Exemplos  Cantora Bjork

52 Dúvidas ?


Carregar ppt "Seminário de Multimídia OpenCV e suas aplicações"

Apresentações semelhantes


Anúncios Google