• Nenhum resultado encontrado

2.3 Reconhecimento de Gestos

2.3.1 Tecnologias para Rastreamento do Corpo Humano

2.3.1.3 O dispositivo Microsoft Kinect

Lançado pela Microsoft em novembro de 2010, o Kinect (ver Figura 2.5-A) foi origi- nalmente desenvolvido para funcionar no console de jogos digitais XBOX 360. Rapidamente chamou a atenção das pessoas e especialmente da comunidade de desenvolvedores de software que vislumbraram novas aplicações e cenários de uso.

Inicialmente, não havia uma interface de software para que ele fosse utilizado no compu- tador. Pouco tempo após o lançamento, desenvolvedores independentes conseguiram criar uma biblioteca de funções que permitia acessar os dados do sensor e através disso foi possível utilizar o Kinect para XBOX 360 em computadores. Posteriormente, a própria Microsoft decidiu lançar uma segunda versão do Kinect especialmente modificada para funcionar em computadores. Essa versão é denominada Microsoft Kinect for Windows. Junto com essa versão foi disponibilizado uma versão oficial e gratuita do Kit de Desenvolvimento de Software, com suporte da Microsoft aos desenvolvedores.

Figura 2.5: (A) Kinect for Windows v1, (B) Kinect for Windows v2

Em novembro de 2013, em conjunto com o lançamento do novo console XBOX ONE, foi apresentado a nova versão do Kinect, denominado Kinect for Windows v2 (ver Figura 2.5-B). Diferente do seu antecessor, a mesma versão do Kinect v2 foi lançado para as duas plataformas, consolee computador, sendo necessário apenas um adaptador para conexão ao computador.

O novo Kinect avançou consideravelmente em relação a precisão. Agora é possível identificar movimento das mãos, tal como girar o pulso e até a força empregada nos músculos ao, por exemplo, dar um soco. Além disso, considera os movimentos de até seis pessoas ao mesmo tempo. Independente da versão, a captura de corpos é a características mais relevante do Kinect. Isso é feito pelo conjunto de tecnologias presente no mesmo.

Especificações

Nesse tópico apresentamos detalhes do funcionamento dos principais componentes de hardwareque compõe o Kinect de modo geral e permitem o rastreamento de corpos. Apesar das especificidades de cada componente variarem de um aparelho para o outro, o princípio da arquitetura de hardware é o mesmo. Segue abaixo uma descrição geral dos componentes e detalhes dos sensores do Kinect.

Kinect for Windows (v1 e v2)

 Câmera de Vídeo. Permite capturar imagens coloridas com resolução de 640x480 na

 Matriz de microfones, acelerômetros e motor de inclinação. A versão 1 possui uma

matriz de quatro microfones para captura de sons. Esse arranjo de microfones permite reconhecer o local e direção do áudio captado, cancelamento de eco e diminuição de ruído ambiente. No novo Kinect há seis microfones embutidos com um melhor sistema de redução de ruído e identificação de voz. Um recurso presente apenas na versão 1 é o acelerômetro e motor de inclinação. Com o acelerômetro é possível determinar a orientação do Kinect. Com o motor de inclinação é possível inclinar o dispositivo, via código, para cima ou para baixo, analisando um ângulo diferente de captura. No novo Kinect isso é feito manualmente.

 Emissor e receptor de Infravermelho.Um emissor laser de luz infravermelho projeta

no ambiente uma saída constante de raios infravermelhos, invisível à visão humana. Esses raios são captados pela câmera específica para infravermelho que "lê"a distância dos feixes refletidos na imagem. Essa distância entre o sensor e os objetos da imagem é convertida em informações de profundidade. Uma comparação desta característica entre as versões está presente no quadro 2.1.

Tabela 2.1: Comparação de Especificações entre Kinects (KINECT, 2014) (MICROSOFT, 2010)

Especificação Kinect v1 Kinect v2

Distância Mínima 60 cm 50 cm

Distância Máxima 3,5 m 4,5 m

Corpos Rastreados Simultaneamente 2 6

Articulações rastreadas 20 26

Conexão ao Computador USB 2.0 USB 3.0

A distância mínima no Kinect v1 pode variar caso seja ativado, via software, o modo sentado. Com esse modo o dispositivo aceita uma distância mínima de 40 cm, mas, identifica apenas membros superiores do usuário. No novo Kinect esse modo é auto-detectável, sendo uma distância mínima única de 50 cm.

Apesar dos avanços, na captura de profundidade uma limitação ainda presente nos dispositivos baseados na tecnologia de infravermelho é a iluminação natural. Em ambiente interno, a captura é prejudicada caso haja incidência de luz solar através de janelas ou espaços abertos. Em ambiente externo, sob forte iluminação solar, a luz infravermelha emitida pelo sol se sobrepõe a luz infravermelho projetada pelo Kinect, inviabilizando o seu registro.

No entanto, o Kinect foi eleito para este trabalho, por ser, de modo geral, o dispositivo de profundidade por rastreamento de corpo livre mais comum em uso, devido em parte a plataforma de jogos XBOX e também por ter sido a primeira câmera de profundidade vendida diretamente ao público em geral. Isso torna-o ideal para estudos, bem como para a implementação de novas aplicações inerentes ao paradigma de Interação Natural.

No desenvolvimento de tais aplicações ele tem sido usado em diversos cenários do mundo real, tais como: Jogos (HAN et al., 2013), Acessibilidade (CHANG et al., 2012),

Reabilitação (TSENG et al., 2014) , Esporte e Treinamento (GAUTHIER; CRETU, 2014). A ampla diversidade de temas mostra claramente o impacto potencial do Kinect no campo de desenvolvimento de software.

No que diz respeito ao desenvolvimento de software, existem ferramentas específicas para o Kinect que fornecem facilidades para captura de movimento humano em três dimensões, identificação de rostos humanos e reconhecimento da voz. No entanto, mesmo com a variedade de ferramentas o desenvolvimento não tem sido trivial (HAN et al., 2013).

Um dos desafios ocorre com o reconhecimento dos gestos. É fato que o Kinect pode capturar o movimento humano, contudo, conforme discutido na seção 2.3, é preciso especificar uma semântica para os dados capturados. Nosso trabalho se baseia na captura de movimento humano realizada pelo Kinect para propor uma ferramenta de software que tenha por objetivo facilitar a especificação e ao mesmo tempo o reconhecimento dos gestos humano, o que acelera o desenvolvimento de novas aplicações. Na próxima seção, discutimos as abordagens e ferramentas de software para realizar reconhecimento de gestos usando o Kinect.