• Nenhum resultado encontrado

De modo a percebermos melhor as capacidades reais da framework, utilizamos a aplicação descrita anteriormente para a recolha de algumas métricas, para assim tirarmos conclu- sões realistas e obtermos uma noção mais clara do que deve ser melhorado futuramente. O cenário de teste consistia num dispositivo Kinect ligado a um computador portátil, sendo o seu ecrã utilizado como simulador do painel publicitário. Inicialmente, a aplicação já está a ser executada quando o utilizador se senta numa cadeira (apesar de isso não ser uma necessidade) localizada a cerca de sessenta centímetros do Kinect. Ao entrar no seu

campo de visão, o processo de deteção começa e passado alguns segundos é iniciado o anúncio previsto para o tipo de utilizador presente no momento. Caso o utilizador tivesse óculos era pedido que os tirasse para assim ser testada a funcionalidade da deteção da presença de óculos.

Foram feitos testes a 6 utilizadores do sexo masculinos e feminino, com e sem óculos. Também existiu alguma variância nas suas idades, sendo a idade mais avançada cinquenta e um anos e a mais baixa de dezanove.

Após o teste foram feitas três perguntas a cada utilizador, sendo elas:

• Numa escala de 1 (pouco) até 5 (muito), acha o sistema útil? • Em que outros tipos de cenário pode vir a ser útil?

• Como poderia o sistema ser melhorado?

As respostas a estas perguntas foram de certo modo semelhantes entre si. Como podemos ver na Figura 4.2, os utilizadores acharam que o sistema era útil e que este tipo de sistemas pode trazer benefícios às pessoas no seu dia a dia.

Figura 4.2: Resultados referentes à pergunta - Numa escala de 1 (pouco) até 5 (muito), acha o sistema útil?

A segunda pergunta, onde se questionava em que tipo de cenários esta tecnologia poderia ser útil, revelou algumas respostas interessantes, sendo referidos cenários como:

CAPÍTULO 4. APLICAÇÃO TESTE E RESULTADOS 68

utilizador, ficaria a ser possível limitar, por exemplo, o uso de certa aplicação a menores de 15 anos.

Vídeo jogos: Sabendo as características faciais pode ser possível a criação automática de avatares semelhantes aos utilizadores.

Controladores de ambiente: Se for possível detetar as expressões faciais do utilizador, é possível, por exemplo, fazer a sugestão de tipos de música mais calma ou mais alegre dependendo da expressão no momento.

Levantamento estatístico: Este sistema pode ser usado para saber quantas pessoas (e algumas das suas características) passaram num dado local, percebendo-se deste modo o perfil dos seus frequentadores.

Na última pergunta, foram feitas várias sugestões para melhorias do sistema, sendo as mais frequentes o aumento de características que a framework consegue detetar e o melhoramento da velocidade e qualidade de deteção.

Olhando para os resultados dos testes observámos que o tempo que demora a ser feita uma previsão varia entre 5 e 10 segundos. Este tempo deve-se a fatores como o valor escolhido para o grau de precisão da previsão ou com a posição da face do utilizador, pois se ele, por exemplo, não estiver numa posição frontal relativamente ao dispositivo (ocultando uma parte significativa da cara), a informação recolhida não vai gerar nenhum resultado.

Verificamos que o facto de um utilizador estar sentado ou levantado não altera a qualidade ou velocidade da previsão, pois o que vai ser avaliado é a zona facial, no entanto, se ocultarmos parte da cara, como a zona da boca ou um dos lados da cara, deixa de ser possível fazer uma previsão. Isto acontece porque esta imagem deixa de ter as características que se espera que existam numa cara (dois olhos, uma boca, um nariz), deixando então de ser considerada como tal.

