• Nenhum resultado encontrado

Classifica¸c˜ ao 2D

No documento ANDRES JESSÉ PORFIRIO (páginas 55-61)

As imagens utilizadas no processo de reconstru¸c˜ao por silhueta (segmentadas e sem ru´ıdos) s˜ao utilizadas como entrada para a classifica¸c˜ao baseada em caracter´ısticas 2D. O objetivo desta etapa ´e verificar o poder de reconhecimento das configura¸c˜oes de m˜ao da LIBRAS a partir de imagens 2D.

O prop´osito destes testes ´e verificar as taxas de reconhecimento das configura¸c˜oes de m˜ao a partir de imagens 2D (como faz a maioria dos autores) na base de dados formada por 1220 imagens segmentadas e sem ru´ıdos (as mesmas utilizadas no processo de ger¸c˜ao de malhas pelo m´etodo da silhueta).

S˜ao avaliados quatro conjuntos de caracter´ısticas: os 7 momentos invariantes de Hu [21], as 8 dire¸c˜oes de Freeman [17] e as proje¸c˜oes horizontal e vertical de cada imagem [11]. Para fins de normaliza¸c˜ao as imagens foram redimensionadas para 50x50 pixels antes do c´alculo das proje¸c˜oes.

Em 1962 Hu [21] introduziu o uso de momentos invariantes como caracter´ısticas para o reconhecimento de pad˜oes visuais. Atrav´es do uso de m´etricas estat´ısticas Hu definiu car- acter´ısticas capazes de discriminar padr˜oes geom´etricos de maneira invariante `a posi¸c˜ao, orienta¸c˜ao e escala. O c´alculo desde descritor pode ser efetuado com o uso da fun¸c˜ao getHuMoments, da biblioteca OpenCV9. A aplica¸c˜ao da fun¸c˜ao retorna um vetor de sete

posi¸c˜oes, que representa a assinatura da imagem.

Herbert Freeman [17] propˆos em 1974 uma t´ecnica de descri¸c˜ao de imagens baseada em contornos. A t´ecnica consiste em, dado um pixel inicial do contorno, percorrer todo o objeto rotulando os pixels pertencentes a ele. Por fim, um vetor de oito posi¸c˜oes representa a assinatura da imagem, sendo cada ´ındice do vetor correspondente `a somat´oria de todos os

9Biblioteca livre para processamento gr´afico e vis˜ao computacional, dispon´ıvel em

pixels rotulados com uma determinada dire¸c˜ao. A Figura 4.14(a) representa as dire¸c˜oes de Freeman e a Figura 4.14(b) apresenta um contorno rotulado de acordo com esta t´ecnica.

(a) (b)

Figura 4.14: Dire¸c˜oes de Freeman (a) e Exemplo de contorno rotulado (b).

As proje¸c˜oes de histograma foram introduzidas em 1956 por Glauberman apud Trier [47] e s˜ao calculadas da seguinte maneira:

Dada uma imagem B, de dimens˜oes x × y, ´e gerado um vetor P rojH, de tamanho x, onde cada termo ´e dado por:

P rojHi = x

X

i=1

pp (4.7)

em que i ´e cada linha da imagem B e pp ´e o valor de cada pixel contido na linha i. O vetor P rojH representa a proje¸c˜ao horizontal da imagem B.

A proje¸c˜ao vertical da imagem B ´e dada por:

P rojVi = y

X

i=1

pp (4.8)

em que i ´e cada coluna da imagem B e pp ´e o valor de cada pixel contido na coluna i. O vetor P rojV , de tamanho y, representa a proje¸c˜ao vertical da imagem B.

A Figura 4.15 apresenta proje¸c˜oes criadas a partir de uma imagem do caractere ”5”. Os vetores de caracter´ısticas gerados por esta t´ecnica n˜ao s˜ao invariantes `a escala, rota¸c˜ao e posi¸c˜ao [47].

CAP´ITULO 5

RESULTADOS

Os resultados atingidos com este trabalho s˜ao apresentados neste cap´ıtulo. A seguir s˜ao apresentados os resultados referentes `a cada uma das etapas citadas no cap´ıtulo 4. Por fim, a se¸c˜ao 5.5 apresenta uma compara¸c˜ao de resultados com o m´etodo mais similar encontrado na literatura considera¸c˜oes gerais sobre o trabalho.

5.1

Aquisi¸c˜ao da Base de Dados

A base de dados foi capturada com ˆexito, fornecendo um conjunto de v´ıdeos do Kinect das 61 configura¸c˜oes de m˜ao da LIBRAS em v´arias orienta¸c˜oes. Foram necess´arias duas tentativas de captura para atingir o resultado esperado, a primeira captura foi realizada com o sensor localizado `a uma distˆancia muito grande do ator, com isso a resolu¸c˜ao do sensor n˜ao foi suficiente para distinguir a configura¸c˜ao de m˜ao em cada v´ıdeo.

Em seguida, com o protocolo de captura atualizado, a base de dados foi capturada novamente, gerando resultados condizentes com a proposta de identificar a configura¸c˜ao de m˜ao. Al´em disso, na segunda captura foram armazenados os esqueletos 3D juntamente com o v´ıdeo, este processo fornece acesso imediato `as jun¸c˜oes do corpo em qualquer quadro do v´ıdeo, sem a necessidade de calibra¸c˜ao ou rastreamento.

Com rela¸c˜ao `as bases de dados encontradas na literatura foi observado que nenhuma delas atendia `as configura¸c˜oes de m˜ao da LIBRAS com malhas 3D, sendo assim este trabalho acrescenta recursos (como a pr´opria base de dados, os softwares e protocolo de captura) para que novos trabalhos possam ser desenvolvidos.

