Reconhecimento de Gestos utilizando o dispositivo Kinect
Matheus Lin Truglio Alvarenga Universidade de São Paulo
Instituto de Ciências Matemáticas e de Computação Engenharia da Computação
Novembro/2011
Organização
HCI
Kinect
ROS
Reconhecimento de Gestos
Redes Neurais Artificiais
Planejamento
Avaliação de Resultados
Conclusão
HCI
Interface humano-máquina
Evolui com o desenvolvimento de novas tecnologias
Menos conhecimento técnico para uso
Mais usuários
Cartão perfurado, tela e caneta de manipulação (cad), tela e teclado, mouse, tela de toque, reconhecimento de voz, Wii Remote, Kinect;
Kinect
Kinect
Kinect
Interfaces USB
Prime Sense – Natural Interaction
OpenNI
ROS – Robot Operating System
ROS
Projeto de apoio ao desenvolvimento de aplicações robóticas
Alto nível
Estrutura de comunicação
OpenNI
MIT ROS Pack – Pacote de demonstrações do MIT
ROS
Skeletal Tracker
ROS
MIT
Pacote de rastreamento de humanos
Reconhece esqueletos (conjunto de vértices)
Modo eficiente
Rastreamento de mãos
Rastreamento de dedos
Minority Report
MIT
Reconhecimento de Gestos
Comandos sem dispositivo mecânico e à distância
Interação Natural e universal (independe de idioma)
Comunicação onde outros meios são ruidosos
Pista de decolagem
Reconhecimento de padrões
Redes Neurais Artificiais
Aprendizado supervisionado
Boas para reconhecer padrões
Iterativo
Cuidados
Superajuste
Amostras diversificadas (generalização)
Planejamento
O que reconhecer: gestos da mão direita
Amostra: 20 deslocamentos 3D
Entrada: 60 deslocamentos
Saída: 3 classes, no máximo uma com valor 1.
Gestos
Deslocamentos
Maiores que 5 cm
Treinamento
300 amostras de cada gesto
3 subconjuntos:
Treinamento (80%)
Teste (10%)
Validação Cruzada (10%)
Ao acaso
Melhor resultado de Validação Cruzada
Avaliação
Conjunto de amostras gravadas
Correto Erro Classificado Total
83 7 85 90
Avaliação
Uso em tempo real
Gesto Circle Come Here Goodbye Total % acerto
Circle 323 0 0 323 100,0
Come Here 0 383 3 400 95,7
Goodbye 0 1 307 317 96,8
Variação de Parâmetros
Avaliação de Desempenho
Primeiro de cada usado anteriormente
Hiddens = [20; 30; 5; 10]
Errors = [0,01; 0,05; 0,1; 0,005]
Alphas = [0,01; 0,05; 0,1; 0,5; 0,001]
Momentum = [0,1; 0,5; 0,05; 0,0]
Resultados
Número de neurônios da camada escondida
Resultados
Erro tolerável
Resultados
Passo de aprendizado (alpha)
Resultados
Fator de Momento
Conclusão
Calibração necessária
Talvez não precise, se mudar um pouco o modo de extração de informações
Método mostrou-se adequado.