Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
UNISINOS - PUC/RS
RBV - Rede Brasileira de Visualização / FINEP
HP Brasil
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr.
Thiago Kehl
Fernando S. Osório
Cláudio R. Jung
Soraia R. Musse
1
30 May 2007
Apresentado por:
Prof. Dr. Fernando S. OSÓRIO - PPG Computação Aplicada / Unisinos
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
Agenda
1.
2.
3.
4.
5.
6.
2
30 May 2007
Motivação / Histórico
Objetivos
> Interface Homem-Máquina
> Visão Geral do Projeto
Visão Computacional
> Reconhecimento de Posturas
> Extração de Atributos
> Aprendizado e Classificação Neural (ANN)
> Resultados: Rede Neural
Simulação com Humanos Virtuais
> Modelos de Comportamento (ações)
Arquitetura do Sistema
Conclusões e Perspectivas
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
1. Motivação / Histórico
SVR 2000
3
30 May 2007
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
2. Objetivos
IHC - Interface Homem-Máquina
• Interface usando dispositivos diferentes...
Convencionais => Teclado, Mouse, Joystick
Novos dispositivos => Interação Gestual
- Uso de data-gloves
- Uso de sensores de movimento (encoders, acelerômetros)
- Uso de câmeras
• Diferencial:
- Custo
- Facilidade de uso / Simplicidade da Interação
4
30 May 2007
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
2. Objetivos
Visão Computacional

Pré-processar imagens de posturas de mãos
coletadas através de uma Webcam

Construir um classificador capaz de identificar tais posturas
Simulação com Humanos Virtuais
5
30 May 2007

Servir como entrada para sistemas de simulação de
comportamento de humanos virtuais em
ambientes povoados

Definir para cada classe de postura
uma ação selecionada dentro de
uma série de comportamentos estruturados
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
2. Objetivos
Visão Computacional

Pré-processar imagens de posturas de mãos
coletadas através de uma Webcam

Construir um classificador capaz de identificar tais posturas
Simulação com Humanos Virtuais
6
30 May 2007

Servir como entrada para sistemas de simulação de
comportamento de humanos virtuais em
ambientes povoados

