descrição da arquitetura multimodal para controle de ...biblio/biblioteca/rel_tec/rt_342.pdf · 3...

40
INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃO USP RELATÓRIO TÉCNICO - Biblioteca Prof. Achille Bassi Descrição da arquitetura multimodal para controle de estímulos em robôs sociais Gabriel Dias Pais; Vitor Munhoz; Claudio Adriano Policastro Orientadora: Dra. Roseli A. Francelin Romero USP - São Carlos Maio / 2008

Upload: lythuy

Post on 23-Jan-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

INSTITUTO DE CIÊNCIAS MATEMÁTICAS E DE COMPUTAÇÃOUSP

RELATÓRIO TÉCNICO - Biblioteca Prof. Achille Bassi

Descrição da arquitetura multimodal paracontrole de estímulos em robôs sociais

Gabriel Dias Pais; Vitor Munhoz; Claudio Adriano Policastro

Orientadora: Dra. Roseli A. Francelin Romero

USP - São CarlosMaio / 2008

Sumário

Sumário 1

1 Considerações Iniciais 3

2 Robôs Sociais 52.1 Robôs Biologicamente Inspirados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2 Visão Computacional em Robôs Sociais . . . . . . . . . . . . . . . . . . . . . . . . 5

2.2.1 Rastreamento de Pessoas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3 Visão Computacional 73.1 Atenção Visual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

3.1.1 Inspiração Biológica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73.1.2 Modelo de Itti . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.2 Detecção de Faces e Pose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2.1 Reconhecimento de padrões . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2.2 Detecção de faces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.2.3 Modelos Baseados em Características . . . . . . . . . . . . . . . . . . . . . . 143.2.4 Modelos Baseados em Aparência . . . . . . . . . . . . . . . . . . . . . . . . 153.2.5 Detecção de Pose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2.6 O modelo a priori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.2.7 AVAM - Adaptive View-Based Appearance Models . . . . . . . . . . . . . . . 163.2.8 Acompanhando os movimentos da cabeça . . . . . . . . . . . . . . . . . . . 18

4 Bibliotecas de visão computacional 194.1 LTILib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.2 Watson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204.3 Frame Grabber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

5 Interface Gráfica 21

6 Experimentos Preliminares 226.1 Detecção de Objetos Salientes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226.2 Detecção de Faces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

7 Cabeça Robótica Interativa 247.1 Sistema de Voz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257.2 Sistema Motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257.3 Sistema de Controle Integrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267.4 Mecanismo de Aprendizagem por Tutelagem . . . . . . . . . . . . . . . . . . . . . . 27

8 Experimentos Finais 308.1 Experimentos de Aprendizado da Atenção Compartilhada . . . . . . . . . . . . . . 308.2 Experimentos de Aprendizado por Tutelagem . . . . . . . . . . . . . . . . . . . . . 33

9 Considerações finais 36

1

Lista de Figuras

1 WHA8030 da Dr. Robot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Arquitetura do sistema de visão para robôs sociais. . . . . . . . . . . . . . . . . . . 43 Arquitetura geral do sistema de controle do robô. . . . . . . . . . . . . . . . . . . . 44 Exemplos de tarefas de busca visual. . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Método de atenção visual proposto por Itti. . . . . . . . . . . . . . . . . . . . . . . 96 Processo de filtragem linear com uma Pirâmide Gaussiana de 3 níveis. . . . . . . . 107 Pirâmide Direcional de 4 níveis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 Resultado do método de atenção visual proposto por Itti. . . . . . . . . . . . . . . . 119 Modelo de saliencia baseada em atenção visual Bottom-up proposto por Itti. . . . 1210 Reconhecimento estatístico de padrões. . . . . . . . . . . . . . . . . . . . . . . . . 1311 Os desafios associados ao problema de detecção de face. . . . . . . . . . . . . . . 1512 Modelo Baseado em Aparência usando Eingenfaces. . . . . . . . . . . . . . . . . . 1613 Reconstrução usando View-Based. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1714 Modelo de detecçao de pose proposto por Morency . . . . . . . . . . . . . . . . . . 1915 Interface de experimentos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2116 Ambiente controlado experimentos com o mapa de saliência. . . . . . . . . . . . . 2317 Ainda com mbiente controlado novos experimentos com o mapa de saliência. . . 2418 Amostragem das cores RGB predominantes nas imagens das frutas sob diferen-

tes condições de luminosidades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2519 Experimentos com o Módulo de Detecção de Objetos em ambientes pouco con-

trolados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2620 Experimentos com Modelo Baseado em Aparência. . . . . . . . . . . . . . . . . . . 2721 Sistema de controle do robô. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2722 Sistema de reconhecimento de fala. . . . . . . . . . . . . . . . . . . . . . . . . . . . 2823 Algoritmo principal do sistema de controle da cabeça robótica interativa. . . . . . 2824 Arquitetura geral do mecanismo de aprendizagem. . . . . . . . . . . . . . . . . . . 2925 Arquitetura geral do sistema de controle do robô. . . . . . . . . . . . . . . . . . . . 3026 Evolução do aprendizado durante os experimentos. . . . . . . . . . . . . . . . . . 3227 Processando de imagem executado pelo sistema de visão. . . . . . . . . . . . . . . 33

2

1 Considerações Iniciais

O propósito desse trabalho foi o estudo e o desenvolvimento de um sistema de visãocomputacional. Baseado no trabalho apresentado por Breazeal e Scassellati , esse sistemasimula as preferências visuais das crianças: cores salientes, movimento e faces humanas[Breazeal and Scassellati, 1999].

A implementação do sistema de visão é baseada em mapas de características criados apartir de cada percepção (cores e faces). O resultado do processamento desse sistema con-siste em um mapa de ativação que pode ser então utilizado por outros sistemas para realizaro controle de um robô. O processamento do mapa de cores é baseado no trabalho de busca eatenção visual apresentado em [Itti and Koch, 2001]. Utilizando o mecanismo biologicamenteinspirado Bottom-up de Atenção Visual cria-se um único mapa de característica que repre-sentando a "saliência visual"da cena. O processamento do mapa de faces será baseado nostrabalhos de [Scassellati, 2001] e [Morency and Darrell, 2002]. Para a detecção de uma face,um filtro de cores similares a pele será aplicado para determinar possíveis candidatas. Então,um par de métricas específicas é empregado para avaliar se os objetos correspondem ou nãoa faces humanas [Scassellati, 2001]. A partir de um Modelo Baseado em Aparência a regiãoda imagem que contém a face é utilizada para a detecção da pose da mesma, empregandoferramentas estatísticas (Filtro de Kalmam [Morency and Darrell, 2002]).

O sistema foi desenvolvido em Visual Studio 6.0 C++ para Windows e foram utilizadas asbibliotecas de processamento de imagens: Watson [Morency, 2007], LTIlib [LTI, 2003] e FrameGrabber [Yang, 2006]. As imagens foram obtidas de uma câmera USB comum. O sistema devisão será conectado ao robô por cabo e receberá estímulos a partir do mesmo. O robô a serutilizado é composto por uma cabeça com 5 servo motores, uma câmera digital colorida, ummódulo multimídia e um módulo controlador. Esse robô é apresentado na Figura (1).

Figura 1: WHA8030 da Dr. Robot.

Existem dois importantes módulos que podem ser identificados nessa arquitetura. Sãoeles: o Módulo de Detecção de Faces e o Módulo de Detecção de Objetos. Baseado no tra-balho de Breazeal e Scassellati [Breazeal and Scassellati, 1999], esse sistema tem o objetivode codificar o ambiente para a Arquitetura do Sistema de Controle de Estímulos em RobôsSociais [Policastro et al., 2007]. A Arquitetura do Sistema de Visão e a Arquitetura do Sistemade Controle de Estímulos em Robôs Sociais são apresentadas nas Figuras (2) e (3) respecti-vamente. Observe que os cálculos de detecção de pose e atenção visual são paralelizados. Aentrada do sistema consiste de frames adquiridos de uma câmera USB comum. A partir dadetecção de faces e movimentos é calculado a pose de uma pessoa. O módulo Detecção decores é processado em paralelo e é responsavel pelo cálculo do mapa de saliência visual dasimagens de entrada. A saída do sistema de visão será os dados de entrada para o sistema deControle de Estímulos em Robôs Sociais [Policastro et al., 2007].

Este relatório está organizado da seguinte maneira. Na Seção (1) são apresentadas as mo-tivações para o presente trabalho e as arquiteturas do sistema de visão. Na Seção (2) sãoapresentados os principais conceitos sobre Robôs Sociais e Visão Computacional para RobôsSociais. Na Seção (3) são apresentados as principais técnicas de visão computacional usadasna implementação desse trabalho. Na Seção (4) são apresentadas as bibliotecas utlizadas nasimplementações. Na Seção (5) é apresentada a interface gráfica desenvolvida. Na Seção (6) são

3

Figura 2: Arquitetura do sistema de visão para robôs sociais.

ConsequenceControl Module

Motivational System

StimulusPerceptionModule

ResponseEmission Module

LearningMechanism

ResponseEmission

Mechanism

Data Acquisition

ComputerVision

VoiceRecognition

Activation Map

Face Detection Saliency Detection

Frame Grabber

Recognizer NuanceSystem

GrammarKnowledge

Base

.

.

.

SimilarObjectsGroup

ART2Codification Cluster

Layer(LEVEL 2)

ART2InputLayer

(LEVEL 1)

ConceptMemory

(LEVEL 3)

SimilarObjectsGroup 2

Similar ObjectsGroup 3

SimilarObjectsGroup n

.

.

.

r

g

h

b

Motor ScriptMotor

ScriptMotor ScriptMotor

Script

Response

Response

Visual stimuli

Auditory stimuli

Visualstimuli

AuditoryStimuli

Figura 3: Arquitetura geral do sistema de controle do robô. As setas indicam o fluxo deinformações entre os módulo do sistema de controle.

apresentados os resultados dos experimentos preliminares e uma discussão sobre os resulta-dos. Na Seção (7) é apresentada a Cabeça Robótica Interativa e as arquiteturas dos sistemasde voz, motor, controle integrado e aprendizado por tutelagem. Na Seção (8) é apresentado osresultados dos experimentos utilizando a Cabeça Robótica Interativa. Finalmente, na Seção(9) fazemos as considerações finais sobre o trabalho desenvolvido.

4

2 Robôs Sociais

Robôs sociais devem ser capazes de interagir com seres humanos de maneira mais natural.Eles devem ser capazes de reconhecer outros robôs ou seres humanos e realizar interaçõessociais, além de possuir percepções e interpretar o ambiente no qual estão inseridos. Adicio-nalmente, eles devem ser capazes de se comunicar e aprender por meio dessa interação social[Breazeal, 2000].

Pode-se classificar a construção dos robôs sociais em: robôs biologicamente inspirados, nosquais os pesquisadores exploram uma simulação interna ou mímica do comportamento socialinteligente encontrado e criaturas vivas; e robôs funcionalmente projetados, nos quais o obje-tivo é construir um robô que apresenta um comportamento social aparente, mesmo se o pro-jeto interno não é baseado em princípios científicos [Daltenhahn, 1997] [Daltenhahn, 1998][Daltenhahn and Bilard, 1999] [Daltenhahn, 2000] [Breazeal, 2000]. A seguir é apresentadauma breve discussão sobre a abordagem biologicamente inspirada por ser a abordagem ado-tada para os projetos realizados no grupo de pesquisa.

2.1 Robôs Biologicamente Inspirados

Com a abordagem biologicamente inspirada, os pesquisadores objetivam criar robôs queimitam ou simulam internamente o comportamento social ou inteligente encontrado nas cri-aturas vivas.

Dois argumentos são utilizados para o desenvolvimento de projetos inspirados em siste-mas biológicos. Primeiro, muitos pesquisadores entendem que a natureza fornece melhoresmodelos para atividade de agentes individuais. A hipótese é que para um robô ser compre-endido pelos seres humanos, ele precisa interagir com o ambiente da mesma forma que ascriaturas vivas e ele precisa perceber os mesmos objetos que parecem ser relevantes para osseres humanos [Slatev, 1999]. O segundo argumento para os robôs biologicamente inspira-dos é que eles permitem examinar, testar e refinar as teorias nas quais o projeto é baseado[Adams et al., 2000]. Isso é particularmente verdadeiro com robôs humanóides.

Projetos biologicamente inspirados são baseados em teorias da ciência cognitiva e natural.Essas teorias são utilizadas para guiar o projeto dos sistemas: motivacional, motor, cogni-tivo e comportamental do robô [Daltenhahn, 1997] [Daltenhahn, 1998] [Daltenhahn, 2000][Breazeal, 2000] [Scassellati, 2001].

2.2 Visão Computacional em Robôs Sociais

Para interagir com os seres humanos, os robôs sociais precisam ser capazes de entender oambiente de maneira semelhante às criaturas vivas. Isto é, sentindo e interpretando os sinaise objetos do ambiente [Breazeal, 2000] [Scassellati, 2001]. Eles precisam interpretar sinaissociais como o olhar, as expressões faciais, os movimentos corporais, a fala, entre outros. Emadição a percepção requerida pelas funções convencionais dos robôs (localização, navegação,desvio de obstáculos), os robôs sociais precisam detectar e entender determinadas saliênciasdo ambiente.

