neo4j integration with the leap motion as a gesture recognition system - slater victoroff @...

30
Neo4j in the Future of Interaction Design A novel approach to gesture recognition integrating Neo4j with the Leap Motion

Upload: neo4j-the-fastest-and-most-scalable-native-graph-database

Post on 26-May-2015

1.093 views

Category:

Technology


4 download

DESCRIPTION

The Leap Motion is a small hand-position measurment device that promises to revolutionize the way we interact with computers, allowing for sub-millimeter fingertip position accuracy. Unfortunately, the design of the device makes it extremely sensitive to occlusion issues, greatly hindering its use as an input device. We used Neo4j to model a novel approach to gesture detection, by using nodes as relative positions, and edges as the entries in a Markov Chain. This allows us to consider each individual gesture as a path on this graph, eliminating the need for constant finger-tip tracking. We used Neo4j's RESTful API in conjunction with Unity 3D's WWW module and an OSC server used to integrate the Leap Motion with the free version of Unity, leading to a full integration between Neo4j and the Leap Motion. There is ongoing research being done on the efficacy of this system for enhancing human-computer interactions in the greater Boston area.

TRANSCRIPT

Page 1: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Neo4j  in  the  Future  of  Interaction  Design

A  novel  approach  to  gesture  recognition  integrating  Neo4j  with  the  Leap  Motion

Page 2: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

This  Talk

!  Introduction !  Interaction  Design

!  The  Tyranny  of  Finger-­‐On-­‐Glass !  The  Leap  Motion

!  Promises  and  Limitations !  Gesture  Recognition

!  Current  State-­‐of-­‐the-­‐Art !  Building  a  New  Strategy  for  the  Leap

!  Conclusions

Page 3: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Who  am  I?

!  Education   !  Work

Page 4: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

My  Collaborators

Page 5: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

The  Leap  Motion

http://youtu.be/3b4w749Tud8

Page 6: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

A  Brief  History  of  Interaction  Design

Page 7: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Basic  Technology  and  Indirect  Mappings

Page 8: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Higher  Layers  of  Abstraction

Page 9: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Fingers  On  Glass

Page 10: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Why  is  This  Bad?

Page 11: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Enter  The  Leap  Motion

Page 12: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Here  are  Some  Live  Demos

Page 13: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

There  Are  Even  Simple  Gestures  Included

Page 14: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

But  Something  is  Rotten  in  Denmark

!  Complex  Motions  are  infeasible !  Self-­‐Obfuscation  is  a  huge  problem !  Interface  is  surprisingly  exhausting !  Drivers  are  proprietary  and  imperfect !  Bounding  box  is  small !  Data  is  fundamentally  inconsistent

Page 15: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

The  Real  Faceoff

Vs.

Page 16: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Developers?

Page 17: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Gesture  Recognition

Page 18: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Problems  with  Classical  Approaches  to  Gestures

!  Geared  towards  easily  benchmarked,  previously  studied  problems.  

!  Primarily  Developed  by  narrowly-­‐defined  industry  applications

Page 19: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Hidden  Markov  Models

Page 20: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Problems  With  HMMs

!  State  depends  only  on  current  state,  intuitive  hand  gestures  are  inherently  hysteretic. !  Depends  on  discrete  gesture-­‐identification,  no  sense  of  “variations  on  a  theme” !  Storage  space  exponentiates  when  faced  with  inconsistent  data-­‐streams !  NOT  built  for  the  Leap

Page 21: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Size?

!  Minimum  6  DoF  per  finger  +  7  for  the  palm !  2  hands,  even  assuming  only  two  modes  of  motion:

1.9  *  1022

Page 22: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Motion  as  a  Graph

Page 23: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Pros

!  Basic  mathematics  is  close  enough  to  that  of  HMMs  that  much  of  the  established  infrastructure  can  be  leveraged !  Path  similarity  doesn’t  rely  on  consistent  data  streams  and  allows  for  regression  testing !  Database  can  easily  be  trimmed  to  reduce  size  concerns

Page 24: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Cons

!  The  Leap  is  very  fast,  and  sub  graph  comparisons  are  computationally  intensive !  Lots  of  data  that  isn’t  hugely  useful  to  us. !  Continuous  data  ends  up  being  very  sensitive  to  slight  perturbations  in  paths !  A  few  orders  of  magnitude  down,  but  just  a  few

Page 25: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Karger’s  Algorithm

Page 26: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Is  That  Really  a  Big  Difference  Though?

!  Syncs  up  well  with  our  natural  perception  of  gestures !  Reduction  of  almost  7  full  orders  of  magnitude  for  comprehensive  gesture  coverage !  Diffs  from  node  epicenters  are  more  robust  and  improve  regression  results !  Greatly  reduces  number  of  calls  made  to  REST  API

Page 27: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Preliminary  Results

!  Constrained  digit  recognition  benchmarked  at  93.4% !  Maximum  latency  for  immersion  is  ~120  ms !  Learning  rates  for  gesture  based  interface  is  about  40%  faster  than  for  gesture-­‐free  interfaces !  Partnership  with  zSpace !  Continued  mentoring  from  SolidWorks  and  Belmont  Labs  founder,  Scott  Harris.

Page 28: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Probing  the  Future  of  Human-­‐Interface  Design

Page 29: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

What’s  Coming  Next?

Page 30: Neo4j Integration with the Leap Motion as a Gesture Recognition System - Slater Victoroff @ GraphConnect Boston 2013

Any  Questions?

[email protected]