Nome do projeto inicial: Visão computacional como possibilidade de interação uma CyberTv

22
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 API – Motion Tracker Câmera Interativa para CyberTv

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

Transcript of Nome do projeto inicial: Visão computacional como possibilidade de interação uma CyberTv

Page 1: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma 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)

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

Page 2: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma 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.

Page 3: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv

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.

Page 4: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma 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)

Page 5: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv

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)

Page 6: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv

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)

Page 7: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv

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)

Page 8: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv

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

Page 9: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv

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)

Page 10: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv

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.

Page 11: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv

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)

Page 12: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv

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)

Page 13: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv

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)

Page 14: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv

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)

Page 15: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv

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.

Page 16: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv

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.

Page 17: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv

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)

Page 18: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv

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

Page 19: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv

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)

Page 20: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv

Fig. 12 – Tvicam – câmera e fonte de alimentação (design final)

Gustavo Bezerra Leite Antunes (Desenvolvedor do Hardware/Câmera Infravermelha)

Page 21: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv

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)

Page 22: Nome do projeto inicial:  Visão computacional como possibilidade de interação uma CyberTv