Especificamente, os robôs sociais precisam possuir uma percepção orientada aos sereshumanos, ou seja, otimizada para interagir com os humanos [Sidner et al., 2004]. Eles de-vem ser capazes de rastrear características humanas (faces, mãos, corpo), interpretar a fala,comandos discretos e linguagem natural. Adicionalmente, eles devem incorporar mecanismospara o reconhecimento de expressões faciais, gestos e atividades humanas [Breazeal, 2000][Scassellati, 2001].

A maioria das percepções orientadas aos seres humanos são baseadas em mecanismospassivos como visão computacional e reconhecimento de fala. Sensores passivos como câ-meras CCD e microfones são de fácil aquisição, requerem pouca infraestrutura para suautilização e podem ser utilizados em um número de tarefas de percepção. A seguir são discu-tidos alguns mecanismos de percepção que devem ser considerados durante o projeto de umrobô social.

2.2.1 Rastreamento de Pessoas

Para interações humano-robô, um dos desafios é o desenvolvimento de métodos eficientespara rastrear pessoas na presença de objetos ocultando as mesmas, variação de iluminação,

5

movimento de câmera e variação do ambiente de fundo. Muitas abordagens foram propos-tas na literatura, para o rastreamento de faces, corpos e vários objetos simultaneamente[Bruce et al., 2001] [Pineau et al., 2003].

• Reconhecimento e Detecção da Face. Uma abordagem largamente utilizada para o re-conhecimento de pessoas é a detecção de face. Recentemente, diversas abordagensde sistemas de detecção de faces em tempo real foram propostas [Scassellati, 2000][Scassellati, 2001]. Muitos estudos mostram que expressões faciais projetam as emo-ções e o estado interno das pessoas. As expressões faciais também tem sido utilizadaspara detectar intenções e sinais sociais em seres humanos. Existem técnicas que iden-tificam as ações dos músculos faciais em um seqüência de imagens. Outras utilizammodelos anatômicos e rastreiam características da face, tais como distância entre osolhos e o nariz. Ainda, a PCA reduz a imagem de uma face a alguns componentes quepodem então ser analisados.

• Acompanhamento do Olhar. O olhar é um bom indicador de que uma pessoa está pres-tando atenção em algum objeto ou evento de interesse no ambiente. A capacidade deacompanhar o olhar de uma pessoa é considerada uma das habilidades básicas para oinício de uma interação social. Na literatura, foram propostas algumas abordagens paraacompanhar o olhar de uma pessoa. Essas abordagens são úteis para a construção demecanismos sociais básicos que permitem o desenvolvimento de sistemas capazes deaprender por meio de interações sociais.

Na literatura podem ser encontrados alguns trabalhos relativos a sistemas de percepçãobaseados em visão computacional, de interesse deste trabalho. Um sistema a partir do qualeste trabalho foi baseado é apresentado em [Breazeal and Scassellati, 1999]. Este sistema deatenção integra percepções visuais: detecção de movimento; cores e faces humanas, junta-mente com efeitos de habituação. Cada percepção visual gera uma mapa de característicasque são então combinados por meio de uma soma ponderada. Esse sistemas influencia e éinfluenciado pelos sistemas comportamental e motivacional do robô, provendo um sistemade atenção dependente do contexto do ambiente e da situação e necessidade do robô. Dessaforma, o sistema combina as diversas caracteristicas providas pelo sistema perceptual jun-tamente com os estados atuais de motivação e comportamento para direcionar os recursoscomputacionais limitados durante as interações sociais.

6

3 Visão Computacional

O objetivo da área de Visão Computacional é a determinação de características dos obje-tos representados em uma imagem. Uma grande variedade de problemas é obtida conformea natureza das imagens e as características a serem obtidas a partir delas. Em sua formamais clássica, uma imagem é uma aplicação com domínio em uma região do R2 e com valoresem um espaço de cores, o que corresponde a um modelo matemático do agregado de energialuminosa que atinge a retina. O desenvolvimento de algoritmos computacionais capazes deextrair informações presentes em uma imagem é fortemente influenciado pela compreensãodos processos de aquisição de imagens e de sua percepção no sistema visual do homem ede outros animais. O clássico modelo de Marr para visão [Marr, 1983], por exemplo, inclui"módulos de visão"que vão de processamento de "baixo nível "(aquisição da imagem no olho,filtragem, detecção de arestas, agrupamento), passando por detecção de formas (usando in-formações de textura, movimento, sombreamento e visão estéreo) até o processamento de "altonível"(formação e reconhecimento de objetos via comparação com protótipos). Tais módulossão a motivação para diversas áreas de Processamento de Imagens e Visão Computacional,que freqüentemente avançam baseadas em descobertas relativas à função correspondentedesempenhada por órgãos de visão natural.

Uma importante descoberta é a de que processamos, mesmo nos níveis mais baixos, todaa informação visual que recebemos em diversas escalas simultanemente, em outras palavras,a visão natural consegue obter características de estruturas complexas de uma imagem igno-rando distrações que venham de seus detalhes menores. Esta propriedade é essencial para arobustez de qualquer sistema (por exemplo, é por causa desta natureza multi-escala que po-demos entender imagens com ruído, mosaicos e até mesmo imagens de televisão). Um modelomatemático e computacional que tem esta característica é o modelo dos Espaços de Escala[Velho and Carvalho, 2002]. Na verdade, os espaços de escala são a base de toda uma linhade pesquisa de Equações Diferenciais Parciais aplicadas ao Processamento de Imagens quetem se revelado extremamente ativa recentemente (incluindo tópicos como Snakes, Waveletse Level Set Methods).

Por outro lado, nos níveis mais altos do processamento visual temos o processo de percep-ção visual, na qual imagens adquiridas são comparadas com imagens e modelos já armazena-dos na memória, para fins de reconhecimento de padrões já observados [Morency et al., 2003].Um aspecto fundamental da área de visão computacional é a construção de modelos proba-bilísticos para as variáveis do processo de visão (as imagens observadas; a forma, posiciona-mento, textura e iluminação dos objetos, etc) e a obtenção de amostras e estimativas a partirde tais modelos.

A seguir serão apresentadas algumas das técnicas de visão computacional, focando as ins-piradas nos níveis mais altos do processamento visual, que foram empregadas no desenvolvi-mento do presente trabalho para a seguintes tarefas: Atenção Visual, Detecção de movimento,e Detecção de faces e pose.

3.1 Atenção Visual

A todo instante, os olhos humanos se deparam com uma grande carga de estímulos visu-ais. No entanto, é impossível processar toda a informação que chega aos olhos em determi-nado espaço de tempo [Marr, 1983]. O cérebro humano lida com este problema de diversasformas. Em primeiro lugar, os olhos não captam toda a informação que está a sua frente.Apenas alguns pontos por segundo são tratados. Por meio de movimentos rápidos dos olhos,conhecidos como movimentos sacádicos (do inglês saccadic eye movements), o cérebro recebesomente parte da informação visual a cada instante. Portanto, para lidar com o excesso deinformação, o sistema visual possui mecanismos para selecionar apenas um subconjunto deestímulos para um processamento rigoroso e executar apenas uma análise limitada sobre orestante das informações visuais [Breazeal et al., 2001].

3.1.1 Inspiração Biológica

A atenção visual é a habilidade que o sistema visual dos vertebrados superiores utilizapara selecionar e processar somente as regiões mais relevantes em uma cena visual. A aten-ção visual pode ser entendida como um mecanismo para lidar com a incapacidade de tratarde uma só vez uma grande quantidade de informação visual tanto em sistemas biológicos

7

quanto em sistemas computacionais. Deste modo, somente as regiões mais importantes emuma cena são tratadas. Esta seleção das informações mais relevantes dos estímulos de en-trada é uma das características mais importantes dos sistemas visuais biológicos que permiterápida detecção de predadores, perpetuação e evolução das espécies [Itti and Koch, 2001].Ainda, Tsotsos [Tsotsos and Nuflo, 1995] analisou a complexidade computacional da análisevisual e confirmou que a atenção visual é uma das mais importantes contribuições para oti-mizar a quantidade de computações em sistemas visuais. Em uma visão didática, podem seridentificados dois métodos principais para obtenção da Atenção Visual. Os métodos top-downe bottom-up.

O método top-down usa conhecimentos obtidos a priori para detectar regiões de maiorinteresse numa imagem. Esses conhecimentos podem ser obtidos de várias formas. Geral-mente, utilizam-se ferramentas de aprendizagem baseadas em modelos geométricos - rela-cionais (como redes semânticas ou grafos relacionais) ou modelos estatísticos (como redesneurais e máquinas de vetores de suporte). Porém, esses conhecimentos também podemser fornecidos por um ser humano, selecionando-se manualmente regiões de maior interessenuma imagem.

A atenção visual bottom-up é guiada por características primitivas da imagem como cor,intensidade e orientação. Além disso, ela atua de modo inconsciente, ou seja, o observa-dor é levado a fixar sua atenção em determinadas regiões da imagem devido aos estímuloscausados pelos contrastes entre características visuais presentes na imagem. Wolfe e Ho-rowitz demostraram que algumas características como cor, orientação ou tamanho dos ob-jetos em uma imagem são responsáveis por guiar o mecanismo biológico de atenção visual[Wolfe and Horowitz, 2004]. A figura 4 apresenta alguns exemplos de tarefas de busca visual.

3.1.2 Modelo de Itti

Um dos métodos mais utilizados em atenção visual bottom-up foi proposto por LaurentItti [Itti et al., 1998]. Neste trabalho os autores propuseram um mecanismo de atenção visualbottom-up que é baseado em um mapa bidimensional que representa a saliência visual. Omapa de saliência é formado pela composição dos vários mapas de características. Cada mapade característica apresenta uma propriedade elementar da imagem como cor, intensidade eorientação. Essas características são conhecidas como características visuais primitivas. Ométodo pode ser dividido nas seguintes etapas: extração de características, filtragem linear,diferenças centro-vizinhaças, soma de mapas de características (combinação linear) e seleçãode regiões salientes (redes neurais winner-takes-all). Na Figura 5 é mostrado um diagramaque representa o funcionamento deste mecanismo de atenção visual.

Para gerar um mapa de saliência, três tipos de características visuais primitivas são extraí-das: cor, intensidade e orientação. Em seguida, quatro canais de cores são criados (R paravermelho, G para verde, B para azul e Y para amarelo). Sendo r, g, b os canais vermelho,verde e azul da imagem de entrada, os canais de cores são representados por:

R = r − (g + b)2

(1)

G = g − (r + b)2

(2)

B = b− (r + g)2

(3)

Y =(r + g)

2− ||r − g|| − b (4)

A imagem de intensidades é representada por I = (r + g + b)/3, que define a imagem emtons de cinza. Para cada canal de cor e para a imagem de intensidades, são criadas PirâmidesGaussianas de nove níveis: R(σ) G(σ) B(σ) Y (σ) no qual σ ∈ {0, ..., 8}. As Pirâmides Gaussianassão geradas utilizando um algoritmo proposto por Burt e Adelson [Burt and Adelson, 1983].Informações de orientação local são obtidas pela aplicação de um algoritmo proposto porFreeman e Adelson [Freeman and Adelson, 1991], que trata de Pirâmides Direcionais. NasFiguras 6 e 7 são mostrados exemplos de Pirâmides Gaussianas e Direcionais.

Os canais de cores e a imagem de intensidades são submetidos a um processo de filtragemlinear. Este processo é realizado por meio da geração de Pirâmides Gaussianas e Pirâmides

8

(a) Conhecimento a priori (b) Contraste de cores.para executar buscas visuais.

(c) Contraste de orientações. (d) Informação de intersecçãonão guia a atenção.

Figura 4: Exemplos de tarefas de busca visual. Algumas destas tarefas são simples. Na Figura(a), o contraste entre o azul e o vermelho ressalta a existência de um numeral 5 (cinco) de cordiferente dos demais. No entanto, perceber um número cinco azul e maior é um pouco maiscomplicado. A Figura (a) também é um exemplo da importância de conhecimento a priori paraexecutar determinadas buscas visuais, pois dificilmente é possível identificar o número doisexistente nesta imagem sem que alguém tenha dito que há um número dois. Isto demonstra ofato de que a atenção visual top-down é mais lenta e necessita de conhecimento prévio sobre oque se quer encontrar. Nas Figuras (b) e (c) são demonstradas a importância da orientação e docontraste de cores para ressaltar objetos diferentes em imagens. Na Figura (b) é difícil encontraros pares de triângulos horizontais, mas esta tarefa é simplicada devido ao contraste de coresentre os retângulos azuis e os retângulos rosas. Na Figura (d), a busca por cruzes é ineficientedevido ao fato de que aqui a informação de intersecção não guia a atenção.

Figura 5: Método de atenção visual proposto por Itti. Dada uma imagem obtem-se o mapa desaliência da imagem através de basicamente três tarefas: filtragem linear, criação dos mapasde conspicuidades e a combinação linear desses mapas.

Direcionais. A Pirâmide Gaussiana é composta por versões filtradas passa-baixa da convo-lução Gaussiana aplicada à imagem de entrada. A Pirâmide Direcional é uma decomposiçãomulti-escala e multi-orientação de uma imagem. Nesta decomposição linear, uma imagem ésubdividida em um conjunto de sub-bandas localizadas em escala e orientação. A represen-tação piramidal é usada para a obtenção de amostras da imagem sem detalhes indesejavéis.

