Controle por gestos

Revisão de 17h48min de 16 de setembro de 2015 por Thaíla (discussão | contribs) (Referências)
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

Conceito


  • O que é?
    • É a ação de controlar máquinas, geralmente computadores, por meio de gestos corporais, como os das mãos, olhos, cabeça, voz e outros.
  • Porque é interessante?
    • Permite uma interação homem-máquina mais natural, um modo diferente de controlar interfaces. Seja por meio do touchscreen, captação de movimento através de cameras ou joysticks.
  • Quais as características marcantes?
    • A alta aplicabilidade, podendo ser utilizada em qualquer área, desde jogos até ao aprimoramento da medicina.
  • Como está o Brasil neste segmento em termos de pesquisa?
    • Há algumas pesquisas nesta área, porém não existem softwares totalmente brasileiros ainda.


Software


  • Qual o papel do software?
    • Um software é uma sequencia de instruções que são interpretadas por um computador e passadas para um hardware.
  • Como funciona?
    • Neste caso, todos os softwares são privados, utilizados pelas empresas para lucro, desse modo não é possível obter informações mais específicas sobre o seu funcionamento. Recentemente a Microsoft disponibilizou exemplos do código do kinect.
  • Exemplo: No fragmento de código abaixo é feito o reconhecimento do corpo da pessoa que está utilizando o Kinect.


/// <summary>
/// Handler for skeleton ready handler.
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The event args.</param>
private void OnSkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
{
// Get the frame.
using (var frame = e.OpenSkeletonFrame())
{
// Ensure we have a frame.
if (frame != null)
{
// Resize the skeletons array if a new size (normally only on first call).
if (this.skeletons.Length != frame.SkeletonArrayLength)
{
this.skeletons = new Skeleton[frame.SkeletonArrayLength];
}
// Get the skeletons.
frame.CopySkeletonDataTo(this.skeletons);
// Assume no nearest skeleton and that the nearest skeleton is a long way away.
var newNearestId = -1;
var nearestDistance2 = double.MaxValue;
// Look through the skeletons.
foreach (var skeleton in this.skeletons)
{
// Only consider tracked skeletons.
if (skeleton.TrackingState == SkeletonTrackingState.Tracked)
{
// Find the distance squared.
var distance2 = (skeleton.Position.X * skeleton.Position.X) +
(skeleton.Position.Y * skeleton.Position.Y) +
(skeleton.Position.Z * skeleton.Position.Z);
// Is the new distance squared closer than the nearest so far?
if (distance2 < nearestDistance2)
{
// Use the new values.
newNearestId = skeleton.TrackingId;
nearestDistance2 = distance2;
}
}
}
if (this.nearestId != newNearestId)
{
this.nearestId = newNearestId;
}
// Pass skeletons to recognizer.
this.activeRecognizer.Recognize(sender, frame, this.skeletons);
this.DrawStickMen(this.skeletons);
}
}
}


Aplicação


  • Cite as situações onde podemos usar esta tecnologia?
    • Ela pode ser utilizada em jogos interativos (para diversão), jogos sérios (para aprendizado), reabilitação, deslocamento e computadores em geral.


Tecnologias


  • Quais tecnologias são usadas?
    • Um sistema operacional, geralmente Windows, Mac ou Linux , câmeras ou sensores para a captação do movimento.


  • Cite alguns hardwares possíveis de serem usados?
    • Alguns hardwares comumente usados são os joysticks, as câmeras para a captação do movimento tanto corporal quanto dos olhos, o kinect e o Leap Motion. Recentemente foi desenvolvida uma pulseira que capta atividades elétricas do músculo e assim controla os aparelhos.


  • Como o software conversa com o hardware?
    • Cada empresa tem a sua forma de desenvolver o software e o hardware, logo informações específicas sobre eles não são de domínio público.


Estado da Arte


  • Cite alguns exemplos de uso mais recente desta tecnologia
    • Como é uma tecnologia recente, todos os seus usos também são recentes. Ela é mais utilizada para jogos interativos e controle de computadores, porém vem sendo fortemente testada na área de reabilitação.

Referências