As principais dificuldades encontradas na captura da base de dados foram: especi- fica¸c˜ao do protocolo de captura, disponibilidade de usu´arios para as grava¸c˜oes e, prin- cipalmente, organiza¸c˜ao das capturas de modo garantir que todos os usu´arios executem todas as configura¸c˜oes de m˜ao de modo correto, pois existem muitas poses que se diferem

apenas em pequenos detalhes, podendo ser confundidas facilmente.

Os principais problemas a serem melhorados na base de dados s˜ao: rota¸c˜ao incorreta da m˜ao do usu´ario em algumas capturas (problema da rota¸c˜ao apresentado na Figura 4.9), aparecimento de artefatos como a manga da blusa e, principalmente, a baixa resolu¸c˜ao do sensor Kinect (solu¸c˜ao apenas com o uso de um sensor melhor).

Para cada v´ıdeo da base HC-LIBRAS-RGBDS-2011 foram selecionados os quadros de interesse: vis˜ao frontal e lateral da m˜ao. Os quadros selecionados foram convertidos em imagens 2D no formato jpeg armazenados em um diret´orio separado, favorecendo a organiza¸c˜ao da base de dados.

Atrav´es da sele¸c˜ao de dois quadros por v´ıdeo obteve-se ao final um conjunto de 1220 imagens, sendo 610 correspondentes `as vis˜oes frontais e 610 correspondentes `as vis˜oes laterais.

Todas as imagens foram analisadas e preparadas para a execu¸c˜ao do m´etodo de reconstru¸c˜ao por silhueta. Artefatos como a manga da blusa foram removidos de to- das as imagens onde existiam, imagens com rota¸c˜ao incorreta foram corrigidas e demais ru´ıdos que poderiam causar problemas na reconstru¸c˜ao por silhueta foram corrigidos.

Dado que o dispositivo de captura n˜ao fornece uma malha 3D completa e as imagens apresentaram ru´ıdos esta etapa foi crucial para a gera¸c˜ao de uma boa base de objetos 3D e, consequentemente, na classifica¸c˜ao.

Os principais erros encontrados nas malhas foram apresentados na Se¸c˜ao 4.1, este processo foi bastante intrusivo, por´em necess´ario para a gera¸c˜ao de boas malhas 3D. A maior parte das imagens precisou de tratamento devido aos diversos tipos de ru´ıdos encontrados. Este processo pode ser evitado com a utiliza¸c˜ao de meios de captura de imagens mais precisos.

Exemplos de imagens corrigidas para cada configura¸c˜ao de m˜ao s˜ao apresentados no Apˆendice A. S˜ao exibidas as vis˜oes frontal e lateral da m˜ao, a sele¸c˜ao das imagens foi feita de forma aleat´oria respeitando-se a seguinte restri¸c˜ao: uma configura¸c˜ao de m˜ao deve sempre conter duas imagens de um mesmo usu´ario na mesma tomada.

fornecer˜ao meios de obten¸c˜ao de malhas tridimensionais em tempo real que possibilitar˜ao a classifica¸c˜ao direta de malhas 3D, sem a necessidade de reconstru¸c˜ao. Como citado no cap´ıtulo 2, um sensor bastante promissor ´e o LeapMotion.

5.2

Reconstru¸c˜ao por Silhueta

Para cada dupla de imagens frontal/lateral foi gerada uma malha 3D, totalizando 610 reconstru¸c˜oes. Todas as malhas foram submetidas ao filtro de suaviza¸c˜ao, deste modo a qualidade das mesmas foi melhorada.

As malhas suavizadas foram armazenadas em dois formatos: formato nativo do Blender 3D (.blend) e Stanford (.ply), os arquivos .ply s˜ao utilizados na etapa seguinte (c´alculo do descritor Spherical Harmonics), e os arquivos .blend foram armazenados para permitir futuras aplica¸c˜oes de novos filtros de pr´e-processamento caso necess´ario.

O m´etodo de reconstru¸c˜ao por silhueta se mostrou eficaz na gera¸c˜ao das malhas 3D, por´em certos detalhes das m˜aos, como concavidades, n˜ao puderam ser reproduzidos. ´E poss´ıvel que a ausˆencia destes detalhes interfira negativamente no processo de classifica¸c˜ao e, al´em disso, ´e importante ressaltar que sua aplica¸c˜ao em tempo real n˜ao ´e poss´ıvel nas condi¸c˜oes testadas neste trabalho (devido ao fato de se precisar de duas vis˜oes da m˜ao, obtidas em instantes de tempo diferentes).

Exemplos de malhas geradas pelo m´etodo da silhueta para cada configura¸c˜ao de m˜ao s˜ao apresentados no Apˆendice B. Os exemplos de cada classe foram escolhidos aleatori- amente e renderizados com o software Blender 3D.

5.3

Computa¸c˜ao do Descritor Spherical Harmonics

O uso de scripts python e o Software Blender facilitaram a aplica¸c˜ao da ferramenta de extra¸c˜ao do Spherical Harmonics, tornando poss´ıvel a cria¸c˜ao de um procedimento au- tom´atico onde o software ´e respons´avel pela gera¸c˜ao da malha em formato Stanford (.ply) e, logo em seguida, a ferramenta atua calculando as assinaturas.

(.sig), ao todo foram gerados 610 arquivos de assinatura, um para cada malha 3D. A Figura 5.1 apresenta um exemplo de matriz transposta1 das caracter´ısticas extra´ıdas de

uma malha 3D referente `a configura¸c˜ao de m˜ao 7.

Figura 5.1: Matriz transposta das caracter´ısticas de uma malha 3D referente `a con- figura¸c˜ao de m˜ao 7.

No documento ANDRES JESSÉ PORFIRIO (páginas 55-61)

Documentos relacionados