Os mapas de características são obtidos por meio da diferença entre canais de cores emdiferentes escalas, este processo é conhecido como diferença centro-vizinhança. Nesta sub-tração de imagens, o centro é um pixel da imagem em uma escala c ∈ {2, 3, 4} e a vizinhança éo pixel correspondente de outra imagem em uma escala s = c + δ com δ ∈ {3, 4} da pirâmide.Então computam-se seis mapas da característica para cada tipo de característica (nas escalas2−5, 2−6, 3−6, 3−7, 4−7, 4−8). Desta forma, obtêm-se sete mapas de características: uma para

9

. . .

Figura 6: Processo de filtragem linear com uma Pirâmide Gaussiana de 3 níveis.

Figura 7: Pirâmide Direcional de 4 níveis. (a) Filtro passa-baixo na imagem original. (b) Faseintermediária analisando filtros em orientações 0o, 45o, 90o, 135o. Estes quatro filtros formamuma base, ou seja, qualquer orientação para esse filtro pode ser escrito como combinação linearda base. (c) - (e) Representação multi-escala de (a). Uma combinação linear desses coeficientesproduz o coeficiente para qualquer transformação para esse filtro. (f) Imagem passa-baixo (g)Imagem reconstruida apartir da representação da pirâmide. Note a semelhança com (a)

intensidade da imagem (On-Off), dois para as diferenças V ermelho− V erde e Azul−Amarelo, emais quatro para contraste local da orientação (0o, 45o, 90o, 135o) [Breazeal et al., 2001].

O processo de geração de todos esses mapas de características é inspirado biologica-

10

mente. A geração dos mapas de cores tem inspiração no sistema de cores oponentes docórtex visual. Os mapas de orientação são inspirados na propriedade que alguns neurôniosdo córtex visual possuem, isto é, são capazes de responder a estímulos de orientação da cena[Itti and Koch, 2001].

Uma vez que os mapas de características foram obtidos, eles são somados para a produçãodos mapas de conspicuidades: I para intensidade, C para cor e O para orientação, na escalaσ = 4. A motivação para a criação de três canais separados (I; C;O) é a hipótese de quecaracterísticas similares competem pela saliência, enquanto que características diferentescontribuem independentemente para o mapa de saliência [Itti and Koch, 2001]. O propósitodo mapa de saliência é representar regiões salientes na imagem por quantidades escalares eguiar a seleção de regiões baseada na distribuição espacial da saliência. O mapa de saliênciaresultante então, é uma imagem em tons de cinza em que as regiões mais salientes sãorepresentadas por pixels de altas intensidades. Na Figura 9 é mostrado todo processo decriação dos mapas de saliência.

As diversas regiões da cena visual disputam nessa medida em várias escalas espaciais,e a região vencedora é eleita como a mais saliente. Para se descobrir a região mais sali-ente em um mapa de saliência, pode-se utilizar uma rede neural do tipo winner-takes-all[Itti and Koch, 2001]. Tal rede realiza uma competição entre os neurônios, encontrando, aofinal, um unico vencedor. Isso abre margem para um problema: como evitar que o meca-nismo atencional aponte sempre para a mesma região (a mais saliente). Deseja-se que, apósencontrada a região mais saliente, o mecanismo aponte para as demais regiões em ordemde saliência. Tal funcionalidade é obtida através de inibição de neurônios na vizinhança doneurônio vencedor, da seguinte forma: ao se encontrar a região vencedora, os neurôniosde tal região são inibidos, e modo que o foco recaia sobre a segunda região mais saliente,evitando assim que pontos muito próximos sejam visitados repetidamente. O processo érepetido a cada região vencedora encontrada, fazendo com que a atenção se desloque siste-maticamente para cada uma das regiões da cena, definindo assim os caminhos atencionais[Tsotsos and Nuflo, 1995].

A tarefa de encontrar o mapa de saliência no sistema proposto é realizada usando a bibli-oteca de processamento de imagens LTI [LTI, 2003]. A figura 8 mostra o resultado do métodode Itti.

Imagem Original Mapa de Saliência

Figura 8: Resultado do método de atenção visual proposto por Itti.

3.2 Detecção de Faces e Pose

A habilidade para reconhecer faces e entender as emoções que elas transmitem é umadas mais importantes habilidades humanas. Bebês podem identificar a face de suas mãesdentro de meia hora após o nascimento, a maioria de nós é hábil para instantaneamentereconhecer milhares de pessoas. Seres humanos são ótimos reconhecedores de padrões , masainda não entendemos como os humanos reconhecem padrões. Apesar de quase cinqüentaanos de pesquisa e desenvolvimento neste campo, problemas comuns de reconhecimento depadrões complexos com orientação, localização e escala arbitrária encontram-se sem solução

11

Figura 9: Modelo de saliencia baseada em atenção visual Bottom-up proposto por Itti. Primitivasvisuais como cor, intensidade e orientação são computadas em paralelo e em seguida combina-das para gerar os chamados mapas de conspicuidade. São 7 caracteristicas e 6 mapas porcaracteristicas totalizando 42 mapas. Uma rede neural Winner-take-all seleciona a região maissaliente atraves da diferença centro-vizinhança e usa um mecanismo de inibição para listaros pontos mais salientes em ordem de saliência, dessa maneira guiamos a atenção a pontosdiferentes na imagem

[Jain, 2006]. Novas e emergentes aplicações, tais como mineração de dados, pesquisa na web,restauração de dados multimídia, reconhecimento de face e reconhecimento de letras escritasà mão, requerem técnicas robustas e eficientes de reconhecimento de padrão.

12

3.2.1 Reconhecimento de padrões

Um padrão pode ser definido como o oposto do caos, isto é, uma entidade vagamentedefinida a qual pode ser dado um nome. Assim, reconhecê-lo ou classificá-lo pode consistirde uma das seguintes tarefas:

• Classificação supervisionada.

• Classificação não supervisionada.

• Classificação estatística.

• Classificação via redes neurais.

A abordagem estatística para reconhecimento de padrão merece especial atenção, pois é aque mais tem sido estudada e usada na prática. No presente trabalho os métodos de detecçãode pose utilizam métodos que empregam a abordagem estatística.

Basicamente, um sistema de reconhecimento estatístico de padrões pode ser composto pe-las seguintes partes ( ver figura 10): um sistema de aquisição de dados (sensores ou câmeras);um sistema de pré-processamento para eliminar ruídos ou distorções; um extrator de carac-terísticas, que cria um vetor de características com dados extraídos dos objetos adquiridos,reduzindo os dados a atributos, propriedades ou características; um seletor de característicasque analisa o conjunto de características e elimina as mais redundantes; um classificador,que generaliza um padrão obtido e toma uma certa decisão [Shlens, 2005].

Figura 10: Reconhecimento estatístico de padrões. O classificador toma decisões baseando-seno aprendizado realizado a partir de um conjunto de treinamento, o qual contém exemplos depadrões de todas as classes existentes no sistema. Em reconhecimento estatístico de padrões,a classificação e realizada utilizando estimativas de distribuições probabilísticas, dai o nome.O reconhecedor de padrões é avaliado por meio de um conjunto de testes, preferencialmentecomposto por padrões de todas as classes, mas que não estejam no conjunto de treinamento.

Problemas podem aparecer nas generalizações. Esses problemas ocorrem quando um clas-sificador se especializa demais em seus padrões de treinamento, ou quando utiliza mais in-formações (características) que as necessárias. Basicamente, ha três problemas oriundos daredução na capacidade de generalização de um classificador [Shlens, 2005].

1. Sobre-ajuste: relacionado com o numero de parâmetros livres do classificador.

2. Sobre-treinamento: relacionado com o numero de iterações de treinamento.

3. Problema da dimensionalidade: relacionado com a dimensão do espaço de característi-cas.

Para resolver esses problemas, existem diversas técnicas conhecidas [Shlens, 2005]. Es-tudaremos apenas o problema da dimensionalidade porque está diretamente relacionado comas técnicas empregas no presente trabalho. O problema da dimencionalidade pode ser resol-vido usando uma técnica de redução da dimensão do espaço de características. Um métodode extração de características determina um subespaço apropriado de dimensionalidade m(de uma maneira linear ou não-linear) no espaço de características original de dimensionali-dade d (m ≤ d). A transformada linear, assim como a analise de componentes principais (doinglês Principal Components Analisys ) (PCA) ou expanção de Larhunen-Loeve, computam os m

13

maiores autovetores da matriz de covariância d x d de n padrões dimensionais [Shlens, 2005].A transformação linear é definida como:

Ynxm = XnxmHTnxm (5)

Na qual X é a matriz de padrão n x d , Y é a matriz derivada n x m, e H é a matriz detransformação linear m x d, cujas colunas são auto-vetores. Visto que PCA usa as caracterís-ticas mais expressivas (autovetores com os maiores autovalores), ele efetivamente aproximaos dados para um subespaço linear usando o critério do erro quadrático médio. PCA é umatécnica de extração de características não supervisionada propícia para dados com distribui-ção Gaussiana, mas não se tem certeza de que as faces possuam tal distribuição. Existemoutros métodos que são mais apropriados para distribuições não-Gaussianas.

3.2.2 Detecção de faces

A maioria dos métodos de reconhecimento de faces existentes assumem que as faces hu-manas devem ser extraídas de imagem estática ou de uma seqüência de imagens e a partirde então despendem estudos em algoritmos de reconhecimento. Entretanto, a detecção deface de uma imagem simples ou uma seqüência de imagens é uma tarefa muito desafiadorae não mais fácil do que reconhecimento de face. A detecção de face é consideravelmente difí-cil porque envolve localização de face sem nenhum conhecimento prévio sobre suas escalas,localizações, orientações (ereta, rotacionada) com ou sem oclusões, com diferentes posições(frontal, perfil). Expressões faciais e condições de iluminação também alteram por completoaparências de faces, tornando-se difícil detectá-las. Os desafios associados com problemas dedetecção de face podem ser atribuídos aos seguintes fatores [Jain, 2006] (veja a figura 11):

• Posições: Faces podem aparecer em diferentes posições (frontal, ângulo de 45 graus,perfil, parte superior inclinada para baixo) o que faz suas aparências variar nas imagens.Adicionalmente algumas posições podem ocluir características faciais tal como olhos enariz.

• Presença ou ausência de características estruturais comuns: Faces humanas possuemdiferentes características faciais tais como barba, bigode ou óculos. Além disso, tais ca-racterísticas tem diferenças drásticas na aparência por causa da localização e tamanho.

• Expressões faciais: A aparência de faces humanas são afetadas por suas expressõesfaciais.

• Oclusões: Faces podem ser oclusas por outros objetos. Em uma imagem com um grupode pessoas, algumas faces podem parcialmente ocluir outras faces.

• Condições de formulação da imagem: A formulação da imagem afeta o resultado da apa-rência de faces humanas por meio de problemas causados tais como escala, orientação,e condições de iluminação.

Dada uma imagem arbitrária ou em seqüência, a qual pode vir de uma imagem digitalizadaou uma fotografia scaneada, o objetivo da detecção de face é determinar se há ou não qualquerface humana na imagem e, se presente, retornar sua localização e extensão espacial.

A seguir serão apresentadas duas técnicas de detecção de faces denominandas ModelosBaseados em Características e Modelos Baseados em Aparência. O presente trabalho é base-ado na implementação de [Morency, 2007] e usa um modelo baseado em aparência.

3.2.3 Modelos Baseados em Características

Os metódos baseados em caracteristicas (Features Basead Methods) tem por objetivo en-contrar características invariantes da face. Particularmente, estes métodos são inspirados nacapacidade que os seres humanos possuem de identificar objetos independentes do ponto devista. A principal desvantagem de tal abordagem é que tais características podem ser corrom-pidas devido as condições de iluminação ou algum tipo de ruído, comprometendo assim, aeficiência de tal abordagem [Morency and Darrell, 2002].

A cor da pele e a textura da face são as principais características invariantes que podemser utilizadas para separar a face de outros objetos presentes em uma cena. No caso dacor, a informação contida somente na escala de cinza se consitui numa representação básica

14

Figura 11: Os desafios associados ao problema de detecção de face. Fatores desconhecidoscomo escala, localização, orientação, oclusão ou posição, fazem da detecção de face um pro-blema muito interessante e desafiante.

do objeto, enquanto que a utilização de todo o espectro de cores possível dispõe de infor-mações muito mais poderosas quanto a aparência do objeto. Com relação a face humana,constatou-se que a cor da pele independente de suas variações (branca, negra, amarela, etc),tende a formar um cluster no espaço de cores, podendo ser modelada por uma Distribui-ção Gaussiana. Portanto, esta característica pode ser explorada para detectar a presença deuma face em uma imagem colorida e classificar regiões como face e não-face, sendo que estaúltima é extremamente útil quando se deseja detectar mais de uma face em uma imagem[Morency and Darrell, 2002].

3.2.4 Modelos Baseados em Aparência

