Protótipo - módulo de funcionamento em rede
Olá!
O enquadramento teórico da dissertação está em constante atualização, novas referências, novos tópicos que importa referir. Alguns dos documentos que acho importante referir que foram analisados e importantes para o desenvolvimento da investigação.
Estes são alguns artigos que considero que vieram enriquecer o enquadramento teórico em aspetos que não estavam bem consolidados.
Até breve!
Olá!
Este post é mais uma reflexão pessoal do que um post com conteúdo científico resultado da investigação.
Neste momento do meu mestrado, a pouco tempo da entrega em época normal, a confusão reina na minha cabeça. O protótipo está a avançar a um ritmo inferior ao que eu esperava, pelo que os desenvolvimentos, por poucos que sejam são bem-vindos =)
Para avançar com a escrita da dissertação preciso do protótipo numa versão muito mais completa e estável para que seja possível testar junto dos utilizadores, para depois analisar dados, escrever conclusões... Mas esta versão estável quetão desejada ainda anda em desenvolvimentos.
Erros e problemas no protótipo, e atrás de um problema está sempre mais algum escondido à espera para se revelar. O medo do desconhecido por vezes paraliza-me e deixa-me sem saber o que fazer e o que pensar, mesmo quaqndo se trata de questões ou decisões simples de tomar.
Vou voltar ao protótipo e perceber os problemas relacionados com a sincronização da animação em rede!
Até breve!
Neste momento do projeto de dissertação desenvolve-se a componente mais prática do projeto, o
protótipo funcional.
Para o desenvolvimento do protótipo é necessário ter sempre presente os objetivos do projeto, o software e hardware foram escolhidos tendo em conta estas especificações. O sensor de movimento é o Kinect para a Xbox da Microsoft, e o sofware de desenvolvimento do ambiente é o Unity 3D, juntamente com frameworks como a OpenNI (Open Natural Interaction).
A componente prática, de uma forma muito resumida, divide-se em três grandes módulos: a interação, comunicação em rede e modelação em 3D e design da interface.
Quando foi desenvolvido o planeamento do projeto (onde se inclui o cronograma) foi decidido, juntamente com os orientadores, que o módulo que causava mais dúvidas, comunbicação em rede, devia ser o primeiro a ser desenvolvido e estudado a um nível prático de implementação.
Ao nível de programação do protótipo, esta processa-se em javascript e C# (componente de interação utilizador -avatar).
Até ao momento as experiências ao nível de rede já permitiram colocar 2 computadores com um cenário partilhado na mesma rede. Um computador a funcionar como servidor e o outro como cliente. Foi possível testar a animação dos elementos, presentes no cenário. A construção da componente de rede permite a criação de um servidor do tipo distribuído, em que qualquer computador na rede pode ser conectado como servidor ou coomo cliente.A componente de interação utilizadr-aavatar está também desenvolvida.
A interface de utilização do Unity 3D e programação não é como esperava, por vezes tornou-se mais complexo do que eu pensava. Pequenos erros e problemas demoraram a ser resolvidos o que atrasou um pouco o desenvolvimento.
De momento a componente de comunicação em rede já está funcional.
Num âmbito mais teórico, o trio pesquisa, leitura e escrita continuam (a escrita é mais complicado!). Uma vez que esta área de investigação está em constante mudança e evolução é necessário acompanhar as evoluções na área.
Os registos de modificações/evoluções no software que servem de base ao desenvolvimento do protótipo estão registados. Assim como novas aplicações desenvolvidas nas mais diversas áreas (turismo, saúde, entertenimento, educação) onde a interação natural está a ser utilizada são alvo de registo.
Quando tiver mais novidades de desenvolvimento coloco aqui no blog!
Até breve =)
Radiohead "House of Cards" from Justin Glorieux on Vimeo.
Para quem aprecia (adora Radiohead como eu) e estuda/ investiga/ tem interesse por sistemas de captura de movimento 3D (motion capture systems 3D) fica com interesse em perceber qual é a ligação entre estas duas temáticas, à primeira vista tão diferentes, mas com uma análise mais detalhada tão próximos.
O vídeoclip da música "House of Cards" da banda Radiohead foi desenvolvido tendo por base a captura em 3D do cantor Tom Yorke. Este sistema desenvolvido em 2008 efetua a projeção de padrões no cenário, que são visíveis a olho nu. Este sistema de captura de imagens em profundidade (diferente do utilizado em sensores como o kinect) permite recolher imagens com uma resolução boa.
"A visible structured light approach was famously used as the basics for Radiohead's breakthrough 2008 cameraless music video, "House of Cards", from the album In Rainbows. With the aid of geometric Informatics custom system, close-up recordings of singer Tom Yorke's face were captured as point cloud data, wich allowed the "synthetic camera" viewpoints to be directed in postproduction. The structured light approach was ideal for capturing the singer's detail facial expressions since this technique can be used to capture subjects within a couple of feet." (Keane S, Hall J, Perry P. , 2012)
Visible Structured light setup (Keane S, Hall J, Perry P. , 2012)
O código utilizado para o desenvolvimento do projecto de reconhecimento facial do Tom Yorke está disponível e acessível para o público no repositório de código da google.
Este é um projeto que contempla inovação tecnologica e música num mesmo projeto.
Mais informações:
Exploração e visualização dos elementos em 3D
Recursos utilizados no desenvolvimento do reconhecimento 3D
Até depois!
O aparecimento dos dispositivos de controlo de movimento (motion controllers) possibilitou e facilitou a utilização, não só nos jogos, mas também na construção de aplicações noutras áreas.
Sensores são dispositivos que convertem um sinal físico num sinal elétrico passível de ser manipulado no computador, ou seja o sensor deteta modificações no ambiente. As alterações no ambiente podem ser de várias naturezas, por isso existem vários tipos de sensores, e o tipo de sensores mais comuns, no âmbito das interfaces controladas por gestos são sensores de proximidade, luz, pressão, som, movimento, orientação e tilt (inclinação, ângulo).
No decorrer do desenvolvimento aplicações com sistemas de reconhecimento de gestos existe um conjunto aspetos a acautelar no que diz respeito à utilização de sensores. Os sensores apresentam características muito específicas, pelo que é importante averiguar potenciais problemas associados.
Uma das primeiras recomendações apresentadas por Dan Saffer diz respeito à escolha do tipo de sensor que se pretende para a aplicação. O tipo de sensor, ou sensores no caso de haver uma conjugação de vários, determina o tipo de interação gestual que se pode ter na aplicação. Esta questão está relacionada com os vários aspetos técnicos presentes nos vários sensores, como é o caso da distância limite que o sensor consegue detetar.
Outro conselho está relacionado com a prevenção de erros nas interfaces controladas por gestos. Uma das formas sugeridas de evitar erros, é a confirmação de determinadas ações realizadas pelo utilizador (sejam intencionais ou acidentais).
O feedback é uma componente importante a ter em consideração no desenvolvimento de aplicações interativas, mas deve ser ainda mais potenciado quando existe um sistema de reconhecimento de movimentos. No caso de ocorrer um erro, uma falha do sistema, o utilizador deve saber o que se esta a acontecer com a aplicação, caso contrario o utilizador pode pensar que esta a proceder de forma incorreta (quando na verdade o problema reside na aplicação).
“Usually, if there is any chance of recognition failure, the system should provide feedback on all recognition results, errors or otherwise. If possible, the system should provide some indication of the nature of any failure so that the user can modify his or her own behavior to meet the system’s expectations.” (Wilson, 2008)
Nielsen (Nielsen, 2010) refere num artigo, intitulado,” Kinect gestural UI: first impressions”, que o "Kinect presents a far more advanced gesture-based user experience than any previous system seen outside the fancy research labs." Nielsen indica o sensor Kinect como um importante dispositivo na promoção da experiência de utilização, em especifico em interfaces controladas por gestos. Menciona ainda outra característica favorável ao sensor, como o preço acessível. Nielsen no mesmo artigo faz referência ao espaçamento temporal entre a investigação e pesquisa e a implementação prática e mais acessível à generalidade dos utilizadores. Um exemplo que a história indica é a apresentação do rato por Doug Engelbart em 1964 e a sua comercialização em 1984.
Apresenta ainda uma listagem de fraquezas de ao nível da usabilidade nas interfaces controladas por gestos (em específico dos jogos da Xbox).
Visibilidade - Necessidade de memorizar as instruções, previamente ao jogo começar. Inexistência de affordances.
Feedback - Dificuldade em relacionar a causa-efeito. Perceber porque determinadas ações ocorrem pode ser um entrave.
Consistência e standards - Não existem, ainda, standards para interações gestuais. O exemplo do pausar no jogo da Xbox - colocar o braço num ângulo de 45 graus. Trata-se de um gesto que não é natural ao utilizador.
Estes são alguns problemas de usabilidade apontados por Nielsen, resultado das suas experiencias com os jogos da Xbox e com o Kinect.
Affordances – uma das várias características dos objetos ou ambientes que dá indicações imediatas de como se deve interagir com uma ou várias funcionalidades do objeto em questão. Potencial de um objeto para que ele seja manipulado da forma como foi pensado para funcionar.
Os paradigmas de interação evoluíram juntamente com a tecnologia, desde a linha de comandos, posteriormente a interfaces gráficas e o paradigma mais recente a interação natural. A ideia principal subjacente à evolução dos paradigmas de interação é a de desenvolver sistemas mais fáceis de utilizar pelo utilizador, que sejam mais intuitivos e naturais de utilizar.
Atualmente assiste-se a um desenvolvimento no que diz respeito às interfaces, e está surgir uma nova evolução, as interfaces naturais (Natural User interface). É expectável que a utilização de interfaces naturais permitam uma diminuição da curva de aprendizagem por parte dos utilizadores e utilizem o sistema de uma forma mais natural possível.
Dentro da categoria das interfaces, existem as Interface 3D (user interface 3D) que envolvem a interação humano-computador na qual as ações dos utilizadores ocorrem num ambiente 3D com dispositivos de entrada 3D ou com dispositivos de entrada 2D, mas posteriormente mapeados para 3D. Controlam esses interfaces dispositivos de entrada e paradigmas (técnicas) de interação que permitem manipular elementos 3D gerados por computador.
A interação em ambientes 3D permite aos utilizadores terem uma sensação de presença, nesse ambiente virtual. A interação em ambientes 3D é mais direta e pode permitir diminuir a distância cognitiva, pois os utilizadores realizam tarefas mais naturais, reduzindo assim o tempo de resposta entre a ação do utilizador e o feedback do sistema.
Existem resumidamente quatro paradigmas de interação nas aplicações 3D (Bowman et al., 2005): navegação; seleção; manipulação; e controlo do sistema. Existem ainda outras formas que podem ser consideradas, mas apenas são utilizadas em aplicações com contextos muito específicos.
Até depois!