====== Introdução ======
A pesquisa em interfaces alternativas para controle, vêem crescendo recentemente. Julga-se que será, em breve, um mercado multi-milionário.
Este trabalho implementa uma interface humano computador
baseada em reconhecimento de gestos. A
interface visa controlar a passagem de transparências durante
apresentações. Geralmente utiliza-se um controle
remoto, com botões com funções próxima/anterior. A gramática
deste trabalho é constituida de dois gestos simples
de mesma função dos botões. O reconhecimento é
dado de maneira contínua, em tempo real e cada gesto
é identificado através de um modelo escondido de Markov.
====== Objetivo ======
Implementar uma interface humano computador para controle de um programa de slides, utilizando Visão Computacional e Modelos Escondidos de Markov (//Hidden Markov Models//).
====== Revisão Bibliográfica ======
Favor verificar o artigo na parte [[#Documentos|Documentos]], seções Introdução e Trabalhos Relacionados.
====== Metodologia ======
- Utilizar segmentação por cores, no padrão HSV.
- Identificar o centróide do objeto de interesse.
- Identificar a direção do movimento entre frames espaçados por um Delta t .
- Discretizar o movimento.
* Treinar a HMM; ou
* Identificar o movimento a partir de uma HMM treinada.
Estes passos podem ser divididos em 3 etapas:
- Pré-processamento
- Extração de features
- Classificação estatística.
{{:cursos:visao:2008-1:grupo14:esquema.jpg?600x800}}
===== Pré-processamento =====
Primeiro passa-se um filtro gaussiano de tamanho 5, obtendo uma imagem semelhante a imagem abaixo:
{{:cursos:visao:2008-1:grupo14:Luva.jpg}}
Em seguida, a partir de um histograma com 16 compatimentos, que foi calculado utilizando uma área da imagem origianal, calcula-se com o algoritmo BackProject a distribuição probabilística do histograma na imagem acima, fornecendo a imagem a seguir.
{{:cursos:visao:2008-1:grupo14:back.jpg}}
===== Extração de features =====
A imagem resultante é segmentada em blobs, 8-conectados. Ao maior blob é aplicado o algoritmo CamShift, do qual se obtem o centróide.
{{:cursos:visao:2008-1:grupo14:Ident.jpg}}
Com os centróides anterior e atual discretiza-se o ângulo entre eles; a partir do círculo a seguir.
{{:cursos:visao:2008-1:grupo14:circulo.jpg}}
===== Classificação estatística =====
Parte que utiliza cadeias escondidas de markov. Deve-se treiná-las com um conjunto de observações, e a partir das observações que vão acontecendo, verificar se chegamos ao estado final e com qual probabilidade. Cada gesto é representado por uma cadeia escondida de Markov. Este fato acaba por comprometer o desempenho em tempo real desta solução, dependendo do número de gestos a serem verificados a partir das observações. Um modelo de HMM é dado a seguir.
{{:cursos:visao:2008-1:grupo14:HiddenMarkovModel.jpg?400}}
O padrão de Modelo utilizado foi o esquerda para direita sem omissões.
Com o buffer sendo alimentado pela saída da discretização do ângulo entre os centróides, basta verificar qual modelo se ajusta melhor as observações do buffer (usando Virtebi). O treinamento dos modelos utiliza 10 vídeos de cada movimento, e utiliza o algoritmo de BaumWelch, com probabilidades iniciais de emissão e transição uniformemente distribuídas.//
[[bernardocv@gmail.com|Bernardo Vieira]] 2008/06/22 00:53//
====== Documentos ======
* Artigo: {{:cursos:visao:2008-1:grupo14:bcvieira_vremote.pdf|bcvieira_vremote.pdf}}
* Apresentação: {{:cursos:visao:2008-1:grupo14:apresentacao.pdf|apresentacao.pdf}}
* Implementação: [[http://www.dcc.ufmg.br/~bcvieira/visao/VMouse.zip|VMouse]]
====== Referências ======
@inproceedings{ boros96towards,
author = "M. Boros and W. Eckert and F. Gallwitz and G. G{\"o}rz and G. Hanrieder and H. Niemann",
title = "Towards Understanding Spontaneous Speech: Word Accuracy vs. Concept Accuracy",
booktitle = "Proc. {ICSLP} '96",
volume = "2",
address = "Philadelphia, PA",
pages = "1009--1012",
year = "1996",
url = "citeseer.ist.psu.edu/article/boros96toward.html" }
@inproceedings{728577,
author = {Gerhard Rigoll and Andreas Kosmala and Stefan Eickeler},
title = {High Performance Real-Time Gesture Recognition Using Hidden Markov Models},
booktitle = {Proceedings of the International Gesture Workshop on Gesture and Sign Language in Human-Computer Interaction},
year = {1998},
isbn = {3-540-64424-5},
pages = {69--80},
publisher = {Springer-Verlag},
address = {London, UK},
}
@article{10.1109/AFGR.1996.557243,
author = {C. Wren and A. Azarbayejani and T. Darrell and A. Pentland},
title = {Pfinder: real-time tracking of the human body},
journal = {fg},
volume = {00},
year = {1996},
isbn = {0-8186-7713-9},
pages = {51},
doi = {http://doi.ieeecomputersociety.org/10.1109/AFGR.1996.557243},
publisher = {IEEE Computer Society},
address = {Los Alamitos, CA, USA},
}
@article{10.1109/34.598226,
author = {Vladimir I. Pavlovic and Rajeev Sharma and Thomas S. Huang},
title = {Visual Interpretation of Hand Gestures for Human-Computer Interaction: A Review},
journal = {IEEE Transactions on Pattern Analysis and Machine Intelligence},
volume = {19},
number = {7},
year = {1997},
issn = {0162-8828},
pages = {677-695},
doi = {http://doi.ieeecomputersociety.org/10.1109/34.598226},
publisher = {IEEE Computer Society},
address = {Los Alamitos, CA, USA},
}@article{10.1109/79.924889,
author = {Ying Wu and T.S. Huang},
title = {Hand modeling, analysis and recognition},
journal = {IEEE Signal Processing Magazine},
volume = {18},
number = {3},
year = {2001},
pages = {51 - 60},
doi = {http://doi.ieeecomputersociety.org/10.1109/79.924889},
publisher = {IEEE Computer Society},
address = {Los Alamitos, CA, USA},
}
@misc{ becker96staying,
author = "D. Becker and A. Pentland",
title = "Staying Alive: A virtual reality visualization tool for cancer patients",
text = "David A. Becker and Alex Pentland. Staying Alive: A virtual reality visualization
tool for cancer patients. In Proceedings of the AAAI'96 Workshop on Entertainment
and Alife/AI, 1996.",
year = "1996",
url = "citeseer.ist.psu.edu/becker96staying.html"
}
@MastersThesis{tesem_raoni,
author = {Raoni Ma\'ira Resende},
title = {{Desenvolvimento de uma interface Humano-Rob\^o utilizando vis\~ao computacional e Sistemas a Eventos Discretos}},
school = {Universidade Federal de Minas Gerais},
address = {Belo Horizonte, MG},
year = {2005},
month = {Agosto},
}
@misc{ hmm_impl,
author = "Dekang Lin",
title = "A C++ Implementation of Hidden Markov Model",
text = "Pacote de HMMs em C++ com licença livre",
year = "2003",
url = "http://www.cs.ualberta.ca/~lindek/hmm.htm"
}
@misc{ my_impl,
author = "Bernardo Cunha Vieira",
title = "VRemote",
text = "Identificação Gestual Utilizando Modelos Escondidos de Markov",
year = "2008",
url = "http://homepages.dcc.ufmg.br/~bcvieira/visao/"
}
@article{ isard98condensation,
author = "Michael Isard and Andrew Blake",
title = "Condensation -- conditional density propagation for visual tracking",
journal = "International Journal of Computer Vision",
volume = "29",
number = "1",
pages = "5-28",
year = "1998",
url = "citeseer.ist.psu.edu/isard98condensation.html"
}
@inproceedings{ black-eccv98,
AUTHOR = {M.\/ J.\/ Black and A.\/ D.\/ Jepson},
TITLE = {A probabilistic framework for matching temporal trajectories:
{Condensation}-based recognition of gestures and expressions},
BOOKTITLE = {European Conf.\/ on Computer Vision, ECCV-98},
EDITOR = {H.\/ Burkhardt and B.\/ Neumann},
SERIES = {LNCS-Series},
VOLUME = {1406},
PUBLISHER = {Springer-Verlag},
ADDRESS = {Freiburg, Germany},
PAGES = {909--924},
YEAR = {1998},
url = {citeseer.ist.psu.edu/black98probabilistic.html} }
@misc{ trab_cond,
author = "Alexander Houston Gruenstein",
title = "Using a Particle Filter for Gesture Recognition",
text = "Vision Discipline - Final project",
year = "2002",
url = "http://www.mit.edu/~alexgru/vision/"
}
@inproceedings{1082122,
author = {John G. Allen and Richard Y. D. Xu and Jesse S. Jin},
title = {Object tracking using CamShift algorithm and multiple quantized feature spaces},
booktitle = {VIP '05: Proceedings of the Pan-Sydney area workshop on Visual information processing},
year = {2004},
isbn = {1-920682-18-X},
pages = {3--7},
publisher = {Australian Computer Society, Inc.},
address = {Darlinghurst, Australia, Australia},
}
--- //[[bernardocv@gmail.com|Bernardo Vieira]] 2008/06/21 23:26//