Os métodos que compõe a abordagem baseada na aparência (Appearence Based Methods),recebem este nome devido ao fato de não utilizarem nenhum conhecimento a priori sobre oobjeto ou características a ser detectada. Nesta classe de algoritmos surge os conceitos deaprendizado e treinamento, uma vez que as informações necessárias para realizar a tarefa dedetecção são retiradas do próprio conjunto de imagens sem intervenção externa.

O método de eigenfaces [Morency et al., 2003] é baseado na transformada de Karhunen-Loève (PCA), e é motivada pela sua eficiência na representação de figuras. As imagens de facesnão se encontram distribuídas de forma aleatória em um espaço de alta dimensionalidade,portanto elas podem ser descritas de alguma forma em um espaço de dimensão menor. Deacordo com esta idéia, faz-se o uso da análise de componentes principais (PCA) com o objetivode achar os vetores que melhor descrevem a distribuição de imagens dentro do espaço deimagens inteiro. Tais vetores são denominados eigenfaces devido a semelhança que possuemcom as imagens de faces.

3.2.5 Detecção de Pose

Estimar a pose de objetos para diferentes tipos de movimentos é um problema clássicoem visão computacional. O interesses aqui é a pose da cabeça de uma pessoa dada em umasequência de frames de uma câmera USB. O modelo proposto por Morency será usado nopresente trabalho e pode ser divido em duas partes:

1. Criação do modelo a priori dado um frame inicial.

2. Cálculo das mudanças de poses usando um Modelo Baseado em Aparência - AVAM(Adaptive View-Based Appearance Model)

15

Imagem Original Eingenfaces

Figura 12: Modelo Baseado em Aparência usando Eingenfaces. Projeção de imagem no espaçode vetores eigenfaces