Definir para cada classe de postura
uma ação selecionada dentro de
uma série de comportamentos estruturados
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
2. Objetivos - Visão Geral do Projeto
Visão Computacional
WebCam:
Processamento de Imagens
Rede Neural:
Treino / Uso na classificação
Simulação com Humanos Virtuais
Ações:
Grupos de Humanos Virtuais
7
30 May 2007
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
2. Objetivos - Visão Geral do Projeto
Integração: Aquisição das Imagens, Classificação, Ações
Treinamento
RNA
[SNNS/C++]
Matlab
Aquisição,
procesamento
e medidas
Aplicação
de multidões
de humanos
virtuais [C++]
Classificador
RNA
[C++]
8
30 May 2007
= Sockets e
Memória
Compartilhada
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
3. Visão Computacional
3.1 Reconhecimento de Posturas
3.2 Extração de Atributos
3.3 Aprendizado e Classificação Neural (ANN)
3.4 Resultados: Rede Neural
Posturas escolhidas para utilização no experimento
•
•
•
•
•
9
30 May 2007
•
5 dedos (mão aberta)
0 dedos (mão fechada)
1 dedo (indicador)
1 dedo (polegar)
2 dedos (v – vitória)
1 dedo (mínimo)
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
3. Visão Computacional
3.1 Reconhecimento de Posturas
3.2 Extração de Atributos
3.3 Aprendizado e Classificação Neural (ANN)
3.4 Resultados: Rede Neural
Posturas escolhidas para utilização no experimento
•
•
•
•
•
10
30 May 2007
•
5 dedos (mão aberta)
0 dedos (mão fechada)
1 dedo (indicador)
1 dedo (polegar)
2 dedos (v – vitória)
1 dedo (mínimo)
Posturas
Gestos
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
3. Visão Computacional
3.1 Reconhecimento de Posturas
3.2 Extração de Atributos
3.3 Aprendizado e Classificação Neural (ANN)
3.4 Resultados: Rede Neural
Posturas escolhidas para utilização no experimento
•
•
•
•
•
11
30 May 2007
•
5 dedos (mão aberta)
0 dedos (mão fechada)
1 dedo (indicador)
1 dedo (polegar)
2 dedos (v – vitória)
1 dedo (mínimo)
Aquisição das imagens:
- Aquisição das imagens a partir da Webcam
- Pré-processamento das imagens no MATLAB
- A limiarização e segmentação das imagens
- Extração das referência (métricas/atributos)
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
3. Visão Computacional
3.1 Reconhecimento de Posturas
3.2 Extração de Atributos
3.3 Aprendizado e Classificação Neural (ANN)
3.4 Resultados: Rede Neural
Exemplo de extração de atributos:
(a) Intensidade do canal azul.
(b) Resultado da binarização.
(c) Resultado do fechamento morfológico.
(d) Imagem binária final restrita
ou bounding box.
12
30 May 2007
Aquisição das imagens:
- Aquisição das imagens a partir da Webcam
- Pré-processamento das imagens no MATLAB
- A limiarização e segmentação das imagens
- Extração das referência (métricas/atributos)
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
3. Visão Computacional
3.1 Reconhecimento de Posturas
3.2 Extração de Atributos
3.3 Aprendizado e Classificação Neural (ANN)
3.4 Resultados: Rede Neural
13
30 May 2007
Extração de Atributos (feições):
Procedimentos que, aplicados a uma
imagem retornam um valor numérico
capaz de diferenciar os tipos de imagens
- Histograma Vertical
- Histograma Horizontal
- Densidade de P/B
- Alternância de P/B
- Bounding Box
Aquisição das imagens:
- Aquisição das imagens a partir da Webcam
- Pré-processamento das imagens no MATLAB
- A limiarização e segmentação das imagens
- Extração das referência (métricas/atributos)
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
3. Visão Computacional
3.1 Reconhecimento de Posturas
3.2 Extração de Atributos
3.3 Aprendizado e Classificação Neural (ANN)
3.4 Resultados: Rede Neural
14
30 May 2007
Extração de Atributos (feições):
Procedimentos que, aplicados a uma
imagem retornam um valor numérico
capaz de diferenciar os tipos de imagens
- Histograma Vertical
- Histograma Horizontal
- Densidade de P/B
- Alternância de P/B
- Bounding Box
Histograma
Horizontal
Aquisição das imagens:
- Aquisição das imagens a partir da Webcam
- Pré-processamento das imagens no MATLAB
- A limiarização e segmentação das imagens
- Extração das referência (métricas/atributos)
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
3. Visão Computacional
3.1 Reconhecimento de Posturas
3.2 Extração de Atributos
3.3 Aprendizado e Classificação Neural (ANN)
3.4 Resultados: Rede Neural
15
30 May 2007
Extração de Atributos (feições):
Procedimentos que, aplicados a uma
imagem retornam um valor numérico
capaz de diferenciar os tipos de imagens
- Histograma Vertical
- Histograma Horizontal
- Densidade de P/B
- Alternância de P/B
- Bounding Box
Histograma
Vertical
Aquisição das imagens:
- Aquisição das imagens a partir da Webcam
- Pré-processamento das imagens no MATLAB
- A limiarização e segmentação das imagens
- Extração das referência (métricas/atributos)
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
3. Visão Computacional
3.1 Reconhecimento de Posturas
3.2 Extração de Atributos
3.3 Aprendizado e Classificação Neural (ANN)
3.4 Resultados: Rede Neural
Entradas adotadas: Atributos das imagens
10 projeções verticais
10 projeções horizontais
Dimensões da largura e altura do bounding box
Softwares:
JavaNNS
SNNS
Analyze
SNNS2C
Base de treinamento e teste/validação do classificador:
22 entradas e 1 saída (a sua respectiva classe (1 dentre as 6 posturas)
600 exemplos (imagens) - 420 de treino (70%) e 180 de validação (30%)
70 exemplos de cada classe = 70 x 6 = 420 exemplos na base de treino
16
30 May 2007
Rede Neural: 22-22-6 (22 Input, 22 Hidden, 6 Output)
Aprendizado: RProp (Resilent Propagation ~ BackProp acelerado)
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
3. Visão Computacional
3.1 Reconhecimento de Posturas
3.2 Extração de Atributos
3.3 Aprendizado e Classificação
3.4 Resultados: Rede Neural
Taxa média de acertos - aprendizado : 99,95%
Taxa média de erro - abaixo de 0,05%.
Taxa de acertos (treino/teste):
muito próxima a 100%
17
30 May 2007
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
3. Visão Computacional
3.1 Reconhecimento de Posturas
3.2 Extração de Atributos
3.3 Aprendizado e Classificação
3.4 Resultados: Rede Neural
Taxa média de acertos - aprendizado : 99,95%
Taxa média de erro - abaixo de 0,05%.
Taxa de acertos (treino/teste):
muito próxima a 100%
18
30 May 2007
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
4. Simulação com Humanos Virtuais
Simulação de grupos - "Crowds"
Aplicação de simulação militar:
- Formação: Linha, Quadrado, Divisão de grupo, Junção
- Agrupamento: Denso, Esparso
Comando das tropas através de gestos
- Reconhecimento de posturas
- Associação da postura às ações
19
30 May 2007
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
5. Arquitetura do Sistema
–
Exportação da rede com o melhor resultado

–
Utilização do SNNS2C para exportar a rede que
apresentou o melhor resultado dentre todos os testes
Integração das aplicações via sockets e
memória compartilhada
20
30 May 2007

Aquisição da Imagem

Pré-Processamento: extração de atributos

Classificação com a rede (snns2c)

Classe identificada gera código da ação

Geração das ações => Animação do Humanos Virtuais
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
6. Conclusões e Perspectivas
Tópicos abordados:
- Interface Humano-Computador
- Aprendizado e Reconhecimento de Posturas
- Aplicação em Tempo Real
- Visão Computacional
- Simulação de Humanos Virtuais
Trabalhos Futuros:
- Reconhecimento de GESTOS
(dinâmica do movimento)
- Explorar mais o uso de interfaces gestuais
Trabalhos relacionados...
21
30 May 2007
A tool for teaching musical metrics
based on computer vision - CGI2007
Rodrigo Schramm e Claudio Jung
Animando Humanos Virtuais
em Tempo-Real usando
Visão Computacional e Redes Neurais
Nelson F. Souza Jr. et al.
Proc. Imagens / Visualização 3D
22
30 May 2007
Download

Visão Computacional