Upload
tonya
View
27
Download
0
Embed Size (px)
DESCRIPTION
API – Motion Tracker Câmera Interativa para CyberTv. Nome do projeto inicial: Visão computacional como possibilidade de interação uma CyberTv Título do protótipo: Tvicam – câmera interativa para CyberTv Coordenação: Alexandra Cristina Moreira Caetano (MidiaLab – UnB) - PowerPoint PPT Presentation
Citation preview
Nome do projeto inicial: Visão computacional como possibilidade de interação uma CyberTv
Título do protótipo: Tvicam – câmera interativa para CyberTv
Coordenação: Alexandra Cristina Moreira Caetano (MidiaLab – UnB)
Equipe de Desenvolvimento:
Francisco de Paula Barretto (Analista e Desenvolvedor de Software);
Gustavo Bezerra Leite Antunes (Desenvolvedor do Hardware/Câmera Infravermelha);
Erisvaldo Gadelha Saraiva Júnior (Desenvolvedor Software/Integração da Câmera ao Ginga-
J);
Rodolfo Arruda Santos (Colaborador/Desenvolvedor de Software)
API – Motion Tracker
Câmera Interativa para CyberTv
API – Motion Tracker
Câmera Interativa para CyberTv
O API Motion Tracker integra a pesquisa prática-teórica sobre uso de visão computacional, por meio de câmera com infravermelho - Tvicam, como possibilidade de interação que culminou no desenvolvimento de API que possa ser utilizada em propostas de interação com a CyberTv (TDI - Tv digital interativa).
A utilização de câmera com infravermelho para captação de movimento aumenta a precisão, pois o uso deste dispositivo garante uma melhor definição da imagem e cores, mesmo em ambientes que não se tenha boa iluminação. Com isso o mapeamento da posição do atuador não se vê prejudicado ou influenciado diretamente pela luminosidade do ambiente, como nos casos em que a infravermelho não é utilizado.
As pesquisas artísticas que fazem uso de visão computacional como interface de interação buscam trabalhar algoritmos que permitam ao atuador manter interação com elementos virtual ou elementos que serão construídos a partir do movimento, ou do mapeamento de pontos do corpo desta pessoa.
A pesquisa para utilização de visão computacional em interação com a TV digital, ou melhor, com os conteúdos disponibilizados na TV digital, podem seguir a princípio dois caminhos:
(1) Interagir com os conteúdos já disponibilizados digitalmente;
(2) Introduzir elementos digitais para que seja realizada a interação com estes elementos por meio de reconhecimento de movimento.
Escolhemos a segunda proposta para o projeto Câmera Interativa para CyberTv.
Início da pesquisa de desenvolvimento
Com o intuito de desenvolver um protótipo de hardware a ser integrado à TV digital e que funcionasse com uma API para
aplicações com visão computacional, partiu-se para o estudo da TV digital e dos novos recursos que permitem a interação com conteúdos e serviços disponibilizados. Focou-se no estudo do
middleware GINGA, padrão brasileiro de TV digital, a fim de prover a interatividade.
O estudo da arquitetura do Ginga-J, que permite o desenvolvimento de aplicações em Java, e também de outras linguagem compatíveis com o desenvolvimento de softwares
para TV digital, foi o ponto de partida para o desenvolvimento da biblioteca de reconhecimento de movimento por meio de
câmera conjugado com placa de leds infravermelho.
Francisco de Paula Barretto (Analista e Desenvolvedor de Software)
Desenvolvimento de software
Milestone do projeto
•Declaração de Definição de Escopo (DDE);
•Declaração de Definição de Requisitos (DDR);
•Captação de imagens com detecção de movimento;
•Interpretação das imagens captadas;
•Integração com o Ginga-J.
Francisco de Paula Barretto (Analista e Desenvolvedor de Software)
Declaração da Definição de Escopo - DDE
Descrição das atividades que fazem parte do escopo do projeto
de software:
•Possibilitar interação com conteúdo de TVD interativa;
•Disponibilizar biblioteca para que aplicações de TVD interativa
possam, por sua vez, prover acesso a esse tipo de interação;
•Utilizar webcam;
•Seguir as normas da TVD brasileira;
•Documentação do sistema;
Francisco de Paula Barretto (Analista e Desenvolvedor de Software)
Declaração da Definição de Escopo - DDE
Atividades que NÃO fazem parte do escopo do projeto de software:
•A aplicação ser de arquitetura web;
•A aplicação possuir banco de dados;
•Englobar todas as configurações de decodificadores;
•Prover integração com outras aplicações de TVD interativa que não
utilizem as bibliotecas geradas neste protótipo;
•Prover atualização e eventuais mudanças que não identificadas
como pertencentes ao escopo;
•Integração com outros sistemas
Francisco de Paula Barretto (Analista e Desenvolvedor de Software)
Cronograma de Entregas
Francisco de Paula Barretto (Analista e Desenvolvedor de Software)
Marcos do Projeto Entregas Previsão de Início Previsão de Término
Elaboração do Documento de Definição de Escopo
O documento em sua versão final.
Abril/2010 Maio/2010
Elaboração do Documento de Definição de Requisitos
O documento em sua versão final.
Abril/2010 Maio/2010
Módulo de captura de imagens
Versão funcional implementando todos os requisitos.
Junho/2010 Julho/2010
Módulo de interpretação de imagens
Versão funcional implementando todos os requisitos.
Julho/2010 Agosto/2010
Encapsulamento dos métodos desenvolvidos em uma biblioteca
Versão funcional de uma biblioteca Java.
Agosto/2010 Outubro/2010
Aplicação protótipo em Ginga-J
Versão funcional implementando todos os requisitos.
Setembro/2010 Novembro/2010
Definição das Tecnologias
-Utilização de um emulador Ginga-J, desenvolvido em Java, no LAVID_UFPb, e compatível com a IDE Eclipse.
-Utilização da API Java Media Framework 2.1 (JMF), para desenvolvimento da visão computacional, que nos permitirá reconhecer e capturar imagens da câmera, possibilitando assim o tratamento necessário das imagens.
-A API JMF 2.1 é compatível com a nova versão do emulador Ginga-J desenvolvida pelo LAVID, que integrará a versão full do middleware.
A API JMF 2.1 (que permite a utilização da API da Câmera Interativa), ao contrário de sua versão 1.0, não faz parte das APIs obrigatórias que compõem o primeiro Set-Top Box comercializado.
Francisco de Paula Barretto (Analista e Desenvolvedor de Software)
Erisvaldo Gadelha Saraiva Júnior (Desenvolvedor Software/Integração da Câmera ao Ginga-J)
Francisco de Paula Barretto (Analista e Desenvolvedor de Software)
Fig. 2 – Teste realizado com o emulador Ginga-J
Fig. 1 – Teste de detecção e captura de imagens utilizando JMF2.1.1e e câmera infravermelho.
Ambiente de Desenvolvimento
(1) Linux Ubuntu (2) IDE Eclipse Galileo
(3) API JMF 2.1.1e
A instalação do JMF 2.1.1e foi realizada com sucesso, culminando na realização de alguns testes, entre eles, o de reconhecimento dos
dispositivos de captura de vídeo (webcam).
Os testes de reconhecimento foram realizados com webcams comuns buscando verificar a compatibilidade com as mesmas, visto que o projeto para o desenvolvimento do hardware baseava-se em modelos simples.
Francisco de Paula Barretto (Analista e Desenvolvedor de Software)
Testes com a câmera
(1º) reconhecimento da câmera pelo JMFRegistry, responsável
pelo acesso e comunicação com o hardware da câmera.
(2º) teste utilizando uma aplicação de teste, desenvolvida em
Java, que utiliza a API JMF para acessar a câmera, capturar a
imagem e exibir o vídeo em tempo real em um applet.
Fig. 3 – Teste realizado no ambiente Windows
Francisco de Paula Barretto (Analista e Desenvolvedor de Software)
Fig. 5 – Repetição do teste de código java e webcam com filtro infravermelho.
Fig. 4 – Teste de código no Windows java acessando e exibindo a imagem capturada da webcam
Francisco de Paula Barretto (Analista e Desenvolvedor de Software)
Pesquisa Algorítmica
Para o desenvolvimento da API foi realizada pesquisa algorítmica a fim de se ter como base um algoritmo que atendesse aos requisitos do projeto de reconhecimento de movimento por visão computacional. Foram testados vários algoritmos de detecção de movimento utilizando JMF 2.1.1e e outras plataformas tais como OpenCV (Open Computer Vision), o intuito era definir o algoritmo (independente da linguagem de implementação) a ser utilizado e depois, se necessário, “migrá-lo” para a linguagem Java.
A API, desenvolvida em JAVA, complementa e permite o acesso às funções da câmera por meio de um algoritmo de edge detection ou detecção de borda. O algoritmo de edge detection ou detecção de bordas é uma ferramenta fundamental no processamento de imagens e visão computacional, particularmente quanto ao uso dos recursos de detecção e de extração de características, que visam a identificação de pontos em uma imagem digital em que o brilho muda drasticamente imagem ou mais formalmente apresenta descontinuidades.
Francisco de Paula Barretto (Analista e Desenvolvedor de Software)
Rodolfo Arruda Santos (Colaborador/Desenvolvedor de Software)
Fig. 6 – Resultado da aplicação do algoritmo edge detection
Francisco de Paula Barretto (Analista e Desenvolvedor de Software)
A utilização do algoritmo junto à tvicam – câmera com infravermelho objetiva minimizar este tipo de erro, pois possibilita o mapeamento da imagem mesmo na ausência de iluminação.
Portanto o algoritmo detecta a borda dos objetos, mapeando o movimento através da diferença entre frames subseqüentes.
Integração com o emulador Ginga
Para que fosse possível testar a API e a câmera desenvolvida, realizou-se uma simulação junto ao emulador do Ginga, visto que o desenvolvimento da API JMF 2.1 integrada ao midleware ainda encontra-se em processo de pesquisa e implementação. necessários para limitar a corrente individual de cada led.
Após a implementação da API, tornava-se necessário a integração da mesma com o emulador do Ginga-J, visto que a API JMF 2.1 não integra o Set-Top Box comercializado. A integração com o emulador foi um sucesso. Entretanto esbarramos em uma dificuldade operacional.
Francisco de Paula Barretto (Analista e Desenvolvedor de Software)
Erisvaldo Gadelha Saraiva Júnior (Desenvolvedor Software/Integração da Câmera ao Ginga-J)
ATENÇÃO!!! A API não roda na versão do emulador Ginga que hoje está disponível para download.
Fig. 7 – Teste da API Motion Tracker no Emulador Ginga-J
Fig. 8 – Acionamento da API – Preparando a câmera para captura do movimento
Erisvaldo Gadelha Saraiva Júnior (Desenvolvedor Software/Integração da Câmera ao Ginga-J)
A mão modelada na tela do emulador movimenta-se de acordo com o movimento do atuador realizado em frente à Tvicam - câmera com LEDs infravermelhos.
Fig. 8a – Protótipo da Câmera
Erisvaldo Gadelha Saraiva Júnior (Desenvolvedor Software/Integração da Câmera ao Ginga-J)
Gustavo Bezerra Leite Antunes (Desenvolvedor do Hardware/Câmera Infravermelha)
Fig. 9 – Visão computacional como possibilidade de interação com a Tv digital
Fig. 10 – Tvicam – Montagem final – LEDs infravermelhos ligados
Fig. 11a e 11b – Teste API – Motion Tracker – Emulador Ginga_J
Mouse em repouso
Erisvaldo Gadelha Saraiva Júnior (Desenvolvedor Software/Integração da Câmera ao Ginga-J)
Fig. 12 – Tvicam – câmera e fonte de alimentação (design final)
Gustavo Bezerra Leite Antunes (Desenvolvedor do Hardware/Câmera Infravermelha)
API em funcionamento com a TvicamExposição EmMeios#2 – Museu Nacional de Brasília – Nov/2010
Alexandra Cristina Moreira Caetano (Coordenadora Projeto)
Francisco de Paula Barretto (Analista e Desenvolvedor de Software)