A criação do modelo a priori é implementada usando a análise de componentes principais(PCA Principal Component Analys) para 28 diferentes poses de 14 diferentes pessoas (veja osresultados na figura 14.

3.2.6 O modelo a priori

Inicialmente o sistema procura uma reconstrução com menor erro para a pose inicial ea paritr dos coeficientes de correspondência PCA reconstrói a imagem para todas as outrasposes. Isso equivale a procurar a melhor representação da imagem para todas as poses. Opropósito de reconstruir um modelo a priori é generalizar um grupo de poses que será usadano cálculo da pose relativa entre dois frames. Dado um frame semelhante a pose do modelo Preconstrói-se todos as outras possíveis poses. No nosso caso, dada uma imagem e calculadasua pose podemos reconstruir as outras 27 poses.

Um novo frame {It, Zt} é processado para localizar a região de interesse. Isso pode ser feitousando detecção de movimento com subtração de fundo ou a detecção de face através de umfiltro de pele [Morency et al., 2003]. Para cada pose i do modelo e para cada subregiao {I ′y, Z ′

y}procuraremos o vetor ~wi que minimiza:

Ei = |I ′t − Ii − wi · VIi|2 (6)

Na qual, V é o conjunto das poses no modelo a priori. Com o valor de wi reconstruimos asimagens de intensidade I e profundidade Z.

IRi = Ii + wi · VIi (7)

ZRi= Zi + wi · VZi

(8)

A reprojeção é feita para toda pose i. Após a reconstrução de todas as imagens de in-tensidade e profundidade IRi

e ZRiprocura-se a melhor projeção que minimiza a função

correlacional:

(I ′t − I ′t) · (IRi − ¯IRi)|I ′t − I ′t||IRi

− ¯IRi|

+ λ(Z ′

t − Z ′t) · (ZRi − ZRi)

|Z ′t − Z ′

t||ZRi− ZRi

|(9)

Na qual, λ é uma constante. Se a imagem de profundidade não é avaliada então faz-seλ = 0.

Da função correlacionada pega-se ci para cada pose e subregião {I ′t, Z′t}. A menor correlação

c∗ para todas as poses e subregiões corresponde a melhor escolha. Usando os valores de ~wi

para a melhor escolha reconstrói-se novamente as imagens de intensidade e profundidadepara todas as poses usando as Equações (7) e (8). O resultado será um conjunto de frames{I∗, Z∗} que definem o melhor conjunto de imagens view-based do Eigenspace e a correlaçãoassociada c∗. Esse resultado é mostrado na figura (13). A seguir descrevemos o modelo AVAM[Morency et al., 2003].

3.2.7 AVAM - Adaptive View-Based Appearance Models

O modelo a priori reconstruido será usado para estimar a pose absoluta de um novo frameatravés de duas etapas:

16

Figura 13: Cada reconstrução foi feita usando View-Based exclusivamente para cada pessoa.A primeira mostra uma reconstrução onde a imagem-exemplo está orientada próximo a pose 0o

em X e Y. A pose reconstruida está na posição horizontal. A segunda reconstrução usa umaimagem-exemplo com inclinação de 20 o em X e Y. .

• Cálculo da pose relativa entre o novo frame e cada pose do modelo a priori usando oalgoritmo iterativo AVAM.

• Integração da pose mensurada (pose relativa) usando o Fitro de Kalman para produzir apose absoluta.

O modelo AVAM proposto por Morency [Morency et al., 2003] mantêm poses de um objetosob varias poses em frames-chaves. O método armazena um frame atual, um frame anteriore todos os frames-chaves. O modelo pode ser atualizado e ajustado, isto é, frames-chavespodem ser modificados, adicionados ou removidos durante a busca. AVAM consiste em umacoleção de poses armazenadas em frames-chaves adquiridos durante a detecção e cálculo dasposes. Para cada frame-chave o modelo armazena a seguinte informação:

Ms = {Is, Zs, xs} (10)

Na qual, Is e Zs são as imagens de intensidade e de profundidade associadas ao framechave s. O modelo portanto pode ser definido pelo conjunto {M1,M2, ...,Mk} no qual k éo número de frames-chaves. Segundo Morency a pose de cada frame-chave é bem repre-sentada por uma variável randômica Gaussiana e pode ser determinada durante a busca.xs = {T x, T y, T z, ωx, ωy, ωz} é um vetor de seis dimensões ( com a translação e rotação atravésdos três eixos coordenados ) que representa cada variável randômica. Importante ressaltarque o modelo mantêm a correlação entre as variáveis randômicas em uma matriz Λ. Comodito anteriormente, durante a busca podem ser adicionados ou removidos frames-chaves.Adicionando-se um novo frame chave a matriz de covariância Λ deve ser recalculada.

A detecção da pose e o ajuste do modelo são executados simultaneamente, assim, quandose adiquire um novo frame usa-se todos os frames-chaves para estimar a pose do novo framee o ajuste do modelo é alcançado aproximando a densidade a posteriori:

p(xt, xM |y1..t) (11)

Na qual, xt é a pose do frame atual, y1..t é o conjunto de todas as poses calculadas até omomento anterior a t e xM contêm todas os frames-chaves usados até então, ou seja, xM ={x1, ..., xk}.

A escolha de frames que serão adicionados à lista de frames-chaves é realizada procurando-se um frame-chave na qual a pose da imagem atual é parecida, assim, alinha-se as imagens(fazendo translações se necessário) e computa-se a diferença entre as duas imagens. Umlimiar τ é usado para decidir se a imagem é ou não adicionada à lista de frames-chaves.

17

Admita que as poses encontradas com a distribuicao a posteriori (Equação 11) sejam cor-rompidas por um ruído Gaussiano, pode-se então empregar a equação de Gauss-Markov[Morency et al., 2003]. Suponha ainda que no tempo t exista uma estimativa da mudançade pose xt−1 e os frames-chaves, então p(xt−1, xM |y1..t−1) é conhecido. Denote a nova mudançade pose estimada como y1..t = {y1..t−1, y

tt−1, y

tM1

, ytM2

, ...} na qual M1,M2, ... são os índices dosframes-chaves selecionados como frames de base, logo, pode-se calcular p(xt, xM |y1..t). Paracompletar computa-se a distribuição a priori para p(xt|y1..t−1) propagando a distribuição mar-ginal para p(xt−1|y1..t−1). Esse processo é similar a etapa de predição do Filtro de Kalman[Morency et al., 2003]. As variáveis usadas na atualização são: xt, a pose do frame anteriorxt−1 e os frames-chaves escolhidos como frames base xM1 , xM2 , etc. Seja χ:

χ = [xt, xt−1, xM1 , xM2 , ...]T (12)

A covariância entre os componentes de χ é denotada por Λχ. Note que as linhas e colunasde Λold

χ correpondem as poses dos frames-chaves e são simétricos em ΛM . Observe aindaque χ juntamente com Λχ determinam completamente a distribuicao a posteriori sobre osframes-chaves, o frame atual e o frame anterior.

3.2.8 Acompanhando os movimentos da cabeça

O problema de seguir movimentos 3D em corpos rígidos tem sido estudado extensiva-mente em visão computacional e computação gráfica. O algoritmo mais conhecido, IterativeClosest Point (ICP) introduzido por Chen, Medioni, Besl a McKay [P.J.Besl and McKay, 1992][Chen and Medioni, 1991] tem sido amplamente usado na literatura para fundir as varre-duras de escala do laser. Em visão computacional tem sido muito usado em técnicas paraestimar o movimento baseando-se em gradientes e agregando pontos de fluxo normal (NormalFlow Constraint). O algoritmo ICP procura correspondência entre duas nuvens de pontos 3De tenta minimizar o erro (usualmente a distancia euclidiana) entre os pontos combinados.Chen e Medioni minimizam esse erro baseado na distancia de ponto a plano, enquanto Besl eMcKay minimizam a distancia direta de ponto a ponto.

Normal Flow Constraint é um campo vetorial 3D que pode ser definido como um com-ponente 2D do fluxo ótico que esta na direção do gradiente da imagem. Quando a obser-vação 3D é avaliada diretamente, assim como a partir de ótica estéreo ou na varredura delasers, um fluxo normal restrito pode ser expresso diretamente para estimar o movimentode corpos rígidos. Harville [M. Harville and J.Woodfill, 1999] combinou o fluxo normal res-trito com o gradiente de profundidade para localizar movimento em corpos rígidos. Morency[Morency et al., 2003] usa uma aproximação também baseada nos gradientes, na qual usainformação de cor e brilho durante o processo de minimizar os erros. Os resultados tem sidobons e observa-se boa detecção de movimento até para sub-pixels.

No presente trabalho foi utilizada uma aproximação integrada de busca que aproveita oalinhamento das imagens usando um algoritmo híbrido de Normal Flow Constraint e Intera-tive Closest Point (ICP) proposto por [Morency et al., 2003]. Essa ferramenta tem precisão doprimeiro com a melhor robustez do último.

18

Figura 14: Resultado do modelo de detecçao de pose proposto por Morency. Um cubo representaas coordenadas estimadas para a pose de uma pessoa.

4 Bibliotecas de visão computacional

A seguir são apresentadas as bibliotecas de processamento de imagens utilizados nessetrabalho. Essas bibliotecas podem ser encontradas na Web e tem seu uso livre para a pes-quisa desde que citada a fonte. Utilizamos a biblioteca LTILib para o cálculo de saliências,a Biblioteca Watson para o cálculo da pose e a Biblioteca Frame Grabber para interfacear acamêra e o sistema de visão.

4.1 LTILib

Ltilib [LTI, 2003] é uma biblioteca orientada a objetos e possui algoritmos e estrutura dedados freqüentemente usados no processamento de imagens e visão computacional. De-senvolvida no Instituto de Ciência da Computação da Universidade Tecnológica de Aachen(Lehrstuhl fuer Technische Informatik) a biblioteca é o resultado de muitos anos de pesquisapara solução de problemas de visão computacional tais como: reconhecimento de objetos,visão para robôs móveis e reconhecimento de gestos. Ltilib foi desenvolvida para as platafor-mas Windows - Visual Studio e GCC - Linux. Ltilib está na versão 1.9.15 e pode ser encontradapara download no link http://ltilib.sourceforge.net/doc/homepage/index.shtml.

A biblioteca possui implementação de ferramentas: matemáticas (Álgebra linear, vetores,etc), estatísticas (filtros lineares pirâmides gaussianas, etc), de classificação e clustering, e deprocessamento de imagens (detecção de bordas, segmentação, etc).

No presente trabalho a biblioteca Ltilib foi utilizada na plataforma Windows - Visual Studio2003.Net para o cálculo do mapa de saliência baseado no modelo de Itti [Itti and Koch, 2001],para o processamento de imagens em geral além de ser usada também para o cálculo dehistogramas. As principais classes utilizadas foram:

• FeatureSaliencyAx: Métodos para gerar o mapa de saliência baseado no modelo de Itti

19

[Itti and Koch, 2001].

• Ltiimage: Estrutura de dados para imagens.

• RgbPixel: Representação de um pixel no espaço RGB de cores.

• Channel: Estrutura de dados de uma matriz de float usada nos cálculos.

• ColorModelEstimator: Métodos para cálculo de histogramas.

• SplitImageToHSI: Conversor entre os modelos RGB e HSI de cores.

• BMPFunctor: Manipulação de imagens BMP.

4.2 Watson

Watson [Morency, 2007] é uma biblioteca de visão computacional desenvolvida por LouisPhilippe Morency. Atualmente faz pós-doutorado no MIT (Massachusets Institute Tecnology -EUA) onde desenvolve pesquisas na área de visão computacional, interação humano- compu-tador, e aprendizado de máquina. O uso dessa biblioteca para pesquisa e ensino é livre e podeser encontrada para download no link: http://groups.csail.mit.edu/vision/vip/watson.

A biblioteca é o resultado de pesquisas em AVAM - Adaptative View-Base Appearance Mo-dels (modelo adaptativo de visão computacional baseado em aparência) [Morency et al., 2003].AVAM é uma representação flexível e compacta de objetos e é usada para rastrear e estimaras mudanças de pose de uma face humana. O modelo é adquirido em tempo real e pode serajustado de acordo com as mudanças de pose e novas estimativas de poses. Sua implemen-tação é baseada em uma técnica híbrida que possui a robustez da técnica Iterative ClosestPoint - ICP para grandes movimentos e a precisão da técnica Normal Flow Constraint - NFC[Morency and Darrell, 2002].

Watson está na versão 2.1 e pode rastrear objetos em tempo real utilizando 6 graus deliberdade durante um longo período de tempo a partir de uma câmera USB comum em umPC Pentiun 4 2.67 GHz com 1GB de RAM.

No presente trabalho, a biblioteca Watson foi usada para armazenar os quadros adquiridospela câmera USB e para rastrear a pose de uma pessoa. As classes usadas foram:

• CWatson: Métodos para estimar a pose e rastrear faces em uma sequência de imagens.

• CNodsShakes: Métodos para adquirir frames de uma câmera USB.

• vipImage: Estrutura de dados para as imagens.

4.3 Frame Grabber

Video Grabber Library é uma biblioteca de captura de imagens. Simples e compatível com aplataforma Visual Studio .Net 2003 foi escolhida por apresentar bom desempenho, flexibidadee fácil manipulação de tipo de dados.

A biblioteca foi desenvolvida por Shu Kai Yang. Yang obteve formação em Ciência da Com-putação pela Universidade Nacional de Chiao-Tung, China onde obteve também o título demestre em Ciência da Computação. Maiores informações sobre a biblioteca pode ser encon-trada no link: http://shukaiyang.myweb.hinet.net/vdograb/index.html.

20

5 Interface Gráfica

A criação de uma interface gráfica serviu para controlar a execução dos experimentoscom os módulos do sistema de visão. Para cada nova implementação era preciso testar suasfuncionalidaes em separado e de acordo com os resultados, posteriormente incorpora-la aomódulo e posteriormente ao sistema. Assim, os experimentos ficaram muito mais flexíveis esimples. A interface é composta por alguns dispositivos secundarios e um dispositivo principalde vídeo. O Dispositivo principal mostra a imagem capturada diretamente da câmera USB e osdispositivos secundários mostram algumas etapas do processamento dos três módulos cadavez que o sistema é pausado.

Devido ao alto processamento computacional requerido por cada etapa de processamentoda imagem de entrada não foi possivel mostrar simultaneamente todos os processos. Ini-cialmente implementamos os dispositivos mostrando simultaneamente algumas etapas doprocessamento do mapa de ativação, porém concluímos que além de ficar um pouco lento eradesnecessário para os experimentos. A arquitetura de controle a qual o sistema é integrado fazrequisições de codificação do ambiente a taxas de frames por segundo muito menores do quea bibliotece Frame Grabber é capaz de processar (em torno de 15 frames por segundo). Logo,para os nossos experimentos era suficiente que se mostrasse as etapas do processamentoapenas ao acionar do botão Pause da captura de imagens.

Outro importante botão da interface é o botão Tirar Fotos. Semelhante em relação as fun-cionalidades do Pause esse botão efetua operações que armazenam em memória secundáriaa imagem de entrada, as imagens dos processamentos intermediários do mapa de ativação ealguns arquivos do tipo texto com relatórios e dados específicos de cada módulo de detecção.Entre as informações armazenadas estão a codificação do ambiente, isto é, a localização dosobjetos salientes e suas coordenadas, a cor dos objetos, a localização de faces caso hajame as regiões onde há movimento. Informações adicionais sobre o histograma das imagens,mapas de saliência e de movimento podem também ser armazenadas. A interface é mostradana Figura (15).

Figura 15: Interface de experimentos. Cada módulo pode ser testado em separado antes de serintegrado ao Sistema de Visão.

Entre outras utlidades essa interface objetivou a realização dos experimentos como serámelhor detalhado a seguir.

21

6 Experimentos Preliminares

Foram realizadas duas etapas de experimentos. Na primeira etapa foi efetuada a validaçãodas técnicas e métodos de detecção de faces e objetos. Nessa etapa foi avaliada a robustezde cada detector em experimentos controlados, tão logo que obtemos resultados satisfatórios,submetemos os detectores a situações mais reais semelhantes as usadas na etapa dois deexperimentos. Para a realização da primeira etapa de experimentos foi construida a interfacegráfica descrita na Seção (5). Na segunda etapa foi efetuada a avaliação do sistema de visãoem experimentos realizados com o robô real. Fizemos nessa seção uma breve descrição daarquitetura geral, e como o sistema de visão se relaciona dentro do mecanismo.

6.1 Detecção de Objetos Salientes

Para efeito de experimentos, foram utilidas frutas como objetos de interesse. As frutasusadas nos experimentos foram: maça, limão, laranja, romã e uva verde. Dentre os diversosdesafios encontrados, o sistema realiza sua busca sem nenhum conhecimento prévio sobreas frutas, isto é, sem conhecimento prévio sobre cor, escala, orientação ou mesmo quantasfrutas poderemos encontrar no ambiente. Outro grande desafio foi distinguir frutas parecidasem termos de cor tais como maçã e romã.

Inicialmente o sistema captura a imagem da câmera e cria o mapa de saliência da imagemdada com base no método desenvolvido por Itti [Itti and Koch, 2001]. Em seguida a imagempassa por um processo para segmentar as regiões de interesse, esse processo consiste em fa-zer uma análise da imagem inicial com base no mapa de saliência descartando pontos isoladosde saliência provocados por reflexo luminoso ou bordas. A seguir, calculamos um histogramada imagem usando como máscara o mapa de saliências resultante do processo anterior. Ocálculo do histograma fornece informações suficientes para efetuar um processamento do tipo"previsor-corretor"no mapa de saliências e para classificar os objetos encontrados baseadosna cor principal. O processamento "previsor-corretor"reduz a área de interesse do mapa desaliência e facilita a classiicação das regiões segmentadas. O resultado do processamento éum mapa segmentado com os objetos encontrados e para cada objeto encontrado a posição(x,y), a cor RGB significativa e o H principal no espaço de cores HSI.

A Figura (16) mostra alguns experimentos da etapa incial. O ambiente controlado reduz osproblemas com a segmentação do mapa de saliência. Inicialmente apresentamos uma frutade cada vez. Novos experimentos foram feitos colocando duas ou mais frutas juntas, essesexperimentos são mostrados na Figura (17).

Com esses resultados preliminares plotamos os dados das cores RGB de todas as frutas sobdiferentes condições de luminosidade para encontrar um limiar seguro e fazer a classificaçãodas frutas. Encontramos um padrão para classificar as frutas comparando os canais RGB e osvalores H do modelo HSI. Fizemos amostragem de todas as frutas sob 8 diferentes condiçõesde luminosidade: luz forte, luz fraca, luz branca pela esquerda, luz branca central e luz brancapela direita. Os resultados desses experimentos são mostrados na Figura (18).

A detecção de objetos usando o mapa de saliências pode ter alguns inconvenientes. Omodelo desenvolvido por Itti [Itti and Koch, 2001] computa apartir da imagem de entrada ummapa de saliência através de diferenças-centro-vizinhança dos pixels da imagem, o que resultanum mapa biologicamente inspirado que detecta as regiões de interesse na imagem. Diversosobjetos podem apresentar saliência por esse modelo, entre elas: objetos, reflexos luminosos,bordas e as vezs também pele humana. Pode se dizer que um objeto pode ser identificadosaliênte em uma determinada cena e em outra não, isso porque o mapa depende da compo-sição final da cena. Um sistema de visão para robôs sociais deve ser capaz de não identificarerroneamente um objeto como membros humanos, tais como braço e mão. O processo de seg-mentação e classificação do mapa de saliências deve ser capaz de distiguir por vezes, regiõessalientes de objetos e de membros humanos. A Figura (19) apresenta alguns experimentos,agora em ambientes muito menos controlados, que evidenciam a capacidade do Módulo deDetecção de Objetos de fazer tais diferenciações.

6.2 Detecção de Faces

O Módulo de Detecção de Faces necessitou de poucos testes. A biblioteca desenvolvidapor Morency [Morency, 2007] contêm pequenos aplicativos para testar suas funcionlidades.Inicialmente fizemos alguns testes nesses aplicativos de teste para entender como poderíamos

22

Imagem de Entrada Mapa de Saliência Mapa de Detecção Classificação

(R,G,B) = (126,83,62)H = 13Maça = (181,89)

(R,G,B) = (211,149,107)H = 16Laranja = (105,123)

(R,G,B) = (221,201,129)H = 33Limão = (175,118)

(R,G,B) = (144,114,90)H = 20Romã = (208,77)

Figura 16: O ambiente controlado reduz alguns problemas na segmentação do mapa de saliên-cia. Nesse experimento o fundo é constante e foi apresentado uma fruta de cada vez.

linkar a biblioteca ao projeto. Existe ainda uma interface gráfica que funciona com câmerasUSB que foi usada para testes iniciais. O resultado dos experimentos preliminares são mos-trados na Figura (20). Nesses experimentos testamos a invariabilidade da pose pelo ModeloBaseado em Aparência com e sem chápeu. Essa biblioteca ainda está em desenvolvimento eestá constantemente avaliada pelo autor [Morency, 2007]. Recentemente foi lançada a versão2.1b.

A segunda etapa serviu para avaliar o sistema de visão computacional em experimentos re-alizados com o robô real. A seguir é apresentada a Cabeça Robótica Iterativa e os experimentosfinais.

23

Imagem de Entrada Mapa de Saliência Mapa de Detecção Classificação

Maçã (R,G,B) = (125,85,60)Laranja (R,G,B) = (210,148,108)Maça H = 13Laranja H = 16Maçã (x,y) = (181,89)Laranja (x,y) = (234,89)

Maçã (R,G,B) = (126,86,61)Limão (R,G,B) = (220,201,128)Maça H = 13Limão H = 33Maçã (x,y) = (105,123)Limão (x,y) = (100,67)

Laranja (R,G,B) = (210,150,106)Maçã (R,G,B) = (125,86,62)Limão (R,G,B) = (220,202,129)Laranja H = 16Maçã H = 13Limão H = 33Laranja (x,y) = (82,91)Maçã (x,y) = (242,80)Limão (x,y) = (238,34)

Romã (R,G,B) = (126,83,62)Laranja (R,G,B) = (212,149,107)Limão (R,G,B) = (221,202,129)Romã H = 20Laranja H = 16Limão H = 33Romã (x,y) = (203,83)Laranja (x,y) = (270,188)Limão (x,y) = (74,79)

Figura 17: Ainda com ambiente controlado (fundo constante) agora porém, são apresentadasvárias frutas ao mesmo tempo.

7 Cabeça Robótica Interativa

Os experimentos foram realizados no contexto do aprendizado da atenção compartilhadacom o propósito de se avaliar a capacidade de aprendizagem da arquitetura proposta em umambiente social real e controlado.

Para a execução destes experimentos com a cabeça robótica interativa, foi desenvolvidoum sistema de controle capaz controlar as interações entre um robô e um ser humano emum ambiente social controlado. Este sistema integra um sistema de visão computacional, umsistema de reconhecimento de fala, um sistema motor desenvolvido para a cabeça robótica in-terativa utilizada neste projeto de pesquisa e a arquitetura de robótica controle proposta nestetrabalho. Adicionalmente, para demonstrar o valor do aprendizado da atenção compartilhadacomo precursor do aprendizado por meio de interações sociais, foi proposto um mecanismocapaz de simular o aprendizado de conceitos sobre objetos do mundo real apresentados aorobô, por meio da tutelagem de um ser humano. O sistema de controle desenvolvido é apre-sentado na Figura (21).

A seguir, é detalhado os demais módulo do sistema de controle.

24

(a) Projeção sobre o plano XY. (b) Projeção sobre o plano YZ.

(c) Projeção sobre o plano ZX. (d) Projeção sobre o plano ideal.

Figura 18: Amostragem das cores RGB predominantes nas imagens das frutas sob diferentescondições de luminosidades. Observe que nas projeções canônicas (figuras a,b e c) não houveum padrão significativo. Na figura (d) no entanto, podemos identificar um padrão interessante.A classificação das cores amostradas portanto se tornou uma projeção sobre o plano ideal. Essaprojeção é facilmente obtida com a transformação linear τ : R3 → R2 τ(x, y, z) = (a, b)

7.1 Sistema de Voz

O sistema de voz construído para os experimentos é composto por um sistema de sistemade reconhecimento de fala e por um sistema de vocalização. O sistema de reconhecimentode fala é capaz reconhecer a linguagem natural falada no idioma Português Brasileiro e ébaseado no Sistema Nuance [Nuance, 2001].

Este sistema contém um uma máquina de reconhecimento de fala e uma base de co-nhecimento gramatical. Adicionalmente, existe um módulo reconhecedor implementado emlinguagem Java, por permitir um fácil interfaceamento com o sistema Nuance. Esta móduloreconhecedor recebe a codificação da fala, relativa à gramática configurada na base de co-nhecimento, e envia para o sistema de controle da cabeça interativa por meio de uma portasocket.

O sistema de vocalização, nesta versão do sistema de voz, utiliza diversos arquivos .wavgravados com palavras individuais, previstas no vocabulário o robô. Desta forma, o sistemade voz pode montar uma frase desejada para que o robô a vocalize, pela união destas palavrasindividuais. Este sistema habilita sessões de conversações curtas com o robô. Na Figura 22 éilustrada a arquitetura geral do sistema de reconhecimento de fala.

7.2 Sistema Motor

O sistema motor da cabeça robótica interativa foi implementado empregando-se as funçõesdisponibilizadas no SDK do robô. Este sistema motor possui scripts com diversos comandostemporizados de motor, que permitem ao robô emitir seis comportamentos diferentes:

25

Imagem de Entrada

Mapa de Saliência

Mapa de Detecção

Figura 19: Experimentos com o Módulo de Detecção de Objetos em ambiente pouco controladosevidenciam a eficiência do sistema de visão em segmentar corretamente o mapa de saliênciasem apresentar falso-positivo para as saliências que surgem nas mãos e braços.

1. Procurar por um ser humano, no qual o robô parte da sua posição atual e posiciona a suacabeça de forma centralizada e ereta, para que este enxergue uma área imediatamente asua frente, na linha do horizonte.

2. Procurar por um objeto a frente e abaixo, no qual o robô parte da sua posição atual eposiciona a sua cabeça de forma centralizada e abaixada, para que este enxergue umaárea imediatamente a sua frente, mas abaixo do horizonte.

3. Procurar por um objeto a esquerda, no qual o robô parte da sua posição atual e posicionaa sua cabeça de forma ereta, mas virada para a sua esquerda, para que este enxergueuma área à esquerda, na linha do horizonte.

4. Procurar por um objeto a direita, no qual o robô parte da sua posição atual e posicionaa sua cabeça de forma ereta, mas virada para a sua direita, para que este enxergue umaárea à direita, na linha do horizonte.

5. Procurar por um objeto a esquerda e abaixo, no qual o robô parte da sua posição atual eposiciona a sua cabeça virada para a sua esquerda e abaixada, para que este enxergueuma área à esquerda e abaixo do horizonte.

6. Procurar por um objeto a direita e abaixo, no qual o robô parte da sua posição atuale posiciona a sua cabeça virada para a sua direita e abaixada, para que este enxergueuma área à direita e abaixo do horizonte. Estes seis scripts de comandos motores per-mitem a emissão dos comportamentos necessários aos experimentos reais de interaçãono contexto do aprendizado da atenção compartilhada.

7.3 Sistema de Controle Integrado

O sistema de controle da cabeça robótica realizar a integração de todos os sistemas emódulos componentes do mesmo, em um ciclo de controle que possibilita a interação socialda cabeça robótica interativa. Na Figura (23) é apresentado o algoritmo de controle integrado.

26

Experimento sem chapéu

Experimento com chapéu

Figura 20: Experimentos preliminar testando a invariabilidade da pose pelo Modelo Baseadoem Aparência com e sem chápeu.

(a)

(b)

Figura 21: Sistema de controle do robô. (a) Interface do sistema de controle da cabeça robóticainterativa. O grupo de controles Interaction possui todas as funcionalidades para o usuárioexecutar uma interação de aprendizado ou de validação, por um número definido de ciclosde interações. O grupo de controles Motor System possui um conjunto de rotina para testar,habilidade e desabilitar cada servo motor do robô. O grupo de controles Behavior possuium conjunto de rotinas motoras que são executadas para emitir os comportamentos simplesdefinidos para os experimentos com o robô. O botão Start inicia a captura dos frames dacâmera do robô. (b) Vista da cabeça robótica interativa.

Em cada iteração do ciclo de controle, o sistema codifica os estímulos visuais e auditó-rios dos sistemas de visão e reconhecimento de fala, respectivamente. Então, o sistema decontrole envia os estímulos codificados para a arquitetura robótica de controle, que executauma iteração de aprendizado e indica uma resposta a ser emitida como conseqüência destaiteração. Posteriormente, o sistema de controle chama a rotina motora apropriada e emite aresposta designada pela arquitetura robótica, completando um ciclo de iteração e controle.

7.4 Mecanismo de Aprendizagem por Tutelagem

O mecanismo de aprendizagem proposto neste trabalho de pesquisa é capaz de associarestímulos visuais e audíveis para simular a aprendizagem de conceitos sobre objeto do realmundo por meio da tutelagem de um ser humano.

Este mecanismo utiliza o sistema de visão para extrair as características visuais de umdeterminado objeto, compôs pelos valores mais freqüentes dos canais r, g, e b (do espaço de

27

Recognizer NuanceSystem

GrammarKnowledge

Base

Figura 22: Sistema de reconhecimento de fala. Face O sistema Nuance (Nuance System) uti-liza a base de conhecimento gramatical (Grammar Knowledge Base) para reconhecer uma faladetectada no ambiente e, em caso positivo, envia esta fala ao módulo reconhecedor (Recogni-zer) implementado em JavaTM ,que por sua vez o disponibiliza para o sistema de controle dacabeça robótica por meio de uma porta de socket.

function RobotMainControl ()do forever

Get the visual environment state sv from the vision systemGet the auditory environment state sa from the auditory systemSend the environment state sv e sa to tue robotic architectureGet the response a, to be emitted by the robot, from the architectureEmit the response a, calling the corresponding motor script

end doend function

Figura 23: Algoritmo principal do sistema de controle da cabeça robótica interativa. Estealgoritmo integra os sistema de visão e voz para obter os estímulos visuais (sv) e audíveis (sa),a arquitetura de controle proposta neste trabalho de pesquisa e o sistema motor desenvolvidopara os experimentos. Após obter estímulos presentes no ambiente, o sistema de controleos envia para a arquitetura robótica, que indica qual resposta (a) deve ser emitida pelo robô.Então, o sistema de controle chama a rotina motora apropriada e emite a resposta designadapela arquitetura.

28

cores RGB ), e do canal h (do espaço de cores HSI). O mecanismo de aprendizagem tambémutiliza o sistema de voz para adquirir o nome falado do objeto apresentado ao robô. Estas ca-racterísticas são então aprendidas e organizadas empregando uma rede neural do tipo ART2[Carpenter and Grossberg, 1987] e uma memória plana que armazena as características visu-ais o nome dos objetos para formar um novo conceito. O mecanismo de aprendizagem contémtrês níveis de organização de memória, como ilustrado na Figura 24:

1. O primeiro nível (LEVEL 1 na Figura 24) é composto pela camada de entrada da redeneural ART2. Esta camada contém quatro nós de entrada, um para cada canal de cor (r,g, b, e h);

2. O segundo nível (LEVEL 2 na Figura 24) é composto pela camada de saída da redeneural ART2 que cria e também indica agrupamentos de objetos com características se-melhantes, possibilitando o reconhecimento e aprendizagem de conceito e generalizaçãodo conhecimento;

3. O terceiro nível (LEVEL 3 na Figura 24) é composto por uma memória plana que arma-zena as características visuais e audíveis dos objetos.

.

.

.

SimilarObjectsGroup

ART2Codification Cluster

Layer(LEVEL 2)

ART2InputLayer

(LEVEL 1)

ConceptMemory

(LEVEL 3)

SimilarObjectsGroup 2

Similar ObjectsGroup 3

SimilarObjectsGroup n

.

.

.

r

g

h

b

Visual System

AuditorySystem

VisualCharacteristics

ObjectMeaning

Figura 24: Arquitetura geral do mecanismo de aprendizagem. A camada de entrada (inputlayer) da rede neural ART2 recebe as características de cor de um objeto (r, g, b, e h) do sistemade visão e indica a codificação de cluster do objeto. Então, para um objeto desconhecido, omecanismo de aprendizagem obtém o significado do mesmo, do sistema de voz, e integra estasinformações visuais e audíveis para formar um conceito novo na memória de conceitos.

O mecanismo de aprendizagem trabalha da seguinte maneira. Inicialmente, a memória deconceito está vazia. Quando um objeto é apresentado ao robô, o sistema de visão codifica esteobjeto por seus valores mais freqüentes dos canais r, g, b, e h. A camada de entrada da redeneural ART2 recebe as características de cor deste objeto (r, g, b, e h) do sistema de visão eindica que não há nenhum cluster ativo em sua camada de saída. Então, o mecanismo deaprendizagem entra em um estado de desconhecimento e ativa o sistema de voz para vocalizarque o objeto é desconhecido. Depois, o mecanismo aguarda o correto significado do objeto,por meio do sistema de reconhecimento de fala, e armazena o novo conceito aprendido namemória de conceitos.

A partir disso, quando são apresentados novos objetos ao robô, a camada de entrada darede neural ART2 recebe as características de cor do objeto, por meio do sistema de visão eindica o cluster de codificação, se há um, para o novo objeto. Então, o algoritmo de buscaprocura por objetos, dentro do cluster indicado, empregando uma métrica dado por: m =

29

||hn−hr||, na qual hn é o valor do h do novo objeto, e hr é o valor do h de um objeto armazenadona memória de conceitos. Se o algoritmo de busca encontrar algum objeto com métrica desimilaridade abaixo de um limiar de confiança φc, o mecanismo de aprendizagem entra emum estado de certeza e ativa o sistema de voz para vocalizar o nome do objeto.

Se o algoritmo de busca encontrar somente objetos acima um limiar de conhecimento φk,o mecanismo de aprendizagem entra em um estado de desconhecimento e ativa o sistema devoz para vocalizar que o objeto é desconhecido. Depois, o mecanismo aguarda o significadocorreto do objeto, por meio do sistema de reconhecimento de fala, e armazena o novo conceitoaprendido na memória de conceitos.

Se o algoritmo de busca encontrar somente objetos entre o limiar de confiança e o limiarde conhecimento, o mecanismo de aprendizagem entra em um estado de incerteza sobre oobjeto e ativa o sistema de voz para vocalizar que o objeto é supostamente o objeto maissimilar encontrado na memória de conceitos. Depois, o mecanismo aguarda a confirmaçãodo significado ou o significado correto do objeto, por meio do sistema de reconhecimento defala, e armazena o novo conceito aprendido na memória de conceitos caso o mecanismo tenhaerrado o seu chute sobre o nome do objeto. Na Figura (25) é apresentada a arquitetura geraldo sistema sistema de controle, ilustrando as interações entre todos os módulos.

ConsequenceControl Module

Motivational System

StimulusPerceptionModule

ResponseEmission Module

LearningMechanism

ResponseEmission

Mechanism

Data Acquisition

ComputerVision

VoiceRecognition

Activation Map

Face Detection Saliency Detection

Frame Grabber

Recognizer NuanceSystem

GrammarKnowledge

Base

.

.

.

SimilarObjectsGroup

ART2Codification Cluster

Layer(LEVEL 2)

ART2InputLayer

(LEVEL 1)

ConceptMemory

(LEVEL 3)

SimilarObjectsGroup 2

Similar ObjectsGroup 3

SimilarObjectsGroup n

.

.

.

r

g

h

b

Motor ScriptMotor

ScriptMotor ScriptMotor

Script

Response

Response

Visual stimuli

Auditory stimuli

Visualstimuli

AuditoryStimuli

Figura 25: Arquitetura geral do sistema de controle do robô. As setas indicam o fluxo deinformações entre os módulo do sistema de controle.

8 Experimentos Finais

Nesta seção, são apresentados experimentos executados empregando a cabeça robóticainterativa.

8.1 Experimentos de Aprendizado da Atenção Compartilhada

Nesta seção, são apresentados os principais resultados dos experimentos executados paraa avaliação da arquitetura proposta no domínio de aplicação da aprendizagem da atençãocompartilhada, empregando empregando a cabeça robótica interativa. O objetivo destes ex-perimentos foi a determinação da capacidade de exibição de comportamentos apropriados ede aprendizagem da arquitetura durante o controle do robô em um ambiente social real econtrolado.

Para este novo conjunto de experimentos, o conhecimento de arquitetura foi configuradoda seguinte maneira. Quatro estímulo foram declarados: face, object, attention e environment,no qual attention é um estímulo reforçador gerado com a atenção do ser humano. Foram de-clarados dois fatos para definir que objetos vermelhos, amarelos, laranja e verdes são frutas.Também foram declarados seis fatos para diferenciar a pose da cabeça do ser humano. Adi-

30

cionalmente, foram definidos mais alguns fatos para definir quando o robô está focalizando oser humano ou uma fruta.

O módulo de emissão de respostas foi configurado como a seguir. A constante de apren-dizagem (parâmetro λ) foi configurada com valor igual a 0.9. O número mínimo de execuçõesdas regra de comportamento antes de se iniciar o decréscimo da taxa de aprendizagem (parâ-metro NInteractions) foi configurado com valor igual a 0. O valor padrão de aptidão (parâmetrofd) foi configurado com valor igual a 0.05. Foram definidas sete respostas de forma que o robôpudesse olhar para o ser humano ou procurar frutas em cinco regiões definidas ao girar suacabeça para a esquerda ou para a direita. Isto foi feito para dividir o ambiente em regiões deinteresse que tornaram possível ao robô aprender a seguir o olhar do ser humano para locaiscorretos, como nos experimentos empregando o simulador de interações sociais.

O sistema motivacional foi configurado como a seguir. Foram criadas duas unidades de ne-cessidade: socialize e play. O limiar de ativação do sistema motivacional foi fixado em 0.50. Ainclinação da função sigmóide das unidades de necessidade (parâmetro δ) foi configurada comvalor igual a 0.20. Para a unidade socialize, o bias foi configurado com valor igual a 1.00 e o pesode sua conexão foi configurado com valor igual a 0.5. O peso da conexão recorrente foi configu-rado com valor igual a 1.00. Os pesos do padrão de entrada (hear(attention), see(frontal(face)),see(looking_frontal(face)), see(looking_fruit(object))) foram configurados, respectivamente, comos valores −1.50, 0.95, −1.50 e 0.50. Para a unidade play, o bias configurado com os valores0.90 e o peso de sua conexão configurado com valor igual a 0.5. O peso da conexão recor-rente foi configurado com valor igual a 1.00. Os pesos do padrão de entrada (hear(attention),see(frontal(face)), see(looking_frontal(face)), see(looking_fruit(object))) foram configurados, res-pectivamente, com os valores −0.90, 1.00, 0.90 e −1.50. Durante o processo de configuração daarquitetura, verificou-se empiricamente que estes valores produziram os melhores resultados.

Os experimentos a seguir foram compostas por uma fase de aprendizagem de 1.000 unida-des de tempo (1.000 segundos no simulador). Durante a fase de aprendizagem, o ser humanomanteve o foco inicialmente no robô até que este mantivesse o contato ocular com o ser hu-mano. Então, uma fruta era posicionada no ambiente e o ser humano direcionava o seuolhar a mesma. O humano mantinha o seu olhar no objeto selecionado até o robô emitir umaresposta (executação uma ação motora). Depois, a fruta era removida do ambiente social oser humano voltava a olhar para o robô, aguardando o robô estabelecem contato ocular no-vamente. Este procedimento foi executado para simular uma interação social na qual doisagentes estão mantendo contato ocular e então um deles direciona o olhar para um eventointeressante.

Nas primeiras 30 unidades de tempo da fase aprendizagem, nenhum objeto foi posicionadono ambiente e o ser humano manteve o seu foco no robô o tempo inteiro. Nestas primeiras 30unidades de tempo, o robô aprendeu a que manter contato ocular com ser humano, quandoele está olhando para o robô, produz alguns estímulos reforçadores de atenção do ser humano,satisfazendo sua necessidade de socialização (unidade de necessidade socialize configuradano sistema motivacional). Este procedimento foi feito para modelar o comportamento do robôde procurar por um ser humano e manter contato ocular sempre que sente necessidades desocialização. Depois das 30 primeiras unidades de tempo, a fase de aprendizagem prosseguiuempregando uma fruta como declarado acima. A partir deste ponto da aprendizagem, o robôsempre olhava para o ser humano quando queria interagir socialmente (unidade de neces-sidade socialize estava ativa). Entretanto, quando uma fruta era posicionada no ambiente eo ser humano direcionada seu olhar para este objeto, o robô perdia a atenção do humano ecomeçava a buscar qualquer coisa no ambiente que pudesse satisfazer seus estados internos(unidades de necessidade socialize ou play). Quando o robô olhava para um objeto que estavadefinido como uma fruta, este satisfazia sua necessidade de brincar, por meio de um reforçoem sua unidade de necessidade seu play. Adicionalmente, se o robô procurasse por um brin-quedo que também era o foco de atenção do ser humano, este voltava a dar atenção ao robô,em relação ao brinquedo o qual ambos estavam focando.

Como as frutas eram posicionadas no ambiente somentem quando o ser humano direci-onava seu foco para as mesmas, depois de uma história de reforçamento o robô aprendeuseguir o olhar do ser humano para receber a atenção dele e satisfazer suas necessidades debrincar e socializar.

A capacidade de aprendizagem da arquitetura foi analisada observando-se a interação dorobô com o ser humano e com o ambiente e pela computação de uma métrica denominadacorrect gaze index ou índice de olhar correto (CGI). Esta métrica é baseada em uma medidaproposta por Whalen [Whalen and Schreibman, 2003] e é definida como a freqüência de al-

31

ternância do olhar, a partir do contato ocular com o humano, para um objeto que é foco deatenção do ser humano. Esta métrica é dada pela Equação (13):

CGI =#shifts from the human to correct location

#shifts from the human to any location(13)

Para quantificar o aprendizado da arquitetura durante os experimentos, a fase de aprendi-zagem era interrompida em pontos específicos (a cada 100 unidades de tempo) e uma fase devalidação do conhecimento adquirido era iniciada para avaliar o comportamento da arquite-tura. Esta avaliação era executada por 20 corridas de 100 unidades de tempo (100 ciclos deinteração). Para cada corrida, o valor do CGI era computado e, depois das 20 corridas, a mé-dia e desvio padrão das 20 medidas eram calculados, dados respectivamente pelas Equações(14) e (15). Depois das 20 corridas da fase de avaliação, a fase de aprendizado era retomadado ponto no qual esta havia sido interrompida.

CGI =1k

k∑i=1

CGIi e PBI =1k

k∑i=1

PBIi (14)

d =√

var(A) (15)

na qual:

var(A) = 1k

[1

k−1

∑ki=1(CGI − CGI)2

]ou var(A) = 1

k

[1

k−1

∑ki=1(PBI − PBI)2

]Na Figura (26) é apresentado o progresso do aprendizado durante os experimentos de si-

mulação. Esta figura mostra um gráfico que apresenta o valor da média do CGI para cadafase de avaliação, em pontos específicos durante o processo de aprendizagem. Os resulta-dos obtidos mostram que o valor do CGI é crescente no decorrer da fase de aprendizagem,demonstrando as capacidades de aprendizagem da arquitetura.

0 100 200 300 400 500 600 700 800 900 10000

0.2

0.4

0.6

0.8

1

Time Units

CG

I

Figura 26: Evolução do aprendizado durante os experimentos. As curvas apresentam a ava-liação do conhecimento da arquitetura para valores diferentes da constante de aprendizagem(parâmetro λ). Em pontos específicos do processo de aprendizagem, este era temporariamenteinterrompido e uma fase de avaliação do comportamento do robô era executada por 20 corri-das de 100 unidades de tempo. Para cada corrida, era computado o valor do CGI e depois das20 corridas era calculada a média e desvio padrão das 20 corridas.

Estes resultados também mostram que a arquitetura é capaz de exibir comportamentosapropriados durante uma interação social real. Adicionalmente, os resultados confirmam osresultados dos experimentos anteriores, mostrando que a arquitetura pode aprender a partirde uma interação social. Os resultados mostram ainda que a arquitetura suporta a modela-gem de comportamentos, isso é, ela possibilita que o comportamento do robô seja modeladopor meio de aproximações sucessivas, por meio do reforço e encadeamento de comportamen-tos inatos para a implantação de um comportamento mais complexo. Estes experimentos, istofoi realizada pela modelagem do comportamento de procurar por um ser humano e, após isso,pela modelagem do comportamento de seguir o olhar deste. A modelagem e encadeamento docomportamento é um procedimento importante evidenciado na Análise do Comportamento e

32

este é empregado para a modelagem dos comportamentos de um organismo. Portanto, os re-sultados mostram que a arquitetura é uma ferramenta potencial para controlar robôs sociaisdurante interações em um ambiente social.

8.2 Experimentos de Aprendizado por Tutelagem

Nesta seção são apresentados e discutidos os principais resultados obtidos com os expe-rimentos executados para se avaliar a interface multimodal e o mecanismo de aprendizagemproposto neste projeto de pesquisa. No cenário experimental, um ser humano direcionoua atenção do robô e lhe apresentou diversos objetos com o objetivo de ensinar os nomesdos mesmos ao robô. Com apontado anteriormente, este experimento demonstra o valor doaprendizado da atenção compartilhada como precursor do aprendizado social. Os objetosempregados nos experimentos foram 4 tipos de frutas: uma maçã vermelha, um limão ama-relo, uma laranja, e uma romã avermelhada. O propósito dos experimentos foi a avaliação dacapacidade do mecanismo de aprendizagem em exibir comportamento social apropriado, emaprendizagem a partir da interação social e em generalizar os conceitos aprendidos sobre osobjetos. Na Figura (27) é ilustrado os processando de imagem executado pelo sistema de visãoquando uma maçã foi apresentada ao robô.

(a) (b) (c)

Figura 27: Processando de imagem executado pelo sistema de visão quando uma maçã foiapresentada ao robô (a). Primeiro, o sistema de visão processa o mapa de saliência (b).Então, o sistema seleciona uma área de interesse (c) baseado em dois limiares: saliência eraio mínimo da região.

Para os experimentos, o limiar de confiança (φc) do mecanismo de aprendizagem foi confi-gurado com valor igual a 2 e o limiar de conhecimento (φk) foi configurado com valor igual 6.A rede neural de ART2 foi configurada como a seguir. O parâmetro de vigilância (λ) foi con-figurado com valor igual 0.999. Os parâmetros a, b, c e d foram configurados respectivamentecom valores iguais 10.0, 10.0, 0.1 e 0.9. Durante o processo de configuração do mecanismo,verificou-se empiricamente que estes valores produziram os melhores resultados. Adicional-mente, a arquitetura foi configurada com o conhecimento prévio que a permitiu ativar o meca-nismo de aprendizagem quando o ser humano solicitava ao robô o reconhecimento do objetoapresentado. Este conhecimento prévio foi configurado na forma de regras de comportamentopré-configuradas:

...

see(looking_fruit(object))&hear(speech_identify)1.00→

socializerecognizeobject()

...

Os esperimentos foram compostos por uma fase de apresentação na qual as 4 frutas fo-ram apresentadas sob 5 diferentes condições de iluminação: todas as luzes acesas, somentea iluminação natural, iluminação natural com uma fonte de luz diretamente acima da fruta, ilu-minação natural com uma fonte de luz acima e à esquerda da fruta, emphiluminação naturalcom uma fonte de luz acima e à direita da fruta. Resultando em 20 apresentações das frutaspara cada fase de apresentação.

Para avaliar o mecanismo de aprendizagem proposto, foram calculadas 5 métricas duranteos experimentos: taxa de desconhecimento, taxa de suposições corretas, taxa de suposiçõesincorretas, taxa de erros e taxa de acertos. A taxa de desconhecimento é a freqüência naqual o mecanismo de aprendizagem entrou o modo de desconhecimento. A taxa de suposiçõesincorretas é a freqüência na qual o mecanismo de aprendizagem entrou no modo de incertezae supôs incorretamente o nome da fruta. A taxa de suposições corretas é a freqüência na qual

33

o mecanismo de aprendizagem entrou no modo de incerteza e supôs corretamente o nomeda fruta. A taxa de erros é a freqüência na qual o mecanismo de aprendizagem entrou nomodo de conhecimento, mas apontou incorretamente o nome da fruta. A taxa de acertos é afreqüência na qual o mecanismo de aprendizagem entrou no modo de conhecimento e apontoucorretamente o nome da fruta.

Para quantificar a capacidade de aprendizagem do mecanismo proposto, a fase de apresen-tação foi repetida 20 vezes (20 corridas), variando-se a seqüência das condições de iluminação,sempre esvaziando a memória de conceitos no início de uma nova corrida. Depois de cadacorrida, foram calculadas as 5 métricas descritas anteriormente e estas foram armazenadas.Então, depois das 20 corridas, a média e o desvio padrão das métricas foi calculado.

Para quantificar a capacidade de aprendizagem do mecanismo proposto, a fase de apresen-tação foi repetida 20 vezes (20 corridas), variando a sequência das condições de iluminação,sempre esvaziando a memória de conceitos no início de uma nova corrida. Depois de cadacorrida, foram calculadas as 5 métricas descritas anteriormente e estas foram armazenadas.Então, depois das 20 corridas, a média e o desvio padrão das métricas foi calculado.

Na Tabela (1) são mostrados os valores das médias e desvios padrão das 5 métricas paraas 20 corridas executadas durante os experimentos. Adicionalmente, na Tabela é mostradaa média e o desvio padrão do tamanho da memória de conceitos ao término de cada corrida,exibindo o número de novos conceitos aprendido na fase de apresentação.

Tabela 1: Resultados obtidos após as 20 corridas de sessão de aprendizado por tutelagem.Métrica Média (%)Taxa de desconhecimento 7.50 ± 4.93Taxa de suposições corretas 15.00 ± 7.34Taxa de suposições incorretas 1.25 ± 2.64Taxa de erros 1.88 ± 2.03Taxa de acertos 74.38 ± 7.48Tamanho da memória de conceitos 8 ± 1

Os resultados mostram que o mecanismo de aprendizagem é capaz de exibir comporta-mento apropriado e aprender a partir de interações sociais. Os resultados mostram tambémque durante os experimentos o mecanismo de aprendizagem foi capaz de exibir conhecimento,incerteza, e certeza sobre os nomes das frutas, durante a fase de apresentação, permitindoum processo de aprendizagem socialmente direcionado e de uma maneira mais natural. Ouso de certeza e incerteza sobre um objeto permitiu ao ser humano determinar a compreen-são exata do robô sobre o conceito aprendido. Os exemplos seguintes ilustram como um serhumano interage com o robô de acordo com suas respostas:

[Ser humano apresenta uma maçã vermelha]h −− Robô, o que é isso?r −− Eu não sei!h −− Isto é uma maçã.r −− Certo.h −− Isto mesmo!. . .[A condição de iluminação é alterada][Ser humano apresenta uma maçã vermelha]h −− Robô, o que é isso?r −− Parece uma maçã.h −− Muito bom!. . .[A condição de iluminação é alterada novamente][Ser humano apresenta uma maçã vermelha]h −− Robô, o que é isso?r −− Isto é uma maçãh −− Muito bom!. . .

34

Os experimentos demonstraram como é possível transformar um problema de aprendizadoem máquina em um problema de colaboração entre robôs e seres humanos, empregando ashabilidades sociais naturais dos seres humanos para ensinar um robô.

Os resultados também mostram que o mecanismo de aprendizagem pode generalizar oconhecimento instruído, uma vez o tamanho médio da memória de conceitos é 8, apesar daapresentação de 20 conceitos nas fases de apresentação. Esta generalização é executada, nomecanismo de aprendizagem, por meio do agrupamento incremental de conceitos similarespela rede neural ART2.

Portanto, pode-se concluir que o mecanismo de aprendizagem, assim como a arquiteturarobótica, é uma ferramenta promissora para controlar robôs sociais durante interações emum ambiente social real e controlado.

35

9 Considerações finais

O propósito desse trabalho foi o estudo e o desenvolvimento de um sistema de visão com-putacional que possibilitasse a percepção de estímulos relevantes para a interação com sereshumanos. O sistema de visão desenvolvido é capaz de detectar e perceber faces humanas, co-res, além de possuir mecanismo para a detecção da pose da cabeça dos seres humanos. Essesistema faz parte do projeto de pesquisa Controle de Estímulos em Robôs Sociais desenvolvidosob a coordenação da professora Roseli Aparecida Francelin Romero.

O objetivo do projeto Controle de Estímulos em Robôs Sociais é o desenvolvimento de umaarquitetura robótica inspirada da Teoria do Controle de Estímulos. Esta arquitetura deve sercapaz de simular o aprendizado do responder diferenciadamente a partir de estímulos discri-minativos do ambiente, caracterizando o aprendizado dos robôs a partir de interações sociais.A arquitetura está sendo desenvolvida com base nos mecanismos inspirados no condicio-namento operante [Sério et al., 2004] e aprendizado por reforço relacional [Driessens, 2004][Otterlo, 2005]. Devido ao grande espaço de busca e decisão, as ações e representações doambiente, assim como o conhecimento adquirido, será representado empregando Lógica dePrimeira Ordem [Russell and Norvig, 2003]. Para a validação e análise final dessa arquite-tura, essa será testada no contexto do problema do desenvolvimento da atenção comparti-lhada [Bosa, 2002] [Dube et al., 2004] [Kaplan and Hafner, 2004], uma habilidade social queemerge em seres humanos entre os 3 e 18 meses de idade. Estes testes serão realizados emum ambiente real, empregando uma cabeça robótica interativa. Entre as contribuições desteprojeto, podem ser citados:

• O desenvolvimento e a exploração de uma arquitetura robótica biologicamente inspirada,que formará uma ferramenta para o projeto de robôs sociais, composta por métodos eestruturas evidenciadas na teoria do Controle de Estímulos;

• O desenvolvimento e a exploração de algoritmos e técnicas inspirados no condiciona-mento operante e no aprendizado por reforço relacional;

• O estudo e a exploração da representação do conhecimento empregando redes neuraisartificiais e lógica de primeira ordem, além de outras técnicas de representação simbó-lica;

• O desenvolvimento de um sistema de visão e de um sistema motivacional para robôssociais;

• O desenvolvimento de um time de futebol de robôs móveis, para auxiliar nos testes dealgoritmos por nós desenvolvidos.

36

Referências 37

Referências

[Adams et al., 2000] Adams, B., Breazeal, C., Brooks, R., and Scassellati, B. (2000). Huma-noids robots: a new kind of tool. IEEE Intelligent Systems, 15(4):25–31.

[Bosa, 2002] Bosa, C. (2002). Atenção compartilhada e identificação precoce do autismo.Psicologia: Reflexão e Crítica, 15(1):77–88.

[Breazeal, 2000] Breazeal, C. (2000). Sociable Machines: Expressive Social Interaction BetweenHuman ans Robots. PhD thesis, MIT Department of Electrical Engineering and ComputerScience, Cambridge, MA.

[Breazeal et al., 2001] Breazeal, C., Edsinger, A., Fitzpatrick, P., and Scassellati, B. (2001).Active vision for sociable robots. IEEE Trans. Systems, Man, and Cybernetics, 31(5):443–453.

[Breazeal and Scassellati, 1999] Breazeal, C. and Scassellati, B. (1999). A context-dependentattention system for a social robot. In International Joint Conference on Artificial Intelligence,pages 1146–1153.

[Bruce et al., 2001] Bruce, A., Nourbakhsh, I., and Simmons, R. (2001). The role of expres-siveness and attention in human-robot interaction. In AAAI Fall Symposium Emotional andIntelligent II: The Tangled Knot of Society of Cognition.

[Burt and Adelson, 1983] Burt, P. J. and Adelson, E. H. (1983). The laplacian pyramid as acompact image code. IEEE Transactions on Communications, 31:532–540.

[Carpenter and Grossberg, 1987] Carpenter, G. and Grossberg, S. (1987). ART 2 : Self-organization of stable category recognition codes for analog input paterns. Applied Optics,26:23:4919−−4930.

[Chen and Medioni, 1991] Chen, Y. and Medioni, G. (1991). Object modelling by registrationof multiple range images. In Proc. of the IEEE Int. Conf. on Robotics and Authomatation.,pages 2724–2728.

[Daltenhahn, 1997] Daltenhahn, K. (1997). I could be you - the phenomenological dimensionof social understanding. The Cybernetics and Systems Journal, 28(5).

[Daltenhahn, 1998] Daltenhahn, K. (1998). The art of designing socially intelligent agents- science, fiction and the human in the loop. Applied Artificial Intelligence Journal, 12(7-8):573–617.

[Daltenhahn, 2000] Daltenhahn, K. (2000). Socially intelligent agents and the primate socialbrain - toward a science of social minds. In AAAI Fall Symposium on Society of IntelligenceAgents.

[Daltenhahn and Bilard, 1999] Daltenhahn, K. and Bilard, A. (1999). Bringing up robots or -the psychology of socially intelligent robots: Fromtheory to implementation. In Proceedingsof the Autonomous Agents.

[Driessens, 2004] Driessens, K. (2004). Relational reinforcement learning. PhD thesis, Depart-ment of Computer Science, K.U.Leuven, Leuven, Belgium.

[Dube et al., 2004] Dube, W., McDonald, R., Mansfield, R., Holcomb, W., and Ahearn,W. (2004). Toward a behavioral analisys of joint attention. The Behavior Analyst,27(2):197−−207.

[Freeman and Adelson, 1991] Freeman, W. T. and Adelson, E. H. (1991). The design and useof steerable filters. IEEE Transactions on Pattern Analysis and Machine Intelligence, 13:891–906.

[Itti and Koch, 2001] Itti, L. and Koch, C. (2001). Computational modeling of visual attention.Nature Reviews Neuroscience, 2(3):194–203.

38 Referências

[Itti et al., 1998] Itti, L., Koch, C., and Niebur, E. (1998). A model of saliency-based visualattention for rapid scene analysis. IEEE Transactions on Pattern Analysis and MachineIntelligence, 20(11):1254–1259.

[Jain, 2006] Jain, A. K. (Outubro - 2006). 3d face recongnition. 2nd Computer VisionWorkshop, pages CDRoom – http://iris.sel.eesc.usp.br/wvc2006/.

[Kaplan and Hafner, 2004] Kaplan, F. and Hafner, V. (2004). The challenges of joint atten-tion. In Berthouze, L., Kozima, H., Prince, C., Sandini, G., Stojanov, G., Metta, G., andBalkenius, C., editors, 4th International Workshop on Epigenetic Robotics: Modeling Cogni-tive Development in Robotic System, pages 67–74.

[LTI, 2003] LTI (2003). Lti image processing library - developer’s guide. Technical Reporthttp://ltilib.sourceforge.net/doc/homepage/index.shtml, Lehrstuhl fuer Technische Infor-matik - Aachen University of Technology.

[M. Harville and J.Woodfill, 1999] M. Harville, A. Rahimi, T. D. G. G. and J.Woodfill (1999).3d pose tracking with linear depth and brightness constraints. In Proceedings of ICCV 99.,page 206213.

[Marr, 1983] Marr, D. C. (1983). Vision: A Computational Investigation into the Human Repre-sentation and Processing of Visual Information. W. H. Freeman.

[Morency, 2007] Morency, L. P. (2007). User guide - head tracking and gesture recognitionlibrary. Technical Report http://groups.csail.mit.edu/vision/vip/watson/Watson23.pdf,MIT Department of Electrical Engineering and Computer Science.

[Morency and Darrell, 2002] Morency, L.-P. and Darrell, T. (2002)). Stereo tracking using icpand normal flow constraint. In Proceedings of International Conference on Pattern Recogni-tion.

