Interação baseada em gestos de mãos e cabeça para ambientes de realidade virtual
utilizando visão computacional
Candidato: Marcio Calixto Cabral Orientador: Carlos Hitoshi Morimoto
Departamento de Ciência da Computação Instituto de Matemática e Estatística
Universidade de São Paulo
Organização
1 Gestos como forma de interação Motivação
Objetivos Desafios
2 Detecção e rastreamento de mãos e face Definição do problema
Teoria e algoritmos
3 Sistema interativo baseado em gestos Objetivo
Detalhamento
4 Resultados Experimentais
5 Conclusão
Organização
1 Gestos como forma de interação Motivação
Objetivos Desafios
2 Detecção e rastreamento de mãos e face Definição do problema
Teoria e algoritmos
3 Sistema interativo baseado em gestos Objetivo
Detalhamento
Organização
1 Gestos como forma de interação Motivação
Objetivos Desafios
2 Detecção e rastreamento de mãos e face Definição do problema
Teoria e algoritmos
3 Sistema interativo baseado em gestos Objetivo
Detalhamento
4 Resultados Experimentais
5 Conclusão
Organização
1 Gestos como forma de interação Motivação
Objetivos Desafios
2 Detecção e rastreamento de mãos e face Definição do problema
Teoria e algoritmos
3 Sistema interativo baseado em gestos Objetivo
Detalhamento
Organização
1 Gestos como forma de interação Motivação
Objetivos Desafios
2 Detecção e rastreamento de mãos e face Definição do problema
Teoria e algoritmos
3 Sistema interativo baseado em gestos Objetivo
Detalhamento
4 Resultados Experimentais
5 Conclusão
Outline
1 Gestos como forma de interação Motivação
Objetivos Desafios
2 Detecção e rastreamento de mãos e face Definição do problema
Teoria e algoritmos
3 Sistema interativo baseado em gestos Objetivo
Detalhamento
Motivação
Dispositivos de interação para ambientes de RV na maioria das vezes são invasivos
Mouse e teclado não são adequados para RV
Necessidade de novas formas de interação, naturais e fáceis de aprender
Gestos são utilizados de forma natural durante uma conversação
Outline
1 Gestos como forma de interação Motivação
Objetivos Desafios
2 Detecção e rastreamento de mãos e face Definição do problema
Teoria e algoritmos
3 Sistema interativo baseado em gestos Objetivo
Detalhamento
Objetivos
Alternativas mais naturais para interação em ambientes de RV
Criar uma forma não invasiva de interação
Não substituir as interfaces atuais, mas agregar novas formas de interação
Detectar e interpretar gestos em tempo real
Desenvolver um protótipo para testes e avaliação de interface
Outline
1 Gestos como forma de interação Motivação
Objetivos Desafios
2 Detecção e rastreamento de mãos e face Definição do problema
Teoria e algoritmos
3 Sistema interativo baseado em gestos Objetivo
Detalhamento
Desafios
Grande variedade de movimentos das mãos e cabeça Sistema não invasivo→câmeras
oclusão desempenho iluminação
Desenvolver uma interface baseada em gestos com boa usabilidade
Outline
1 Gestos como forma de interação Motivação
Objetivos Desafios
2 Detecção e rastreamento de mãos e face Definição do problema
Teoria e algoritmos
3 Sistema interativo baseado em gestos Objetivo
Detalhamento
Definição do problema
Imagem de entrada→identificar e rastrear mãos e face (sem a utilização de dispositivos ou marcadores) - Visão Computacional
Utilizar estas informações para criação de uma interface - Interface
Definição do problema
Visão computacional
Definição do problema
Interface
Outline
1 Gestos como forma de interação Motivação
Objetivos Desafios
2 Detecção e rastreamento de mãos e face Definição do problema
Teoria e algoritmos
3 Sistema interativo baseado em gestos Objetivo
Detalhamento
Espaço de cor
Diferentes etnias possuem aproximadamente a mesma cor porque a diferença reside na intensidade e não na
cromaticidade
Yang et al. [1] “as diferenças de intensidade podem ser reduzidas normalizando o espaço de cor RGB”
Eles também mostram que a cor de pele forma aglomerados que podem ser caracterizados por uma distribuição normal neste espaço RGB normalizado
Espaço RGB-normalizado r = R
R+G+B (1)
g = G
R+G+B (2)
Distribuição de cor de pele
Espaço RGB normalizado
Segmentação de cor de pele
Métodos empíricos e estatísticos
Baseados em comparação de pixels da imagem com valores obtidos a partir do conjunto de treinamento
Método Empírico
Limiarização da distância do pixel ao modelo de cor de pele
A variação de iluminação do ambiente deve ser pequena durante a fase de treinamento e a fase de segmentação Parâmetros intrínsecos da câmera devem ser os mesmos:
brilho, contraste, abertura e ganho.
Método Empírico
λ(r,g) =
(Pele se¯r +x >r >¯r −x Eg¯+x >g>g¯−x, Pele caso contrário
(3)
Resultados
Threshold x = 0.02 Threshold x = 0.04
Método da máxima verossimilhança
Pode-se aproximar a distribuição de cor de pele por uma distribuição normal
Figura:Aproximando-se cor de pele por uma distribuição normal
Método da máxima verossimilhança
A aproximação é feita com os seguintes parâmetros Média:
¯r = 1 N
N
X
i=i
ri (4)
g¯= 1 N
N
X
i=i
gi (5)
Covariância:
X=
σrr σrg
(6)
Método da máxima verossimilhança
A probabilidade de cada pixel da imagem de entrada ser cor de pele é dada através da função de máxima
verossimilhança
MV(r,g) =e−0.5(x−m)0P−1(x−m) (7) onde x =
r g
e m =
¯r g¯ .
Resultados
Rastreamento
Uma vez detectadas as regiões candidatas a mãos e face, utilizamos filtros de Kalman para o rastreamento destes objetos na imagem
Para verificarmos se os objetos rastreados realmente correspondem a um usuário, o blob correspondente a face é comparado a um modelo de faces através da técnica de análise de componentes principais (PCA)
Filtros de Kalman
Dado nosso conhecimento sobre o comportamento de um determinado sistema e as nossas medições, qual é a melhor estimativa para o comportamento deste sistema?
A definição dada pelo livro de Maybeck [3] diz: é um algoritmo ótimo para processamento de dados recursivo Processa todas as medidas disponíveis de forma a estimar o valor corrente das variáveis de interesse com o uso de
conhecimento do sistema e dos dispositivos de medida descrição estatística de ruídos, erros e incertezas condições iniciais do sistema
xk =Ak−1xk−1+wk−1, (8)
Reconhecimento de faces
Utilizando PCA
Método desenvolvido por Turk et al. [5]
Idéia principal
transformar imagens em vetores
utilizar PCA para encontrar o espaço de faces projetar imagens de entrada neste espaço
verificar se estas imagens estão “perto o suficiente” do espaço
Reconhecimento de faces
Utilizando PCA
Fase de treinamento
Reunir conjunto de treinamento com imagens de faces Calcular as autofaces deste conjunto, selecionando as com maior autovalor associado. Este subconjunto é chamado de espaço de faces
Reconhecimento de faces
Projetar a imagem de entrada no espaço de faces,
calculando os pesos wi, que representam a contribuição de cada face na representação da imagem de entrada
Calcular a distância entre a imagem de entrada e sua
Outline
1 Gestos como forma de interação Motivação
Objetivos Desafios
2 Detecção e rastreamento de mãos e face Definição do problema
Teoria e algoritmos
3 Sistema interativo baseado em gestos Objetivo
Detalhamento
4 Resultados Experimentais
5 Conclusão
Sistema Interativo baseado em gestos
Implementar protótipo para reconhecer gestos em ambientes de RV
Avaliar a usabilidade da interface criada
Outline
1 Gestos como forma de interação Motivação
Objetivos Desafios
2 Detecção e rastreamento de mãos e face Definição do problema
Teoria e algoritmos
3 Sistema interativo baseado em gestos Objetivo
Detalhamento
4 Resultados Experimentais
5 Conclusão
Segmentação de cor de pele
Método empírico
mais robusto a mudança de iluminação do que o espaço RGB
apresentou melhores resultados do que método da máxima verossimilhança
Treinamento utilizando imagens de pessoas de diferentes etnias (16 pessoas utilizadas)
Pré-processamento de imagens com um filtro da mediana e um filtro gaussiano
Operadores morfológicos de erosão e dilatação
Segmentação de cor de pele
Resultados
Figura:A partir do canto superior esquerdo em sentido horário:
imagem original, segmentação de cor de pele por limiarização, operação de erosão e operação de dilatação.
M.C. Cabral 25 de maio de 2005 - Transparência 36
Rotulação das componentes conexas
Identificação das componentes conexas encontradas na fase de segmentação
Determinação de posições chave para restringir o espaço de busca
Dentro da área delimitada para face, o algoritmo PCA é utilizado para identificar a componente conexa com maior probabilidade de ser face
Dentro da área delimitada para as mãos, a componente conexa com maior área é selecionada
Rotulação das componentes conexas
a b
Figura:Posição inicial do sistema: mãos na altura do peito. a) CAVE b) Quiosque.
Adaptação do modelo de cor de pele
A rotulação permite que o modelo de cor de pele utilizado no treinamento seja refinado
Informações da cor de pele da face do usuário são utilizadas
Aumenta a região de cor de pele segmentada
Rastreamento de mãos e face
Iniciado assim que todos os objetos (mãos e face) são rotulados
Um filtro de Kalman por objeto
Estima a posição do objeto no próximo passo de processamento
Não são robustos a oclusão de objetos
Para manter a robustez a oclusão, um grafo de consistência espaço-temporal é utilizado
Rastreamento de mãos e face
Grafo de consistência
Permite estados de sobreposição e oclusão
Assumimos que estado de oclusão e sobreposição não ocorrem simultaneamente
Interpretação de gestos
Interface
Informações obtidas a partir do rastreamento (posição de mãos e face) são utilizadas para a interpretação de gestos Posições chave podem ser atingidas com as mãos
Gestos pré-definidos são ativados quando as mãos atingem as posições chave
Interpretação de gestos
a b c
Figura:a) Posição Inicial b) Posição Norte c) Posição Leste
Interpretação de gestos
d e
Figura: d) Posição Sul e) Posição Oeste
Interpretação de gestos
Comandos
Simulação de um interface de “apontar e clicar”
A mão direita controla a posição do mouse
A mão esquerda funciona para a ativação de comandos
Interpretação de gestos
Comandos
Posição Sul e Descanso não são utilizadas para comando Posição Norte usada para mudança do modo de controle do cursor
Posição Oeste para mudança de modo dentro um modo especifico
Posição Leste usada para simular um clique
Interpretação de gestos
Mapeamento Tela-Imagem
Mapeamento das coordenadas da imagem da câmera para a tela
Traduz a movimentação da mão direita ao lado do corpo do usuário para as coordenadas do ponteiro do mouse (Kjeldsen [2])
Interpretação de gestos
Redução de ruídos de movimentação do cursor
Devido a grande área de visão da câmera, pequenos deslocamentos de um objeto na imagem causam grandes variações na movimentação do cursor
Pequenos erros de estimação da posição do cursor criam tremores no controle do cursor
Filtro digital de resposta impulsiva finita (Finite Impulse Response - FIR) com uma componente de freqüências passa baixas
Interpretação de gestos
Resultados do FIAR
Figura:Trecho da ordenada x antes da aplicação do filtro e depois da aplicação do filtro.
Vantagens do Sistema
O sistema é robusto a pequenas variações de iluminação;
O fundo pode ser arbitrário;
O usuário pode ter altura ou dimensões anatômicas bastante variáveis;
Não utilização de câmeras especiais;
A câmera não precisa ser calibrada e não precisa estar em altura ou ângulo específico para o usuário, contanto que o usuário esteja de frente para ela.
Limitações do Sistema
Apenas um usuário pode utilizar o sistema de cada vez;
As mãos e face do usuário devem ser as únicas partes do corpo que podem estar visíveis;
A cor do vestuário não pode se assemelhar com tons de cor de pele;
As condições de iluminação iniciais devem ser próximas as usadas para a fase de treinamento de cor;
O usuário deve estar posicionado de frente para a câmera.
Resultados Experimentais
Aspectos de Implementação
Laptop Pentium IV
Câmeras Firewire (640x480@30fps) Linux
OpenCV Intel
Resultados Experimentais
Experimentos com a interface baseada em gestos
Experimentos realizados em dois ambientes de RV: CAVE e Quiosque
CAVE: Sistema de multi projeção imersivo
Quiosque: Sistema de projeção com apenas uma tela, mais simples que um Powerwall (Regh et al. [4])
Resultados Experimentais
Interface utilizada nos experimentos - Quiosque
A mão direita (R) controla a posição do cursor;
Quando a mão esquerda (L) se posiciona na posição Norte, o modo de controle é seqüencialmente alterado. Os modos de controle disponíveis são: escala, rotação e translação;
Quando (L) se posiciona na posição Oeste, o status do modo de controle atual é seqüencialmente alterado. Por exemplo, se o modo de controle atual for Escala, então o status de modo varia entre Escala X-Y, Escala X-Z e Escala Y-Z;
Quando (L) se posiciona na posição Leste, um clique é gerado.
Resultados Experimentais
Interface utilizada nos experimentos - CAVE
A mão direita (R) controla o ponto de vista da câmera;
A mão esquerda (L) controla a translação da câmera.
Quando (L) se posiciona na posição Norte, a câmera se movimenta na direção do ponto de vista determinado por (R). Quando (L) se posiciona na posição Sul, a câmera se movimenta ao contrário da direção do ponto de vista.
Resultados Experimentais
Experimentos
Três experimentos foram realizados para testar a usabilidade do sistema
Comparação da interface de gestos com mouse através da Lei de Fitts
Avaliar a satisfação do usuário com aplicações de visualização
Avaliar a satisfação do usuário com aplicações de navegação
Resultados Experimentais
Experimento de apontar e clicar
Baseado na Lei de Fitts
T =a+b log2(WA +1) (10) T = tempo de execução do movimento
A = amplitude
W = tamanho ou diâmetro do alvo
a e b são determinados empiricamente através de regressão linear.
1 = Índice de Desempenho (IP)
Resultados Experimentais
Experimento de apontar e clicar
Clicar em botões de diferentes tamanhos,um por vez Aparecem em locais aleatórios
Sessão de controle com mouse
Resultados Experimentais
Experimento de apontar e clicar
Media de tempo para mouse = 7,3 segundos Media de tempo para gestos = 26,1 segundos
Resultados Experimentais
Experimento de avaliação subjetiva - Visualizador
Avaliar a usabilidade de interfaces baseadas em gestos para ambientes de RV
Manipular objetos 3D
Resultados Experimentais
Resultados
Sistema robusto
50 % dos usuarios reportaram que o tempo de resposta do sistema é excelente
40 % dos usuarios reportaram a fadiga dos bracos durante a utilização do sistema
Resultados Experimentais
Experimento de avaliação subjetiva - Navegador
Sistema de gestos substitue joystick e teclado para navegação em ambientes de RV
Permite mudança de ponto de vista e navegação
Figura: Aplicação utilizada para teste na CAVERNA Digital
Resultados Experimentais
Resultados
Sistema menos robusto devido a variação grande de iluminação, intrínseca ao sistema
Liberdade de movimentos Maior naturalidade
Conclusão
Contribuições
Levantamento bibliográfico
Experimentos com segmentação de cor de pele Desenvolvimento de uma técnica robusta para o rastreamento de mãos e face
Desenvolvimento de uma técnica de interação utilizando gestos
Implementação de aplicativos para teste
Experimentos realizados com usuários para avaliação da interface desenvolvida
Conclusão
Ambiente Quiosque
Apresenta melhores resultados devido as condições de iluminação
Fundo e arbitrário
Pessoas podem permanecer na área de alcance de câmera, após a inicialização do sistema
Conclusão
Ambiente CAVE
Iluminação variável e não controlada Ruído elevado na imagem
PCA não foi utilizado neste ambiente
Conclusão
Apresentamos uma técnica para reconhecimento de gestos baseada em visão computacional
robusta não invasiva
com boa usabilidade
Criamos interfaces e aplicativos para teste
Avaliamos de forma analítica e subjetiva a utilização desta técnica
Conclusão
Trabalhos futuros
Implementação
Experimentar câmeras mais robustas a iluminação Realizar experimentos em outros ambientes fora do laboratório.
Rastreamento utilizando mais de uma câmera (3D).
Realizar experimentos com um número maior de pessoas, incluindo medidas definidas pelos padrões de usabilidade em IHC.
Algoritmos
Reconhecer gestos de mais de uma pessoa para aplicações colaborativas.
Melhorar a robustez à variação de iluminação para o sistema de segmentação de cor de pele.
Refinar o algoritmo de PCA
Yang Jie and Waibel Alex.
A real-time face tracker.
In Proceedings of WACV’96, pages 142–147, 1996.
Frederick Kjeldsen.
Visual interpretation of hand gestures as a practical interface modality.
Phd Thesis - Columbia University, 1997.
Peter Maybeck.
Stochastic Models, Estimation, and Control.
Academic Press, Inc., 1979.
James Rehg, Maria Loughlin, and Keith Waters.
Vision for a smart kiosk.
Matthew Turk and Alan Pentland.
Face recognition using eigenfaces.
Proceedings of the 1991 Conference on Computer Vision and Pattern Recognition - CVPR, 1991.
PCA
Conjunto de treinamento dado pelas imagens I= [I1,I2...IM], com tamanho n×n
A imagem média é dada porΨ = M1 PM n=1In E cada imagem difere da média porΦi =Ii−Ψ Calcular autovalores e autovetores de C= M1 PM
n=1ΦnΦTn
PCA
Projetar a imagem de entrada no espaço de faces com a operação
ωk =ukT(Γ−Ψ)para k =1, ...,M0, ondeΨé a imagem média do conjunto de treinamento,Γé a imagem de entrada e u são os autovetores calculados a partir do conjunto de treinamento.
Estes pesos,ωi, formam um vetor de padrões
ΩT = [w1,w2. . .wM0]que representam a contribuição de cada eigenface na representação da imagemΓ.
A distância entre a imagem de entrada ajustada pela imagem médiaΦ = Γ−Ψe sua projeção no espaço de faces é dado por2=kΦ−Φf k2