Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Modelagem Geométrica

Embed Size (px)

Citation preview

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    1/64

    UNIVERSIDADE FEDERAL DA BAHIA

    INSTITUTO DE MATEMÁTICA

    PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

    RECONHECIMENTO DE GESTOS BASEADO

    EM REGISTRO DE MOVIMENTO

    UTILIZANDO TÉCNICAS DE VISÃO

    COMPUTACIONAL E MODELAGEM

    GEOMÉTRICA

    Alan dos Santos Soares

    QUALIFICAÇÃO DE MESTRADO

    Salvador

    11 de setembro de 2015

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    2/64

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    3/64

    UNIVERSIDADE FEDERAL DA BAHIA

    INSTITUTO DE MATEMÁTICA

    Alan dos Santos Soares

    RECONHECIMENTO DE GESTOS BASEADO EM REGISTRO DE

    MOVIMENTO UTILIZANDO TÉCNICAS DE VISÃO

    COMPUTACIONAL E MODELAGEM GEOMÉTRICA

    Trabalho apresentado ao PROGRAMA DE P ́  OS-

    GRADUAÇ ˜ AO EM CI ̂  ENCIA DA COMPUTAÇ ˜ AO do INS-

    TITUTO DE MATEM ́  ATICA da UNIVERSIDADE FEDE-

    RAL DA BAHIA como requisito parcial para obtenç̃ao do 

    grau de Mestre em CI ̂  ENCIA DA COMPUTAÇ ˜ AO.

    Orientador: Prof. Dr. Antonio Lopes Apolinário Jr.

    Salvador

    11 de setembro de 2015

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    4/64

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    5/64

    RESUMO

    O desenvolvimento de sistemas capazes de reconhecer gestos ou sinais tem crescido con-sideravelmente. Estes sistemas permitem usuários interagirem intuitivamente com dis-positivos usando Natural User Interface   (NUI) sem a necessidade de utilização de equi-pamentos, como cabos e/ou luvas. A Interação Humano-Computador (IHC) é realizadaatravés do reconhecimento e transformação do gesto em um comando, que por sua vez exe-cuta alguma ação ou evento. O reconhecimento depende da representação geométrica do

    gesto/sinal, do sensor e dos métodos para detecção, rastreamento e reconhecimento. As-sim, este projeto tem como objetivo desenvolver um sistema para reconhecimento de umconjunto finito de gestos usando um sensor RGB-D para captar a informa ção geométrica3D da cena. O gesto será modelado como uma curva no espaço paramétrico, sendo estadefinida por uma representação baseada em curvas polinomiais. Esta curva será obtidaatravés do acompanhamento da mão no espaço 3D, desconsiderando outras partes docorpo, como expressões faciais ou o deslocamento do torso.

    Palavras-chave:   Reconhecimento de Gestos; Modelagem Geométrica de Curvas; Sen-sor RGB-D; Ĺıngua de Sinais; 3D.

    iii

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    6/64

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    7/64

    ABSTRACT

    The development of systems capable of recognizing gestures or signs has grown consi-derably. These systems allow users to intuitively interact with devices using NaturalUser Interfaces (NUI) without the need to use equipment such as cables or gloves. TheHuman-Computer Interaction (HCI) is performed by recognizing and transformation of the gesture in a command, which in turn performs some action or event. Recognitiondepends on the geometric representation of the gesture / sign, sensor and methods for

    detection, tracking and recognition. Thus, this project aims to develop a system for re-cognition of a finite set of gestures using an RGB-D sensor to capture the 3D geometricinformation of the scene. The gesture will be modeled as a curve in the parameter space,which is defined by a representation based on polinomial curves. This curve is obtainedthrough hand tracking in 3D space, ignoring other body parts, such as facial expressionsor torso displacement.

    Keywords:   Gesture Recognition; Geometric Modeling Curves; RGB-D Sensor; SignalLanguage; 3D.

    v

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    8/64

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    9/64

    SUMÁRIO

    Caṕıtulo 1—Introdução   1

    Caṕıtulo 2—Fundamentação Teórica   5

    2.1 Gestos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.2 Representação Geométrica de Gestos . . . . . . . . . . . . . . . . . . . . 72.3 Curvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

    2.3.1 Curva de Bézier . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3.2 Curva Spline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.3.3 Curva B-Spline . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    2.4 Sistemas de Reconhecimento de Gestos . . . . . . . . . . . . . . . . . . . 152.4.1 Sensores RGB-D . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.4.2 Detecção . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.4.3 Rastreamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.4.4 Reconhecimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    2.4.5 Técnicas Baseadas em Contato . . . . . . . . . . . . . . . . . . . 212.4.6 Técnicas Baseadas em Visão . . . . . . . . . . . . . . . . . . . . . 212.5 Algoritmos e Métodos para Sistemas de Reconhecimento . . . . . . . . . 232.6 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

    Caṕıtulo 3—Trabalhos Relacionados   27

    3.1 Rastreamento da Mão . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.2 Reconhecimento de Gestos . . . . . . . . . . . . . . . . . . . . . . . . . . 293.3 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    Caṕıtulo 4—Metodologia  33

    4.1 Cronograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.2 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    Caṕıtulo 5—Conclusão   39

    vii

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    10/64

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    11/64

    LISTA DE FIGURAS

    2.1 Categorias dos gestos. (HASAN; KAREEM, 2012) . . . . . . . . . . . . . 62.2 A figura 2.2a de Schroder et al. (2012) mostra uma luva colorida e a 2.2b

    de Oikonomidis, Kyriazis e Argyros (2011) um modelo 3D da mão usadopara rastrear os movimentos da mão. Ambas as abordagens são usadaspara representar gestos usando modelos 3D e aparência, respectivamente. 7

    2.3 Curva de Bézier cúbica. . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.4 Curva de Bézier aproximada por uma sequência de interpolações. . . . . 122.5 Spline cúbica constrúıda com sete segmentos polinomiais. . . . . . . . . . 132.6 Sensor RGB-D composto de um emissor infravermelho, sensor de cor, sen-

    sor de profundidade do infravermelho, motor de ajuste e microfones.(MICROSOFT,2015) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    2.7 Gesto composto por uma sequência de 6 quadros. Cada quadro representaa detecção da posição  pi  em um dado momento  ti.(IBANEZ et al., 2014) 19

    2.8 Gestos da Lingua Brasileira de Sinais capturados utilizando o sensor Kinecte um código do OpenNI modificado. . . . . . . . . . . . . . . . . . . . . . 20

    2.9 Luva utilizada para captar a posição e orientação da mão. (LIN; VIL-LALBA, 2014) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    2.10 Caso linear, onde um conjunto de amostras é separada no lado esquerdo edireito, e o fundo representa a linha de separação. (BURGES, 1998a) . . 24

    4.1 Arquitetura de um sistema de reconhecimento de gesto. Inicialmente osensor RGB-D capta uma nuvem de pontos para detectar a posi ção damão. Em seguida, uma sequência de posições é armazenada, representandoa trajetória do gesto. Após a obtenção da trajetória, ela é normalizadae escalada para obter invariância do gesto em relação ao posicionamento.Por fim, um método é aplicada para treinamento do classificador utilizando

    o conjunto de gestos. A classificação é realizada comparando o valor dereferência dos testes com os obtidos no treinamento. . . . . . . . . . . . . 35

    ix

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    12/64

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    13/64

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    14/64

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    15/64

    LISTA DE ABREVIATURAS E SIGLAS

    LS  Linguagem de Sinais

    LIBRAS   Ĺıngua Brasileira de Sinais

    LAS   Ĺıngua Americana de Sinais

    NUI  Natural User Interface

    IHC   Interface Humano-Computador

    RGB   Red-Green-Blue

    RGB-D   Red-Green-Blue-Deep

    3D   Tridimensional ou três dimensões

    2D  Bidimensional ou duas dimensões

    VC   Visão Computacional

    SDK   Software Development Kit

    API   Application Programming Interface

    ROI  Region of Interest

    HMM  Hidden Markov Model

    FSM  Finite State Machine

    DTW   Dynamic Time Warpping

    ICP   Iterative Closest Point

    SVM   Support Vector Machine

    PNN   Probabilistic Neural Network

    PCA  Principal Component Analyses

    LBS  Linear Blend Skinning

    PSO   Particle Swarm Optimization

    xiii

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    16/64

    xiv   LISTA DE ABREVIATURAS E SIGLAS

    GMM  Gaussian Mixture Model

    DEC   Discriminative Exemplar Coding

    DLLE  Distributed Locally Linear Embedding

    ROC  Receiver Operating Characteristic

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    17/64

    Caṕıtulo

    1Este caṕıtulo tem como objetivo fazer uma contextualiza瘠ao do projeto e descrever a motiva瘠ao e alguns 

    desafios da ´ area de reconhecimento de gestos e suas aplica瘠oes.

    INTRODUÇÃO

    A comunicação entre humanos pode ser realizada utilizando linguagem verbal ou nãoverbal. A linguagem verbal é caracterizada pelo uso da escrita ou da fala como meio decomunicação. Já a linguagem não verbal é caracterizada pela transmissão da informaçãoatravés de imagens, figuras, desenhos, śımbolos, dança, tom de voz, postura corporal,pintura, música, mı́mica ou gestos. O gesto pode ser considerado o meio de comunicação

    mais utilizado pelos humanos dentre estas formas não verbais. Isto porque normalmentea fala vem acompanhada de gestos que auxiliam no processo de comunicação.

    Os gestos podem ser classificados em conscientes ou inconscientes (HASAN; KA-REEM, 2012). Os conscientes possuem representação semântica e são realizados inten-cionalmente durante a comunicação. Já os gestos inconscientes são realizados de formanão intencional.

    A Linguagem de Sinais (LS) (LEWIS; SIMONS; FENNIG, 2014) é formada peloconjunto de gestos conscientes e tem como base a utilização de gestos, sinais, expressõesfaciais e/ou corporais para que pessoas surdas ou com problemas de audição possam secomunicar. Assim como o idioma, a LS também é espećıfica de cada páıs, sendo a do

    Brasil a Ĺıngua Brasileira de Sinais (LIBRAS).Os sinais são diferentes dos gestos. Enquanto o sinal tem seu significado represen-tado através de śımbolos, sem movimentação de partes do corpo, os gestos consideram oaspecto temporal, sendo assim representados através de movimentos de partes do corpo.Assim, um único gesto é composto de uma sequência de sinais (poses) durante um inter-valo de tempo. Estes sinais e gestos podem ser usados para desenvolver sistemas capazesde reconhecer um movimento ou pose e traduzir este em um comando que executa algumaação.

    A utilização de gestos na construção de sistemas computacionais tem crescido consi-deravelmente. Para desenvolver tais sistemas é necessário inicialmente entender as carac-teŕısticas dos gestos, suas limitações e como eles podem ser representados. Estes sistemas

    1

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    18/64

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    19/64

    INTRODUÇ ÃO   3

    no espaço geométrico 3D. O objetivo é tornar esta curva invariante à posição e orientaçãodo usuário no ambiente. Esta invariância é fundamental nos sistemas de reconhecimentode gestos, uma vez que os fatores f́ısicos do usuário, bem como da realização do gestopodem influenciar no resultado da classificação.

    Este projeto foi proposto considerando as recentes pesquisas em sistemas de reco-nhecimento de gestos e a diversidade de áreas onde podem ser aplicados, como Médica,Entretenimento ou até mesmo em Casas Inteligentes. O projeto visa fortalecer a pes-quisa na área de VC, bem como incentivar o desenvolvimento de pro jetos cient́ıficos parautilização nas áreas de saúde, educação e comunicação.

    Este trabalho está dividido em cinco caṕıtulos. O caṕıtulo 1 descreve o contexto doprojeto, motivação e desafios, bem como uma breve descri ção do projeto proposto. Ocaṕıtulo 2 mostra os principais conceitos envolvidos no projeto, descrevendo aspectostécnicos e teóricos que ajudarão no processo de desenvolvimento do projeto. Uma revisão

    de abordagens para reconhecimento de gestos é descrita no caṕıtulo 3, mostrando os algo-ritmos mais utilizados e os aspectos positivos e negativos de cada método. A metodologiapara desenvolvimento do projeto é apresentada no caṕıtulo 4, demonstrando uma arqui-tetura de um sistema de reconhecimento de gesto e todas as etapas que ser ão necessáriaspara desenvolver e concluir o projeto no prazo estabelecido. Por fim, o caṕıtulo 5 con-clui o trabalho fazendo uma revisão do que foi apresentado e as considerações finais emrelação ao projeto proposto.

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    20/64

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    21/64

    Caṕıtulo

    2Este caṕıtulo tem como objetivo descrever conceitos e informa瘠oes que ser˜ ao utilizadas como base para 

    entendimento e desenvolvimento do projeto.

    FUNDAMENTAÇÃO TEÓRICA

    O problema de reconhecimento de gestos requer o entendimento de aspectos básicos sobregestos e suas categorias, dos conceitos relacionados a uma arquitetura básica de sistemade reconhecimento e sua complexidade de desenvolvimento. Aĺem disso, é necessárioconhecer formas de representar um gesto e os aspectos positivos e negativos de cadarepresentação.

    É necessário também entender como os sensores RGB-D funcionam e como eles po-dem ser usados nos sistemas de reconhecimento de gestos.   É preciso conhecer algumasvantagens e desvantagens da utilização de câmeras RGB e de sensores de profundidade,bem como algumas das principais diferenças entre as técnicas baseadas em contato evisão, que são usadas para desenvolver tais sistemas.

    Uma vez que o projeto lida com a modelagem geométrica dos gestos usando curvas,então é necessário entender conceitos relacionados a curvas e algumas de suas proprieda-des. Além disso, é preciso conhecer como funcionam métodos para detecção, rastreamentoda mão e reconhecimento de gestos.

    Assim, todos os assuntos mencionados acima são abordados neste caṕıtulo. O objetivoé ter uma base sólida dos conceitos e definições que serão utilizados para entender e

    desenvolver o projeto proposto.

    2.1 GESTOS

    Um gesto ou sinal é considerado um movimento e/ou configuração de uma ou mais partesdo corpo, que podem representar um comando, emoção ou intenção (BERMAN; STERN,2012). O significado dos gestos ou sinais leva em conta uma sequência de parâmetros, taiscomo a localização da mão em relação ao corpo, a expressão facial ou a movimentaçãoque se faz para produzir o gesto.

    Segundo Hasan e Kareem (2012), os gestos são classificados em duas categorias prin-cipais: estáticos e dinâmicos. Os gestos estáticos (sinais) são definidos em função de uma

    5

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    22/64

    6   FUNDAMENTAÇ ÃO TEÓRICA

    pose que se mantém na mesma posição e orientação, sem movimentação por um perı́odode tempo (HASAN; KAREEM, 2012). Já os gestos dinâmicos são definidos por umasequência contı́nua de poses estáticas em um intervalo de tempo (HASAN; KAREEM,2012). Cada pose  pi   é associada a um instante  ti  neste intervalo.

    P  = { p(t1), p(t2),...,p(tn)}

    Os gestos dinâmicos são classificados como conscientes ou inconscientes (HASAN;KAREEM, 2012), onde o primeiro indica a transmissão da informação de forma propo-sital, enquanto o segundo é a realização de gestos de forma espontânea (categorizadoscomo adaptadores). Podemos ainda classificar os gestos conscientes em emblemáticos,que são traduções diretas de comunicações verbais curtas (por exemplo, o acenar a mão),reguladores que são usados na interação por gestos, ilustradores que são usados para

    enfatizar pontos-chaves em um diálogo, e os emocionais que representam declarações deafeto (HASAN; KAREEM, 2012).

    A figura adaptada de Hasan e Kareem (2012) mostra uma visão geral da categorizaçãodos gestos logo abaixo.

    Figura 2.1: Categorias dos gestos. (HASAN; KAREEM, 2012)

    Dentre os gestos e sinais conscientes, existe um conjunto que compõe a Ĺıngua Brasi-leira de Sinais ou LIBRAS, que é utilizada por pessoas surdas ou com problemas auditivosno processo de comunicação. Estas linguagens não são universais, sendo particulares decada paı́s em sua estrutura, podendo ainda se diversificar de acordo com a região.

    A utilização de gestos na interação com computadores é um novo paradigma. Com-parada com outras partes do corpo, a mão é o membro mais adequado para interagir

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    23/64

    2.2 REPRESENTAÇ ÃO GEOMÉTRICA DE GESTOS   7

    com computadores de forma intuitiva (HASAN; KAREEM, 2012). Para realizar estainteração, é necessário definir como os gestos podem ser representados pelo movimentoda mão.

    2.2 REPRESENTAÇÃO GEOMÉTRICA DE GESTOS

    A representação de um gesto pode ser definida como uma abstração dos movimentosdas partes do corpo humano (HASAN; KAREEM, 2012). Neste sentido, a escolha damelhor representação do gesto deve ser levada em consideração no desenvolvimento deuma abordagem para reconhecimento de gestos. Segundo Suarez e Murphy (2012) eHasan e Kareem (2012), as representações baseadas em aparência e em modelos 3D sãoconsideradas as principais categorias de representação de gestos. As figuras 2.2a e 2.2bmostram exemplos destas categorias.

    (a) (b)

    Figura 2.2: A figura 2.2a de Schroder et al. (2012) mostra uma luva colorida e a 2.2b deOikonomidis, Kyriazis e Argyros (2011) um modelo 3D da mão usado para rastrear osmovimentos da mão. Ambas as abordagens são usadas para representar gestos usandomodelos 3D e aparência, respectivamente.

    Os modelos baseados em aparência tem como principal premissa captar informaçõesde cor e de movimento (ZABULIS; BALTZAKIS; ARGYROS, 2009). Segundo Zabu-lis, Baltzakis e Argyros (2009), as duas principais categorias de métodos usados pararepresentar gestos baseados em aparência são: modelos estáticos 2D e movimento. Osmodelos estáticos 2D normalmente se baseiam na análise de cor, silhueta e movimento.A análise de cor utiliza marcadores para rastrear o movimento, como a luva ilustrada nafigura 2.2a. Já a análise de silhueta avalia as propriedades geométricas da silhueta, taiscomo perı́metro, superfı́cie, retangularidade, orientação e centróide. Por fim, a análise demovimento avalia o deslocamento dos objetos em sequências de imagens.

    Ao contrário das abordagens baseadas em aparência, que lidam com informação vi-

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    24/64

    8   FUNDAMENTAÇ ÃO TEÓRICA

    sual, as abordagens baseadas em modelos 3D lidam com informações geométricas da cena(SUAREZ; MURPHY, 2012). Estas abordagens definem uma descrição espacial 3D damão, onde parâmetros são calculados para mapear o modelo em relação à mão de acordocom seu movimento (OIKONOMIDIS; KYRIAZIS; ARGYROS, 2011). O custo com-putacional está fortemente relacionado à complexidade do modelo geométrico utilizado(EROL et al., 2007). Isto porque o cálculo sobre a quantidade de vértices usados requermuito processamento, sendo assim mais adequados os modelos que utilizam combinaçõesde formas geométricas mais simples (por exemplo, combinação de esferas) (EROL et al.,2007).

    A principal vantagem das abordagens baseadas em modelos 3D, que são capturadascom algum sensor de profundidade, é que são invariantes a mudanças de iluminação (HA-SAN; KAREEM, 2012), caracterı́stica fundamental que os modelos baseados em aparêncianão lidam de forma eficiente (HASAN; KAREEM, 2012). Além disso, as oclusões e de-

    tecções incorretas de objetos em cenas que possuem distribuições de cores semelhantestornam as abordagens baseadas em aparência pouco robustas ou escaláveis (EROL et al.,2007).

    As abordagens que mapeiam somente a trajetória do movimento no espaço 3D (FRATI;PRATTICHIZZO, 2011)(KIM et al., 2012a), mais conhecidas por rastreamento da mão,podem utilizar tanto abordagens baseadas em aparência, quanto modelos 3D. O rastrea-mento foca na descrição espacial e temporal do movimento realizado pela mão (SCHRöDER;BOTSCH, 2014). Este movimento pode ser representado atrav́es de curvas, onde estasdevem representar da melhor forma posśıvel os gestos realizados, mantendo assim propri-edades e caracteŕısticas do movimento, como pontos de inflexão, curvatura da curva ou

    quantidade de pontos de controle. Assim, é necessário conhecer as principais formas derepresentar as curvas, além das propriedades e caracteŕısticas que devem ser levadas emconsideração quando utilizadas em sistemas de reconhecimento de gestos.

    2.3 CURVAS

    Uma curva pode ser representada através de três formas fundamentais: expĺıcita, impĺıcitaou paramétrica. A forma expĺıcita é definida por funções de variáveis   y   e   z , que sãodependentes de  x  (para 3D), sendo representadas por duas equações:

    f (x) = y   (.)

    g(x) = z    (.)

    Esta representação explı́cita não é considerada adequada para as curvas fechadas, poissó existe um único valor de  y  para cada valor de  x  (o mesmo vale para  z ). Além disso,representar uma curva rotacionada requer a divisão da mesma em vários segmentos, sendoassim uma representação pouco utilizada.

    Já as representações impĺıcitas modelam curvas como soluções de equações seguindo aforma da equação  .. Esta representação impĺıcita de curvas possui algumas limitações,especialmente quando queremos saber se a direção das tangentes dos segmentos estão

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    25/64

    2.3 CURVAS   9

    corretas nos pontos de encontro. A tabela 2.1 mostra algumas das desvantagens destarepresentação.

    f (x , y , z  ) = 0 (.)

    Uma vez que os elementos dependem dos eixos, é necessário definir um sistema decoordenadas que garanta as propriedades das representações impĺıcitas e explı́citas. Estasrepresentações possuem a vantagem de detectar eficientemente se um ponto pertence auma dada curva, ou até mesmo verificar em que lado da curva um ponto está localizado

    (HUGHES et al., 2013). No entanto, estas representações não são adequadas para o nossoproblema, uma vez que queremos encontrar uma forma eficiente de representar uma curvacom base nos pontos obtidos pelo rastreamento da mão, sendo assim pouco interessanteutilizar representações impĺıcitas ou explı́citas.

    Já a representação paramétrica expressa o valor das variáveis   x,   y   e   z   em funçãode uma variável independente   t, que é comumente chamada de parâmetro. Esta repre-sentação é independente do sistema de coordenadas e possui 3 funções explı́citas em umsistema 3D:

    x =  x(t), y =  y(t), z  =  z (t) (.)

    Cada ponto da curva  p(t) = [x(t), y(t), z (t)] pode ser representado como uma funçãovetorial em função da variação do parâmetro   t  entre 0 e 1. De forma geral, dados doispontos  p1  e  p2, uma interpolação linear é definida por uma função:

     p(t) = (1 − t) p1 +  tp2   (.)

    com   t  ∈  R  e 0  ≤   t  ≤   1. Esta interpolação sobre o conjunto de pontos fornece umarepresentação aproximada de uma curva. Uma das melhores vantagens da representaçãoparamétrica é que a forma aproximada da curva passa a ser definida como uma curvapolinomial, o que, para efeitos de computação gráfica, pode melhorar a visualização decurvas mais complexas ou suavizar contornos (HUGHES et al., 2013). As tabelas 2.2 e2.1 mostram algumas das vantagens e desvantagens das três representações mencionadasacima (impĺıcita, explı́cita e paramétrica).

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    26/64

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    27/64

    2.3 CURVAS   11

    a derivada de grau  n  da curva, ou seja, se a direção e a magnitude da derivada de graun de dois segmentos de curva forem iguais num determinado ponto de intersecção, entãodiz-se que a curva apresenta continuidade paramétrica  C n neste ponto.

    A representação paramétrica foi escolhida para ser utilizada neste projeto porque éa mais adequada para resolver nosso problema (obter uma representação aproximadade uma curva no espaço com base nas posições da mão). Ela é mais adequada porquepermite que uma curva seja constrúıda a partir da interpolação dos pontos (posições damão) de forma eficiente e sem muita complexidade.

    Nos sistemas de reconhecimento de gestos é necessário definir um modelo representa-tivo de curva da forma mais simples posśıvel, sem perder informações importantes. Estaetapa é realizada após a obtenção da trajetória da mão, que é composta de uma sequênciacont́ınua de pontos. Neste processo, a velocidade do movimento, calculada a partir daprimeira derivada, implica na quantidade de pontos amostrados, ou seja, a quantidade de

    pontos é inversalmente proporcional a velocidade do movimento. Esta velocidade permiteinferir uma caracteŕıstica importante dos gestos, que é o aspecto emocional. No entanto,esta caracteŕıstica não é levada em consideração neste projeto.

    No processo de construção de uma curva, uma curvatura 3D não pode ser representadausando apenas um único ângulo  θ, assim é necessário definir dois ângulos,  θ1  e  θ2. Paraisso, uma projeção nos planos   XZ   e   Y Z   pode ser realizada afim de obter os ângulosnecessários para representar cada ponto da curvatura 3D.

    Dentre as representações paramétricas de curvas, as mais utilizadas em sistemas dereconhecimento de gestos são as curvas B-Spline e Bézier (WANG; WANG; ZHOU,2014)(SHIN; TSAP; GOLDGOF, 2004). Estas curvas possuem propriedades importan-

    tes que facilitam a manipulação e extração de caracteŕısticas que podem ser usadas noprocesso de treinamento e classificação dos gestos. As próximas subseções descrevem asdefinições e propriedades destas curvas.

    2.3.1 Curva de Bézier

    A curva de Bézier é uma representação paramétrica da forma:

    (x + y)n =

    nk=0

    nk

    xn−kykx   (.)

    com  x =  t  e  y = (1 − t), onde  t  é um valor de parametrização para percorrer a curvano intervalo de 0 a 1, e  n  é o grau do polinômio. Estes polinômios são conhecidos comopolinômios de Bernstein (Caglar; Akansu, 1993) e segue a forma:

    Bni (x) =

    n

    i

    xi(1 − x)n−i (.)

    O conjunto {Bni }ni=0  forma uma base para os polinômios de grau até n. Isto é, se  P (x)

    é um polinômio de grau menor ou igual a  n, então pode ser escrito na forma:

    P (x) =n

    i=0

    β i

    n

    i

    xi(1 − x)n−i (.)

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    28/64

    12   FUNDAMENTAÇ ÃO TEÓRICA

    A figura 2.3 ilustra uma curva de Bézier cúbica, aproximada por 4 pontos de controleP 4  =  { p0, p1, p2, p3}, sendo 2 pontos conhecidos como pontos finais,  p0  e  p3, e os outros 2como pontos de controle,  p1  e  p2, que definem a forma da curva. Já a figura 2.4 mostraum outro exemplo, ilustrando a sequência de interpolações variando o parâmetro   t  de 0a 1 para construir uma curva quadrática.

    Figura 2.3: Curva de Bézier cúbica.

    Figura 2.4: Curva de Bézier aproximada por uma sequência de interpolações.

    As curvas mais utilizadas são as lineares, quadráticas e cúbicas, representadas respec-tivamente pelas equações  .,  .  e  ., onde  P  representa o ponto de controle e   t  aparametrização definida no intervalo de 0 a 1. Estas, além de simplificar a construção deformas geométricas complexas através da junção de curvas de graus menores, são maisflex́ıveis e melhoram o desempenho das aplicações.

    P(t) = (1 − t)P0 + tP1   ,  t ∈  [0, 1].   (.)

    P(t) = (1 − t)2P0 + 2t(1 − t)P1 +  t2P2   ,  t ∈  [0, 1].   (.)

    P(t) = (1 − t)3P0 + 3t(1 − t)2P1 + 3t

    2(1 − t)P2 +  t3P3   ,  t ∈  [0, 1].   (.)

    Quanto maior for o grau da curva de Bézier, maior será o custo de avaliação. Estaproporcionalidade pode ser revertida através da composição de curvas de Bézier maissimples, fazendo com que o último ponto de um segmento coincida com o primeiro pontode outro segmento. Assim, uma vez que o primeiro e último ponto de uma curva de Béziersão interpolados (uma de suas propriedades), o resultado é a continuidade em   C 0, que

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    29/64

    2.3 CURVAS   13

    pode ser suavizada através da análise de seus pontos vizinhos, ou seja, dos posteriores eanteriores aos pontos de junção.

    Logo abaixo são descritas algumas propriedades importantes das curvas de Bézier quedevem ser levadas em consideração no processo de escolha da melhor representação decurva a ser usada.

    •   Invariância sobre transformações afins no espaço paramétrico - propriedadeque define que a transição do intervalo [0, 1] para o intervalo [a, b] é um mapeamentoafim.

    •   Envoltória Convexa   (convex hull)  - define que todos os pontos gerados pelasinterpolações estão dentro da poligonal de controle, ou seja para quaisquer doispontos contidos no conjunto, a linha reta que conecta eles também está contida no

    conjunto.

    •   Simetria   - construir a curva iniciando em ambos os pontos finais geram o mesmoresultado.

    •   Interpolação dos pontos finais - garante que a curva sempre passará pelos pontosfinais.

    2.3.2 Curva Spline

    Uma Spline é uma generalização das curvas de Bézier. Ela é definida por partes de uma

    função polinomial que possui suavidade nos nós que conectam os segmentos, chamadosknots. Em virtude da simplicidade e facilidade de avaliação, as Splines são mais usadas emcomputação gráfica, uma vez que possuem a capacidade de aproximar formas complexasatrav́es do ajuste da curva. A figura 2.5 mostra um exemplo de curva Spline de ordemcúbica, constrúıda através da interpolação de sete segmentos.

    Figura 2.5: Spline cúbica construı́da com sete segmentos polinomiais.

    Uma Spline é uma curva definida por um conjunto  C n  de pontos de controle, onde onúmero de pontos define o grau da curva. Estas curvas são contı́nuas nos nós (pontos decontrole) e são mais úteis com graus mais baixos, pois reduzem o tempo de processamentoe a instabilidade dos cálculos. Os pontos que são gerados pela interpolação definem atangente à curva em seus respectivos nós.

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    30/64

    14   FUNDAMENTAÇ ÃO TEÓRICA

    As Splines podem ser divididas em duas categorias: Splines de interpolação e Splinesde aproximação. Estas categorias diferem na forma como a curva é constrúıda, poisenquanto uma passa por todos os pontos de controle, a outra passa próximo a eles.

    Quando os segmentos que compõem a curva possuem o mesmo comprimento no espaço,dizemos que a curva é uniforme, caso contrário é não-uniforme. Uma curva não-uniformepode ser transformada em uma curva uniforme através da reamostragem dos pontos.Este processo de reamostragem pode ser realizado através da interpolação dos pontos decontrole. Nos sistemas de reconhecimento de gestos, a captura dos pontos da trajetóriaé não-uniforme, pois os intervalos dependem da velocidade do movimento da mão noespaço 3D.

    A tabela 2.3 apresenta um comparativo entre as curvas paramétricas cúbicas de Béziere Spline (FOLEY et al., 1994).

    Bézier SplineConvex hull   definido pelos pontos de controle Sim Sim

    Interpola alguns pontos de controle Sim SimInterpola todos os pontos de controle Não Não

    Facilidade de divisão Melhor MédiaContinuidades inerentes na representação   C 0 G0 C 2 G2

    Continuidades facilmente alcançadas   C 0 G0 C 2 G2

    Número de parâmetros controlando a curva 4 4

    Tabela 2.3: Comparativo entre duas representações de curva: Bézier e Spline. (FOLEYet al., 1994)

    2.3.3 Curva B-Spline

    As curvas B-spline são constitúıdas de segmentos, sendo mais flex́ıveis que as curvas deBézier. Uma curva B-Spline pode ser definida por:

    •  o grau  n de cada intervalo,

    •   a sequência de  knots   u1,...,uk, consistindo de  K  + 1  knots   ui  ≤  ui+1,

    •   o polı́gono de controle  d0,...,dL, com  L =  K  −  n + 1.

    Um ponto em uma curva B-Spline é denotado por   d(u), com   u   ∈   [un−1, uK −n+1].Assim, dados m valores reais  ti, chamados  knots, com:

    t0  ≤  t1 ≤ · · · ≤ tm−1

    uma curva B-Spline de grau  n  é uma curva paramétrica tal que:

    S : [t0, tm−1] → R2

    é composta de uma combinação linear de B-Splines básicas  bi,n

     de grau  n:

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    31/64

    2.4 SISTEMAS DE RECONHECIMENTO DE GESTOS   15

    S(t) =m−n−2

    i=0

    Pibi,n(t) ,  t ∈  [tn−1, tm−n].   (.)

    onde  Pi   são os pontos de controle ou pontos de Boor(BOOR, 1978). Assim, existemm − (n + 1) pontos de controle que formam uma curvatura convexa.

    As  m − (n + 1) B-Splines básicas de grau  n  podem ser definidas através da formulade recursão Cox-de Boor (BOOR, 1978):

    b j,0(t) :=

    1 si   t j  ≤ t < t j+10 resto

      (.)

    b j,n(t) :=  t − t jt j+n − t j

    b j,n−1(t) +  t j+n+1 − t

    t j+n+1 −  t j+1b j+1,n−1(t).   (.)

    Quando os  knots   são equidistantes, a B-Spline é dita uniforme, caso contrário não-uniforme. Se dois  knots t j  são idênticos, quaisquer formas indeterminadas

      00

     se considera0. Além disso,  j +  n + 1 não pode exceder  m − 1, o que limita tanto  j  quanto  n.

    Quando lidamos com uma curva B-Spline, é conveniente considerar o conjunto desegmentos da curva como uma única curva. A maioria das propriedades das curvas B-Spline podem ser entendidas considerando apenas um único segmento. No entanto, umsegmento não é descrito somente por um conjunto de pontos de controle. Isto aumentaa complexidade de comparação das trajetórias em sistemas de reconhecimento gestos,uma vez que é necessário levar em consideração outras informações além dos pontos decontrole.

    Além de herdar todas as propriedades das curvas de Bézier, as curvas B-Spline pos-suem outras propriedades que as fazem ser uma representação robusta na construção desistemas de reconhecimento de gesto. Uma delas, chamada de controle pseudo-local, mos-tra que uma mudança em um ponto de controle afeta apenas a região ao redor daqueleponto. Além desta, as curvas B-Spline possuem suavidade e continuidade, o que permiteque qualquer curva seja constrúıda a partir da concatenação de segmentos de curva, ondecada segmento pode ser tratado como uma só unidade.

    Uma outra propriedade importante das curvas B-Spline descreve que as coordena-das  X   e  Y   são independentes, ou seja, cada uma tem suas representações paramétricastratadas independentemente. Esta propriedade também se aplica às curvas de Bézier e

    Spline.

    2.4 SISTEMAS DE RECONHECIMENTO DE GESTOS

    Um sistema de reconhecimento tem como objetivo classificar um objeto de acordo comsuas caracterı́sticas. Um problema de classificação consiste em separar o espaço de entradaem classes de acordo com algum critério de classificação. Estes sistemas podem seraplicados para reconhecer faces, pedestres, carros, gestos ou qualquer outro tipo de objetoque tenha algum significado. Este reconhecimento consiste em atribuir um rótulo ou classepara o objeto de tal maneira que ele seja consistente com os dados dispońıveis sobre oproblema. Uma vez que o problema a ser tratado neste projeto é o reconhecimento de

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    32/64

    16   FUNDAMENTAÇ ÃO TEÓRICA

    gestos no espaço 3D, o objeto de interesse é a trajetória descrita pelo acompanhamentoda mão.

    Um sistema de reconhecimento de gesto é composto da representação do objeto deinteresse (o gesto), do dispositivo de captura do gesto (sensor), do algoritmo de rastre-amento do movimento, da extração de caracteŕısticas, do algoritmo de classificação ealgum tipo de entidade externa que tem seu estado alterado através do gesto (BERMAN;STERN, 2012). Existem muitos desafios relacionados ao desenvolvimento destes sistemascomo lidar com oclusões, segmentação da região de interesse a partir de uma nuvem depontos ou imagem, além da complexidade de rastrear o movimento da mão por conta daquantidade de graus de liberdade.

    Existem abordagens para reconhecimento de gestos estáticos e dinâmicos da mão,porém de acordo com um levantamento realizado, não foi encontrada nenhuma abordagempara reconhecer gestos da Ĺıngua Brasileira de Sinais usando as mãos (com os dedos) eexpressões faciais em conjunto. Este fato decorre da complexidade de representar umgesto utilizando mais de uma parte do corpo, onde muitos graus de liberdade s ão levadosem consideração. Em função dessa complexidade, o foco do projeto é dado somente aoacompanhamento da mão no espaço 3D, desprezando as outras partes do corpo, comoexpressões faciais e os dedos das mãos.

    O pré-processamento pode ser considerada a etapa inicial de um sistema de reconhe-cimento de gesto. Esta etapa envolve tanto o processo de calibração do sensor RGB-D,quanto o tratamento das informações que são obtidas através do sensor.  É nesta fase queos dados de entrada (posições das mãos, nuvem de pontos, etc) são preparados para pos-terior utilização. Por exemplo, o rúıdo dos sensores pode ser reduzido ou a trajetória do

    movimento pode ser normalizada.   É nesta etapa que métodos são aplicados para obter,por exemplo, invariância de posição ou orientação, sendo assim uma etapa fundamentaldos sistemas de reconhecimento de gestos.

    Portanto, é fundamental escolher um sensor que possua os requisitos necessários paradesenvolver uma abordagem eficiente para reconhecimento de gesto. Neste sentido, ossensores RGB-D serão avaliados no contexto deste projeto.

    2.4.1 Sensores RGB-D

    Um sensor é um dispositivo que responde a um est́ımulo f́ısico/qúımico de maneira es-

    pećıfica e mensurável. Os sensores RGB-D captam de uma cena tanto informação visual(RGB), quanto geométrica (D). A informação visual é obtida através de uma câmera quecapta estı́mulos óticos (Photons ) e converte estas quantidades f́ısicas em informações quepodem ser lidas por um dispositivo. Já a informação geométrica é obtida através de umemissor de luz infravermelho que projeta uma matriz densa não uniforme de pontos sobreuma cena e capta estes pontos através de uma câmera. Uma vez que o espaçamento entreos pontos é diferente e o padrão é conhecido, os processadores da câmera comparam oespaçamento medido na imagem do infravermelho em relação aos valores de referênciaconhecidos e então calcula a distância de cada pixel na cena. O resultado é uma nuvemde pontos que representa um mapa com as distâncias dos objetos da cena ao sensor. Afigura 2.6 mostra um exemplo de um sensor RGB-D e seus componentes.

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    33/64

    2.4 SISTEMAS DE RECONHECIMENTO DE GESTOS   17

    Figura 2.6: Sensor RGB-D composto de um emissor infravermelho, sensor de cor, sensor

    de profundidade do infravermelho, motor de ajuste e microfones.(MICROSOFT, 2015)

    Estes sensores são efetivos em ambientes com mudanças de iluminação, pois estasmudanças a priori não afetam o resultado obtido (SHAO et al., 2013). No entanto, algunssensores possuem algumas limitações em relação a obtenção da informação geométrica(por exemplo, o alcance efetivo do sensor Kinect é de aproximadamente 4 metros). Alémdisso, quando a luz solar é intensa, o sensor pode não funcionar adequadamente, poiso excesso de luz abafa o padrão de pontos projetados pelo infravermelho (BERMAN;STERN, 2012).

    Ao contrário dos sensores de profundidade, que são considerados invariantes a mu-

    danças de iluminação, os sensores RGB não lidam muito bem com estas mudanças (HA-SAN; KAREEM, 2012). Isto porque os sensores óticos dependem diretamente da in-formação luminosa, e obter informação de ambientes que possuem um baixo nı́vel deiluminação é uma tarefa dif́ıcil.

    Existem ainda outros tipos de sensores, como as câmeras estéreos e sensores de esca-neamento (BERMAN; STERN, 2012). Os sensores estéreos captam a informação visualutilizando duas câmeras ou uma única câmera com duas lentes. Apesar deste tipo desensor poder ser usado para obter informação 3D de uma cena, ele não lida de formaeficiente a oclusões e padrões repetitivos (ZHU et al., 2011). Já os baseados em escane-amento utilizam o Tempo de Voo (Time of Flight - ToF   do inglês) de um sinal emitido

    para obter um mapa de profundidade. Estes sensores baseados em escaneamento sãocaros e limitados a velocidade de escaneamento e resolução (BERMAN; STERN, 2012).

    Berman e Stern (2012) fizeram uma análise da taxonomia dos sensores focando nocontexto de uso, plataforma operacional e est́ımulos. O estudo teve como ob jetivo iden-tificar os requisitos dos sensores e fornecer subśıdios para o desenvolvimento de sensoresmais sofisticados e inteligentes. A ideia é facilitar o desenvolvimento de sistemas de reco-nhecimento de gestos através da resolução de problemas comuns, como monitoramento3D, prevenção de oclusão, padrões repetitivos, baixa resolução e mudanças de iluminação.Neste contexto, os sensores de profundidade são os mais indicados por serem invariantesa mudanças de iluminação.

    O Kinect e o PrimeSense3D são sensores RGB-D que podem ser utilizados na cons-

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    34/64

    18   FUNDAMENTAÇ ÃO TEÓRICA

    trução de sistemas de reconhecimento de gestos. Um dos mais utilizados é o Kinect, quefoi desenvolvido para a área de Jogos utilizando as tecnologias da empresa Prime Sense1,que por sua vez desenvolveu seu próprio sensor, o PrimeSense3D. Existem vários  Soft-ware Development Kits (SDKs)  que podem ser usados com o Kinect. Tais SDKs comoo   Microsoft Kinect SDK 2,  OpenNI 3 e  OpenKinect 4 fornecem  Application Programming Interfaces (APIs)  que permitem obter dados do sensor em tempo real.

    O sensor que será utilizado neste projeto é o RGB-D. Este sensor foi escolhido emfunção do baixo custo e do desempenho, sendo um dispositivo amplamente utilizadopela comunidade acadêmica que trabalha com Visão Computacional. O ob jetivo é uti-lizar a informação geométrica da cena para obter a trajetória do movimento do gestoe classificá-lo de acordo com suas caracteŕısticas. Para isso, é necessário desenvolver asprincipais etapas de um sistema de reconhecimento de gesto: detecção, rastreamento ereconhecimento.

    2.4.2 Detecção

    A detecção é a fase inicial de um sistema de reconhecimento de gesto, sendo responsávelpor detectar a localização das mãos e segmentar a região de interesse. Este processo dedetecção deve ser robusto a mudanças de iluminação e oclusões, pois é a partir da regiãosegmentada que as caracteŕısticas são extráıdas para rastrear o movimento das mãos ereconhecer o gesto realizado.

    A detecção pode ser realizada atrav́es de cor (XU et al., 2012), explorando as carac-teŕısticas de similaridade entre os  pixels   e a probabilidade de que o conjunto de  pixels 

    de uma região pertencem a uma mão. Esta abordagem não é robusta, pois depende doespaço de cor utilizado e de ambientes com poucas mudanças de iluminação, além dapossibilidade de tornar confusa a detecção de objetos que possuem a mesma distribuiçãode cor que o  background  da cena.

    Já as abordagens baseadas em forma (KIM et al., 2012b) tem como objetivo avaliara forma geométrica descrita pelo contorno da mão. Quando o contorno de uma mão édetectado corretamente, a forma se torna independente do ponto de visão, cor da mão eiluminação (ZABULIS; BALTZAKIS; ARGYROS, 2009). No entanto, a quantidade debordas detectadas incorretamente e as oclusões ocasionadas pelas formas 2D tornam estaabordagem ineficiente (HASAN; KAREEM, 2012).

    As abordagens baseadas em movimento (YUAN; SCLAROFF; ATHITSOS, 2005)consideram que apenas a mão está se deslocando na imagem, sendo assim pouco usadasna fase de detecção. Já as abordagens baseadas em valores de pixels  (BARKHODA; TAB;SHAHRYARI, 2009) avaliam a aparência e textura da imagem. Estas abordagens basea-das em valores de pixel  normalmente tem como base utilizar um conjunto de imagens deobjetos da mesma classe (por exemplo, da mão) para treinar um classificador através dascaracterı́sticas extraı́das dos valores dos  pixels  (FREUND; SCHAPIRE, 1997) e utilizar

    1http://www.primesense.com2http://www.microsoft.com/en-us/kinectforwindows/3http://www.openni.org/.4http://openkinect.org/.

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    35/64

    2.4 SISTEMAS DE RECONHECIMENTO DE GESTOS   19

    o modelo gerado pelo treinamento para detectar a presença de um objeto (por exemplo,a mão) em uma imagem.

    Existem ainda as abordagens que usam modelos 3D para detectar e segmentar a mão(SHARP et al., 2015)(KILIBOZ; GUDUKBAY, 2015)(SCHRODER et al., 2014)(OIKO-NOMIDIS; KYRIAZIS; ARGYROS, 2011)(STENGER et al., 2006). Estas abordagenspodem detectar a presença da mão independente do ponto de visão (ZABULIS; BALT-ZAKIS; ARGYROS, 2009). Os modelos 3D usados para detectar as mãos devem ter grausde liberdade suficientes para se adaptar às dimensões das mãos (ZABULIS; BALTZAKIS;ARGYROS, 2009).

    A detecção não se limita somente a estas abordagens, no entanto apenas algumasforam destacadas neste projeto. O artigo proposto por Zabulis, Baltzakis e Argyros (2009)faz uma análise mais detalhada de métodos para detecção e segmentação de regiões deinteresse.

    2.4.3 Rastreamento

    A fase de rastreamento é responsável por obter a trajetória do movimento realizado pelamão. Essa trajetória é capturada através da detecção de uma sequência de posiçõesda mão, dependendo então da eficiência do método de detecção. A figura 2.7 ilustra oprocesso de rastreamento de um gesto no espaço geométrico 3D, através da detecção deuma sequência de posições  pi  em instantes  ti.

    Figura 2.7: Gesto composto por uma sequência de 6 quadros. Cada quadro representa adetecção da posição  pi  em um dado momento  ti.(IBANEZ et al., 2014)

    Este tipo de rastreamento ilustrado acima normalmente é realizado usando um sensorde profundidade, que capta uma nuvem de pontos representando o ambiente em 3D.No entanto, é posśıvel rastrear o movimento da mão considerando apenas sequências deimagens 2D (YUAN; SCLAROFF; ATHITSOS, 2005), porém neste caso os gestos sãolimitados a uma representação espacial no plano 2D.

    As figuras 2.8a e 2.8b são exemplos de gestos que foram capturados através daadaptação do algoritmo (FALAHATI, 2013) que é disponibilizado com o OpenNI5. Oalgoritmo detecta a posição da mão do usuário através da realização de um gesto básico(oscilação da mão), e a partir dele rastreia o deslocamento da mão salvando as posiçõesem cada quadro.

    5http://www.openni.org/.

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    36/64

    20   FUNDAMENTAÇ ÃO TEÓRICA

    (a) Bem-Vindo (b) Cancelar

    Figura 2.8: Gestos da Lingua Brasileira de Sinais capturados utilizando o sensor Kinecte um código do OpenNI modificado.

    Assim, o rastreamento de um gesto da mão tem como dependência um método dedetecção que seja eficiente no sentido de lidar com oclusões, mudanças de iluminação e

    que obtenha a posição no espaço 3D.

    2.4.4 Reconhecimento

    O reconhecimento ou classificação é a fase final de um sistema de reconhecimento degesto.   É o processo de classificação do gesto de acordo com a posição, orientação e/outrajetória descrita pela mão, sendo assim a fase de interpretação semântica do gesto,que pode ser estático ou dinâmico. Nesta fase, é necessário definir uma estratégia queidentifique quando um gesto começa e quando ele termina.

    Nos sistemas de reconhecimento de gestos, normalmente se utiliza comandos que infor-

    mam ao sistema quando um gesto será realizado ou finalizado (EICKELER; KOSMALA;RIGOLL, 1998). Este processo não é muito agradável e acaba gerando uma dependênciafuncional, pois necessita de comandos do usuário para inicializar ou finalizar o reconhe-cimento. Algumas hipóteses podem ser consideradas na resolução deste problema, comopor exemplo definir um intervalo de tempo entre o ińıcio e fim de dois gestos, ou atémesmo calcular a soma das distâncias entre as n  posições anteriores e verificar se a médiadas distâncias é menor ou igual a um limiar. Caso seja menor ou igual, então a mão podeser dita parada, caso contrário, em movimento.

    Uma vez que as próximas seções e no próximo capı́tulo mostram métodos para ras-treamento e reconhecimento de gestos da mão, esta seção limitou-se somente a descrevero conceito das fases de um sistema de reconhecimento de gesto.

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    37/64

    2.4 SISTEMAS DE RECONHECIMENTO DE GESTOS   21

    2.4.5 Técnicas Baseadas em Contato

    Existem diversas abordagens que utilizam técnicas baseadas em contato (KIM et al.,

    2012a). Estas técnicas utilizam dispositivos para captar as informações do ambienteatrav́es do contato com algum dispositivo (por exemplo, luva). A figura 2.9 mostra umexemplo de um dispositivo utilizado para reconhecer gestos utilizando técnica baseada emcontato, onde o usuário utiliza uma luva com sensores para captar a posição e orientaçãoda mão (LIN; VILLALBA, 2014).

    Figura 2.9: Luva utilizada para captar a posição e orientação da mão. (LIN; VILLALBA,2014)

    Uma das principais vantagens das técnicas baseadas em contato é que captam a in-formação do ambiente sem interferência externa, diminuindo a inclusão de rúıdo nosdados de entrada (KIM et al., 2012a). O problema da inseŗcão de rúıdo do ambientenas informações que são usadas no desenvolvimento dos sistemas de reconhecimento degestos podem aumentar a quantidade de falsos positivos (classificação incorreta de umgesto) em virtude da inconsistência dos dados (RAUTARAY; AGRAWAL, 2012). Alémdisso, o rúıdo também aumenta a complexidade de desenvolvimento, uma vez que tornanecessária a adição de etapas de pré-processamento mais complexas e sofisticadas paramelhorar a qualidade dos dados de entrada (RAUTARAY; AGRAWAL, 2012).

    Estas abordagens baseadas em contato não são consideradas adequadas aos sistemasde reconhecimento de gestos intuitivos, uma vez que necessitam que os usuários tenham

    uma certa familiaridade com a sua utilização (HASAN; KAREEM, 2012). Além disso, ousuário pode ficar dependente de dispositivos, como bateria ou fios, o que é inadequadoa estes sistemas.

    2.4.6 Técnicas Baseadas em Visão

    O reconhecimento de gesto usando técnicas de visão computacional utilizam câmeraspara obter a informação visual da cena. Este processo de obtenção da informação visualnormalmente se inicia com a etapa de calibração.

    A calibração consiste em calcular os parâmetros intŕınsecos e extrı́nsecos da câmera.Os intŕınsecos relacionam coordenadas de pontos da imagem com coordenadas do sistema

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    38/64

    22   FUNDAMENTAÇ ÃO TEÓRICA

    de referência da câmera através de transformações em 2D. Já os parâmetros extŕınsecoscorrespondem ao posicionamento e orientação da câmera no espaço 3D, que é realizadoatravés de uma transformação de rotação e uma de translação, ambas em 3D. Estesparâmetros intŕınsecos e extŕınsecos permitem, por exemplo, obter medidas de posição etamanho de objetos no ambiente ou determinar o que um  pixel   corresponde em algumamedida, na cena, com base em alguma medida de escala.

    Quando mais de uma câmera é usada para captar as informações do ambiente (SRIDHAR;OULASVIRTA; THEOBALT, 2013), uma das principais dificuldades é a sincronizaçãodas informações. Esta etapa de calibração normalmente é complexa, e quando implemen-tada de forma incorreta pode tornar o sistema de reconhecimento de gesto impreciso.

    Após a calibração da câmera, a próxima etapa é identificar e segmentar a Regiãode Interesse (Region of Interest - ROI   do inglês) para obter a localização do objeto naimagem. Em seguida, as caracteŕısticas da ROI são extráıdas. A extração consiste em

    obter um conjunto de informações que melhor representam o objeto de interesse (porexemplo, o gesto). Estas caracteŕısticas são usadas para treinar um classificador (no casode abordagens supervisionadas) ou usadas para classificar os objetos presentes na imagemcom base em um agrupamento por similaridade.

    Existem dois tipos de abordagens que são usadas para classificação: supervisionadae não-supervisionada. A abordagem supervisionada (aprendizagem de máquina) utilizaum   dataset   contendo um conjunto de imagens ou v́ıdeos do objeto de interesse, maiscomumente chamado de conjunto positivo, e outro conjunto de objetos que não pertencema classe de objetos de interesse, que é chamado de conjunto negativo. Estes conjuntossão usados para treinar o classificador usando as caracteŕısticas extráıdas (HAND, 2009).

    O conjunto positivo representa o objeto que queremos detectar. Por exemplo, sequisermos identificar pessoas em uma cena, então o nosso conjunto positivo deverá tersomente imagens de pessoas. Já o conjunto negativo deverá ter qualquer outro tipo deobjeto na cena, exceto pessoas. Este conjunto negativo tem como objetivo classificarverdadeiros negativos em uma imagem, ou seja, que um dado objeto de fato não é umapessoa.

    Por exemplo, a abordagem proposta por Schroder et al. (2012) utiliza uma luva co-lorida para distinguir as regiões da mão afim de detectar a orientação comparando umapose em um dado momento com um conjunto de poses armazenadas previamente. Estetipo de abordagem supervisionada, que utiliza luva, é diferente da baseada em contato,

    pois aqui, informações de cor são usadas para obter a posição e orientação, enquantoa baseada em contato obtém a posição e orientação diretamente através dos sensoresembutidos na própria luva.

    Ao contrário das abordagens supervisionadas, as não-supervisionadas não necessitamde treinamento. Este tipo de abordagem tem como base o agrupamento por similaridadecom base nas caracteŕısticas dos objetos. Normalmente esta abordagem é utilizada parareconhecer as classes presentes em uma imagem utilizando algum algoritmo de agrupa-mento, como por exemplo o K-means (MACQUEEN, 1967).

    Assim, as abordagens baseadas em visão são mais adequadas pois permitem capturaros movimentos em um ambiente real sem a necessidade de utilização de dispositivos decontato. No entanto, é necessário escolher as técnicas e métodos que resolvam o problema

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    39/64

    2.5 ALGORITMOS E MÉTODOS PARA SISTEMAS DE RECONHECIMENTO   23

    de detecção e classificação de forma eficiente. A próxima seção mostra alguns algoritmose métodos que podem ser usados para detecção e classificação.

    2.5 ALGORITMOS E MÉTODOS PARA SISTEMAS DE RECONHECIMENTO

    Um dos principais requisitos usados para reconhecer gestos é a trajetória descrita peloacompanhamento da mão. Este acompanhamento fornece uma representação espacialgeométrica 3D do gesto. Assim, é necessário escolher um ou mais métodos para reconhecero gesto de acordo com as caracteŕısticas da trajetória.

    Os métodos baseados em template  são usados para encontrar pequenas partes de umaimagem que correspondem a uma outra (CAMGöZ; KINDIROGLU; AKARUN, 2015).Esta abordagem pode ser utilizada quando se tem muita informação (por exemplo, altaresolução da imagem). Ela reduz o espaço de busca e lida com variação de iluminação,

    uma vez que foca na busca das melhores regiões para realizar as operações de corres-pondência.

    Um dos métodos mais utilizados para reconhecimento de gestos é o  Hidden Markov Model - (HMM)   (RABINER, 1990). HMM é um modelo estat́ıstico de Markov paramodelagem de processos com estados não observáveis (escondidos). O termo escondidose refere a sequência de estados E n  =  {e1, e2, e3,...,en−1} através do qual o modelo passa.A escolha do próximo estado de transição E n+1 se baseia na distribuição de probabilidadedos posśıveis estados. Este método é muito utilizado em aplicações de reconhecimento depadrões temporal, principalmente reconhecimento de gestos, onde a trajetória é modeladacomo uma sequência de estados (GHARASUIE; SEYEDARABI, 2013).

    Ao contrário do HMM, o   Finite State Machine (FSM)   (BRAND; ZAFIROPULO,1983) é um modelo representado por um conjunto finito de estados. Estes estados sãoconhecidos e a transição entre eles é realizada de acordo com condições ou eventos quesão disparados por algum processo. Essencialmente, o FSM representa uma máquinade estados e pode ser facilmente implementada, possuindo predição eficiente com baixasobrecarga do processador. Este método pode ser aplicado para representar o gesto comouma sequência de estados (posições da mão), onde a transição dos estados seria realizadaatravés da movimentação da mão (evento).

    O algoritmo Dynamic Time Warping (DTW) (KEOGH; RATANAMAHATANA, 2005)é utilizado para alinhar e comparar duas sequências que variam de acordo com o tempo,

    sendo bastante utilizado para reconhecer gestos. Uma série temporal é uma sequênciaordenada de valores medidos em intervalos de espaços iguais (posições da mão). Estealgoritmo possui a vantagem de ser invariante sobre o número de amostragens. Porexemplo, um gesto realizado por uma pessoa pode ser comparado a um outro gesto quefoi realizado mais rapidamente por outra pessoa. Neste caso, a sequência a ser alinhada ecomparada seria as posições da mão detectadas durante o intervalo de tempo. Qualquerdado que possa ser transformado em uma sequência linear pode ser analisado pelo DTW(BODIROZA; DOISY; HAFNER, 2013).

    Um outro algoritmo de alinhamento e comparação de gestos é o  Iterative Closest Point (ICP) (RUSINKIEWICZ; LEVOY, 2001a). Ele tem como objetivo principal minimizar adiferença entre duas nuvens de pontos, fixando uma nuvem enquanto a outra é deslocada

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    40/64

    24   FUNDAMENTAÇ ÃO TEÓRICA

    até minimizar a diferença entra as duas. As transformações (rotação e translação) sãoaplicadas a cada ponto da nuvem flutuante através de uma função que minimiza o erroquadrático. Normalmente este método é utilizado para reconstruir superf́ıcies 2D ou 3D apartir de diferentes escaneamentos (RUSINKIEWICZ; LEVOY, 2001b). Uma das princi-pais desvantagens deste método é a convergência para mı́nimos locais (RUSINKIEWICZ;LEVOY, 2001b). No entanto, existem adaptações do algoritmo que lidam com oclusões,valores extremos e aparências (QIAN et al., 2014).

    O Support Vector Machine (SVM)  (BURGES, 1998b) prediz para cada entrada dada,qual classe ela pertence. Formalmente, o SVM é um classificador discriminativo quesepara a entrada em um hiperplano, ilustrado na figura 2.10. Este algoritmo é robusto noprocesso de treinamento de exemplos e possui uma alta taxa na predi ção. No entanto, oSVM necessita de muito tempo para treinamento e a função de aprendizagem é complexa,pois o desempenho depende dentre outros fatores, da aplicação dos pesos pela função de

    aprendizagem (BURGES, 1998b).

    Figura 2.10: Caso linear, onde um conjunto de amostras é separada no lado esquerdo edireito, e o fundo representa a linha de separação. (BURGES, 1998a)

    Uma rede neural tı́pica é uma Rede de Retropropagação que ”aprende”ajustando asinterconexões entre as camadas (HASAN; ABDUL-KAREEM, 2014). O resultado darede é iterativamente comparado para ajustar os pesos com o objetivo de aumentar aquantidade de respostas corretas. Uma  Probabilistic Neural Network (PNN)   (SPECHT,1990) é em essência uma rede neural formada por uma camada de entrada, um conjuntode camadas escondidas, e uma camada de saı́da. A camada de entrada recebe valores com

    pesos aplicados e repassam para a camada escondida, que é composta de um conjuntode neurônios. As camadas escondidas calculam um vetor de probabilidades a partir defunções que propagam o resultado de um neurônio para outro (mais conhecidas por funçãode ativação). A entrada é avaliada na última camada da rede a partir da classificaçãopositiva ou negativa, baseando-se nas probabilidades máximas calculadas nas camadasescondidas. Normalmente se utiliza uma camada escondida, uma vez que quantidadesmaiores não melhoram a taxa de acerto (SPECHT, 1990).

    Filtros de Part́ıculas (MORAL, 1996) são usados para estimar os estados internosem sistemas dinâmicos, quando observações parciais são feitas. O conjunto de part́ıculas(também chamadas de amostras) são usadas para representar a distribuição posteriorde processos estocásticos dados alguns rúıdos e/ou observações parciais. Cada partı́cula

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    41/64

    2.6 CONCLUSÃO   25

    possui um peso de vizinhança que representa a probabilidade de que a part́ıcula sejareamostrada pela função de probabilidade de densidade. Uma de suas caracteŕısticaspositivas é a não limitação a natureza unimodal de densidades Gaussianas (ARULAM-PALAM et al., 2002). No entanto, estes métodos não são recomendados quando o sistemaé muito complexo, pois neste caso o número de part́ıculas para representar o modelo podeser muito alto, diminuindo o desempenho da aplicação (ARULAMPALAM et al., 2002).

    O Principal Component Analyses (PCA) (JOLLIFFE, 2002) é um algoritmo estat́ısticoque usa transformações ortogonais para converter um conjunto de observações de posśıveisvariáveis correlacionadas em um conjunto de valores de variáveis linearmente não rela-cionadas, chamados de Componentes Principais. O número de Componentes é menorou igual ao número de variáveis original, ou seja, o método é aplicado para reduzir oespaço dimensional. Esta transformação é definida de tal maneira que o primeiro com-ponente principal tem a maior variância posśıvel, (isto é, possui a maior variabilidade

    posśıvel nos dados), e cada componente posterior tem a maior variância posśıvel sobre arestrição de que é ortogonal para o componente imediatamente anterior. Os componentessão ortogonais devido serem vetores caracteŕısticos da matriz de covariância, na qual ésimétrica.

    O CamShift (SALHI; JAMMAOUSSI, 2012) é uma adaptação do algoritmo MeanShift(KUNNATH; LEE, 2015) . Este tem como objetivo encontrar a região que melhor repre-senta a função objetivo, como por exemplo encontrar a região que possui o maior númerode pontos em um espaço com um conjunto de pontos amostrados. O algoritmo itera-tivamente faz uma análise das regiões próximas até encontrar a desejada. O algoritmoCamShift realiza a busca de forma adaptativa através de transformações geométricas da

    forma usada para encontrar a região de interesse. Apesar deste algoritmo ser fácil deimplementar e possuir baixo custo computacional, ele falha na mudan ça de escala da janela da pista com objetivos que se movem na direção ou para longe da câmera (SALHI;JAMMAOUSSI, 2012).

    Todos estes algoritmos e métodos apresentados são comumente utilizados na cons-trução de sistemas baseados em Visão Computacional. Alguns são usados com sensoresRGB e outros com sensores de profundidade, ou até mesmo uma combinação de ambos.Existem outros métodos que poderiam ser aplicados na construção de sistemas de re-conhecimento de gestos, no entanto foram descritos aqui somente os considerados maisusados, segundo o estudo realizado.

    2.6 CONCLUSÃO

    Neste caṕıtulo foram apresentados os principais conceitos envolvidos no projeto, taiscomo gestos, representação de gestos, sensores, sistemas de reconhecimento de gestos,curvas e alguns métodos usados em reconhecimento e comparação de objetos. Algunsassuntos foram abordados superficialmente neste capı́tulo. No entanto, espera-se realizarum estudo mais detalhado e não se limitar a definições superficiais.

    O principal objetivo do caṕıtulo foi fazer uma contextualização geral para melhor en-tendimento do projeto proposto. O próximo capı́tulo descreve uma revisão de abordagenspropostas para reconhecimento de gestos e sinais da mão, focando nos aspectos positivos

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    42/64

    26   FUNDAMENTAÇ ÃO TEÓRICA

    e negativos de cada abordagem. Estas são importantes para entender quais as vantagense desvantagens de cada método e como eles podem ser combinados para melhorar osresultados do reconhecimento dos gestos.

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    43/64

    Caṕıtulo

    3Este caṕıtulo tem como objetivo descrever abordagens para rastreamento e reconhecimento de gestos da 

    m˜ ao.

    TRABALHOS RELACIONADOS

    Existem muitas abordagens para reconhecimento de gesto e rastreamento da mão, tantoem 2D, quanto 3D. Enquanto as abordagens de rastreamento normalmente s ão baseadasem modelos 3D, o reconhecimento de gesto tem como base a representação do movimentodescrito pela mão no espaço 3D.

    Considerando a ampla diversidade de abordagens propostas, este caṕıtulo tem comoobjetivo mostrar alguns modelos propostos tanto para rastreamento, quanto para reco-nhecimento de gestos da mão. Na seção 3.1 são descritas algumas abordagens focando nosmétodos aplicados para rastrear a mão. Já na seção 3.2, um conjunto de artigos são apre-sentados com suas respectivas abordagens propostas para reconhecer gestos. Finalmente,na seção 3.3 são abordadas as considerações do capı́tulo.

    3.1 RASTREAMENTO DA MÃO

    O rastreamento da mão é uma etapa importante no reconhecimento de gestos, umavez que é nesta etapa que a mão é localizada na sequência de imagens e segmentada dobackground  para reconhecimento do gesto. Nesta etapa, é essencial escolher um algoritmoque seja robusto a variações de iluminação e que possa identificar a mão em ambientes

    complexos (que mudam o tempo todo e aumentam as chances de oclus ão).Em uma abordagem proposta por Shan et al. (2004), o rastreamento é realizado

    através da combinação de um Filtro de Part́ıculas e do algoritmo MeanShift com um mo-delo 3D colorido da mão. A combinação dos métodos tem como objetivo obter eficiênciareduzindo a quantidade de amostras usadas. O modelo é adaptado quadro-a-quadro paracontornar o problema da variação de iluminação do ambiente. As regiões movimentadasde um quadro são obtidas através da diferença dos  pixels , onde valores maiores que umlimiar são considerados  pixels  que foram deslocados. O método foi avaliado através daaplicação de um algoritmo de reconhecimento de gesto baseado em histograma. Apesarda abordagem ser eficiente em alguns casos, ela não lida muito bem com variações deiluminação, sendo assim ineficiente na maioria dos casos.

    27

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    44/64

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    45/64

    3.2 RECONHECIMENTO DE GESTOS   29

    esferas. O modelo é alinhado à mão utilizando o método   Iterated Closest Point (ICP)em conjunto com o método Particle Swarm Optimization (PSO). A abordagem ICP-PSO consegue lidar com a grande quantidade de mı́nimos locais que são gerados em função daamostragem esparsa da nuvem de pontos. A otimização  ICP-PSO   é um modelo h́ıbridoque explora a busca rápida de locais ótimos (ICP) e de parâmetros efetivos (PSO). A ideiafundamental é que cada part́ıcula tem um ICP  adicional antes do movimento aleatório daspartı́culas em cada geração PSO . Deste modo, cada part́ıcula se move mais rapidamente,minimizando o custo de forma mais eficaz como no  ICP .

    Além das abordagens citadas, existem outras que podem ser usadas para rastreamentoda mão e que são baseadas em sensores de profundidade (KESKIN et al., 2011)(SHOT-TON et al., 2013)(STENGER et al., 2006). Dentre estas, existem algumas que utilizamluvas coloridas e que são baseadas em padrões de cores obtidos através de câmeras RGB(WANG; POPOVIć, 2009)(SCHRODER et al., 2012). Assim, é fundamental desenvolver

    ou utilizar um modelo que seja invariante a iluminação e que possa ser executado emtempo real. A escolha deve levar em consideração diversos fatores como desempenho,invariância, robustez a oclusões, e até mesmo o desempenho do próprio sensor.

    3.2 RECONHECIMENTO DE GESTOS

    Muitas abordagens foram propostas para reconhecimento de gestos (MITRA; ACHARYA,2007)(SCHLöMER et al., 2008)(LEE; KIM, 1999)(MURAKAMI; TAGUCHI, 1991) (BA-RALDI et al., 2015)(KILIBOZ; GUDUKBAY, 2015)(DITTMAR; KRULL; HORTON,2015). Por exemplo, Miranda et al. (2012) propôs um método que usa o Kinect para ex-

    trair um fluxo baseado nas componentes do esqueleto (uma pose em um dado momento).As poses chaves são identificadas através de um classificador multi-classe derivado deuma Máquina de Vetores de Suporte (SVM). Uma árvore de decisão é constrúıda a partirdas poses chaves identificadas. Esta árvore é definida por uma sequência de estados nosnós, que por sua vez define uma regra de transição entre um estado e outro. O gesto éreconhecido encontrando a sequência de estados (poses chaves) que melhor representamo movimento realizado.

    Um outro método se baseia no princı́pio da cinemática inversa para estimar uma posecom base no movimento da cabeça e da mão (TRAN; MEMBER; TRIVEDI, 2012). Asposições são obtidas utilizando um conjunto de câmeras, onde cada uma delas capta

    o movimento individualmente e então um algoritmo é aplicado para sincronizar estasinformações com o objetivo de melhorar a estimação da pose. O gesto é reconhecidoutilizando um algoritmo que calcula a similaridade entre os ângulos das juntas de gestosque foram previamente obtidos. Seus experimentos mostraram boa taxa de classificação,acima de 90%, em média, em seis gestos realizados na validação da abordagem.

    O trabalho de Yao, Gool e Kohli (2014) propõe um método para reconhecer gestosdinâmicos baseados em um portfólio de classificadores. O problema que o artigo propõeresolver é a individualidade de realização do mesmo gesto por diversas pessoas, como ogesto de escrever, onde cada indiv́ıduo possui sua forma de escrita. Este artigo demonstraa complexidade do reconhecimento de gestos, uma vez que um único gesto pode serrealizado de  n   formas, além de depender do ponto de visão, do ambiente e dos aspectos

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    46/64

    30   TRABALHOS RELACIONADOS

    f́ısicos do usuário que realiza o gesto.

    A abordagem proposta por Shin, Tsap e Goldgof (2004) utiliza um método geométricobaseado na curva de Bézier para analisar a trajetória e classificar os gestos usando acurvatura da curva do movimento realizado. Foi utilizada uma representação quadráticada curva de Bézier e o método de aproximação da curva de Piegl e Tiller (1997). O gestoé considerado inválido se a trajetória é menor do que 20cm, se é irregularmente obtido,ou se cont́em menos do que 6 pontos. Esta abordagem não é muito eficiente, uma vezque define um conjunto de restrições ao modelo proposto.

    Song et al. (2013) desenvolveu um sistema de reconhecimento de gesto que utilizaGaussian Mixture Model(GMM)   e  Hidden Markov Model(HMM)   para modelar o gestode todo o corpo. O modelo proposto utiliza um Kinect para obter a posição 3D das juntas do corpo (esqueleto). O sistema é dividido em duas fases: aprendizagem do gestoe reconhecimento do gesto. Na primeira fase, aprendizagem de gesto, caracteŕısticas são

    extraı́das da informação do esqueleto e uma Análise de Componente Principal (PCA)é aplicada para reduzir o espaço dimensional. Após a redução, o modelo GMHMM éutilizado no treinamento para obter os parâmetros ótimos para reconhecer os gestos. Aexperimentação do modelo demonstrou resultados positivos no reconhecimento de gestos,uma taxa aproximada de 94.36% de acerto. No entanto, o modelo não consegue reconhecergestos realizados por diferentes pessoas em função das caracterı́sticas f́ısicas.

    Eickeler, Kosmala e Rigoll (1998) apresentam melhorias realizadas na abordagemproposta por Rigoll e Kosmala (1997) e Rigoll, Kosmala e Eickeler (1998). Nestas abor-dagens o reconhecimento de gesto é realizado usando caracteŕısticas globais, que sãoobtidas pela diferença entre as imagens através de um classificador estatı́stico. O método

    HMM   é usado para classificar o gesto usando os vetores de caracteŕısticas extráıdas naetapa anterior. As melhorias propostas por Eickeler, Kosmala e Rigoll (1998) incluemreconhecimento independente da posição, rejeição de gestos desconhecidos e cont́ınuoreconhecimento de gestos espontâneos. Segundo os autores, o sistema proposto é 6 ve-zes mais rápido, aĺem de ser independente do plano de fundo. O sistema consiste dopré-processamento, extração de caracteŕısticas e módulo de classificação. Para realizar oreconhecimento do gesto, os autores propuseram um novo método de extração de carac-teŕısticas que foi integrado a um sistema de reconhecimento de gesto baseado em  HMM .A utilização de   HMM   em vez de Rede Neural reduziu significativamente os erros dereconhecimento dos gestos.

    Biswas e Basu (2011) utilizam um sensor Kinect para extrair a informa ção geométricada cena. Inicialmente o usuário é isolado da cena utilizando o método proposto por Ridlere Calvard (1978) através da subtração da imagem de profundidade a partir do histograma.O método de equalização de histograma é utilizado para melhorar a qualidade da imagem.Após a detecção, a região de interesse é criada utilizando uma matriz de fundo. Emseguida o gesto é parametrizado usando a variação de profundidade e o conteúdo dainformação do movimento de cada célula da matriz. O sistema foi treinado utilizandoMáquinas de Vetores de Suporte (SVM).

    Bodiroza, Doisy e Hafner (2013) implementaram um sistema de reconhecimento degesto para interação natural com robôs móveis. O modelo é baseado em  Dynamic Time Warping (DTW)   e tem como dados de entrada informação geométrica obtida através

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    47/64

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    48/64

    32   TRABALHOS RELACIONADOS

    ficação do gesto, somente estas não garantem que o gesto seja corretamente classificado,uma vez que detalhes mais finos podem passar despercebidos. Como distâncias Euclidi-anas necessitam que as trajetórias a serem comparadas tenham o mesmo comprimento,a menor trajetória é reamostrada para igualar à outra. Uma das vantagens da utilizaçãode  DTW   é que duas trajetórias podem ser comparadas mesmo que seus comprimentossejam diferentes. Assim, o gesto é classificado através do calculo da similaridade do gestobaseado em um limiar.

    3.3 CONCLUSÃO

    Gestos similares podem ser realizados por diferentes pessoas em diferentes localizaçõese/ou orientações, dependendo da posição global da pessoa. A normalização das trajetóriascomparadas não melhora significativamente a taxa de sucesso, uma vez que elas produzem

    uma alta quantidade de falsos positivos. A distância Euclidiana é um método rápido emqualquer caso, mas ela não é robusta sobre rúıdo. O uso de uma função de curvaturaadaptativa para extrair os pontos chaves reduzem o rúıdo e melhorando a performancede todas as funções de distância, mais especialmente de distância Euclidiana e DTW , quesão mais senśıveis.

    Como demonstrado neste caṕıtulo, existem muitas abordagens para reconhecimentode gestos e rastreamento da mão. As abordagens de rastreamento normalmente se di-ferenciam em função do modelo (forma geométrica da mão) utilizado e do método paradeformar o modelo de acordo com os parâmetros calculados em cada quadro. Já as abor-dagens para reconhecimento de gestos se diferenciam no método aplicado para treina-mento e classificação, além da forma como o gesto é representado. Este capı́tulo mostrouapenas algumas abordagens propostas que tratam dos problemas de oclus ão, invariânciade posição e de aspectos f́ısicos, bem como do reconhecimento cont́ınuo de gestos. Maisdetalhes podem ser encontrados nas referências citadas.

    Os métodos HMM   e DTW   são amplamente utilizados em conjunto com FSM . Assim,o objetivo deste projeto é também utilizar estes métodos no processo de treinamento eclassificação dos gestos, fazendo uma análise comparativa do desempenho do   HMM   eDTW , além de outros usados na literatura para avaliar o reconhecimento com o descritorde movimento que será desenvolvido.

    O próximo caṕıtulo descreve a proposta metodológica do projeto, descrevendo emmais detalhes como o projeto será desenvolvido e quais tecnologias serão utilizadas.

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    49/64

    Caṕıtulo

    4Este caṕıtulo tem como objetivo descrever a metodologia que ser´ a seguida para desenvolver o projeto

    proposto.

    METODOLOGIA

    Este projeto foi dividido em etapas para garantir que a pesquisa e desenvolvimento sejamrealizados da melhor forma posśıvel. Assim, ele foi dividido em:

    •   Revisão bibliográfica da área de reconhecimento de gestos, abrangendo descritoresde curvas, representações geométricas, sensores RGB-D e classificação supervisio-nada.

    •   Levantamento de um  dataset  com gestos capturados com um sensor RGB-D.

    •   Análise e definição do descritor de curva para o gesto.

    •   Avaliação de métodos para detecção, rastreamento e reconhecimento de gestos.

    •   Análise e definição de tecnologias para reconhecimento de gestos.

    •   Desenvolvimento e validação dos módulos de detecção, rastreamento e reconheci-mento.

    •   Integração dos módulos e avaliação do projeto.

    •   Divulgação dos resultados obtidos.

    Inicialmente foi realizado um estudo teórico dos conteúdos abordados no caṕıtulo 2e 3, não limitando-se a eles, mais buscando novas abordagens e conceitos relacionadosao reconhecimento de gestos da mão usando sensores RGB-D. O levantamento serviude base para compreender as principais caracteŕısticas dos gestos, suas representaçõesgeométricas e como eles podem ser reconhecidos por sistemas computacionais, mesmoem ambientes desconhecidos, com pouca iluminação ou com o gesto sendo realizado porpessoas diferentes em localizações aleatórias.

    33

  • 8/19/2019 Reconhecimento de Gestos baseado em Registro de Movimento utilizando Técnicas de Visão Computacional e Mo…

    50/64

    34   METODOLOGIA

    A primeira etapa de estudo foi vencida neste primeiro semestre, resultando no apren-dizado que servirá de base para o desenvolvimento do projeto. Em seguida será necessárioselecionar um dataset  que contenha gestos da Lingua Brasileira de Sinais capturados comum sensor RGB-D. Caso não exista nenhuma base d