[Morency et al., 2003] Morency, L. P., Sundberg, P., and Darrel, T. (2003). Pose estimationusing 3d view-based eigenspaces. Analysis and Modeling of Faces and Gestures. AMFG2003. IEEE International Workshop, pages 45–52.

[Nuance, 2001] Nuance (2001). Introduction to the nuance system. Technical report, NuanceCommunications, Inc.

[Otterlo, 2005] Otterlo, V. (2005). A survey of reinforcement learning in relational domains.Technical Report TR-CTIT-0531, University of Twente, The Netherlands.

[Pineau et al., 2003] Pineau, J., Montemerlo, M., Pollack, M., Roy, N., and Thrun, S. (2003).Towards robotic assistants in nursing homes: Challenges and results. Robotics and Auto-nomous Systems, 42:271–281.

[P.J.Besl and McKay, 1992] P.J.Besl and McKay, N. D. (february 1992). A method for regis-tration of 3d shapes. IEEE TRans. Patt. Anal. Machine Intell., pages 14(2):239– 256.

[Policastro et al., 2007] Policastro, C., Romero, R., and Zuliani, G. (2007). Social robotic ar-chitecture inpired on behavior analisys. In IEEE, F. U., editor, International Joint ConferenceOn Neural Networks., pages pages 1482–1487.

