Seminário de Multimídia

Slides:



Advertisements
Apresentações semelhantes
Construa painéis digitais avançados em minutos!
Advertisements

INTRODUÇÃO À COMPUTAÇÃO Sistemas Operacionais
Noções de Sistemas Operacionais
DCA-0114 Computação Gráfica
Introdução à Programação uma Abordagem Funcional Programação I Prof.ª Claudia Boeres CT VII - Sala 32 Departamento de Informática Centro.
Tecnologia Hipermídia e Multimídia
Biometria, do ponto de vista da tecnologia da informação, é a técnica utilizada para medir e se obter determinadas informações físicas sobre um indivíduo.
Engenharia de Software
Sistemas Operacionais de Rede Professor: João Paulo de Brito Gonçalves
Software Básico Silvio Fernandes Universidade Federal Rural do Semi-Árido Departamento de Ciências Exatas e Naturais Ciência da Computação Aula.
Sistemas Operacionais
JOGOS.
Inteligência Artificial Alex F. V. Machado. Tecnologia de Processamento da Informação que envolve processos de raciocínio, aprendizado e percepção. Winston.
Rodrigo Braga Pinheiro
Conceitos Básicos de Computação O ABC da Computação.
Introdução à Informática
Por Fernando B., João Victor, Rafael F. e Yulle..
Interação Cliente Servidor
Projeto de Software Orientado a Objetos
Iana Alexandra Alves Rufino (UAEC/CTRN/UFCG)
Iana Alexandra Alves Rufino (PPGECA/CTRN/UFCG)
CAPÍTULO Sistemas de supervisão 2. Sistema SCADA
QoS para Realidade Virtual
Linguagens de programação
Visão Computacional – 2010 Aula 0: Introdução
Paulo Sérgio Rodrigues PEL205
Professor Victor Sotero
Threads.
Tecnologias para Internet
O Portal do Estudante de Computação
Transparência Total! O Software Secullum TI.Net foi desenvolvido para facilitar o gerenciamento das informações que circulam nos computadores conectados.
Hardware/Software para Multimédia
Revisão de Conceitos Básicos Hardware (Parte 1)
Remodelando a solução mais eficaz
“LOCALIZAÇÃO DE ROBÔS E MAPEAMENTO DO AMBIENTE USANDO KINECT®”
Programação Avançada Prof. Natalia Castro Fernandes
Terralib Development Kit
DISCIPLINA: SR, Geoprocessamento I e II e Cartografia A tecnologia do Geoprocessamento – Aplicações e Potencialidades 12/3/ Aula 5.
Game Engines.
Concorrência entre Threads Java
Conceitos de J2EE para a WEB
Professor: Márcio Amador
Computação L1: Infra-Estrutura Básica
Sistemas Operacionais
© 2004 by Pearson Education Computadores: Ferramentas para a Era da Informação Tema 0 PARTE A.
Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.
Sistemas operacionais
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
RUP - Cap. 4 – Processo Centrado na Arquitetura
Introdução O que se espera de um sistema de computação?
Sistemas de Informação para Planejamento Estratégico
Decisão #1 Decisão-chaveUtilização de C para desenvolvimento do MCTCore. DriversRNF: O código deve ser escrito na linguagem C. Descrição O sistema legado.
Sistemas de Rastreamento de Baixo Custo para Desktops Tecgraf (Grupo de Tecnologia em Computação Gráfica) Depto. de Informática, PUC-Rio Alberto Raposo,
ARToolkit Ademir José de Carvalho Junior Danilo Cavalcanti Torres
ARToolkit André Braga (ab2) Alysson Feitoza (afs5) Danilo Lima (dlv)
Profª Marta Becker Villamil
1 Edgar Marçal de Barros Filho Orientador: Riverson Rios Co-Orientadora: Rossana Andrade Aprendizagem utilizando Dispositivos Móveis com Sistemas de Realidade.
Prof. Wallace Borges Cristo
Classificação dos Sistemas Multimídia
Apresentação Assuntos : Grids OurGrid
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus.
Luis Felipe de Araujo Zeni
Multimídia Hardware/Software para Multimídia (Parte I)
MatLab (Matrix Laboratory)
Desenvolvimento WEB II Ajax – Utilização de Frameworks Javascript Professora: Kelly de Paula Cunha.
Comunicação Multimídia. Sub-sistema de Aplicação Computação colaborativa = CSCW Dimensões de colaboração –tempo trabalho cooperativo assíncrono trabalho.
Proposta de trabalho: Rastreamento da movimentação de uma câmera.
COMPILADORES 02 Prof. Marcos. COMPILADORES Do Programa à Execução Computadores das mais variadas arquiteturas têm funcionamento:
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores Ferramenta NTop (Network Traffic Probe) Explorador.
Transcrição da apresentação:

Seminário de Multimídia OpenCV e suas aplicações {avap,bcs2,gamsd,jspff,jblj,rar3}@cin.ufpe.br

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

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

Visão Computacional Decisão Representaçã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

Visão Computacional Cérebro Máquina 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

OpenCV

OpenCV 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

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

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

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

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

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

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

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

OpenCV - Módulos cxcore cv 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)

OpenCV - Módulos cvcam cvaux Interface de câmera 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

OpenCV - Módulos HighGUI ml 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

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 (?)

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

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

OpenCV Alguns módulos: Detector de bordas

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

OpenCV i Alguns módulos: Pi - Probabilidade Escolha o max(Pi) Detector de Faces Cadeias de Markov Pi - Probabilidade Escolha o max(Pi) i

OpenCV Alguns módulos: Detector de Contornos

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

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

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

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

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

Técnicas de captura Gap method Baseado em sensores 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

Processamento da imagem Capture0 - This is the raw video input window. Mono1 - The first filter turns the source image into a grey scale image. Background3 - This filter subtracts the background from the current scene. Scaler1 - This filter will amplify the output of Background3 a bit. Highpass - Only bright spots will be given to its output channel. Scaler2 - Again, amplify the output of the previous filter. Rectify5 - True black and white, as preperation for blob detection in touchlib core.

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

Fluxo de aplicação multi-toque

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

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

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

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

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)

reacTable

reacTable

reacTable 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 $23.000 O sintetizador gráfico pode ser configurado através de um arquivo de XML.

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

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

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

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

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

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

Exemplos

Exemplos

Exemplos Projeto semelhante Jam-O-Drum

Exemplos Cantora Bjork

Dúvidas ?