Grupo 11

  • Guilherme Oliveira
    • Curso: Ciência da Computação
    • e-mail: guidcc@dcc.ufmg.br
  • Iuri Bueno
    • Curso: Ciência da Computação
    • e-mail: bueno@dcc.ufmg.br
  • Samuel Macedo
    • Curso: Ciência da Computação
    • e-mail: slmacedo@dcc.ufmg.br

Tema

Reconhecimento de Gestos Humanos

Introdução

O trabalho será desenvolvido abordando-se o uma parte do problema de reconhecimento de gestos humanos. Mais especificamente, trabalharemos com a detecção da mão humana e o reconhecimento da quantidade de dedos por essa.

Metodologia

O processo adotado para contagem de dedos a partir da imagem de uma mão humana requer três passos: segmentação da mão, transformação dos pixels para a coordenada polar e contagem dos dedos.

  • Segmentação

Esta etapa do processo parte de uma imagem obtida através de uma câmera em ambientes não controlados com background variado. Uma das técnicas mais utilizadas é a segmentação da mão pela cor de pele, que funciona escolhendo-se um espaço de cor e um intervalo de valores que melhor representa os tons da pele naquele espaço. Nos experimentos realizados, percebeu-se que o espaço de cor que apresentou os melhores resultados foi o YCbCr. Esse espaço de cor é muito usado em sistemas de video e fotografia digitais.

A componente Y corresponde à luminosidade da imagem e as componentes Cb e Cr correspondem à cromaticidade do azul e do vermelho respectivamente. O problema da segmentação pelo espaço de cor é que a luminosidade da imagem pode alterar os limiares dos pixels correspondentes aos tons da pele.

Uma faixa de valores que apresentou resultados satisfatórios foi:

(85 < = Cb < = 135) && (135 < = Cr < = 180) && Y >= 80

Ao aplicar o algoritmo de segmentação utilizando-se os limiares definidos anteriormente, foi obtido como resultado uma nova imagem segmentada. Essa imagem, além do objeto de foco que era a mão do usuário, continuou a mostrar objetos indesejados, como demonstrado na figura a seguir:

Imagem originalSegmentação Inicial

Para remover os objetos indesejados da imagem, foram utilizados alguns operadores morfológicos. Esses operadores revomem da imagem as partes que não correspodem ao objeto principal. Com a imagem da mão totalmente segmentada, o próximo passo desta etapa é a detecção de bordas. Para se realizar a deteção utilizou-se o operador de Sobel.

Aplicação de operadores morfologicos Detecção de bordas
  • Transformação para coordenadas polares

A partir da imagem segmentada contendo apenas as bordas da mão, neste passo transforma-se as coordenadas dos pixels para o espaço polar. Primeiramente dado a imagem binarizada com as bordas da mão, se define o centroide (x,y) que corresponde ao centro de massa do contorno. Esse centroide é ajustado para (x,cy), sendo c = 1.2 escolhido esperimentalmente para mover o centroide para próximo ao centro da palma da mão. Então se define uma região de interesse contendo somente os pixels da borda que estão acima do centroide.

Coordenadas Polares Gráfico resultante da transformação de coordenadas

A transfomação para coordenadas polares acontece através da definição do centroide como a origem do espaço de coordenadas. E assim, para cada ponto da borda da mão na imagem, calcula-se um ângulo alpha e uma distância d correspondentes à origem.

  • Contagem de dedos

Para a contagem dos dedos é definido inicialmente um limiar como sendo uma fração da maior distância que um pixel atingiu na região de interesse determinada. Então percorre-se todos os pontos resultantes da transformação e compara-se suas respectivas distâncias com o limiar, realizando a contagem dos dedos. Mais especificamente, sempre que há um valor que supere o limiar e outro que fique abaixo desse, temos um possível dedo.

Limiar para contagem dos dedos

Porém, podem acontecer casos em que fatores externos como ruído e/ou iluminação atrapalhem a segmentação e, consequentemente dificultem a contagem de dedos. Isso faz com que regiões da imagem possam ser erroneamente detectadas como dedos. Portanto, ao invés de se comparar o limiar com apenas a distância de um ponto, no intuito de detectar se essa está acima ou abaixo do limiar, comparou-se com um conjunto de distâncias. Dessa forma, toda vez que um conjunto de distâncias superar o limiar e o próximo ficar abaixo desse, tem-se um dedo.

Resultados e Discussão

Foram realizados vários testes para a comprovação do funcionamento do sistema de contagem de dedos. Nesses testes se utilizou um conjunto de diferentes imagens, em que se variou vários parametros como: iluminação, fundo da imagem, tamanho da mão e forma de se mostrar os dedos.

Os resultados mostraram que o algoritmo implementado apresentou problemas durante a segmentação da mão ao se variar a iluminação e o fundo da imagem. Isso se deve ao fato dos parametros para a segmentação utilizando cor não estarem sendo calibrados automaticamente e sim utilizando valores estáticos. Com isso, em diferentes ambientes os resultados encotrados não são os mesmos.

Outro detalhe dos testes realizados foi que o algoritmo implementado apresentou bons resultados na parte de contagem de dedos, mesmo com variações das maneiras como esses dedos foram mostrados. Assim se comprovou que a tecnica de transformação para coordenadas polares é viável para a solução desse tipo de problema.

Conclusão

O trabalho realizado atingiu os objetivos propostos, sendo que ao final se conseguiu uma boa tecnica para a contagem de dedos. Também pode-se concluir que para implementar um sistema desse tipo, é necessário um bom algoritmo para segmentar a imagem, sendo que ele deve ser adaptativo para diferentes tipos de ambientes e iluminação. O algoritmo implementado para a contagem dos dedos a partir da imagem já segmentada, se mostrou eficiente e viavel para essa situação.

Uma próxima etapa desse trabalho seria a implementação de um algoritmo adaptativo para realizar a segmentação da mão. Também seria interessante a implementação de um sistema que capturasse várias imagens a partir de um vídeo, não somente uma única figuras, e realizasse algum tipo de interação com o usuário.

Revisão Bibliográfica

  • A Component-based Architecture for Vision-based Gesture Recognition
    • Autores: Farhad Dadgostar, Abdolhossein Sarrafzadeh resumo
  • Recovering Human Body Configurations: Combining Segmentation and Recognition
    • Autores: Greg Mori, Xiaofeng Ren, Alexei A. Efros and Jitendra Malik resumo
  • Coputer Vision-Based Gesture Recognition For An Augmented Reality Interface
    • Autores: Moritz Störring, Thomas B. Moeslund, Yong Liu, and Erik Granum resumo
  • Matching Shapes
    • Serge Belongie, Jitendra Malik and Jan Puzicha resumo
  • Shape contexts enable efficient retrieval of similar shapes
    • Autores: Greg Mori, Serge Belongie and Jitendra Malik resumo
  • Image Retrieval and Classification Using Local Distance Functions
    • Autores: Andrea Frome and Yoram Singer resumo

Artigo Final

cursos/visao/2008-1/grupo11/index.txt · Última modificação: 2008/06/17 20:29 (edição externa)