artigo 23

Propaganda
RECONHECIMENTO DE GESTOS COM SEGMENTAÇÃO DE
IMAGENS DINÂMICAS APLICADAS A LIBRAS
ANUÁRIO DA PRODUÇÃO DE
INICIAÇÃO CIENTÍFICA DISCENTE
Vol. 13, N. 20, Ano 2010
Adilson Roberto Pavan
Prof. Jaime Cazhurriro
Prof. Fabio Modesto
Curso:
Ciência da Computação
FACULDADE ANHANGUERA DE
CAMPINAS - UNIDADE 2
RESUMO
O objetivo desta pesquisa é a criação de uma metodologia capaz
de realizar o reconhecimento de gestos, onde a idéia é extrair
características da mão segmentada, a partir de imagens
dinâmicas capturadas de uma webcam e identificar padrões de
sinais utilizados pelos usuários de Libras (Língua Brasileira de
Sinais). O aplicativo é capaz de capturar as imagens e, com a
utilização de filtros específicos de processamento de imagens,
identificar as características de cada gesto realizado. Os dados
identificados são comparados a padrões pré-estabelecidos no
software com o objetivo de identificar os sinais e reproduzir em
forma de texto ou áudio as letras identificadas. A aplicação
resultante desse estudo já é capaz de extrair as características dos
sinais e identificar algumas letras do alfabeto. O grande desafio e
foco dessa pesquisa foram a criação de um mecanismo preciso
para comparação desses dados, pois com a variedade de
informações extraídas o processo pode se tornar lento e
apresentar uma baixa taxa de rastreamento. Com a criação desse
mecanismo será possível desenvolver ferramentas para diversas
áreas como educação, entretenimento e facilitar a comunicação
dos usuários de Libras. Alem disso, pode ser utilizada como uma
ferramenta de auxilio na alfabetização da própria Língua
Brasileira de Sinais.
Palavras-Chave: Libras, Reconhecimento de Gestos, Interação
Humano Computador (IHC), Visão Computacional e Gestos de
Mão.
Anhanguera Educacional Ltda.
Correspondência/Contato
Alameda Maria Tereza, 4266
Valinhos, SP - CEP 13278-181
[email protected]
Coordenação
Instituto de Pesquisas Aplicadas e
Desenvolvimento Educacional - IPADE
Publicação: 5 de novembro de 2012
Trabalho realizado com o incentivo e
fomento da Anhanguera Educacional
367
368
Reconhecimento de gestos com segmentação de imagens dinâmicas aplicadas a Libras
1.
INTRODUÇÃO
Pesquisas relacionadas à visão computacional e reconhecimentos de gestos vêm
ganhando grande espaço na comunidade científica. Com a evolução tecnológica dos
computadores e dispositivos como câmeras, a capacidade de processamento e captura de
imagens com alta qualidade facilita no desenvolvimento de diversos tipos de pesquisas,
além disso, os preços acessíveis desses dispositivos possibilitam estudos e projetos em
diversas áreas como robótica, educação, entretenimento, medicina, indústria e várias
outras.
Além da evolução dos dispositivos e da capacidade de processamento dos
computadores, muitas bibliotecas de visão computacional foram desenvolvidas com o
objetivo de facilitar e agilizar na captura, analise e manipulação das imagens, sendo que
uma das mais conhecidas e escolhida para o desenvolvimento deste projeto é a OpenCV
(INTEL, 2010), desenvolvida pela Intel, é uma biblioteca gratuita que oferece mais de 500
(quinhentas) funções de manipulação, segmentação, rastreamento e reconhecimento de
padrões (OpenCV, 2010).
Atualmente existem vários trabalhos relacionados a reconhecimento de gestos e,
com a utilização da biblioteca OpenCV, tornou-se possível o desenvolvimento de técnicas
de rastreamento em tempo real, dentre as quais identificou-se que a abordagem mais
comum é a segmentação da área de interesse (Region Of Interest - ROI) através do
algoritmo CamShift (Continuously Adaptive Mean-SHIFT), que captura a imagem
original e realiza a distribuição de cores em um modelo de histograma, criando um
padrão de cor a ser rastreado (BRADSKI; KAEHLER, 2008). Após a segmentação pelo
histograma – que para o caso do rastreamento da mão como área de interesse o mais
comum a ser utilizado é a cor da pele – existem vários algoritmos disponíveis na
biblioteca de detecção de bordas, tendo como um dos mais utilizados o algoritmo de Sobel
(BRADSKI; KAEHLER, 2008).
Com a borda da imagem extraída pelo algoritmo de Sobel a última etapa é
realizar a comparação com um template pré-definido através de uma técnica conhecida
como Shape Matching (BRADSKI; KAEHLER, 2008) que é responsável por encontrar
semelhanças entre as imagens capturadas e o template, respeitando certa taxa de erro.
Toda a técnica descrita no parágrafo anterior faz parte de uma pesquisa realizada
por Barbosa e Silva (2009) que demonstrou bons resultados na segmentação e no
rastreamento dos gestos, porém existem técnicas similares que também apresentam
resultados satisfatórios, mas que para a comparação das características extraídas utilizam
Anuário da Produção de Iniciação Científica Discente  Vol. 13, N. 20, Ano 2010  p. 367-378
Adilson Roberto Pavan, Jaime Cazhurriro, Fabio Modesto
369
métodos de classificação dos dados através de parâmetros definidos em um vetor, onde o
autor (RIBEIRO, 2006) armazenou os mesmos em uma base de dados e posteriormente os
utilizou para analise dos gestos.
Outra proposta interessante é a utilização de classificadores (BRADSKI;
KAEHLER, 2008), proposto inicialmente por Viola e Jones (2001), através da qual o
sistema é capaz de identificar com velocidade os objetos, pois não depende de imagens
em seqüência ou de um padrão de cores como em outras técnicas. O sistema utiliza a
informação presente nas imagens capturadas em tons de cinza para realizar o
rastreamento. Esta técnica exige o treinamento do classificador com muitas imagens para
que se atinja uma precisão satisfatória, ela cria uma cascata de características em que a
analise é realizada pelas diferenças de intensidade entre regiões distintas. O processo de
treinamento, como mencionado acima, exige muitas imagens e capacidade de
processamento para desenvolver um classificador preciso e robusto.
A proposta inicial para esse projeto era utilizar técnicas como as mencionadas na
pesquisa de Barbosa e Silva (2009). Entretanto, durante o desenvolvimento foi possível
identificar uma abordagem mais simplificada garantindo-se atingir resultados precisos e
concretos, a partir da utilização de classificadores e detectores de bordas para realizar o
rastreamento. O sistema utiliza um classificador criado por Wachs et al. (2006) que realiza
o reconhecimento da mão fechada, em que o usuário poderá definir a área de interesse
para executar os sinais de Libras. Após a definição, será aplicado o algoritmo de Sobel
para extrair as bordas das imagens por meio da utilização dos classificadores Haar para
identificação dos sinais. O processo de segmentação utilizará apenas o algoritmo de Sobel,
pois a utilização de classificadores torna desnecessário extrair o fundo com o algoritmo
CamShift, o que reduz consideravelmente os ruídos, pois realizando-se a analise
diretamente na imagem segmentada a quantidade de decisões do classificador será menor
e dessa forma o processamento será mais rápido e preciso. Além disso, a quantidade de
imagens necessárias para realizar o treinamento de cada sinal será bem menor.
Este artigo está organizado em seções. A primeira seção é essa introdução, a
seção 2 apresenta os objetivos da pesquisa. A metodologia utilizada na realização da
pesquisa é apresentada na seção 3. As informações relacionadas ao desenvolvimento da
pesquisa como a revisão de literatura, o problema abordado, a solução proposta e
implementada são mostradas na seção 4. A forma de abordar os experimentos, os
resultados e as discussões são descritos na seção 5. Por fim, as considerações finais são
apresentadas na seção 6.
Anuário da Produção de Iniciação Científica Discente  Vol. 13, N. 20, Ano 2010  p. 367-378
370
2.
Reconhecimento de gestos com segmentação de imagens dinâmicas aplicadas a Libras
OBJETIVO
O desenvolvimento desse projeto tem como objetivo criar uma técnica precisa para o
rastreamento dos sinais de Libras, combinando a utilização de bibliotecas de visão
computacional gratuitas com dispositivos de captura de imagens de fácil acesso como
uma webcam, gerando assim um baixo custo computacional e tornando a técnica
aplicável em diversas áreas.
A expectativa é que o sistema seja capaz de rastrear todas as letras (sinais) do alfabeto,
mas como o processo de criação dos classificadores exige muitas amostras e tempo de
processamento a pesquisa se limitou a principio em letras suficientes para formação de
palavras simples.
3.
METODOLOGIA
O desenvolvimento do algoritmo de reconhecimento foi baseado em contornos e em
classificadores, possibilitando um melhor desempenho para o rastreamento em tempo
real. Sendo assim, foi utilizada a biblioteca OpenCV (Open Computer Vision), criada pela
Intel e disponível para utilização sem limitações.
A utilização da biblioteca facilitou muito o desenvolvimento do aplicativo final,
pois reúne todos os recursos necessários para cada etapa do reconhecimento como, por
exemplo, algoritmos para detecção de bordas, captura de imagens da webcam e
comparação com as características definidas nos classificadores. As etapas de
reconhecimento consistem basicamente em capturar as imagens dinâmicas pela webcam,
utilizar o classificador criado por Wachs et al. (2006), responsável por realizar o
reconhecimento da mão fechada para definir a área de interesse, aplicar o algoritmo de
Sobel, responsável por extrair o contorno da imagem e realizar a analise com os
classificadores treinados para identificar os sinais de Libras.
A etapa mais importante para atingir a qualidade desejada foi a criação dos
classificadores mencionados anteriormente (ultima etapa), pois os mesmos são
responsáveis por analisar as imagens após a aplicação do filtro de Sobel, mas para atingir
a precisão desejada foi necessário realizar o treinamento de cada sinal com um numero
considerável de imagens. Esse processo, entretanto, demonstrou-se muito mais
simplificado em comparação aos classificadores disponíveis pela própria biblioteca, pois
as imagens utilizadas no treinamento já estão segmentadas pelo algoritmo de Sobel, o que
elimina um considerável numero de características.
Anuário da Produção de Iniciação Científica Discente  Vol. 13, N. 20, Ano 2010  p. 367-378
Adilson Roberto Pavan, Jaime Cazhurriro, Fabio Modesto
4.
371
DESENVOLVIMENTO
O sistema é totalmente baseado na utilização de classificadores e na detecção de
contornos. Desta forma, antes de aprofundar em cada etapa do processo, é necessário
entender a metodologia básica envolvendo a técnica da cascata de classificadores. A
pesquisa foi desenvolvida em etapas com o objetivo de facilitar e garantir a qualidade
desejada, pois como o processo foi realizado de uma forma mais simplificada em relação a
outras técnicas mencionadas anteriormente, a etapa mais importante e que define a
precisão do mecanismo é a criação dos classificadores que são utilizados para realizar o
rastreamento dos sinais. Durante essa seção serão apresentadas as informações básicas de
cada etapa e os parâmetros utilizados no treinamento dos classificadores.
4.1. Cascata de Classificadores
A cascata de classificadores (VIOLA; JONES, 2001) é uma funcionalidade da biblioteca
OpenCV que é responsável por identificar vários tipos de objetos em uma imagem, mas
que ficou conhecida principalmente pelo reconhecimento da face como mostra o
programa de exemplo FaceDetect disponível na biblioteca e a Figura 1.
Figura 1 – Imagem extraída do livro “Learning OpenCV” onde é possível observar o
rastreamento da face utilizando a cascata de classificadores.
A técnica utilizada no classificador consiste em uma analise de imagens em tons
de cinza, em que as diferenças de intensidade de regiões distintas são comparadas a
Anuário da Produção de Iniciação Científica Discente  Vol. 13, N. 20, Ano 2010  p. 367-378
372
Reconhecimento de gestos com segmentação de imagens dinâmicas aplicadas a Libras
características armazenadas em uma arvore de decisões, que é desenvolvida através de
um algoritmo de treinamento e um conjunto de imagens das quais são extraídas
características especificas do objeto a ser rastreado.
Para realizar o treinamento do classificador é necessário reunir um conjunto de
imagens contendo o objeto de interesse, em diversas condições de iluminação e em
posições diferentes. Este conjunto é chamado de amostras positivas. Após a criação das
amostras positivas, é necessário reunir outro conjunto de imagens aleatórias onde o objeto
de interesse não esteja incluído. Este outro conjunto é chamado de amostras negativas.
Com a criação das amostras positivas e negativas é necessário apenas executar o
algoritmo de treinamento que criara uma cascata de classificadores, onde todas as
características do objeto serão armazenadas para posteriormente serem utilizadas na
analise da imagem.
O termo “cascata” é utilizado porque o algoritmo de treinamento cria uma serie
de classificadores que são analisados em seqüência, até que um padrão seja identificado.
A Figura 2 mostra uma parte da cascata de classificadores que está disponível na
biblioteca e que é utilizada para realizar o rastreamento da face.
Figura 2 – Exemplo de uma cascata de classificadores armazenada em um arquivo XML que é
utilizada na detecção de objetos pelas funções “cvLoad” e “cvDetectHaarCascade”.
Anuário da Produção de Iniciação Científica Discente  Vol. 13, N. 20, Ano 2010  p. 367-378
Adilson Roberto Pavan, Jaime Cazhurriro, Fabio Modesto
373
4.2. Captura da Imagem
A proposta do projeto é criar uma interação humano-computador (IHC) utilizando
recursos de visão computacional, excluindo dispositivos como o teclado ou o mouse,
utilizando especificamente imagens capturadas de uma webcam. Sendo assim, uma das
etapas mais importantes é a captura da imagem, pois é a forma de entrada dos dados que
serão tratados e analisados para realizar o reconhecimento dos sinais. A utilização da
biblioteca OpenCV facilita esta etapa, pois possui recursos de captura de imagens de uma
webcam ou de arquivos de vídeos através da utilização de funções como
cvCaptureFromCAM e cvCaptureFromAVI.
4.3. Seleção da Região de Interesse - ROI
As pesquisas relacionadas à visão computacional e a reconhecimento de gestos utilizam
como uma das principais técnicas a aplicação de filtros e analise das imagens a partir de
uma área segmentada, ou seja, utilizam determinados critérios para identificar uma região
de interesse na imagem original, o que reduz consideravelmente a quantidade de
processamento para identificar o objeto desejado.
Considerando várias técnicas abordadas anteriormente para realizar a segmentação da
região de interesse, esse projeto tem como característica a utilização de um classificador
(WACHS et al., 2006), que realiza o reconhecimento da mão fechada, selecionando assim a
ROI. Porém, para que uma nova ROI seja determinada, é necessário limpar a mesma
através da ação de um botão e iniciar novamente o reconhecimento utilizando o
classificador, como mostra a Figura 3.
Anuário da Produção de Iniciação Científica Discente  Vol. 13, N. 20, Ano 2010  p. 367-378
374
Reconhecimento de gestos com segmentação de imagens dinâmicas aplicadas a Libras
Figura 3 – Região de interesse selecionada pelo classificador da mão fechada e ao lado o botão “Limpar
Segmentação” que é responsável por limpar o ROI.
4.4. Detecção de Bordas
A principal característica da técnica envolvida na detecção de bordas é a localização de
diferenças de intensidade luminosa entre regiões vizinhas. O algoritmo escolhido para
realizar essa etapa da pesquisa é o operador de Sobel, que realiza uma analise na imagem
original a fim de localizar diferenças de intensidades muito grandes entre regiões vizinhas
e, assim, retornar essas regiões destacadas em uma escala de tons de cinza, o que
caracteriza as bordas do objeto.
Com a aplicação desse tipo de filtro, obtém-se resultados muito bons, como
mostra a Figura 4. Porém, sem a utilização de algoritmos de segmentação por cor de pele
como o CamShift, o resultado contem muitos ruídos, que poderiam prejudicar a detecção
dos sinais. Mas como a proposta dessa pesquisa é realizar o rastreamento através de
classificadores treinados a partir de imagens, em que o algoritmo de Sobel já tenha sido
aplicado, os resultados obtidos até o momento demonstram que o reconhecimento é mais
rápido, mais preciso e mais robusto quando comparado aos resultados obtidos a partir da
aplicação de outras técnicas.
Anuário da Produção de Iniciação Científica Discente  Vol. 13, N. 20, Ano 2010  p. 367-378
Adilson Roberto Pavan, Jaime Cazhurriro, Fabio Modesto
375
Figura 4 – A esquerda uma imagem original extraída de uma webcam e a direita a mesma imagem após
aplicação do algoritmo de Sobel.
4.5. . Treinamento do Classificador
A última etapa e mais importante para que a aplicação final seja precisa e robusta é o
treinamento dos classificadores que são responsáveis por realizar o reconhecimento dos
sinais.
Como já descrito na seção “cascata de classificadores”, foi necessário reunir
amostras positivas e negativas para que o algoritmo de treinamento crie uma cascata de
características e as utilize para realizar o rastreamento dos sinais. O levantamento
bibliográfico teve grande importância nessa etapa do projeto, pois existe pouca
documentação e exemplos sobre esse assunto, principalmente relacionado ao classificador
responsável por rastrear a face que está disponível na biblioteca, pois não foi possível
localizar nenhum detalhe de como o mesmo foi treinado. Estima-se que cerca de 5.000
amostras positivas e negativas tenham sido utilizadas. Os classificadores que foram
desenvolvidos nesse projeto até o momento utilizaram um numero muito menor de
amostras, pois como já mencionado anteriormente, foram treinados a partir de imagens às
quais o algoritmo de detecção de bordas já havia sido aplicado, o que reduziu
consideravelmente o numero de características para realizar o rastreamento.
A coleta das amostras foi realizada através da utilização de uma ferramenta
chamada Positivies Builder (BARNES, 2010) que auxiliou na separação e seleção dos
objetos de interesse, pois para a criação do classificador é necessário informar as
coordenadas x e y de inicio do objeto, além de informar o tamanho do mesmo na imagem.
O algoritmo de treinamento utiliza um arquivo onde são relacionadas todas as
imagens com seus respectivos caminhos, as posições iniciais e o tamanho dos mesmos,
para que a coleta das características seja iniciada, além de utilizar também outro arquivo
com o caminho das amostras negativas para que um padrão seja criado entre as imagens
que contem o objeto de interesse e as aleatórias onde os objetos não estejam incluídos. A
Anuário da Produção de Iniciação Científica Discente  Vol. 13, N. 20, Ano 2010  p. 367-378
376
Reconhecimento de gestos com segmentação de imagens dinâmicas aplicadas a Libras
Figura 5 mostra a configuração armazenada em um dos arquivos utilizados pelo
algoritmo de treinamento.
Figura 5 – Exemplo de arquivo utilizado pelo algoritmo de treinamento para coletar as características das
amostras positivas.
O objetivo nesta etapa do projeto foi criar um classificador para cada letra do
alfabeto, mas como o processo exige um numero considerável de amostras a prioridade
passou a ser a criação de letras ou sinais suficientes para a formação de palavras simples.
Após executar muitos testes com o algoritmo de treinamento foi possível
identificar que não existe um padrão especifico nos parâmetros e na quantidade de
amostras utilizadas, principalmente porque as decisões armazenadas nos classificadores
são diretamente influenciadas pelo tipo do objeto a ser rastreado e as condições de
iluminação do ambiente. Considerando que não existe um padrão para realizar o
treinamento e que a variação entre os sinais de Libras são muito grandes, foi necessário
realizar testes diferentes para cada sinal criado até o momento. Essa variação se deve ao
fato de que os movimentos necessários para executar os sinais de Libras são muitos
distintos uns dos outros e dessa forma influenciam na quantidade de amostras positivas e
negativas utilizadas no treinamento dos classificadores como mostra a Tabela 1.
Tabela 1 – Quantidade de amostras e precisão de rastreamento dos classificadores criados até o momento.
Anuário da Produção de Iniciação Científica Discente  Vol. 13, N. 20, Ano 2010  p. 367-378
Adilson Roberto Pavan, Jaime Cazhurriro, Fabio Modesto
377
A Figura 6 mostra exemplos dos sinais de Libras utilizados nos treinamentos e que são referentes aos sinais
comparados na Tabela 1.
Figura 6 – Exemplos dos sinais utilizados na criação dos classificadores
5.
RESULTADOS
A pesquisa e desenvolvimento da aplicação já estão concluídos, porém ainda será
necessário desenvolver os classificadores para cada letra do alfabeto, além de atingir 100%
de precisão no rastreamento dos sinais, mas já é possível observar bons resultados como o
reconhecimento da área de interesse, detecção das bordas e o rastreamento dos sinais
criados até o momento.
6.
CONSIDERAÇÕES FINAIS
Esta pesquisa demonstrou uma técnica de reconhecimento de gestos, em que o objetivo é
rastrear sinais de Libras a partir de imagens capturadas de uma webcam. O aplicativo
final é capaz de capturar as imagens, realizar a segmentação através de detectores de
bordas e analisar as características com os classificadores responsáveis pelo rastreamento
dos sinais de Libras.
A pesquisa demonstra uma melhoria significativa em relação a outras técnicas
abordadas neste trabalho, sendo que a principal característica para obter resultados
concretos é a utilização de classificadores treinados, a partir de imagens segmentadas que
irão proporcionar velocidade e precisão no reconhecimento dos sinais.
REFERÊNCIAS
VIOLA, Paul; JONES, Michael. Robust Real-time Object Detection. In: SECOND
INTERNATIONAL WORKSHOP ON STATISTICAL AND COMPUTATIONAL THEORIES OF, 2.,
Anuário da Produção de Iniciação Científica Discente  Vol. 13, N. 20, Ano 2010  p. 367-378
378
Reconhecimento de gestos com segmentação de imagens dinâmicas aplicadas a Libras
2001, Vancouver. Anais.. . Vancouver: Second International Workshop On Statistical And
Computational Theories Of Vision, 2001. p. 1 - 25.
RIBEIRO, Hebert Luchetti. Reconhecimento de gestos usando segmentação de imagens dinâmicas
de mãos baseadas no modelo de mistura de Gaussianas e cor de pele. 2006. 144 f. Dissertação
(Mestrado) - Curso de Engenharia Elétrica, Departamento de Escola de Engenharia de São Carlos,
Universidade de São Paulo, São Carlos, 2006.
J. Wachs, H. Stern, Y. Edan, M. Gillam, C. Feied, M. Smith, J. Handler. A Real-Time Hand Gesture
Interface for Medical Visualization Applications. Applications of Soft Computing : Recent Trends.
Springer Verlag, Germany, Series: Advances in Soft Computing ,Tiwari, A.; Knowles, J.; Avineri,
E.; Dahal, K.; Roy, R. (Eds.),2006. vol. 36, pp. 153-163.
BRADSKI, Gary; KAEHLER, Adrian. Learning OpenCV: Computer Vision with the OpenCV
Library. 1. ed. United States Of America: O’Reilly Media, 2008. 576 p. INTEL. OpenCV FAQ: Open
Source Computer Vision Library. Disponível em: <http://software.intel.com/en-us/articles/intelintegrated-performance-primitives-intel-ipp-opensource- computer-vision-library-opencv-faq/>.
Acesso em: 10 mar. 2010.
LIBRAS. Portal de Libras destinado à comunidade surda, familiares, profissionais e pessoas
interessadas em aprender. Disponível em: <http://www.libras.org.br/>. Acesso em: fev. 2010.
BARBOSA, Bernardo; SILVA, Júlio. Interação Humano - Computador usando Visão
Computacional. Revista Teccen: Edição Especial, Rio de Janeiro, v. 2, n. 1, p.9-16, mar. 2009.
BARNES, David. OpenCV HaarTraining - Object Detection with a Cascade of Boosted Classifiers
Based on Haar-like Features. Disponível em: <:
http://www.quotientrobotics.com/2010/04/opencv-haartraining-object-detection.html>. Acesso
em: 15 maio 2010.
OPENCV. OpenCV Wiki: Tutoriais e exemplos de sua utilização. Disponível em:
<http://opencv.willowgarage.com/wiki/>. Acesso em: 17 fev. 2010.
Anuário da Produção de Iniciação Científica Discente  Vol. 13, N. 20, Ano 2010  p. 367-378
Download