[Russell and Norvig, 2003] Russell, S. and Norvig, P. (2003). Artificial Intelligence - A ModernApproach. Prentice-Hall.

[Scassellati, 2000] Scassellati, B. (2000). Investigating models of social development using ahumanoid robot. In Webb, B. and Consi, T., editors, Biorobotics, MIT Press.

[Scassellati, 2001] Scassellati, B. (2001). Foundations for a theory of mind for a humanoidrobot. PhD thesis, MIT Department of Electrical Engineering and Computer Science, Cam-bridge, MA.

[Shlens, 2005] Shlens, J. (December - 2005). A tutorial on principal componet analysis. pagehttp://www.cs.cmu.edu/ elaw/papers/pca.pdf.

Referências 39

[Sidner et al., 2004] Sidner, C., Kidd, D., Lee, C., and Lesh, N. (2004). Where to look: A studyof human-robot engagement. In 9th international conference on Intelligent user interface,pages 78–84.

[Slatev, 1999] Slatev, J. (1999). The epigenesis of meaning in human beings and possibly inrobots. Lund University Cognitive Studies, 79.

[Sério et al., 2004] Sério, T., Andery, M., Gioia, P., and Micheleto, N. (2004). Controle deestímulos e comportamento operante: uma (nova) introdução. EDUC - Editora da PUC - SP.

[Tsotsos and Nuflo, 1995] Tsotsos, J. K.; Davis, N. and Nuflo, F. (1995). Modelling visualattention via selective tuning. Artificial Intelligence, 78 no. 1 e 2:507–545.

[Velho and Carvalho, 2002] Velho, L. and Carvalho, P. C. (2002). Mathematical OptimizationMethods in Graphics and Vision. SIGGRAPH 2002 Course Notes, SIGGRAPH-ACM publica-tion, San Antonio, Texas.

[Whalen and Schreibman, 2003] Whalen, C. and Schreibman, L. (2003). Joint attention trai-ning for children with autism using behavior modification procedures. Journal of ChildPsychology and Psychiatry, 44(3):456−−468.

[Wolfe and Horowitz, 2004] Wolfe, J. M. and Horowitz, T. S. (2004). What attributes guide thedeployment of visual attention and how do they do it? Nature Reviews: Neuroscience, page5:1.7.

[Yang, 2006] Yang, S. K. (2006). Video grabber library. Technical Reporthttp://shukaiyang.myweb.hinet.net/vdograb/index.html, Department of ComputerScience and Information Engineering - National Chiao Tung University.