Como já referimos, a posição da cara pode afetar a qualidade da previsão, há no entanto outra variável que vimos ser relevante neste processo, a luz ambiente. Apercebemo-nos ao longo dos testes que a luz era um fator importante e que quando havia bastante luz, ou esta era direcionada frontalmente para o utilizador, os resultados melhoravam substancialmente, sendo as previsões mais rápidas e mais corretas, comparadas com as de ambientes de fraca iluminação.

Por fim, observamos que as previsões retornadas eram mais assertivas quando se pedia uma avaliação do género do utilizador do que quando era o caso dos óculos. Este facto vem principalmente da qualidade do treino que cada módulo usa, já que cada um utiliza um conjunto treino próprio que foi feito recorrendo a imagens diferentes e mesmo o número de imagens usadas para cada um também foi diferente.

Capítulo 5

Conclusões e Trabalho Futuro

Neste capítulo fazemos um levantamento das conclusões que foram tiradas durante a elaboração deste projeto e dos aspetos que devem ser abordados em futuras evoluções do sistema desenvolvido.

5.1

Conclusões

A escolha do Kinect foi essencial para chegarmos à solução final. Com o Kinect conse- guimos evitar que se estivesse constantemente a avaliar o ambiente pois só são enviadas imagens aos módulos de deteção quando é detetado pelo menos um utilizador. Outra funcionalidade que foi conseguida devido ao uso do Kinect foi a capacidade detetar a zona da cabeça para assim criar o(s) novo(s) frame(s) contendo apenas a(s) face(s) a avaliar. Estes são dois exemplos de como o Kinect nos ajudou no desenvolvimentos do sistema, permitindo implementar estes mecanismos e assim melhorar a performance e qualidade dos resultados.

O objetivo principal do projeto era a criação de uma framework capaz de fazer previsões baseando-se nas características faciais dos utilizadores. Este objetivo depois de superado abriu caminho para os restantes objetivos pretendidos. Em particular, a solução final ficou com uma estrutura modular, de forma a facilitar a adição de novos avaliadores. A estrutura utilizada para esse efeito foi o design pattern Factory, que por ser um standard bem documentado torna mais simples a adição/alteração de código para futuras contribuições.

O sistema de regras adotado também veio simplificar a escolha de opções de utilização da framework, não sendo necessário alterar o código fonte para, por exemplo, alternar entre tipos de previsões diferentes. Como era também pedido a framework retorna apenas uma tag representando a previsão, bastando a uma aplicação externa fazer o pedido e estar preparada para receber a resposta. Este é um método simples de tratar o resultado que implica apenas que o programador da aplicação saiba o tipo de valores de retorno possíveis.

O grau de precisão obtido foi suficiente para esta fase de desenvolvimento, acertando em grande parte das previsões efetuadas. Foi no entanto identificado como um ponto a melhorar para que a solução possa ser utilizada em ambiente de produção.

Criámos também uma aplicação demostrativa das potencialidades da framework, sobre a qual foram feitos testes de usabilidade. Os resultados obtidos permitem-nos compreender melhor quais os pontos fortes e os pontos onde há uma maior necessidade de intervenção futura. Entre os pontos fortes é de realçar a liberdade que o utilizador pode ter, já que este não necessita de estar numa posição fixa para que seja detetado e avaliado, e o facto de se conseguir detetar vários casos distintos, dependendo dos módulos escolhidos. Os principais pontos a melhorar, que foram detetados, são a suscetibilidade às variações de luz e a utilização de um conjunto de treino mais completo. Outro fator importante é o tempo de resposta, isto porque o tempo atual de previsão varia entre os 5 e 10 segundos, que não sendo valores muito elevados, o sistema ficaria a ganhar com a sua redução.

Com isto, podemos então concluir que o produto final produzido cumpre as expectativas definidas no início do projeto e que tem condições para se tornar numa solução mais completa, tendo para isso já sido identificadas um conjunto de melhorias relevantes.

No documento Kinect - Innovative Face Recognition System (páginas 67-72)

Documentos relacionados